From 19e85089ab10c30bffa520a836a8aa5ece7a91a3 Mon Sep 17 00:00:00 2001 From: syoul Date: Sat, 6 Dec 2025 22:07:30 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20am=C3=A9lioration=20copie=20team.html=20?= =?UTF-8?q?et=20initialisation=20script?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Amélioration de la copie de team.html avec vérifications et logs - Fonction initWhenReady() pour attendre que le header soit disponible - Logs de debug pour vérifier l'ajout du lien Équipe - Vérification de l'existence des fichiers avant copie dans out/ --- Dockerfile.business | 21 ++++++++++++++++++--- public/strategie-script.js | 27 +++++++++++++++++++++------ 2 files changed, 39 insertions(+), 9 deletions(-) diff --git a/Dockerfile.business b/Dockerfile.business index 085c29d..5a39afd 100644 --- a/Dockerfile.business +++ b/Dockerfile.business @@ -68,7 +68,8 @@ RUN mkdir -p .techradar/data && \ cp config.json .techradar/data/config.json && \ cp about.md .techradar/data/about.md 2>/dev/null || echo "about.md not found, skipping" && \ cp custom.css .techradar/src/styles/custom.css 2>/dev/null || echo "custom.css not found, skipping" && \ - echo "Fichiers public copiés, y compris team.html et team-visualization-data.json" + echo "Fichiers public copiés" && \ + ls -la .techradar/public/ | grep -E "(team\.html|team-visualization)" || echo "Vérification fichiers team" # Builder l'application en mode production pour éviter Fast Refresh # Utiliser WORKDIR pour changer de répertoire de manière fiable @@ -76,8 +77,22 @@ WORKDIR /app/.techradar RUN npm run build:data RUN npm run build # S'assurer que team.html et team-visualization-data.json sont copiés dans out/ -RUN cp -f public/team.html out/team.html 2>/dev/null || echo "team.html copié" && \ - cp -f public/team-visualization-data.json out/team-visualization-data.json 2>/dev/null || echo "team-visualization-data.json copié" +# Vérifier d'abord si out/ existe, puis copier les fichiers +RUN if [ -d "out" ]; then \ + if [ -f "public/team.html" ]; then \ + cp -v public/team.html out/team.html && echo "✓ team.html copié dans out/"; \ + else \ + echo "⚠️ public/team.html introuvable"; \ + fi && \ + if [ -f "public/team-visualization-data.json" ]; then \ + cp -v public/team-visualization-data.json out/team-visualization-data.json && echo "✓ team-visualization-data.json copié dans out/"; \ + else \ + echo "⚠️ public/team-visualization-data.json introuvable"; \ + fi && \ + ls -la out/ | grep -E "(team\.html|team-visualization)" || echo "⚠️ Fichiers team non trouvés dans out/"; \ + else \ + echo "❌ Dossier out/ introuvable après build"; \ + fi WORKDIR /app # Exposition du port interne diff --git a/public/strategie-script.js b/public/strategie-script.js index e21961e..0e4dd05 100644 --- a/public/strategie-script.js +++ b/public/strategie-script.js @@ -970,13 +970,28 @@ Interface de pilotage pour les responsables sécurité des PME. window.__strategieScriptLoaded = true; // Éviter de modifier document.documentElement qui peut déclencher des rechargements Fast Refresh - if (document.readyState === 'loading') { - document.addEventListener('DOMContentLoaded', () => { - checkAuth(); + // Attendre que le DOM soit complètement chargé, y compris le header + function initWhenReady() { + // Vérifier si le header existe, sinon attendre un peu + const header = document.querySelector('header') || + document.querySelector('nav') || + document.querySelector('div[role="banner"]'); + + if (header || document.body) { + checkAuth(); + // Délai pour s'assurer que le header est complètement rendu + setTimeout(() => { initStrategyLinks(); - }); + }, 100); + } else { + // Réessayer après un court délai + setTimeout(initWhenReady, 50); + } + } + + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', initWhenReady); } else { - checkAuth(); - initStrategyLinks(); + initWhenReady(); } })();