feat(docmost): manual setup guide for iteration 3 BUILD
Some checks are pending
CI / Type-check bridge (push) Blocked by required conditions
CI / Lint bridge (Biome) (push) Waiting to run
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

- docmost/setup/README.md : quickstart 10 min (admin + 3 spaces + page test + share)
- docmost/setup/spaces.yaml : schema declaratif (reference future si API Community s'ouvre)
- Makefile : target setup-docmost-guide (rappel des etapes)

API publique Docmost = Enterprise payante (cf docmost.com/docs/user-guide/api).
Setup manuel UI obligatoire pour Community Edition AGPL — rapide (10 min) et stable.

Iteration 3 du plan Fast-App couverte (stories S-01, S-07, S-08).
Couvre les UC : UCW01 gerer wiki + droits, UCW02 inviter client par lien
partage, UCW03 creer space etudiant.
This commit is contained in:
Corentin JOGUET 2026-05-07 18:17:45 +02:00
parent a0266b886c
commit 5d029771a0
3 changed files with 233 additions and 0 deletions

View file

@ -82,6 +82,18 @@ seed-baserow:
BASEROW_URL=$${BASEROW_URL:-http://localhost:8080} \ BASEROW_URL=$${BASEROW_URL:-http://localhost:8080} \
python3 baserow/seed/seed.py python3 baserow/seed/seed.py
setup-docmost-guide:
@echo "Docmost API publique = feature Enterprise payante."
@echo "Setup manuel via UI (10 min) — cf docmost/setup/README.md :"
@echo ""
@echo " 1. Ouvrir http://localhost:3000"
@echo " 2. Creer compte admin (workspace Acadenice)"
@echo " 3. Creer 3 spaces : CFA, Agence, Interne"
@echo " 4. Creer page Welcome + share link"
@echo " 5. Tester Mermaid + Drawio + Excalidraw"
@echo ""
@echo "Detail : docmost/setup/README.md"
clean: clean:
@echo "ATTENTION: cette commande supprime TOUS les volumes (donnees perdues)." @echo "ATTENTION: cette commande supprime TOUS les volumes (donnees perdues)."
@read -p "Tapez 'oui' pour confirmer: " confirm; [ "$$confirm" = "oui" ] || exit 1 @read -p "Tapez 'oui' pour confirmer: " confirm; [ "$$confirm" = "oui" ] || exit 1

147
docmost/setup/README.md Normal file
View file

@ -0,0 +1,147 @@
# Docmost setup — Iteration 3 BUILD
Configuration manuelle de Docmost (10 min). Couvre stories S-01 (workspace + spaces), S-07 (share link), S-08 (space etudiant pattern).
> **Pourquoi manuel et pas script ?** L'API REST publique Docmost est une feature **Enterprise payante** ([docs](https://docmost.com/docs/user-guide/api)). Pour la Community Edition (gratuite, AGPL) qu'on utilise, le setup via UI reste obligatoire — rapide et stable.
## 1. Creer le compte admin (premier boot — 1 min)
1. Ouvrir **http://localhost:3000**
2. Page d'accueil → "Create your account"
3. Renseigner :
- **Workspace name** : `Acadenice`
- **Your name** : `Corentin JOGUET`
- **Email** : `corentin@acadenice.fr`
- **Password** : robuste (sauve dans pass/vault)
4. Submit → tu arrives dans Docmost avec workspace `Acadenice`
## 2. Creer les 3 spaces (3 min)
> Mapping miroir des collections Outline (cf doc 02 scope etendu).
Pour chaque space :
1. Sidebar gauche → "Create space" (icon +)
2. Renseigner les champs ci-dessous
### Space 1 — CFA
| Champ | Valeur |
|-------|--------|
| Name | `CFA` |
| Description | `Centre de Formation des Apprentis — formations, blocs, modules, supports pedagogiques` |
| Icon | (au choix, ex: `school`) |
| Visibility | `Open to workspace members` (default) |
### Space 2 — Agence
| Champ | Valeur |
|-------|--------|
| Name | `Agence` |
| Description | `Agence de developpement — projets clients, livraisons, doc technique` |
| Icon | (au choix, ex: `code`) |
| Visibility | `Open to workspace members` |
### Space 3 — Interne
| Champ | Valeur |
|-------|--------|
| Name | `Interne` |
| Description | `Operations internes — vision, RH, communication, batiment, evenements` |
| Icon | (au choix, ex: `building`) |
| Visibility | `Open to workspace members` |
## 3. Creer une page test "Welcome" + Share link (3 min)
Pour valider stories **S-07** (share link client guest).
1. Aller dans space `CFA`
2. "New page" → titre `Welcome formation-hub`
3. Coller dans le contenu :
```markdown
# Welcome to formation-hub
## Stack
- **Docmost** : ce wiki (AGPL self-host)
- **Baserow** : DBs structurees (MIT self-host)
- **Bridge service** : a venir (Phase 2)
## Diagrammes natifs
### Mermaid
\`\`\`mermaid
flowchart LR
User -->|push| Forgejo
Forgejo -->|CI| Tests
Tests -->|deploy| Staging
\`\`\`
### Drawio
(Insere un block drawio via slash menu `/drawio`)
### Excalidraw
(Insere un block excalidraw via slash menu `/excalidraw`)
```
4. Sauver
5. Boutton "Share" en haut a droite
6. Activer "Share to web" + configurer :
- **Password** : optionnel (ex `acadenice2026`)
- **Expiration** : 7 days
7. Copier le share link
8. Test : ouvrir le link en navigation privee → page lisible sans login
## 4. Pattern "space etudiant" (2 min — story S-08)
Pour onboarder un etudiant :
1. "Create space" → `Etudiant - <Nom Prenom>` (ex: `Etudiant - Marie Dupont`)
2. Description : `Space personnel - libre usage`
3. Visibility : **Private**
4. Apres creation : Settings space → Permissions → Invite member
5. Renseigner l'email de l'etudiant + role `Editor`
6. L'etudiant recoit invite mail + acces uniquement a son space
**Automation possible Phase 2** : le bridge service pourra creer ce pattern via des appels qui mimick l'UI (en reverse-engineer des appels prives, ou en attendant que l'API publique passe en open dans une version future Community).
## 5. Tester les diagrammes natifs (1 min)
Sur la page Welcome :
- Ajoute un block **Mermaid** via `/mermaid`
- Ajoute un block **Drawio** via `/drawio` → editor s'ouvre
- Ajoute un block **Excalidraw** via `/excalidraw` → canvas s'ouvre
Si les 3 fonctionnent : Phase 1 Docmost est valide.
## Configuration recommandee additionnelle
### Workspace settings
- Settings → Workspace → **Allow member workspace creation** : OFF (admin only)
- Settings → Security → **Two-factor auth** : encourager (pas obligatoire Phase 1)
### User settings (Corentin perso)
- Settings → Profile → photo + bio
- Settings → Preferences → langue francais si dispo
- Settings → API keys : skip (Enterprise)
## Checklist iteration 3 BUILD
- [ ] Compte admin Docmost cree
- [ ] Workspace `Acadenice` operationnel
- [ ] 3 spaces crees (CFA, Agence, Interne) avec descriptions + icons
- [ ] 1 page test `Welcome formation-hub` dans CFA avec Mermaid block
- [ ] Share link genere + teste en navigation privee
- [ ] Pattern space etudiant teste (1 space test fictif puis supprime)
- [ ] Diagrammes natifs Mermaid + Drawio + Excalidraw verifies fonctionnels
Une fois tous coches : **iteration 3 done**, on passe a iteration 4 (forms publics Baserow).
## Schema declaratif (pour reference future)
`docmost/setup/spaces.yaml` decrit la structure cible. Si l'API Community Docmost s'ouvre dans une version future (issue [#346](https://github.com/docmost/docmost/issues/346) suit ce sujet), ce YAML pourra etre consomme par un script seed.

74
docmost/setup/spaces.yaml Normal file
View file

@ -0,0 +1,74 @@
# Docmost setup declaratif — formation-hub
# Reference pour le setup manuel (cf README.md). Format YAML pour lisibilite.
# Si l'API Community Docmost s'ouvre, ce fichier pourra alimenter un script seed.
workspace:
name: Acadenice
admin:
name: Corentin JOGUET
email: corentin@acadenice.fr
settings:
allow_member_workspace_creation: false
enforce_2fa: false # encourage mais non obligatoire Phase 1
spaces:
- name: CFA
slug: cfa
description: |
Centre de Formation des Apprentis — formations, blocs, modules,
supports pedagogiques, regles RNCP.
icon: school
visibility: workspace_members # Open to all workspace members
permissions:
- role: admin
members: [corentin@acadenice.fr]
- role: editor
groups: [formateurs]
- name: Agence
slug: agence
description: |
Agence de developpement Acadenice — projets clients, livraisons,
documentation technique, R&D.
icon: code
visibility: workspace_members
permissions:
- role: admin
members: [corentin@acadenice.fr]
- role: editor
groups: [developpeurs]
- name: Interne
slug: interne
description: |
Operations internes — vision, RH, communication,
batiment, evenements.
icon: building
visibility: workspace_members
permissions:
- role: admin
members: [corentin@acadenice.fr]
# Pattern recurrent : un space par etudiant (cf README section 4)
space_etudiant_template:
name_pattern: "Etudiant - {nom} {prenom}"
visibility: private
description: "Space personnel - libre usage"
permissions:
- role: editor
members: ["{etudiant_email}"]
- role: admin
members: [corentin@acadenice.fr]
# Page de demonstration creee dans space CFA pour tester partage
welcome_page:
space: CFA
title: "Welcome formation-hub"
share_link:
enabled: true
password: optional
expiration_days: 7
blocks_demo:
- type: mermaid
- type: drawio
- type: excalidraw