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)
79 lines
3.8 KiB
Markdown
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.
|