Files
rpa_vision_v3/.kiro/specs/resolution-palette-vide-cross-machine/tasks.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

11 KiB

Tâches : Résolution du Problème de Palette Vide Cross-Machine

Vue d'Ensemble

Ce document détaille les tâches spécifiques pour résoudre le problème de palette vide dans le Visual Workflow Builder lorsqu'utilisé sur une machine distante.

Auteur : Dom, Alice, Kiro - 10 janvier 2026

Phase 1 : Service Catalogue Configurable

Tâche 1.1 : Modification du Service Catalogue

Priorité : Critique
Estimation : 4 heures
Assigné : Équipe Frontend

Description

Modifier catalogService.ts pour supporter la détection automatique d'URL et les fallbacks multiples.

Sous-tâches

  • Ajouter interface CatalogServiceConfig avec URLs multiples
  • Implémenter méthode detectBackendUrl() avec tentatives multiples
  • Ajouter gestion de cache localStorage pour URL fonctionnelle
  • Implémenter timeouts et retry logic
  • Ajouter logging détaillé pour diagnostic

Critères d'Acceptation

  • Service teste automatiquement : origine courante, localhost:5004, IP locale:5004
  • URL fonctionnelle mise en cache pour 24h
  • Timeouts de 2s par tentative maximum
  • Logs détaillés des tentatives de connexion

Fichiers Modifiés

  • visual_workflow_builder/frontend/src/services/catalogService.ts

Tâche 1.2 : Configuration Environnement

Priorité : Haute
Estimation : 2 heures
Assigné : Équipe Frontend

Description

Ajouter support pour configuration via variables d'environnement et paramètres URL.

Sous-tâches

  • Ajouter variables d'environnement REACT_APP_CATALOG_URL
  • Support paramètre URL ?catalogUrl=...
  • Interface de configuration dans les paramètres utilisateur
  • Validation des URLs de configuration

Critères d'Acceptation

  • Variables d'environnement prises en compte au build
  • Paramètres URL overrident la détection automatique
  • URLs invalides rejetées avec message d'erreur

Fichiers Modifiés

  • visual_workflow_builder/frontend/src/services/catalogService.ts
  • visual_workflow_builder/frontend/.env.example

Phase 2 : Catalogue Statique de Secours

Tâche 2.1 : Création du Catalogue Statique

Priorité : Critique
Estimation : 6 heures
Assigné : Équipe Frontend

Description

Créer un catalogue statique avec les actions Vision UI de base pour mode hors ligne.

Sous-tâches

  • Créer fichier staticCatalog.ts avec actions de base
  • Définir actions : ClickAnchor, TypeText, WaitForAnchor, ExtractText, HotKey
  • Ajouter métadonnées complètes (icônes, descriptions, exemples)
  • Respecter interface VWBCatalogAction existante
  • Ajouter catégories statiques avec compteurs

Critères d'Acceptation

  • Au moins 5 actions Vision UI de base définies
  • Chaque action a nom, description, icône, paramètres, exemples
  • Compatible avec interface existante du catalogue
  • Organisé en catégories cohérentes

Fichiers Créés

  • visual_workflow_builder/frontend/src/data/staticCatalog.ts

Tâche 2.2 : Intégration du Fallback

Priorité : Critique
Estimation : 4 heures
Assigné : Équipe Frontend

Description

Intégrer le catalogue statique dans le hook useCatalogActions comme fallback automatique.

Sous-tâches

  • Modifier useCatalogActions pour détecter échec du service
  • Basculer automatiquement vers catalogue statique
  • Maintenir interface identique pour composants consommateurs
  • Ajouter indicateur de mode (dynamique/statique)
  • Permettre retry vers mode dynamique

Critères d'Acceptation

  • Bascule transparente vers catalogue statique en cas d'échec
  • Interface hook inchangée pour composants existants
  • Indicateur visuel du mode actuel
  • Possibilité de forcer retry vers mode dynamique

Fichiers Modifiés

  • visual_workflow_builder/frontend/src/hooks/useCatalogActions.ts

Phase 3 : Interface Utilisateur Améliorée

Tâche 3.1 : Indicateurs de Statut Améliorés

Priorité : Moyenne
Estimation : 3 heures
Assigné : Équipe Frontend

Description

Améliorer les indicateurs de statut dans la palette pour informer l'utilisateur de l'état du catalogue.

Sous-tâches

  • Ajouter icônes distinctes pour : en ligne, hors ligne, mode statique, erreur
  • Tooltips explicatifs en français pour chaque état
  • Badge avec nombre d'actions disponibles
  • Indicateur de dernière mise à jour
  • Animation de chargement pendant détection

Critères d'Acceptation

  • Statut clairement visible en haut de la palette
  • Messages en français explicatifs
  • Différenciation visuelle entre modes dynamique/statique
  • Information sur nombre d'actions disponibles

Fichiers Modifiés

  • visual_workflow_builder/frontend/src/components/Palette/index.tsx

Tâche 3.2 : Messages d'Erreur et Actions Correctives

Priorité : Moyenne
Estimation : 2 heures
Assigné : Équipe Frontend

Description

Ajouter messages d'erreur explicatifs et boutons d'action pour résoudre les problèmes.

Sous-tâches

  • Messages d'erreur spécifiques : réseau, service, configuration
  • Bouton "Réessayer" pour recharger le catalogue
  • Bouton "Forcer re-détection" pour relancer la détection d'URL
  • Lien vers documentation de dépannage
  • Suggestions d'actions selon le type d'erreur

Critères d'Acceptation

  • Messages d'erreur clairs et actionnables en français
  • Boutons fonctionnels pour résoudre les problèmes
  • Suggestions contextuelles selon l'erreur
  • Liens vers aide et documentation

Fichiers Modifiés

  • visual_workflow_builder/frontend/src/components/Palette/index.tsx
  • visual_workflow_builder/frontend/src/utils/errorMessages.ts

Phase 4 : Tests et Validation

Tâche 4.1 : Tests Unitaires Service Catalogue

Priorité : Haute
Estimation : 4 heures
Assigné : Équipe Test

Description

Créer tests unitaires complets pour le service catalogue modifié.

Sous-tâches

  • Tests de détection automatique d'URL
  • Tests de fallback vers catalogue statique
  • Tests de mise en cache de configuration
  • Tests de gestion d'erreurs réseau
  • Tests de timeouts et retry logic

Critères d'Acceptation

  • Couverture de code > 90% pour catalogService
  • Tests de tous les scénarios de fallback
  • Validation des timeouts et retry
  • Tests de persistance localStorage

Fichiers Créés

  • tests/unit/test_catalog_service_cross_machine_10jan2026.py

Tâche 4.2 : Tests d'Intégration Cross-Machine

Priorité : Critique
Estimation : 6 heures
Assigné : Équipe Test

Description

Créer tests d'intégration pour valider le fonctionnement sur machines distantes.

Sous-tâches

  • Test avec backend sur localhost, frontend sur IP différente
  • Test avec backend indisponible (mode statique)
  • Test de basculement dynamique/statique
  • Test de persistance de configuration entre sessions
  • Test de performance de détection d'URL

Critères d'Acceptation

  • Tests passent sur configuration cross-machine réelle
  • Validation du mode fallback automatique
  • Performance de détection < 5 secondes
  • Persistance de configuration fonctionnelle

Fichiers Créés

  • tests/integration/test_palette_cross_machine_resolution_10jan2026.py

Tâche 4.3 : Tests End-to-End Palette

Priorité : Haute
Estimation : 4 heures
Assigné : Équipe Test

Description

Valider le fonctionnement complet de la palette dans différents scénarios réseau.

Sous-tâches

  • Test palette complète avec catalogue dynamique
  • Test palette avec catalogue statique uniquement
  • Test basculement en temps réel
  • Test interface utilisateur (boutons, messages)
  • Test drag-and-drop des actions statiques

Critères d'Acceptation

  • Palette fonctionnelle dans tous les modes
  • Actions drag-and-drop correctement
  • Interface utilisateur responsive et informative
  • Pas de régression sur fonctionnalités existantes

Fichiers Créés

  • tests/integration/test_palette_complete_cross_machine_10jan2026.py

Phase 5 : Documentation et Déploiement

Tâche 5.1 : Documentation Utilisateur

Priorité : Moyenne
Estimation : 2 heures
Assigné : Équipe Documentation

Description

Créer documentation pour les utilisateurs sur la résolution des problèmes de catalogue.

Sous-tâches

  • Guide de dépannage pour palette vide
  • Explication des modes dynamique/statique
  • Instructions de configuration manuelle
  • FAQ sur problèmes réseau courants
  • Captures d'écran des indicateurs de statut

Critères d'Acceptation

  • Documentation claire et illustrée
  • Procédures de dépannage étape par étape
  • FAQ couvrant les cas courants
  • Intégration dans l'aide contextuelle

Fichiers Créés

  • docs/GUIDE_RESOLUTION_PALETTE_CROSS_MACHINE_10JAN2026.md

Tâche 5.2 : Tests de Validation Finale

Priorité : Critique
Estimation : 3 heures
Assigné : Équipe Test

Description

Validation finale sur environnements réels avec différentes configurations réseau.

Sous-tâches

  • Test sur machine locale (localhost)
  • Test sur réseau local (IP privée)
  • Test avec VPN/proxy
  • Test avec firewall restrictif
  • Test de performance et stabilité

Critères d'Acceptation

  • Fonctionnement validé sur au moins 3 configurations différentes
  • Performance acceptable dans tous les cas
  • Pas de régression sur fonctionnalités existantes
  • Messages d'erreur appropriés pour chaque scénario

Fichiers Créés

  • tests/integration/test_validation_finale_cross_machine_10jan2026.py

Critères de Définition de Fini (DoD)

Pour Chaque Tâche

  • Code implémenté et testé
  • Tests unitaires passent avec couverture > 80%
  • Documentation technique mise à jour
  • Revue de code effectuée
  • Tests d'intégration passent

Pour le Projet Complet

  • Palette fonctionne sur machines locales et distantes
  • Fallback automatique vers catalogue statique
  • Messages d'erreur clairs en français
  • Performance de détection < 5 secondes
  • Tests passent sur au moins 2 configurations réseau
  • Documentation utilisateur complète
  • Aucune régression sur fonctionnalités existantes

Métriques de Succès

  1. Taux de succès de chargement : > 95% sur configurations testées
  2. Temps de détection d'URL : < 5 secondes en moyenne
  3. Couverture de tests : > 90% pour code modifié
  4. Satisfaction utilisateur : Messages d'erreur compréhensibles
  5. Robustesse : Fonctionnement même avec service catalogue indisponible

Notes d'Implémentation

Priorités

  1. Critique : Service catalogue configurable et catalogue statique
  2. Haute : Tests et validation cross-machine
  3. Moyenne : Interface utilisateur améliorée et documentation

Dépendances

  • Tâche 2.2 dépend de 2.1 (catalogue statique)
  • Tâches 4.x dépendent des phases 1-3
  • Tâche 5.2 dépend de toutes les autres

Risques Techniques

  • Détection d'IP locale peut échouer selon configuration réseau
  • localStorage peut être désactivé dans certains environnements
  • Timeouts réseau variables selon infrastructure

Points d'Attention

  • Maintenir compatibilité avec interface existante
  • Éviter les régressions sur fonctionnalités actuelles
  • Assurer performance acceptable même en mode fallback
  • Messages d'erreur toujours en français