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>
240 lines
7.3 KiB
Markdown
240 lines
7.3 KiB
Markdown
# 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. |