# language: fr Fonctionnalité: Création d'audio-guide multi-séquences En tant que créateur de contenu Je veux créer des audio-guides avec plusieurs séquences géolocalisées Afin d'offrir des expériences guidées adaptées aux différents modes de déplacement Contexte: Étant donné que l'application RoadWave est démarrée Et que le créateur "guide@example.com" est connecté Et que son compte est vérifié # 16.1 - Types d'audio-guides et modes de déplacement Plan du Scénario: Détection automatique du mode selon la vitesse Étant donné que l'utilisateur se déplace à km/h Quand la vitesse est calculée sur 30 secondes Alors le mode est suggéré automatiquement Exemples: | vitesse | mode | | 3 | Piéton | | 15 | Vélo | | 35 | Voiture | | 50 | Voiture | Scénario: Suggestion de mode au démarrage avec confirmation Étant donné qu'un audio-guide "Safari du Paugre" est disponible Et que l'utilisateur se déplace à 35 km/h Quand l'audio-guide démarre Alors une popup s'affiche: """ Détection : 🚗 Voiture. Est-ce correct ? [Oui] [Changer] """ Scénario: Changement manuel du mode détecté Étant donné que le mode "Voiture" est suggéré automatiquement Quand l'utilisateur clique sur "Changer" Alors les 4 modes sont proposés: | mode | emoji | | Piéton | 🚶 | | Voiture | 🚗 | | Vélo | 🚴 | | Transport | 🚌 | Plan du Scénario: Caractéristiques par mode de déplacement Étant donné un audio-guide configuré en mode Alors les paramètres suivants sont appliqués: | paramètre | valeur | | Vitesse détection | | | Déclenchement | | Exemples: | mode | vitesse_detection | declenchement | | Piéton | <5 km/h | Manuel (bouton Suivant) | | Voiture | >10 km/h | Auto GPS + Manuel | | Vélo | 5-25 km/h | Auto GPS + Manuel | | Transport | Variable | Auto GPS + Manuel | # 16.1.2 - Création d'un audio-guide (côté créateur) Scénario: Accès au formulaire de création d'audio-guide Étant donné que le créateur est sur son dashboard Quand il clique sur "Créer un audio-guide" Alors le formulaire de création s'affiche Et le wizard guidé en 4 étapes est visible: | étape | description | | 1 | Infos générales | | 2 | Ajout séquences | | 3 | Preview carte | | 4 | Validation modération | Scénario: Étape 1 - Informations générales obligatoires Étant donné que le créateur est sur l'étape 1 du wizard Quand il complète le formulaire Alors les champs suivants sont obligatoires: | champ | contrainte | | Titre | 5-100 caractères | | Description | 10-500 caractères | | Mode de déplacement | Choix parmi 4 | | Tags | 1-3 tags | | Classification âge | Tout public/13+/16+/18+ | Scénario: Sélection du mode de déplacement Étant donné que le créateur crée un audio-guide Quand il sélectionne le mode "🚗 Voiture (GPS auto + manuel)" Alors le champ "Vitesse recommandée" s'affiche Et la plage suggérée est "30-50 km/h" Scénario: Validation du titre Étant donné que le créateur entre un titre Quand le titre contient moins de 5 caractères Alors un message d'erreur "Minimum 5 caractères" s'affiche Et le bouton "Suivant" est désactivé Scénario: Validation de la description Étant donné que le créateur entre une description Quand la description contient 520 caractères Alors un message d'erreur "Maximum 500 caractères" s'affiche Et les 20 caractères en trop sont surlignés en rouge Scénario: Étape 2 - Ajout de la première séquence Étant donné que le créateur est sur l'étape 2 "Ajout séquences" Quand il clique sur "Ajouter séquence" Alors le formulaire de séquence s'affiche avec: | champ | requis | note | | Titre séquence | ✅ | 5-80 caractères | | Audio | ✅ | Upload MP3/AAC, max 200 MB | | Point GPS | ✅* | *Sauf mode piéton | | Rayon déclenchement | ✅* | *Sauf mode piéton, 10-200m | Scénario: Ajout du point GPS pour une séquence Étant donné que le créateur ajoute une séquence en mode "Voiture" Quand il clique sur "📍 Ajouter point GPS" Alors une carte s'affiche Et il peut: | action | | Cliquer sur la carte | | Entrer coordonnées manuelles | | Utiliser sa position actuelle | Scénario: Configuration du rayon de déclenchement avec preview Étant donné qu'un point GPS est défini à (43.1234, 2.5678) Quand le créateur ajuste le curseur de rayon Alors le rayon varie de 10m à 200m Et un cercle visuel est affiché sur la carte Et la valeur actuelle s'affiche "30m" Plan du Scénario: Rayon par défaut selon le mode Étant donné un audio-guide en mode Quand le créateur ajoute un point GPS Alors le rayon par défaut est Exemples: | mode | rayon_defaut | | Voiture | 30m | | Vélo | 50m | | Transport | 100m | Scénario: Suggestion intelligente du rayon Étant donné un audio-guide en mode "Voiture" avec vitesse recommandée 30 km/h Quand le créateur ajoute un point GPS Alors une suggestion s'affiche: "Recommandé : 30m pour voiture à 30 km/h" Scénario: Upload audio pour une séquence Étant donné que le créateur crée une séquence "Introduction" Quand il upload un fichier audio de 5 MB Alors le fichier est vérifié: | vérification | règle | | Format | MP3, AAC, M4A | | Taille max | 200 MB | | Durée max | 15 minutes | Scénario: Ordre des séquences modifiable Étant donné un audio-guide avec 5 séquences: | ordre | titre | | 1 | Introduction | | 2 | Les lions | | 3 | Les girafes | | 4 | Les éléphants | | 5 | Conclusion | Quand le créateur glisse "Les éléphants" en position 2 Alors l'ordre devient: | ordre | titre | | 1 | Introduction | | 2 | Les éléphants | | 3 | Les lions | | 4 | Les girafes | | 5 | Conclusion | Scénario: Nombre minimum de séquences requis Étant donné un audio-guide avec seulement 1 séquence Quand le créateur tente de passer à l'étape suivante Alors un message d'erreur s'affiche: "Minimum 2 séquences requis" Et le bouton "Suivant" est désactivé Scénario: Nombre maximum de séquences Étant donné un audio-guide avec 50 séquences Quand le créateur tente d'ajouter une 51ème séquence Alors un message d'erreur s'affiche: "Maximum 50 séquences par audio-guide" Et le bouton "+ Ajouter séquence" est désactivé Scénario: Étape 3 - Preview carte avec tracé et points Étant donné un audio-guide avec 5 séquences géolocalisées Quand le créateur accède à l'étape 3 "Preview carte" Alors une carte Leaflet s'affiche Et les éléments suivants sont visibles: | élément | description | | Markers numérotés | 1, 2, 3, 4, 5 sur chaque point | | Tracé entre points | Ligne pointillée connectant les points | | Cercles de déclenchement | Rayon visuel autour de chaque point | Scénario: Statistiques du parcours Étant donné un audio-guide avec les séquences suivantes: | séquence | durée | distance_au_suivant | | 1 | 2:15 | 150m | | 2 | 3:42 | 200m | | 3 | 4:10 | 320m | Quand les statistiques sont calculées Alors le résumé suivant est affiché: | métrique | valeur | | Séquences | 3 complètes | | Durée totale | 10:07 | | Distance totale | 670m | Scénario: Modification d'une séquence depuis la carte Étant donné que la preview carte est affichée Quand le créateur clique sur le marker "2" Alors une popup s'affiche avec: | information | | Titre: "Les lions" | | Durée: 3:42 | | Rayon: 30m | | [✏️ Modifier] | | [🗑️ Supprimer] | Scénario: Zone de diffusion géographique Étant donné un audio-guide avec des points dans Paris Quand le créateur définit la zone de diffusion Alors il peut choisir: | type | exemple | | Polygon | Tracé manuel sur carte | | Ville | Paris (API Nominatim) | | Département | 75 - Paris | | Région | Île-de-France | Scénario: Étape 4 - Publication et validation modération Étant donné un créateur qui publie ses 3 premiers audio-guides Quand il clique sur "✅ Publier audio-guide" Alors un message s'affiche: """ Votre audio-guide est en cours de validation. Notre équipe le vérifiera sous 24-48h. Vous recevrez une notification dès validation. """ Scénario: Publication directe pour créateurs expérimentés Étant donné un créateur ayant publié 5 audio-guides validés Et aucun strike actif Quand il publie un nouvel audio-guide Alors l'audio-guide est publié immédiatement Et il devient visible pour les utilisateurs Et aucune validation manuelle n'est requise Scénario: Mode piéton sans points GPS obligatoires Étant donné un audio-guide en mode "🚶 Piéton" Quand le créateur ajoute une séquence Alors le champ "Point GPS" est optionnel Et le champ "Rayon déclenchement" est masqué Et un message info s'affiche: "Mode manuel : les séquences se déclenchent au clic utilisateur" Scénario: Sauvegarde brouillon automatique Étant donné que le créateur édite un audio-guide depuis 5 minutes Quand il ajoute une nouvelle séquence Alors l'audio-guide est sauvegardé en brouillon automatiquement Et un toast "Brouillon sauvegardé" s'affiche brièvement Scénario: Reprise d'un brouillon Étant donné un audio-guide en brouillon "Safari du Paugre" Et qu'il contient 3 séquences complètes Quand le créateur retourne sur son dashboard Alors le brouillon est visible avec le statut "📝 Brouillon" Et un bouton "Continuer" est disponible Et la progression "3/5 séquences" est affichée Scénario: Suppression d'un brouillon Étant donné un audio-guide en brouillon Quand le créateur clique sur "🗑️ Supprimer" Alors une confirmation s'affiche: """ Supprimer ce brouillon ? Toutes les séquences seront perdues. [Annuler] [Supprimer définitivement] """ Scénario: Modification d'un audio-guide publié Étant donné un audio-guide publié "Safari du Paugre" Quand le créateur clique sur "✏️ Modifier" Alors il peut modifier: | élément modifiable | élément non modifiable | | Titre | Mode de déplacement | | Description | Points GPS | | Tags | Rayons déclenchement | | Séquences (ordre) | | Et un avertissement s'affiche: "Les modifications structurelles nécessitent une nouvelle publication" Scénario: Duplication d'un audio-guide existant Étant donné un audio-guide publié "Visite Paris" Quand le créateur clique sur "📋 Dupliquer" Alors une copie est créée avec le titre "Visite Paris (copie)" Et toutes les séquences sont copiées Et le statut est "📝 Brouillon" Et le créateur peut modifier avant publication # Cas d'erreur Scénario: Upload audio échoue (format non supporté) Étant donné que le créateur upload un fichier "audio.wav" Quand le format est vérifié Alors un message d'erreur s'affiche: "Format non supporté. Utilisez MP3, AAC ou M4A" Et le fichier est rejeté Scénario: Upload audio échoue (taille trop grande) Étant donné que le créateur upload un fichier de 250 MB Quand la taille est vérifiée Alors un message d'erreur s'affiche: "Fichier trop volumineux. Maximum 200 MB" Et le fichier est rejeté Scénario: Points GPS trop éloignés (alerte cohérence) Étant donné un audio-guide en mode "Piéton" Et une séquence au Louvre (Paris) Quand le créateur ajoute une séquence à Lyon Alors un avertissement s'affiche: """ ⚠️ Attention : distance importante entre points (465 km) Vérifiez que le mode "Piéton" est approprié. [Modifier le mode] [Continuer] """ Scénario: Pas de connexion lors de la sauvegarde Étant donné que le créateur édite un audio-guide Et que la connexion réseau est perdue Quand il tente de sauvegarder Alors le brouillon est sauvegardé localement Et un message s'affiche: "Sauvegarde locale. Sera synchronisée à la reconnexion" Et une icône "☁️ Hors ligne" s'affiche Scénario: Reprise après perte de connexion Étant donné un brouillon sauvegardé localement Quand la connexion réseau est rétablie Alors le brouillon est synchronisé automatiquement Et un toast "✅ Audio-guide synchronisé" s'affiche