#!/bin/bash # Script de vérification de l'installation RPA Vision V2 echo "╔═══════════════════════════════════════════════════════════╗" echo "║ ║" echo "║ 🔍 VÉRIFICATION INSTALLATION - RPA VISION V2 ║" echo "║ ║" echo "╚═══════════════════════════════════════════════════════════╝" echo "" # Compteurs CHECKS_PASSED=0 CHECKS_FAILED=0 WARNINGS=0 # Fonction pour afficher un résultat check_result() { if [ $1 -eq 0 ]; then echo " ✅ $2" ((CHECKS_PASSED++)) else echo " ❌ $2" ((CHECKS_FAILED++)) fi } warning_result() { echo " ⚠️ $1" ((WARNINGS++)) } # 1. Vérifier la structure des répertoires echo "1️⃣ Vérification de la structure..." check_result $([ -d "geniusia2" ] && echo 0 || echo 1) "Répertoire geniusia2/" check_result $([ -d "geniusia2/core" ] && echo 0 || echo 1) "Répertoire geniusia2/core/" check_result $([ -d "geniusia2/gui" ] && echo 0 || echo 1) "Répertoire geniusia2/gui/" check_result $([ -d "geniusia2/data" ] && echo 0 || echo 1) "Répertoire geniusia2/data/" echo "" # 2. Vérifier les scripts de lancement echo "2️⃣ Vérification des scripts de lancement..." check_result $([ -f "LANCER_APPLICATION.sh" ] && echo 0 || echo 1) "LANCER_APPLICATION.sh existe" check_result $([ -x "LANCER_APPLICATION.sh" ] && echo 0 || echo 1) "LANCER_APPLICATION.sh est exécutable" check_result $([ -f "geniusia2/run.sh" ] && echo 0 || echo 1) "geniusia2/run.sh existe" check_result $([ -f "geniusia2/setup.sh" ] && echo 0 || echo 1) "geniusia2/setup.sh existe" echo "" # 3. Vérifier la documentation echo "3️⃣ Vérification de la documentation..." check_result $([ -f "README.md" ] && echo 0 || echo 1) "README.md" check_result $([ -f "DEMARRAGE_RAPIDE.md" ] && echo 0 || echo 1) "DEMARRAGE_RAPIDE.md" check_result $([ -f "COMMENT_LANCER.md" ] && echo 0 || echo 1) "COMMENT_LANCER.md" check_result $([ -f "INDEX_DOCUMENTATION.md" ] && echo 0 || echo 1) "INDEX_DOCUMENTATION.md" check_result $([ -f "geniusia2/README.md" ] && echo 0 || echo 1) "geniusia2/README.md" echo "" # 4. Vérifier l'environnement virtuel echo "4️⃣ Vérification de l'environnement virtuel..." if [ -d "geniusia2/venv" ]; then check_result 0 "Environnement virtuel existe" if [ -f "geniusia2/venv/bin/python3" ]; then check_result 0 "Python3 dans venv" # Vérifier la version de Python PYTHON_VERSION=$(geniusia2/venv/bin/python3 --version 2>&1 | cut -d' ' -f2) echo " Version Python: $PYTHON_VERSION" else check_result 1 "Python3 dans venv" fi else check_result 1 "Environnement virtuel existe" warning_result "Exécutez 'cd geniusia2 && ./setup.sh' pour installer" fi echo "" # 5. Vérifier les dépendances clés echo "5️⃣ Vérification des dépendances Python..." if [ -f "geniusia2/venv/bin/python3" ]; then # PyTorch if geniusia2/venv/bin/python3 -c "import torch" 2>/dev/null; then check_result 0 "PyTorch installé" else check_result 1 "PyTorch installé" fi # PyQt5 if geniusia2/venv/bin/python3 -c "import PyQt5" 2>/dev/null; then check_result 0 "PyQt5 installé" else check_result 1 "PyQt5 installé" fi # Transformers if geniusia2/venv/bin/python3 -c "import transformers" 2>/dev/null; then check_result 0 "Transformers installé" else check_result 1 "Transformers installé" fi # FAISS if geniusia2/venv/bin/python3 -c "import faiss" 2>/dev/null; then check_result 0 "FAISS installé" else check_result 1 "FAISS installé" fi else warning_result "Impossible de vérifier les dépendances (venv non trouvé)" fi echo "" # 6. Vérifier Ollama echo "6️⃣ Vérification d'Ollama..." if command -v ollama &> /dev/null; then check_result 0 "Ollama installé" # Vérifier si Ollama est en cours d'exécution if ollama list &> /dev/null; then check_result 0 "Ollama en cours d'exécution" # Vérifier le modèle Qwen if ollama list | grep -q "qwen2.5-vl"; then check_result 0 "Modèle Qwen 2.5-VL téléchargé" else check_result 1 "Modèle Qwen 2.5-VL téléchargé" warning_result "Exécutez 'ollama pull qwen2.5-vl:3b' pour télécharger" fi else check_result 1 "Ollama en cours d'exécution" warning_result "Démarrez Ollama avec 'ollama serve'" fi else check_result 1 "Ollama installé" warning_result "Installez Ollama: curl -fsSL https://ollama.com/install.sh | sh" fi echo "" # 7. Vérifier les fichiers de configuration echo "7️⃣ Vérification de la configuration..." check_result $([ -f "geniusia2/core/config.py" ] && echo 0 || echo 1) "config.py" check_result $([ -f "geniusia2/requirements.txt" ] && echo 0 || echo 1) "requirements.txt" check_result $([ -f "geniusia2/main.py" ] && echo 0 || echo 1) "main.py" echo "" # 8. Vérifier les répertoires de données echo "8️⃣ Vérification des répertoires de données..." check_result $([ -d "geniusia2/data/user_profiles" ] && echo 0 || echo 1) "data/user_profiles/" check_result $([ -d "geniusia2/data/logs" ] && echo 0 || echo 1) "data/logs/" check_result $([ -d "geniusia2/data/faiss_index" ] && echo 0 || echo 1) "data/faiss_index/" echo "" # Résumé echo "╔═══════════════════════════════════════════════════════════╗" echo "║ RÉSUMÉ ║" echo "╚═══════════════════════════════════════════════════════════╝" echo "" echo " ✅ Vérifications réussies : $CHECKS_PASSED" echo " ❌ Vérifications échouées : $CHECKS_FAILED" echo " ⚠️ Avertissements : $WARNINGS" echo "" if [ $CHECKS_FAILED -eq 0 ] && [ $WARNINGS -eq 0 ]; then echo "╔═══════════════════════════════════════════════════════════╗" echo "║ ║" echo "║ ✅ INSTALLATION COMPLÈTE ET FONCTIONNELLE ! ║" echo "║ ║" echo "║ Vous pouvez lancer l'application avec : ║" echo "║ ./LANCER_APPLICATION.sh ║" echo "║ ║" echo "╚═══════════════════════════════════════════════════════════╝" exit 0 elif [ $CHECKS_FAILED -eq 0 ]; then echo "╔═══════════════════════════════════════════════════════════╗" echo "║ ║" echo "║ ⚠️ INSTALLATION COMPLÈTE AVEC AVERTISSEMENTS ║" echo "║ ║" echo "║ Consultez les avertissements ci-dessus ║" echo "║ ║" echo "╚═══════════════════════════════════════════════════════════╝" exit 0 else echo "╔═══════════════════════════════════════════════════════════╗" echo "║ ║" echo "║ ❌ INSTALLATION INCOMPLÈTE ║" echo "║ ║" echo "║ Exécutez les commandes suivantes : ║" echo "║ 1. cd geniusia2 ║" echo "║ 2. ./setup.sh ║" echo "║ ║" echo "╚═══════════════════════════════════════════════════════════╝" exit 1 fi