fix: amélioration copie team.html et initialisation script

- 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/
This commit is contained in:
syoul
2025-12-06 22:07:30 +01:00
parent 91b820d289
commit 19e85089ab
2 changed files with 39 additions and 9 deletions

View File

@@ -68,7 +68,8 @@ RUN mkdir -p .techradar/data && \
cp config.json .techradar/data/config.json && \ cp config.json .techradar/data/config.json && \
cp about.md .techradar/data/about.md 2>/dev/null || echo "about.md not found, skipping" && \ 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" && \ 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 # Builder l'application en mode production pour éviter Fast Refresh
# Utiliser WORKDIR pour changer de répertoire de manière fiable # 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:data
RUN npm run build RUN npm run build
# S'assurer que team.html et team-visualization-data.json sont copiés dans out/ # 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é" && \ # Vérifier d'abord si out/ existe, puis copier les fichiers
cp -f public/team-visualization-data.json out/team-visualization-data.json 2>/dev/null || echo "team-visualization-data.json copié" 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 WORKDIR /app
# Exposition du port interne # Exposition du port interne

View File

@@ -970,13 +970,28 @@ Interface de pilotage pour les responsables sécurité des PME.
window.__strategieScriptLoaded = true; window.__strategieScriptLoaded = true;
// Éviter de modifier document.documentElement qui peut déclencher des rechargements Fast Refresh // Éviter de modifier document.documentElement qui peut déclencher des rechargements Fast Refresh
if (document.readyState === 'loading') { // Attendre que le DOM soit complètement chargé, y compris le header
document.addEventListener('DOMContentLoaded', () => { 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(); checkAuth();
// Délai pour s'assurer que le header est complètement rendu
setTimeout(() => {
initStrategyLinks(); initStrategyLinks();
}); }, 100);
} else { } else {
checkAuth(); // Réessayer après un court délai
initStrategyLinks(); setTimeout(initWhenReady, 50);
}
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initWhenReady);
} else {
initWhenReady();
} }
})(); })();