# Guide: Génération de Tâches de Démonstration

## Objectif

Créer automatiquement des tâches de démonstration pour tester le système de suggestions sans avoir à répéter manuellement des actions.

## Problème Rencontré

Le script `generer_taches_demo.py` crée des tâches mais elles ne sont pas correctement persistées dans la base de données.

### Causes

1. **Structure des tâches**: Les `TaskProfile` ont une structure spécifique
2. **Sauvegarde**: La méthode `_save_task()` est privée et peut avoir des dépendances
3. **Embeddings**: Les embeddings doivent être indexés dans FAISS avec les bonnes métadonnées

## Solution Alternative: Utiliser le Mode Shadow

Au lieu de générer des tâches artificiellement, la meilleure approche est d'utiliser le système normalement :

### Méthode 1: Apprentissage Manuel Rapide

1. **Lancez en mode Shadow**:
```bash
cd geniusia2
./venv/bin/python main.py --mode shadow
```

2. **Effectuez des actions répétitives** (3x chacune):
   - Ouvrir la calculatrice (Super → "calc" → Entrée) × 3
   - Cliquer sur "1" puis "+" puis "1" puis "=" × 3
   - Fermer la fenêtre (Alt+F4) × 3

3. **Les tâches seront automatiquement créées** et sauvegardées

4. **Passez en mode Assist**:
```bash
cd geniusia2
./venv/bin/python main.py --mode assist
```

### Méthode 2: Mode Progressif (Recommandé)

1. **Lancez en mode progressif**:
```bash
cd geniusia2
./run.sh
```

2. **Effectuez des actions répétitives**

3. **Acceptez la proposition** de passer en mode Assist

4. **Les suggestions apparaîtront** automatiquement

## Script de Génération (À Améliorer)

Le script `generer_taches_demo.py` existe mais nécessite des améliorations :

### Problèmes à Résoudre

1. ✅ Création des signatures → Fonctionne
2. ✅ Génération des embeddings → Fonctionne
3. ❌ Sauvegarde des tâches → Ne fonctionne pas correctement
4. ❌ Indexation FAISS → Pas synchronisée

### Améliorations Nécessaires

```python
# Au lieu de:
learning_manager._save_task(task)

# Il faudrait:
# 1. Sauvegarder la tâche avec toutes ses métadonnées
# 2. Indexer chaque signature dans FAISS
# 3. Associer les métadonnées correctement
# 4. Vérifier que tout est persisté
```

## Recommandation

**Pour l'instant, utilisez l'apprentissage manuel** :

1. C'est plus fiable
2. C'est plus rapide (quelques minutes)
3. Ça teste le système réel
4. Ça garantit que tout fonctionne correctement

## Workflow Complet de Test

### Étape 1: Apprentissage (Mode Shadow)

```bash
# Terminal 1: Lancer l'application
cd geniusia2
./venv/bin/python main.py --mode shadow

# Effectuer des actions répétitives
# - Ouvrir calculatrice × 3
# - Faire un calcul × 3
# - Fermer fenêtre × 3
```

### Étape 2: Vérification

```bash
# Terminal 2: Vérifier les tâches créées
ls -lh geniusia2/data/tasks/
# Devrait montrer des fichiers task_*.json

# Vérifier l'index FAISS
ls -lh geniusia2/data/embeddings/
# Devrait montrer faiss_index.bin et metadata.pkl
```

### Étape 3: Test des Suggestions (Mode Assist)

```bash
# Relancer en mode Assist
cd geniusia2
./venv/bin/python main.py --mode assist

# Effectuer une action similaire
# → Une suggestion devrait apparaître !
```

## Prochaines Améliorations du Script

Pour rendre le script `generer_taches_demo.py` fonctionnel :

1. **Étudier la structure exacte** de `TaskProfile`
2. **Comprendre le format** de sauvegarde JSON
3. **Implémenter correctement** l'indexation FAISS
4. **Tester la récupération** des tâches

## Conclusion

Le script de génération automatique est une bonne idée mais nécessite plus de travail.

**Pour l'instant** : Utilisez l'apprentissage manuel, c'est rapide et fiable.

**Pour plus tard** : Améliorez le script pour qu'il fonctionne correctement.

---

**Date**: 2025-11-22  
**Statut**: ⏳ En cours d'amélioration  
**Alternative**: ✅ Apprentissage manuel fonctionnel
I