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,222 @@
# Plan d'Implémentation: Amélioration des Propriétés RPA 100% Visuel
## Vue d'Ensemble
Ce plan transforme le Visual Workflow Builder pour qu'il soit entièrement basé sur la vision, en supprimant tous les sélecteurs CSS/XPath et en améliorant significativement la visualisation des captures d'écran. L'implémentation se fait de manière incrémentale pour maintenir la fonctionnalité existante pendant la transition.
## Tâches
- [x] 1. Créer les nouveaux composants de gestion visuelle
- Implémenter VisualTargetManager pour la gestion centralisée des cibles visuelles
- Créer VisualEmbeddingManager pour les embeddings et la reconnaissance
- Développer ScreenshotValidationManager pour la validation en temps réel
- _Exigences: 1.2, 1.3, 1.5, 6.1_
- [ ] 1.1 Écrire les tests de propriété pour VisualTargetManager
- **Propriété 2: Sélection Visuelle Pure**
- **Valide: Exigences 1.2, 1.3, 1.5**
- [ ] 1.2 Écrire les tests de propriété pour VisualEmbeddingManager
- **Propriété 7: Génération de Signatures Visuelles Uniques**
- **Valide: Exigences 3.3, 3.4**
- [ ] 2. Refactoriser le VisualPropertiesPanel pour éliminer CSS/XPath
- Supprimer tous les champs de sélecteurs CSS et XPath de l'interface
- Remplacer par des composants de sélection visuelle pure
- Implémenter l'affichage des métadonnées en langage naturel
- _Exigences: 1.1, 1.4, 4.1, 4.2, 4.3, 4.4_
- [ ] 2.1 Écrire les tests de propriété pour l'élimination des sélecteurs techniques
- **Propriété 1: Élimination Complète des Sélecteurs Techniques**
- **Valide: Exigences 1.1, 1.4**
- [ ] 2.2 Écrire les tests de propriété pour les métadonnées en langage naturel
- **Propriété 9: Métadonnées en Langage Naturel**
- **Valide: Exigences 4.1, 4.2, 4.3, 4.4**
- [ ] 3. Améliorer le système de capture et d'affichage d'écran
- Implémenter la capture haute qualité avec contours colorés
- Créer le système de différenciation visuelle pour éléments similaires
- Développer la mise à jour automatique des captures
- _Exigences: 2.1, 2.3, 2.4, 2.5_
- [ ] 3.1 Écrire les tests de propriété pour l'affichage des captures
- **Propriété 3: Affichage de Captures Haute Qualité**
- **Valide: Exigences 2.1, 2.3**
- [ ] 3.2 Écrire les tests de propriété pour la différenciation d'éléments
- **Propriété 4: Différenciation Visuelle des Éléments Similaires**
- **Valide: Exigences 2.4**
- [ ] 3.3 Écrire les tests de propriété pour la mise à jour automatique
- **Propriété 5: Mise à Jour Automatique des Captures**
- **Valide: Exigences 2.5**
- [ ] 4. Créer le nouveau VisualScreenSelector
- Développer l'interface de sélection visuelle interactive
- Implémenter la surbrillance en temps réel au survol
- Créer le système d'extraction de caractéristiques visuelles
- _Exigences: 3.1, 3.2, 3.3, 3.4, 3.5_
- [ ] 4.1 Écrire les tests de propriété pour la surbrillance interactive
- **Propriété 6: Surbrillance Interactive en Mode Sélection**
- **Valide: Exigences 3.2**
- [ ] 4.2 Écrire les tests de propriété pour la réactivité d'affichage
- **Propriété 8: Réactivité de l'Affichage des Captures**
- **Valide: Exigences 3.5**
- [ ] 5. Implémenter l'InteractivePreviewArea
- Créer la zone d'aperçu en plein écran avec zoom
- Développer les contrôles de navigation (zoom, pan)
- Implémenter les contours animés pour éléments cibles
- _Exigences: 2.2, 5.1, 5.2, 5.4, 5.5_
- [ ] 5.1 Écrire les tests de propriété pour le zoom interactif
- **Propriété 11: Fonctionnalité de Zoom Interactif**
- **Valide: Exigences 5.2**
- [ ] 5.2 Écrire les tests de propriété pour les contours animés
- **Propriété 12: Contour Animé pour Éléments Cibles**
- **Valide: Exigences 5.4**
- [ ] 5.3 Écrire les tests de propriété pour la persistance de configuration
- **Propriété 13: Persistance de Configuration lors de la Fermeture d'Aperçu**
- **Valide: Exigences 5.5**
- [ ] 6. Développer le système de validation en temps réel
- Implémenter la validation périodique automatique des éléments
- Créer les indicateurs de statut visuels (vert/orange/rouge)
- Développer le système de récupération intelligente d'éléments
- _Exigences: 6.1, 6.2, 6.3, 6.4, 6.5, 4.5_
- [ ] 6.1 Écrire les tests de propriété pour la validation périodique
- **Propriété 14: Validation Périodique Automatique**
- **Valide: Exigences 6.1, 6.2, 6.3**
- [ ] 6.2 Écrire les tests de propriété pour la récupération d'éléments
- **Propriété 15: Récupération Intelligente d'Éléments**
- **Valide: Exigences 6.4, 6.5**
- [ ] 6.3 Écrire les tests de propriété pour les avertissements de confiance
- **Propriété 10: Avertissements de Confiance Faible**
- **Valide: Exigences 4.5**
- [ ] 7. Checkpoint - Vérifier les fonctionnalités de base
- S'assurer que tous les tests passent, demander à l'utilisateur si des questions se posent.
- [ ] 8. Implémenter la capture du contexte environnant
- Développer ContextualCaptureService pour capturer l'environnement
- Créer l'affichage des métadonnées contextuelles enrichies
- Implémenter la détection d'états visuels (hover, focus)
- _Exigences: 7.1, 7.2, 7.3, 7.4, 7.5_
- [ ] 8.1 Écrire les tests de propriété pour la capture de contexte
- **Propriété 16: Capture du Contexte Environnant**
- **Valide: Exigences 7.1, 7.2, 7.3**
- [ ] 8.2 Écrire les tests de propriété pour la détection d'états visuels
- **Propriété 17: Détection d'États Visuels**
- **Valide: Exigences 7.4**
- [ ] 8.3 Écrire les tests de propriété pour la mise à jour des métadonnées
- **Propriété 18: Mise à Jour Automatique des Métadonnées**
- **Valide: Exigences 7.5**
- [ ] 9. Améliorer l'interface utilisateur pour être entièrement visuelle
- Remplacer tous les contrôles techniques par des interfaces intuitives
- Implémenter les curseurs et unités familières pour les délais
- Créer les messages d'erreur visuels avec suggestions
- Développer l'aide contextuelle avec exemples visuels
- _Exigences: 8.1, 8.2, 8.3, 8.4, 8.5_
- [ ] 9.1 Écrire les tests de propriété pour l'interface entièrement visuelle
- **Propriété 19: Interface Entièrement Visuelle**
- **Valide: Exigences 8.1, 8.2, 8.3**
- [ ] 9.2 Écrire les tests de propriété pour les messages d'erreur visuels
- **Propriété 20: Messages d'Erreur Visuels**
- **Valide: Exigences 8.4**
- [ ] 9.3 Écrire les tests de propriété pour l'aide visuelle
- **Propriété 21: Aide Visuelle Contextuelle**
- **Valide: Exigences 8.5**
- [ ] 10. Implémenter la persistance et récupération visuelles
- Développer la sauvegarde complète des données visuelles
- Créer le système de chargement avec validation post-chargement
- Implémenter l'export/import avec données visuelles
- _Exigences: 9.1, 9.2, 9.3, 9.4, 9.5_
- [ ] 10.1 Écrire les tests de propriété pour la persistance des données visuelles
- **Propriété 22: Persistance Complète des Données Visuelles**
- **Valide: Exigences 9.1, 9.2, 9.5**
- [ ] 10.2 Écrire les tests de propriété pour la validation post-chargement
- **Propriété 23: Validation Post-Chargement**
- **Valide: Exigences 9.3, 9.4**
- [ ] 11. Optimiser les performances du système visuel
- Implémenter le traitement rapide des captures (< 2s)
- Optimiser la réactivité du mode sélection (< 100ms)
- Créer le système de cache pour les captures multiples
- Développer le traitement non-bloquant des embeddings
- _Exigences: 10.1, 10.2, 10.4, 10.5_
- [ ] 11.1 Écrire les tests de propriété pour la performance des captures
- **Propriété 24: Performance de Traitement des Captures**
- **Valide: Exigences 10.1**
- [ ] 11.2 Écrire les tests de propriété pour la réactivité du mode sélection
- **Propriété 25: Réactivité du Mode Sélection**
- **Valide: Exigences 10.2**
- [ ] 11.3 Écrire les tests de propriété pour l'optimisation par cache
- **Propriété 26: Optimisation par Cache des Captures**
- **Valide: Exigences 10.4**
- [ ] 11.4 Écrire les tests de propriété pour le traitement non-bloquant
- **Propriété 27: Traitement Non-Bloquant des Embeddings**
- **Valide: Exigences 10.5**
- [ ] 12. Intégrer avec le système RPA Vision V3 existant
- Connecter VisualTargetManager avec FusionEngine et UIDetector
- Adapter TargetResolver pour utiliser les signatures visuelles
- Mettre à jour ExecutionLoop pour la résolution visuelle pure
- _Exigences: 1.5, 3.3, 6.1_
- [ ] 12.1 Écrire les tests d'intégration pour la résolution visuelle
- Tester l'intégration complète du flux de sélection à l'exécution
- Vérifier la compatibilité avec les workflows existants
- [ ] 13. Migrer les workflows existants
- Créer l'outil de migration des sélecteurs CSS/XPath vers signatures visuelles
- Implémenter la conversion automatique avec validation
- Développer l'interface de migration guidée pour l'utilisateur
- _Exigences: 9.3, 9.4_
- [ ] 13.1 Écrire les tests de propriété pour la migration
- Tester que la migration préserve la fonctionnalité des workflows
- Vérifier la conversion correcte des sélecteurs techniques
- [ ] 14. Tests d'intégration et validation finale
- Exécuter tous les tests de propriétés
- Valider l'interface utilisateur complètement visuelle
- Tester les performances sur des workflows complexes
- Vérifier la compatibilité avec tous les types de nodes
- [ ] 14.1 Écrire les tests end-to-end pour les scénarios utilisateur complets
- Tester le flux complet de création de workflow visuel
- Valider l'expérience utilisateur sans éléments techniques
- [ ] 15. Checkpoint final - S'assurer que tous les tests passent
- S'assurer que tous les tests passent, demander à l'utilisateur si des questions se posent.
## Notes
- Toutes les tâches sont maintenant obligatoires pour une implémentation complète
- Chaque tâche référence des exigences spécifiques pour la traçabilité
- Les checkpoints assurent une validation incrémentale
- Les tests de propriétés valident les propriétés de correction universelles
- Les tests unitaires valident des exemples spécifiques et des cas limites
- L'implémentation maintient la compatibilité avec le système RPA Vision V3 existant