Wiki/docs/01-discovery-recap.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

4.1 KiB

Discovery — Recap

Synthese de la phase de recherche, projets evalues, blocages identifies, decision finale. Date : 2026-05-07

Contexte metier

  • Centre de formation, ~20 employes (admin + formateurs)
  • Acces clients ponctuel par lien partage
  • Etudiants avec espaces personnels libres
  • Cible : 90-100 utilisateurs total, ~30 simultanes peak

Besoin fonctionnel

  1. Wiki collaboratif (SOPs, supports formation, doc interne)
  2. Bases structurees liees pour le suivi des heures de formation :
    • Formations (programmes complets)
    • Blocs (blocs de competences)
    • Modules (lecons individuelles)
    • Formateurs (avec capacite annuelle)
  3. Calculs automatiques d'heures attribuees / restantes par formation, par bloc, par module, par formateur
  4. Bidirec backlinks dans le wiki
  5. Editeur dual-mode (WYSIWYG + raw markdown a la Alexandrie Hub)
  6. Self-host obligatoire, illimite users, AGPL/MIT acceptable

Projets OSS evalues

Elimines

Projet Raison
Notion (cloud) Pas self-host, prix au seat
AFFiNE Self-host limite a 10 seats, Team License $10/seat/mois = ~2200€/an pour 20 users
AppFlowy Self-host limite a 1 user + 3 guests free
Outline (getoutline) Pas de bidirec backlinks reel + license BSL (restrictions commerciales)
SiYuan Excellent dual-mode + bidirec mais conçu single-user, refactor team trop lourd
TriliumNext Single-user origine
Logseq Outliner Roam-like, stack Clojure rare, DB version en beta
Anytype License "Any Source Available" non-OSI, fork commercial = zone grise
HedgeDoc / BookStack Pas de bidirec, pas de DBs
Alexandrie Hub Dev solo, bus factor de 1, pas viable pour boite. Sert de reference UX dual-mode.

Sources verifiees :

Retenus

Projet Role Pourquoi
Docmost Wiki collaboratif AGPL, users illimites self-host, team workspaces + spaces + share links natifs, stack TS/NestJS/React/Tiptap mainstream, ultra-actif (release fin avril 2026)
Baserow DBs structurees MIT core, users illimites self-host, multi-vues (table/kanban/calendar/timeline/gallery), formules, rollups, relations, real-time collab

Path retenu — Path B

Le user a confirme le 2026-05-07 : on ne reinvente pas la roue, on utilise Docmost + Baserow tels quels et on construit un bridge custom (Node TS) qui :

  • Expose l'API Baserow comme nodes Tiptap inline dans Docmost
  • Fournit des routes de rendering /formateur/:id et similaires comme pages Docmost-style
  • Cache Redis pour eviter de spam Baserow API

L'utilisateur final ne doit pas voir l'UI Baserow. Cliquer sur un formateur depuis le wiki = arriver sur une page Docmost qui contient les proprietes (capacite, heures restantes) en haut + zone wiki rich content en bas.

Profil dev

  • AdminSys + DevOps solo (Docker + Traefik + scripts ops)
  • Apprend React + Tiptap au besoin (courbe d'apprentissage acceptee)
  • Possibilite freelance ponctuel pour Tiptap node-views (~2 jours pair-programming)

Manques connus de Docmost

Manque Source Cout dev estime
Bidirec backlinks issue #1122 2-4 semaines
Dual-mode editor (WYSIWYG ↔ raw MD) aucune doc 2-3 semaines
Guest sharing fin (Notion-style) discussion #1586 1-2 semaines
DBs Notion-style integrees non roadmap delegue a Baserow + bridge

Ordre d'attaque

  1. Phase 1 — Stack vanilla locale, schema Baserow, MCD/MCT documentes
  2. Phase 1 bis — Deploiement staging avec Traefik, CI/CD GitHub Actions
  3. Phase 2 — Bridge Node TS, premier Tiptap node-view custom, route /formateur/:id
  4. Phase 3 — Bidirec backlinks Docmost, dual-mode editor (selon douleur reelle)