feat(bdd): réorganiser features en catégories api/ui/e2e et créer ADR-024
Résolution des incohérences #10, #11, et #12 de l'analyse d'architecture. ## Phase 1 : Réorganisation Features BDD (Point #10 - RÉSOLU) - Créer structure features/{api,ui,e2e} - Déplacer 83 features en 3 catégories via git mv (historique préservé) - features/api/ : 53 features (tests API backend) - features/ui/ : 22 features (tests UI mobile) - features/e2e/ : 8 features (tests end-to-end) Domaines déplacés : - API : authentication, recommendation, rgpd-compliance, content-creation, moderation, monetisation, premium, radio-live, publicites - UI : audio-guides, navigation, interest-gauges, mode-offline, partage, profil, recherche - E2E : abonnements, error-handling ## Phase 2 : Mise à jour Documentation ### ADR-007 - Tests BDD - Ajouter section "Convention de Catégorisation des Features" - Documenter règles api/ui/e2e avec exemples concrets - Spécifier step definitions (backend Go, mobile Dart) ### ADR-024 - Stratégie CI/CD Monorepo (NOUVEAU) - Créer ADR dédié pour stratégie CI/CD avec path filters - Architecture workflows séparés (backend.yml, mobile.yml, shared.yml) - Configuration path filters détaillée avec exemples YAML - Matrice de déclenchement et optimisations (~70% gain temps CI) - Plan d'implémentation (~2h, reporté jusqu'au développement) ### ADR-016 - Organisation Monorepo - Simplifier en retirant section CI/CD détaillée - Ajouter référence vers ADR-024 pour stratégie CI/CD ### INCONSISTENCIES-ANALYSIS.md - Point #10 (Tests BDD synchronisés) : ✅ RÉSOLU - Catégorisation features implémentée - ADR-007 mis à jour avec convention complète - Point #11 (70/30 Split paiements) : ✅ ANNULÉ (faux problème) - ADR-009 et Règle 18 parfaitement cohérents - Documentation exhaustive existante (formule, SQL, comparaisons) - Point #12 (Monorepo path filters) : ⏸️ DOCUMENTÉ - Architecture CI/CD complète dans ADR-024 - Implémentation reportée (projet en phase documentation) - Métriques mises à jour : - MODERATE : 6/9 traités (4 résolus + 1 annulé + 1 documenté) - ADR à jour : 100% (19/19 avec ADR-024) ## Phase 3 : Validation - Structure features validée (api/ui/e2e, aucun répertoire restant) - Historique Git préservé (git mv, renommages détectés) - 83 features total (API: 53, UI: 22, E2E: 8) Closes: Point #10 (résolu), Point #11 (annulé), Point #12 (documenté) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
115
features/api/recommendation/mode-kids.feature
Normal file
115
features/api/recommendation/mode-kids.feature
Normal file
@@ -0,0 +1,115 @@
|
||||
# language: fr
|
||||
Fonctionnalité: Mode Kids pour utilisateurs 13-15 ans
|
||||
En tant que parent ou adolescent
|
||||
Je veux activer un mode Kids avec filtrage de contenu
|
||||
Afin de protéger les mineurs des contenus inappropriés
|
||||
|
||||
Contexte:
|
||||
Étant donné que l'API RoadWave est disponible
|
||||
|
||||
Scénario: Activation manuelle du mode Kids
|
||||
Étant donné que je suis un utilisateur de 14 ans
|
||||
Et que le mode Kids n'est pas activé par défaut
|
||||
Quand j'active le mode Kids dans les paramètres
|
||||
Alors le mode Kids est activé sur mon compte
|
||||
Et je vois le message "Mode Kids activé - Contenus filtrés pour 13-15 ans"
|
||||
|
||||
Scénario: Parent active le mode Kids pour son enfant
|
||||
Étant donné que je suis le parent d'un utilisateur de 13 ans
|
||||
Et que j'ai accès au compte de mon enfant
|
||||
Quand j'active le mode Kids
|
||||
Alors le mode Kids est activé sur le compte enfant
|
||||
Et seuls les contenus "Tous publics" sont accessibles
|
||||
|
||||
Scénario: Filtrage contenu - uniquement "Tous publics"
|
||||
Étant donné que le mode Kids est activé sur mon compte
|
||||
Et qu'il existe des contenus avec les classifications:
|
||||
| classification | nombre |
|
||||
| Tous publics | 100 |
|
||||
| 13+ | 50 |
|
||||
| 16+ | 30 |
|
||||
| 18+ | 20 |
|
||||
Quand je demande des recommandations
|
||||
Alors seuls les 100 contenus "Tous publics" sont proposés
|
||||
Et les contenus 13+, 16+, 18+ sont exclus
|
||||
|
||||
Scénario: Exclusion automatique du contenu politique
|
||||
Étant donné que le mode Kids est activé
|
||||
Et qu'il existe 20 contenus "Tous publics" dont 5 tagués "Politique"
|
||||
Quand je demande des recommandations
|
||||
Alors seuls les 15 contenus non-politiques sont proposés
|
||||
Et les 5 contenus politiques sont automatiquement exclus
|
||||
|
||||
Scénario: Pas de publicité en mode Kids
|
||||
Étant donné que le mode Kids est activé
|
||||
Et que je suis un utilisateur gratuit
|
||||
Quand j'écoute du contenu
|
||||
Alors aucune publicité n'est diffusée
|
||||
Et je n'ai pas d'insertion publicitaire (règle 1/5 désactivée)
|
||||
|
||||
Scénario: Publicité validée manuellement en mode Kids (post-MVP)
|
||||
Étant donné que le mode Kids est activé
|
||||
Et qu'une publicité a été validée manuellement pour le mode Kids
|
||||
Quand j'écoute du contenu
|
||||
Alors cette publicité peut être diffusée
|
||||
Mais la fréquence reste inférieure au mode standard
|
||||
|
||||
Scénario: Interface standard même en mode Kids
|
||||
Étant donné que le mode Kids est activé
|
||||
Quand j'ouvre l'application
|
||||
Alors l'interface est identique au mode normal
|
||||
Et seul le filtrage de contenu est actif (pas d'UI enfant)
|
||||
|
||||
Scénario: Désactivation du mode Kids
|
||||
Étant donné que le mode Kids est activé
|
||||
Quand je désactive le mode Kids dans les paramètres
|
||||
Alors tous les contenus sont à nouveau accessibles selon mon âge
|
||||
Et je vois le message "Mode Kids désactivé"
|
||||
|
||||
Scénario: Utilisateur 16 ans ne peut pas activer le mode Kids 13-15 ans
|
||||
Étant donné que je suis un utilisateur de 16 ans
|
||||
Quand j'essaie d'activer le mode Kids
|
||||
Alors l'activation réussit
|
||||
Et le mode Kids filtre les contenus 16+ et 18+ (pas seulement 13+)
|
||||
Et je vois uniquement les contenus "Tous publics"
|
||||
|
||||
Scénario: Tentative d'accès direct à contenu 16+ en mode Kids
|
||||
Étant donné que le mode Kids est activé
|
||||
Et qu'un ami me partage un contenu 16+
|
||||
Quand j'essaie d'accéder au contenu via le lien
|
||||
Alors l'accès est refusé
|
||||
Et je vois le message "Ce contenu n'est pas accessible en mode Kids"
|
||||
|
||||
Scénario: Recherche en mode Kids filtre automatiquement
|
||||
Étant donné que le mode Kids est activé
|
||||
Quand je recherche "débat"
|
||||
Alors seuls les contenus "Tous publics" apparaissent dans les résultats
|
||||
Et les contenus 13+, 16+, 18+ sont exclus de la recherche
|
||||
|
||||
Scénario: Audio-guide en mode Kids
|
||||
Étant donné que le mode Kids est activé
|
||||
Et qu'un audio-guide "Tous publics" existe au musée du Louvre
|
||||
Quand je suis à proximité du Louvre
|
||||
Alors l'audio-guide est proposé normalement
|
||||
Et toutes les séquences sont accessibles
|
||||
|
||||
Scénario: Statistiques créateur - audience mode Kids
|
||||
Étant donné que je suis un créateur
|
||||
Et que mes contenus "Tous publics" sont écoutés par des utilisateurs mode Kids
|
||||
Quand je consulte mes statistiques
|
||||
Alors je vois le pourcentage d'écoutes en mode Kids
|
||||
Et je peux adapter mes contenus en conséquence
|
||||
|
||||
Scénario: Notification lors de l'activation du mode Kids
|
||||
Quand j'active le mode Kids
|
||||
Alors je reçois une notification explicative:
|
||||
| information | description |
|
||||
| Contenu | Seuls les contenus "Tous publics" accessibles |
|
||||
| Politique | Contenus politiques automatiquement masqués |
|
||||
| Publicité | Aucune publicité affichée |
|
||||
|
||||
Scénario: Badge mode Kids visible dans le profil
|
||||
Étant donné que le mode Kids est activé
|
||||
Quand je consulte mon profil
|
||||
Alors je vois un badge "Mode Kids actif 🛡️"
|
||||
Et je peux le désactiver en un clic
|
||||
Reference in New Issue
Block a user