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

275 lines
10 KiB
Markdown

# 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.