194 lines
8.9 KiB
Bash
Executable File
194 lines
8.9 KiB
Bash
Executable File
#!/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
|