diff --git a/Dockerfile.business b/Dockerfile.business
index bcb8d55..ed127ab 100644
--- a/Dockerfile.business
+++ b/Dockerfile.business
@@ -240,51 +240,60 @@ try:
# É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
+ # APPROCHE AGRESSIVE: Supprimer tous les blocs
contenant un lien vers /team
+ # Utiliser une regex multiligne pour détecter et supprimer les blocs complets
+ team_link_block_pattern = r'
'
+ content_cleaned = re.sub(team_link_block_pattern, '', content, flags=re.DOTALL | re.IGNORECASE)
- i = 0
- while i < len(lines):
- line = lines[i]
-
- # Détecter le début d'un lien Équipe (inclut /team, /team/, /team.html)
- # Utiliser une regex pour détecter tous les formats possibles
- team_link_match = re.search(r'href=["\']/?team(/|\.html)?["\']|href=\{["\']/?team', line)
- if team_link_match 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:
- # Vérifier si on a atteint la fin du
- if '
' in line:
- skip_team_link = False
- # Vérifier aussi si on trouve un nouveau
sans avoir fermé le précédent (cas mal formaté)
- elif '
' not in line:
- # On est dans un nouveau
, donc le précédent était mal formaté, continuer
- pass
- i += 1
- continue
-
- new_lines.append(line)
- i += 1
+ # Compter combien de liens ont été supprimés
+ remaining_before = len(re.findall(r'href=["\']/?team(/|\.html)?["\']', content))
+ remaining_after = len(re.findall(r'href=["\']/?team(/|\.html)?["\']', content_cleaned))
+ team_links_removed = remaining_before - remaining_after
if team_links_removed > 0:
- print(f"✅ {team_links_removed} lien(s) Équipe supprimé(s)")
+ print(f"✅ {team_links_removed} lien(s) Équipe supprimé(s) (regex multiligne)")
+ elif remaining_after > 0:
+ print(f"⚠️ {remaining_after} lien(s) Équipe encore présent(s) après nettoyage regex, nettoyage manuel...")
+ # Nettoyage manuel ligne par ligne si la regex n'a pas tout capturé
+ lines = content_cleaned.splitlines(keepends=True)
+ if lines and not lines[-1].endswith('\n'):
+ lines[-1] = lines[-1] + '\n'
+
+ new_lines = []
+ skip_team_link = False
+ manual_removed = 0
+
+ i = 0
+ while i < len(lines):
+ line = lines[i]
+
+ # Détecter le début d'un lien Équipe
+ team_link_match = re.search(r'href=["\']/?team(/|\.html)?["\']|href=\{["\']/?team', line)
+ if team_link_match and not skip_team_link:
+ skip_team_link = True
+ manual_removed += 1
+ i += 1
+ continue
+
+ if skip_team_link:
+ if '
' in line:
+ skip_team_link = False
+ i += 1
+ continue
+
+ new_lines.append(line)
+ i += 1
+
+ if manual_removed > 0:
+ content_cleaned = ''.join(new_lines)
+ print(f"✅ {manual_removed} lien(s) Équipe supplémentaire(s) supprimé(s) (nettoyage manuel)")
- # É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'
+
+ # ÉTAPE 2: Ajouter un seul lien Équipe au bon endroit
insert_idx = -1
for i, line in enumerate(lines):