# language: fr @api @audio-guides @navigation @mvp Fonctionnalité: Gestion des points d'intérêt manqués En tant qu'utilisateur Je veux pouvoir gérer les points d'intérêt que j'ai manqués Afin de compléter mon expérience audio-guide même après avoir dépassé certains points Contexte: Étant donné que le système de gestion des points manqués respecte: | Paramètre | Valeur | | Distance max pour considérer "manqué" | 1 km | | Temps max pour considérer "manqué" | 10 minutes | | Possibilité de retour arrière | Oui | | Lecture différée autorisée | Oui | Scénario: Détection automatique d'un point manqué en mode voiture Étant donné un utilisateur "alice@roadwave.fr" en mode voiture à 90 km/h Et elle suit l'audio-guide "Route des Châteaux de la Loire" Et le prochain point d'intérêt est le Château de Chaumont Quand elle dépasse le château sans entrer dans son rayon de déclenchement (400m) Et elle s'éloigne à plus de 1 km du point Alors le système marque le point comme "Manqué" Et une notification discrète s'affiche: "Point manqué : Château de Chaumont" Et le point apparaît dans la section "Points manqués" de la liste Et un événement "POI_MARKED_AS_MISSED" est enregistré avec raison: "out_of_range" Et la métrique "poi.missed.out_of_range" est incrémentée Scénario: Affichage de la liste des points manqués Étant donné un utilisateur "bob@roadwave.fr" qui a manqué 3 points sur 10 Quand il ouvre la liste des séquences Alors il voit une section dédiée "Points manqués (3)": | Point d'intérêt | Distance actuelle | Actions | | Château de Chaumont | 15 km en arrière | [Écouter] [Y retourner] | | Musée de Cluny | 8 km en arrière | [Écouter] [Y retourner] | | Rue Mouffetard | 2 km en arrière | [Écouter] [Y retourner] | Et un compteur global affiche: "7/10 points visités" Et un événement "MISSED_POIS_LIST_VIEWED" est enregistré Et la métrique "missed_pois.list_viewed" est incrémentée Scénario: Écoute différée d'un point manqué sans retour physique Étant donné un utilisateur "charlie@roadwave.fr" qui a manqué le Château de Chaumont Et il est maintenant à 20 km du château Quand il clique sur "Écouter" dans la liste des points manqués Alors l'audio du Château de Chaumont démarre immédiatement Et un bandeau indique: "Écoute différée - Vous n'êtes pas sur place" Et le point reste marqué comme "Manqué mais écouté" Et un événement "MISSED_POI_LISTENED_REMOTE" est enregistré Et la métrique "missed_poi.listened.remote" est incrémentée Scénario: Navigation de retour vers un point manqué Étant donné un utilisateur "david@roadwave.fr" qui a manqué le Musée de Cluny Et il est à 5 km du musée Quand il clique sur "Y retourner" dans la liste des points manqués Alors l'application lance la navigation GPS vers le Musée de Cluny Et un itinéraire est calculé et affiché Et l'ETA est affiché: "12 min en voiture" Et un événement "NAVIGATION_TO_MISSED_POI_STARTED" est enregistré Et la métrique "missed_poi.navigation_started" est incrémentée Scénario: Retour physique et déclenchement automatique d'un point manqué Étant donné un utilisateur "eve@roadwave.fr" qui a manqué le Château de Chaumont Et elle a cliqué sur "Y retourner" Quand elle arrive dans le rayon de déclenchement du château (400m) Alors l'audio du château démarre automatiquement Et le point passe du statut "Manqué" à "Visité" Et une notification de succès s'affiche: "✓ Point complété : Château de Chaumont" Et un événement "MISSED_POI_COMPLETED" est enregistré Et la métrique "missed_poi.completed" est incrémentée Scénario: Proposition automatique de retour pour points manqués à proximité Étant donné un utilisateur "frank@roadwave.fr" qui a manqué la Rue Mouffetard Et il continue son parcours et arrive près d'un autre point Quand le système détecte qu'il est à 800m de la Rue Mouffetard Alors une notification proactive s'affiche: "Point manqué à proximité : Rue Mouffetard (800m). Y aller ?" Et deux boutons sont proposés: [Oui, y aller] [Non, continuer] Et un événement "MISSED_POI_PROXIMITY_SUGGESTION" est enregistré Et la métrique "missed_poi.proximity_suggestion" est incrémentée Scénario: Ignorance volontaire d'un point manqué Étant donné un utilisateur "grace@roadwave.fr" qui a manqué le Musée de Cluny Et elle ne souhaite pas y retourner Quand elle fait glisser le point vers la gauche dans la liste Et clique sur "Ignorer définitivement" Alors le point est retiré de la liste des points manqués Et il passe au statut "Ignoré" Et il ne sera plus proposé dans les suggestions Et un événement "MISSED_POI_IGNORED" est enregistré Et la métrique "missed_poi.ignored" est incrémentée Scénario: Réinitialisation d'un point ignoré Étant donné un utilisateur "henry@roadwave.fr" qui a ignoré le Musée de Cluny Quand il accède aux paramètres de l'audio-guide Et clique sur "Voir les points ignorés (1)" Alors il voit la liste: "Musée de Cluny - Ignoré" Quand il clique sur "Réactiver" Alors le point repasse en statut "Manqué" Et il réapparaît dans la liste des points manqués Et un événement "MISSED_POI_REACTIVATED" est enregistré Et la métrique "missed_poi.reactivated" est incrémentée Scénario: Marquage automatique comme manqué après délai en mode piéton Étant donné un utilisateur "iris@roadwave.fr" en mode piéton Et elle est à 150m du Panthéon depuis 15 minutes (stationnaire) Et elle n'a pas déclenché le point d'intérêt Quand elle reprend sa marche et s'éloigne à plus de 500m Alors le point est marqué comme "Manqué" Et une notification s'affiche: "Point manqué : Panthéon. Voulez-vous y retourner ?" Et un événement "POI_MARKED_AS_MISSED" est enregistré avec raison: "timeout_stationary" Et la métrique "poi.missed.timeout" est incrémentée Scénario: Statistiques des points manqués en fin de parcours Étant donné un utilisateur "jack@roadwave.fr" qui a terminé un audio-guide Et il a visité 7 points sur 10, manqué 2 points et ignoré 1 point Quand il consulte l'écran de fin de parcours Alors il voit les statistiques: | Métrique | Valeur | | Points visités | 7/10 (70%) | | Points manqués | 2 (Chaumont, Cluny) | | Points ignorés | 1 (Rue Mouffetard) | | Taux de complétion | 70% | | Badge obtenu | Explorateur Bronze | Et un bouton "Compléter les points manqués" est proposé Et un événement "AUDIO_GUIDE_STATS_VIEWED" est enregistré Scénario: Reprise d'un audio-guide pour compléter les points manqués Étant donné un utilisateur "kate@roadwave.fr" qui a terminé un audio-guide avec 2 points manqués Quand elle clique sur "Compléter les points manqués" Alors l'audio-guide est réactivé en mode "Rattrapage" Et seuls les 2 points manqués sont actifs sur la carte Et les points déjà visités sont grisés Et la navigation se concentre uniquement sur les points manqués Et un événement "AUDIO_GUIDE_CATCH_UP_MODE" est enregistré Et la métrique "audio_guide.catch_up.started" est incrémentée Scénario: Badge de complétion "Perfectionniste" pour 100% de complétion Étant donné un utilisateur "luke@roadwave.fr" qui a visité 10/10 points Et il a initialement manqué 2 points mais y est retourné Quand il termine l'audio-guide avec 100% de complétion Alors un badge spécial "Perfectionniste" est débloqué Et une animation de célébration est affichée Et un événement "BADGE_PERFECTIONIST_UNLOCKED" est enregistré Et la métrique "badges.perfectionist.unlocked" est incrémentée Scénario: Notification push après 24h pour rappel des points manqués Étant donné un utilisateur "mary@roadwave.fr" qui a terminé un audio-guide hier Et elle a manqué 3 points sur 10 Quand 24 heures se sont écoulées depuis la fin du parcours Alors une notification push est envoyée: "Vous avez manqué 3 points lors de votre visite du Quartier Latin. Voulez-vous les découvrir ?" Et un lien direct vers la liste des points manqués est inclus Et un événement "MISSED_POIS_REMINDER_SENT" est enregistré Et la métrique "missed_pois.reminder_sent" est incrémentée Scénario: Mode "Rattrapage intelligent" avec optimisation de l'itinéraire Étant donné un utilisateur "nathan@roadwave.fr" avec 3 points manqués: | Point | Position actuelle | Distance | | Château de Chaumont | 48.8475, 2.3450 | 12 km | | Musée de Cluny | 48.8505, 2.3434 | 8 km | | Rue Mouffetard | 48.8429, 2.3498 | 5 km | Quand il clique sur "Itinéraire optimisé pour rattrapage" Alors le système calcule l'itinéraire le plus court pour visiter les 3 points: | Ordre | Point | Distance cumulée | | 1 | Rue Mouffetard | 5 km | | 2 | Musée de Cluny | 8.5 km | | 3 | Château de Chaumont | 20.5 km | Et l'ETA total est affiché: "1h 15min en voiture" Et un événement "OPTIMIZED_CATCH_UP_ROUTE_CALCULATED" est enregistré Et la métrique "missed_pois.optimized_route" est incrémentée Scénario: Désactivation de la détection automatique des points manqués Étant donné un utilisateur "olive@roadwave.fr" qui préfère une expérience libre Quand elle active l'option "Désactiver la détection des points manqués" Alors les points ne sont jamais marqués comme "Manqués" Et aucune notification de point manqué n'est affichée Et l'utilisateur peut toujours écouter tous les points manuellement Et un événement "MISSED_POIS_DETECTION_DISABLED" est enregistré Et la métrique "missed_pois.detection_disabled" est incrémentée Scénario: Métriques de performance de la gestion des points manqués Étant donné que 10 000 utilisateurs ont terminé des audio-guides Quand les métriques sont collectées Alors les indicateurs suivants sont disponibles: | Métrique | Valeur moyenne | | Pourcentage de points manqués par parcours| 18% | | Taux de retour aux points manqués | 35% | | Taux d'écoute différée (sans retour) | 55% | | Taux d'ignorance définitive | 10% | | Taux de complétion après rattrapage | 92% | Et les métriques sont exportées vers le système de monitoring