#!/bin/bash # Generate error summary from discovery logs if [ -z "$1" ]; then DATE=$(date +%Y%m%d-%H%M%S) else DATE=$1 fi OUTPUT="docs/ORIGIN/error-logs/summary-${DATE}.md" echo "# 📊 Rapport de DĂ©couverte d'Erreurs - Projet Veza" > $OUTPUT echo "" >> $OUTPUT echo "**Date de gĂ©nĂ©ration** : $(date '+%Y-%m-%d %H:%M:%S')" >> $OUTPUT echo "**ID du rapport** : ${DATE}" >> $OUTPUT echo "" >> $OUTPUT echo "---" >> $OUTPUT echo "" >> $OUTPUT # =========================================== # FONCTION DE COMPTAGE D'ERREURS # =========================================== count_errors() { local file=$1 if [ -f "$file" ]; then grep -i -c "error\|failed\|fatal" "$file" 2>/dev/null || echo "0" else echo "0" fi } count_warnings() { local file=$1 if [ -f "$file" ]; then grep -i -c "warning\|warn" "$file" 2>/dev/null || echo "0" else echo "0" fi } # =========================================== # STATISTIQUES GLOBALES # =========================================== echo "## 📈 Statistiques Globales" >> $OUTPUT echo "" >> $OUTPUT BACKEND_BUILD_ERRORS=$(count_errors "docs/ORIGIN/error-logs/backend-build-${DATE}.log") BACKEND_TEST_ERRORS=$(count_errors "docs/ORIGIN/error-logs/backend-tests-${DATE}.log") BACKEND_VET_ERRORS=$(count_errors "docs/ORIGIN/error-logs/backend-vet-${DATE}.log") FRONTEND_BUILD_ERRORS=$(count_errors "docs/ORIGIN/error-logs/frontend-build-${DATE}.log") FRONTEND_TEST_ERRORS=$(count_errors "docs/ORIGIN/error-logs/frontend-tests-${DATE}.log") FRONTEND_LINT_ERRORS=$(count_errors "docs/ORIGIN/error-logs/frontend-lint-${DATE}.log") FRONTEND_TSC_ERRORS=$(count_errors "docs/ORIGIN/error-logs/frontend-tsc-${DATE}.log") # Remove any newlines/spaces from counts BACKEND_BUILD_ERRORS=$(echo "$BACKEND_BUILD_ERRORS" | tr -d '\n' | tr -d ' ') BACKEND_TEST_ERRORS=$(echo "$BACKEND_TEST_ERRORS" | tr -d '\n' | tr -d ' ') BACKEND_VET_ERRORS=$(echo "$BACKEND_VET_ERRORS" | tr -d '\n' | tr -d ' ') FRONTEND_BUILD_ERRORS=$(echo "$FRONTEND_BUILD_ERRORS" | tr -d '\n' | tr -d ' ') FRONTEND_TEST_ERRORS=$(echo "$FRONTEND_TEST_ERRORS" | tr -d '\n' | tr -d ' ') FRONTEND_LINT_ERRORS=$(echo "$FRONTEND_LINT_ERRORS" | tr -d '\n' | tr -d ' ') FRONTEND_TSC_ERRORS=$(echo "$FRONTEND_TSC_ERRORS" | tr -d '\n' | tr -d ' ') # Default to 0 if empty BACKEND_BUILD_ERRORS=${BACKEND_BUILD_ERRORS:-0} BACKEND_TEST_ERRORS=${BACKEND_TEST_ERRORS:-0} BACKEND_VET_ERRORS=${BACKEND_VET_ERRORS:-0} FRONTEND_BUILD_ERRORS=${FRONTEND_BUILD_ERRORS:-0} FRONTEND_TEST_ERRORS=${FRONTEND_TEST_ERRORS:-0} FRONTEND_LINT_ERRORS=${FRONTEND_LINT_ERRORS:-0} FRONTEND_TSC_ERRORS=${FRONTEND_TSC_ERRORS:-0} TOTAL_ERRORS=$((BACKEND_BUILD_ERRORS + BACKEND_TEST_ERRORS + BACKEND_VET_ERRORS + FRONTEND_BUILD_ERRORS + FRONTEND_TEST_ERRORS + FRONTEND_LINT_ERRORS + FRONTEND_TSC_ERRORS)) echo "| Composant | Erreurs | Warnings | Statut |" >> $OUTPUT echo "|-----------|---------|----------|--------|" >> $OUTPUT echo "| **Backend Build** | ${BACKEND_BUILD_ERRORS} | - | $([ $BACKEND_BUILD_ERRORS -eq 0 ] && echo '✅' || echo '❌') |" >> $OUTPUT echo "| **Backend Tests** | ${BACKEND_TEST_ERRORS} | - | $([ $BACKEND_TEST_ERRORS -eq 0 ] && echo '✅' || echo '❌') |" >> $OUTPUT echo "| **Backend Vet** | ${BACKEND_VET_ERRORS} | - | $([ $BACKEND_VET_ERRORS -eq 0 ] && echo '✅' || echo '❌') |" >> $OUTPUT echo "| **Frontend Build** | ${FRONTEND_BUILD_ERRORS} | - | $([ $FRONTEND_BUILD_ERRORS -eq 0 ] && echo '✅' || echo '❌') |" >> $OUTPUT echo "| **Frontend Tests** | ${FRONTEND_TEST_ERRORS} | - | $([ $FRONTEND_TEST_ERRORS -eq 0 ] && echo '✅' || echo '❌') |" >> $OUTPUT echo "| **Frontend Lint** | ${FRONTEND_LINT_ERRORS} | - | $([ $FRONTEND_LINT_ERRORS -eq 0 ] && echo '✅' || echo '❌') |" >> $OUTPUT echo "| **Frontend TypeScript** | ${FRONTEND_TSC_ERRORS} | - | $([ $FRONTEND_TSC_ERRORS -eq 0 ] && echo '✅' || echo '❌') |" >> $OUTPUT echo "| **TOTAL** | **${TOTAL_ERRORS}** | - | $([ $TOTAL_ERRORS -eq 0 ] && echo '✅ AUCUNE ERREUR' || echo '❌ ERREURS DÉTECTÉES') |" >> $OUTPUT echo "" >> $OUTPUT # =========================================== # DÉTAILS BACKEND # =========================================== echo "## 📡 Backend Go - DĂ©tails" >> $OUTPUT echo "" >> $OUTPUT echo "### Build Errors" >> $OUTPUT echo "" >> $OUTPUT if [ -f "docs/ORIGIN/error-logs/backend-build-${DATE}.log" ]; then if [ $BACKEND_BUILD_ERRORS -eq 0 ]; then echo "✅ **Aucune erreur de build**" >> $OUTPUT else echo "\`\`\`" >> $OUTPUT head -50 "docs/ORIGIN/error-logs/backend-build-${DATE}.log" >> $OUTPUT echo "\`\`\`" >> $OUTPUT fi else echo "⚠ Fichier de log non trouvĂ©" >> $OUTPUT fi echo "" >> $OUTPUT echo "### Test Errors" >> $OUTPUT echo "" >> $OUTPUT if [ -f "docs/ORIGIN/error-logs/backend-tests-${DATE}.log" ]; then if [ $BACKEND_TEST_ERRORS -eq 0 ]; then echo "✅ **Tous les tests passent**" >> $OUTPUT else echo "\`\`\`" >> $OUTPUT grep -A 3 -i "FAIL\|error" "docs/ORIGIN/error-logs/backend-tests-${DATE}.log" | head -30 >> $OUTPUT echo "\`\`\`" >> $OUTPUT fi else echo "⚠ Fichier de log non trouvĂ©" >> $OUTPUT fi echo "" >> $OUTPUT # =========================================== # DÉTAILS FRONTEND # =========================================== echo "## 🌐 Frontend React - DĂ©tails" >> $OUTPUT echo "" >> $OUTPUT echo "### Build Errors" >> $OUTPUT echo "" >> $OUTPUT if [ -f "docs/ORIGIN/error-logs/frontend-build-${DATE}.log" ]; then if [ $FRONTEND_BUILD_ERRORS -eq 0 ]; then echo "✅ **Aucune erreur de build**" >> $OUTPUT else echo "\`\`\`" >> $OUTPUT head -50 "docs/ORIGIN/error-logs/frontend-build-${DATE}.log" >> $OUTPUT echo "\`\`\`" >> $OUTPUT fi else echo "⚠ Fichier de log non trouvĂ©" >> $OUTPUT fi echo "" >> $OUTPUT echo "### TypeScript Errors" >> $OUTPUT echo "" >> $OUTPUT if [ -f "docs/ORIGIN/error-logs/frontend-tsc-${DATE}.log" ]; then if [ $FRONTEND_TSC_ERRORS -eq 0 ]; then echo "✅ **Aucune erreur TypeScript**" >> $OUTPUT else echo "\`\`\`" >> $OUTPUT head -50 "docs/ORIGIN/error-logs/frontend-tsc-${DATE}.log" >> $OUTPUT echo "\`\`\`" >> $OUTPUT fi else echo "⚠ Fichier de log non trouvĂ©" >> $OUTPUT fi echo "" >> $OUTPUT # =========================================== # RECOMMANDATIONS # =========================================== echo "## 🎯 Recommandations" >> $OUTPUT echo "" >> $OUTPUT if [ $TOTAL_ERRORS -eq 0 ]; then echo "🎉 **FĂ©licitations!** Aucune erreur dĂ©tectĂ©e. Le projet est en excellent Ă©tat." >> $OUTPUT echo "" >> $OUTPUT echo "### Prochaines Ă©tapes" >> $OUTPUT echo "1. ✅ Phase 0 (Error Resolution) non nĂ©cessaire" >> $OUTPUT echo "2. ✅ Reprendre l'implĂ©mentation Ă  partir de T0511" >> $OUTPUT else echo "⚠ **${TOTAL_ERRORS} erreur(s) dĂ©tectĂ©e(s).** Corrections nĂ©cessaires avant de continuer." >> $OUTPUT echo "" >> $OUTPUT echo "### Prochaines Ă©tapes (Ordre de prioritĂ©)" >> $OUTPUT echo "" >> $OUTPUT echo "1. 📋 **Mettre Ă  jour ORIGIN_ERROR_REGISTRY.md**" >> $OUTPUT echo " - Documenter chaque erreur identifiĂ©e" >> $OUTPUT echo " - Assigner catĂ©gorie (CAT-XX) et prioritĂ© (PX)" >> $OUTPUT echo " - Estimer complexitĂ© et temps" >> $OUTPUT echo "" >> $OUTPUT echo "2. 📝 **CrĂ©er les tĂąches TERR-XXX**" >> $OUTPUT echo " - Une tĂąche par erreur dans ORIGIN_IMPLEMENTATION_TASKS.md" >> $OUTPUT echo " - Suivre le template dĂ©fini dans ORIGIN_ERROR_RESOLUTION_STRATEGY.md" >> $OUTPUT echo "" >> $OUTPUT echo "3. 🔧 **Corriger par ordre de prioritĂ©**" >> $OUTPUT echo " - P0 (Critiques) en premier" >> $OUTPUT echo " - Puis P1 (Hautes)" >> $OUTPUT echo " - Puis P2 (Moyennes)" >> $OUTPUT echo "" >> $OUTPUT echo "4. ✅ **Valider les corrections**" >> $OUTPUT echo " - Relancer ce script aprĂšs chaque correction" >> $OUTPUT echo " - VĂ©rifier que le nombre d'erreurs diminue" >> $OUTPUT echo "" >> $OUTPUT echo "5. 🚀 **Reprendre T0511+ une fois TOUT corrigĂ©**" >> $OUTPUT fi echo "" >> $OUTPUT # =========================================== # FICHIERS DE LOGS # =========================================== echo "## 📁 Fichiers de Logs" >> $OUTPUT echo "" >> $OUTPUT echo "Tous les logs dĂ©taillĂ©s sont disponibles dans:" >> $OUTPUT echo "" >> $OUTPUT echo "\`\`\`" >> $OUTPUT echo "docs/ORIGIN/error-logs/" >> $OUTPUT ls -lh docs/ORIGIN/error-logs/*${DATE}* 2>/dev/null | awk '{print " - " $9 " (" $5 ")"}' >> $OUTPUT echo "\`\`\`" >> $OUTPUT echo "" >> $OUTPUT # =========================================== # FOOTER # =========================================== echo "---" >> $OUTPUT echo "" >> $OUTPUT echo "**GĂ©nĂ©rĂ© par** : scripts/generate-error-summary.sh" >> $OUTPUT echo "**RĂ©fĂ©rence** : ORIGIN_ERROR_RESOLUTION_STRATEGY.md" >> $OUTPUT echo "" >> $OUTPUT # Afficher aussi Ă  l'Ă©cran cat $OUTPUT echo "" echo "✅ RĂ©sumĂ© gĂ©nĂ©rĂ© avec succĂšs: $OUTPUT"