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>
10 KiB
Spécification : Système de Capture d'Écran Réelle
Vue d'ensemble
Cette spécification définit l'implémentation d'un système de capture d'écran réelle pour le Visual Workflow Builder, permettant de capturer, analyser et interagir avec le vrai bureau de l'utilisateur.
Contexte
L'utilisateur souhaite un système de démonstration réelle qui :
- Capture l'écran réel de son PC (pas de simulation)
- Détecte les vrais éléments UI sur ses applications
- Effectue de vraies interactions sur son système
- Teste avec de vraies applications et sessions utilisateur
Objectifs
Objectif Principal
Créer un système complet de capture d'écran réelle intégré au Visual Workflow Builder pour permettre des tests et démonstrations avec de vraies applications.
Objectifs Secondaires
- Intégrer les capacités de capture existantes du système RPA Vision V3
- Fournir une interface utilisateur intuitive pour la capture réelle
- Assurer la sécurité et le contrôle utilisateur
- Documenter le système pour faciliter l'utilisation
User Stories
US1 : Capture d'Écran Réelle
En tant qu' utilisateur
Je veux capturer mon écran réel en temps réel
Afin de voir exactement ce qui se passe sur mon bureau
Critères d'acceptation :
- Le système capture l'écran réel de l'utilisateur
- La capture se fait en temps réel (rafraîchissement régulier)
- L'utilisateur peut choisir quel écran capturer (multi-écrans)
- La qualité de capture est suffisante pour la détection UI
- L'utilisateur peut démarrer/arrêter la capture à volonté
US2 : Détection d'Éléments UI Réels
En tant qu' utilisateur
Je veux que le système détecte les vrais éléments UI sur mes applications
Afin de pouvoir interagir avec eux automatiquement
Critères d'acceptation :
- Le système détecte les boutons, champs, liens sur les vraies applications
- La détection fonctionne sur différents types d'applications (web, desktop)
- Les éléments détectés sont surlignés visuellement
- L'utilisateur peut voir les informations des éléments détectés
- La détection est suffisamment précise pour l'interaction
US3 : Interactions Réelles
En tant qu' utilisateur
Je veux que le système effectue de vraies interactions sur mon écran
Afin de tester l'automatisation avec de vraies applications
Critères d'acceptation :
- Le système peut cliquer sur de vrais éléments UI
- Le système peut saisir du texte dans de vrais champs
- Le système peut faire défiler, glisser-déposer
- L'utilisateur garde le contrôle et peut arrêter à tout moment
- Les interactions sont précises et fiables
US4 : Interface de Contrôle
En tant qu' utilisateur
Je veux une interface pour contrôler la capture et les interactions
Afin de utiliser le système en toute sécurité
Critères d'acceptation :
- Interface claire pour démarrer/arrêter la capture
- Boutons d'urgence pour arrêter toute interaction
- Prévisualisation de l'écran capturé
- Liste des éléments détectés avec leurs propriétés
- Historique des actions effectuées
US5 : Sécurité et Contrôle
En tant qu' utilisateur
Je veux garder le contrôle total sur ce qui se passe sur mon système
Afin de utiliser le système en toute sécurité
Critères d'acceptation :
- L'utilisateur doit explicitement autoriser chaque type d'interaction
- Possibilité d'arrêter immédiatement toute opération
- Mode "lecture seule" pour observer sans interagir
- Avertissements clairs sur les risques
- Sauvegarde automatique avant les interactions
Exigences Fonctionnelles
RF1 : Capture d'Écran Temps Réel
- Utiliser les APIs système pour capturer l'écran réel
- Support multi-écrans avec sélection
- Fréquence de capture configurable (1-10 FPS)
- Format d'image optimisé pour la détection
RF2 : Détection d'Éléments UI
- Intégration avec le système de détection RPA Vision V3 existant
- Support des applications web (navigateurs)
- Support des applications desktop natives
- Détection de boutons, champs, liens, menus
RF3 : Système d'Interaction
- API pour cliquer à des coordonnées précises
- API pour saisir du texte avec simulation clavier
- API pour les actions de souris (scroll, drag & drop)
- Gestion des délais et temporisations
RF4 : Interface Utilisateur
- Composant React intégré au Visual Workflow Builder
- Prévisualisation en temps réel de la capture
- Panneau de contrôle avec boutons d'action
- Affichage des éléments détectés
- Logs des actions effectuées
RF5 : Intégration RPA Vision V3
- Utilisation des modules de capture existants (
core/capture/) - Utilisation des modules de détection existants (
core/detection/) - Intégration avec le système d'exécution (
core/execution/) - Compatibilité avec les workflows existants
Exigences Non-Fonctionnelles
RNF1 : Performance
- Capture d'écran fluide sans impact sur les performances système
- Détection UI en temps réel (< 500ms par frame)
- Interface utilisateur réactive
- Gestion efficace de la mémoire
RNF2 : Sécurité
- Demande d'autorisation explicite pour chaque type d'interaction
- Mode sandbox pour limiter les actions possibles
- Logs détaillés de toutes les actions
- Possibilité de rollback/annulation
RNF3 : Compatibilité
- Support Windows, macOS, Linux
- Compatibilité avec les navigateurs principaux
- Support des applications desktop courantes
- Gestion des différentes résolutions d'écran
RNF4 : Utilisabilité
- Interface intuitive et claire
- Feedback visuel immédiat
- Messages d'erreur explicites
- Documentation utilisateur complète
Contraintes Techniques
CT1 : Architecture Existante
- Utilisation maximale des composants RPA Vision V3 existants
- Intégration dans le Visual Workflow Builder
- Respect des patterns de code établis
- Compatibilité avec le système de localisation
CT2 : Sécurité Système
- Respect des permissions système
- Gestion des UAC/sudo selon l'OS
- Isolation des processus dangereux
- Validation de toutes les entrées utilisateur
CT3 : Dépendances
- Utilisation des bibliothèques de capture d'écran existantes
- Intégration avec les APIs système natives
- Minimisation des dépendances externes
- Compatibilité avec l'environnement Python/React existant
Architecture Technique
Composants Backend (Python)
core/capture/real_screen_capturer.py: Capture d'écran systèmecore/detection/real_ui_detector.py: Détection UI sur captures réellescore/execution/real_action_executor.py: Exécution d'actions réellesvisual_workflow_builder/backend/api/real_demo.py: API REST
Composants Frontend (React)
RealScreenCapture: Composant de capture et prévisualisationElementDetectionOverlay: Surlignage des éléments détectésInteractionControls: Contrôles d'interactionSafetyPanel: Panneau de sécurité et arrêt d'urgence
Services
RealCaptureService: Service de capture temps réelElementDetectionService: Service de détection UIInteractionService: Service d'interaction systèmeSafetyService: Service de sécurité et contrôle
Flux de Données
1. Utilisateur démarre capture → RealScreenCapture
2. Capture écran système → real_screen_capturer.py
3. Analyse image → real_ui_detector.py
4. Affichage éléments → ElementDetectionOverlay
5. Utilisateur sélectionne action → InteractionControls
6. Exécution action → real_action_executor.py
7. Feedback utilisateur → Interface
Critères d'Acceptation Globaux
Technique
- Capture d'écran réelle fonctionnelle
- Détection d'éléments UI précise (>80% de réussite)
- Interactions système fiables
- Interface utilisateur intuitive
- Intégration complète avec RPA Vision V3
Fonctionnel
- L'utilisateur peut capturer son écran réel
- Le système détecte les vrais éléments UI
- Les interactions fonctionnent sur de vraies applications
- L'utilisateur garde le contrôle total
- Le système est sécurisé et stable
Sécurité
- Autorisations explicites requises
- Arrêt d'urgence fonctionnel
- Logs complets des actions
- Mode lecture seule disponible
- Validation de toutes les entrées
Risques et Mitigation
Risque 1 : Sécurité Système
Impact : Élevé
Probabilité : Moyen
Mitigation : Système d'autorisations strict, mode sandbox, arrêt d'urgence
Risque 2 : Performance
Impact : Moyen
Probabilité : Moyen
Mitigation : Optimisation de la capture, fréquence configurable, gestion mémoire
Risque 3 : Compatibilité
Impact : Moyen
Probabilité : Élevé
Mitigation : Tests sur différents OS, gestion des cas d'erreur, fallbacks
Définition de "Terminé"
Une tâche est considérée comme terminée quand :
- Le code est implémenté et testé sur système réel
- L'intégration avec RPA Vision V3 fonctionne
- L'interface utilisateur est complète et utilisable
- Les mesures de sécurité sont en place
- La documentation utilisateur est rédigée
- Les tests de validation sont passés
Métriques de Succès
- Précision de détection : >80% sur applications courantes
- Temps de réponse : <500ms pour la détection
- Fiabilité d'interaction : >95% de réussite
- Sécurité : 0 incident de sécurité
- Utilisabilité : Interface claire et intuitive
Dépendances
- Système RPA Vision V3 existant
- Modules de capture (
core/capture/) - Modules de détection (
core/detection/) - Visual Workflow Builder
- APIs système pour capture d'écran
- Bibliothèques d'interaction système
Livrables
- Backend : APIs et services de capture/interaction réelle
- Frontend : Interface utilisateur complète
- Intégration : Connexion avec RPA Vision V3
- Sécurité : Système de contrôle et autorisations
- Documentation : Guide utilisateur et technique
- Tests : Suite de tests sur systèmes réels
Cette spécification assure la création d'un système de démonstration réelle sécurisé et fonctionnel, permettant à l'utilisateur de tester RPA Vision V3 avec de vraies applications sur son système.