# language: fr
Fonctionnalité: Téléchargement de contenus offline
  En tant qu'utilisateur
  Je veux télécharger des contenus pour les écouter sans connexion
  Afin de profiter de RoadWave même dans les zones sans réseau

  Contexte:
    Étant donné que je suis connecté à l'application RoadWave

  # ===== SÉLECTION ZONE GÉOGRAPHIQUE =====

  Scénario: Option "Autour de moi" - Rayon 50 km
    Étant donné que je suis à Paris (position GPS détectée)
    Quand je sélectionne "Télécharger > Autour de moi"
    Alors l'app recherche tous les contenus géolocalisés dans un rayon de 50 km
    Et je vois une liste de contenus de Paris et banlieue proche
    Et l'estimation affiche "~150 contenus disponibles"

  Scénario: Option "Ma ville" - Limite administrative détectée
    Étant donné que je suis à Lyon (position GPS détectée)
    Quand je sélectionne "Télécharger > Ma ville"
    Alors l'app détecte automatiquement "Lyon" comme ville
    Et recherche tous les contenus géolocalisés "Lyon"
    Et je vois uniquement les contenus de la ville de Lyon (pas banlieue)

  Scénario: Option "Mon département" - Sélection dans liste
    Étant donné que je veux télécharger des contenus pour un département
    Quand je sélectionne "Télécharger > Mon département"
    Alors je vois une liste de tous les départements français:
      | département          |
      | 01 - Ain             |
      | 02 - Aisne           |
      | 75 - Paris           |
      | 69 - Rhône           |
      | ...                  |
    Et je peux choisir un département

  Scénario: Sélection département et téléchargement contenus
    Étant donné que je sélectionne "75 - Paris" dans la liste des départements
    Quand la sélection est confirmée
    Alors l'app recherche tous les contenus géolocalisés "Paris"
    Et je vois "~234 contenus disponibles pour Paris"

  Scénario: Option "Ma région" - Sélection dans liste
    Étant donné que je veux télécharger des contenus pour une région
    Quand je sélectionne "Télécharger > Ma région"
    Alors je vois une liste de toutes les régions françaises:
      | région                        |
      | Auvergne-Rhône-Alpes          |
      | Bretagne                      |
      | Île-de-France                 |
      | Nouvelle-Aquitaine            |
      | Occitanie                     |
      | ...                           |
    Et je peux choisir une région

  Scénario: Sélection région et téléchargement contenus
    Étant donné que je sélectionne "Bretagne" dans la liste des régions
    Quand la sélection est confirmée
    Alors l'app recherche tous les contenus géolocalisés des départements bretons:
      | département                  |
      | Côtes-d'Armor (22)           |
      | Finistère (29)               |
      | Ille-et-Vilaine (35)         |
      | Morbihan (56)                |
    Et je vois "~487 contenus disponibles pour Bretagne"

  Scénario: Recherche manuelle ville
    Étant donné que je veux télécharger des contenus pour une ville spécifique
    Quand je tape "Marseille" dans la barre de recherche
    Alors l'app propose des suggestions:
      | suggestion              |
      | Marseille (13)          |
      | Marseille-en-Beauvaisis |
    Et je peux sélectionner "Marseille (13)"

  Scénario: Recherche manuelle avec autocomplétion
    Étant donné que je tape "Ly" dans la barre de recherche
    Quand l'autocomplétion s'active
    Alors je vois des suggestions:
      | suggestion     |
      | Lyon (69)      |
      | Lys-lez-Lannoy |
    Et je peux affiner ma recherche

  # ===== LIMITES TÉLÉCHARGEMENT =====

  Scénario: Utilisateur gratuit - Limite 50 contenus max
    Étant donné que je suis un utilisateur gratuit
    Et que j'ai déjà téléchargé 45 contenus
    Quand j'accède à la page Téléchargements
    Alors je vois "45 / 50 contenus téléchargés"
    Et je peux télécharger 5 contenus supplémentaires maximum

  Scénario: Utilisateur gratuit - Tentative dépasser limite 50
    Étant donné que je suis gratuit et j'ai déjà 50 contenus téléchargés
    Quand j'essaie de télécharger un 51ème contenu
    Alors le téléchargement est refusé
    Et je vois le message:
      """
      📥 Limite atteinte (50 contenus)

      Vous avez atteint la limite de téléchargements gratuits.

      Options:
      • Supprimez des contenus existants pour en télécharger de nouveaux
      • Passez Premium pour des téléchargements illimités

      [Gérer mes téléchargements]  [Découvrir Premium]
      """

  Scénario: Utilisateur Premium - Téléchargements illimités
    Étant donné que je suis un utilisateur Premium
    Et que j'ai déjà téléchargé 245 contenus
    Quand j'accède à la page Téléchargements
    Alors je vois "245 contenus (3.2 GB)"
    Et aucune limite n'est affichée
    Et je peux télécharger autant de contenus que je veux

  Scénario: Limite Premium = Espace disque disponible
    Étant donné que je suis Premium
    Et que mon device a 500 MB d'espace disque disponible
    Quand j'essaie de télécharger 100 contenus (2 GB)
    Alors le téléchargement échoue après ~50 contenus (500 MB)
    Et je vois "Espace disque insuffisant. Libérez de l'espace pour continuer."

  Scénario: Calcul temps écoute disponible gratuit
    Étant donné que je suis gratuit avec 50 contenus téléchargés
    Et que la durée moyenne d'un contenu est 5 minutes
    Quand je calcule le temps d'écoute disponible
    Alors 50 contenus × 5 min = 250 minutes = 4h10 d'écoute
    Et cela suffit pour un trajet quotidien ou road trip court

  Scénario: Calcul temps écoute disponible Premium illimité
    Étant donné que je suis Premium avec 300 contenus téléchargés
    Et que la durée moyenne est 5 minutes
    Quand je calcule le temps d'écoute disponible
    Alors 300 contenus × 5 min = 1500 minutes = 25h d'écoute
    Et cela suffit pour un road trip de plusieurs jours

  # ===== CONNEXION WIFI / MOBILE =====

  Scénario: Téléchargement par défaut en WiFi uniquement
    Étant donné que je suis connecté en WiFi
    Quand je clique sur "Télécharger 20 contenus"
    Alors le téléchargement démarre immédiatement
    Et aucune popup de confirmation n'apparaît

  Scénario: Tentative téléchargement en données mobiles - Popup confirmation
    Étant donné que je suis connecté en 4G (pas de WiFi)
    Quand je clique sur "Télécharger 20 contenus"
    Alors une popup apparaît:
      """
      📡 Vous n'êtes pas connecté en WiFi

      Télécharger via données mobiles consommera environ 72 MB.

      [Attendre WiFi]  [Continuer quand même]
      """

  Scénario: Calcul estimation consommation data mobile
    Étant donné que je veux télécharger 20 contenus
    Et que la durée moyenne est 5 minutes
    Et que la qualité Standard est 48 kbps Opus
    Quand l'estimation est calculée
    Alors consommation = 20 contenus × 5 min × 48 kbps / 8 = 72 MB
    Et ce montant est affiché dans la popup

  Scénario: Confirmation téléchargement en données mobiles
    Étant donné que je vois la popup de confirmation données mobiles
    Quand je clique sur "Continuer quand même"
    Alors le téléchargement démarre immédiatement via 4G
    Et la consommation data est comptabilisée sur mon forfait mobile

  Scénario: Refus téléchargement données mobiles - Attendre WiFi
    Étant donné que je vois la popup de confirmation données mobiles
    Quand je clique sur "Attendre WiFi"
    Alors les téléchargements sont mis en file d'attente
    Et ils démarreront automatiquement quand le WiFi sera détecté

  Scénario: Détection automatique WiFi et reprise téléchargements
    Étant donné que j'ai mis 20 contenus en file d'attente (attente WiFi)
    Quand l'app détecte une connexion WiFi
    Alors les téléchargements démarrent automatiquement
    Et je reçois une notification "Téléchargements en cours via WiFi"

  # ===== QUALITÉ AUDIO =====

  Scénario: Qualité Standard (48 kbps) par défaut
    Étant donné que je configure mes téléchargements
    Quand j'accède aux paramètres de qualité
    Alors la qualité "Standard (48 kbps - ~20 MB/h)" est sélectionnée par défaut
    Et elle est disponible pour tous (gratuit + Premium)

  Scénario: Qualité Basse (24 kbps) disponible pour tous
    Étant donné que j'ai peu d'espace disque disponible
    Quand je sélectionne qualité "Basse (24 kbps - ~10 MB/h)"
    Alors mes prochains téléchargements seront en 24 kbps
    Et l'espace utilisé sera divisé par 2 par rapport à Standard
    Et cette option est disponible pour gratuit + Premium

  Scénario: Qualité Haute (64 kbps) réservée Premium
    Étant donné que je suis un utilisateur gratuit
    Quand je consulte les options de qualité
    Alors l'option "Haute (64 kbps - ~30 MB/h)" est grisée
    Et je vois "👑 Premium uniquement"
    Et je ne peux pas la sélectionner

  Scénario: Utilisateur Premium peut choisir qualité Haute
    Étant donné que je suis un utilisateur Premium
    Quand je consulte les options de qualité
    Alors l'option "Haute (64 kbps - ~30 MB/h)" est disponible
    Et je peux la sélectionner pour mes téléchargements
    Et la qualité audio sera excellente (meilleure restitution voix et ambiances)

  Scénario: Comparaison taille fichiers selon qualité
    Étant donné que je veux télécharger 50 contenus de 5 min chacun
    Quand je compare les qualités
    Alors les tailles totales sont:
      | qualité   | bitrate | taille totale |
      | Basse     | 24 kbps | ~250 MB       |
      | Standard  | 48 kbps | ~500 MB       |
      | Haute     | 64 kbps | ~650 MB       |

  Scénario: Justification Standard = Bon compromis
    Étant donné que le contenu RoadWave est principalement de la voix
    Quand la qualité Standard (48 kbps Opus) est utilisée
    Alors la qualité est très correcte pour la voix
    Et équivalente à la radio FM
    Et le compromis qualité/taille est optimal

  Scénario: Justification Haute réservée Premium = Incitation upgrade
    Étant donné qu'un utilisateur gratuit veut la meilleure qualité
    Quand il voit que Haute est réservée Premium
    Alors cela l'incite à passer Premium pour 4.99€/mois
    Et c'est un avantage tangible supplémentaire de Premium

  Scénario: Changement qualité après téléchargements existants
    Étant donné que j'ai déjà téléchargé 30 contenus en qualité Standard
    Quand je change la qualité vers Haute (si Premium)
    Alors les 30 contenus existants restent en Standard
    Et seuls les nouveaux téléchargements seront en Haute
    Et je peux manuellement re-télécharger les 30 contenus pour les avoir en Haute

  # ===== PROCESSUS DE TÉLÉCHARGEMENT =====

  Scénario: Téléchargement individuel d'un contenu
    Étant donné que je consulte la page d'un contenu
    Quand je clique sur l'icône de téléchargement 📥
    Alors le téléchargement démarre
    Et une barre de progression apparaît
    Et l'icône devient ✅ quand terminé

  Scénario: Téléchargement batch de contenus sélectionnés
    Étant donné que je consulte une liste de contenus pour "Paris"
    Quand je sélectionne 15 contenus manuellement
    Et que je clique sur "Télécharger la sélection"
    Alors les 15 contenus sont téléchargés en parallèle (max 3 simultanés)
    Et une notification affiche "15 contenus téléchargés"

  Scénario: Téléchargement automatique recommandations zone
    Étant donné que je sélectionne "Autour de moi" (Paris)
    Quand je clique sur "Télécharger les 50 meilleurs contenus"
    Alors l'algorithme sélectionne automatiquement les 50 contenus les mieux notés/récents
    Et les télécharge tous
    Et je n'ai pas besoin de choisir manuellement

  Scénario: Barre de progression téléchargement global
    Étant donné que je télécharge 20 contenus
    Quand les téléchargements sont en cours
    Alors je vois une barre de progression globale:
      """
      📥 Téléchargement en cours...
      7 / 20 contenus (35%)
      ~45 MB restants
      Temps estimé: 2 min
      """

  Scénario: Téléchargements en tâche de fond
    Étant donné que je lance le téléchargement de 30 contenus
    Quand je ferme l'app ou passe à une autre activité
    Alors les téléchargements continuent en arrière-plan
    Et je reçois une notification quand tous sont terminés

  Scénario: Pause et reprise téléchargements
    Étant donné que je télécharge 20 contenus
    Quand je clique sur "Pause"
    Alors les téléchargements en cours se terminent
    Et les téléchargements en attente sont mis en pause
    Et je peux cliquer sur "Reprendre" plus tard

  Scénario: Annulation téléchargements
    Étant donné que je télécharge 20 contenus
    Quand je clique sur "Annuler"
    Alors tous les téléchargements sont arrêtés
    Et les fichiers partiels sont supprimés
    Et l'espace disque est libéré

  Scénario: Gestion erreurs téléchargement
    Étant donné que je télécharge un contenu
    Mais que la connexion Internet coupe au milieu
    Quand la connexion revient
    Alors le téléchargement reprend automatiquement où il s'était arrêté
    Et aucune perte de progression n'a lieu

  Scénario: Retry automatique après échec
    Étant donné qu'un téléchargement échoue 3 fois consécutives
    Quand l'échec est détecté
    Alors le contenu est marqué "Échec"
    Et je vois une notification "3 contenus n'ont pas pu être téléchargés"
    Et je peux retry manuellement en cliquant sur "Réessayer"

  # ===== GESTION CONTENUS TÉLÉCHARGÉS =====

  Scénario: Liste contenus téléchargés
    Étant donné que j'ai téléchargé 45 contenus
    Quand j'accède à "Téléchargements"
    Alors je vois la liste complète de mes 45 contenus
    Et pour chaque contenu: titre, créateur, durée, taille, date téléchargement

  Scénario: Tri contenus téléchargés
    Étant donné que je consulte ma liste de téléchargements
    Quand je clique sur "Trier par"
    Alors je peux trier par:
      | critère               | ordre                    |
      | Date téléchargement   | Plus récent / Plus ancien|
      | Titre                 | A-Z / Z-A                |
      | Créateur              | A-Z / Z-A                |
      | Durée                 | Plus long / Plus court   |
      | Taille                | Plus gros / Plus petit   |

  Scénario: Recherche dans contenus téléchargés
    Étant donné que j'ai 200 contenus téléchargés
    Quand je tape "Tesla" dans la barre de recherche
    Alors seuls les contenus contenant "Tesla" s'affichent
    Et je peux rapidement trouver un contenu spécifique

  Scénario: Suppression individuelle contenu téléchargé
    Étant donné que je veux supprimer un contenu téléchargé
    Quand je swipe left (iOS) ou long press (Android) sur le contenu
    Et que je clique sur "Supprimer"
    Alors le fichier est supprimé du device
    Et l'espace disque est libéré
    Et le compteur est décrémenté (ex: 45/50 → 44/50)

  Scénario: Suppression batch contenus téléchargés
    Étant donné que je veux supprimer plusieurs contenus
    Quand je sélectionne 10 contenus
    Et que je clique sur "Supprimer la sélection"
    Alors les 10 fichiers sont supprimés
    Et ~100 MB d'espace disque sont libérés
    Et une notification confirme "10 contenus supprimés"

  Scénario: Suppression tous les contenus téléchargés
    Étant donné que j'ai 45 contenus téléchargés
    Quand je clique sur "Supprimer tout"
    Et que je confirme l'action
    Alors tous les 45 contenus sont supprimés
    Et l'espace disque total est libéré (~450 MB)
    Et le compteur repasse à 0/50

  Scénario: Espace disque utilisé visible
    Étant donné que j'ai téléchargé 45 contenus
    Quand j'accède à la page Téléchargements
    Alors je vois l'espace disque utilisé:
      """
      📥 Téléchargements
      45 / 50 contenus
      Espace utilisé: 478 MB
      """

  Scénario: Statistiques téléchargements
    Étant donné que j'accède à mes statistiques
    Quand je consulte la section Téléchargements
    Alors je vois:
      | métrique                          | valeur       |
      | Contenus actuellement téléchargés | 45           |
      | Espace disque utilisé             | 478 MB       |
      | Contenus téléchargés depuis début | 287          |
      | Total data téléchargée            | 3.2 GB       |
      | Téléchargements via WiFi          | 92%          |
      | Téléchargements via mobile        | 8%           |

  # ===== LECTURE OFFLINE =====

  Scénario: Lecture contenu téléchargé sans connexion
    Étant donné que je n'ai aucune connexion Internet (mode avion)
    Et que j'ai des contenus téléchargés
    Quand je lance un contenu téléchargé
    Alors la lecture démarre normalement depuis le fichier local
    Et aucune erreur de connexion n'apparaît

  Scénario: Badge "Téléchargé" sur contenus offline
    Étant donné que j'ai téléchargé certains contenus
    Quand je consulte une liste de contenus
    Alors les contenus téléchargés ont un badge ✅ "Offline"
    Et je sais immédiatement lesquels sont disponibles sans connexion

  Scénario: Filtre "Téléchargés uniquement"
    Étant donné que je veux voir uniquement mes contenus offline
    Quand j'active le filtre "Téléchargés uniquement"
    Alors seuls les contenus téléchargés s'affichent
    Et je peux facilement naviguer dans mon catalogue offline

  Scénario: Playlist offline automatique
    Étant donné que j'ai téléchargé 45 contenus
    Quand j'accède à "Téléchargements"
    Alors je peux lancer une playlist aléatoire de mes 45 contenus
    Et profiter d'une écoute continue offline
