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.
179 lines
7.8 KiB
YAML
179 lines
7.8 KiB
YAML
site_name: RoadWave Documentation
|
|
site_description: Documentation complète du projet RoadWave - Réseau social audio géolocalisé
|
|
site_author: RoadWave Team
|
|
|
|
theme:
|
|
name: material
|
|
language: fr
|
|
palette:
|
|
# Light mode
|
|
- media: "(prefers-color-scheme: light)"
|
|
scheme: default
|
|
primary: indigo
|
|
accent: indigo
|
|
toggle:
|
|
icon: material/brightness-7
|
|
name: Passer en mode sombre
|
|
# Dark mode
|
|
- media: "(prefers-color-scheme: dark)"
|
|
scheme: slate
|
|
primary: indigo
|
|
accent: indigo
|
|
toggle:
|
|
icon: material/brightness-4
|
|
name: Passer en mode clair
|
|
features:
|
|
- navigation.tabs
|
|
- navigation.sections
|
|
- navigation.expand
|
|
- navigation.top
|
|
- navigation.tracking
|
|
- search.suggest
|
|
- search.highlight
|
|
- content.code.copy
|
|
- toc.follow
|
|
|
|
plugins:
|
|
- search:
|
|
lang: fr
|
|
- glightbox: # Lightbox pour agrandir les images
|
|
|
|
markdown_extensions:
|
|
- admonition
|
|
- pymdownx.details
|
|
- pymdownx.superfences:
|
|
custom_fences:
|
|
- name: mermaid
|
|
class: mermaid
|
|
format: !!python/name:pymdownx.superfences.fence_code_format
|
|
- pymdownx.tabbed:
|
|
alternate_style: true
|
|
- pymdownx.emoji:
|
|
emoji_index: !!python/name:material.extensions.emoji.twemoji
|
|
emoji_generator: !!python/name:material.extensions.emoji.to_svg
|
|
- tables
|
|
- toc:
|
|
permalink: true
|
|
- attr_list
|
|
- md_in_html # Permet d'utiliser du markdown dans du HTML
|
|
- def_list
|
|
|
|
nav:
|
|
- Accueil: index.md
|
|
- Architecture Technique: technical.md
|
|
- Architecture Decision Records (ADR):
|
|
- 'ADR-001: Langage Backend': adr/001-langage-backend.md
|
|
- 'ADR-002: Protocole Streaming': adr/002-protocole-streaming.md
|
|
- 'ADR-003: Codec Audio': adr/003-codec-audio.md
|
|
- 'ADR-004: CDN': adr/004-cdn.md
|
|
- 'ADR-005: Base de données': adr/005-base-de-donnees.md
|
|
- 'ADR-006: Chiffrement': adr/006-chiffrement.md
|
|
- 'ADR-007: Tests BDD': adr/007-tests-bdd.md
|
|
- 'ADR-008: Authentification': adr/008-authentification.md
|
|
- 'ADR-009: Solution Paiement': adr/009-solution-paiement.md
|
|
- 'ADR-010: Architecture Backend': adr/010-architecture-backend.md
|
|
- 'ADR-011: ORM et Accès Données': adr/011-orm-acces-donnees.md
|
|
- 'ADR-012: Frontend Mobile': adr/012-frontend-mobile.md
|
|
- 'ADR-013: Stratégie Tests': adr/013-strategie-tests.md
|
|
- 'ADR-014: Organisation en Monorepo': adr/014-organisation-monorepo.md
|
|
- 'ADR-015: Hébergement': adr/015-hebergement.md
|
|
- 'ADR-016: Service Emailing': adr/016-service-emailing.md
|
|
- 'ADR-017: Notifications Géolocalisées': adr/017-notifications-geolocalisees.md
|
|
- 'ADR-018: Librairies Go': adr/018-librairies-go.md
|
|
- 'ADR-019: Géolocalisation par IP': adr/019-geolocalisation-ip.md
|
|
- 'ADR-020: Librairies Flutter': adr/020-librairies-flutter.md
|
|
- 'ADR-021: Solution de Cache': adr/021-solution-cache.md
|
|
- 'ADR-022: CI/CD Monorepo': adr/022-strategie-cicd-monorepo.md
|
|
- 'ADR-023: Architecture Modération': adr/023-architecture-moderation.md
|
|
- 'ADR-024: Monitoring & Observabilité': adr/024-monitoring-observabilite.md
|
|
- 'ADR-025: Sécurité & Secrets': adr/025-securite-secrets.md
|
|
- Domaines DDD:
|
|
- 'Context Map': domains/README.md
|
|
- 'Core Domain':
|
|
- '🔐 Shared': domains/_shared/README.md
|
|
- Règles:
|
|
- Authentification: domains/_shared/rules/authentification.md
|
|
- RGPD: domains/_shared/rules/rgpd.md
|
|
- Gestion Erreurs: domains/_shared/rules/gestion-erreurs.md
|
|
- 'Annexe Post-MVP': domains/_shared/rules/ANNEXE-POST-MVP.md
|
|
- Entités:
|
|
- Modèle Global: domains/_shared/entities/modele-global.md
|
|
- 'Supporting Subdomains':
|
|
- '🎯 Recommendation':
|
|
- Vue d'ensemble: domains/recommendation/README.md
|
|
- Règles:
|
|
- Centres Intérêt: domains/recommendation/rules/centres-interet-jauges.md
|
|
- Algorithme: domains/recommendation/rules/algorithme-recommandation.md
|
|
- Interactions: domains/recommendation/rules/interactions-navigation.md
|
|
- Entités:
|
|
- Modèle Recommandation: domains/recommendation/entities/modele-recommandation.md
|
|
- '🎙️ Content':
|
|
- Vue d'ensemble: domains/content/README.md
|
|
- Règles:
|
|
- Création & Publication: domains/content/rules/creation-publication.md
|
|
- Audio-guides: domains/content/rules/audio-guides.md
|
|
- Radio Live: domains/content/rules/radio-live.md
|
|
- Contenus Géolocalisés: domains/content/rules/contenus-geolocalises.md
|
|
- Contenu Protégé: domains/content/rules/detection-contenu-protege.md
|
|
- Entités:
|
|
- Modèle Audio-guides: domains/content/entities/modele-audio-guides.md
|
|
- Modèle Radio Live: domains/content/entities/modele-radio-live.md
|
|
- '🛡️ Moderation':
|
|
- Vue d'ensemble: domains/moderation/README.md
|
|
- Règles:
|
|
- Modération: domains/moderation/rules/moderation-flows.md
|
|
- Modération Communautaire: domains/moderation/rules/moderation-communautaire.md
|
|
- Autres Comportements: domains/moderation/rules/autres-comportements.md
|
|
- Entités:
|
|
- Modèle Modération: domains/moderation/entities/modele-moderation.md
|
|
- Diagrammes:
|
|
- 'Flux: Signalement': domains/moderation/flows/moderation-signalement.md
|
|
- 'États: Lifecycle': domains/moderation/states/signalement-lifecycle.md
|
|
- 'Séquence: Appel': domains/moderation/sequences/processus-appel-moderation.md
|
|
- 'Generic Subdomains':
|
|
- '📢 Advertising':
|
|
- Vue d'ensemble: domains/advertising/README.md
|
|
- Règles:
|
|
- Publicités: domains/advertising/rules/publicites.md
|
|
- Entités:
|
|
- Modèle Publicités: domains/advertising/entities/modele-publicites.md
|
|
- '💎 Premium':
|
|
- Vue d'ensemble: domains/premium/README.md
|
|
- Règles:
|
|
- Premium: domains/premium/rules/premium.md
|
|
- Mode Offline: domains/premium/rules/mode-offline.md
|
|
- Abonnements: domains/premium/rules/abonnements-notifications.md
|
|
- Entités:
|
|
- Modèle Premium: domains/premium/entities/modele-premium.md
|
|
- '💰 Monetization':
|
|
- Vue d'ensemble: domains/monetization/README.md
|
|
- Règles:
|
|
- Monétisation Créateurs: domains/monetization/rules/monetisation-createurs.md
|
|
- Entités:
|
|
- Modèle Monétisation: domains/monetization/entities/modele-monetisation.md
|
|
- Documentation Légale:
|
|
- Introduction: legal/README.md
|
|
- "Conditions Générales d'Utilisation": legal/cgu.md
|
|
- 'CGV Premium': legal/cgv-premium.md
|
|
- 'CGV Publicités': legal/cgv-publicites.md
|
|
- 'Charte Créateur': legal/charte-createur.md
|
|
- 'Mentions Légales': legal/mentions-legales.md
|
|
- 'Politique de Confidentialité': legal/politique-confidentialite.md
|
|
- Interfaces:
|
|
- Vue d'ensemble: interfaces/README.md
|
|
- Mobile:
|
|
- Navigation & Architecture: interfaces/mobile/navigation.md
|
|
- Mobile:
|
|
- 'Stratégie Permissions': mobile/permissions-strategy.md
|
|
- 'Validation TestFlight': mobile/testflight-validation-plan.md
|
|
- Conformité & Compliance:
|
|
- 'Soumission aux Stores': compliance/stores-submission.md
|
|
- Architecture & Techniques:
|
|
- Séquences:
|
|
- 'Cache Géospatial': architecture/sequences/cache-geospatial.md
|
|
|
|
extra:
|
|
social:
|
|
- icon: fontawesome/brands/github
|
|
link: https://github.com
|