# language: fr

@error-handling @gps-disabled
Fonctionnalité: Mode dégradé sans géolocalisation

  Contexte:
    Étant donné que je suis un utilisateur connecté
    Et que j'ai refusé ou désactivé l'accès à la géolocalisation

  # 12.4 - Mode dégradé automatique

  Scénario: Types de contenu disponibles sans géolocalisation
    Étant donné que la géolocalisation est désactivée
    Quand j'ouvre l'application
    Alors les types de contenu suivants sont disponibles:
      | type_contenu                     | disponible |
      | Contenu national                 | oui        |
      | Contenu téléchargé (offline)     | oui        |
      | Contenus "Neutre" géographiquement | oui      |
      | Contenu géolocalisé Ancré        | non        |
      | Contenu géolocalisé Contextuel   | non        |
      | Audio-guides                     | non        |
      | Notifications push géo-déclenchées | non      |

  # Popup au premier lancement

  Scénario: Popup d'information au premier lancement sans GPS
    Étant donné que c'est mon premier lancement de l'application
    Et que j'ai refusé l'accès à la géolocalisation
    Quand l'application détecte que le GPS est désactivé
    Alors une popup s'affiche avec le message:
      """
      RoadWave fonctionne mieux avec la géolocalisation activée. Sans elle, seul le contenu national sera disponible.
      """
    Et la popup contient les boutons suivants:
      | bouton              | action                          |
      | Activer             | Redirection vers paramètres OS  |
      | Continuer sans      | Ferme popup et lance en mode dégradé |
    Et une checkbox "Ne plus me demander" est disponible

  Scénario: Popup non affichée si case "Ne plus me demander" cochée
    Étant donné que j'ai déjà vu la popup de géolocalisation
    Et que j'ai coché "Ne plus me demander"
    Quand je lance l'application avec le GPS désactivé
    Alors la popup de géolocalisation ne s'affiche pas
    Et l'application démarre directement en mode dégradé
    Et le banner permanent de rappel s'affiche

  Scénario: Redirection vers paramètres OS lors du clic sur "Activer"
    Étant donné que la popup de géolocalisation est affichée
    Quand je clique sur "Activer"
    Alors je suis redirigé vers les paramètres de géolocalisation de mon OS
    Et sur iOS, j'arrive dans "Réglages > RoadWave > Localisation"
    Et sur Android, j'arrive dans "Paramètres > Applications > RoadWave > Autorisations > Position"

  # Banner permanent en mode dégradé

  Scénario: Banner de rappel permanent sans GPS
    Étant donné que j'ai cliqué sur "Continuer sans" géolocalisation
    Quand l'application s'affiche
    Alors un bandeau s'affiche en haut de l'écran
    Et le bandeau contient le texte: "Mode limité : géolocalisation désactivée. [Activer]"
    Et le bandeau a un fond de couleur avertissement (jaune/orange)
    Et le bandeau n'est pas intrusif mais reste visible
    Et le bandeau reste affiché sur toutes les pages de l'application

  Scénario: Clic sur le bouton "Activer" du banner
    Étant donné que le banner "Mode limité" est affiché
    Quand je clique sur le lien "[Activer]" dans le banner
    Alors je suis redirigé vers les paramètres de géolocalisation de mon OS

  Scénario: Disparition du banner après activation GPS
    Étant donné que le banner "Mode limité" est affiché
    Et que je reviens dans l'application après avoir activé le GPS dans les paramètres
    Quand l'application détecte que la géolocalisation est maintenant active
    Alors le banner disparaît automatiquement
    Et l'application bascule en mode normal avec contenu géolocalisé
    Et un toast de confirmation s'affiche: "Géolocalisation activée"

  # Contenu disponible en mode dégradé

  Scénario: Lecture de contenu national sans GPS
    Étant donné que la géolocalisation est désactivée
    Et que du contenu national existe (actualités Le Monde, podcasts génériques)
    Quand je lance la lecture
    Alors je peux écouter le contenu national sans restriction
    Et l'algorithme de recommandation se base uniquement sur:
      | critère                     |
      | Mes centres d'intérêt       |
      | Mon historique d'écoute     |
      | Popularité générale         |
    Et la proximité géographique n'est pas prise en compte

  Scénario: Lecture de contenu téléchargé sans GPS
    Étant donné que la géolocalisation est désactivée
    Et que j'ai téléchargé 30 contenus quand j'avais le GPS activé
    Quand j'accède à mes contenus téléchargés
    Alors je peux lire tous mes contenus téléchargés normalement
    Et les contenus géolocalisés téléchargés restent accessibles
    Et le filtre géographique n'est pas appliqué pour les contenus offline

  Scénario: Contenu "Neutre" géographiquement disponible
    Étant donné que la géolocalisation est désactivée
    Et qu'un créateur a publié du contenu avec la classification géographique "Neutre"
    Quand je recherche du contenu
    Alors les contenus "Neutre" sont inclus dans les résultats
    Et ils sont mélangés avec le contenu national
    Et l'algorithme les priorise selon mes centres d'intérêt

  # Restrictions de contenu sans GPS

  Scénario: Audio-guides inaccessibles sans GPS
    Étant donné que la géolocalisation est désactivée
    Quand je recherche un audio-guide spécifique
    Alors les audio-guides apparaissent dans les résultats de recherche
    Mais un badge "GPS requis" est affiché sur chaque audio-guide
    Et quand je clique sur un audio-guide, un message s'affiche:
      """
      Les audio-guides nécessitent la géolocalisation pour fonctionner. Voulez-vous activer le GPS ?
      """
    Et je peux choisir "Activer" ou "Annuler"

  Scénario: Notifications push géo-déclenchées désactivées
    Étant donné que la géolocalisation est désactivée
    Et que je suis abonné à un créateur qui diffuse du contenu géolocalisé
    Quand le créateur publie un nouveau contenu géolocalisé
    Alors je ne reçois pas de notification push géo-déclenchée
    Mais je reçois une notification push standard (non géo-déclenchée) si le créateur publie du contenu national
    Et la notification précise: "Nouveau contenu national de [Créateur]"

  Scénario: Contenu géolocalisé non proposé dans le feed
    Étant donné que la géolocalisation est désactivée
    Quand le système génère mon feed de contenu
    Alors aucun contenu "Ancré" ou "Contextuel" n'est inclus
    Et seuls les contenus "Neutre" et "National" sont proposés
    Et mon feed contient au minimum 20 contenus disponibles

  # RGPD: Respect du consentement libre

  Scénario: Application fonctionnelle sans GPS (pas de blocage)
    Étant donné que la géolocalisation est désactivée
    Quand j'utilise l'application
    Alors je ne suis jamais bloqué par un écran "GPS requis"
    Et toutes les fonctionnalités non-géolocalisées restent accessibles:
      | fonctionnalité                 |
      | Écoute contenu national        |
      | Gestion profil                 |
      | Abonnements créateurs          |
      | Recherche textuelle            |
      | Historique d'écoute            |
      | Paramètres                     |
      | Mode offline                   |
    Et je peux créer et publier du contenu national

  Scénario: Respect du choix utilisateur de ne pas activer GPS
    Étant donné que j'ai coché "Ne plus me demander" pour la géolocalisation
    Quand j'utilise l'application pendant plusieurs semaines
    Alors la popup de demande GPS ne s'affiche plus jamais automatiquement
    Et seul le banner permanent reste affiché
    Et l'application ne force jamais l'activation du GPS

  # Réactivation GPS et bascule en mode normal

  Scénario: Bascule automatique en mode normal après activation GPS
    Étant donné que j'utilise l'application en mode dégradé depuis 1 semaine
    Et que je décide d'activer la géolocalisation
    Quand l'application détecte que le GPS est maintenant actif
    Alors le mode dégradé est désactivé automatiquement
    Et le banner "Mode limité" disparaît
    Et le contenu géolocalisé devient disponible immédiatement
    Et mon feed se rafraîchit avec du contenu local pertinent
    Et un toast de confirmation s'affiche: "Géolocalisation activée - Contenu local disponible"

  Scénario: Demande de permission GPS lors de l'utilisation d'une fonctionnalité géo
    Étant donné que la géolocalisation est désactivée
    Quand j'essaie d'accéder à une fonctionnalité nécessitant le GPS (ex: audio-guide)
    Alors une popup contextuelle s'affiche:
      """
      Cette fonctionnalité nécessite la géolocalisation. Voulez-vous l'activer ?
      """
    Et je peux accepter ou refuser
    Et si j'accepte, je suis redirigé vers les paramètres OS
    Et si je refuse, je reste en mode dégradé sans message d'erreur répétitif

  # Incitation à activer GPS sans être intrusif

  Scénario: Statistiques de contenu local disponible non affiché
    Étant donné que la géolocalisation est désactivée
    Quand je navigue dans l'application
    Alors le banner peut afficher occasionnellement:
      """
      Mode limité : géolocalisation désactivée. Plus de 500 contenus locaux disponibles près de vous. [Activer]
      """
    Et ce message incitatif change tous les 3 jours
    Et il reste non intrusif (pas de popup, juste le banner)

  Scénario: Onboarding différent pour utilisateurs sans GPS
    Étant donné que c'est ma première utilisation de RoadWave
    Et que j'ai refusé la géolocalisation
    Quand l'onboarding se termine
    Alors un écran explicatif s'affiche:
      """
      Vous utilisez RoadWave sans géolocalisation. Voici ce qui est disponible :
      - Contenu national (actualités, podcasts)
      - Contenus téléchargés
      - Tous les créateurs et abonnements

      Pour profiter pleinement de RoadWave (contenu local, audio-guides), activez la géolocalisation à tout moment.
      """
    Et je peux continuer avec un bouton "Compris"
