Files
rpa_vision_v3/.kiro/specs/real-screen-capture-system/requirements.md
Dom a7de6a488b 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>
2026-03-31 14:04:41 +02:00

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ème
  • core/detection/real_ui_detector.py : Détection UI sur captures réelles
  • core/execution/real_action_executor.py : Exécution d'actions réelles
  • visual_workflow_builder/backend/api/real_demo.py : API REST

Composants Frontend (React)

  • RealScreenCapture : Composant de capture et prévisualisation
  • ElementDetectionOverlay : Surlignage des éléments détectés
  • InteractionControls : Contrôles d'interaction
  • SafetyPanel : Panneau de sécurité et arrêt d'urgence

Services

  • RealCaptureService : Service de capture temps réel
  • ElementDetectionService : Service de détection UI
  • InteractionService : Service d'interaction système
  • SafetyService : 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 :

  1. Le code est implémenté et testé sur système réel
  2. L'intégration avec RPA Vision V3 fonctionne
  3. L'interface utilisateur est complète et utilisable
  4. Les mesures de sécurité sont en place
  5. La documentation utilisateur est rédigée
  6. 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

  1. Backend : APIs et services de capture/interaction réelle
  2. Frontend : Interface utilisateur complète
  3. Intégration : Connexion avec RPA Vision V3
  4. Sécurité : Système de contrôle et autorisations
  5. Documentation : Guide utilisateur et technique
  6. 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.