Agents crees (briefs detailles ~150-200 lignes chacun) : - bridge-tester : QA Vitest + testcontainers + E2E Playwright + coverage 80% - acadenice-devops : Docker/Traefik/Forgejo/backups/monitoring/CI-CD - docmost-fork-dev : React+Tiptap node-views + bidirec backlinks + fork strategy Plus : - _byan-output/fast-app/formation-hub/SESSION-RESUME.md : document de reprise pour la prochaine session apres restart Claude Code. Contient : * Etat global projet (conception OK + Phase 1 en cours) * Localisation tous artefacts (URLs, paths, IDs) * 19 docs conception checklist * Phase 1 iteration status (OK / partiel / TODO) * Phase 2 bridge — decoupage en blocs * 4 agents specialises + comment les invoquer * 3 workflows BYAN proposes (a creer) * Decisions structurelles a respecter * Credentials utilises (.env) * Tous les commits cette session * Checklist demarrage prochaine session Equipe BYAN formation-hub now complete : [OK] bridge-dev (code metier) [OK] bridge-tester (qualite) [OK] acadenice-devops (infra/ops) [OK] docmost-fork-dev (frontend custom)
11 KiB
SESSION RESUME — formation-hub Acadenice (2026-05-07)
Document de reference pour reprendre le travail apres restart Claude Code OU /compact. Lis-moi avant de commencer la prochaine session.
Vision projet en 3 lignes
Notion-like self-host pour Acadenice (CFA + Agence dev) en Stack composite :
- Docmost (wiki AGPL, illimite users) + Baserow (DBs MIT, illimite users) + bridge service custom Node TS (Phase 2)
- Suivi heures formateurs/devs unifie via entite PERSONNE pivot multi-roles, scope etendu CFA + Agence approuve.
- Cible 90-100 users total. Production-like des le jour 1.
User & equipe
- Corentin JOGUET (corentin@acadenice.fr) — AdminSys/DevOps solo, bras droit de Yan (resp tech). Decisionnaire technique.
- Yan (resp tech), Ludo (fondateur), Sophie (co-fondatrice) — validation business. Pas a confondre avec Corentin.
Localisation des artefacts
| Resource | Chemin / URL |
|---|---|
| Repo source of truth | https://git.acadenice.com/AcadeNice/Wiki (Forgejo selfhost, public) |
| Repo mirror GitHub | https://github.com/AcadeNice/wiki (private, plan free) |
| Local dev | /home/imugiii/Documents/jsap/formation-hub/ |
| Wiki conception (19 docs) | https://wiki.acadenice.com/collection/agence-rd-notion-like-v9nvBLodst |
| BYAN web project | id 4e72108b-dc05-4938-a1a9-530e1551ed52 |
| Stack locale | http://localhost:3000 (Docmost) + http://localhost:8080 (Baserow) |
Phase 0 — Conception (DONE — 19 docs)
Localises dans docs/ du repo + miroir Outline collection R&D Notion-Like :
| # | Doc | Status |
|---|---|---|
| 01 | Discovery Recap | OK |
| 02 | Scope etendu CFA + Agence (APPROVED 2026-05-07) | OK |
| 03 | Decision Records (5 ADR) | OK |
| 04 | CDC Technique (stack + NFR + roadmap + couts) | OK |
| 05 | Data Dictionary | OK |
| 06 | Merise MCD (5 vues splittees) | OK |
| 07 | Merise MLD (5 vues splittees) | OK |
| 08 | Merise MCT | OK |
| 09 | Merise MOT | OK |
| 10 | State Diagrams | OK |
| 11 | UML Use Cases (4 vues splittees) | OK |
| 12 | UML Class Diagram (5 vues splittees) | OK |
| 13 | UML Activity Diagrams | OK |
| 14 | Repo Structure & GitOps | OK |
| 15 | Baserow MPD | OK |
| 16 | Plan de tests | OK |
| 17 | Plan de deployment | OK |
| 18 | Plan d'operations | OK |
| 19 | Bridge API design (incl. MCP server Phase 3+) | OK |
| 99 | DRAWIO Architecture infra (XML) | OK |
Phase 1 — Build local (en cours — local seul, prod-like)
OK et teste live
| Iteration | Detail |
|---|---|
| I1 — Baserow tables + liens | 9 tables (PERSONNE + CFA + Agence) + 10 link FK avec related fields renommes |
| I2 — Baserow formulas | 17 formulas (rollups + heures_restantes) |
| I3 — Docmost setup | Workspace Acadenice + 3 spaces (CFA, Agence, Interne) + page Welcome + share link |
| I5a — Healthcheck etendu | UI + API Docmost/Baserow + container status — 4/4 OK |
Partiellement OK
| Item | Probleme | Fix prevu |
|---|---|---|
| I4a — Forms publics Baserow | Form cree mais endpoint /api/database/views/form/{id}/field-options/ retourne 404 sur Baserow 1.30 |
A investiguer (URL exacte selon version) — bridge-dev |
| I4b — Space etudiant Docmost | Slug fix applique (re.sub), limit fix (200→100). Pas re-teste. |
Re-run pour confirmer — quick |
| I5b — Cron install | Script ecrit non-execute (sudo requis) | A run sur la prod quand VPS sera up — acadenice-devops |
| I5c — Backup test E2E | Script scripts/backup.sh existant, pas teste end-to-end avec restore |
Test mensuel selon plan ops — acadenice-devops |
TODO Phase 1 finale
| Item | Pour qui |
|---|---|
| Test rollups Baserow live (1 personne + 1 formation + 1 attribution) | Corentin |
| Migration data initiale (formations/clients existants) | Corentin + Yan + Sophie |
| Onboarding 5-10 testeurs (Yan, Ludo, Sophie + 2-3 formateurs + 2 devs) | Corentin |
| Setup VPS staging (Hetzner CPX21) | acadenice-devops |
Configurer Forgejo Actions runner (infra/forgejo-runner/) |
acadenice-devops |
Phase 2 — Bridge service (a demarrer)
Code Phase 2 = MAIN focus de la prochaine session (estimation 2-3 mois fullstack).
Brief complet dans docs/19-bridge-api-design.md. Architecture :
- 5 missions : expose Baserow, webhooks Baserow, sert Tiptap nodes Docmost, orchestre workflows metier, sync bidirec Docmost ↔ Baserow
- Stack fixee : Node 22 + Hono + zod + ofetch + ioredis + pino + decimal.js + Vitest + Biome
- Endpoints REST
/api/v1/*versionnes - Webhooks anti-loop via header
X-Bridge-Origin - MCP server (Phase 3+) co-located dans le meme service
Decoupage en blocs :
- Bloc 1 : Adapters BaserowClient + DocmostClient + RedisCache (drafts existants dans
bridge/src/adapters/, a refaire proprement par bridge-dev — TS errors actuels) - Bloc 2 : Domain models (Personne, Module, Tache, etc.)
- Bloc 3 : Routes REST principales
- Bloc 4 : Auth middleware (API tokens scopes)
- Bloc 5 : Cache Redis pattern cache-aside
- Bloc 6 : Tests unit + integration (par bridge-tester)
- Bloc 7 : Webhook handlers Baserow (sync bidirec)
- Bloc 8 : Tiptap node-view custom (par docmost-fork-dev — Phase 2.3+)
- Bloc 9 : Bidirec backlinks (par docmost-fork-dev — Phase 3)
- Bloc 10 : Documentation utilisateur + release v0.1.0
Agents BYAN crees pour le projet
Dans .claude/agents/ du repo :
| Agent | Mission | Quand l'invoquer |
|---|---|---|
| bridge-dev | Code TS du bridge service (adapters, domain, routes, webhooks) | Toute tache code metier dans bridge/ |
| bridge-tester | Tests Vitest + testcontainers + E2E Playwright + coverage | Toute tache test bridge ou validation AC |
| acadenice-devops | Infra (Docker, Traefik, Forgejo, backups, monitoring, CI/CD) | Toute tache ops/deploy/infra |
| docmost-fork-dev | Fork Docmost + Tiptap node-views React + bidirec backlinks | Phase 2.3+ et Phase 3 (UI custom) |
Invocation : Agent tool avec subagent_type='bridge-dev' (ou autre nom) apres restart Claude Code.
Chaque agent a un brief detaille (~150-200 lignes) avec :
- Mission + contexte projet
- Stack technique fixee
- Specialisations
- Conventions code & commits
- Limites (ce qu'il ne fait PAS)
- Resources & references
Workflows BYAN proposes (a creer plus tard)
Pas encore crees. A faire via BYAN web ou skill byan-bmb-workflow-builder :
| Workflow | Phases |
|---|---|
| WF formation-hub BUILD | story → bridge-dev code → bridge-tester tests → user review → push → deploy staging → smoke tests. Boucle si fail. |
| WF formation-hub SYNC | webhook Baserow → bridge handler → cache invalidation → notif → log audit. Idempotence event_id. |
| WF formation-hub RELEASE | tests E2E staging → CHANGELOG update → tag semver → approval review → deploy prod → 30 min watch period → rollback si fail. |
Decisions structurelles (a respecter)
| Decision | Reference |
|---|---|
| Stack Docmost + Baserow + bridge custom | ADR-001 doc 03 |
| Path B : UX quasi-unified via Tiptap nodes | ADR-002 doc 03 |
| Monorepo trunk-based development | ADR-003 doc 03 |
| Postgres separe par service | ADR-004 doc 03 |
| Bridge stack Node 22 + Hono | ADR-005 doc 03 |
| Scope etendu CFA + Agence via PERSONNE pivot | ADR-006 doc 02 |
| Etudiants pas modelises en Baserow, juste users Docmost | doc 02 |
| API Docmost = Enterprise paye → on utilise endpoints internes (AGPL legal) | doc 19 |
| Repo source of truth = Forgejo selfhost (git.acadenice.com), GitHub mirror optionnel | doc 14 |
| Pas de mirror auto decide pour l'instant | session 2026-05-07 |
| Local seul pour le moment (pas de staging deploy) | session 2026-05-07 |
| Pas de modification des docs conception sans ADR | session 2026-05-07 |
Credentials utilises (dans .env gitignore — a regenerer si compromis)
DOCMOST_ADMIN_EMAIL=corentin@acadenice.fr
DOCMOST_ADMIN_PASSWORD=ton-pwd123456
BASEROW_EMAIL=admin@acadenice.fr
BASEROW_PASSWORD=ton-pwd123456
GITHUB_TOKEN=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 (a revoke apres session)
FORGEJO_TOKEN=cc21fee2913b6043fb68f93d8b6c184fac4671f4 (admin AcadeNice)
OUTLINE_TOKEN=ol_api_s2EqjDW5SPlXzM4vqiZaMd8UD00jsnespK4rRs
Commits Forgejo selfhost (cumulés cette session)
668576c chore: initial commit (55 files, 7986 insertions, conception complete)
d510bdd ops: fix CI run + bump testcontainers + doc 19 sync bidirec
991d172 ops(ci): trigger CI on main + disable auto deploy-staging Phase 0
66ff909 ops(ci): add vitest config + sanity tests
d8e8bde ops(ci): fix docker-build .env before compose
ecb7a44 ops(infra): add Forgejo Actions Runner skeleton
6724be6 feat(baserow): add seed script + Fast-App iteration 1 artifacts
a0266b8 feat(baserow): add formulas pass + related field naming
5d02977 feat(docmost): manual setup guide for iteration 3
8a676d2 feat(docmost): add seed.py via internal endpoints
d5558ca fix(docmost-seed): handle data envelope + add format field
1d71364 feat(seed): add I4 forms publics + space etudiant + I5 healthcheck
7d4d2cd feat(agents): create bridge-dev specialized agent (1st BYAN INT)
[NEXT] feat(agents): create 3 more agents + session resume MD
Memoire BYAN persistee
/home/imugiii/.claude/projects/-home-imugiii-Documents-jsap/memory/ :
user_role.md: Corentin JOGUET profil + role chez Acadeniceproject_notion_like.md: projet detaille, scope, stack, decisions, IDs externesreference_outline.md: Outline wiki Acadenice config + endpoints
Pour la prochaine session — checklist demarrage
[ ] Lire ce SESSION-RESUME.md
[ ] Verifier stack locale up : docker compose ps
[ ] Verifier git pull a jour : cd formation-hub && git pull
[ ] Verifier les 4 agents disponibles dans Agent tool
[ ] Decider quoi attaquer en premier :
- Option A : invoque bridge-dev pour Bloc 1 adapters propres
- Option B : invoque bridge-tester pour test plan E2E detaille
- Option C : invoque acadenice-devops pour setup VPS staging
- Option D : invoque docmost-fork-dev pour exploration codebase Docmost
Mon vote pour la prochaine session : Option A — bridge-dev refait les adapters proprement (drafts actuels dans bridge/src/adapters/ ont des TS errors).
Fast-App workflow local (artefacts dans _byan-output/fast-app/formation-hub/)
| Fichier | Contenu |
|---|---|
| pitch.json | Validated 2026-05-07 |
| backlog.json | 15 features MoSCoW + 5 WONT validated |
| cdcf-stories.json | 10 stories Connextra+Gherkin pour Phase 1 |
| plan.json | 7 iterations BUILD |
| dispatch.json | Repartition Claude/Corentin/equipe |
| build-state.json | current_iteration: 1, completed phases 1-6 (workflow Fast-App) |
Tao Acadenice respecte tout au long : direct, structures avec tirets, zero emoji, orientation solution.
Pret pour la suite. Bonne session.