# language: fr Fonctionnalité: Paramétrabilité admin et A/B testing En tant qu'administrateur RoadWave Je veux configurer les paramètres de l'algorithme à chaud Afin d'optimiser l'engagement sans redéploiement Contexte: Étant donné que l'API RoadWave est disponible Et que je suis connecté en tant qu'admin Scénario: Accès au dashboard admin Quand j'accède au dashboard admin Alors je vois tous les paramètres configurables de l'algorithme Et je vois les valeurs actuelles et par défaut Scénario: Modifier le poids géo pour contenu ancré Étant donné que le poids_geo_ancre est à 0.7 (défaut) Quand je modifie le poids_geo_ancre à 0.8 Et que je sauvegarde Alors la nouvelle valeur est appliquée immédiatement Et tous les nouveaux calculs utilisent 0.8 Et je vois le message "Paramètre mis à jour avec succès" Scénario: Validation des plages de valeurs Quand j'essaie de configurer poids_geo_ancre à 1.5 (hors plage 0.5-1.0) Alors la modification échoue Et je vois le message "Valeur hors plage autorisée (0.5 - 1.0)" Plan du Scénario: Modification de tous les paramètres configurables Quand je modifie "" à "" Alors la modification est appliquée immédiatement Et la nouvelle valeur respecte la plage "" Exemples: | parametre | nouvelle_valeur | plage | | poids_geo_ancre | 0.8 | 0.5 - 1.0 | | poids_geo_contextuel | 0.6 | 0.3 - 0.7 | | poids_geo_neutre | 0.3 | 0.0 - 0.4 | | poids_engagement | 0.3 | 0.0 - 0.5 | | part_aleatoire_global | 0.15 | 0.0 - 0.3 | | distance_max_km | 150 | 50 - 500 | | rayon_gps_point_m | 1000 | 100 - 2000 | | seuil_min_ecoutes_engagement | 100 | 10 - 200 | Scénario: Aucun recalcul batch après modification Étant donné que le poids_geo_ancre est modifié de 0.7 à 0.8 Quand la modification est appliquée Alors aucun recalcul batch n'est lancé (économie CPU) Et seuls les nouveaux calculs utilisent la valeur 0.8 Scénario: Versioning des configurations Étant donné que je modifie plusieurs paramètres Quand je sauvegarde la configuration Alors une nouvelle version est créée (ex: v1.2.3) Et je peux voir l'historique des versions Et je peux comparer deux versions Scénario: Rollback en 1 clic Étant donné que la configuration actuelle est v1.2.3 Et que la version précédente était v1.2.2 Quand je clique sur "Restaurer v1.2.2" Alors tous les paramètres de v1.2.2 sont réappliqués Et je vois le message "Configuration restaurée à v1.2.2" Scénario: Créer une variante A/B testing Quand je crée une nouvelle variante "Test engagement élevé" Et que je configure: | parametre | valeur | | poids_engagement | 0.4 | | poids_geo_ancre | 0.6 | Et que je lance le test A/B Alors 50% des utilisateurs reçoivent la Config A (défaut) Et 50% des utilisateurs reçoivent la Config B (test) Scénario: Split utilisateurs aléatoire pour A/B test Étant donné qu'un test A/B est actif Quand 1000 nouveaux utilisateurs se connectent Alors environ 500 sont assignés à la Config A Et environ 500 sont assignés à la Config B Et l'assignation est aléatoire et équilibrée Scénario: Utilisateur reste dans la même variante Étant donné qu'un utilisateur est assigné à la Config B Quand il se reconnecte plusieurs fois Alors il reste toujours dans la Config B Et il ne change pas de variante pendant le test Scénario: Métriques comparatives A/B testing Étant donné qu'un test A/B est actif depuis 7 jours Quand je consulte le dashboard A/B testing Alors je vois les métriques suivantes pour chaque config: | metrique | Config A | Config B | | Taux complétion moyen | 68% | 72% | | Engagement (likes) | 15% | 18% | | Durée session moyenne | 23 min | 27 min | | Taux skip rapide (<10s) | 12% | 9% | Scénario: Dashboard graphique temps réel Étant donné qu'un test A/B est actif Quand je consulte le dashboard Alors je vois des graphiques temps réel: | graphique | type | | Évolution engagement | Ligne | | Répartition utilisateurs| Camembert | | Taux complétion | Barres | | Durée session | Ligne | Scénario: Terminer un test A/B et appliquer la meilleure config Étant donné qu'un test A/B montre que Config B est meilleure Quand je clique sur "Appliquer Config B pour tous" Alors la Config B devient la configuration par défaut Et tous les utilisateurs utilisent maintenant Config B Et l'ancien test est archivé Scénario: Audit engagement global Quand je consulte la section "Audit engagement" Alors je vois: | metrique | valeur | | Temps écoute moyen/session | 25 min | | Temps écoute médian/session | 18 min | | Taux complétion moyen | 70% | | % sessions avec ≥1 like | 35% | Scénario: Graphiques évolution engagement selon config Étant donné que plusieurs modifications de config ont été faites Quand je consulte les graphiques d'évolution Alors je vois l'impact de chaque changement de config Et je peux corréler changements config avec métriques Scénario: Export CSV pour analyse externe Quand je clique sur "Exporter données" Alors je peux télécharger un CSV avec: | colonne | exemple | | date | 2026-01-21 | | version_config | v1.2.3 | | taux_completion | 0.72 | | engagement_moyen | 0.45 | | duree_session_min | 27 | Scénario: Alerte automatique si métrique critique baisse Étant donné que le taux de complétion moyen est à 70% Quand une nouvelle config fait baisser le taux à 55% Alors je reçois une alerte email "Baisse critique du taux de complétion" Et je peux rollback rapidement Scénario: Prévisualisation impact avant application Étant donné que je modifie poids_geo_ancre de 0.7 à 0.9 Quand je clique sur "Prévisualiser impact" Alors je vois une simulation sur échantillon de 1000 utilisateurs Et je vois l'estimation d'impact sur les métriques clés Scénario: Notes et commentaires sur modifications config Quand je modifie une configuration Alors je peux ajouter une note "Test pour améliorer contenu local" Et cette note est visible dans l'historique des versions Et l'équipe peut comprendre le contexte des changements Scénario: Permissions admin pour modification config Étant donné que je suis un admin junior Quand j'essaie de modifier un paramètre critique Alors l'accès est refusé Et je vois "Permission admin senior requise" Et seuls les admins seniors peuvent modifier les paramètres