Décisions d’architecture (ADR)
Cette section regroupe les Architecture Decision Records d’Edukit : les décisions de conception structurantes, leur contexte, les alternatives écartées et leurs conséquences.
Un ADR est immuable une fois accepté. Si une décision évolue, on ne réécrit pas l’ADR existant : on en crée un nouveau qui remplace le précédent (champ « Remplace »). Cette discipline conserve l’historique des choix et permet à un repreneur du projet de comprendre pourquoi l’architecture est ce qu’elle est, et pas autre chose.
Format
Chaque ADR suit un gabarit léger inspiré de MADR :
- Statut : Proposé, Accepté ou Remplacé.
- Contexte : la contrainte ou la force qui impose une décision.
- Décision : le choix retenu, formulé sans ambiguïté.
- Conséquences : ce que la décision rend plus facile, et ce qu’elle coûte.
- Alternatives écartées : les options non retenues et la raison du rejet.
Index
| ADR | Titre | Statut | Périmètre |
|---|---|---|---|
| ADR-0001 | Clean Architecture pour les services back-end | Accepté | OrgService, VmService |
| ADR-0002 | CQRS via un pipeline de comportements MediatR | Accepté | OrgService, VmService |
| ADR-0003 | Découpage en services par contexte métier | Accepté | Plateforme |
| ADR-0004 | Orchestration des sagas avec Wolverine | Accepté | VmService |
| ADR-0005 | Boîte d’envoi transactionnelle sur Marten / PostgreSQL | Accepté | OrgService, VmService |
| ADR-0006 | RabbitMQ comme transport de messages | Accepté | VmService, OrgService |
| ADR-0007 | gRPC entre services, REST en façade | Accepté | OrgService, VmService, Front |
| ADR-0008 | Proxmox VE comme hyperviseur de virtualisation | Accepté | Infrastructure, VmService |
| ADR-0009 | K3s comme distribution Kubernetes de production | Accepté | Infrastructure, tous les services |
| ADR-0010 | ArgoCD comme outil de déploiement GitOps | Accepté | Pipeline CI/CD, cluster K3s |
| ADR-0011 | MikroTik comme équipement réseau | Accepté | Infrastructure réseau, établissements |
| ADR-0012 | Loki + Grafana + Prometheus comme stack d’observabilité | Accepté | Observabilité, tous les services |
| ADR-0013 | Vaultwarden comme gestionnaire de secrets | Accepté | Gestion des secrets, infrastructure |
| ADR-0014 | Wazuh comme plateforme SIEM et de sécurité | Accepté | Sécurité opérationnelle, infrastructure |
Table des matières
- ADR-0001 : Clean Architecture
- ADR-0002 : CQRS via MediatR
- ADR-0003 : Découpage en services
- ADR-0004 : Saga avec Wolverine
- ADR-0005 : Outbox sur Marten
- ADR-0006 : Transport RabbitMQ
- ADR-0007 : gRPC entre services, REST en façade
- ADR-0008 : Proxmox VE
- ADR-0009 : K3S
- ADR-0010 : ArgoCD
- ADR-0011 : MikroTik
- ADR-0012 : Loki + Grafana + Prometheus
- ADR-0013 : Vaultwarden
- ADR-0014 : Wazuh