# language: fr

@api @audio-guides @content-creation @mvp
Fonctionnalité: Rayon de déclenchement configurable par le créateur

  En tant que créateur de contenu
  Je veux configurer le rayon de déclenchement de chaque point d'intérêt
  Afin d'adapter l'expérience selon le type de lieu et le contexte

  Contexte:
    Étant donné que les rayons configurables respectent:
      | Paramètre           | Valeur         |
      | Rayon minimum       | 10 mètres      |
      | Rayon maximum       | 500 mètres     |
      | Rayon par défaut    | 100 mètres     |
      | Ajustement          | Par pas de 10m |

  Scénario: Configuration du rayon lors de la création d'une séquence
    Étant donné un créateur "alice@roadwave.fr" qui ajoute un point d'intérêt
    Quand elle place un marqueur pour "Cathédrale Notre-Dame"
    Alors un slider de rayon s'affiche avec:
      | Élément             | Valeur                |
      | Rayon actuel        | 100m (défaut)         |
      | Rayon minimum       | 10m                   |
      | Rayon maximum       | 500m                  |
      | Visualisation       | Cercle sur la carte   |
    Et elle peut ajuster le rayon à 150m
    Alors le cercle sur la carte s'agrandit à 150m de rayon
    Et un événement "POI_RADIUS_CONFIGURED" est enregistré avec rayon: 150
    Et la métrique "poi.radius.configured" est incrémentée

  Scénario: Rayon petit pour monuments précis (10-50m)
    Étant donné un créateur "bob@roadwave.fr" qui crée un audio-guide urbain
    Quand il configure un point pour une statue spécifique
    Et définit le rayon à 20m
    Alors le déclenchement sera très précis (proximité immédiate)
    Et le système valide que le rayon est suffisant
    Et un événement "POI_RADIUS_SMALL" est enregistré
    Et la métrique "poi.radius.small" est incrémentée

  Scénario: Rayon large pour zones étendues (200-500m)
    Étant donné un créateur "charlie@roadwave.fr" qui crée un audio-guide de parc
    Quand il configure un point pour "Jardin du Luxembourg"
    Et définit le rayon à 300m
    Alors le déclenchement sera anticipé (approche du parc)
    Et le système valide que le rayon n'est pas excessif
    Et un événement "POI_RADIUS_LARGE" est enregistré
    Et la métrique "poi.radius.large" est incrémentée

  Scénario: Visualisation en temps réel du rayon sur la carte
    Étant donné un créateur "david@roadwave.fr" qui ajuste un rayon
    Quand il déplace le slider de 100m à 250m
    Alors le cercle sur la carte s'agrandit en temps réel
    Et la zone de déclenchement est colorée en semi-transparent
    Et le rayon en mètres est affiché sur la carte
    Et un événement "POI_RADIUS_VISUALIZED" est enregistré

  Scénario: Suggestions de rayon basées sur le type de lieu
    Étant donné un créateur "eve@roadwave.fr" qui ajoute un POI
    Quand elle sélectionne le type "Monument"
    Alors le système suggère un rayon de 50m
    Quand elle sélectionne le type "Parc/Jardin"
    Alors le système suggère un rayon de 200m
    Quand elle sélectionne le type "Vue panoramique"
    Alors le système suggère un rayon de 100m
    Et un événement "POI_RADIUS_SUGGESTED" est enregistré

  Scénario: Test de simulation du déclenchement
    Étant donné un créateur "frank@roadwave.fr" qui configure un rayon de 150m
    Quand il clique sur "Tester le déclenchement"
    Alors une simulation GPS démarre
    Et il peut voir à quelle distance le point se déclencherait
    Et ajuster le rayon si nécessaire
    Et un événement "POI_RADIUS_TESTED" est enregistré

  Scénario: Modification du rayon après publication
    Étant donné un créateur "grace@roadwave.fr" avec audio-guide publié
    Et elle constate que le rayon de 50m est trop petit (retours utilisateurs)
    Quand elle modifie le rayon à 120m
    Alors la modification prend effet immédiatement
    Et tous les futurs déclenchements utilisent le nouveau rayon
    Et un événement "POI_RADIUS_UPDATED" est enregistré

  Scénario: Détection de chevauchements entre rayons
    Étant donné un créateur "henry@roadwave.fr" avec 2 points proches
    Quand les cercles de rayon se chevauchent à plus de 50%
    Alors un avertissement s'affiche: "Attention: chevauchement détecté"
    Et une suggestion est proposée: "Réduire les rayons ou espacer les points"
    Et un événement "POI_RADIUS_OVERLAP_DETECTED" est enregistré

  Scénario: Rayons adaptatifs selon le mode de déplacement
    Étant donné un créateur "iris@roadwave.fr" qui configure un point
    Quand elle active "Rayons adaptatifs"
    Alors le système configure automatiquement:
      | Mode        | Rayon suggéré |
      | Piéton      | 80m           |
      | Vélo        | 120m          |
      | Voiture     | 300m          |
    Et les utilisateurs bénéficient du rayon optimal selon leur mode
    Et un événement "POI_RADIUS_ADAPTIVE" est enregistré

  Scénario: Statistiques d'efficacité des rayons
    Étant donné un créateur "jack@roadwave.fr" avec audio-guide publié
    Quand il consulte les statistiques de ses POI
    Alors il voit pour chaque point:
      | Point          | Rayon | Taux déclenchement | Taux manqué |
      | Notre-Dame     | 100m  | 95%                | 5%          |
      | Sainte-Chapelle| 50m   | 78%                | 22%         |
      | Panthéon       | 150m  | 98%                | 2%          |
    Et des suggestions d'optimisation sont proposées
    Et un événement "POI_RADIUS_STATS_VIEWED" est enregistré

  Scénario: Métriques de performance des rayons configurés
    Étant donné que 5000 POI ont été configurés
    Quand les métriques sont collectées
    Alors les indicateurs suivants sont disponibles:
      | Métrique                        | Valeur moyenne |
      | Rayon moyen configuré           | 125m           |
      | Rayon le plus petit utilisé     | 15m            |
      | Rayon le plus grand utilisé     | 450m           |
      | Taux d'ajustement après tests   | 35%            |
      | Taux de déclenchement réussi    | 88%            |
    Et les métriques sont exportées vers le monitoring
