fix: amélioration modification Navigation.tsx avec sed + fallback Python

- 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
This commit is contained in:
syoul
2025-12-07 07:57:03 +01:00
parent 8e932be47f
commit 73331e27c1

View File

@@ -54,55 +54,93 @@ if [ -f "$NAV_FILE" ]; then
echo "📝 Navigation.tsx trouvé, vérification du lien..." echo "📝 Navigation.tsx trouvé, vérification du lien..."
if ! grep -q 'href="/team"' "$NAV_FILE"; then if ! grep -q 'href="/team"' "$NAV_FILE"; then
echo " Ajout du lien Équipe dans Navigation.tsx..." echo " Ajout du lien Équipe dans Navigation.tsx..."
# Ajouter le lien après Overview, avant le commentaire echo "📄 Contenu actuel de Navigation.tsx (extrait):"
# Utiliser Python pour une modification plus précise grep -A 5 -B 5 "overview" "$NAV_FILE" || echo "Pattern 'overview' non trouvé"
python3 << 'PYTHON_SCRIPT'
import re
import sys
nav_file = sys.argv[1]
print(f"📝 Modification de {nav_file}")
try:
with open(nav_file, 'r') as f:
content = f.read()
# Trouver la fin du lien Overview et insérer le nouveau lien avant le commentaire # Utiliser sed pour une modification plus simple et fiable
pattern = r'(</Link>\s*</li>\s*)(\{/\*)' # Chercher la ligne avec </Link> après overview et insérer le nouveau lien avant le commentaire
replacement = r'\1 <li className={styles.item}>\n <Link href="/team">\n <span className={styles.label}>👥 Équipe</span>\n </Link>\n </li>\n \2' sed -i '/href="\/overview"/,/<\/Link>/ {
/<\/Link>/a\
new_content = re.sub(pattern, replacement, content) <li className={styles.item}>\
<Link href="/team">\
if new_content == content: <span className={styles.label}>👥 Équipe</span>\
print("⚠️ Aucune modification effectuée, pattern non trouvé") </Link>\
print("Contenu autour de Overview:") </li>
lines = content.split('\n') }' "$NAV_FILE"
for i, line in enumerate(lines):
if 'overview' in line.lower():
print(f"Ligne {i}: {line}")
if i+1 < len(lines):
print(f"Ligne {i+1}: {lines[i+1]}")
if i+2 < len(lines):
print(f"Ligne {i+2}: {lines[i+2]}")
break
else:
with open(nav_file, 'w') as f:
f.write(new_content)
print("✅ Navigation.tsx modifié avec succès")
except Exception as e:
print(f"❌ Erreur lors de la modification: {e}")
sys.exit(1)
PYTHON_SCRIPT
"$NAV_FILE"
# Vérifier que la modification a réussi # Vérifier que la modification a réussi
if grep -q 'href="/team"' "$NAV_FILE"; then if grep -q 'href="/team"' "$NAV_FILE"; then
echo "✅ Lien Équipe ajouté au composant Navigation" echo "✅ Lien Équipe ajouté au composant Navigation"
echo "📄 Vérification du contenu modifié:"
grep -A 3 'href="/team"' "$NAV_FILE"
else
echo "❌ Échec: Lien Équipe non trouvé après modification avec sed"
echo "🔄 Tentative avec Python..."
# Fallback avec Python
python3 << 'PYTHON_SCRIPT'
import re
import sys
nav_file = sys.argv[1]
print(f"📝 Modification de {nav_file} avec Python")
try:
with open(nav_file, 'r') as f:
lines = f.readlines()
# Trouver l'index de la ligne avec </Link> après overview
insert_index = -1
for i, line in enumerate(lines):
if 'href="/overview"' in line:
# Chercher la ligne </Link> qui suit
for j in range(i, min(i+10, len(lines))):
if '</Link>' in lines[j] and '</li>' in lines[j+1] if j+1 < len(lines) else False:
insert_index = j + 2 # Après </li>
break
break
if insert_index > 0:
# Insérer le nouveau lien
new_lines = [
' <li className={styles.item}>\n',
' <Link href="/team">\n',
' <span className={styles.label}>👥 Équipe</span>\n',
' </Link>\n',
' </li>\n'
]
lines[insert_index:insert_index] = new_lines
with open(nav_file, 'w') as f:
f.writelines(lines)
print("✅ Navigation.tsx modifié avec succès (Python)")
else:
print("❌ Impossible de trouver l'emplacement pour insérer le lien")
print("Contenu autour de overview:")
for i, line in enumerate(lines):
if 'overview' in line.lower():
for j in range(max(0, i-2), min(len(lines), i+10)):
print(f"{j}: {lines[j]}", end='')
break
sys.exit(1)
except Exception as e:
print(f"❌ Erreur lors de la modification: {e}")
import traceback
traceback.print_exc()
sys.exit(1)
PYTHON_SCRIPT
"$NAV_FILE"
# Vérifier à nouveau
if grep -q 'href="/team"' "$NAV_FILE"; then
echo "✅ Lien Équipe ajouté au composant Navigation (Python)"
else else
echo "❌ Échec: Lien Équipe non trouvé après modification" echo "❌ Échec: Lien Équipe non trouvé après modification"
echo "📄 Contenu actuel de Navigation.tsx:"
cat "$NAV_FILE"
exit 1 exit 1
fi fi
fi
else else
echo " Lien Équipe déjà présent dans Navigation" echo " Lien Équipe déjà présent dans Navigation"
fi fi