Initial commit
This commit is contained in:
209
features/radio-live/comportement-auditeur.feature
Normal file
209
features/radio-live/comportement-auditeur.feature
Normal file
@@ -0,0 +1,209 @@
|
||||
# language: fr
|
||||
Fonctionnalité: Comportement auditeur pendant un live
|
||||
En tant qu'auditeur
|
||||
Je veux écouter des lives de manière stable
|
||||
Afin de profiter du contenu en temps réel sans coupures
|
||||
|
||||
Contexte:
|
||||
Étant donné que l'API RoadWave est disponible
|
||||
Et que je suis connecté en tant qu'auditeur
|
||||
Et qu'un créateur diffuse actuellement un live
|
||||
|
||||
Scénario: Rejoindre un live avec buffer de synchronisation 15 secondes
|
||||
Quand je clique sur "Rejoindre le live"
|
||||
Alors la connexion au flux HLS s'établit
|
||||
Et je commence à écouter avec un décalage de 15 secondes par rapport au créateur
|
||||
Et le buffer de 15 secondes garantit une lecture stable
|
||||
|
||||
Scénario: Justification du buffer 15 secondes
|
||||
Étant donné les alternatives de buffer possibles:
|
||||
| buffer | stabilité 3G | stabilité 4G | décalage perceptible | décision |
|
||||
| 5s | Faible | Moyenne | Non | ❌ |
|
||||
| 10s | Moyenne | Bonne | Non | ❌ |
|
||||
| 15s | Bonne | Excellente | Léger acceptable | ✅ |
|
||||
| 20s+ | Excellente | Excellente | Oui | ❌ |
|
||||
Alors le buffer optimal est 15 secondes
|
||||
|
||||
Scénario: Lecture stable sur réseau 3G
|
||||
Étant donné que je suis sur réseau 3G
|
||||
Et que j'écoute un live
|
||||
Quand des micro-coupures réseau surviennent
|
||||
Alors le buffer de 15 secondes absorbe les coupures
|
||||
Et la lecture continue sans interruption perceptible
|
||||
|
||||
Scénario: Lecture stable sur réseau 4G
|
||||
Étant donné que je suis sur réseau 4G
|
||||
Et que j'écoute un live
|
||||
Alors la lecture est fluide
|
||||
Et le buffer de 15 secondes prévient les coupures lors de changement de cellule
|
||||
|
||||
Scénario: Continuation du live en sortant de la zone géographique
|
||||
Étant donné que j'écoute un live régional "Île-de-France"
|
||||
Et que je suis situé en Île-de-France
|
||||
Quand je me déplace et sors du département
|
||||
Alors le live continue de jouer normalement
|
||||
Et je peux écouter jusqu'à la fin naturelle du live
|
||||
Et après la fin du live, l'algorithme propose du contenu correspondant à ma nouvelle position
|
||||
|
||||
Scénario: Abonné dans la zone reçoit notification push
|
||||
Étant donné que je suis abonné au créateur "JeanDupont"
|
||||
Et que je suis situé en Île-de-France
|
||||
Quand "JeanDupont" démarre un live en Île-de-France
|
||||
Alors je reçois une notification push "🔴 JeanDupont est en direct : [Titre du live]"
|
||||
Et quand je tape sur la notification, l'app s'ouvre et le live démarre immédiatement
|
||||
|
||||
Scénario: Abonné hors zone ne reçoit pas de notification
|
||||
Étant donné que je suis abonné au créateur "JeanDupont"
|
||||
Et que je suis situé à Lyon
|
||||
Quand "JeanDupont" démarre un live en Île-de-France
|
||||
Alors je ne reçois pas de notification push
|
||||
Et cela évite la frustration de ne pas pouvoir écouter un live hors zone
|
||||
|
||||
Scénario: Découverte d'un live via l'algorithme de recommandation
|
||||
Étant donné que je suis dans la zone géographique du live
|
||||
Et que je navigue dans l'app avec "Suivant"
|
||||
Quand l'algorithme propose un live en cours
|
||||
Alors je vois l'indicateur "🔴 EN DIRECT"
|
||||
Et je peux choisir de le rejoindre ou de passer au suivant
|
||||
|
||||
Scénario: Reconnexion rapide après coupure réseau (moins de 90 secondes)
|
||||
Étant donné que j'écoute un live
|
||||
Quand je perds ma connexion réseau pendant 45 secondes
|
||||
Et que je retrouve ma connexion
|
||||
Alors je reprends le live au moment actuel (pas au buffer ancien)
|
||||
Et le saut temporel est transparent (pas de message d'erreur)
|
||||
Et je ne rate que quelques secondes de contenu
|
||||
|
||||
Scénario: Reconnexion longue après coupure réseau (90 secondes ou plus)
|
||||
Étant donné que j'écoute un live
|
||||
Quand je perds ma connexion réseau pendant 90 secondes
|
||||
Et que je retrouve ma connexion
|
||||
Alors je vois le message "Live en cours perdu, passage au contenu suivant"
|
||||
Et l'algorithme propose automatiquement le contenu suivant
|
||||
Et je peux manuellement revenir au live s'il est toujours en cours
|
||||
|
||||
Scénario: Interactions disponibles pendant le live - Like
|
||||
Étant donné que j'écoute un live
|
||||
Et que mon véhicule est à l'arrêt
|
||||
Quand je clique sur le bouton "❤️ Like"
|
||||
Alors le like est enregistré immédiatement
|
||||
Et le compteur de likes visible par le créateur s'incrémente
|
||||
Et ma jauge d'intérêt pour les tags du live augmente de +2%
|
||||
|
||||
Scénario: Interactions disponibles pendant le live - Abonnement
|
||||
Étant donné que j'écoute un live
|
||||
Et que je ne suis pas encore abonné au créateur
|
||||
Quand je clique sur le bouton "S'abonner"
|
||||
Alors je m'abonne au créateur
|
||||
Et ma jauge d'intérêt pour tous les tags du créateur augmente de +5%
|
||||
Et je recevrai des notifications pour ses prochains lives
|
||||
|
||||
Scénario: Interactions disponibles pendant le live - Skip
|
||||
Étant donné que j'écoute un live
|
||||
Quand j'appuie sur "Suivant" (ou commande au volant)
|
||||
Alors je quitte le live immédiatement
|
||||
Et l'algorithme propose le contenu suivant
|
||||
Et si j'ai écouté moins de 10 secondes, ma jauge d'intérêt diminue de -0.5%
|
||||
|
||||
Scénario: Commande Précédent désactivée pendant un live
|
||||
Étant donné que j'écoute un live
|
||||
Quand j'appuie sur "Précédent" (ou commande au volant)
|
||||
Alors rien ne se passe
|
||||
Et un message d'information s'affiche brièvement "Précédent non disponible sur les lives"
|
||||
|
||||
Scénario: Chat en direct désactivé (décision définitive)
|
||||
Étant donné que j'écoute un live
|
||||
Alors aucune interface de chat n'est disponible
|
||||
Et je ne peux pas envoyer de messages au créateur
|
||||
Et je ne peux pas voir de messages d'autres auditeurs
|
||||
Et cette fonctionnalité ne sera jamais implémentée
|
||||
|
||||
Scénario: Réactions emoji désactivées (décision définitive)
|
||||
Étant donné que j'écoute un live
|
||||
Alors aucune réaction emoji n'est disponible
|
||||
Et je ne peux pas envoyer d'emoji en temps réel
|
||||
Et cette fonctionnalité ne sera jamais implémentée
|
||||
|
||||
Scénario: Message d'information sur l'absence de chat
|
||||
Étant donné que j'écoute mon premier live
|
||||
Quand j'accède à l'interface du live
|
||||
Alors je vois un bandeau informatif "💬 Les discussions ne sont pas disponibles sur RoadWave pour garantir votre sécurité en voiture et éviter le harcèlement."
|
||||
Et ce bandeau n'apparaît qu'une seule fois (première expérience)
|
||||
|
||||
Scénario: Signalement d'un live en cours
|
||||
Étant donné que j'écoute un live
|
||||
Et que le contenu me semble inapproprié
|
||||
Quand je clique sur le bouton "Signaler"
|
||||
Alors je vois les catégories de signalement:
|
||||
| catégorie |
|
||||
| Haine et violence |
|
||||
| Contenu sexuel |
|
||||
| Illégalité |
|
||||
| Droits d'auteur |
|
||||
| Désinformation dangereuse |
|
||||
| Harcèlement |
|
||||
| Autre |
|
||||
Et quand je sélectionne une catégorie
|
||||
Alors le signalement est envoyé en priorité selon la catégorie
|
||||
Et un modérateur peut écouter le live en temps réel si besoin
|
||||
|
||||
Scénario: Statistiques visibles par les auditeurs pendant le live
|
||||
Étant donné que j'écoute un live
|
||||
Quand je consulte les informations du live
|
||||
Alors je vois:
|
||||
| information | exemple valeur |
|
||||
| Nombre d'auditeurs | 247 personnes |
|
||||
| Durée du live | 1h 23min |
|
||||
| Nom du créateur | @JeanDupont |
|
||||
| Zone de diffusion | Île-de-France |
|
||||
| Tags | Actualité, Société |
|
||||
Mais je ne vois pas les likes ou autres métriques détaillées
|
||||
|
||||
Scénario: Compteur d'auditeurs arrondi pour préserver la vie privée
|
||||
Étant donné que j'écoute un live avec exactement 247 auditeurs
|
||||
Quand je consulte le nombre d'auditeurs
|
||||
Alors je vois "~250 auditeurs" (arrondi à la dizaine supérieure)
|
||||
|
||||
Scénario: Qualité audio adaptative pendant le live
|
||||
Étant donné que j'écoute un live
|
||||
Quand ma connexion passe de 4G à 3G
|
||||
Alors la qualité audio s'adapte automatiquement
|
||||
Et je passe de 48 kbps à 24 kbps Opus
|
||||
Et la transition est transparente sans coupure
|
||||
|
||||
Scénario: Consommation de données pendant un live
|
||||
Étant donné que j'écoute un live en qualité standard 48 kbps
|
||||
Et que j'écoute pendant 1 heure
|
||||
Alors j'ai consommé environ 21.6 MB de données mobiles
|
||||
Et cette consommation est affichée dans les paramètres de l'app
|
||||
|
||||
Scénario: Lecture du replay après la fin du live
|
||||
Étant donné que j'écoute un live depuis 30 minutes
|
||||
Quand le créateur arrête le live
|
||||
Alors je vois le message "Le live est terminé. Le replay sera disponible dans quelques minutes"
|
||||
Et le contenu suivant est automatiquement proposé après 2 secondes
|
||||
|
||||
Scénario: Notification de disponibilité du replay
|
||||
Étant donné que j'ai écouté un live jusqu'à la fin
|
||||
Et que le replay est publié 8 minutes plus tard
|
||||
Quand je rouvre l'application
|
||||
Alors je vois une notification in-app "Le replay de [Titre] est maintenant disponible"
|
||||
Et je peux cliquer pour l'écouter immédiatement
|
||||
|
||||
Scénario: Aucune publicité pendant un live pour utilisateurs gratuits
|
||||
Étant donné que je suis un utilisateur gratuit
|
||||
Et que j'écoute un live
|
||||
Alors aucune publicité n'est insérée pendant le live
|
||||
Et la publicité apparaît seulement entre le live et le contenu suivant
|
||||
|
||||
Scénario: Détection de contexte voiture pendant un live
|
||||
Étant donné que j'écoute un live
|
||||
Et que ma vitesse est supérieure à 10 km/h
|
||||
Alors l'interface tactile est désactivée pour la sécurité
|
||||
Et seules les commandes au volant sont actives (Play/Pause/Suivant)
|
||||
|
||||
Scénario: Détection de contexte piéton pendant un live
|
||||
Étant donné que j'écoute un live
|
||||
Et que ma vitesse est inférieure à 5 km/h
|
||||
Alors l'interface tactile complète est disponible
|
||||
Et je peux liker, m'abonner, signaler via l'écran tactile
|
||||
Reference in New Issue
Block a user