# 🛠️ Scripts Disponibles - RPA Vision V2

## 🚀 Scripts de Lancement

### LANCER_APPLICATION.sh ⭐ (Recommandé)
**Emplacement** : Racine du projet  
**Usage** : `./LANCER_APPLICATION.sh`

Script principal pour lancer l'application depuis n'importe où dans le projet.

**Fonctionnalités** :
- ✅ Vérification de l'existence des répertoires
- ✅ Vérification de l'existence de run.sh
- ✅ Ajout automatique des permissions d'exécution
- ✅ Messages d'erreur clairs
- ✅ Lancement de l'application

**Quand l'utiliser** : Toujours ! C'est la méthode recommandée.

---

### geniusia2/run.sh
**Emplacement** : `geniusia2/`  
**Usage** : `cd geniusia2 && ./run.sh`

Script de lancement depuis le dossier geniusia2.

**Fonctionnalités** :
- ✅ Activation de l'environnement virtuel
- ✅ Lancement de main.py
- ✅ Gestion des erreurs

**Quand l'utiliser** : Si vous êtes déjà dans le dossier geniusia2.

---

## 🔧 Scripts d'Installation

### geniusia2/setup.sh ⭐
**Emplacement** : `geniusia2/`  
**Usage** : `cd geniusia2 && ./setup.sh`

Script d'installation automatique complet.

**Fonctionnalités** :
- ✅ Création de l'environnement virtuel
- ✅ Installation de toutes les dépendances Python (~3.5 GB)
- ✅ Installation d'Ollama (si nécessaire)
- ✅ Téléchargement du modèle Qwen 2.5-VL
- ✅ Création des répertoires de données
- ✅ Génération des clés de chiffrement
- ✅ Configuration complète

**Durée** : ~10-15 minutes (selon la connexion internet)

**Quand l'utiliser** : 
- Première installation
- Après suppression de venv/
- Pour réinstaller complètement

---

## 🔍 Scripts de Vérification

### VERIFIER_INSTALLATION.sh ⭐
**Emplacement** : Racine du projet  
**Usage** : `./VERIFIER_INSTALLATION.sh`

Script de vérification complète de l'installation.

**Vérifications effectuées** :
1. ✅ Structure des répertoires
2. ✅ Scripts de lancement
3. ✅ Documentation
4. ✅ Environnement virtuel
5. ✅ Dépendances Python (PyTorch, PyQt5, Transformers, FAISS)
6. ✅ Ollama et modèle Qwen 2.5-VL
7. ✅ Fichiers de configuration
8. ✅ Répertoires de données

**Résultat** :
- Affiche un résumé avec compteurs (✅/❌/⚠️)
- Code de sortie 0 si tout est OK
- Code de sortie 1 si problèmes détectés

**Quand l'utiliser** :
- Après l'installation
- Avant de lancer l'application
- Pour diagnostiquer des problèmes

---

## 🧪 Scripts de Test

### test_learning_manager_simple.py
**Usage** : `python3 test_learning_manager_simple.py`

Test du gestionnaire d'apprentissage sans dépendances lourdes.

**Tests** :
- Initialisation
- Observation d'actions
- Transitions de mode
- Calcul de confiance
- Confirmations et corrections
- Sauvegarde/chargement

---

### test_orchestrator_simple.py
**Usage** : `python3 test_orchestrator_simple.py`

Test de l'orchestrateur (boucle cognitive).

**Tests** :
- Initialisation
- Capture de contexte
- Liste blanche
- Métriques
- Statut

---

### test_whitelist_simple.py
**Usage** : `python3 test_whitelist_simple.py`

Test du gestionnaire de liste blanche.

**Tests** :
- Ajout/suppression d'applications
- Vérification d'autorisation
- Patterns avec wildcards
- Sauvegarde/chargement

---

### test_whitelist_integration.py
**Usage** : `python3 test_whitelist_integration.py`

Test d'intégration de la liste blanche avec l'orchestrateur.

---

### test_input_utils_simple.py
**Usage** : `python3 test_input_utils_simple.py`

Test des utilitaires d'entrée (actions UI).

**Tests** :
- Exécution d'actions (click, type, scroll)
- Historique d'actions
- Actions inverses
- Rollback

---

### test_input_utils_integration.py
**Usage** : `python3 test_input_utils_integration.py`

Test d'intégration des utilitaires d'entrée.

---

### test_ui_change_detector_simple.py
**Usage** : `python3 test_ui_change_detector_simple.py`

Test du détecteur de changements UI.

---

### test_summary_dashboard.py
**Usage** : `python3 test_summary_dashboard.py`

Test du tableau de bord des métriques.

---

## 📊 Tableau Récapitulatif

| Script | Type | Emplacement | Durée | Priorité |
|--------|------|-------------|-------|----------|
| **LANCER_APPLICATION.sh** | Lancement | Racine | <1s | ⭐⭐⭐ |
| **run.sh** | Lancement | geniusia2/ | <1s | ⭐⭐ |
| **setup.sh** | Installation | geniusia2/ | ~10min | ⭐⭐⭐ |
| **VERIFIER_INSTALLATION.sh** | Vérification | Racine | ~5s | ⭐⭐⭐ |
| **test_*.py** | Tests | Racine | ~1-5s | ⭐ |

---

## 🎯 Workflow Recommandé

### Première Installation

```bash
# 1. Vérifier l'état initial
./VERIFIER_INSTALLATION.sh

# 2. Installer
cd geniusia2
./setup.sh

# 3. Vérifier l'installation
cd ..
./VERIFIER_INSTALLATION.sh

# 4. Lancer l'application
./LANCER_APPLICATION.sh
```

---

### Utilisation Quotidienne

```bash
# Lancer l'application
./LANCER_APPLICATION.sh
```

C'est tout ! 🎉

---

### Après Mise à Jour du Code

```bash
# 1. Vérifier l'installation
./VERIFIER_INSTALLATION.sh

# 2. Réinstaller si nécessaire
cd geniusia2
rm -rf venv
./setup.sh

# 3. Tester
cd ..
python3 test_learning_manager_simple.py
python3 test_orchestrator_simple.py

# 4. Lancer
./LANCER_APPLICATION.sh
```

---

### Diagnostic de Problèmes

```bash
# 1. Vérifier l'installation
./VERIFIER_INSTALLATION.sh

# 2. Tester les composants
python3 test_learning_manager_simple.py
python3 test_orchestrator_simple.py
python3 test_whitelist_simple.py

# 3. Consulter les logs
cat geniusia2/data/logs/logs_$(date +%Y-%m-%d).enc

# 4. Réinstaller si nécessaire
cd geniusia2
rm -rf venv
./setup.sh
```

---

## 💡 Conseils

### Rendre un Script Exécutable

```bash
chmod +x nom_du_script.sh
```

### Exécuter un Script Python avec le venv

```bash
geniusia2/venv/bin/python3 script.py
```

### Vérifier la Version de Python

```bash
geniusia2/venv/bin/python3 --version
```

### Lister les Packages Installés

```bash
geniusia2/venv/bin/pip list
```

---

## 🆘 En Cas de Problème

1. **Script ne se lance pas** :
   ```bash
   chmod +x nom_du_script.sh
   ```

2. **Erreur "command not found"** :
   ```bash
   ./nom_du_script.sh  # Avec ./
   ```

3. **Erreur "Permission denied"** :
   ```bash
   chmod +x nom_du_script.sh
   ```

4. **Script Python ne trouve pas les modules** :
   ```bash
   # Utiliser le Python du venv
   geniusia2/venv/bin/python3 script.py
   ```

---

**Tous les scripts sont prêts à l'emploi ! 🚀**
