# language: fr

@ui @search @filters @mvp
Fonctionnalité: Filtres avancés de recherche

  En tant qu'utilisateur
  Je veux filtrer les résultats de recherche
  Afin de trouver précisément le contenu qui m'intéresse

  Scénario: Filtres de base toujours visibles
    Étant donné un utilisateur sur la page de recherche
    Quand il consulte les filtres
    Alors il voit les filtres de base:
      | Filtre        | Options                              |
      | Catégorie     | Tourisme, Culture, Gastronomie, etc. |
      | Durée         | < 30min, 30min-1h, 1h-2h, 2h+        |
      | Prix          | Gratuit, Payant                      |
      | Note          | 4+ étoiles, 3+ étoiles               |
      | Distance      | < 5km, 5-10km, 10-50km, 50km+        |
    Et un événement "SEARCH_FILTERS_DISPLAYED" est enregistré

  Scénario: Filtres avancés dépliables
    Étant donné un utilisateur qui clique sur "Filtres avancés"
    Alors des filtres supplémentaires apparaissent:
      | Filtre              | Options                       |
      | Langue              | Français, Anglais, etc.       |
      | Accessibilité PMR   | Oui / Non                     |
      | Mode de déplacement | Piéton, Voiture, Vélo         |
      | Créateur vérifié    | Oui / Non                     |
      | Date de publication | Dernière semaine, mois, année |
      | Nombre de séquences | 1-5, 6-10, 11-20, 20+         |
    Et un événement "ADVANCED_FILTERS_EXPANDED" est enregistré

  Scénario: Application des filtres en temps réel
    Étant donné un utilisateur qui sélectionne:
      | Filtre     | Valeur choisie |
      | Catégorie  | Tourisme       |
      | Durée      | 1h-2h          |
      | Distance   | < 10km         |
    Quand il applique les filtres
    Alors les résultats se mettent à jour instantanément (< 500ms)
    Et le compteur affiche: "23 résultats trouvés"
    Et un événement "SEARCH_FILTERS_APPLIED" est enregistré

  Scénario: Sauvegarde des filtres préférés
    Étant donné un utilisateur "alice@roadwave.fr" connecté
    Quand elle configure des filtres spécifiques
    Et clique sur "Sauvegarder ces filtres"
    Alors les filtres sont sauvegardés dans son profil
    Et automatiquement appliqués à sa prochaine recherche
    Et un événement "SEARCH_FILTERS_SAVED" est enregistré

  Scénario: Suggestions de filtres intelligentes
    Étant donné un utilisateur qui recherche "Louvre"
    Quand les résultats s'affichent
    Alors des filtres suggérés apparaissent:
      "Peut aussi vous intéresser: Musées à Paris, Art classique"
    Et un clic applique automatiquement ces filtres
    Et un événement "SMART_FILTERS_SUGGESTED" est enregistré

  Scénario: Compteur de résultats par filtre
    Étant donné un utilisateur qui survole un filtre
    Alors un badge affiche le nombre de résultats:
      | Filtre            | Badge        |
      | Tourisme          | (45)         |
      | Culture           | (23)         |
      | Gastronomie       | (12)         |
      | Gratuit           | (34)         |
      | Payant            | (28)         |
    Et aide à la décision de filtrage
    Et un événement "FILTER_COUNTS_DISPLAYED" est enregistré

  Scénario: Réinitialisation des filtres
    Étant donné un utilisateur avec plusieurs filtres actifs
    Quand il clique sur "Réinitialiser les filtres"
    Alors tous les filtres sont désactivés
    Et tous les résultats sont affichés
    Et un événement "SEARCH_FILTERS_RESET" est enregistré

  Scénario: Filtres persistants dans l'URL
    Étant donné un utilisateur qui applique des filtres
    Quand l'URL se met à jour
    Alors elle contient: /search?category=tourisme&duration=1-2h&distance=10km
    Et le lien peut être partagé avec les filtres actifs
    Et un événement "SEARCH_URL_UPDATED_WITH_FILTERS" est enregistré

  Scénario: Métriques d'utilisation des filtres
    Étant donné que 10 000 recherches ont été effectuées
    Alors les indicateurs suivants sont disponibles:
      | Métrique                          | Valeur  |
      | % d'utilisateurs utilisant filtres| 68%     |
      | Nombre moyen de filtres/recherche | 2.3     |
      | Filtre le plus utilisé            | Distance|
      | Filtre le moins utilisé           | PMR     |
    Et les métriques sont exportées vers le monitoring
