Files
rpa_vision_v3/.kiro/specs/real-demo-localization/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

210 lines
7.6 KiB
Markdown

# Spécification : Localisation du Composant RealDemo
## Vue d'ensemble
Cette spécification définit l'implémentation de la localisation complète pour le composant RealDemo du Visual Workflow Builder, en s'appuyant sur le système de localisation existant.
## Contexte
Le système de localisation RPA Vision V3 est déjà implémenté avec 4 langues (français, anglais, espagnol, allemand) et 127 clés de traduction. Cependant, le composant RealDemo contient encore du texte codé en dur en français qui doit être localisé.
## Objectifs
### Objectif Principal
Intégrer complètement le composant RealDemo avec le système de localisation existant pour assurer une expérience utilisateur multilingue cohérente.
### Objectifs Secondaires
- Maintenir la cohérence avec les traductions existantes
- Assurer la qualité des traductions dans toutes les langues supportées
- Valider l'intégration avec les outils de validation existants
- Documenter les nouvelles clés de traduction
## User Stories
### US1 : Utilisateur Français
**En tant qu'** utilisateur français
**Je veux** voir l'interface RealDemo en français
**Afin de** comprendre facilement les fonctionnalités disponibles
**Critères d'acceptation :**
- Le titre "Démonstration Réelle - RPA Vision V3" est affiché en français
- La description est en français et claire
- Le bouton "Démarrer la Démonstration" est en français
- Tous les messages d'état sont en français
### US2 : Utilisateur Anglais
**En tant qu'** utilisateur anglais
**Je veux** voir l'interface RealDemo en anglais
**Afin de** utiliser l'application dans ma langue native
**Critères d'acceptation :**
- Le titre devient "Real Demonstration - RPA Vision V3"
- La description est traduite en anglais naturel
- Le bouton devient "Start Demonstration"
- Tous les messages respectent les conventions anglaises
### US3 : Utilisateur Espagnol
**En tant qu'** utilisateur espagnol
**Je veux** voir l'interface RealDemo en espagnol
**Afin d'** avoir une expérience utilisateur dans ma langue
**Critères d'acceptation :**
- Le titre devient "Demostración Real - RPA Vision V3"
- La description respecte les conventions espagnoles
- Le bouton devient "Iniciar Demostración"
- Les messages suivent la grammaire espagnole
### US4 : Utilisateur Allemand
**En tant qu'** utilisateur allemand
**Je veux** voir l'interface RealDemo en allemand
**Afin de** naviguer confortablement dans l'application
**Critères d'acceptation :**
- Le titre devient "Echte Demonstration - RPA Vision V3"
- La description utilise un allemand correct
- Le bouton devient "Demonstration Starten"
- Les messages respectent la grammaire allemande
### US5 : Développeur
**En tant que** développeur
**Je veux** que les nouvelles traductions soient validées automatiquement
**Afin de** maintenir la qualité du système de localisation
**Critères d'acceptation :**
- Le script de validation détecte les nouvelles clés
- Toutes les langues ont les mêmes clés
- Les placeholders sont cohérents
- La documentation est mise à jour
## Exigences Fonctionnelles
### RF1 : Intégration du Service de Localisation
- Le composant RealDemo doit utiliser le hook `useLocalization`
- Toutes les chaînes de caractères doivent être externalisées
- Les traductions doivent être chargées dynamiquement
### RF2 : Nouvelles Clés de Traduction
Les nouvelles clés suivantes doivent être ajoutées :
- `realDemo.component.title` : "Démonstration Réelle - RPA Vision V3"
- `realDemo.component.description` : "Ce composant permettra de tester le système RPA en temps réel."
- `realDemo.component.startButton` : "Démarrer la Démonstration"
### RF3 : Cohérence avec l'Existant
- Utiliser la même structure que les clés `realDemo` existantes
- Respecter les conventions de nommage établies
- Maintenir la hiérarchie JSON existante
### RF4 : Validation Automatique
- Les nouvelles traductions doivent passer la validation Python
- Aucune clé manquante dans aucune langue
- Structure JSON cohérente
## Exigences Non-Fonctionnelles
### RNF1 : Performance
- Le chargement des traductions ne doit pas impacter les performances
- Utilisation du cache existant du service de localisation
### RNF2 : Maintenabilité
- Code TypeScript avec types stricts
- Documentation inline des nouvelles clés
- Respect des conventions de code existantes
### RNF3 : Qualité des Traductions
- Traductions naturelles et idiomatiques
- Respect des conventions culturelles
- Longueur appropriée pour l'interface
### RNF4 : Accessibilité
- Maintien des attributs ARIA existants
- Support de la navigation clavier
- Contraste suffisant pour tous les textes
## Contraintes Techniques
### CT1 : Compatibilité
- Utilisation du système de localisation existant
- Pas de modification de l'architecture
- Compatibilité avec Material-UI
### CT2 : Structure des Fichiers
- Ajout dans les fichiers JSON existants uniquement
- Respect de la structure hiérarchique
- Pas de nouveaux fichiers de configuration
### CT3 : Validation
- Utilisation du script `validate_translations.py` existant
- Pas de modification des outils de validation
- Intégration avec le processus de build
## Critères d'Acceptation Globaux
### Technique
- [ ] Le composant RealDemo utilise `useLocalization`
- [ ] Toutes les chaînes sont externalisées
- [ ] Les 4 langues sont supportées
- [ ] La validation automatique passe
- [ ] Aucune régression sur les fonctionnalités existantes
### Fonctionnel
- [ ] L'interface s'affiche correctement dans les 4 langues
- [ ] Le changement de langue fonctionne en temps réel
- [ ] Les traductions sont naturelles et appropriées
- [ ] La mise en page reste cohérente
### Qualité
- [ ] Code TypeScript sans erreurs
- [ ] Tests de validation passent
- [ ] Documentation mise à jour
- [ ] Respect du design system
## Risques et Mitigation
### Risque 1 : Incohérence des Traductions
**Impact :** Moyen
**Probabilité :** Faible
**Mitigation :** Utilisation du script de validation automatique
### Risque 2 : Régression sur l'Existant
**Impact :** Élevé
**Probabilité :** Faible
**Mitigation :** Tests de non-régression sur les composants existants
### Risque 3 : Problème de Performance
**Impact :** Faible
**Probabilité :** Très faible
**Mitigation :** Utilisation du cache existant, pas de nouveau chargement
## Définition de "Terminé"
Une tâche est considérée comme terminée quand :
1. Le code est implémenté et testé
2. Les traductions sont ajoutées dans les 4 langues
3. La validation automatique passe
4. La documentation est mise à jour
5. Les tests de non-régression passent
6. Le code est intégré dans la branche principale
## Métriques de Succès
- **Couverture de localisation :** 100% des chaînes externalisées
- **Validation :** 0 erreur dans le script de validation
- **Performance :** Pas d'impact mesurable sur le temps de chargement
- **Qualité :** Traductions approuvées par des locuteurs natifs (si possible)
## Dépendances
- Système de localisation existant (déjà implémenté)
- Service `LocalizationService.ts` (déjà disponible)
- Fichiers de traduction JSON (déjà créés)
- Script de validation Python (déjà fonctionnel)
## Livrables
1. **Code modifié :** Composant RealDemo localisé
2. **Traductions :** Nouvelles clés dans les 4 fichiers JSON
3. **Validation :** Rapport de validation sans erreur
4. **Documentation :** Mise à jour des guides existants
5. **Tests :** Validation de l'intégration
Cette spécification assure une intégration cohérente et de qualité du composant RealDemo avec le système de localisation existant, en maintenant les standards établis et en préparant l'extensibilité future.