# 🚀 Démarrage Rapide - RPA Vision V2 MVP

## 📋 Prérequis

- Python 3.8+
- Ollama installé et en cours d'exécution
- 8 GB RAM minimum
- Linux (testé sur Ubuntu)

## ⚡ Installation Rapide

### 1. Installation complète

```bash
cd geniusia2
./setup.sh
```

Ce script va :
- ✅ Créer l'environnement virtuel
- ✅ Installer toutes les dépendances
- ✅ Télécharger le modèle Gemma3 (via Ollama)
- ✅ Créer les répertoires de données

### 2. Installer FAISS (CRITIQUE)

```bash
cd geniusia2
./install_faiss.sh
```

Ou manuellement :
```bash
source geniusia2/venv/bin/activate
pip install faiss-cpu
```

### 3. Reconstruire l'index FAISS (si des tâches existent)

```bash
python3 rebuild_faiss_simple.py
```

Cela va créer l'index à partir des 105 tâches existantes.

## 🎮 Utilisation

### Lancer l'application

```bash
cd geniusia2
./run.sh
```

Ou manuellement :
```bash
cd geniusia2
source venv/bin/activate
python3 main.py
```

### Workflow complet (Capture → Apprentissage → Rejeu)

```bash
python3 example_complete_workflow.py
```

### Tester le rejeu d'une tâche

```bash
python3 test_task_replay.py
```

## 🔧 Scripts Utilitaires

### Diagnostic des données

```bash
python3 diagnostic_data.py
```

Affiche :
- État de l'index FAISS
- Nombre de tâches
- État des logs

### Lire une tâche (.pkl)

```bash
# Lister toutes les tâches
python3 read_pkl.py --list

# Lire une tâche spécifique
python3 read_pkl.py task_fc1d3e52
```

### Reconstruire l'index FAISS

```bash
python3 rebuild_faiss_simple.py
```

## 📊 Structure des Données

```
geniusia2/data/
├── faiss_index/
│   ├── embeddings.index    # Index FAISS (créé automatiquement)
│   └── metadata.pkl         # Métadonnées des embeddings
├── user_profiles/
│   └── task_XXXXX/
│       ├── metadata.json    # Infos de la tâche
│       └── signatures.pkl   # Actions + embeddings
└── logs/
    └── logs_YYYY-MM-DD.json # Logs en JSON simple (pas de chiffrement)
```

## 🎯 Modes d'Utilisation

### Mode Shadow (Observation)

1. Lancer l'application : `./run.sh`
2. Cliquer sur "Start"
3. Effectuer des actions répétitives (3x minimum)
4. Le système détecte les patterns et crée des tâches

### Mode Rejeu

1. Lister les tâches : `python3 read_pkl.py --list`
2. Rejouer une tâche : `python3 test_task_replay.py`
3. Choisir la tâche à rejouer
4. Le système localise visuellement les éléments et rejoue les actions

## 🔍 Vérifications

### Vérifier que FAISS est installé

```bash
cd geniusia2
source venv/bin/activate
python -c "import faiss; print(f'FAISS {faiss.__version__} OK')"
```

### Vérifier que l'index FAISS existe

```bash
ls -lh geniusia2/data/faiss_index/
```

Devrait afficher :
- `embeddings.index` (quelques KB)
- `metadata.pkl` (quelques KB)

### Vérifier les tâches

```bash
python3 diagnostic_data.py
```

## ⚠️ Problèmes Courants

### FAISS non installé

**Symptôme** : `ModuleNotFoundError: No module named 'faiss'`

**Solution** :
```bash
cd geniusia2
./install_faiss.sh
```

### Index FAISS manquant

**Symptôme** : Pas de fichiers dans `data/faiss_index/`

**Solution** :
```bash
python3 rebuild_faiss_simple.py
```

### Ollama non démarré

**Symptôme** : Erreurs de connexion au LLM

**Solution** :
```bash
ollama serve
```

Dans un autre terminal :
```bash
ollama pull gemma2:2b
```

### Pas de tâches

**Symptôme** : `Aucune tâche disponible`

**Solution** :
1. Lancer l'application : `cd geniusia2 && ./run.sh`
2. Cliquer sur "Start"
3. Effectuer des actions répétitives (3x minimum)
4. Attendre la détection de pattern

## 📝 Logs

Les logs sont maintenant en **JSON simple** (pas de chiffrement pour MVP) :

```bash
# Voir les logs du jour
cat geniusia2/data/logs/logs_$(date +%Y-%m-%d).json | jq .

# Filtrer les actions
cat geniusia2/data/logs/logs_$(date +%Y-%m-%d).json | jq 'select(.type=="action")'
```

## 🎯 Prochaines Étapes

1. ✅ Installer FAISS : `./install_faiss.sh`
2. ✅ Reconstruire l'index : `python3 rebuild_faiss_simple.py`
3. ✅ Tester le rejeu : `python3 test_task_replay.py`
4. ✅ Lancer l'application : `./run.sh`

## 📚 Documentation

- `README.md` : Documentation complète
- `MODIFICATIONS_MVP.md` : Changements récents
- `état_avancement_18_11.md` : État du projet
- `MVP_COMPLET_REJEU.md` : Système de rejeu
- `geniusia2/core/TASK_REPLAY_README.md` : API de rejeu

## 🆘 Support

En cas de problème :

1. Vérifier les logs : `cat geniusia2/data/logs/logs_$(date +%Y-%m-%d).json`
2. Diagnostic : `python3 diagnostic_data.py`
3. Vérifier FAISS : `python -c "import faiss; print('OK')"`

## ✅ Checklist de Démarrage

- [ ] Python 3.8+ installé
- [ ] Ollama installé et démarré (`ollama serve`)
- [ ] Modèle Gemma3 téléchargé (`ollama pull gemma2:2b`)
- [ ] Environnement virtuel créé (`./setup.sh`)
- [ ] FAISS installé (`./install_faiss.sh`)
- [ ] Index FAISS créé (`python3 rebuild_faiss_simple.py`)
- [ ] Application testée (`./run.sh`)

**Prêt à l'emploi ! 🎉**
