Wiki/README.md
Corentin JOGUET 668576cdc4 chore: initial commit — formation-hub conception phase
Conception complete (Phase 0) pour formation-hub Acadenice :

- 19 docs Merise Agile + UML + GitOps + plans (tests/deploy/ops/api)
  cf docs/00-readme.md pour l'index complet
- Stack Docker compose (Docmost + Baserow + Postgres + Redis + MinIO local FS)
  compose.yml + compose.staging.yml + compose.prod.yml
- CI/CD GitHub Actions skeleton (ci, deploy-staging, deploy-prod)
- Bridge service skeleton (Hono + TS + Biome + Vitest + zod + pino)
- Templates GitHub : PR + 3 issue types + CODEOWNERS + dependabot.yml
- Scripts ops : healthcheck, backup quotidien, smoke-test post-deploy
- LICENSE AGPL-3.0 + SECURITY.md + CONTRIBUTING.md + CHANGELOG.md
- Diagramme drawIO archi infra (XML importable dans diagrams.net)

Decisions structurelles enregistrees :
- Scope CFA + Agence avec entite PERSONNE pivot multi-roles (ADR-001)
- Stack composite Docmost AGPL + Baserow MIT + bridge custom (ADR-001)
- Path B : UX quasi-unified via Tiptap node-views custom (ADR-002)
- Monorepo trunk-based development (ADR-003)
- Postgres separe Docmost/Baserow (ADR-004)
- Bridge stack Node 22 + Hono (ADR-005)
- Repo neuf prefere a fork Docmost
- Prod-like des le jour 1 (pas MVP)
2026-05-07 12:16:19 +02:00

79 lines
3.8 KiB
Markdown

# formation-hub
Notion-like self-host pour **Acadenice** (CFA + Agence dev + Operations) : wiki collaboratif + bases de donnees structurees (suivi heures formation + projets clients agence + capacite par personne).
## Stack
| Composant | Role | License |
|-----------|------|---------|
| **Docmost** | Wiki collaboratif, spaces, share links, **diagrammes natifs** (Mermaid + Draw.io + Excalidraw depuis v0.3.0) | AGPL-3.0 |
| **Baserow** | Bases de donnees typees (relations, rollups, formules, multi-vues) | MIT (core) |
| **bridge** (Phase 2) | Service Node TS qui expose Baserow comme nodes Tiptap dans Docmost | MIT |
## Diagrammes
Docmost embarque nativement trois moteurs de diagrammes — zero config, zero dev :
- **Mermaid** : diagrammes en syntaxe markdown (flowchart, sequence, ER, gantt, classe, state, journey...). Versionnable comme du code.
- **Draw.io** : editeur visuel complet pour archi technique, BPMN, infra. Stocke en SVG attachment.
- **Excalidraw** : whiteboard hand-drawn pour brainstorming, schemas pedagogiques, sketches. Stocke en SVG attachment.
Le MCD du projet (`docs/06-merise-mcd.md`) utilise un diagramme **Mermaid ER**. Ouvre-le dans Docmost ou Outline pour le rendu visuel.
## Etat actuel (au 2026-05-07)
Phase 0 — Conception :
- [x] Discovery + scope etendu CFA + Agence approuve
- [x] ADR + CDC technique
- [x] Data dictionary, MCD, MLD, MCT, MOT, state diagrams, use cases, class diagram, activity diagrams
- [x] Repo structure & GitOps (CI/CD, SecOps, environnements)
- [x] Stack Docker compose locale (vanilla, sans bridge)
- [ ] MPD Baserow (table-par-table)
- [ ] Plan de tests
- [ ] Plan de deployment + CI/CD prets
- [ ] Plan d'operations
Phase 1+ : voir `docs/04-cahier-des-charges-techniques.md` section roadmap.
## Demarrage local
```bash
cp .env.example .env
# editer .env avec des secrets reels
make up
```
- Docmost : http://localhost:3000
- Baserow : http://localhost:8080
Premier lancement : creer un compte admin Docmost et Baserow via l'UI.
## Documentation
Numerotation **logique** : pourquoi → quoi → comment (concept) → comment (logique) → comment (physique) → comment (ops).
| # | Doc | Theme |
|---|-----|-------|
| 01 | `docs/01-discovery-recap.md` | Pourquoi (vision/contexte) |
| 02 | `docs/02-scope-etendu-cfa-agence.md` | Quoi (perimetre approuve) |
| 03 | `docs/03-decision-record.md` | Choix structurels (ADR) |
| 04 | `docs/04-cahier-des-charges-techniques.md` | CDC technique (stack, NFR, roadmap) |
| 05 | `docs/05-data-dictionary.md` | Donnees — vocabulaire |
| 06 | `docs/06-merise-mcd.md` | Donnees — concept (ER, cardinalites) |
| 07 | `docs/07-merise-mld.md` | Donnees — logique (schema relationnel) |
| 08 | `docs/08-merise-mct.md` | Traitements — concept |
| 09 | `docs/09-merise-mot.md` | Traitements — organisation (qui/quand/outil) |
| 10 | `docs/10-state-diagrams.md` | Comportement — cycle de vie |
| 11 | `docs/11-uml-use-cases.md` | Comportement — interactions |
| 12 | `docs/12-uml-class-diagram.md` | Comportement — code OO |
| 13 | `docs/13-uml-activity-diagrams.md` | Comportement — workflows complets |
| 14 | `docs/14-repo-structure-gitops.md` | Code — arborescence + CI/CD + SecOps |
| 15 | `docs/15-baserow-mpd.md` | Implementation — Baserow concret (table par table, formules, vues) |
| 16 | `docs/16-plan-tests.md` | Qualite — pyramide tests, outils, coverage, acceptance |
| 17 | `docs/17-plan-deployment.md` | Ops — provisionnement, CI/CD detaille, releases, migrations, rollback |
| 18 | `docs/18-plan-operations.md` | Ops — monitoring, alerting, backups DR, runbooks, capacity |
| 19 | `docs/19-bridge-api-design.md` | Bridge API — endpoints, auth, webhooks, cache, integration Tiptap |
## Methodologie
Merise Agile + 64 mantras BYAN. Data Dictionary First, MCD/MCT cross-validation, Ockham razor sur le scope, zero emoji dans le code et les commits.