- Script Python amélioré pour détecter et supprimer les doublons de composant Navigation
- Vérifications post-modification dans le script shell (fonctions, nav, ul, logo, export)
- Vérification post-build pour détecter les doublons dans le HTML généré
- Détection automatique des composants Navigation dupliqués
- Arrêt du build si duplication détectée
Le script détecte maintenant :
- Duplication du composant Navigation (plusieurs fonctions)
- Duplication structurelle (nav, ul, logo)
- Duplication dans le HTML généré (headers/nav)
Toutes les vérifications s'exécutent automatiquement lors du build Docker.
- scripts/generate-team-visualization-data.js : remplacement de 'core' par 'adopt' dans generateCongestionMatrix() et generateGenesisTeam()
- scripts/analyze-business-metrics.js : remplacement de 'core' par 'adopt' dans 3 endroits
- docs/app/guide-page-equipe.md : précisions sur l'utilisation de 'adopt' pour les technologies critiques
- docs/app/architecture.md : précisions sur les technologies utilisées dans les visualisations
Tous les scripts utilisent maintenant les rings standards (adopt|trial|assess|hold) conformément à la migration effectuée.
- le script supprime maintenant TOUS les liens Équipe existants (même s'il n'y en a qu'un)
- puis ajoute un seul lien Équipe au bon endroit
- vérifie qu'il n'y a qu'un seul lien après l'opération
- évite les doublons même si le script s'exécute plusieurs fois
- désactivation de addLinksToHeader() dans strategie-script.js
- désactivation de addStrategyLinkToHeader() dans strategie-link.js
- tous les liens de navigation sont maintenant gérés uniquement par Navigation.tsx
- évite les doublons de liens (Équipe, Stratégie, etc.)
- création d'un script shell /tmp/add_team_link.sh pour simplifier la logique
- séparation des préoccupations : script shell pour orchestration, Python pour manipulation
- meilleure lisibilité et maintenabilité
- gestion d'erreurs simplifiée avec set -e
- ajout de try/except pour capturer toutes les erreurs
- logs de débogage améliorés (répertoire actuel, contenu)
- meilleure gestion des fins de ligne
- affichage de la traceback en cas d'erreur
- vérification de l'existence du fichier avant lecture
- utilisation de splitlines(keepends=True) pour préserver les fins de ligne
- gestion d'encodage UTF-8 explicite
- amélioration de la gestion des erreurs dans le Dockerfile
- le script vérifie maintenant si le lien existe déjà
- si plusieurs occurrences sont détectées, elles sont supprimées
- évite la création de doublons lors de rebuilds multiples
- restauration de la config avec adopt|trial|assess|hold
- mapping core -> adopt, strategic -> assess, support -> adopt, trial -> trial
- tous les 38 blips utilisent maintenant les rings standards
- Remplacer config.json par radar-business/config-business.json dans .techradar/data
- Copier explicitement team.html et team-visualization-data.json dans .techradar/public
- Les blips business sont copiés dans .techradar/data/radar/2025-01-15
- rm -rf .techradar/data/radar avant copie des blips business
- copie explicite de team.html et team-visualization-data.json dans .techradar/public
- logs inchangés
- Ajout d'un RUN pour compter les fichiers markdown copiés dans .techradar/data/radar
- Affiche aussi quelques noms pour vérifier que les blips sont bien copiés
- Script Python dans /tmp/add_team_link.py
- Plus lisible et fiable que Python inline
- Pas de problèmes d'échappement
- Gestion d'erreurs avec sys.exit
- Utilisation de sed en premier (plus simple)
- Fallback avec Python en une seule ligne si sed échoue
- Pas de heredoc complexe qui cause des problèmes d'échappement
- Création de team.tsx directement dans le Dockerfile
- Modification de Navigation.tsx avec Python inline
- Méthode alternative si le pattern regex ne fonctionne pas
- Plus simple et plus fiable que d'utiliser un script séparé
- Utilisation de return au lieu de exit pour ne pas tuer le shell parent
- Le Dockerfile gère déjà les erreurs avec || exit 1
- Retour 0 à la fin pour indiquer le succès
- Simplification de la gestion d'erreurs dans Dockerfile
- Suppression de set -e dans le script pour mieux gérer les erreurs
- Vérification que Navigation.tsx existe avant modification
- Affichage du contenu en cas d'échec
- Désactivation temporaire de set -e pour voir toutes les erreurs
- Capture du code de sortie du script
- Affichage du contenu de Navigation.tsx en cas d'échec
- Réactivation de set -e à la fin
- Utilisation de if/then au lieu de && pour mieux gérer les erreurs
- Affichage du contenu de Navigation.tsx en cas d'échec
- Affichage du contenu du dossier pages/ si team.tsx n'existe pas
- Messages d'erreur plus clairs
- Affichage du contenu de Navigation.tsx avant modification
- Affichage complet après modification pour vérification
- Exit code 1 si la modification échoue
- Logs détaillés pour identifier le problème
- Utilisation de sed en premier (plus simple)
- Fallback avec Python si sed échoue
- Logs détaillés pour voir le contenu avant/après
- Affichage du contenu modifié pour vérification
- Ajout de /app/.techradar/public/ dans la recherche
- Logs détaillés avec pwd pour voir le répertoire actuel
- Vérification après copie pour confirmer le succès
- Meilleur diagnostic des chemins
- Vérification explicite que team.html existe dans public/ source
- Logs détaillés pour identifier où le fichier se trouve
- Vérification après copie dans .techradar/public/
- Recherche dans .techradar/public/
- Recherche dans /app/public/
- Recherche dans ../public/
- Logs détaillés pour diagnostic
- Copie de team-visualization-data.json également
- Installation de Python3 dans Dockerfile
- Logs détaillés pour diagnostic
- Vérification après modification
- set -e pour arrêter en cas d'erreur
- Vérification dans Dockerfile que le script a réussi
- Utilisation de Python au lieu de sed/awk pour modification précise
- Insertion correcte du lien Équipe après Overview
- Page team.tsx avec iframe pour charger team.html
- Script create-team-page.sh pour créer team.tsx et modifier Navigation
- Page Next.js qui charge team.html dynamiquement
- Lien Équipe ajouté directement dans le composant Navigation React
- Plus fiable que l'injection JavaScript
- Vérification de l'existence de team.html dans out/ au démarrage
- Copie automatique depuis public/ si absent
- Ajout de --single à serve pour gérer les routes SPA (peut aider pour les fichiers HTML)
- Utilisation de MutationObserver pour détecter quand le header est ajouté au DOM
- Timeout de sécurité après 5 secondes
- Amélioration de la logique d'initialisation pour éviter les exécutions multiples
- Logs détaillés pour diagnostic
- Logs dans initWhenReady() pour voir si le header est trouvé
- Logs dans addLinksToHeader() pour voir si la fonction est appelée
- Retry avec limite de 10 tentatives pour trouver le header
- Logs pour vérifier l'ajout du lien Équipe
- Logs détaillés pour voir ce qui est copié dans out/
- Vérification du contenu de out/ avant et après copie
- Diagnostic amélioré pour identifier le problème