Wiki/README.md
Corentin JOGUET 173c4e14f9
Some checks are pending
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
E2E Playwright / Playwright e2e (chromium) (push) Waiting to run
feat(deploy): build docmost from acadedoc fork instead of upstream image
- compose.yml : replace 'image: docmost/docmost:latest' with build context
  pointing to ./docmost (the AcadeDoc fork repo cloned separately)
- Image tagged 'acadenice/acadedoc:local' for visibility in docker images
- README : document the two-clone setup (formation-hub + AcadeDoc fork)
  required to run the stack with all Acadenice extensions

Without this change, prod runs vanilla Docmost without any of the 30+
AcadeDoc commits (api-keys, audit-log, OIDC, sync blocks, templates,
comments threads, mentions, graph view, timeline, branding, Brevo SMTP).

Fork remote: https://git.acadenice.com/AcadeNice/AcadeDoc.git
Branch: acadenice/main
2026-05-10 15:54:05 +02:00

88 lines
4.3 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
Le service `docmost` est build depuis le fork **AcadeDoc** (extensions Acadenice : api-keys, audit-log, OIDC, sync blocks, templates, comments threads, mentions, graph view, timeline, branding...). Le fork est un repo separe a cloner DANS `formation-hub/docmost/` (gitignore) :
```bash
# 1. Clone le fork AcadeDoc dans formation-hub/docmost
git clone -b acadenice/main https://git.acadenice.com/AcadeNice/AcadeDoc.git docmost
# 2. Config env
cp .env.example .env
# editer .env avec des secrets reels
# 3. Build + up
make up
```
- AcadeDoc (Docmost fork) : http://localhost:3000
- Baserow : http://localhost:8080
- Bridge : http://localhost:4000
Premier lancement : creer un compte admin AcadeDoc 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.