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>
210 lines
7.6 KiB
Markdown
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. |