Initial commit — Serveur Lucas SmartEye
API réception alertes chute (SmartEye/YOLO), analyse IA (Gemini 2.5 Flash), gestion alertes avec escalade (watchdog), notifications Firebase, dashboard web, documentation MkDocs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
95
validate_fix.sh
Executable file
95
validate_fix.sh
Executable file
@@ -0,0 +1,95 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "╔════════════════════════════════════════════════════════════════════╗"
|
||||
echo "║ VALIDATION COMPLÈTE DU CORRECTIF ║"
|
||||
echo "╚════════════════════════════════════════════════════════════════════╝"
|
||||
echo ""
|
||||
|
||||
ERRORS=0
|
||||
|
||||
# Test 1: Syntaxe Python
|
||||
echo "🔍 Test 1: Validation syntaxe Python..."
|
||||
if python3 -m py_compile /var/www/lucas/analyze.py 2>/dev/null; then
|
||||
echo " ✅ Syntaxe valide"
|
||||
else
|
||||
echo " ❌ Erreur de syntaxe"
|
||||
ERRORS=$((ERRORS+1))
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Test 2: Import du module
|
||||
echo "🔍 Test 2: Import du module analyze..."
|
||||
if python3 -c "import sys; sys.path.insert(0, '/var/www/lucas'); import analyze" 2>/dev/null; then
|
||||
echo " ✅ Import réussi"
|
||||
else
|
||||
echo " ❌ Échec d'import"
|
||||
ERRORS=$((ERRORS+1))
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Test 3: Tests de robustesse JSON
|
||||
echo "🔍 Test 3: Tests de robustesse JSON..."
|
||||
if python3 /var/www/lucas/test_json_robustness.py 2>&1 | grep -q "8 réussis, 0 échoués"; then
|
||||
echo " ✅ 8/8 tests passés"
|
||||
else
|
||||
echo " ❌ Certains tests ont échoué"
|
||||
ERRORS=$((ERRORS+1))
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Test 4: Vérification des fichiers créés
|
||||
echo "🔍 Test 4: Vérification des fichiers..."
|
||||
FILES=(
|
||||
"/var/www/lucas/analyze.py"
|
||||
"/var/www/lucas/check_gemini_health.py"
|
||||
"/var/www/lucas/test_json_robustness.py"
|
||||
"/var/www/lucas/test_analyze_full.py"
|
||||
"/var/www/lucas/GEMINI_FIX_README.md"
|
||||
"/var/www/lucas/CORRECTIF_TECHNIQUE.md"
|
||||
"/var/www/lucas/CHANGELOG_v2.0.md"
|
||||
)
|
||||
|
||||
for FILE in "${FILES[@]}"; do
|
||||
if [ -f "$FILE" ]; then
|
||||
echo " ✅ $(basename $FILE)"
|
||||
else
|
||||
echo " ❌ $(basename $FILE) manquant"
|
||||
ERRORS=$((ERRORS+1))
|
||||
fi
|
||||
done
|
||||
echo ""
|
||||
|
||||
# Test 5: Vérification des permissions
|
||||
echo "🔍 Test 5: Vérification des permissions..."
|
||||
if [ -x "/var/www/lucas/analyze.py" ]; then
|
||||
echo " ✅ analyze.py est exécutable"
|
||||
else
|
||||
echo " ⚠️ analyze.py n'est pas exécutable"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Test 6: Taille du fichier principal
|
||||
echo "🔍 Test 6: Vérification taille analyze.py..."
|
||||
SIZE=$(stat -f%z /var/www/lucas/analyze.py 2>/dev/null || stat -c%s /var/www/lucas/analyze.py 2>/dev/null)
|
||||
if [ "$SIZE" -gt "10000" ]; then
|
||||
echo " ✅ Taille: $SIZE octets (contenu significatif)"
|
||||
else
|
||||
echo " ❌ Taille: $SIZE octets (trop petit)"
|
||||
ERRORS=$((ERRORS+1))
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Résumé
|
||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
if [ $ERRORS -eq 0 ]; then
|
||||
echo "✅ VALIDATION RÉUSSIE - Tous les tests sont passés"
|
||||
echo ""
|
||||
echo "Le correctif est prêt pour la production."
|
||||
echo "Vous pouvez monitorer avec: python3 /var/www/lucas/check_gemini_health.py"
|
||||
exit 0
|
||||
else
|
||||
echo "❌ VALIDATION ÉCHOUÉE - $ERRORS erreur(s) détectée(s)"
|
||||
echo ""
|
||||
echo "Veuillez corriger les erreurs avant de déployer."
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user