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>
275 lines
10 KiB
Markdown
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. |