# language: fr
Fonctionnalité: Audio-guides multi-séquences pour piétons
  En tant qu'auditeur à pied
  Je veux profiter d'audio-guides structurés lors de mes visites
  Afin de découvrir des lieux de manière autonome et à mon rythme

  Contexte:
    Étant donné que l'API RoadWave est disponible
    Et que je suis connecté en tant qu'auditeur
    Et que je suis en mode piéton (vitesse <5 km/h)

  Scénario: Détection d'audio-guide à proximité
    Étant donné que je me trouve à 80 mètres du Musée du Louvre
    Et que 3 audio-guides sont disponibles pour ce lieu
    Quand le système détecte ma position
    Alors je reçois une notification push:
      """
      📍 Audio-guide disponible : Musée du Louvre
      Choisissez parmi 3 guides pour Musée du Louvre
      Tap pour explorer
      """

  Scénario: Rayon de détection de 100m
    Étant donné qu'un audio-guide est centré aux coordonnées GPS du Louvre
    Quand je suis à exactement 100m du centre
    Alors la notification est déclenchée
    Et quand je suis à 101m, aucune notification n'est envoyée

  Scénario: Page de sélection des audio-guides
    Étant donné que j'ai tapé sur la notification audio-guide
    Quand la page de sélection s'affiche
    Alors je vois une liste de guides disponibles:
      | titre                        | créateur   | nb_sequences | durée  | note | écoutes |
      | Visite complète              | Créateur A | 12           | 45 min | 4.8  | 1.2K    |
      | Œuvres majeures              | Créateur B | 5            | 20 min | 4.9  | 3.5K    |
      | Visite famille               | Créateur C | 8            | 30 min | 4.7  | 850     |

  Scénario: Sélection d'un audio-guide
    Étant donné que je suis sur la page de sélection
    Quand je tape sur "Visite complète (45 min)"
    Alors l'interface de lecture d'audio-guide s'ouvre
    Et la séquence 1 commence automatiquement
    Et je vois la liste complète des 12 séquences

  Scénario: Interface de lecture audio-guide
    Étant donné que j'ai sélectionné un audio-guide de 12 séquences
    Quand l'interface s'affiche
    Alors je vois:
      | élément                | exemple                                      |
      | Titre guide            | 🎨 Visite complète • Musée du Louvre        |
      | Piste actuelle         | Piste 2/12                                   |
      | Titre séquence         | "La Joconde - Histoire et mystères"          |
      | Barre de progression   | 3:24 / 6:50                                  |
      | Liste séquences        | ✅ 1. Intro, ▶️ 2. Joconde, ⏸️ 3. Vénus... |
      | Boutons navigation     | Précédent, Play/Pause, Suivant               |

  Scénario: Navigation vers séquence suivante
    Étant donné que j'écoute la séquence 2
    Quand je tape sur "Suivant"
    Alors la séquence 3 commence immédiatement
    Et le titre de la séquence s'affiche: "Vénus de Milo"
    Et la barre de progression se réinitialise

  Scénario: Navigation vers séquence précédente
    Étant donné que j'écoute la séquence 5
    Quand je tape sur "Précédent"
    Alors la séquence 4 recommence depuis le début
    Et je peux réécouter cette séquence

  Scénario: Saut direct à une séquence spécifique
    Étant donné que j'écoute la séquence 2
    Et que la liste des séquences est affichée
    Quand je tape sur "7. Peintures Renaissance"
    Alors la séquence 7 démarre immédiatement
    Et je passe directement de la séquence 2 à la 7

  Scénario: Commande vocale "Suivant"
    Étant donné que j'écoute la séquence 3
    Quand je dis "Suivant" via la commande vocale
    Alors la séquence 4 démarre
    Et la commande vocale fonctionne même si l'écran est verrouillé

  Scénario: Commande vocale "Précédent"
    Étant donné que j'écoute la séquence 6
    Quand je dis "Précédent" via la commande vocale
    Alors la séquence 5 démarre depuis le début

  Scénario: Pause et reprise à la position exacte
    Étant donné que j'écoute la séquence 4 à la position 2:30
    Quand je mets en pause
    Et que j'attends 5 minutes
    Et que je reprends la lecture
    Alors la séquence reprend exactement à 2:30
    Et aucune donnée n'est perdue

  Scénario: Guidage vocal automatique entre séquences
    Étant donné que la séquence 2 se termine
    Quand la transition vers la séquence 3 se produit
    Alors j'entends un message vocal:
      """
      Vous avez terminé la séquence 2. Dirigez-vous vers la Vénus de Milo pour la séquence 3.
      """
    Et la séquence 3 ne démarre pas automatiquement (navigation manuelle)

  Scénario: Avertissement si éloignement du point d'intérêt
    Étant donné que je suis dans le guide du Louvre
    Et que je devrais être devant la Vénus de Milo (séquence 3)
    Quand je m'éloigne de plus de 50m de ce point
    Alors j'entends un message vocal:
      """
      Vous vous éloignez de la prochaine étape. Consultez le plan.
      """
    Et un bouton "Voir le plan" apparaît dans l'interface

  Scénario: Sauvegarde automatique de la progression
    Étant donné que j'écoute la séquence 5 à la position 1:45
    Quand je ferme l'application brutalement
    Et que je la rouvre 10 minutes plus tard
    Alors je vois une popup "Reprendre la visite du Musée du Louvre ?"
    Et si je choisis "Reprendre", je retourne à la séquence 5 à 1:45

  Scénario: Option de recommencer depuis le début
    Étant donné que j'ai une progression sauvegardée à la séquence 7
    Quand je rouvre le guide
    Alors je vois 2 options:
      | option                       | action                          |
      | Reprendre à la séquence 7    | Reprend à la position exacte    |
      | Recommencer depuis le début  | Retourne à la séquence 1        |

  Scénario: Expiration de la sauvegarde après 30 jours
    Étant donné que j'ai une progression sauvegardée depuis 30 jours
    Quand j'essaie de reprendre le guide
    Alors la sauvegarde est considérée comme expirée
    Et je recommence depuis la séquence 1
    Et je vois le message "Votre précédente visite date de plus de 30 jours. Recommençons depuis le début."

  Scénario: Synchronisation multi-device de la progression
    Étant donné que j'écoute un guide sur mon iPhone à la séquence 4
    Quand je ferme l'app et ouvre sur mon iPad
    Alors je vois la progression synchronisée
    Et je peux reprendre à la séquence 4 sur l'iPad

  Scénario: Marquage "Terminé" après toutes les séquences
    Étant donné que j'écoute la dernière séquence (12/12)
    Quand cette séquence se termine
    Alors le guide est marqué "✅ Terminé" dans mon historique
    Et je vois un message de félicitation:
      """
      Félicitations ! Vous avez terminé la visite complète du Musée du Louvre.
      """
    Et le créateur gagne les statistiques d'écoute complète

  Scénario: Création d'audio-guide par un créateur
    Étant donné que je suis un créateur
    Quand je crée un nouvel audio-guide
    Alors je dois:
      | étape                        | détail                                    |
      | Uploader plusieurs fichiers  | 1 fichier MP3 par séquence                |
      | Numéroter les séquences      | Séquence 1, Séquence 2, etc.              |
      | Titrer chaque séquence       | "Introduction", "La Joconde", etc.        |
      | Définir point GPS unique     | Centre du lieu (ex: Louvre)               |
      | Définir rayon de détection   | Par défaut 100m                           |
    Et la durée totale est calculée automatiquement

  Scénario: Structure JSON de stockage audio-guide
    Étant donné qu'un créateur publie un audio-guide du Louvre
    Quand les métadonnées sont stockées en base
    Alors le format JSON contient:
      ```json
      {
        "guide_id": "abc123",
        "title": "Visite complète Musée du Louvre",
        "location": {"lat": 48.8606, "lon": 2.3376, "radius": 200},
        "sequences": [
          {
            "sequence_number": 1,
            "title": "Introduction et architecture",
            "audio_url": "https://cdn.../seq1.mp3",
            "duration_seconds": 180
          },
          {
            "sequence_number": 2,
            "title": "La Joconde",
            "audio_url": "https://cdn.../seq2.mp3",
            "duration_seconds": 410
          }
        ],
        "total_duration_seconds": 2700,
        "creator_id": "creator_xyz"
      }
      ```

  Scénario: Limitation du nombre de séquences
    Étant donné que je crée un audio-guide
    Quand j'essaie d'ajouter plus de 50 séquences
    Alors je vois le message "Maximum 50 séquences par audio-guide"
    Et je dois structurer mon contenu différemment ou créer plusieurs guides

  Scénario: Quitter le guide et sauvegarder
    Étant donné que j'écoute la séquence 6
    Quand je tape sur le bouton "×" (fermer)
    Alors je vois une confirmation:
      """
      Voulez-vous quitter ce guide ?
      Votre progression sera sauvegardée.
      """
    Et si je confirme, la progression est enregistrée
    Et je retourne à l'écran principal

  Scénario: Statistiques créateur pour audio-guides
    Étant donné que je suis créateur d'un audio-guide
    Quand je consulte mes statistiques
    Alors je vois:
      | métrique                     | exemple valeur  |
      | Nombre de démarrages         | 1250            |
      | Nombre de complétions (100%) | 387 (31%)       |
      | Séquence la plus skippée     | Séquence 8      |
      | Durée moyenne d'écoute       | 28 min (sur 45) |

  Scénario: Audio-guide multilingue (post-MVP)
    Étant donné qu'un créateur peut publier plusieurs versions linguistiques
    Quand un touriste anglophone visite le Louvre
    Alors il voit les guides disponibles en anglais
    Et peut choisir parmi les guides traduits
    Mais cette fonctionnalité n'est pas disponible en MVP

  Scénario: Publicité entre séquences d'audio-guide
    Étant donné que je suis un utilisateur gratuit
    Et que j'écoute un audio-guide
    Quand je passe de la séquence 5 à la séquence 6
    Alors une publicité peut être insérée (1 pub toutes les 5 séquences)
    Et la publicité est skippable après 5 secondes
    Et les utilisateurs Premium ne voient pas de publicité

  Scénario: Audio-guide en mode offline
    Étant donné que j'ai téléchargé un audio-guide complet
    Quand je visite le lieu sans connexion internet
    Alors toutes les séquences sont disponibles hors ligne
    Et la navigation fonctionne normalement
    Et seule la sauvegarde cloud est différée jusqu'à reconnexion

  Scénario: Notation d'un audio-guide après écoute
    Étant donné que j'ai terminé un audio-guide
    Quand je ferme l'interface
    Alors je vois une popup "Notez cette visite"
    Et je peux donner une note de 1 à 5 étoiles
    Et cette note contribue à la note globale visible par les autres utilisateurs

  Scénario: Filtrage par langue dans la page de sélection
    Étant donné que plusieurs audio-guides sont disponibles en différentes langues
    Quand j'accède à la page de sélection
    Alors je peux filtrer par langue
    Et par défaut, les guides dans ma langue système sont affichés en premier

  Scénario: Réutilisation de l'infrastructure existante
    Étant donné qu'un audio-guide est techniquement un contenu structuré
    Alors il réutilise:
      | composant                    | usage                                |
      | OVH Object Storage           | Hébergement fichiers MP3 séquences   |
      | Streaming HLS                | Diffusion audio adaptative           |
      | Cache Redis                  | Métadonnées guides + progressions    |
      | PostgreSQL                   | Stockage structure JSON guides       |
    Et aucune infrastructure dédiée n'est nécessaire
