Commit Graph

11 Commits

Author SHA1 Message Date
jpgiannetti
4b28db3465 docs: fusionner séquences dupliquées (garder versions FR)
- Supprimer data-export.md (doublon de export-donnees.md)
- Supprimer account-deletion.md (doublon de suppression-compte.md)
- Mettre à jour mkdocs.yml pour supprimer les doublons
- Garder uniquement les versions françaises plus détaillées
2026-02-08 18:17:30 +01:00
jpgiannetti
b52ffb8db9 feat(rgpd): compléter documentation RGPD avec 12 nouvelles sections
Règles RGPD (docs/domains/_shared/rules/rgpd.md):
- Ajouter sections 13.11-13.22 (droits utilisateurs, mineurs, sécurité)
- Droit de rectification, opposition, limitation du traitement
- Gestion des mineurs: 13 ans minimum + consentement parental 13-15 ans
- Protection renforcée: RoadWave Kids pour < 13 ans
- Sécurité: chiffrement multi-niveaux, procédure breach 72h CNIL
- Politique de confidentialité avec versioning
- Sous-traitants, DPIA, délais de réponse

Entités (6 nouvelles):
- PARENTAL_CONSENTS + PARENTAL_CONTROLS (workflow 13-15 ans)
- PRIVACY_POLICY_VERSIONS + USER_POLICY_ACCEPTANCES
- ACCOUNT_DELETIONS (grace period 30j)
- BREACH_INCIDENTS + BREACH_AFFECTED_USERS
- USER_PROFILE_HISTORY (audit trail rectification)
- DATA_RETENTION_LOGS (purge 5 ans)

Diagrammes séquences (5 nouveaux):
- Consentement parental avec validation email
- Anonymisation GPS automatique après 24h
- Notification breach CNIL (procédure 72h)
- Export données asynchrone
- Suppression compte avec grace period

Cycles de vie (3 nouveaux + 1 enrichi):
- parental-consent-lifecycle.md
- breach-incident-lifecycle.md
- account-deletion-lifecycle.md
- user-account-lifecycle.md (ajout états mineurs, frozen)

Features BDD (4 nouvelles, 195 scénarios RGPD):
- minors-protection.feature (9 scénarios)
- data-security.feature (12 scénarios)
- privacy-policy.feature (8 scénarios)
- user-rights.feature (8 scénarios)

Infrastructure:
- Réorganiser docs générées: docs/bdd + output → generated/bdd + generated/pdf
- Mettre à jour mkdocs.yml, Makefile, scripts Python
- Ajouter /generated/ au .gitignore
2026-02-08 17:54:46 +01:00
jpgiannetti
e63603551d docs(shared): ajouter documentation complète entités, états et séquences
- Entités: 7 nouveaux schémas (sessions, devices, consents, location-history, interest-gauges, reports, exports)
- États: 5 diagrammes lifecycles (compte, contenu, session, signalement, export)
- Séquences: 6 flows (auth, refresh token, modération, signalement, export, suppression)
- Renommage: modele-global.md → entities-overview.md
- MkDocs: organisation hiérarchique par catégories

Format concis: diagrammes Mermaid + règles essentielles uniquement
2026-02-07 21:38:02 +01:00
jpgiannetti
cf7a46be27 refactor(docs): réorganiser structure documentation
- Déplacer TECHNICAL.md vers docs/ pour cohérence
- Renommer docs/index.md en docs/README.md (convention GitHub)
- Créer docs/adr/README.md comme index des ADR
- Supprimer docs/REFACTOR-DDD.md (plan appliqué)
- Supprimer docs/technical.md (doublon)
- Mettre à jour tous les liens internes
- Mettre à jour mkdocs.yml pour nouvelle structure

Structure finale :
- README.md : vue d'ensemble projet (GitHub)
- docs/README.md : page d'accueil documentation (MkDocs)
- docs/TECHNICAL.md : architecture technique
- docs/adr/README.md : index des 25 ADR
2026-02-07 19:56:40 +01:00
jpgiannetti
be9fc998cc fix(docs): corriger les liens internes cassés après refactorisation DDD
Corrections:
- Liens vers ADR: docs/adr/ → adr/ dans index.md et technical.md
- Liens internes entre règles métier (anciens noms numérotés)
- Chemins relatifs ADR depuis les domaines: ../adr/ → ../../../adr/
- Lien ADR-010 → ADR-012 (frontend-mobile)
- Suppression référence vers sequences/scoring-recommandation.md (non créé)

Script: scripts/fix-remaining-links.sh
2026-02-07 17:25:47 +01:00
jpgiannetti
5e5fcf4714 refactor(docs): réorganiser la documentation selon principes DDD
Réorganise la documentation du projet selon les principes du Domain-Driven Design (DDD) pour améliorer la cohésion, la maintenabilité et l'alignement avec l'architecture modulaire du backend.

**Structure cible:**
```
docs/domains/
├── README.md (Context Map)
├── _shared/ (Core Domain)
├── recommendation/ (Supporting Subdomain)
├── content/ (Supporting Subdomain)
├── moderation/ (Supporting Subdomain)
├── advertising/ (Generic Subdomain)
├── premium/ (Generic Subdomain)
└── monetization/ (Generic Subdomain)
```

**Changements effectués:**

Phase 1: Création de l'arborescence des 7 bounded contexts
Phase 2: Déplacement des règles métier (01-19) vers domains/*/rules/
Phase 3: Déplacement des diagrammes d'entités vers domains/*/entities/
Phase 4: Déplacement des diagrammes flux/états/séquences vers domains/*/
Phase 5: Création des README.md pour chaque domaine
Phase 6: Déplacement des features Gherkin vers domains/*/features/
Phase 7: Création du Context Map (domains/README.md)
Phase 8: Mise à jour de mkdocs.yml pour la nouvelle navigation
Phase 9: Correction automatique des liens internes (script fix-markdown-links.sh)
Phase 10: Nettoyage de l'ancienne structure (regles-metier/, diagrammes/, features/)

**Configuration des tests:**
- Makefile: godog run docs/domains/*/features/
- scripts/generate-bdd-docs.py: features_dir → docs/domains

**Avantages:**
 Cohésion forte: toute la doc d'un domaine au même endroit
 Couplage faible: domaines indépendants, dépendances explicites
 Navigabilité améliorée: README par domaine = entrée claire
 Alignement code/docs: miroir de backend/internal/
 Onboarding facilité: exploration domaine par domaine
 Tests BDD intégrés: features au plus près des règles métier

Voir docs/REFACTOR-DDD.md pour le plan complet.
2026-02-07 17:15:02 +01:00
jpgiannetti
04cd6327ab feat(diagrammes): créer tous les diagrammes d'entités du projet
Création complète de tous les modèles de données :

 Déjà existants :
- modele-global.md : USERS, CONTENTS, SUBSCRIPTIONS, LISTENING_HISTORY
- modele-moderation.md : REPORTS, SANCTIONS, APPEALS, STRIKES, BADGES

🆕 Nouveaux diagrammes :
- modele-recommandation.md : USER_INTERESTS, INTEREST_CATEGORIES
  Jauges 0-100%, évolution temps réel, pas de dégradation temporelle

- modele-publicites.md : AD_CAMPAIGNS, AD_METRICS, AD_IMPRESSIONS
  Ciblage géo/horaire/intérêts, budget prépayé, validation 24-48h

- modele-premium.md : PREMIUM_SUBSCRIPTIONS, ACTIVE_STREAMS, OFFLINE_DOWNLOADS
  Multi-devices (1 stream actif), offline 30j, sans essai gratuit

- modele-monetisation.md : CREATOR_MONETIZATION, CREATOR_REVENUES, PAYOUTS
  KYC obligatoire, revenus pub (3€/1000) + premium (70/30), seuil 50€

- modele-audio-guides.md : AUDIO_GUIDES, GUIDE_SEQUENCES, USER_GUIDE_PROGRESS
  Multi-séquences GPS, 4 modes (piéton/voiture/vélo/transport), 2-50 séquences

- modele-radio-live.md : LIVE_STREAMS, LIVE_RECORDINGS, LIVE_LISTENERS
  Buffer 15s, max 8h, enregistrement auto, notification abonnés

Avantages architecture :
 Séparation entités globales (1 source vérité)
 Diagrammes focalisés par domaine métier
 Maintenance simplifiée (pas de duplication)
 Cohérence avec règles métier validées

8 modèles de données complets couvrant 100% du projet MVP.
2026-02-07 16:29:54 +01:00
jpgiannetti
563980aeb7 refactor(diagrammes): séparer entités globales et spécifiques
Problème : USERS et CONTENTS dupliqués dans chaque diagramme
= maintenance cauchemardesque lors d'évolutions

Solution : Extraction des entités communes
- modele-global.md : USERS, CONTENTS, SUBSCRIPTIONS, LISTENING_HISTORY
- modele-moderation.md : Uniquement entités spécifiques modération
  (REPORTS, SANCTIONS, APPEALS, STRIKES, MODERATORS, BADGES)

Avantages :
- Une seule source de vérité pour entités communes
- Diagrammes de domaine focalisés sur leur périmètre
- Maintenance simplifiée (1 fichier à modifier vs N)
- Lien entre diagrammes pour navigation

Les futurs diagrammes de domaine (recommandation, monétisation, etc.)
référenceront modele-global.md et définiront uniquement leurs
entités spécifiques.
2026-02-07 16:25:00 +01:00
jpgiannetti
bd724dcb8e doc(diagrammes): ajouter diagrammes Mermaid pour modération
Structure minimaliste :
- docs/diagrammes/flux/ : Flowcharts
- docs/diagrammes/etats/ : State diagrams
- docs/diagrammes/sequence/ : Sequence diagrams
- docs/diagrammes/entites/ : Entity-Relationship diagrams

Exemples créés pour modération (Section 14) :
- Flux de signalement complet
- Cycle de vie d'un signalement (13 états)
- Processus d'appel créateur
- Modèle de données modération (8 entités)

Chaque fichier contient uniquement :
- Référence vers règle métier
- Diagramme Mermaid détaillé
- Légende courte

Intégration dans navigation MkDocs.
2026-02-07 15:56:48 +01:00
jpgiannetti
a82dbfe1dc doc(adr) : update mkdocs config 2026-02-03 20:11:55 +01:00
jpgiannetti
f99fb3c614 Initial commit 2026-01-31 11:45:11 +01:00