# language: fr @ui @audio-guides @pedestrian @navigation @mvp Fonctionnalité: Navigation libre complète en mode piéton En tant qu'utilisateur piéton Je veux naviguer librement dans un audio-guide sans contrainte d'ordre Afin de découvrir les points d'intérêt selon mon itinéraire personnel Contexte: Étant donné un audio-guide "Visite du Quartier Latin" avec 8 séquences: | Ordre | Nom | Position GPS | Rayon | | 1 | Notre-Dame | 48.8534, 2.3488 | 100m | | 2 | Sainte-Chapelle | 48.8555, 2.3450 | 80m | | 3 | Panthéon | 48.8462, 2.3464 | 100m | | 4 | Jardin du Luxembourg | 48.8462, 2.3371 | 150m | | 5 | Sorbonne | 48.8487, 2.3431 | 70m | | 6 | Musée de Cluny | 48.8505, 2.3434 | 60m | | 7 | Rue Mouffetard | 48.8429, 2.3498 | 50m | | 8 | Arènes de Lutèce | 48.8456, 2.3523 | 80m | Scénario: Démarrage d'un audio-guide en mode piéton avec navigation libre Étant donné un utilisateur "alice@roadwave.fr" en mode piéton Et elle se trouve près de Notre-Dame Quand elle lance l'audio-guide "Visite du Quartier Latin" Alors l'écran principal affiche: | Élément | Contenu | | Carte interactive | Affichée avec 8 marqueurs | | Position utilisateur | Marqueur bleu en temps réel | | Points d'intérêt | Marqueurs numérotés 1-8 | | Distances | Affichées sur chaque marqueur | | Point le plus proche | Surligné en vert (Notre-Dame, 50m) | | Mode de lecture | "Navigation libre" activé par défaut | | Bouton "Liste" | Affiche la liste des séquences | Et un événement "AUDIO_GUIDE_STARTED_FREE_NAVIGATION" est enregistré Et la métrique "audio_guide.started.free_navigation" est incrémentée Scénario: Déclenchement automatique au point d'intérêt le plus proche Étant donné un utilisateur "bob@roadwave.fr" en mode piéton Et il a lancé l'audio-guide "Visite du Quartier Latin" Et il marche vers Notre-Dame Quand il entre dans le rayon de 100m de Notre-Dame Alors l'audio de la séquence #1 "Notre-Dame" démarre automatiquement Et une notification s'affiche: | Élément | Contenu | | Titre | 1/8 - Cathédrale Notre-Dame | | Distance | Vous êtes arrivé | | Progression | Barre de lecture audio | | Actions | [Pause] [Liste] [Carte] | Et le marqueur Notre-Dame passe de vert à bleu (en cours) Et un événement "SEQUENCE_AUTO_TRIGGERED" est enregistré Et la métrique "audio_guide.sequence.auto_triggered" est incrémentée Scénario: Écoute d'une séquence dans un ordre différent de l'ordre suggéré Étant donné un utilisateur "charlie@roadwave.fr" en mode piéton Et il a lancé l'audio-guide et écouté la séquence #1 "Notre-Dame" Et il décide de se rendre directement au Panthéon (séquence #3) Quand il marche vers le Panthéon en ignorant la séquence #2 Et entre dans le rayon de 100m du Panthéon Alors l'audio de la séquence #3 "Panthéon" démarre automatiquement Et la séquence #2 "Sainte-Chapelle" reste disponible et non écoutée Et un événement "SEQUENCE_OUT_OF_ORDER" est enregistré Et la métrique "audio_guide.sequence.out_of_order" est incrémentée Et la progression affiche: 2/8 séquences écoutées Scénario: Affichage de la carte avec points d'intérêt colorés par statut Étant donné un utilisateur "david@roadwave.fr" en mode piéton Et il a écouté 3 séquences sur 8 Quand il consulte la carte Alors les marqueurs sont colorés selon leur statut: | Séquence | Statut | Couleur | Icône | | Notre-Dame | Écoutée | Bleu | ✓ | | Sainte-Chapelle | Non écoutée | Gris | 2 | | Panthéon | Écoutée | Bleu | ✓ | | Jardin du Luxembourg| Non écoutée | Gris | 4 | | Sorbonne | Écoutée | Bleu | ✓ | | Musée de Cluny | Non écoutée | Gris | 6 | | Rue Mouffetard | En cours | Orange | ▶ | | Arènes de Lutèce | Non écoutée | Gris | 8 | Et le point le plus proche est surligné avec un halo vert Et les distances sont affichées en temps réel Scénario: Consultation de la liste des séquences avec filtres Étant donné un utilisateur "eve@roadwave.fr" en mode piéton Quand elle clique sur le bouton "Liste" Alors une liste des séquences s'affiche: | Séquence | Distance | Statut | Actions | | Notre-Dame | 50m | ✓ Écoutée | [Réécouter] | | Sainte-Chapelle | 200m | Non écoutée | [Y aller] [Lire] | | Panthéon | 350m | ✓ Écoutée | [Réécouter] | | Jardin du Luxembourg| 450m | Non écoutée | [Y aller] [Lire] | Et elle peut filtrer par: | Filtre | Options | | Statut | Toutes / Écoutées / Restantes | | Tri | Distance / Ordre suggéré / Durée | Et un compteur affiche: "3/8 séquences écoutées" Scénario: Lecture manuelle d'une séquence depuis la liste Étant donné un utilisateur "frank@roadwave.fr" en mode piéton Et il consulte la liste des séquences Quand il clique sur "Lire" pour la séquence #5 "Sorbonne" Alors l'audio de la Sorbonne démarre immédiatement Et peu importe la distance actuelle (peut être loin du point) Et un événement "SEQUENCE_MANUAL_PLAY" est enregistré Et la métrique "audio_guide.sequence.manual_play" est incrémentée Et un message d'information s'affiche: "Vous écoutez cette séquence hors localisation" Scénario: Navigation vers un point d'intérêt depuis la liste Étant donné un utilisateur "grace@roadwave.fr" en mode piéton Et elle consulte la liste des séquences Quand elle clique sur "Y aller" pour la séquence #4 "Jardin du Luxembourg" Alors l'application lance la navigation GPS vers le Jardin du Luxembourg Et un itinéraire piéton est calculé et affiché sur la carte Et la distance et le temps estimé sont affichés: "450m - 6 min" Et des instructions de navigation vocales sont données: | Instruction | | Dirigez-vous vers le sud | | Tournez à gauche dans 100 mètres | | Vous arrivez à destination | Et un événement "NAVIGATION_TO_POI_STARTED" est enregistré Et la métrique "audio_guide.navigation.started" est incrémentée Scénario: Réécoute d'une séquence déjà complétée Étant donné un utilisateur "henry@roadwave.fr" en mode piéton Et il a déjà écouté la séquence #1 "Notre-Dame" en entier Quand il clique sur "Réécouter" depuis la liste Alors l'audio de Notre-Dame redémarre depuis le début Et un événement "SEQUENCE_REPLAYED" est enregistré Et la métrique "audio_guide.sequence.replayed" est incrémentée Et la séquence reste marquée comme "Écoutée" (pas de duplication) Scénario: Pause et reprise d'une séquence en cours Étant donné un utilisateur "iris@roadwave.fr" en mode piéton Et elle écoute la séquence #3 "Panthéon" à la position 2min 30s Quand elle clique sur le bouton "Pause" Alors l'audio se met en pause Et la position de lecture est sauvegardée: 2min 30s Et un événement "SEQUENCE_PAUSED" est enregistré Quand elle clique sur le bouton "Lecture" Alors l'audio reprend exactement à 2min 30s Et un événement "SEQUENCE_RESUMED" est enregistré Scénario: Affichage de la progression globale de l'audio-guide Étant donné un utilisateur "jack@roadwave.fr" en mode piéton Et il a écouté 5 séquences sur 8 Quand il consulte l'écran principal Alors il voit la progression: | Élément | Contenu | | Barre de progression | 5/8 (62%) | | Séquences restantes | 3 points à découvrir | | Temps écouté | 42 minutes | | Distance parcourue | 2.8 km | | Badge de complétion | Bronze (50%+) | Et un bouton "Terminer l'audio-guide" est disponible si toutes les séquences sont écoutées Scénario: Découverte d'un point bonus caché (Easter egg) Étant donné un audio-guide avec un point bonus secret non listé Et un utilisateur "kate@roadwave.fr" en mode piéton Quand elle passe à proximité du point bonus caché (48.8470, 2.3450) Alors une notification s'affiche: "🎉 Point bonus découvert !" Et l'audio du point bonus démarre automatiquement Et un badge "Explorateur" est débloqué Et un événement "BONUS_POI_DISCOVERED" est enregistré Et la métrique "audio_guide.bonus.discovered" est incrémentée Scénario: Notifications de proximité pour les points à venir Étant donné un utilisateur "luke@roadwave.fr" en mode piéton Et il marche vers la Sainte-Chapelle Quand il est à 150m de la Sainte-Chapelle Alors une notification discrète s'affiche: "Sainte-Chapelle à 150m" Et un son subtil de notification est joué Quand il est à 50m Alors une notification plus visible s'affiche: "Arrivée imminente - Sainte-Chapelle" Et un événement "POI_PROXIMITY_NOTIFICATION" est enregistré Et la métrique "audio_guide.proximity.notified" est incrémentée Scénario: Mode hors ligne avec téléchargement préalable Étant donné un utilisateur "mary@roadwave.fr" en mode piéton Et elle a téléchargé l'audio-guide "Visite du Quartier Latin" avant de partir Quand elle active le mode avion (hors connexion) Alors la carte s'affiche en mode hors ligne (tiles pré-téléchargées) Et tous les audios sont disponibles en local Et la localisation GPS fonctionne normalement Et les séquences se déclenchent automatiquement hors ligne Et un événement "AUDIO_GUIDE_OFFLINE_MODE" est enregistré Et la métrique "audio_guide.offline.used" est incrémentée Scénario: Partage de la progression avec des amis Étant donné un utilisateur "nathan@roadwave.fr" en mode piéton Et il a écouté 4 séquences sur 8 Quand il clique sur "Partager ma progression" Alors un écran de partage s'ouvre avec: | Élément | Contenu | | Message | Je suis en train de découvrir le Quartier Latin !| | Progression | 4/8 points visités (50%) | | Carte visuelle | Capture d'écran de la carte avec progression | | Lien | https://roadwave.fr/share/abc123 | Et le partage peut être envoyé via: | Canal | Disponible | | SMS | Oui | | WhatsApp | Oui | | Facebook | Oui | | Twitter/X | Oui | Et un événement "AUDIO_GUIDE_PROGRESS_SHARED" est enregistré Et la métrique "audio_guide.shared" est incrémentée Scénario: Métriques de performance de la navigation libre Étant donné que 10 000 utilisateurs ont terminé l'audio-guide en mode navigation libre Quand les métriques d'usage sont collectées Alors les indicateurs suivants sont disponibles: | Métrique | Valeur moyenne | | Taux de complétion | 78% | | Nombre de séquences écoutées | 6.5/8 | | Temps moyen de visite | 2h 15min | | Distance moyenne parcourue | 3.2 km | | Pourcentage d'ordre non-suggéré | 42% | | Nombre de réécoutes par séquence | 0.8 | Et les métriques sont exportées vers le système de monitoring