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:
jpgiannetti
2026-02-02 22:39:00 +01:00
parent 718581b954
commit 852240b5ec
4 changed files with 1065 additions and 0 deletions

View 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 | |

View 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"

View 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é

View 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"