Files
roadwave/features/recommendation/parametrabilite-admin.feature
2026-01-31 11:45:11 +01:00

164 lines
7.2 KiB
Gherkin

# 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 "<parametre>" à "<nouvelle_valeur>"
Alors la modification est appliquée immédiatement
Et la nouvelle valeur respecte la plage "<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