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

4.0 KiB

🧪 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

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

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

# 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 :

"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