# language: fr Fonctionnalité: Mode piéton - Notifications push et basculement automatique En tant qu'utilisateur à pied Je veux recevoir des notifications push pour audio-guides à proximité Afin d'être alerté même avec l'application en arrière-plan Contexte: Étant donné que l'application RoadWave est installée Et que l'utilisateur est connecté # Détection automatique mode piéton Scénario: Basculement automatique vers mode piéton (vitesse < 5 km/h) Étant donné que je suis en mode voiture (vitesse 50 km/h) Quand ma vitesse GPS moyenne passe à 3 km/h pendant 10 secondes Alors l'application bascule automatiquement en mode piéton Et aucune popup de confirmation n'est affichée Et les notifications passent de "sonores + icône" à "push arrière-plan" Et le rayon de détection passe de 7s ETA à 200 mètres Scénario: Basculement automatique vers mode voiture (vitesse ≥ 5 km/h) Étant donné que je suis en mode piéton (vitesse 3 km/h) Quand ma vitesse GPS moyenne passe à 20 km/h pendant 10 secondes Alors l'application bascule automatiquement en mode voiture Et aucune popup de confirmation n'est affichée Et les notifications passent de "push arrière-plan" à "sonores + icône" Et le rayon de détection passe de 200m à 7s ETA Scénario: Hysteresis pour éviter basculements intempestifs Étant donné que je suis en mode piéton (vitesse 3 km/h) Quand ma vitesse passe brièvement à 6 km/h pendant 2 secondes Et qu'elle redescend à 3 km/h Alors le mode piéton est conservé Et aucun basculement n'a lieu Car la durée de 10 secondes stables n'a pas été atteinte Scénario: Vitesse moyenne calculée sur 30 secondes Étant donné que je suis en mode voiture Et que mes vitesses sur 30 secondes sont: [50, 48, 52, 3, 2, 4, 3, 2, ...] Quand la vitesse moyenne sur 30s devient < 5 km/h Et qu'elle reste stable pendant 10 secondes Alors le basculement vers mode piéton s'effectue # Permissions et activation Scénario: Permission "While Using App" demandée au premier lancement Étant donné que c'est le premier lancement de l'application Quand j'arrive sur l'onboarding Alors une demande de permission "Autoriser la localisation pendant l'utilisation" s'affiche Et l'explication est: "RoadWave utilise votre position pour proposer des contenus audio géolocalisés adaptés à votre trajet" Quand j'accepte Alors le mode voiture est pleinement fonctionnel Et le mode piéton notifications push n'est PAS encore activé Scénario: Permission "Always" demandée uniquement si user active mode piéton Étant donné que j'utilise RoadWave avec permission "While Using App" Et que je vais dans Réglages > Notifications audio-guides piéton Quand je clique sur le toggle "Activer notifications piéton" Alors un écran d'éducation s'affiche: """ 📍 Notifications audio-guides piéton Pour vous alerter d'audio-guides à proximité même quand vous marchez avec l'app fermée, RoadWave a besoin de votre position en arrière-plan. Votre position sera utilisée pour : ✅ Détecter monuments à 200m ✅ Vous envoyer une notification Votre position ne sera jamais : ❌ Vendue à des tiers ❌ Utilisée pour de la publicité Cette fonctionnalité est optionnelle. Vous pouvez utiliser RoadWave sans cette permission. [Continuer] [Non merci] """ Quand je clique sur "Continuer" Alors la demande système "Autoriser toujours" (iOS) ou "Autoriser tout le temps" (Android) s'affiche Et le mode piéton push est activé si j'accepte Scénario: Permission arrière-plan refusée désactive mode piéton push Étant donné que je refuse la permission "Autoriser toujours" Quand je reviens dans l'application Alors le toggle "Notifications piéton" est grisé et désactivé Et un message s'affiche: "Permission refusée. Mode piéton désactivé." Et le mode voiture reste pleinement fonctionnel Et je peux toujours utiliser les audio-guides en mode manuel Scénario: Permission arrière-plan peut être accordée plus tard Étant donné que j'ai refusé la permission arrière-plan Quand je vais dans Réglages de l'app Alors un bouton "Activer notifications piéton" est disponible Et un lien vers les réglages système iOS/Android est fourni Quand j'accorde la permission dans les réglages système Et que je reviens dans l'app Alors le mode piéton push est automatiquement activé # Notifications push en arrière-plan Scénario: Notification push quand app en arrière-plan (mode piéton) Étant donné que je suis en mode piéton Et que l'application est en arrière-plan (fermée) Et que je marche à proximité du Louvre Quand je passe dans le rayon de 200 mètres d'un audio-guide Alors une notification push système s'affiche: """ Audio-guide à proximité Musée du Louvre : La Joconde - @paris_museum """ Et je reçois la notification même si l'app est fermée Scénario: Tap sur notification ouvre app sur le contenu Étant donné qu'une notification push "Audio-guide à proximité" s'affiche Quand je tape sur la notification Alors l'application s'ouvre Et je suis redirigé vers la page du contenu audio-guide Et je peux démarrer la lecture manuellement Et je peux voir la description, le créateur, la durée, etc. Scénario: Geofencing iOS/Android pour économie batterie Étant donné que le mode piéton est activé Et que l'application utilise geofencing natif Quand je me déplace à pied Alors l'OS iOS/Android gère la détection de proximité Et l'application n'a pas besoin d'être constamment active Et la batterie est préservée (< 5% consommation supplémentaire) Scénario: Rayon de détection 200 mètres en mode piéton Étant donné que je suis en mode piéton Et qu'un audio-guide existe à 250 mètres Quand je me déplace Alors aucune notification n'est envoyée (hors rayon) Quand je passe à 180 mètres Alors une notification push est envoyée Car je suis dans le rayon de 200m # Quota anti-spam mode piéton Scénario: Même quota 6 notifications/heure en mode piéton Étant donné que je suis en mode piéton Et que j'ai reçu 6 notifications push dans la dernière heure Quand je passe près d'un 7ème audio-guide Alors aucune notification n'est envoyée Et le quota horaire est respecté Scénario: Cooldown 10 min si notification ignorée (app pas ouverte) Étant donné qu'une notification push a été envoyée Et que je ne l'ai pas ouverte dans les 10 minutes Quand le système détecte l'ignorance Alors un cooldown de 10 minutes est activé Et aucune nouvelle notification n'est envoyée pendant 10 min # Basculement automatique Scénario: Basculement transparent sans friction Étant donné que je marche à 3 km/h (mode piéton) Et que je monte dans ma voiture Quand ma vitesse passe à 50 km/h (stable 10s) Alors le basculement vers mode voiture s'effectue automatiquement Et je n'ai rien à faire Et aucune popup ne m'interrompt Et l'expérience est transparente Scénario: Notifications adaptées automatiquement Étant donné que je passe de piéton (3 km/h) à voiture (50 km/h) Quand le basculement s'effectue Alors les notifications push arrière-plan sont désactivées Et les notifications sonores + icône (app ouverte) sont activées Et le rayon passe de 200m à ETA 7 secondes Et l'adaptation est immédiate # Garantie RGPD et fonctionnalité optionnelle Scénario: Application utilisable sans permission arrière-plan Étant donné que je refuse la permission "Autoriser toujours" Quand j'utilise RoadWave Alors le mode voiture fonctionne à 100% Et je peux accéder à tous les audio-guides en mode manuel Et je peux télécharger des contenus offline Et seules les notifications push piéton sont désactivées Scénario: Révocation permission arrière-plan désactive mode piéton Étant donné que le mode piéton push était actif Quand je révoque la permission dans les réglages iOS/Android Et que j'ouvre l'application Alors un message s'affiche: "Permission arrière-plan révoquée. Mode piéton désactivé." Et le toggle est grisé dans les réglages Et le mode voiture reste fonctionnel Scénario: Désactivation mode piéton dans réglages Étant donné que le mode piéton push est actif Quand je vais dans Réglages > Notifications audio-guides piéton Et que je désactive le toggle Alors les notifications push sont arrêtées Et le geofencing est désactivé Et la permission arrière-plan reste accordée (mais non utilisée) Et je peux réactiver plus tard # Messages d'information Scénario: Message clair sur usage permission arrière-plan Étant donné que je consulte les réglages Quand j'affiche les informations sur le mode piéton Alors je vois: """ RoadWave utilise votre position en arrière-plan uniquement pour vous alerter d'audio-guides à proximité quand vous marchez. Cette fonctionnalité peut être désactivée à tout moment. Votre position n'est jamais partagée avec des tiers. """ # Cas limites Scénario: Mode indéterminé si vitesse exactement 5 km/h Étant donné que ma vitesse moyenne est exactement 5.0 km/h Quand le système vérifie le mode Alors le mode actuel est conservé (pas de basculement) Car le seuil est strict (< 5 km/h pour piéton, ≥ 5 km/h pour voiture) Scénario: Basculement impossible si GPS désactivé Étant donné que je désactive le GPS Quand le système tente de détecter la vitesse Alors aucun basculement automatique ne se produit Et le mode actuel est conservé par défaut Et un message "GPS désactivé" s'affiche si je tente de naviguer Scénario: Notification push ignorée ne consomme pas de quota Étant donné qu'une notification push est envoyée Et que je ne l'ouvre pas (ignorée) Quand je consulte mon quota Alors cette notification compte quand même dans le quota 6/h Et le cooldown 10 min est activé Plan du Scénario: Basculement selon vitesse Étant donné que ma vitesse moyenne est km/h pendant 10s Et que je suis en mode Quand le système détecte la vitesse stable Alors le mode devient Exemples: | vitesse | mode_initial | mode_final | | 2 | voiture | piéton | | 3 | voiture | piéton | | 4 | voiture | piéton | | 5 | piéton | voiture | | 10 | piéton | voiture | | 50 | piéton | voiture | | 130 | piéton | voiture | Plan du Scénario: Rayon de détection selon mode Étant donné que je suis en mode Quand un contenu géolocalisé existe à Alors une notification est Exemples: | mode | distance | decision | | piéton | 150m | envoyée | | piéton | 199m | envoyée | | piéton | 201m | non envoyée | | piéton | 300m | non envoyée | | voiture | 98m (ETA 7s) | envoyée | | voiture | 150m (ETA 10s) | non envoyée |