# 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
