# 🧪 Comment Tester la Détection de Workflows

## 🎯 Objectif

Tester le système de détection de workflows qui vient d'être implémenté.

## ✅ Prérequis

- ✅ SessionManager créé
- ✅ WorkflowDetector créé
- ✅ EventCapture modifié
- ✅ Tout compile correctement

## 🧪 Test 1 : Script Automatique

### Lancer le Test

```bash
geniusia2/venv/bin/python test_workflow_suggestion.py
```

### Ce que fait le test

1. **Crée 3 sessions similaires** :
   - Session 1 : Clic → Type → Clic
   - Session 2 : Clic → Type → Clic
   - Session 3 : Clic → Type → Clic

2. **Détecte automatiquement le workflow**
   - Analyse les sessions
   - Calcule la similarité
   - Crée le workflow si >= 75%

3. **Suggère le workflow**
   - Commence une 4ème session
   - Fait les 2 premières actions
   - Vérifie si suggestion apparaît

### Résultat Attendu

```
🎉 SUGGESTION CRÉÉE !
   Type: workflow
   Workflow: Click → Type → Click
   Étape: 2/3
   Prochaine action: Clic sur OnlyOffice
   Confiance: 89%
   Répétitions: 3x
```

## 🧪 Test 2 : Test Manuel

### Lancer l'Application

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

### Effectuer un Workflow Répété

**Exemple : Ouvrir OnlyOffice**

1. **Jour 1** (ou Session 1) :
   - Clic sur le lanceur
   - Tape "office"
   - Clic sur OnlyOffice
   - Clic "Nouveau document"

2. **Attendre 5 minutes** (ou forcer la fin de session)

3. **Jour 2** (ou Session 2) :
   - Refaire exactement les mêmes actions

4. **Attendre 5 minutes**

5. **Jour 3** (ou Session 3) :
   - Refaire exactement les mêmes actions

### Vérifier la Détection

Après la 3ème session, le système devrait :
- ✅ Détecter le workflow
- ✅ Logger "workflow_detected"
- ✅ Créer un Workflow avec 4 étapes

### Tester la Suggestion

**Jour 4** (ou Session 4) :
- Commence le workflow (2 premières actions)
- Le système devrait suggérer de continuer

## 📊 Vérifier les Logs

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

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

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

## 🔧 Ajuster les Seuils

Si la détection ne fonctionne pas bien, ajuster dans `config.py` :

```python
"workflow": {
    # Timeout de session (secondes)
    "session_timeout": 300,  # Réduire à 60 pour tests rapides
    
    # Nombre minimum de répétitions
    "min_repetitions": 3,  # Réduire à 2 pour tests
    
    # Seuil de similarité
    "similarity_threshold": 0.75  # Réduire à 0.65 pour plus de détections
}
```

## ⚠️ Problèmes Courants

### Aucun Workflow Détecté

**Causes** :
- Pas assez de répétitions (< 3)
- Actions trop différentes (similarité < 75%)
- Sessions pas finalisées

**Solutions** :
1. Vérifier les logs : `cat geniusia2/data/logs/logs_*.json`
2. Réduire `min_repetitions` à 2
3. Réduire `similarity_threshold` à 0.65
4. Forcer la fin de session : `event_capture.force_finalize_session()`

### Workflow Détecté Mais Pas de Suggestion

**Causes** :
- Début de workflow pas reconnu
- Seuil de confiance trop élevé

**Solutions** :
1. Vérifier que les 2 premières actions sont identiques
2. Réduire `similarity_threshold` dans `assist`
3. Vérifier les logs de suggestion

## ✅ Checklist de Test

- [ ] Test automatique lancé (`test_workflow_suggestion.py`)
- [ ] Workflow détecté dans les logs
- [ ] Suggestion créée
- [ ] Test manuel effectué (3 sessions)
- [ ] Workflow détecté manuellement
- [ ] Suggestion apparaît au début de la 4ème session
- [ ] Logs vérifiés
- [ ] Seuils ajustés si nécessaire

## 🎊 Résultat Attendu

Après les tests, tu devrais avoir :
- ✅ Workflows détectés automatiquement
- ✅ Suggestions de workflows fonctionnelles
- ✅ Logs complets
- ✅ Système validé

**Prêt pour l'intégration dans la GUI ! 🚀**

---

**Créé le 19 Novembre 2025**
