refactor: simplifier la gestion du lien Équipe avec un script shell séparé
- création d'un script shell /tmp/add_team_link.sh pour simplifier la logique - séparation des préoccupations : script shell pour orchestration, Python pour manipulation - meilleure lisibilité et maintenabilité - gestion d'erreurs simplifiée avec set -e
This commit is contained in:
@@ -224,31 +224,52 @@ except Exception as e:
|
|||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
PYEOF
|
PYEOF
|
||||||
|
|
||||||
# Modifier Navigation.tsx pour ajouter le lien Équipe (le script Python gère les doublons)
|
# Script shell pour gérer l'ajout du lien Équipe
|
||||||
RUN echo "🔧 Modification de Navigation.tsx pour le lien Équipe..." && \
|
RUN cat > /tmp/add_team_link.sh << 'SHEOF'
|
||||||
echo "📁 Vérification de l'emplacement du fichier..." && \
|
#!/bin/sh
|
||||||
ls -la .techradar/src/components/Navigation/ 2>/dev/null || echo "⚠️ Répertoire Navigation non trouvé" && \
|
set -e
|
||||||
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 \
|
echo "🔧 Modification de Navigation.tsx pour le lien Équipe..."
|
||||||
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" && \
|
NAV_FILE=".techradar/src/components/Navigation/Navigation.tsx"
|
||||||
if [ "$$team_count" -eq "1" ]; then \
|
|
||||||
echo "✅ Lien Équipe présent (1 occurrence)"; \
|
# Vérifier que le fichier existe
|
||||||
elif [ "$$team_count" -gt "1" ]; then \
|
if [ ! -f "$NAV_FILE" ]; then
|
||||||
echo "⚠️ Plusieurs occurrences détectées ($$team_count), relance du nettoyage..."; \
|
echo "❌ Fichier $NAV_FILE introuvable"
|
||||||
python3 /tmp/add_team_link.py 2>&1 || (echo "❌ Erreur lors du nettoyage" && exit 1); \
|
echo "📁 Répertoire actuel: $(pwd)"
|
||||||
final_count=$$(grep -c 'href="/team"' .techradar/src/components/Navigation/Navigation.tsx 2>/dev/null || echo "0") && \
|
echo "📁 Contenu de .techradar/src/components/:"
|
||||||
echo "✅ Après nettoyage: $$final_count occurrence(s)"; \
|
ls -la .techradar/src/components/ 2>/dev/null || echo "Répertoire non trouvé"
|
||||||
else \
|
exit 1
|
||||||
echo "❌ Lien Équipe non trouvé après modification"; \
|
fi
|
||||||
echo "📄 Aperçu de Navigation.tsx (premières 50 lignes):"; \
|
|
||||||
head -50 .techradar/src/components/Navigation/Navigation.tsx || true; \
|
# Exécuter le script Python
|
||||||
exit 1; \
|
if python3 /tmp/add_team_link.py; then
|
||||||
fi; \
|
# Vérifier le résultat
|
||||||
else \
|
team_count=$(grep -c 'href="/team"' "$NAV_FILE" 2>/dev/null || echo "0")
|
||||||
echo "❌ Fichier Navigation.tsx introuvable"; \
|
echo "📊 Nombre d'occurrences trouvées: $team_count"
|
||||||
exit 1; \
|
|
||||||
fi
|
if [ "$team_count" -eq "1" ]; then
|
||||||
|
echo "✅ Lien Équipe présent (1 occurrence)"
|
||||||
|
elif [ "$team_count" -gt "1" ]; then
|
||||||
|
echo "⚠️ Plusieurs occurrences détectées ($team_count), relance du nettoyage..."
|
||||||
|
python3 /tmp/add_team_link.py
|
||||||
|
final_count=$(grep -c 'href="/team"' "$NAV_FILE" 2>/dev/null || echo "0")
|
||||||
|
echo "✅ Après nettoyage: $final_count occurrence(s)"
|
||||||
|
else
|
||||||
|
echo "❌ Lien Équipe non trouvé après modification"
|
||||||
|
echo "📄 Aperçu de Navigation.tsx (premières 50 lignes):"
|
||||||
|
head -50 "$NAV_FILE" || true
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "❌ Erreur lors de l'exécution du script Python"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
SHEOF
|
||||||
|
RUN chmod +x /tmp/add_team_link.sh
|
||||||
|
|
||||||
|
# Exécuter le script
|
||||||
|
RUN /tmp/add_team_link.sh
|
||||||
|
|
||||||
# Builder l'application en mode production pour éviter Fast Refresh
|
# Builder l'application en mode production pour éviter Fast Refresh
|
||||||
# Utiliser WORKDIR pour changer de répertoire de manière fiable
|
# Utiliser WORKDIR pour changer de répertoire de manière fiable
|
||||||
|
|||||||
Reference in New Issue
Block a user