diff --git a/Dockerfile.business b/Dockerfile.business index 1878d92..9048c4b 100644 --- a/Dockerfile.business +++ b/Dockerfile.business @@ -118,7 +118,7 @@ export default TeamPage; EOF RUN echo "✅ Page team.tsx créée" -# Script Python pour ajouter le lien Équipe dans Navigation.tsx (évite les doublons) +# Script Python pour ajouter le lien Équipe dans Navigation.tsx (supprime TOUS les doublons) RUN cat > /tmp/add_team_link.py << 'PYEOF' #!/usr/bin/env python3 import sys @@ -131,63 +131,51 @@ try: # Vérifier que le fichier existe if not os.path.exists(f): print(f"❌ Fichier {f} introuvable", file=sys.stderr) - print(f"📁 Répertoire actuel: {os.getcwd()}", file=sys.stderr) - print(f"📁 Contenu du répertoire .techradar/src/components/:", file=sys.stderr) - if os.path.exists(".techradar/src/components"): - for item in os.listdir(".techradar/src/components"): - print(f" - {item}", file=sys.stderr) sys.exit(1) with open(f, 'r', encoding='utf-8') as file: content = file.read() - # Vérifier si le lien existe déjà (compter les occurrences) - team_link_count = len(re.findall(r'href=["\']/team["\']', content)) - if team_link_count > 0: - print(f"ℹ️ Lien Équipe déjà présent ({team_link_count} occurrence(s))") - # Si plusieurs occurrences, supprimer les doublons - if team_link_count > 1: - print("⚠️ Détection de doublons, nettoyage...") - lines = content.splitlines(keepends=True) - if lines and not lines[-1].endswith('\n'): - lines[-1] = lines[-1] + '\n' - - new_lines = [] - in_team_link = False - team_link_added = False - skip_until_close = False - - for line in lines: - if 'href="/team"' in line or "href='/team'" in line: - if not team_link_added: - # Garder la première occurrence - in_team_link = True - team_link_added = True - new_lines.append(line) - else: - # Ignorer les doublons - skip_until_close = True - continue - elif skip_until_close: - if '' in line: - skip_until_close = False - continue - elif in_team_link: - new_lines.append(line) - if '' in line: - in_team_link = False - else: - new_lines.append(line) - - with open(f, 'w', encoding='utf-8') as file: - file.writelines(new_lines) - print("✅ Doublons supprimés") - sys.exit(0) - - # Si le lien n'existe pas, l'ajouter + # ÉTAPE 1: Supprimer TOUS les liens Équipe existants (même s'il n'y en a qu'un) + print("🧹 Nettoyage de tous les liens Équipe existants...") lines = content.splitlines(keepends=True) if lines and not lines[-1].endswith('\n'): lines[-1] = lines[-1] + '\n' + + new_lines = [] + skip_team_link = False + team_links_removed = 0 + + i = 0 + while i < len(lines): + line = lines[i] + + # Détecter le début d'un lien Équipe + if ('href="/team"' in line or "href='/team'" in line) and not skip_team_link: + skip_team_link = True + team_links_removed += 1 + # Ignorer cette ligne et les lignes suivantes jusqu'à + i += 1 + continue + + # Si on est dans un bloc Équipe à supprimer, ignorer jusqu'à + if skip_team_link: + if '' in line: + skip_team_link = False + i += 1 + continue + + new_lines.append(line) + i += 1 + + if team_links_removed > 0: + print(f"✅ {team_links_removed} lien(s) Équipe supprimé(s)") + + # ÉTAPE 2: Ajouter un seul lien Équipe au bon endroit + content_cleaned = ''.join(new_lines) + lines = content_cleaned.splitlines(keepends=True) + if lines and not lines[-1].endswith('\n'): + lines[-1] = lines[-1] + '\n' insert_idx = -1 for i, line in enumerate(lines): @@ -208,14 +196,20 @@ try: ] + lines[insert_idx:] with open(f, 'w', encoding='utf-8') as file: file.writelines(new_lines) - print("✅ Navigation.tsx modifié - lien Équipe ajouté") - sys.exit(0) + + # Vérifier qu'il n'y a qu'un seul lien maintenant + with open(f, 'r', encoding='utf-8') as file: + final_content = file.read() + final_count = len(re.findall(r'href=["\']/team["\']', final_content)) + + if final_count == 1: + print("✅ Navigation.tsx modifié - 1 seul lien Équipe présent") + sys.exit(0) + else: + print(f"⚠️ Attention: {final_count} lien(s) Équipe détecté(s) après modification", file=sys.stderr) + sys.exit(1) else: print("❌ Impossible de trouver l'emplacement pour insérer le lien", file=sys.stderr) - print("📄 Recherche de 'href=\"/overview\"' dans le fichier...", file=sys.stderr) - for i, line in enumerate(lines[:30]): - if 'overview' in line.lower(): - print(f" Ligne {i+1}: {line.strip()[:80]}", file=sys.stderr) sys.exit(1) except Exception as e: print(f"❌ Erreur Python: {e}", file=sys.stderr)