fix: améliorer la gestion des erreurs et le débogage du script Python

- 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
This commit is contained in:
syoul
2025-12-09 10:06:17 +01:00
parent 4b9073b8ee
commit 57c9d26cb3

View File

@@ -120,15 +120,22 @@ 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 (évite les doublons)
RUN cat > /tmp/add_team_link.py << 'PYEOF' RUN cat > /tmp/add_team_link.py << 'PYEOF'
#!/usr/bin/env python3
import sys import sys
import re import re
import os import os
f = ".techradar/src/components/Navigation/Navigation.tsx" f = ".techradar/src/components/Navigation/Navigation.tsx"
try:
# Vérifier que le fichier existe # Vérifier que le fichier existe
if not os.path.exists(f): if not os.path.exists(f):
print(f"❌ Fichier {f} introuvable") 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) sys.exit(1)
with open(f, 'r', encoding='utf-8') as file: with open(f, 'r', encoding='utf-8') as file:
@@ -142,7 +149,7 @@ if team_link_count > 0:
if team_link_count > 1: if team_link_count > 1:
print("⚠️ Détection de doublons, nettoyage...") print("⚠️ Détection de doublons, nettoyage...")
lines = content.splitlines(keepends=True) lines = content.splitlines(keepends=True)
if not lines or lines[-1] and not lines[-1].endswith('\n'): if lines and not lines[-1].endswith('\n'):
lines[-1] = lines[-1] + '\n' lines[-1] = lines[-1] + '\n'
new_lines = [] new_lines = []
@@ -179,7 +186,7 @@ if team_link_count > 0:
# Si le lien n'existe pas, l'ajouter # Si le lien n'existe pas, l'ajouter
lines = content.splitlines(keepends=True) lines = content.splitlines(keepends=True)
if not lines or lines[-1] and not lines[-1].endswith('\n'): if lines and not lines[-1].endswith('\n'):
lines[-1] = lines[-1] + '\n' lines[-1] = lines[-1] + '\n'
insert_idx = -1 insert_idx = -1
@@ -204,25 +211,42 @@ if insert_idx > 0:
print("✅ Navigation.tsx modifié - lien Équipe ajouté") print("✅ Navigation.tsx modifié - lien Équipe ajouté")
sys.exit(0) sys.exit(0)
else: else:
print("❌ Impossible de trouver l'emplacement pour insérer le lien") 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)
import traceback
traceback.print_exc(file=sys.stderr)
sys.exit(1) sys.exit(1)
PYEOF PYEOF
# Modifier Navigation.tsx pour ajouter le lien Équipe (le script Python gère les doublons) # Modifier Navigation.tsx pour ajouter le lien Équipe (le script Python gère les doublons)
RUN echo "🔧 Modification de Navigation.tsx pour le lien Équipe..." && \ RUN echo "🔧 Modification de Navigation.tsx pour le lien Équipe..." && \
python3 /tmp/add_team_link.py || (echo "❌ Erreur lors de l'exécution du script Python" && exit 1) && \ echo "📁 Vérification de l'emplacement du fichier..." && \
ls -la .techradar/src/components/Navigation/ 2>/dev/null || echo "⚠️ Répertoire Navigation non trouvé" && \
python3 /tmp/add_team_link.py 2>&1 || (echo "❌ Erreur lors de l'exécution du script Python" && python3 -c "import traceback; traceback.print_exc()" 2>&1 || true && exit 1) && \
if [ -f .techradar/src/components/Navigation/Navigation.tsx ]; then \
team_count=$$(grep -c 'href="/team"' .techradar/src/components/Navigation/Navigation.tsx 2>/dev/null || echo "0") && \ team_count=$$(grep -c 'href="/team"' .techradar/src/components/Navigation/Navigation.tsx 2>/dev/null || echo "0") && \
echo "📊 Nombre d'occurrences trouvées: $$team_count" && \
if [ "$$team_count" -eq "1" ]; then \ if [ "$$team_count" -eq "1" ]; then \
echo "✅ Lien Équipe présent (1 occurrence)"; \ echo "✅ Lien Équipe présent (1 occurrence)"; \
elif [ "$$team_count" -gt "1" ]; then \ elif [ "$$team_count" -gt "1" ]; then \
echo "⚠️ Plusieurs occurrences détectées ($$team_count), relance du nettoyage..."; \ echo "⚠️ Plusieurs occurrences détectées ($$team_count), relance du nettoyage..."; \
python3 /tmp/add_team_link.py || (echo "❌ Erreur lors du nettoyage" && exit 1); \ python3 /tmp/add_team_link.py 2>&1 || (echo "❌ Erreur lors du nettoyage" && exit 1); \
final_count=$$(grep -c 'href="/team"' .techradar/src/components/Navigation/Navigation.tsx 2>/dev/null || echo "0") && \ final_count=$$(grep -c 'href="/team"' .techradar/src/components/Navigation/Navigation.tsx 2>/dev/null || echo "0") && \
echo "✅ Après nettoyage: $$final_count occurrence(s)"; \ echo "✅ Après nettoyage: $$final_count occurrence(s)"; \
else \ else \
echo "❌ Lien Équipe non trouvé après modification"; \ echo "❌ Lien Équipe non trouvé après modification"; \
echo "📄 Contenu de Navigation.tsx:"; \ echo "📄 Aperçu de Navigation.tsx (premières 50 lignes):"; \
cat .techradar/src/components/Navigation/Navigation.tsx; \ head -50 .techradar/src/components/Navigation/Navigation.tsx || true; \
exit 1; \
fi; \
else \
echo "❌ Fichier Navigation.tsx introuvable"; \
exit 1; \ exit 1; \
fi fi