feat(gherkin): ajouter features UI pour algorithme de recommandation
Création de 4 features Gherkin UI pour l'expérience utilisateur liée à l'algorithme de recommandation: - parametres-personnalisation.feature: Interface curseurs (géo, découverte, politique), profils sauvegardables, auto-switch, synchronisation multi-devices - mode-kids-ui.feature: Interface Mode Kids, activation/désactivation, badge, PIN parental, filtrage visuel contenus, onboarding 13-15 ans - filtrage-politique-ui.feature: Interface paramètres contenu politique, options Masquer/Équilibré/Préférences, badges, notifications, recherche - notifications-geo.feature: Notifications géographiques au passage <500m, types de logos, acceptation/rejet, gestion demi-tour, historique Complète les features API existantes (classification-geo, scoring, mode-kids, parametrabilite, etc.) avec l'expérience utilisateur mobile. Aligné avec règles métier 04-algorithme-recommandation.md (sections 2.1-2.11).
This commit is contained in:
234
features/ui/recommendation/filtrage-politique-ui.feature
Normal file
234
features/ui/recommendation/filtrage-politique-ui.feature
Normal file
@@ -0,0 +1,234 @@
|
||||
# language: fr
|
||||
Fonctionnalité: UI - Filtrage contenu politique
|
||||
En tant qu'utilisateur
|
||||
Je veux contrôler mon exposition au contenu politique
|
||||
Afin d'adapter mon expérience selon mes préférences
|
||||
|
||||
Contexte:
|
||||
Étant donné que l'application RoadWave est ouverte
|
||||
Et que je suis connecté
|
||||
|
||||
Scénario: Accéder aux paramètres de contenu politique
|
||||
Quand j'ouvre les paramètres
|
||||
Et que je clique sur "Contenu politique"
|
||||
Alors je vois l'écran "Gestion du contenu politique"
|
||||
Et je vois trois options:
|
||||
| option | icône | description |
|
||||
| Masquer | 🚫 | 0% de contenus politiques |
|
||||
| Équilibré | ⚖️ | Selon vos intérêts (défaut) |
|
||||
| Mes préférences | ❤️ | Basé sur votre jauge "Politique" |
|
||||
|
||||
Scénario: Option "Équilibré" par défaut
|
||||
Étant donné que je suis un nouvel utilisateur
|
||||
Quand je consulte les paramètres de contenu politique
|
||||
Alors l'option "Équilibré" est sélectionnée par défaut
|
||||
Et je vois "(Recommandé)" à côté
|
||||
Et je vois la description:
|
||||
"""
|
||||
Les contenus politiques sont recommandés selon
|
||||
l'algorithme standard (intérêts, géo, engagement)
|
||||
|
||||
Votre jauge "Politique" actuelle: 50%
|
||||
"""
|
||||
|
||||
Scénario: Sélectionner l'option "Masquer"
|
||||
Étant donné que l'option "Équilibré" est active
|
||||
Quand je clique sur le bouton radio "Masquer"
|
||||
Alors l'option "Masquer" est sélectionnée
|
||||
Et je vois l'icône 🚫 "Aucun contenu politique"
|
||||
Et je vois un message de confirmation:
|
||||
"""
|
||||
Tous les contenus tagués "Politique" seront
|
||||
exclus de vos recommandations.
|
||||
|
||||
Vous ne verrez aucun contenu politique.
|
||||
"""
|
||||
Et je vois "Sauvegarder" en bas de l'écran
|
||||
|
||||
Scénario: Sauvegarder l'option "Masquer"
|
||||
Étant donné que j'ai sélectionné "Masquer"
|
||||
Quand je clique sur "Sauvegarder"
|
||||
Alors je vois une animation de confirmation
|
||||
Et je vois "Contenu politique masqué ✓"
|
||||
Et je retourne à l'écran précédent
|
||||
Et un badge "🚫 Politique" apparaît sur l'écran principal (optionnel)
|
||||
|
||||
Scénario: Badge indicateur sur l'écran principal
|
||||
Étant donné que j'ai activé "Masquer contenu politique"
|
||||
Quand je retourne à l'écran principal
|
||||
Alors je vois un petit badge "🚫" en haut
|
||||
Et en tapant dessus, je vois "Contenu politique masqué"
|
||||
Et je peux accéder rapidement aux paramètres
|
||||
|
||||
Scénario: Recommandations sans contenu politique
|
||||
Étant donné que j'ai activé "Masquer contenu politique"
|
||||
Quand je consulte mes recommandations
|
||||
Alors je ne vois aucun contenu tagué "Politique"
|
||||
Et je vois "Filtré: Politique masqué" en bas de l'écran
|
||||
Et tous les contenus affichés n'ont pas le tag "Politique"
|
||||
|
||||
Scénario: Sélectionner l'option "Mes préférences"
|
||||
Quand je clique sur le bouton radio "Mes préférences"
|
||||
Alors l'option "Mes préférences" est sélectionnée
|
||||
Et je vois l'icône ❤️ "Selon votre jauge"
|
||||
Et je vois:
|
||||
"""
|
||||
Les contenus politiques seront recommandés
|
||||
selon votre jauge "Politique"
|
||||
|
||||
Votre jauge actuelle: 45%
|
||||
Plus vous écoutez de contenu politique, plus
|
||||
vous en recevrez de recommandations.
|
||||
"""
|
||||
|
||||
Scénario: Recherche avec filtrage politique actif
|
||||
Étant donné que j'ai activé "Masquer contenu politique"
|
||||
Quand je recherche "actualités France"
|
||||
Alors les résultats excluent les contenus tagués "Politique"
|
||||
Et je vois "Résultats filtrés (Politique masqué)"
|
||||
|
||||
Scénario: Recherche explicite contenu politique malgré filtre
|
||||
Étant donné que j'ai activé "Masquer contenu politique"
|
||||
Quand je recherche en filtrant par tag "Politique"
|
||||
Alors les contenus politiques sont affichés
|
||||
Et je vois un avertissement:
|
||||
"""
|
||||
⚠️ Recherche explicite de contenu politique
|
||||
|
||||
Vos paramètres masquent ce type de contenu,
|
||||
mais vous avez fait une recherche explicite.
|
||||
"""
|
||||
|
||||
Scénario: Partage de contenu politique avec filtre actif
|
||||
Étant donné que j'ai activé "Masquer contenu politique"
|
||||
Et qu'un ami me partage un lien vers un contenu politique
|
||||
Quand j'ouvre le lien
|
||||
Alors je vois un avertissement:
|
||||
"""
|
||||
🚫 Contenu politique
|
||||
|
||||
Ce contenu est tagué "Politique" et est
|
||||
normalement masqué par vos paramètres.
|
||||
|
||||
Voulez-vous l'écouter quand même?
|
||||
"""
|
||||
Et je peux choisir "Écouter" ou "Retour"
|
||||
|
||||
Scénario: Confirmer l'écoute de contenu politique partagé
|
||||
Étant donné que je vois l'avertissement de contenu politique partagé
|
||||
Quand je clique sur "Écouter"
|
||||
Alors le contenu se lance normalement
|
||||
Et je vois le tag "Politique" bien visible
|
||||
Et le contenu ne réactive pas le filtrage politique
|
||||
|
||||
Scénario: Désactiver le filtrage politique
|
||||
Étant donné que j'ai activé "Masquer contenu politique"
|
||||
Quand je retourne aux paramètres de contenu politique
|
||||
Et que je sélectionne "Équilibré"
|
||||
Et que je sauvegarde
|
||||
Alors le filtrage est levé
|
||||
Et je vois "Contenu politique à nouveau visible"
|
||||
Et le badge "🚫" disparaît de l'écran principal
|
||||
|
||||
Scénario: Statistiques sur contenu politique masqué
|
||||
Étant donné que j'ai activé "Masquer contenu politique" depuis 30 jours
|
||||
Quand je consulte mes statistiques
|
||||
Alors je vois:
|
||||
| métrique | valeur |
|
||||
| Contenus politiques masqués | 142 |
|
||||
| Depuis | 30 j |
|
||||
| Contenus écoutés sans politique| 85 |
|
||||
|
||||
Scénario: Notification de contenu politique disponible
|
||||
Étant donné que j'ai activé "Masquer contenu politique"
|
||||
Et qu'un événement politique majeur se produit dans ma région
|
||||
Quand RoadWave a des contenus pertinents tagués "Politique"
|
||||
Alors je reçois une notification optionnelle:
|
||||
"""
|
||||
📰 Actualités locales importantes
|
||||
|
||||
Des contenus politiques pertinents sont disponibles
|
||||
dans votre zone.
|
||||
|
||||
Vos paramètres masquent ce type de contenu.
|
||||
Modifier les paramètres?
|
||||
"""
|
||||
Et je peux ignorer ou modifier mes paramètres
|
||||
|
||||
Scénario: Mode Kids force le masquage politique
|
||||
Étant donné que le Mode Kids est activé
|
||||
Quand je consulte les paramètres de contenu politique
|
||||
Alors l'option "Masquer" est sélectionnée et verrouillée
|
||||
Et je vois "(Forcé par Mode Kids)"
|
||||
Et je ne peux pas modifier ce paramètre
|
||||
Et les autres options sont grisées
|
||||
|
||||
Scénario: Désactiver Mode Kids déverrouille filtrage politique
|
||||
Étant donné que le Mode Kids est activé
|
||||
Et que le filtrage politique est forcé
|
||||
Quand je désactive le Mode Kids
|
||||
Alors les options de filtrage politique sont déverrouillées
|
||||
Et je peux sélectionner "Équilibré" ou "Mes préférences"
|
||||
|
||||
Scénario: Jauge "Politique" visible dans les paramètres
|
||||
Étant donné que je suis sur l'écran de contenu politique
|
||||
Et que l'option "Mes préférences" est sélectionnée
|
||||
Quand je consulte ma jauge "Politique"
|
||||
Alors je vois une barre de progression: ▓▓▓▓▓▒▒▒▒▒ 45%
|
||||
Et je vois "Plus vous écoutez, plus votre jauge augmente"
|
||||
|
||||
Scénario: Impact du filtrage sur les recommandations
|
||||
Étant donné que j'ai activé "Masquer contenu politique"
|
||||
Quand je consulte mes recommandations
|
||||
Alors je vois "12 contenus disponibles (Politique masqué)"
|
||||
Et je sais combien de contenus sont exclus
|
||||
|
||||
Scénario: Créer profil avec filtrage politique personnalisé
|
||||
Étant donné que je crée un profil "🚗 Trajet quotidien"
|
||||
Quand je configure le paramètre "Politique" sur "Masquer"
|
||||
Alors ce profil masque automatiquement le contenu politique
|
||||
Quand je crée un profil "🛣️ Road trip"
|
||||
Et que je configure "Politique" sur "Équilibré"
|
||||
Alors ce profil affiche le contenu politique selon l'algorithme
|
||||
|
||||
Scénario: Switch entre profils avec paramètres politiques différents
|
||||
Étant donné que le profil "Trajet quotidien" masque le contenu politique
|
||||
Et que le profil "Road trip" affiche le contenu politique
|
||||
Quand je passe de "Trajet quotidien" à "Road trip"
|
||||
Alors le contenu politique réapparaît dans les recommandations
|
||||
Et je vois "Contenu politique visible (profil Road trip)"
|
||||
|
||||
Scénario: Tooltip explicatif sur les options
|
||||
Quand je tape sur l'icône ℹ️ à côté de "Équilibré"
|
||||
Alors je vois un tooltip:
|
||||
"""
|
||||
Équilibré (Recommandé)
|
||||
|
||||
Les contenus politiques sont recommandés comme
|
||||
tout autre contenu, selon l'algorithme standard.
|
||||
|
||||
Votre jauge "Politique" évolue naturellement
|
||||
selon vos écoutes.
|
||||
"""
|
||||
|
||||
Scénario: Message MVP - pas de classification gauche/droite
|
||||
Quand je consulte l'écran de contenu politique
|
||||
Alors je vois en bas:
|
||||
"""
|
||||
ℹ️ Version MVP
|
||||
|
||||
Actuellement, les contenus sont simplement tagués
|
||||
"Politique" sans classification gauche/droite.
|
||||
|
||||
Des options avancées seront disponibles dans
|
||||
une future version.
|
||||
"""
|
||||
|
||||
Scénario: Export RGPD inclut historique filtrage politique
|
||||
Étant donné que j'ai modifié mes paramètres politiques 3 fois
|
||||
Quand je demande l'export RGPD
|
||||
Alors l'export inclut:
|
||||
| information | inclus |
|
||||
| Historique paramètre politique| ✅ |
|
||||
| Dates de modification | ✅ |
|
||||
| Contenus politiques masqués | ✅ |
|
||||
261
features/ui/recommendation/mode-kids-ui.feature
Normal file
261
features/ui/recommendation/mode-kids-ui.feature
Normal file
@@ -0,0 +1,261 @@
|
||||
# language: fr
|
||||
Fonctionnalité: UI - Mode Kids pour utilisateurs 13-15 ans
|
||||
En tant que parent ou adolescent
|
||||
Je veux activer et utiliser le Mode Kids facilement
|
||||
Afin de protéger les mineurs des contenus inappropriés
|
||||
|
||||
Contexte:
|
||||
Étant donné que l'application RoadWave est ouverte
|
||||
Et que je suis connecté
|
||||
|
||||
Scénario: Activer le Mode Kids depuis les paramètres
|
||||
Étant donné que je suis un utilisateur de 14 ans
|
||||
Et que le Mode Kids n'est pas activé
|
||||
Quand j'ouvre les paramètres
|
||||
Et que je clique sur "Mode Kids"
|
||||
Alors je vois l'écran "Mode Kids"
|
||||
Et je vois un toggle désactivé
|
||||
Et je vois une description:
|
||||
"""
|
||||
Mode Kids (13-15 ans)
|
||||
|
||||
Filtrage automatique:
|
||||
✓ Uniquement contenus "Tous publics"
|
||||
✓ Exclusion contenus 16+ et 18+
|
||||
✓ Pas de contenu politique
|
||||
✓ Aucune publicité
|
||||
|
||||
Interface standard, filtrage intelligent.
|
||||
"""
|
||||
|
||||
Scénario: Activer le toggle Mode Kids
|
||||
Étant donné que je suis sur l'écran Mode Kids
|
||||
Quand je bascule le toggle sur "Activé"
|
||||
Alors je vois une animation de confirmation
|
||||
Et le toggle devient vert
|
||||
Et je vois le message "Mode Kids activé - Contenus filtrés pour 13-15 ans ✓"
|
||||
Et un badge "🛡️ Mode Kids" apparaît sur l'écran principal
|
||||
|
||||
Scénario: Badge Mode Kids visible sur l'écran principal
|
||||
Étant donné que le Mode Kids est activé
|
||||
Quand je retourne à l'écran principal
|
||||
Alors je vois un badge "🛡️ Mode Kids" en haut à droite
|
||||
Et ce badge est bien visible
|
||||
Et je peux taper dessus pour accéder rapidement aux paramètres
|
||||
|
||||
Scénario: Notification après activation Mode Kids
|
||||
Quand j'active le Mode Kids
|
||||
Alors je vois une notification détaillée:
|
||||
"""
|
||||
Mode Kids activé 🛡️
|
||||
|
||||
✓ Contenus "Tous publics" uniquement
|
||||
✓ Contenus politiques masqués
|
||||
✓ Aucune publicité
|
||||
|
||||
Vous pouvez désactiver ce mode à tout moment
|
||||
dans les paramètres.
|
||||
"""
|
||||
Et je peux cliquer sur "Compris"
|
||||
|
||||
Scénario: Filtrage visuel des contenus en Mode Kids
|
||||
Étant donné que le Mode Kids est activé
|
||||
Quand je consulte les recommandations
|
||||
Alors je ne vois que des contenus avec le badge "Tous publics ✓"
|
||||
Et aucun contenu 13+, 16+, ou 18+ n'est affiché
|
||||
Et je vois "Filtré par Mode Kids" en bas de l'écran
|
||||
|
||||
Scénario: Tentative d'accès à un contenu 16+ via lien partagé
|
||||
Étant donné que le Mode Kids est activé
|
||||
Et qu'un ami me partage un lien vers un contenu 16+
|
||||
Quand j'ouvre le lien
|
||||
Alors je vois un écran de blocage:
|
||||
"""
|
||||
🛡️ Contenu non accessible
|
||||
|
||||
Ce contenu est classé 16+ et n'est pas
|
||||
accessible en Mode Kids.
|
||||
|
||||
Désactivez le Mode Kids dans les paramètres
|
||||
pour accéder à ce contenu.
|
||||
"""
|
||||
Et je vois un bouton "Retour"
|
||||
Et je ne peux pas accéder au contenu
|
||||
|
||||
Scénario: Recherche filtrée en Mode Kids
|
||||
Étant donné que le Mode Kids est activé
|
||||
Quand je recherche "débat politique"
|
||||
Alors seuls les contenus "Tous publics" apparaissent
|
||||
Et je vois "Résultats filtrés (Mode Kids actif)"
|
||||
Et les contenus politiques ou 16+ sont exclus
|
||||
|
||||
Scénario: Aucune publicité en Mode Kids
|
||||
Étant donné que le Mode Kids est activé
|
||||
Et que je suis un utilisateur gratuit
|
||||
Quand j'écoute plusieurs contenus
|
||||
Alors aucune publicité n'est diffusée
|
||||
Et je ne vois aucune interruption publicitaire
|
||||
Et je vois "Écoute sans publicité (Mode Kids)" dans les paramètres
|
||||
|
||||
Scénario: Désactiver le Mode Kids
|
||||
Étant donné que le Mode Kids est activé
|
||||
Quand j'ouvre les paramètres Mode Kids
|
||||
Et que je bascule le toggle sur "Désactivé"
|
||||
Alors je vois une confirmation "Désactiver le Mode Kids?"
|
||||
Et je vois "Tous les contenus seront à nouveau accessibles"
|
||||
Quand je confirme
|
||||
Alors le Mode Kids est désactivé
|
||||
Et le badge "🛡️ Mode Kids" disparaît
|
||||
Et je vois "Mode Kids désactivé"
|
||||
|
||||
Scénario: Parent active Mode Kids pour son enfant
|
||||
Étant donné que je suis le parent d'un utilisateur de 13 ans
|
||||
Et que j'ai accès au compte de mon enfant via contrôle parental
|
||||
Quand j'active le Mode Kids
|
||||
Et que je définis un code PIN parental
|
||||
Alors le Mode Kids est activé sur le compte enfant
|
||||
Et seul le code PIN peut le désactiver
|
||||
|
||||
Scénario: Enfant essaie de désactiver Mode Kids avec PIN parental
|
||||
Étant donné que le Mode Kids est activé avec PIN parental
|
||||
Quand mon enfant essaie de désactiver le Mode Kids
|
||||
Alors il voit un écran "Code PIN parental requis"
|
||||
Et il doit saisir le code PIN à 4 chiffres
|
||||
Si le code est incorrect
|
||||
Alors je vois "Code incorrect" et le Mode Kids reste actif
|
||||
|
||||
Scénario: Code PIN correct désactive le Mode Kids
|
||||
Étant donné que le Mode Kids est activé avec PIN parental
|
||||
Quand je saisis le code PIN correct
|
||||
Alors le Mode Kids peut être désactivé
|
||||
Et je vois "Mode Kids désactivé (autorisé par parent)"
|
||||
|
||||
Scénario: Profil "Enfants" avec Mode Kids automatique
|
||||
Étant donné que je crée un profil "👶 Enfants"
|
||||
Quand j'active le Mode Kids dans ce profil
|
||||
Alors le profil active automatiquement le Mode Kids
|
||||
Et tous les autres paramètres sont forcés:
|
||||
| paramètre | valeur |
|
||||
| Politique | Masquer (verrouillé) |
|
||||
| Publicité | Aucune (verrouillé) |
|
||||
|
||||
Scénario: Switch entre profil normal et profil Kids
|
||||
Étant donné que j'ai un profil "Road trip" (normal)
|
||||
Et un profil "Enfants" (Mode Kids)
|
||||
Quand je passe du profil "Road trip" à "Enfants"
|
||||
Alors le Mode Kids s'active automatiquement
|
||||
Et je vois "Mode Kids activé 🛡️"
|
||||
Quand je repasse à "Road trip"
|
||||
Alors le Mode Kids se désactive
|
||||
Et je vois "Mode Kids désactivé"
|
||||
|
||||
Scénario: Audio-guide accessible en Mode Kids
|
||||
Étant donné que le Mode Kids est activé
|
||||
Et qu'un audio-guide "Tous publics" existe au Louvre
|
||||
Quand je suis à proximité du Louvre
|
||||
Alors l'audio-guide est proposé normalement
|
||||
Et toutes les séquences "Tous publics" sont accessibles
|
||||
Et je vois le badge "Tous publics ✓"
|
||||
|
||||
Scénario: Statistiques d'écoute en Mode Kids
|
||||
Étant donné que le Mode Kids est activé
|
||||
Quand je consulte mes statistiques
|
||||
Alors je vois:
|
||||
| métrique | valeur |
|
||||
| Contenus écoutés (Mode Kids) | 45 |
|
||||
| Heures d'écoute | 23h |
|
||||
| Catégories favorites | Culture |
|
||||
Et je vois "Mode Kids actif depuis le 15/01/2026"
|
||||
|
||||
Scénario: Notification pour contenu inapproprié détecté
|
||||
Étant donné que le Mode Kids est activé
|
||||
Et qu'un contenu classé "Tous publics" contient du langage inapproprié signalé
|
||||
Quand je commence l'écoute
|
||||
Alors je vois un avertissement "Contenu signalé par la communauté"
|
||||
Et je peux choisir "Continuer" ou "Passer"
|
||||
|
||||
Scénario: Interface visuelle identique en Mode Kids
|
||||
Étant donné que le Mode Kids est activé
|
||||
Quand je navigue dans l'app
|
||||
Alors l'interface est identique au mode normal
|
||||
Et il n'y a pas d'interface "enfant" spéciale
|
||||
Et seul le filtrage de contenu est actif
|
||||
Et le badge "🛡️ Mode Kids" indique le mode actif
|
||||
|
||||
Scénario: Badge "Tous publics" sur les contenus
|
||||
Étant donné que le Mode Kids est activé
|
||||
Quand je consulte les détails d'un contenu
|
||||
Alors je vois clairement le badge "Tous publics ✓"
|
||||
Et la classification d'âge est bien visible
|
||||
Et je sais que le contenu est adapté
|
||||
|
||||
Scénario: Onglet "Mode Kids" dans paramètres
|
||||
Quand j'ouvre les paramètres
|
||||
Alors je vois un onglet dédié "Mode Kids"
|
||||
Et il est bien visible
|
||||
Et je peux y accéder rapidement
|
||||
|
||||
Scénario: Activer Mode Kids depuis un profil
|
||||
Étant donné que je crée un nouveau profil
|
||||
Quand je vois l'option "Activer Mode Kids pour ce profil"
|
||||
Et que je l'active
|
||||
Alors le Mode Kids est lié à ce profil uniquement
|
||||
Et se désactive automatiquement quand je change de profil
|
||||
|
||||
Scénario: Compteur de contenus disponibles en Mode Kids
|
||||
Étant donné que le Mode Kids est activé
|
||||
Quand je consulte l'écran Mode Kids dans les paramètres
|
||||
Alors je vois "~2,450 contenus 'Tous publics' disponibles dans votre zone"
|
||||
Et je sais qu'il y a suffisamment de contenu
|
||||
|
||||
Scénario: Message explicatif pour utilisateurs 16+
|
||||
Étant donné que je suis un utilisateur de 18 ans
|
||||
Quand j'active le Mode Kids
|
||||
Alors je vois un message:
|
||||
"""
|
||||
Mode Kids activé
|
||||
|
||||
Même si vous avez plus de 15 ans, ce mode
|
||||
filtre les contenus 16+ et 18+.
|
||||
|
||||
Seuls les contenus "Tous publics" seront accessibles.
|
||||
"""
|
||||
|
||||
Scénario: Désactivation automatique à 16 ans (optionnel)
|
||||
Étant donné que je suis un utilisateur de 15 ans
|
||||
Et que le Mode Kids est activé
|
||||
Quand j'atteins 16 ans (anniversaire)
|
||||
Alors je reçois une notification:
|
||||
"""
|
||||
🎂 Joyeux anniversaire!
|
||||
|
||||
Vous avez maintenant 16 ans.
|
||||
Le Mode Kids peut être désactivé si vous le souhaitez.
|
||||
|
||||
Accédez à tous les contenus adaptés à votre âge.
|
||||
"""
|
||||
Et je peux choisir de garder ou désactiver le Mode Kids
|
||||
|
||||
Scénario: Export données RGPD inclut historique Mode Kids
|
||||
Étant donné que le Mode Kids a été activé pendant 6 mois
|
||||
Quand je demande l'export RGPD
|
||||
Alors l'export inclut:
|
||||
| information | inclus |
|
||||
| Historique Mode Kids | ✅ |
|
||||
| Dates activation/désactiv.| ✅ |
|
||||
| Contenus écoutés filtrés | ✅ |
|
||||
|
||||
Scénario: Onboarding Mode Kids pour nouveaux utilisateurs 13-15 ans
|
||||
Étant donné que je m'inscris à RoadWave
|
||||
Et que j'ai 14 ans
|
||||
Quand je termine l'inscription
|
||||
Alors je vois un écran de bienvenue:
|
||||
"""
|
||||
Bienvenue sur RoadWave! 👋
|
||||
|
||||
Nous avons détecté que vous avez 14 ans.
|
||||
|
||||
Souhaitez-vous activer le Mode Kids?
|
||||
Filtrage automatique pour contenus adaptés.
|
||||
"""
|
||||
Et je peux choisir "Activer" ou "Plus tard"
|
||||
256
features/ui/recommendation/notifications-geo.feature
Normal file
256
features/ui/recommendation/notifications-geo.feature
Normal file
@@ -0,0 +1,256 @@
|
||||
# language: fr
|
||||
Fonctionnalité: UI - Notifications géographiques
|
||||
En tant qu'utilisateur
|
||||
Je veux recevoir des notifications lors du passage près d'un point d'intérêt
|
||||
Afin de découvrir du contenu géolocalisé pertinent
|
||||
|
||||
Contexte:
|
||||
Étant donné que l'application RoadWave est ouverte
|
||||
Et que je suis connecté
|
||||
Et que la géolocalisation est activée
|
||||
|
||||
Scénario: Notification au passage <500m d'un point GPS
|
||||
Étant donné qu'un contenu "géo-ancré" existe au Louvre
|
||||
Et que j'écoute un podcast en cours
|
||||
Quand je passe à 400m du point GPS du Louvre
|
||||
Alors j'entends un bip court (notification sonore)
|
||||
Et je vois une notification visuelle apparaître
|
||||
Et la notification affiche:
|
||||
| élément | valeur |
|
||||
| Logo | 🏛️ (Culturel) |
|
||||
| Titre | "Histoire du Louvre" |
|
||||
| Distance | "À 400m" |
|
||||
| Durée | "12 min" |
|
||||
Et je dispose de 5 secondes pour réagir
|
||||
|
||||
Scénario: Types de logos selon le contenu
|
||||
Plan du Scénario: Logo selon le type de contenu
|
||||
Étant donné qu'un contenu de type "<type>" existe à proximité
|
||||
Quand je reçois la notification
|
||||
Alors je vois le logo "<logo>"
|
||||
|
||||
Exemples:
|
||||
| type | logo |
|
||||
| Info | 📍 |
|
||||
| Culturel | 🏛️ |
|
||||
| Commercial | 🍴 |
|
||||
| Événement | 🎭 |
|
||||
|
||||
Scénario: Accepter la notification - lecture immédiate
|
||||
Étant donné que je reçois une notification géo
|
||||
Quand je clique sur "Écouter" dans les 5 secondes
|
||||
Alors le contenu en cours s'arrête
|
||||
Et le nouveau contenu se lance immédiatement
|
||||
Et je vois "Lecture: Histoire du Louvre"
|
||||
|
||||
Scénario: Accepter via bouton au volant
|
||||
Étant donné que je reçois une notification géo
|
||||
Et que je conduis
|
||||
Quand j'appuie sur le bouton "Suivant" de mon volant
|
||||
Alors le contenu géolocalisé se lance
|
||||
Et je n'ai pas besoin de toucher l'écran
|
||||
|
||||
Scénario: Accepter via commande vocale
|
||||
Étant donné que je reçois une notification géo
|
||||
Quand je dis "Écouter"
|
||||
Alors le contenu géolocalisé se lance immédiatement
|
||||
Et je garde les mains sur le volant
|
||||
|
||||
Scénario: Ignorer la notification - délai 5 secondes
|
||||
Étant donné que je reçois une notification géo
|
||||
Quand je ne fais rien pendant 5 secondes
|
||||
Alors la notification disparaît automatiquement
|
||||
Et le contenu en cours continue normalement
|
||||
Et le contenu géo est ajouté à la file d'attente
|
||||
|
||||
Scénario: Notification ajoutée à la file si ignorée
|
||||
Étant donné que j'ignore une notification géo
|
||||
Quand je consulte ma file d'attente
|
||||
Alors je vois le contenu "Histoire du Louvre" dans la liste
|
||||
Et je peux l'écouter plus tard
|
||||
|
||||
Scénario: Notification publicitaire - son différent
|
||||
Étant donné qu'une publicité géolocalisée existe à proximité
|
||||
Quand je passe à <500m
|
||||
Alors j'entends un son différent (optionnel selon paramètres)
|
||||
Et je vois le logo 🍴 "Restaurant local"
|
||||
Et je vois "(Publicité)" bien visible
|
||||
Et je peux accepter ou ignorer comme un contenu normal
|
||||
|
||||
Scénario: Publicité ne coupe jamais le contenu en cours
|
||||
Étant donné que j'écoute un podcast
|
||||
Et qu'une pub géolocalisée existe à proximité
|
||||
Quand je reçois la notification pub
|
||||
Alors le podcast en cours continue sans interruption
|
||||
Et la pub s'intercalera uniquement entre deux séquences si acceptée
|
||||
|
||||
Scénario: Gestion du demi-tour - pas de re-notification
|
||||
Étant donné que j'ai reçu une notification pour le Louvre
|
||||
Et que j'ai ignoré la notification
|
||||
Quand je fais demi-tour et repasse à <500m du Louvre
|
||||
Alors je ne reçois pas de nouvelle notification
|
||||
Et le contenu reste dans la file d'attente
|
||||
|
||||
Scénario: Réinitialisation après 24h
|
||||
Étant donné que j'ai ignoré une notification pour le Louvre
|
||||
Et que 24 heures se sont écoulées
|
||||
Quand je repasse à <500m du Louvre
|
||||
Alors je reçois à nouveau la notification
|
||||
Et je peux choisir de l'écouter
|
||||
|
||||
Scénario: Notification visuelle discrète en mode conduite
|
||||
Étant donné que je conduis à 50 km/h
|
||||
Quand je reçois une notification géo
|
||||
Alors la notification apparaît en bas de l'écran
|
||||
Et elle est discrète pour ne pas distraire
|
||||
Et le texte est lisible rapidement
|
||||
Et l'animation est fluide
|
||||
|
||||
Scénario: Compteur de temps restant pour accepter
|
||||
Étant donné que je reçois une notification géo
|
||||
Quand la notification s'affiche
|
||||
Alors je vois un compteur circulaire "5...4...3...2...1"
|
||||
Et le cercle se vide progressivement
|
||||
Et je sais combien de temps il me reste
|
||||
|
||||
Scénario: Balayer pour ignorer rapidement
|
||||
Étant donné que je reçois une notification géo
|
||||
Quand je balaye la notification vers la droite
|
||||
Alors la notification disparaît immédiatement
|
||||
Et le contenu est ajouté à la file d'attente
|
||||
Et je vois "Ajouté à la file d'attente"
|
||||
|
||||
Scénario: Balayer pour accepter rapidement
|
||||
Étant donné que je reçois une notification géo
|
||||
Quand je balaye la notification vers la gauche
|
||||
Alors le contenu se lance immédiatement
|
||||
Et je vois "Lecture: Histoire du Louvre"
|
||||
|
||||
Scénario: Désactiver les notifications géo dans les paramètres
|
||||
Étant donné que je suis dans les paramètres
|
||||
Quand je désactive "Notifications géolocalisées"
|
||||
Alors je ne reçois plus de notifications au passage de points GPS
|
||||
Mais les contenus géo restent recommandés normalement dans la file
|
||||
|
||||
Scénario: Régler le rayon de déclenchement
|
||||
Étant donné que je suis dans les paramètres avancés
|
||||
Quand je modifie "Rayon de notification" de 500m à 1000m
|
||||
Alors les notifications se déclenchent à 1000m au lieu de 500m
|
||||
Et je reçois les notifications plus tôt
|
||||
|
||||
Scénario: Désactiver le son des notifications
|
||||
Étant donné que je suis dans les paramètres audio
|
||||
Quand je désactive "Son des notifications géo"
|
||||
Alors je reçois uniquement les notifications visuelles
|
||||
Et aucun bip n'est joué
|
||||
|
||||
Scénario: Désactiver uniquement les pubs géolocalisées
|
||||
Étant donné que je suis dans les paramètres
|
||||
Quand je désactive "Publicités géolocalisées"
|
||||
Alors je ne reçois plus de notifications pour les pubs
|
||||
Mais je reçois toujours les notifications pour les contenus organiques
|
||||
|
||||
Scénario: Notification en mode piéton
|
||||
Étant donné que je suis en mode piéton (vitesse < 5 km/h)
|
||||
Quand je passe à <500m d'un point GPS
|
||||
Alors je reçois la notification normalement
|
||||
Et la notification peut être plus détaillée (mode piéton)
|
||||
Et je vois une miniature du contenu
|
||||
|
||||
Scénario: Notification en mode voiture
|
||||
Étant donné que je conduis à 70 km/h
|
||||
Quand je reçois une notification géo
|
||||
Alors la notification est ultra-simplifiée
|
||||
Et je vois uniquement: Logo + Titre + "Écouter"
|
||||
Et l'interface est adaptée à la conduite
|
||||
|
||||
Scénario: Historique des notifications ignorées
|
||||
Étant donné que j'ai ignoré 5 notifications géo aujourd'hui
|
||||
Quand je consulte "Historique notifications"
|
||||
Alors je vois la liste des 5 notifications ignorées:
|
||||
| contenu | heure | lieu |
|
||||
| Histoire du Louvre | 14:30 | Paris 1er |
|
||||
| Restaurant local | 15:00 | Paris 8e |
|
||||
| Musée d'Orsay | 15:45 | Paris 7e |
|
||||
Et je peux les écouter depuis l'historique
|
||||
|
||||
Scénario: Notification avec aperçu vocal (optionnel)
|
||||
Étant donné que j'ai activé "Aperçu vocal" dans les paramètres
|
||||
Quand je reçois une notification géo
|
||||
Alors après le bip, j'entends: "Histoire du Louvre, 12 minutes, à 400 mètres"
|
||||
Et je peux accepter vocalement en disant "Écouter"
|
||||
|
||||
Scénario: Plusieurs notifications en cascade
|
||||
Étant donné que je suis dans une zone dense (Paris)
|
||||
Et qu'il y a 3 contenus géo-ancrés dans un rayon de 500m
|
||||
Quand je passe à proximité
|
||||
Alors je reçois la notification du contenu le plus proche en premier
|
||||
Et les autres notifications sont espacées de 30 secondes minimum
|
||||
Et je ne suis pas submergé de notifications
|
||||
|
||||
Scénario: Priorisation des notifications par pertinence
|
||||
Étant donné que 2 contenus sont à proximité:
|
||||
| contenu | distance | score_intérêts |
|
||||
| Audio-guide A | 300m | 0.9 |
|
||||
| Podcast B | 250m | 0.3 |
|
||||
Quand je dois recevoir une notification
|
||||
Alors "Audio-guide A" est notifié en premier (score plus élevé)
|
||||
Même si "Podcast B" est plus proche
|
||||
|
||||
Scénario: Notification lors d'une pause
|
||||
Étant donné que j'ai mis en pause mon contenu
|
||||
Quand je passe à <500m d'un point GPS
|
||||
Alors je reçois la notification normalement
|
||||
Et si j'accepte, le nouveau contenu se lance
|
||||
Et l'ancien contenu en pause reste en pause
|
||||
|
||||
Scénario: Carte avec points d'intérêt à proximité
|
||||
Étant donné que je consulte l'écran "Carte"
|
||||
Quand je zoome sur ma position
|
||||
Alors je vois des marqueurs pour tous les contenus géo-ancrés à <5km
|
||||
Et chaque marqueur affiche le logo du type de contenu
|
||||
Et je peux taper sur un marqueur pour voir les détails
|
||||
|
||||
Scénario: Prévisualiser les notifications à venir sur itinéraire
|
||||
Étant donné que j'ai saisi un itinéraire dans GPS
|
||||
Quand je consulte "Contenus sur votre route"
|
||||
Alors je vois la liste des contenus géo qui seront notifiés:
|
||||
| contenu | dans | type |
|
||||
| Histoire du Louvre | 5 min | 🏛️ Culturel |
|
||||
| Restaurant local | 12min | 🍴 Commercial|
|
||||
Et je peux pré-écouter ou ignorer d'avance
|
||||
|
||||
Scénario: Annuler une notification en cours
|
||||
Étant donné qu'une notification géo s'affiche
|
||||
Et que le compteur est à 3 secondes
|
||||
Quand je tape sur ❌ "Fermer"
|
||||
Alors la notification disparaît immédiatement
|
||||
Et le contenu est ajouté à la file d'attente
|
||||
|
||||
Scénario: Badge compteur de notifications ignorées
|
||||
Étant donné que j'ai ignoré 3 notifications géo
|
||||
Quand je consulte l'écran principal
|
||||
Alors je vois un badge "3" sur l'icône "File d'attente"
|
||||
Et je sais qu'il y a 3 contenus géo en attente
|
||||
|
||||
Scénario: Animation fluide de la notification
|
||||
Quand une notification géo apparaît
|
||||
Alors elle glisse du bas vers le haut de l'écran
|
||||
Et l'animation dure 300ms
|
||||
Et elle est fluide (60 FPS)
|
||||
Et elle ne bloque pas l'interface principale
|
||||
|
||||
Scénario: Notification en arrière-plan (app fermée)
|
||||
Étant donné que l'app est fermée
|
||||
Et que les notifications sont autorisées
|
||||
Quand je passe à <500m d'un point GPS
|
||||
Alors je reçois une notification push système:
|
||||
"""
|
||||
🏛️ RoadWave
|
||||
|
||||
Histoire du Louvre
|
||||
À 400m • 12 min
|
||||
|
||||
Ouvrir pour écouter
|
||||
"""
|
||||
Et en tapant dessus, l'app s'ouvre et le contenu peut être lancé
|
||||
314
features/ui/recommendation/parametres-personnalisation.feature
Normal file
314
features/ui/recommendation/parametres-personnalisation.feature
Normal file
@@ -0,0 +1,314 @@
|
||||
# language: fr
|
||||
Fonctionnalité: UI - Paramètres de personnalisation et profils
|
||||
En tant qu'utilisateur
|
||||
Je veux personnaliser mon expérience avec des curseurs et profils
|
||||
Afin d'adapter l'application à mes différents contextes d'usage
|
||||
|
||||
Contexte:
|
||||
Étant donné que l'application RoadWave est ouverte
|
||||
Et que je suis connecté
|
||||
|
||||
Scénario: Accéder aux paramètres de personnalisation
|
||||
Quand j'ouvre le menu principal
|
||||
Et que je clique sur "Paramètres"
|
||||
Et que je clique sur "Personnalisation"
|
||||
Alors je vois l'écran "Personnalisation des recommandations"
|
||||
Et je vois trois curseurs disponibles:
|
||||
| curseur | icône | description |
|
||||
| Géolocalisation | 📍 | Local ← slider → National |
|
||||
| Découverte | 🎲 | 0% ← slider → 50% |
|
||||
| Politique | ⚖️ | Masquer / Équilibré / Préféré |
|
||||
|
||||
Scénario: Déplacer le curseur Géolocalisation vers Local
|
||||
Étant donné que je suis sur l'écran de personnalisation
|
||||
Et que le curseur Géolocalisation est au centre (défaut)
|
||||
Quand je déplace le curseur vers la gauche (Local)
|
||||
Alors le curseur se positionne à 30% (local)
|
||||
Et je vois le texte "Recommandations locales privilégiées"
|
||||
Et un indicateur visuel montre que la zone géographique est réduite
|
||||
Et je vois "Portée: ~50 km"
|
||||
|
||||
Scénario: Déplacer le curseur Géolocalisation vers National
|
||||
Étant donné que je suis sur l'écran de personnalisation
|
||||
Quand je déplace le curseur Géolocalisation vers la droite (National)
|
||||
Alors le curseur se positionne à 80% (national)
|
||||
Et je vois le texte "Découverte nationale activée"
|
||||
Et je vois "Portée: toute la France"
|
||||
Et une carte de France s'affiche avec la zone en surbrillance
|
||||
|
||||
Scénario: Régler le curseur Découverte à 0%
|
||||
Quand je déplace le curseur Découverte tout à gauche (0%)
|
||||
Alors le curseur est à 0%
|
||||
Et je vois l'icône 🎯 "Personnalisé max"
|
||||
Et je vois le message "Aucune surprise, uniquement vos préférences"
|
||||
Et un badge "0% aléatoire" s'affiche
|
||||
|
||||
Scénario: Régler le curseur Découverte à 10% (défaut)
|
||||
Quand je déplace le curseur Découverte à 10%
|
||||
Alors je vois l'icône ⚖️ "Équilibré"
|
||||
Et je vois "1 contenu sur 10 sera une découverte"
|
||||
Et c'est marqué comme "(Recommandé)"
|
||||
|
||||
Scénario: Régler le curseur Découverte à 30%
|
||||
Quand je déplace le curseur Découverte à 30%
|
||||
Alors je vois l'icône 🎲 "Découverte élevée"
|
||||
Et je vois "3 contenus sur 10 seront des découvertes"
|
||||
|
||||
Scénario: Régler le curseur Découverte à 50% (max)
|
||||
Quand je déplace le curseur Découverte tout à droite (50%)
|
||||
Alors je vois l'icône 🌍 "Découverte max"
|
||||
Et je vois "50% de contenus aléatoires"
|
||||
Et je vois le message "Explorez tout RoadWave!"
|
||||
|
||||
Scénario: Sélectionner option Politique "Masquer"
|
||||
Étant donné que le paramètre Politique est sur "Équilibré" (défaut)
|
||||
Quand je clique sur le bouton radio "Masquer"
|
||||
Alors l'option "Masquer contenu politique" est sélectionnée
|
||||
Et je vois l'icône 🚫 "Aucun contenu politique"
|
||||
Et je vois "0% de contenus tagués Politique"
|
||||
|
||||
Scénario: Sélectionner option Politique "Équilibré"
|
||||
Quand je clique sur le bouton radio "Équilibré"
|
||||
Alors l'option est sélectionnée
|
||||
Et je vois l'icône ⚖️ "Équilibré"
|
||||
Et je vois "Contenu politique selon vos intérêts" (défaut MVP)
|
||||
|
||||
Scénario: Sélectionner option Politique "Mes préférences"
|
||||
Quand je clique sur le bouton radio "Mes préférences"
|
||||
Alors l'option est sélectionnée
|
||||
Et je vois l'icône ❤️ "Selon votre jauge Politique"
|
||||
Et je vois "Basé sur votre jauge 'Politique': 45%"
|
||||
|
||||
Scénario: Sauvegarder les modifications de paramètres
|
||||
Étant donné que j'ai modifié les 3 curseurs
|
||||
Quand je clique sur "Sauvegarder"
|
||||
Alors je vois une animation de confirmation
|
||||
Et je vois "Paramètres enregistrés ✓"
|
||||
Et je retourne à l'écran précédent
|
||||
Et les nouvelles recommandations utilisent ces paramètres
|
||||
|
||||
Scénario: Annuler les modifications de paramètres
|
||||
Étant donné que j'ai modifié les curseurs
|
||||
Et que je n'ai pas sauvegardé
|
||||
Quand je clique sur "Retour"
|
||||
Alors je vois une popup "Sauvegarder les modifications?"
|
||||
Et je vois deux boutons "Sauvegarder" et "Abandonner"
|
||||
Quand je clique sur "Abandonner"
|
||||
Alors les paramètres ne sont pas modifiés
|
||||
Et je retourne à l'écran précédent
|
||||
|
||||
Scénario: Créer un nouveau profil personnalisé
|
||||
Étant donné que je suis sur l'écran de personnalisation
|
||||
Quand je clique sur "Créer un profil"
|
||||
Alors je vois un popup "Nouveau profil"
|
||||
Et je peux saisir un nom de profil
|
||||
Et je peux choisir une icône:
|
||||
| icône | description |
|
||||
| 🚗 | Trajet quotidien |
|
||||
| 🛣️ | Road trip |
|
||||
| 👶 | Enfants |
|
||||
| 🏃 | Sport |
|
||||
| 🎵 | Musique |
|
||||
|
||||
Scénario: Créer profil "Trajet quotidien"
|
||||
Quand je crée un profil nommé "Trajet quotidien"
|
||||
Et que je choisis l'icône 🚗
|
||||
Et que je configure:
|
||||
| paramètre | valeur |
|
||||
| Géolocalisation | Local |
|
||||
| Découverte | 5% |
|
||||
| Politique | Masquer |
|
||||
Et que je clique sur "Créer le profil"
|
||||
Alors le profil "🚗 Trajet quotidien" est créé
|
||||
Et je le vois dans la liste des profils
|
||||
Et je vois "Profil créé avec succès"
|
||||
|
||||
Scénario: Créer profil "Road trip"
|
||||
Quand je crée un profil nommé "Road trip"
|
||||
Et que je choisis l'icône 🛣️
|
||||
Et que je configure:
|
||||
| paramètre | valeur |
|
||||
| Géolocalisation | Régional |
|
||||
| Découverte | 30% |
|
||||
| Politique | Équilibré |
|
||||
Alors le profil est créé et sauvegardé
|
||||
|
||||
Scénario: Créer profil "Enfants" avec Mode Kids
|
||||
Quand je crée un profil nommé "Enfants"
|
||||
Et que je choisis l'icône 👶
|
||||
Et que j'active "Mode Kids"
|
||||
Alors le profil est créé avec:
|
||||
| paramètre | valeur |
|
||||
| Mode Kids | Activé |
|
||||
| Politique | Masquer (forcé) |
|
||||
| Publicité | Aucune (forcé) |
|
||||
Et les autres paramètres sont grisés/verrouillés
|
||||
|
||||
Scénario: Afficher la liste des profils
|
||||
Étant donné que j'ai créé 3 profils:
|
||||
| nom | icône | actif |
|
||||
| Trajet quotidien | 🚗 | Non |
|
||||
| Road trip | 🛣️ | Oui |
|
||||
| Enfants | 👶 | Non |
|
||||
Quand je consulte l'écran de personnalisation
|
||||
Alors je vois la section "Mes profils"
|
||||
Et je vois mes 3 profils sous forme de cartes
|
||||
Et le profil "Road trip" est marqué avec un badge "Actif"
|
||||
|
||||
Scénario: Activer un profil existant
|
||||
Étant donné que le profil "Road trip" est actif
|
||||
Et que je vois le profil "Trajet quotidien"
|
||||
Quand je clique sur la carte "Trajet quotidien"
|
||||
Alors je vois un popup de confirmation "Activer ce profil?"
|
||||
Et je vois un aperçu des paramètres du profil
|
||||
Quand je confirme
|
||||
Alors le profil "Trajet quotidien" devient actif
|
||||
Et je vois une animation de transition
|
||||
Et je vois "Profil 'Trajet quotidien' activé ✓"
|
||||
Et le badge "Actif" se déplace sur ce profil
|
||||
|
||||
Scénario: Indicateur visuel du profil actif
|
||||
Étant donné que le profil "Road trip" est actif
|
||||
Quand je consulte l'écran principal
|
||||
Alors je vois en haut de l'écran un badge "🛣️ Road trip"
|
||||
Et ce badge indique quel profil est actuellement utilisé
|
||||
Et je peux taper dessus pour switcher rapidement
|
||||
|
||||
Scénario: Switcher rapidement de profil depuis l'écran principal
|
||||
Étant donné que je suis sur l'écran principal
|
||||
Et que le profil "Road trip" est actif
|
||||
Quand je tape sur le badge "🛣️ Road trip"
|
||||
Alors je vois une liste déroulante de tous mes profils
|
||||
Quand je sélectionne "🚗 Trajet quotidien"
|
||||
Alors le profil change instantanément
|
||||
Et je vois "Profil changé"
|
||||
Et les recommandations se rechargent
|
||||
|
||||
Scénario: Modifier un profil existant
|
||||
Étant donné que j'ai un profil "Trajet quotidien"
|
||||
Quand je fais un appui long sur la carte du profil
|
||||
Alors je vois un menu contextuel avec:
|
||||
| action | icône |
|
||||
| Modifier | ✏️ |
|
||||
| Dupliquer | 📋 |
|
||||
| Supprimer | 🗑️ |
|
||||
Quand je clique sur "Modifier"
|
||||
Alors je peux modifier les paramètres du profil
|
||||
Et je sauvegarde les changements
|
||||
|
||||
Scénario: Dupliquer un profil
|
||||
Étant donné que j'ai un profil "Road trip"
|
||||
Quand je fais un appui long et choisis "Dupliquer"
|
||||
Alors un nouveau profil "Road trip (copie)" est créé
|
||||
Et il a les mêmes paramètres que l'original
|
||||
Et je peux le renommer et modifier
|
||||
|
||||
Scénario: Supprimer un profil
|
||||
Étant donné que j'ai un profil "Ancien profil"
|
||||
Quand je fais un appui long et choisis "Supprimer"
|
||||
Alors je vois une confirmation "Supprimer ce profil?"
|
||||
Quand je confirme
|
||||
Alors le profil est supprimé
|
||||
Et je vois "Profil supprimé"
|
||||
|
||||
Scénario: Impossible de supprimer le profil actif
|
||||
Étant donné que le profil "Road trip" est actif
|
||||
Quand je fais un appui long et choisis "Supprimer"
|
||||
Alors je vois "Impossible de supprimer le profil actif"
|
||||
Et je dois d'abord activer un autre profil
|
||||
|
||||
Scénario: Synchronisation profils entre devices
|
||||
Étant donné que j'ai créé 2 profils sur mon iPhone
|
||||
Quand je me connecte sur mon iPad
|
||||
Alors je vois mes 2 profils automatiquement synchronisés
|
||||
Et le profil actif sur iPhone est aussi actif sur iPad
|
||||
Et je vois "Profils synchronisés depuis iPhone"
|
||||
|
||||
Scénario: Modification profil synchronisée en temps réel
|
||||
Étant donné que j'ai ouvert l'app sur iPhone et iPad
|
||||
Quand je modifie un profil sur iPhone
|
||||
Alors le profil est mis à jour sur iPad en temps réel
|
||||
Et je vois une notification "Profil mis à jour" sur iPad
|
||||
|
||||
Scénario: Auto-switch selon contexte (détection trajet)
|
||||
Étant donné que j'ai un profil "Trajet quotidien"
|
||||
Et que l'option "Auto-switch intelligent" est activée
|
||||
Quand l'app détecte que je suis sur mon trajet habituel (GPS récurrent)
|
||||
Alors le profil "Trajet quotidien" s'active automatiquement
|
||||
Et je vois une notification "Profil 'Trajet quotidien' activé"
|
||||
Et je peux annuler en 5 secondes
|
||||
|
||||
Scénario: Désactiver l'auto-switch intelligent
|
||||
Étant donné que l'auto-switch est activé
|
||||
Quand je désactive l'option dans les paramètres
|
||||
Alors aucun changement automatique de profil n'est fait
|
||||
Et je garde le contrôle total
|
||||
|
||||
Scénario: Limitation nombre de profils
|
||||
Étant donné que j'ai créé 5 profils (maximum)
|
||||
Quand j'essaie de créer un 6ème profil
|
||||
Alors je vois "Limite de 5 profils atteinte"
|
||||
Et je dois supprimer un profil pour en créer un nouveau
|
||||
|
||||
Scénario: Blocage modification paramètres en conduite
|
||||
Étant donné que je suis en conduite (vitesse GPS > 10 km/h)
|
||||
Quand j'essaie d'ouvrir les paramètres de personnalisation
|
||||
Alors l'accès est bloqué
|
||||
Et je vois "⚠️ Configurez avant de prendre la route"
|
||||
Et je dois arrêter le véhicule pour modifier
|
||||
|
||||
Scénario: Warning au lancement app
|
||||
Quand je lance l'application pour la première fois
|
||||
Alors je vois un message de bienvenue
|
||||
Et je vois "Configurez vos préférences avant de prendre la route"
|
||||
Et je peux accéder directement aux paramètres
|
||||
Ou "Configurer plus tard"
|
||||
|
||||
Scénario: Profil par défaut pour nouveaux utilisateurs
|
||||
Étant donné que je viens de m'inscrire
|
||||
Quand j'ouvre l'app pour la première fois
|
||||
Alors un profil "Par défaut" est créé automatiquement
|
||||
Et il a les paramètres standards:
|
||||
| paramètre | valeur |
|
||||
| Géolocalisation | Équilibré |
|
||||
| Découverte | 10% |
|
||||
| Politique | Équilibré |
|
||||
|
||||
Scénario: Prévisualisation des modifications en temps réel
|
||||
Étant donné que je modifie le curseur Géolocalisation
|
||||
Quand je déplace le curseur
|
||||
Alors je vois une prévisualisation en temps réel:
|
||||
| élément | affichage |
|
||||
| Rayon géographique | Cercle sur mini-carte |
|
||||
| Nombre contenus impactés | "~250 contenus à proximité"|
|
||||
| Distance max | "100 km" |
|
||||
|
||||
Scénario: Tooltip explicatif sur chaque curseur
|
||||
Quand je tape sur l'icône ℹ️ à côté du curseur Géolocalisation
|
||||
Alors je vois un tooltip explicatif:
|
||||
"""
|
||||
Géolocalisation
|
||||
|
||||
Local: Privilégie les contenus très proches (< 50 km)
|
||||
National: Découvrez des contenus de toute la France
|
||||
|
||||
Idéal en Local pour les trajets quotidiens,
|
||||
en National pour les road trips.
|
||||
"""
|
||||
|
||||
Scénario: Exporter/Importer profils
|
||||
Étant donné que j'ai configuré mes profils parfaitement
|
||||
Quand je clique sur "Exporter mes profils"
|
||||
Alors un fichier JSON est généré
|
||||
Et je peux le partager avec un autre appareil
|
||||
Quand j'importe ce fichier sur un autre appareil
|
||||
Alors tous mes profils sont restaurés
|
||||
|
||||
Scénario: Reset profils aux valeurs par défaut
|
||||
Étant donné que j'ai modifié tous mes paramètres
|
||||
Quand je clique sur "Réinitialiser aux valeurs par défaut"
|
||||
Alors je vois une confirmation
|
||||
Quand je confirme
|
||||
Alors tous les profils sont supprimés
|
||||
Et un profil "Par défaut" est recréé
|
||||
Et je vois "Paramètres réinitialisés"
|
||||
Reference in New Issue
Block a user