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>
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
CatalogServiceConfigavec 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.tsvisual_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.tsavec actions de base - Définir actions : ClickAnchor, TypeText, WaitForAnchor, ExtractText, HotKey
- Ajouter métadonnées complètes (icônes, descriptions, exemples)
- Respecter interface
VWBCatalogActionexistante - 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
useCatalogActionspour 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.tsxvisual_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
- Taux de succès de chargement : > 95% sur configurations testées
- Temps de détection d'URL : < 5 secondes en moyenne
- Couverture de tests : > 90% pour code modifié
- Satisfaction utilisateur : Messages d'erreur compréhensibles
- Robustesse : Fonctionnement même avec service catalogue indisponible
Notes d'Implémentation
Priorités
- Critique : Service catalogue configurable et catalogue statique
- Haute : Tests et validation cross-machine
- 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