# language: fr Fonctionnalité: Lecture en boucle et enchaînement automatique En tant qu'auditeur Je veux que les contenus s'enchaînent automatiquement avec un délai paramétrable Afin d'avoir une expérience fluide sans interruption Contexte: Étant donné que l'API RoadWave est disponible Et qu'un utilisateur est connecté Scénario: Passage automatique après 2 secondes (mode standard) Étant donné que j'écoute un contenu "A" en mode standard Quand la lecture se termine naturellement Alors un timer de 2 secondes démarre Et un overlay s'affiche: "Contenu suivant dans 2s..." Et une barre de décompte visuelle s'affiche Quand le timer atteint 0 Alors le contenu "B" démarre automatiquement Et l'overlay disparaît Scénario: Passage automatique après 1 seconde (mode Kids) Étant donné que je suis en mode Kids Et que j'écoute un contenu pour enfants Quand la lecture se termine Alors un timer de 1 seconde démarre Et le message "Contenu suivant dans 1s..." s'affiche Quand le timer expire Alors le contenu suivant démarre automatiquement Car l'attention des enfants est plus courte Scénario: Passage immédiat après une radio live (0 seconde) Étant donné que j'écoute une radio live Quand le créateur arrête la diffusion Alors le passage au contenu suivant est immédiat (0s de délai) Et aucun overlay de décompte n'est affiché Et la transition est fluide Scénario: Annulation du passage automatique Étant donné qu'un contenu se termine Et que le timer de 2 secondes démarre Quand je clique sur "Rester sur ce contenu" pendant le décompte Alors le timer est annulé Et le contenu actuel reste en pause à la fin Et le contenu suivant n'est pas lancé Scénario: Insertion de publicité pendant le délai de transition Étant donné que j'ai écouté 4 contenus sans publicité Et que le 5ème contenu se termine Quand le délai de 2 secondes démarre Alors une publicité s'insère dans la file d'attente Et le message devient "Publicité (15s)" Et la publicité démarre après les 2 secondes Et elle ne coupe jamais un contenu en cours Scénario: Fréquence de publicité paramétrable admin Étant donné que la fréquence pub est configurée à "1/5 contenus" Quand j'écoute 10 contenus Alors 2 publicités sont insérées (après les contenus 5 et 10) Étant donné que l'admin change la fréquence à "1/3 contenus" Quand j'écoute 9 contenus Alors 3 publicités sont insérées (après les contenus 3, 6 et 9) Scénario: Publicité skippable après 5 secondes par défaut Étant donné qu'une publicité de 30 secondes démarre Et que le délai minimal de visionnage est configuré à 5 secondes Quand j'écoute pendant 3 secondes Alors le bouton "Passer" n'est pas encore visible Quand j'atteins 5 secondes d'écoute Alors le bouton "Passer" apparaît Et je peux cliquer pour passer au contenu suivant Scénario: Délai minimal de publicité paramétrable admin Étant donné qu'une publicité démarre Et que l'admin a configuré le délai à 10 secondes Quand j'écoute pendant 9 secondes Alors le bouton "Passer" n'est pas visible Quand j'atteins 10 secondes Alors le bouton "Passer" apparaît Et je peux skipper la publicité Scénario: Like et abonnement autorisés sur une publicité Étant donné qu'une publicité est en lecture Quand je clique sur le bouton cœur (véhicule arrêté) Alors la publicité reçoit un like (+2% jauges tags pub) Quand je clique sur "S'abonner" au créateur de la pub Alors je suis abonné (+5% jauges tags créateur) Et le créateur de pub bénéficie de l'engagement Scénario: Métriques d'engagement publicité trackées Étant donné qu'une publicité de 30s est diffusée à 100 auditeurs Quand 40 auditeurs écoutent entièrement (30s) Et que 50 auditeurs skippent après 10s Et que 10 auditeurs skippent avant 5s Alors les métriques sont: | Métrique | Valeur | | Taux d'écoute complète | 40% | | Taux de skip après seuil | 50% | | Taux de skip immédiat | 10% | | Durée moyenne d'écoute | 18s | Scénario: Message "Aucun contenu disponible" si file vide Étant donné que la file d'attente est vide Et qu'aucun contenu n'est disponible dans ma zone Quand le contenu actuel se termine Alors un message s'affiche: "Aucun contenu disponible dans cette zone" Et une proposition apparaît: "Élargir la zone de recherche ?" Et un bouton "Élargir" est disponible Et la lecture se met en pause automatiquement Scénario: Élargissement automatique de la zone de recherche Étant donné que le message "Aucun contenu disponible" s'affiche Quand je clique sur "Élargir la zone" Alors l'algorithme relance une recherche avec rayon +50km Et une notification "Recherche élargie à 50km" s'affiche Et la file d'attente est recalculée Et la lecture reprend automatiquement Scénario: Refus d'élargissement laisse en pause Étant donné que le message "Aucun contenu disponible" s'affiche Quand je clique sur "Annuler" Alors la lecture reste en pause Et l'interface affiche "En attente de contenu" Et je peux manuellement naviguer ou chercher du contenu Scénario: Retry avec backoff exponentiel en cas d'échec réseau Étant donné que le contenu suivant échoue au chargement Quand la première tentative échoue Alors le système retente après 1 seconde (backoff 1s) Quand la 2ème tentative échoue Alors le système retente après 2 secondes (backoff 2s) Quand la 3ème tentative échoue Alors le système retente après 4 secondes (backoff 4s) Et après 3 échecs totaux, le système bascule en mode offline Scénario: Basculement mode offline après 3 échecs réseau Étant donné que j'ai eu 3 échecs de chargement consécutifs Quand le 3ème échec se produit Alors un message "Connexion instable, basculement mode offline" s'affiche Et la lecture continue avec les contenus téléchargés uniquement Et les contenus en ligne sont temporairement désactivés Quand la connexion revient Alors le mode en ligne est automatiquement rétabli Scénario: Overlay de décompte avec barre visuelle Étant donné qu'un contenu se termine Quand le timer de 2 secondes démarre Alors un overlay semi-transparent s'affiche en bas de l'écran Et le texte "Contenu suivant dans 2s..." est visible Et une barre de progression décroît de 100% à 0% en 2 secondes Et la couleur de la barre passe de vert à orange Et l'overlay disparaît automatiquement après le décompte Scénario: Bouton "Rester sur ce contenu" pendant décompte Étant donné que le décompte de 2 secondes est actif Quand l'overlay s'affiche Alors un bouton "Rester sur ce contenu" est visible Et il est cliquable pendant les 2 secondes Quand je clique dessus Alors le timer est annulé immédiatement Et l'overlay disparaît Et le contenu actuel reste affiché en pause Scénario: Pas d'interruption d'un contenu en cours Étant donné que j'écoute un contenu de 10 minutes Et que je suis à 5 minutes de lecture Quand une publicité devrait s'insérer (fréquence 1/5) Alors la publicité n'interrompt jamais le contenu en cours Et elle attend la fin du contenu actuel Et elle s'insère pendant le délai de transition (2s) Scénario: Publicités uniquement pour utilisateurs gratuits Étant donné que je suis un utilisateur gratuit Quand j'écoute 5 contenus Alors une publicité est insérée après le 5ème contenu Étant donné que je passe en compte Premium Quand j'écoute 100 contenus Alors aucune publicité n'est insérée Et l'enchaînement est direct (2s de transition seulement) Scénario: Message clair pour l'utilisateur lors de la publicité Étant donné qu'une publicité va démarrer Quand le délai de transition démarre Alors le message affiché est: "Publicité (15s)" Et la durée totale de la pub est indiquée Et l'utilisateur sait qu'il s'agit d'une pub Et la transparence est maximale Scénario: Transition fluide entre contenus sans coupure Étant donné qu'un contenu se termine Et que le suivant est pré-chargé en cache Quand le timer de 2s expire Alors la transition audio utilise un crossfade de 0.3s Et il n'y a aucun blanc ou coupure Et l'expérience est fluide Scénario: Gestion des erreurs de chargement avec retry Étant donné que le contenu suivant échoue au chargement Quand la 1ère tentative échoue Alors une notification "Chargement..." s'affiche Et le système retente automatiquement Quand la 2ème tentative réussit Alors la lecture démarre normalement Et aucune action utilisateur n'est requise Scénario: Mode offline après échecs multiples Étant donné que j'ai 50 contenus téléchargés en mode offline Et que j'ai eu 3 échecs réseau consécutifs Quand le mode offline s'active Alors seuls les contenus téléchargés sont disponibles Et un badge "Mode offline" s'affiche en haut de l'écran Et la lecture continue sans interruption Scénario: Compteur de contenus avant prochaine publicité Étant donné que la fréquence pub est 1/5 contenus Et que j'ai écouté 3 contenus depuis la dernière pub Quand je consulte l'interface Alors un indicateur discret affiche "2 contenus avant pub" Et l'utilisateur sait quand attendre la prochaine publicité Plan du Scénario: Délai de transition selon mode Étant donné que je suis en mode Quand un contenu se termine Alors le délai de transition est secondes Et le message affiché est Exemples: | mode | delai | message | | Standard | 2 | "Contenu suivant dans 2s..." | | Kids | 1 | "Contenu suivant dans 1s..." | | Live | 0 | (aucun message) | Plan du Scénario: Fréquence d'insertion des publicités Étant donné que la fréquence pub est configurée à Quand j'écoute contenus Alors publicités sont insérées Exemples: | frequence | contenus | pubs | | 1/3 | 6 | 2 | | 1/3 | 9 | 3 | | 1/5 | 10 | 2 | | 1/5 | 15 | 3 | | 1/7 | 14 | 2 | | 1/7 | 21 | 3 | Plan du Scénario: Backoff exponentiel retry Étant donné que le chargement échoue Quand je suis à la tentative Alors le délai de retry est secondes Exemples: | tentative | delai | | 1 | 1 | | 2 | 2 | | 3 | 4 |