# language: fr Fonctionnalité: Création de campagnes publicitaires En tant que publicitaire Je veux créer des campagnes avec ciblage précis et maîtrise du budget Afin d'optimiser mes investissements publicitaires Contexte: Étant donné que l'API RoadWave est disponible Et qu'un compte publicitaire est créé et vérifié Scénario: Création d'une campagne publicitaire complète Étant donné que je suis connecté en tant que publicitaire Quand je crée une nouvelle campagne avec les paramètres: | Paramètre | Valeur | | Budget total | 300€ | | Date début | 2026-02-01 | | Date fin | 2026-02-14 | | Zone géographique | Département du Var | | Plages horaires | 7h-9h, 17h-19h | | Tags ciblés | Automobile, Voyage | | Tranche d'âge | 18+ | Alors la campagne est créée avec succès Et le budget quotidien calculé est de 21.43€/jour Et les diffusions estimées sont de ~430 écoutes complètes Et un statut "En attente de validation" est assigné Scénario: Budget minimum 50€ requis Étant donné que je crée une nouvelle campagne Quand je définis un budget de 40€ Alors une erreur s'affiche: "Budget minimum requis: 50€" Et la campagne n'est pas créée Scénario: Budget de 50€ exactement accepté Étant donné que je crée une nouvelle campagne Quand je définis un budget de 50€ Alors la campagne est créée avec succès Et aucune erreur n'est affichée Scénario: Calcul automatique du budget quotidien Étant donné une campagne avec: | Budget total | 300€ | | Durée | 14 j | Quand le système calcule le budget quotidien Alors le budget/jour est de 21.43€ Et le nombre estimé de diffusions/jour est de 430 (à 0.05€/écoute) Scénario: Ciblage géographique point GPS précis Étant donné que je crée une campagne Quand je sélectionne "Point GPS" avec coordonnées (43.1234, 5.9234) Et que je définis un rayon de 5km Alors la campagne cible uniquement les utilisateurs dans ce rayon Et la zone est représentée par un cercle sur la carte Scénario: Ciblage géographique ville Étant donné que je crée une campagne Quand je sélectionne "Ville" et choisis "Marseille" Alors la campagne cible tous les utilisateurs dans la commune de Marseille Et les limites administratives sont affichées sur la carte Scénario: Ciblage géographique département Étant donné que je crée une campagne Quand je sélectionne "Département" et choisis "Var (83)" Alors la campagne cible tout le département du Var Et une estimation de population cible est affichée Scénario: Ciblage géographique région Étant donné que je crée une campagne Quand je sélectionne "Région" et choisis "Provence-Alpes-Côte d'Azur" Alors la campagne cible toute la région PACA Et l'estimation de population cible est mise à jour Scénario: Ciblage géographique national Étant donné que je crée une campagne Quand je sélectionne "National" Alors la campagne cible tous les utilisateurs en France Et aucune limite géographique n'est appliquée Scénario: Ciblage horaire plages multiples Étant donné que je crée une campagne Quand je définis les plages horaires: | Plage | | 7h-9h | | 12h-14h | | 17h-19h | Alors la publicité est diffusée uniquement pendant ces plages Et elle n'est jamais diffusée en dehors (ex: 10h, 15h, 20h) Scénario: Ciblage horaire toute la journée Étant donné que je crée une campagne Quand je ne définis aucune plage horaire spécifique Alors la publicité est diffusée 24h/24 Et aucune restriction horaire n'est appliquée Scénario: Ciblage par centres d'intérêt Étant donné que je crée une campagne pour un garage automobile Quand je sélectionne les tags: | Tag | | Automobile | | Mécanique | | Sport | Alors la publicité est prioritaire pour les utilisateurs avec jauges élevées sur ces tags Et elle peut quand même être diffusée à d'autres utilisateurs (ciblage non exclusif) Scénario: Classification d'âge obligatoire Étant donné que je crée une campagne Quand j'essaie de valider sans sélectionner une tranche d'âge Alors une erreur s'affiche: "Classification d'âge obligatoire" Et les options proposées sont: | Option | | Tout public | | 13+ | | 16+ | | 18+ | Scénario: Upload audio publicitaire formats acceptés Étant donné que je crée une campagne Quand j'upload un fichier audio format MP3 Alors le fichier est accepté Quand j'upload un fichier audio format AAC (.aac ou .m4a) Alors le fichier est accepté Quand j'upload un fichier audio format WAV Alors une erreur s'affiche: "Format non supporté. Utilisez MP3 ou AAC" Scénario: Durée audio publicitaire validée Étant donné que je crée une campagne Quand j'upload un audio de 8 secondes Alors une erreur s'affiche: "Durée minimale: 10 secondes" Quand j'upload un audio de 65 secondes Alors une erreur s'affiche: "Durée maximale: 60 secondes" Quand j'upload un audio de 30 secondes Alors le fichier est accepté Scénario: Prépaiement obligatoire via Mangopay Étant donné que j'ai configuré une campagne à 300€ Quand j'arrive à l'étape de paiement Alors je dois payer les 300€ avant validation Et le paiement est traité via Mangopay Et seule la carte bancaire est acceptée Scénario: Recharge automatique optionnelle Étant donné que j'ai une campagne active Quand je configure la recharge automatique à 10% du budget Alors si le budget restant passe sous 30€ (10% de 300€) Et que la campagne recharge automatiquement 100€ Et ma carte bancaire est débitée de 100€ Et le budget total passe à 130€ Scénario: Désactivation recharge automatique Étant donné que j'ai activé la recharge automatique Quand je désactive cette option Alors aucune recharge ne se produit automatiquement Et la campagne s'arrête quand le budget atteint 0€ Scénario: Étalement budget sur période longue Étant donné une campagne avec: | Budget total | 1000€ | | Durée | 30 j | Quand le système calcule l'étalement Alors le budget/jour est de 33.33€ Et si le budget se consomme plus vite (ex: 50€/jour) Alors une alerte "Budget épuisé dans 10 jours" est envoyée Scénario: Estimation population cible selon zone Étant donné que je sélectionne la zone "Marseille" Quand le système calcule la population cible Alors l'estimation affichée est "~15 000 utilisateurs potentiels" Et un message "Estimation basée sur utilisateurs actifs dans la zone" s'affiche Scénario: Campagne avec date de début différée Étant donné que je crée une campagne Quand je définis la date de début au 2026-03-01 (dans 1 mois) Alors la campagne a le statut "Programmée" Et elle démarre automatiquement le 2026-03-01 à 00h00 Et le budget n'est pas consommé avant cette date Scénario: Interface self-service accessible Étant donné que je suis un publicitaire Quand j'accède à l'interface publicitaire Alors je peux créer une campagne sans contact commercial RoadWave Et toutes les options sont configurables en autonomie Et un tutoriel guidé est disponible (première utilisation) Scénario: Aperçu zone ciblée sur carte interactive Étant donné que je configure une zone géographique Quand je sélectionne "Département du Var" Alors une carte Leaflet affiche les limites du département en surbrillance Et un compteur "~50 000 utilisateurs actifs" est affiché Et je peux zoomer/dézoomer pour visualiser la zone Scénario: Tags multiples pour ciblage affiné Étant donné que je crée une campagne pour un restaurant Quand je sélectionne les tags: | Tag | | Gastronomie | | Tourisme | | Famille | Alors la publicité est prioritaire pour utilisateurs intéressés par ces 3 thèmes Et le score de ciblage combine les 3 jauges d'intérêt Scénario: Validation des dates de campagne Étant donné que je crée une campagne Quand je définis une date de début postérieure à la date de fin Alors une erreur s'affiche: "Date de fin doit être après date de début" Et la campagne n'est pas créée Scénario: Durée minimale de campagne Étant donné que je crée une campagne Quand je définis une durée de moins de 24 heures Alors une erreur s'affiche: "Durée minimale: 1 jour" Et je dois ajuster les dates Scénario: Durée maximale de campagne Étant donné que je crée une campagne Quand je définis une durée de plus de 90 jours Alors une erreur s'affiche: "Durée maximale: 90 jours" Et je dois ajuster les dates ou créer plusieurs campagnes Plan du Scénario: Calcul budget quotidien selon durée Étant donné une campagne avec un budget de € Quand la durée est de jours Alors le budget quotidien est de €/jour Exemples: | budget | duree | budget_jour | | 100 | 10 | 10.00 | | 300 | 14 | 21.43 | | 500 | 30 | 16.67 | | 1000 | 60 | 16.67 | Plan du Scénario: Estimation diffusions selon budget Étant donné un budget quotidien de € Quand le coût par écoute complète est 0.05€ Alors le nombre estimé de diffusions/jour est Exemples: | budget_jour | diffusions | | 10.00 | 200 | | 21.43 | 429 | | 50.00 | 1000 | | 100.00 | 2000 | Plan du Scénario: Formats audio acceptés/rejetés Étant donné que j'upload un fichier Quand le format est Alors le résultat est Exemples: | fichier | format | resultat | | pub.mp3 | MP3 | accepté | | pub.aac | AAC | accepté | | pub.m4a | AAC | accepté | | pub.wav | WAV | rejeté | | pub.ogg | OGG | rejeté | | pub.flac | FLAC | rejeté |