Contenu des livrables (fichiers texte + "formules" pour générer les diagrammes) :
- 01_Choix_Architecture.txt — choix et compromis (Monolithe vs Microservices vs Hexagonal/DDD).
- 02_Decoupage_Modules.txt — modules/services retenus et limites de contexte.
- 03_Architecture_Technique.txt — techno, APIs, infra + diagrammes d’architecture.
- 04_Gestion_Donnees.txt — SQL/NoSQL, schéma logique, stratégie stockage.
- 05_Securite.txt — authN, authZ, anti-fraude, chiffrement.
- 06_Resilience_Observabilite.txt — retry, files, timeouts, logs/metrics/traces.
- diagrams/architecture.mmd — diagramme d’architecture (Mermaid).
- diagrams/deployment.puml — diagramme de déploiement (PlantUML).
- diagrams/data_model.mmd — modèle de données (Mermaid ER).
- diagrams/sequence_examen.mmd — séquence “un étudiant passe un examen et reçoit sa note” (Mermaid).
- Mermaid : utiliser un rendu Mermaid (VS Code + extension “Markdown Preview Mermaid Support”, ou https://mermaid.live).
- PlantUML : utiliser un renderer PlantUML (VS Code + extension PlantUML + Java/Graphviz, ou https://www.plantuml.com/plantuml).
- Front : SPA (ex. Vue/React) → API Gateway (REST).
- Back : microservices par domaine (User, Exam, Session, Result, Notification).
- Messaging : broker (Kafka/RabbitMQ) pour événements asynchrones (soumission, correction async, notifications).
- Data : SQL pour référentiel fort (Users, Exams, Results), NoSQL optionnel pour cache/index/analytics.
- Sécurité : OAuth2/OIDC, JWT, RBAC (roles : student, teacher, admin).
Voir les fichiers pour le détail.