Files
rpa_vision_v3/.kiro/specs/correction-proprietes-etapes-vides/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

16 KiB

Tâches - Correction des Propriétés d'Étapes Vides

Auteur : Dom, Alice, Kiro
Date : 12 janvier 2026
Version : 1.0.0

Phase 1 : Diagnostic et Analyse (Priorité Critique)

Tâche 1.1 : Diagnostic Approfondi du Problème

  • 1.1.1 Créer un script de diagnostic pour analyser le mapping des types d'étapes
  • 1.1.2 Ajouter des logs détaillés dans getParameterConfig() pour tracer l'exécution
  • 1.1.3 Créer un composant DebugPanel pour visualiser les données d'étapes en temps réel
  • 1.1.4 Identifier tous les cas où stepParametersConfig[selectedStep.type] retourne undefined
  • 1.1.5 Documenter les incohérences entre types d'étapes créées et configurations disponibles

Critères d'acceptation :

  • Script de diagnostic exécutable avec rapport détaillé
  • Logs structurés permettant de tracer le problème
  • Composant de debug fonctionnel en mode développement
  • Documentation complète des cas d'échec identifiés

Tâche 1.2 : Validation de l'Architecture Existante

  • 1.2.1 Auditer la configuration stepParametersConfig pour vérifier sa complétude
  • 1.2.2 Tester les hooks useIsVWBStep et useVWBActionId avec différents types d'étapes
  • 1.2.3 Valider le fonctionnement du composant VWBActionProperties isolément
  • 1.2.4 Vérifier la cohérence des types TypeScript entre les composants
  • 1.2.5 Identifier les dépendances manquantes ou incorrectes

Critères d'acceptation :

  • Rapport d'audit complet de l'architecture
  • Tests unitaires validant chaque composant individuellement
  • Documentation des incohérences TypeScript trouvées
  • Plan de correction des dépendances identifiées

Phase 2 : Implémentation du Résolveur de Types (Priorité Haute)

Tâche 2.1 : Création du StepTypeResolver

  • 2.1.1 Implémenter l'interface StepTypeResolver avec la logique de mapping unifiée
  • 2.1.2 Créer la classe StepTypeResolverImpl avec mapping explicite des types d'étapes
  • 2.1.3 Implémenter la méthode resolveParameterConfig() avec gestion des cas edge
  • 2.1.4 Ajouter la détection robuste des actions VWB du catalogue
  • 2.1.5 Implémenter le cache de résolution pour optimiser les performances

Critères d'acceptation :

  • Interface StepTypeResolver complètement implémentée
  • Mapping explicite de tous les types d'étapes standard et VWB
  • Gestion d'erreurs gracieuse avec fallbacks appropriés
  • Cache de résolution fonctionnel avec invalidation intelligente
  • Tests unitaires couvrant tous les cas d'usage

Tâche 2.2 : Intégration du Hook useStepTypeResolver

  • 2.2.1 Créer le hook useStepTypeResolver avec mémorisation appropriée
  • 2.2.2 Implémenter la logique de résolution thread-safe
  • 2.2.3 Ajouter la gestion des erreurs et des états de chargement
  • 2.2.4 Optimiser les performances avec useMemo et useCallback
  • 2.2.5 Intégrer les logs de débogage structurés

Critères d'acceptation :

  • Hook fonctionnel avec API stable
  • Gestion d'état robuste (loading, error, success)
  • Performance optimisée sans re-rendus inutiles
  • Logs de débogage informatifs et structurés
  • Tests d'intégration validant le comportement

Tâche 2.3 : Test de Compilation TypeScript et Build

  • 2.3.1 Exécuter npx tsc --noEmit pour vérifier l'absence d'erreurs TypeScript
  • 2.3.2 Lancer npm run build pour valider la compilation de production
  • 2.3.3 Vérifier que les fichiers générés sont corrects et optimisés
  • 2.3.4 Valider les types TypeScript avec les nouveaux composants
  • 2.3.5 Corriger toute erreur de compilation identifiée

Critères d'acceptation :

  • Compilation TypeScript sans erreur ni warning
  • Build de production réussi avec taille optimisée
  • Tous les types TypeScript correctement inférés
  • Aucune régression dans les imports/exports existants

Phase 3 : Refactoring du PropertiesPanel (Priorité Haute)

Tâche 3.1 : Modification du Composant Principal

  • 3.1.1 Refactorer PropertiesPanel/index.tsx pour utiliser le nouveau résolveur
  • 3.1.2 Remplacer la logique getParameterConfig() par la résolution unifiée
  • 3.1.3 Améliorer la détection des actions VWB avec le nouveau système
  • 3.1.4 Intégrer le composant DebugPanel en mode développement
  • 3.1.5 Optimiser le rendu conditionnel pour éviter les re-rendus inutiles

Critères d'acceptation :

  • Composant PropertiesPanel entièrement refactorisé
  • Logique de résolution unifiée et robuste
  • Détection VWB fonctionnelle à 100%
  • Debug panel intégré et fonctionnel
  • Performance maintenue ou améliorée

Tâche 3.2 : Amélioration des Hooks VWB

  • 3.2.1 Refactorer useVWBStepIntegration avec la nouvelle logique de détection
  • 3.2.2 Créer le hook useVWBActionDetails avec chargement lazy et gestion d'erreurs
  • 3.2.3 Implémenter le fallback vers le catalogue statique en cas d'échec
  • 3.2.4 Ajouter la validation des données d'actions chargées
  • 3.2.5 Optimiser les appels API avec cache et debouncing

Critères d'acceptation :

  • Hooks VWB entièrement refactorisés et testés
  • Chargement lazy fonctionnel avec états appropriés
  • Fallback vers catalogue statique opérationnel
  • Validation robuste des données d'actions
  • Performance optimisée avec cache intelligent

Tâche 3.3 : Test de Compilation TypeScript et Build

  • 3.3.1 Exécuter npx tsc --noEmit pour vérifier l'absence d'erreurs TypeScript
  • 3.3.2 Lancer npm run build pour valider la compilation de production
  • 3.3.3 Vérifier que les fichiers générés sont corrects et optimisés
  • 3.3.4 Valider les types TypeScript avec les composants modifiés
  • 3.3.5 Corriger toute erreur de compilation identifiée

Critères d'acceptation :

  • Compilation TypeScript sans erreur ni warning
  • Build de production réussi avec taille optimisée
  • Tous les types TypeScript correctement inférés
  • Aucune régression dans les imports/exports existants

Phase 4 : Composants Utilitaires et UX (Priorité Moyenne)

Tâche 4.1 : Création des Composants Utilitaires

  • 4.1.1 Implémenter le composant StandardParametersEditor pour les étapes standard
  • 4.1.2 Créer le composant EmptyStateMessage avec diagnostic amélioré
  • 4.1.3 Développer le composant DebugPanel avec informations détaillées
  • 4.1.4 Implémenter le composant LoadingState pour les chargements d'actions VWB
  • 4.1.5 Créer le composant ErrorBoundary pour la gestion d'erreurs gracieuse

Critères d'acceptation :

  • Tous les composants utilitaires implémentés et testés
  • Interface utilisateur cohérente et accessible
  • Gestion d'erreurs gracieuse dans tous les cas
  • Messages d'aide informatifs pour les utilisateurs
  • Composants réutilisables et bien documentés

Tâche 4.2 : Amélioration de l'Expérience Utilisateur

  • 4.2.1 Ajouter des indicateurs de chargement pour les actions VWB
  • 4.2.2 Implémenter des messages d'erreur informatifs et actionnables
  • 4.2.3 Créer des tooltips explicatifs pour les paramètres complexes
  • 4.2.4 Ajouter la validation en temps réel avec feedback visuel
  • 4.2.5 Optimiser la responsivité sur différentes tailles d'écran

Critères d'acceptation :

  • Interface utilisateur fluide et intuitive
  • Feedback visuel approprié pour tous les états
  • Messages d'aide contextuels et utiles
  • Validation en temps réel fonctionnelle
  • Compatibilité mobile et desktop assurée

Tâche 4.3 : Test de Compilation TypeScript et Build

  • 4.3.1 Exécuter npx tsc --noEmit pour vérifier l'absence d'erreurs TypeScript
  • 4.3.2 Lancer npm run build pour valider la compilation de production
  • 4.3.3 Vérifier que les fichiers générés sont corrects et optimisés
  • 4.3.4 Valider les types TypeScript avec les nouveaux composants
  • 4.3.5 Corriger toute erreur de compilation identifiée

Critères d'acceptation :

  • Compilation TypeScript sans erreur ni warning
  • Build de production réussi avec taille optimisée
  • Tous les types TypeScript correctement inférés
  • Aucune régression dans les imports/exports existants

Phase 5 : Tests et Validation (Priorité Haute)

Tâche 5.1 : Tests Unitaires Complets

  • 5.1.1 Créer les tests unitaires pour StepTypeResolver avec tous les cas d'usage
  • 5.1.2 Tester les hooks useStepTypeResolver et useVWBActionDetails
  • 5.1.3 Valider le comportement du PropertiesPanel refactorisé
  • 5.1.4 Tester la gestion d'erreurs et les cas edge
  • 5.1.5 Atteindre une couverture de tests > 90% pour les composants modifiés

Critères d'acceptation :

  • Suite de tests unitaires complète et robuste
  • Couverture de tests > 90% pour tous les composants modifiés
  • Tests des cas d'erreur et des cas edge
  • Tests de performance pour les opérations critiques
  • Documentation des tests et des cas couverts

Tâche 5.2 : Tests d'Intégration End-to-End

  • 5.2.1 Créer des tests d'intégration pour le workflow complet de configuration
  • 5.2.2 Tester l'interaction entre PropertiesPanel et les autres composants
  • 5.2.3 Valider le chargement et l'affichage des actions VWB du catalogue
  • 5.2.4 Tester la persistance des paramètres et la synchronisation d'état
  • 5.2.5 Valider la compatibilité avec les workflows existants

Critères d'acceptation :

  • Tests d'intégration couvrant tous les workflows utilisateur
  • Validation de l'interaction entre composants
  • Tests de régression pour les fonctionnalités existantes
  • Validation de la persistance des données
  • Compatibilité ascendante assurée

Tâche 5.3 : Test de Compilation TypeScript et Build

  • 5.3.1 Exécuter npx tsc --noEmit pour vérifier l'absence d'erreurs TypeScript
  • 5.3.2 Lancer npm run build pour valider la compilation de production
  • 5.3.3 Vérifier que les fichiers générés sont corrects et optimisés
  • 5.3.4 Valider les types TypeScript avec tous les tests
  • 5.3.5 Corriger toute erreur de compilation identifiée

Critères d'acceptation :

  • Compilation TypeScript sans erreur ni warning
  • Build de production réussi avec taille optimisée
  • Tous les types TypeScript correctement inférés
  • Aucune régression dans les imports/exports existants

Phase 6 : Performance et Optimisation (Priorité Moyenne)

Tâche 6.1 : Optimisation des Performances

  • 6.1.1 Implémenter la mémorisation pour les résolutions de types coûteuses
  • 6.1.2 Optimiser le chargement des actions VWB avec lazy loading
  • 6.1.3 Ajouter un cache intelligent pour les configurations de paramètres
  • 6.1.4 Minimiser les re-rendus avec React.memo et useMemo
  • 6.1.5 Profiler et optimiser les goulots d'étranglement identifiés

Critères d'acceptation :

  • Temps de réponse < 100ms pour l'affichage des propriétés
  • Réduction des re-rendus inutiles > 50%
  • Cache intelligent avec invalidation appropriée
  • Profiling montrant des améliorations mesurables
  • Pas de régression de performance sur les autres composants

Tâche 6.2 : Monitoring et Observabilité

  • 6.2.1 Implémenter des métriques de performance pour les résolutions de types
  • 6.2.2 Ajouter des logs structurés pour le débogage en production
  • 6.2.3 Créer un système d'alertes pour les erreurs de résolution
  • 6.2.4 Implémenter le tracking des erreurs utilisateur
  • 6.2.5 Ajouter des métriques d'usage pour l'amélioration continue

Critères d'acceptation :

  • Système de métriques fonctionnel et informatif
  • Logs structurés permettant le débogage efficace
  • Alertes configurées pour les erreurs critiques
  • Tracking d'erreurs intégré et fonctionnel
  • Dashboard de métriques accessible aux développeurs

Tâche 6.3 : Test de Compilation TypeScript et Build

  • 6.3.1 Exécuter npx tsc --noEmit pour vérifier l'absence d'erreurs TypeScript
  • 6.3.2 Lancer npm run build pour valider la compilation de production
  • 6.3.3 Vérifier que les fichiers générés sont corrects et optimisés
  • 6.3.4 Valider les types TypeScript avec les optimisations
  • 6.3.5 Corriger toute erreur de compilation identifiée

Critères d'acceptation :

  • Compilation TypeScript sans erreur ni warning
  • Build de production réussi avec taille optimisée
  • Tous les types TypeScript correctement inférés
  • Aucune régression dans les imports/exports existants

Phase 7 : Documentation et Finalisation (Priorité Basse)

Tâche 7.1 : Documentation Technique Complète

  • 7.1.1 Documenter l'architecture du nouveau système de résolution
  • 7.1.2 Créer un guide de débogage pour les problèmes de propriétés
  • 7.1.3 Documenter les APIs des nouveaux hooks et composants
  • 7.1.4 Créer des exemples d'usage pour les développeurs
  • 7.1.5 Mettre à jour la documentation existante avec les changements

Critères d'acceptation :

  • Documentation technique complète et à jour
  • Guide de débogage pratique et utilisable
  • APIs documentées avec exemples d'usage
  • Exemples de code fonctionnels et testés
  • Documentation existante mise à jour

Tâche 7.2 : Guide Utilisateur et Formation

  • 7.2.1 Créer un guide utilisateur pour la configuration des propriétés
  • 7.2.2 Documenter les nouvelles fonctionnalités et améliorations
  • 7.2.3 Créer des tutoriels vidéo pour les cas d'usage complexes
  • 7.2.4 Préparer la formation pour l'équipe de support
  • 7.2.5 Mettre à jour les FAQ avec les nouvelles informations

Critères d'acceptation :

  • Guide utilisateur complet et accessible
  • Documentation des nouvelles fonctionnalités
  • Tutoriels vidéo informatifs et de qualité
  • Formation équipe de support préparée
  • FAQ mise à jour avec informations pertinentes

Tâche 7.3 : Test de Compilation TypeScript et Build Final

  • 7.3.1 Exécuter npx tsc --noEmit pour vérifier l'absence d'erreurs TypeScript
  • 7.3.2 Lancer npm run build pour valider la compilation de production finale
  • 7.3.3 Vérifier que les fichiers générés sont corrects et optimisés
  • 7.3.4 Valider les types TypeScript avec toute la documentation
  • 7.3.5 Corriger toute erreur de compilation identifiée

Critères d'acceptation :

  • Compilation TypeScript sans erreur ni warning
  • Build de production réussi avec taille optimisée
  • Tous les types TypeScript correctement inférés
  • Aucune régression dans les imports/exports existants

Critères de Validation Globaux

Validation Fonctionnelle

  • Toutes les étapes standard affichent leurs propriétés configurables
  • Toutes les actions VWB du catalogue affichent le composant spécialisé
  • La validation en temps réel fonctionne correctement
  • Les paramètres sont persistés automatiquement
  • L'interface est responsive et accessible

Validation Technique

  • Compilation TypeScript sans erreur (validée à chaque phase)
  • Tous les tests unitaires et d'intégration passent
  • Performance maintenue ou améliorée
  • Code documenté en français avec attribution auteur
  • Respect des conventions du projet

Validation Qualité

  • Couverture de tests > 90%
  • Gestion d'erreurs robuste
  • Logs de débogage appropriés
  • Documentation complète et à jour
  • Compatibilité avec l'architecture existante

Estimation et Priorités

Estimation Temporelle

  • Phase 1 : 1-2 jours (Critique)
  • Phase 2 : 2-3 jours (Haute)
  • Phase 3 : 2-3 jours (Haute)
  • Phase 4 : 1-2 jours (Moyenne)
  • Phase 5 : 2-3 jours (Haute)
  • Phase 6 : 1-2 jours (Moyenne)
  • Phase 7 : 1 jour (Basse)

Total estimé : 10-16 jours

Dépendances Critiques

  • Phase 1 doit être complétée avant Phase 2
  • Phase 2 doit être complétée avant Phase 3
  • Phase 5 peut commencer en parallèle de Phase 4
  • Phase 6 et 7 peuvent être exécutées en parallèle

Risques et Mitigation

  • Risque : Régression fonctionnelle
    • Mitigation : Tests de régression complets à chaque phase
  • Risque : Performance dégradée
    • Mitigation : Profiling continu et optimisation proactive
  • Risque : Complexité accrue
    • Mitigation : Refactoring progressif avec validation continue