Files
Geniusia_v2/docs/guides/COMMENT_TESTER_WORKFLOWS.md
2026-03-05 00:20:25 +01:00

173 lines
4.0 KiB
Markdown

# 🧪 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**