feat: replay E2E fonctionnel — 25/25 actions, 0 retries, SomEngine via serveur

Validé sur PC Windows (DESKTOP-58D5CAC, 2560x1600) :
- 8 clics résolus visuellement (1 anchor_template, 1 som_text_match, 6 som_vlm)
- Score moyen 0.75, temps moyen 1.6s
- Texte tapé correctement (bonjour, test word, date, email)
- 0 retries, 2 actions non vérifiées (OK)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dom
2026-03-31 14:04:41 +02:00
parent 5e0b53cfd1
commit a7de6a488b
79542 changed files with 6091757 additions and 1 deletions

View File

@@ -0,0 +1,177 @@
# Système d'Exécution VWB - Spécifications
**Auteur :** Dom, Alice, Kiro - 10 janvier 2026
**Phase :** 3.1 - Intégration et Exécution VWB
**Priorité :** Critique
**Dépendances :** Phase 2 complète (Propriétés d'étapes VWB ✅)
## Vue d'Ensemble
Implémenter le système d'exécution des actions VisionOnly dans le Visual Workflow Builder, permettant l'exécution fluide des workflows avec feedback visuel en temps réel et gestion des états d'exécution.
## User Stories
### US-3.1.1 : Exécution d'Actions VWB
**En tant qu'** utilisateur du VWB
**Je veux** pouvoir exécuter des workflows contenant des actions VisionOnly
**Afin de** automatiser des tâches avec reconnaissance visuelle
**Critères d'acceptation :**
- [ ] Les actions VWB s'exécutent depuis l'interface VWB
- [ ] Les paramètres configurés sont transmis correctement
- [ ] Les Evidence sont générées et affichées
- [ ] Les erreurs sont gérées avec messages clairs
### US-3.1.2 : États Visuels d'Exécution
**En tant qu'** utilisateur du VWB
**Je veux** voir l'état d'exécution de chaque étape en temps réel
**Afin de** suivre le progrès et identifier les problèmes
**Critères d'acceptation :**
- [ ] États visuels clairs sur le canvas (en cours, succès, erreur)
- [ ] Indicateurs de progression pour les étapes longues
- [ ] Mise en évidence de l'étape en cours d'exécution
- [ ] Historique des exécutions accessible
### US-3.1.3 : Feedback Visuel en Temps Réel
**En tant qu'** utilisateur du VWB
**Je veux** voir les Evidence générées pendant l'exécution
**Afin de** comprendre ce que fait l'automatisation
**Critères d'acceptation :**
- [ ] Affichage automatique des Evidence après chaque action
- [ ] Screenshots avec annotations des zones cliquées
- [ ] Logs d'exécution détaillés
- [ ] Possibilité de pause/reprise de l'exécution
### US-3.1.4 : Gestion des Erreurs d'Exécution
**En tant qu'** utilisateur du VWB
**Je veux** être informé clairement des erreurs d'exécution
**Afin de** pouvoir corriger les problèmes rapidement
**Critères d'acceptation :**
- [ ] Messages d'erreur clairs en français
- [ ] Possibilité de retry automatique ou manuel
- [ ] Sauvegarde de l'état avant erreur
- [ ] Suggestions de correction
## Exigences Fonctionnelles
### EF-3.1.1 : Intégration avec l'Executor Existant
- Étendre le composant `Executor/index.tsx` pour supporter les actions VWB
- Maintenir la compatibilité avec les actions existantes
- Utiliser l'API catalogue pour l'exécution des actions VisionOnly
### EF-3.1.2 : États d'Exécution sur le Canvas
- Implémenter les états visuels sur les nœuds du canvas
- États : IDLE, RUNNING, SUCCESS, ERROR, PAUSED
- Animations fluides pour les transitions d'état
- Indicateurs de progression pour les actions longues
### EF-3.1.3 : Affichage des Evidence
- Intégration avec le composant EvidenceViewer existant
- Affichage automatique des Evidence après chaque action
- Panneau dédié pour l'historique des exécutions
- Zoom et navigation dans les screenshots
### EF-3.1.4 : Contrôles d'Exécution
- Boutons Play/Pause/Stop pour contrôler l'exécution
- Exécution pas-à-pas pour le débogage
- Possibilité de reprendre depuis une étape spécifique
- Sauvegarde automatique de l'état d'exécution
## Exigences Non-Fonctionnelles
### ENF-3.1.1 : Performance
- Temps de réponse < 2s pour le démarrage d'exécution
- Interface fluide même pendant l'exécution
- Gestion mémoire optimisée pour les Evidence
- Pas de blocage de l'interface utilisateur
### ENF-3.1.2 : Robustesse
- Gestion des timeouts et erreurs réseau
- Récupération automatique après erreurs temporaires
- Validation des paramètres avant exécution
- Logs détaillés pour le débogage
### ENF-3.1.3 : Utilisabilité
- Interface intuitive avec contrôles clairs
- Messages d'état compréhensibles
- Raccourcis clavier pour les actions courantes
- Aide contextuelle intégrée
### ENF-3.1.4 : Compatibilité
- Fonctionne avec tous les navigateurs modernes
- Compatible avec les workflows existants
- Intégration transparente avec l'interface VWB
- Support des environnements Citrix/VDI
## Contraintes Techniques
### CT-3.1.1 : Architecture
- Utiliser React + TypeScript + Material-UI
- Respecter les patterns de hooks existants
- Intégration avec Redux pour la gestion d'état
- Communication via l'API REST du backend
### CT-3.1.2 : Sécurité
- Validation des paramètres côté client et serveur
- Gestion sécurisée des secrets et mots de passe
- Logs sans informations sensibles
- Authentification pour les actions critiques
### CT-3.1.3 : Monitoring
- Métriques de performance d'exécution
- Logs structurés pour l'analyse
- Alertes en cas d'erreurs critiques
- Tableau de bord de monitoring intégré
## Critères d'Acceptation Globaux
### Critères Fonctionnels
- [ ] Toutes les actions VWB s'exécutent correctement
- [ ] États visuels clairs et informatifs sur le canvas
- [ ] Evidence affichées automatiquement après exécution
- [ ] Contrôles d'exécution fonctionnels (play/pause/stop)
- [ ] Gestion d'erreurs avec messages clairs
- [ ] Tests end-to-end réussis
### Critères de Performance
- [ ] Démarrage d'exécution < 2s
- [ ] Interface fluide pendant l'exécution
- [ ] Gestion mémoire optimisée
- [ ] Pas de fuite mémoire lors d'exécutions longues
### Critères de Qualité
- [ ] Code commenté en français
- [ ] Tests unitaires et d'intégration
- [ ] Documentation utilisateur
- [ ] Respect des conventions du projet
## Risques et Mitigation
### Risque 1 : Performance dégradée
**Impact :** Moyen
**Probabilité :** Faible
**Mitigation :** Tests de performance réguliers, optimisation des rendus
### Risque 2 : Complexité d'intégration
**Impact :** Élevé
**Probabilité :** Moyen
**Mitigation :** Développement incrémental, tests d'intégration continus
### Risque 3 : Gestion des erreurs complexe
**Impact :** Moyen
**Probabilité :** Moyen
**Mitigation :** Framework d'erreurs standardisé, tests d'erreurs exhaustifs
## Définition de "Terminé"
Une tâche est considérée comme terminée quand :
- [ ] Tous les critères d'acceptation sont validés
- [ ] Tests automatisés passent (couverture > 80%)
- [ ] Code reviewé et approuvé
- [ ] Documentation mise à jour
- [ ] Démo fonctionnelle réalisée
- [ ] Performance validée
- [ ] Intégration avec l'existant confirmée

View File

@@ -0,0 +1,240 @@
# Système d'Exécution VWB - Plan de Tâches
**Auteur :** Dom, Alice, Kiro - 10 janvier 2026
**Phase :** 3.1 - Intégration et Exécution VWB
**Durée Estimée :** 4 jours
**Priorité :** Critique
## Vue d'Ensemble
Implémentation du système d'exécution des actions VisionOnly dans le Visual Workflow Builder avec feedback visuel en temps réel et gestion complète des états d'exécution.
## Tâches Détaillées
### Tâche 3.1.1 : Extension du Composant Executor
**Durée :** 1 jour
**Priorité :** Critique
**Dépendances :** Aucune
**Objectifs :**
- Étendre le composant `Executor/index.tsx` pour supporter les actions VWB
- Intégrer avec l'API catalogue pour l'exécution
- Maintenir la compatibilité avec les actions existantes
**Livrables :**
- [ ] Extension du composant `visual_workflow_builder/frontend/src/components/Executor/index.tsx`
- [ ] Service `executionService.ts` pour la gestion des exécutions VWB
- [ ] Hook `useVWBExecution.ts` pour la logique d'exécution
- [ ] Types TypeScript pour les états d'exécution VWB
**Critères d'Acceptation :**
- [ ] Actions VWB exécutables depuis l'interface
- [ ] Paramètres transmis correctement à l'API
- [ ] Gestion des réponses et erreurs de l'API
- [ ] Compatibilité maintenue avec actions existantes
### Tâche 3.1.2 : États Visuels sur le Canvas
**Durée :** 1 jour
**Priorité :** Critique
**Dépendances :** Tâche 3.1.1
**Objectifs :**
- Implémenter les états visuels sur les nœuds du canvas
- Créer des animations fluides pour les transitions
- Ajouter des indicateurs de progression
**Livrables :**
- [ ] Extension du composant `Canvas/StepNode.tsx` avec états d'exécution
- [ ] Styles CSS pour les différents états (idle, running, success, error)
- [ ] Animations de transition entre états
- [ ] Indicateurs de progression pour actions longues
**Critères d'Acceptation :**
- [ ] États visuels clairs et distincts
- [ ] Animations fluides sans impact performance
- [ ] Mise en évidence de l'étape en cours
- [ ] Indicateurs de progression fonctionnels
### Tâche 3.1.3 : Intégration Evidence Viewer
**Durée :** 1 jour
**Priorité :** Haute
**Dépendances :** Tâche 3.1.2
**Objectifs :**
- Intégrer l'affichage des Evidence pendant l'exécution
- Créer un panneau dédié pour l'historique
- Implémenter la navigation dans les Evidence
**Livrables :**
- [ ] Extension du composant `EvidenceViewer/index.tsx` pour l'exécution
- [ ] Panneau `ExecutionEvidencePanel.tsx` pour l'historique
- [ ] Service `evidenceExecutionService.ts` pour la gestion
- [ ] Interface de navigation dans les Evidence
**Critères d'Acceptation :**
- [ ] Evidence affichées automatiquement après chaque action
- [ ] Navigation fluide dans l'historique
- [ ] Screenshots avec annotations visibles
- [ ] Performance optimisée pour images multiples
### Tâche 3.1.4 : Contrôles d'Exécution
**Durée :** 1 jour
**Priorité :** Haute
**Dépendances :** Tâche 3.1.3
**Objectifs :**
- Implémenter les contrôles play/pause/stop
- Ajouter l'exécution pas-à-pas
- Créer la gestion des reprises d'exécution
**Livrables :**
- [ ] Composant `ExecutionControls.tsx` avec boutons de contrôle
- [ ] Logique de pause/reprise d'exécution
- [ ] Mode pas-à-pas pour le débogage
- [ ] Sauvegarde/restauration d'état d'exécution
**Critères d'Acceptation :**
- [ ] Contrôles réactifs et intuitifs
- [ ] Pause/reprise fonctionnelle
- [ ] Exécution pas-à-pas opérationnelle
- [ ] Reprise depuis étape spécifique possible
## Jalons et Livrables
### Jalon 3.1.A (Fin Jour 1) : Executor Étendu
- [ ] Composant Executor supportant les actions VWB
- [ ] Service d'exécution fonctionnel
- [ ] Tests unitaires de base
### Jalon 3.1.B (Fin Jour 2) : États Visuels
- [ ] Canvas avec états d'exécution visuels
- [ ] Animations et transitions fluides
- [ ] Tests d'intégration canvas-executor
### Jalon 3.1.C (Fin Jour 3) : Evidence Intégrées
- [ ] Affichage automatique des Evidence
- [ ] Panneau d'historique fonctionnel
- [ ] Navigation dans les Evidence
### Jalon 3.1.D (Fin Jour 4) : Système Complet
- [ ] Contrôles d'exécution complets
- [ ] Tests end-to-end réussis
- [ ] Documentation utilisateur
- [ ] Démo fonctionnelle
## Architecture Technique
### Composants Principaux
```typescript
// Extension du composant Executor
interface VWBExecutorProps {
workflow: Workflow;
onStepStateChange: (stepId: string, state: StepExecutionState) => void;
onEvidenceGenerated: (stepId: string, evidence: Evidence) => void;
onExecutionComplete: (success: boolean, summary: ExecutionSummary) => void;
}
// Service d'exécution VWB
class VWBExecutionService {
async executeStep(step: Step): Promise<ExecutionResult>;
async pauseExecution(): Promise<void>;
async resumeExecution(): Promise<void>;
async stopExecution(): Promise<void>;
}
// États d'exécution
enum StepExecutionState {
IDLE = 'idle',
RUNNING = 'running',
SUCCESS = 'success',
ERROR = 'error',
PAUSED = 'paused',
SKIPPED = 'skipped'
}
```
### Flux d'Exécution
```
1. Utilisateur clique "Exécuter"
2. Executor valide le workflow
3. Pour chaque étape VWB :
a. Mise à jour état visuel → RUNNING
b. Appel API catalogue avec paramètres
c. Réception Evidence
d. Affichage Evidence dans viewer
e. Mise à jour état → SUCCESS/ERROR
4. Affichage résumé final
```
### Intégration avec l'Existant
- **Canvas** : Extension des nœuds avec états visuels
- **PropertiesPanel** : Affichage des paramètres d'exécution
- **EvidenceViewer** : Intégration pour l'historique
- **Redux Store** : Gestion d'état centralisée
## Tests et Validation
### Tests Unitaires
- [ ] Service d'exécution VWB
- [ ] Hook useVWBExecution
- [ ] Composants de contrôle
- [ ] États visuels du canvas
### Tests d'Intégration
- [ ] Executor ↔ API Catalogue
- [ ] Canvas ↔ États d'exécution
- [ ] EvidenceViewer ↔ Exécution
- [ ] Contrôles ↔ Service d'exécution
### Tests End-to-End
- [ ] Exécution complète d'un workflow VWB
- [ ] Gestion d'erreurs et récupération
- [ ] Performance avec workflows complexes
- [ ] Compatibilité navigateurs
## Critères de Succès
### Fonctionnels
- [ ] Toutes les actions VWB s'exécutent correctement
- [ ] États visuels informatifs et clairs
- [ ] Evidence affichées en temps réel
- [ ] Contrôles d'exécution fonctionnels
- [ ] Gestion d'erreurs robuste
### Non-Fonctionnels
- [ ] Performance : démarrage < 2s
- [ ] Interface fluide pendant l'exécution
- [ ] Gestion mémoire optimisée
- [ ] Compatibilité navigateurs maintenue
### Qualité
- [ ] Code commenté en français
- [ ] Tests avec couverture > 80%
- [ ] Documentation utilisateur complète
- [ ] Respect des conventions du projet
## Risques et Mitigation
### Risque 1 : Complexité d'intégration
**Mitigation :** Développement incrémental avec tests continus
### Risque 2 : Performance dégradée
**Mitigation :** Profiling régulier et optimisations ciblées
### Risque 3 : Gestion d'état complexe
**Mitigation :** Utilisation de Redux et patterns éprouvés
## Prochaines Étapes
Après completion de cette tâche :
1. **Tâche 3.2** : Persistance Workflows VWB Étendus
2. **Tâche 3.3** : Tests d'Intégration VWB Complets
3. **Phase 4** : Robustesse et Finalisation VWB
Cette implémentation permettra aux utilisateurs d'exécuter des workflows VWB complets avec un feedback visuel riche et une expérience utilisateur optimale.