diff --git a/Dockerfile.business b/Dockerfile.business index ed127ab..62ed29b 100644 --- a/Dockerfile.business +++ b/Dockerfile.business @@ -293,7 +293,26 @@ try: if lines and not lines[-1].endswith('\n'): lines[-1] = lines[-1] + '\n' - # ÉTAPE 2: Ajouter un seul lien Équipe au bon endroit + # ÉTAPE 2: Vérifier qu'il n'y a plus aucun lien team avant d'ajouter + final_check = len(re.findall(r'href=["\']/?team(/|\.html)?["\']', content_cleaned)) + if final_check > 0: + print(f"⚠️ ATTENTION: {final_check} lien(s) Équipe encore présent(s) après nettoyage, nettoyage supplémentaire...", file=sys.stderr) + # Nettoyage supplémentaire avec une regex plus agressive + content_cleaned = re.sub(r'.*?href=["\']/?team(/|\.html)?["\'].*?\n', '', content_cleaned, flags=re.MULTILINE | re.IGNORECASE) + # Supprimer aussi les blocs
  • vides qui pourraient rester + content_cleaned = re.sub(r']*>\s*
  • \s*\n', '', content_cleaned) + final_check_2 = len(re.findall(r'href=["\']/?team(/|\.html)?["\']', content_cleaned)) + if final_check_2 > 0: + print(f"❌ ERREUR: {final_check_2} lien(s) Équipe toujours présent(s) après nettoyage supplémentaire!", file=sys.stderr) + print("📄 Contenu autour des liens restants:", file=sys.stderr) + for match in re.finditer(r'href=["\']/?team(/|\.html)?["\']', content_cleaned): + start = max(0, match.start() - 50) + end = min(len(content_cleaned), match.end() + 50) + print(f" {content_cleaned[start:end]}", file=sys.stderr) + else: + print(f"✅ Tous les liens Équipe supprimés après nettoyage supplémentaire") + + # ÉTAPE 3: Ajouter un seul lien Équipe au bon endroit insert_idx = -1 for i, line in enumerate(lines): diff --git a/public/strategie-script.js b/public/strategie-script.js index d306242..c00e5db 100644 --- a/public/strategie-script.js +++ b/public/strategie-script.js @@ -776,7 +776,23 @@ Interface de pilotage pour les responsables sécurité des PME. // DÉSACTIVÉ: addLinksToHeader() - Les liens sont maintenant gérés par Navigation.tsx // addLinksToHeader(); + + // Vérifier la route immédiatement (surtout pour /team) handleRoute(); + + // Intercepter les clics sur les liens /team pour éviter la navigation Next.js + document.addEventListener('click', function(e) { + const link = e.target.closest('a'); + if (link) { + const href = link.getAttribute('href') || link.href; + if (href && (href.includes('/team') || href === '/team' || href === '/team/' || href === '/team.html')) { + e.preventDefault(); + e.stopPropagation(); + showTeamPage(); + return false; + } + } + }, true); // Utiliser capture phase pour intercepter avant Next.js } function normalizePath(pathname) { @@ -797,6 +813,20 @@ Interface de pilotage pour les responsables sécurité des PME. else if (path === '/team' || path === '/team/') showTeamPage(); } + // Vérifier la route /team IMMÉDIATEMENT au chargement du script (avant Next.js) + (function checkTeamRouteImmediately() { + const path = normalizePath(window.location.pathname); + if (path === '/team' || path === '/team/') { + console.log('🔍 Route /team détectée immédiatement, affichage...'); + // Attendre que le body soit disponible + if (document.body) { + showTeamPage(); + } else { + document.addEventListener('DOMContentLoaded', showTeamPage); + } + } + })(); + function showTeamPage() { // Sauvegarder le contenu original if (!window.originalBodyContent) {