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
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:
parent
a0266b886c
commit
5d029771a0
3 changed files with 233 additions and 0 deletions
12
Makefile
12
Makefile
|
|
@ -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
147
docmost/setup/README.md
Normal 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
74
docmost/setup/spaces.yaml
Normal 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
|
||||||
Loading…
Add table
Reference in a new issue