living-documentation 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -0
- package/README.md +329 -0
- package/dist/bin/cli.d.ts +3 -0
- package/dist/bin/cli.d.ts.map +1 -0
- package/dist/bin/cli.js +62 -0
- package/dist/bin/cli.js.map +1 -0
- package/dist/src/frontend/admin.html +1073 -0
- package/dist/src/frontend/annotations.js +546 -0
- package/dist/src/frontend/boot.js +90 -0
- package/dist/src/frontend/config.js +19 -0
- package/dist/src/frontend/dark-mode.js +20 -0
- package/dist/src/frontend/diagram/alignment.js +161 -0
- package/dist/src/frontend/diagram/clipboard.js +172 -0
- package/dist/src/frontend/diagram/constants.js +109 -0
- package/dist/src/frontend/diagram/debug.js +43 -0
- package/dist/src/frontend/diagram/edge-panel.js +260 -0
- package/dist/src/frontend/diagram/edge-rendering.js +12 -0
- package/dist/src/frontend/diagram/grid.js +78 -0
- package/dist/src/frontend/diagram/groups.js +102 -0
- package/dist/src/frontend/diagram/history.js +153 -0
- package/dist/src/frontend/diagram/image-name-modal.js +48 -0
- package/dist/src/frontend/diagram/image-upload.js +36 -0
- package/dist/src/frontend/diagram/label-editor.js +115 -0
- package/dist/src/frontend/diagram/link-panel.js +144 -0
- package/dist/src/frontend/diagram/main.js +299 -0
- package/dist/src/frontend/diagram/network.js +1473 -0
- package/dist/src/frontend/diagram/node-panel.js +267 -0
- package/dist/src/frontend/diagram/node-rendering.js +773 -0
- package/dist/src/frontend/diagram/persistence.js +161 -0
- package/dist/src/frontend/diagram/ports.js +386 -0
- package/dist/src/frontend/diagram/selection-overlay.js +336 -0
- package/dist/src/frontend/diagram/state.js +39 -0
- package/dist/src/frontend/diagram/t.js +3 -0
- package/dist/src/frontend/diagram/toast.js +21 -0
- package/dist/src/frontend/diagram/unlock-hold.js +182 -0
- package/dist/src/frontend/diagram/zoom.js +20 -0
- package/dist/src/frontend/diagram-link-modal.js +137 -0
- package/dist/src/frontend/diagram.html +1279 -0
- package/dist/src/frontend/documents.js +373 -0
- package/dist/src/frontend/export.js +338 -0
- package/dist/src/frontend/i18n/en.json +406 -0
- package/dist/src/frontend/i18n/fr.json +406 -0
- package/dist/src/frontend/i18n.js +32 -0
- package/dist/src/frontend/image-paste.js +101 -0
- package/dist/src/frontend/index.html +2314 -0
- package/dist/src/frontend/misc.js +25 -0
- package/dist/src/frontend/new-doc-modal.js +260 -0
- package/dist/src/frontend/new-folder-modal.js +174 -0
- package/dist/src/frontend/search.js +157 -0
- package/dist/src/frontend/sidebar-helpers.js +58 -0
- package/dist/src/frontend/sidebar.js +182 -0
- package/dist/src/frontend/snippet-detect.js +25 -0
- package/dist/src/frontend/snippet-table.js +85 -0
- package/dist/src/frontend/snippet-tree.js +94 -0
- package/dist/src/frontend/snippets.js +534 -0
- package/dist/src/frontend/state.js +28 -0
- package/dist/src/frontend/utils.js +21 -0
- package/dist/src/frontend/vendor/wordcloud2.js +1187 -0
- package/dist/src/frontend/wordcloud.js +693 -0
- package/dist/src/lib/config.d.ts +17 -0
- package/dist/src/lib/config.d.ts.map +1 -0
- package/dist/src/lib/config.js +79 -0
- package/dist/src/lib/config.js.map +1 -0
- package/dist/src/lib/parser.d.ts +11 -0
- package/dist/src/lib/parser.d.ts.map +1 -0
- package/dist/src/lib/parser.js +111 -0
- package/dist/src/lib/parser.js.map +1 -0
- package/dist/src/mcp/server.d.ts +3 -0
- package/dist/src/mcp/server.d.ts.map +1 -0
- package/dist/src/mcp/server.js +986 -0
- package/dist/src/mcp/server.js.map +1 -0
- package/dist/src/mcp/tools/diagrams.d.ts +44 -0
- package/dist/src/mcp/tools/diagrams.d.ts.map +1 -0
- package/dist/src/mcp/tools/diagrams.js +245 -0
- package/dist/src/mcp/tools/diagrams.js.map +1 -0
- package/dist/src/mcp/tools/documents.d.ts +26 -0
- package/dist/src/mcp/tools/documents.d.ts.map +1 -0
- package/dist/src/mcp/tools/documents.js +127 -0
- package/dist/src/mcp/tools/documents.js.map +1 -0
- package/dist/src/mcp/tools/source.d.ts +29 -0
- package/dist/src/mcp/tools/source.d.ts.map +1 -0
- package/dist/src/mcp/tools/source.js +200 -0
- package/dist/src/mcp/tools/source.js.map +1 -0
- package/dist/src/routes/annotations.d.ts +3 -0
- package/dist/src/routes/annotations.d.ts.map +1 -0
- package/dist/src/routes/annotations.js +83 -0
- package/dist/src/routes/annotations.js.map +1 -0
- package/dist/src/routes/browse.d.ts +3 -0
- package/dist/src/routes/browse.d.ts.map +1 -0
- package/dist/src/routes/browse.js +75 -0
- package/dist/src/routes/browse.js.map +1 -0
- package/dist/src/routes/config.d.ts +3 -0
- package/dist/src/routes/config.d.ts.map +1 -0
- package/dist/src/routes/config.js +97 -0
- package/dist/src/routes/config.js.map +1 -0
- package/dist/src/routes/diagrams.d.ts +3 -0
- package/dist/src/routes/diagrams.d.ts.map +1 -0
- package/dist/src/routes/diagrams.js +69 -0
- package/dist/src/routes/diagrams.js.map +1 -0
- package/dist/src/routes/documents.d.ts +8 -0
- package/dist/src/routes/documents.d.ts.map +1 -0
- package/dist/src/routes/documents.js +332 -0
- package/dist/src/routes/documents.js.map +1 -0
- package/dist/src/routes/export.d.ts +3 -0
- package/dist/src/routes/export.d.ts.map +1 -0
- package/dist/src/routes/export.js +277 -0
- package/dist/src/routes/export.js.map +1 -0
- package/dist/src/routes/images.d.ts +3 -0
- package/dist/src/routes/images.d.ts.map +1 -0
- package/dist/src/routes/images.js +49 -0
- package/dist/src/routes/images.js.map +1 -0
- package/dist/src/routes/wordcloud.d.ts +3 -0
- package/dist/src/routes/wordcloud.d.ts.map +1 -0
- package/dist/src/routes/wordcloud.js +95 -0
- package/dist/src/routes/wordcloud.js.map +1 -0
- package/dist/src/server.d.ts +7 -0
- package/dist/src/server.d.ts.map +1 -0
- package/dist/src/server.js +76 -0
- package/dist/src/server.js.map +1 -0
- package/dist/starting-doc/.annotations.json +3 -0
- package/dist/starting-doc/.diagrams.json +1884 -0
- package/dist/starting-doc/.living-doc.json +39 -0
- package/dist/starting-doc/1_tutorial/2026_04_11_13_25_[General]_crer_vos_dossiers.md +16 -0
- package/dist/starting-doc/1_tutorial/2026_04_11_18_58_[General]_creer_un_document_dans_un_dossier.md +9 -0
- package/dist/starting-doc/1_tutorial/2026_04_12_09_00_[General]_editer_et_sauvegarder.md +39 -0
- package/dist/starting-doc/1_tutorial/2026_04_12_10_00_[General]_utiliser_les_snippets.md +71 -0
- package/dist/starting-doc/2026_04_08_20_52_[General]_welcome.md +17 -0
- package/dist/starting-doc/2026_04_11_12_55_[General]_premiers_pas.md +271 -0
- package/dist/starting-doc/2_guide/2026_04_08_00_04_[DOCUMENT]_utilisation_des_images_plein_ecran_lien_clickable.md +40 -0
- package/dist/starting-doc/2_guide/2026_04_08_23_38_[Configuration]_demarrage_de_living_documentation.md +32 -0
- package/dist/starting-doc/2_guide/2026_04_09_09_00_[NAVIGATION]_recherche_plein_texte.md +65 -0
- package/dist/starting-doc/2_guide/2026_04_09_10_00_[EXPORT]_exporter_en_pdf.md +43 -0
- package/dist/starting-doc/2_guide/2026_04_09_11_00_[Configuration]_configurer_le_panneau_admin.md +55 -0
- package/dist/starting-doc/2_guide/2026_04_09_12_00_[Configuration]_extra_files.md +68 -0
- package/dist/starting-doc/2_guide/2026_04_09_13_00_[WORDCLOUD]_word_cloud.md +54 -0
- package/dist/starting-doc/2_guide/2026_04_09_14_00_[DIAGRAM]_creer_et_lier_un_diagramme.md +77 -0
- package/dist/starting-doc/3_concept/2026_04_08_20_58_[DOCUMENTING]_ADRS.md +20 -0
- package/dist/starting-doc/3_concept/2026_04_08_22_15_[DOCUMENTING]_living_documentation.md +17 -0
- package/dist/starting-doc/3_concept/2026_04_08_22_46_[METHODOLOGY]_diataxis_architecture_du_contenu.md +16 -0
- package/dist/starting-doc/4_reference/2026_04_08_23_14_[FUNDAMENTALS]_the_living_documentation_tool.md +41 -0
- package/dist/starting-doc/4_reference/2026_04_09_01_00_[REFERENCE]_raccourcis_clavier.md +61 -0
- package/dist/starting-doc/4_reference/2026_04_09_02_00_[REFERENCE]_tokens_pattern_nommage.md +75 -0
- package/dist/starting-doc/4_reference/2026_04_09_03_00_[REFERENCE]_types_de_snippets.md +68 -0
- package/dist/starting-doc/4_reference/2026_04_11_17_31_[FUNDAMENTALS]_architecturer_une_documentation.md +12 -0
- package/dist/starting-doc/4_reference/2026_04_12_14_07_[FUNDAMENTALS]_dossiers_et_catgories.md +89 -0
- package/dist/starting-doc/images/admin_screenshot.png +0 -0
- package/dist/starting-doc/images/ajout-document.png +0 -0
- package/dist/starting-doc/images/ajouter-document-categorie.png +0 -0
- package/dist/starting-doc/images/ajouter_un_document_dans_un_dossier.png +0 -0
- package/dist/starting-doc/images/architecturer_une_documentation_reference.png +0 -0
- package/dist/starting-doc/images/cr_er_un_document.png +0 -0
- package/dist/starting-doc/images/creation-nouveau-dossier.png +0 -0
- package/dist/starting-doc/images/creer-document-context-engineering.png +0 -0
- package/dist/starting-doc/images/creer-dossier-only-tutoriel.png +0 -0
- package/dist/starting-doc/images/creer-dossier-tutoriel.png +0 -0
- package/dist/starting-doc/images/creer-dossiers-done.png +0 -0
- package/dist/starting-doc/images/creer-un-document.png +0 -0
- package/dist/starting-doc/images/creer-vos-dossiers-tutoriel.png +0 -0
- package/dist/starting-doc/images/creer-vos-dossiers.png +0 -0
- package/dist/starting-doc/images/decouverte_adrs.png +0 -0
- package/dist/starting-doc/images/diataxis.png +0 -0
- package/dist/starting-doc/images/diataxis_callout.png +0 -0
- package/dist/starting-doc/images/document-cree.png +0 -0
- package/dist/starting-doc/images/liens_snippets.png +0 -0
- package/dist/starting-doc/images/living_documentation.png +0 -0
- package/dist/starting-doc/images/npm_logo.png +0 -0
- package/dist/starting-doc/images/popup-creer-document.png +0 -0
- package/dist/starting-doc/images/popup-creer-dossier.png +0 -0
- package/dist/starting-doc/images/popup-dossier-cree.png +0 -0
- package/dist/starting-doc/images/quatre-dossiers-crees.png +0 -0
- package/dist/starting-doc/images/screenshot-living-doc.png +0 -0
- package/dist/starting-doc/images/the_living_documentation_tool.png +0 -0
- package/package.json +49 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"docsFolder": "/Users/ymedaghri/Documents/Repositories/Medaghri-Alaoui-Repositories/09_My_Published_Projects/living-documentation/starting-doc",
|
|
3
|
+
"filenamePattern": "YYYY_MM_DD_HH_mm_[Category]_title",
|
|
4
|
+
"title": "Living Documentation",
|
|
5
|
+
"theme": "system",
|
|
6
|
+
"language": "fr",
|
|
7
|
+
"port": 4321,
|
|
8
|
+
"extraFiles": [],
|
|
9
|
+
"showDiagramDebug": false,
|
|
10
|
+
"diagramNodePalette": [
|
|
11
|
+
"#ffffff",
|
|
12
|
+
"#f5f5f4",
|
|
13
|
+
"#f1f5f9",
|
|
14
|
+
"#dbeafe",
|
|
15
|
+
"#e0f2fe",
|
|
16
|
+
"#cffafe",
|
|
17
|
+
"#ccfbf1",
|
|
18
|
+
"#dcfce7",
|
|
19
|
+
"#ecfccb",
|
|
20
|
+
"#fef9c3",
|
|
21
|
+
"#ffedd5",
|
|
22
|
+
"#fee2e2",
|
|
23
|
+
"#ffe4e6",
|
|
24
|
+
"#fce7f3",
|
|
25
|
+
"#ede9fe"
|
|
26
|
+
],
|
|
27
|
+
"diagramEdgePalette": [
|
|
28
|
+
"#ffffff",
|
|
29
|
+
"#a8a29e",
|
|
30
|
+
"#374151",
|
|
31
|
+
"#3b82f6",
|
|
32
|
+
"#14b8a6",
|
|
33
|
+
"#22c55e",
|
|
34
|
+
"#f97316",
|
|
35
|
+
"#ef4444",
|
|
36
|
+
"#a855f7"
|
|
37
|
+
],
|
|
38
|
+
"sourceRoot": "/Users/ymedaghri/Documents/Repositories/Medaghri-Alaoui-Repositories/09_My_Published_Projects/living-documentation"
|
|
39
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
## Introduction
|
|
2
|
+
|
|
3
|
+
Les dossiers constituent l'architecture de votre documentation.<br/>
|
|
4
|
+
Cette architecture doit répondre à une question simple : **où cherchera-t-on cette information dans six mois ?**<br/>
|
|
5
|
+
Pour en savoir plus sur les façons d'architecturer votre documentation, [suivez ce lien](?doc=4_reference%252F2026_04_11_17_31_%255BFUNDAMENTALS%255D_architecturer_une_documentation)
|
|
6
|
+
|
|
7
|
+
## Passons à la pratique
|
|
8
|
+
|
|
9
|
+
1. Dans un nouveau projet, vous pouvez créer des dossiers avec le bouton correspondant en haut, dans le Menu latéral de gauche.<br/>
|
|
10
|
+
`Shift+CLIC pour agrandir l'image`
|
|
11
|
+
|
|
12
|
+
[](/diagram?id=d1775917727566)
|
|
13
|
+
|
|
14
|
+
2. Créer un second dossier **2_GUIDE** puis **3_CONCEPT** et enfin **4_REFERENCE**<br/>
|
|
15
|
+
💡 Vos dossier apparaissent ordonnée car ils utilisent un **préfix** "1_", "2_", "3_", ..., mais ce dernier est invisible en affichage
|
|
16
|
+

|
package/dist/starting-doc/1_tutorial/2026_04_11_18_58_[General]_creer_un_document_dans_un_dossier.md
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
1. Créer un document
|
|
2
|
+
[](/diagram?id=d1776024969304)
|
|
3
|
+
|
|
4
|
+
2. Créer un document dans un dossier contenant déjà un document
|
|
5
|
+
<br/>Pour cela sélectionnez d'abord **un document existant dans le Menu latéral de gauche** puis cliquez sur le bouton en haut.<br/>
|
|
6
|
+
Vous constaterez que les champs `Category`et `Location` sont **préremplis**, vous pouvez ainsi facilement et rapidement ajouter un ensemble de documents dans un dossier et/ou une catégorie donnés.<br/>
|
|
7
|
+
Pour en savoir plus sur les notions de **dossiers** et de **catégories**, [suivez ce lien](?doc=4_reference%252F2026_04_12_14_07_%255BFUNDAMENTALS%255D_dossiers_et_catgories)
|
|
8
|
+
|
|
9
|
+
[](/diagram?id=d1775937972731)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
## Introduction
|
|
2
|
+
|
|
3
|
+
Living Documentation vous permet d'éditer vos fichiers Markdown directement dans le navigateur, sans quitter l'outil ni ouvrir un éditeur de code. Les modifications sont sauvegardées sur disque instantanément.
|
|
4
|
+
|
|
5
|
+
## Passons à la pratique
|
|
6
|
+
|
|
7
|
+
1. **Ouvrez n'importe quel document** dans la barre latérale gauche.
|
|
8
|
+
|
|
9
|
+
2. **Cliquez sur le bouton `Edit`** dans le header de l'article (en haut à droite du contenu).
|
|
10
|
+
|
|
11
|
+
Le document bascule en mode édition : un `<textarea>` remplace le rendu HTML. Vous voyez le Markdown brut.
|
|
12
|
+
|
|
13
|
+
3. **Modifiez le texte.** Par exemple, ajoutez une ligne à la fin :
|
|
14
|
+
|
|
15
|
+
```markdown
|
|
16
|
+
Voici ma première modification !
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
4. **Cliquez sur `Save`.**
|
|
20
|
+
|
|
21
|
+
Le document est sauvegardé sur disque et re-rendu immédiatement, sans rechargement de page.
|
|
22
|
+
|
|
23
|
+
✅ Votre modification est visible et persistée dans le fichier `.md` sur le disque.
|
|
24
|
+
|
|
25
|
+
5. **Pour annuler sans sauvegarder**, cliquez sur `Cancel` — le document revient à son état d'origine.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Astuce — coller une image
|
|
30
|
+
|
|
31
|
+
En mode édition, vous pouvez coller une image directement depuis le presse-papiers :
|
|
32
|
+
|
|
33
|
+
1. Copiez une image (capture d'écran, image depuis un navigateur…)
|
|
34
|
+
2. Placez le curseur à l'endroit souhaité dans le textarea
|
|
35
|
+
3. Faites `Cmd+V` (Mac) ou `Ctrl+V` (Windows/Linux)
|
|
36
|
+
|
|
37
|
+
Un placeholder `` apparaît immédiatement, puis est remplacé par le lien définitif une fois l'upload terminé.
|
|
38
|
+
|
|
39
|
+
> L'image est sauvegardée dans `DOCS_FOLDER/images/` avec un nom généré automatiquement.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
## Introduction
|
|
2
|
+
|
|
3
|
+
Les **snippets** sont des modèles Markdown prêts à l'emploi que vous insérez au curseur en un clic. Ils évitent de taper à la main les syntaxes complexes (tableaux, blocs dépliables, arbres ASCII…).
|
|
4
|
+
|
|
5
|
+
## Prérequis
|
|
6
|
+
|
|
7
|
+
Être en mode **édition** sur un document. Si ce n'est pas le cas, [éditez d'abord un document](?doc=1_tutorial%252F2026_04_12_09_00_%255BGeneral%255D_editer_et_sauvegarder).
|
|
8
|
+
|
|
9
|
+
## Passons à la pratique
|
|
10
|
+
|
|
11
|
+
### Insérer un snippet simple
|
|
12
|
+
|
|
13
|
+
1. En mode édition, **positionnez votre curseur** à l'endroit où vous voulez insérer le snippet.
|
|
14
|
+
|
|
15
|
+
2. **Cliquez sur `🧩 Snippets`** dans la barre d'outils de l'éditeur.
|
|
16
|
+
|
|
17
|
+
Un panneau s'ouvre à droite avec la liste des snippets disponibles.
|
|
18
|
+
|
|
19
|
+
3. Choisissez **`Bloc dépliable`** (`<details>`).
|
|
20
|
+
|
|
21
|
+
Des champs apparaissent : *Titre du bloc* et *Contenu*.
|
|
22
|
+
|
|
23
|
+
4. Remplissez :
|
|
24
|
+
- Titre : `Voir les détails`
|
|
25
|
+
- Contenu : `Voici le contenu caché.`
|
|
26
|
+
|
|
27
|
+
5. Cliquez sur **`Insérer`**.
|
|
28
|
+
|
|
29
|
+
✅ Le snippet est inséré au curseur :
|
|
30
|
+
|
|
31
|
+
```markdown
|
|
32
|
+
<details><summary>Voir les détails</summary>
|
|
33
|
+
|
|
34
|
+
Voici le contenu caché.
|
|
35
|
+
</details>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
### Insérer un tableau avec l'éditeur de tableau
|
|
41
|
+
|
|
42
|
+
1. Cliquez sur **`🧩 Snippets`** → choisissez **`Tableau`**.
|
|
43
|
+
|
|
44
|
+
2. Définissez le nombre de colonnes (ex. 3) et de lignes (ex. 2).
|
|
45
|
+
|
|
46
|
+
3. Remplissez les cellules dans la grille interactive.
|
|
47
|
+
|
|
48
|
+
4. Cliquez **`Insérer`**.
|
|
49
|
+
|
|
50
|
+
✅ Un tableau Markdown aligné est généré :
|
|
51
|
+
|
|
52
|
+
```markdown
|
|
53
|
+
| Colonne 1 | Colonne 2 | Colonne 3 |
|
|
54
|
+
|-----------|-----------|-----------|
|
|
55
|
+
| val 1 | val 2 | val 3 |
|
|
56
|
+
| val 4 | val 5 | val 6 |
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
### Mode détection — modifier un snippet existant
|
|
62
|
+
|
|
63
|
+
1. **Sélectionnez** dans le textarea un snippet déjà présent (par exemple, un bloc `<details>…</details>` entier).
|
|
64
|
+
|
|
65
|
+
2. **Cliquez sur `🧩 Snippets`**.
|
|
66
|
+
|
|
67
|
+
Si le snippet est reconnu, un message vert s'affiche et les champs sont **pré-remplis** avec les valeurs existantes.
|
|
68
|
+
|
|
69
|
+
3. Modifiez les champs, puis cliquez **`Insérer`** pour remplacer la sélection.
|
|
70
|
+
|
|
71
|
+
> Si la sélection n'est pas reconnue, un message orange l'indique et le panneau reste vide.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Living Documentation — Guide d'utilisation
|
|
2
|
+
|
|
3
|
+
> La documentation est un problème que presque tout le monde a résolu en faisant semblant de l'avoir résolu.
|
|
4
|
+
>
|
|
5
|
+
> — Nobody
|
|
6
|
+
|
|
7
|
+
Des README squelettiques, des outils documentaires tels que Notion et Confluence devenant des forêts vierges où personne ne rentre plus, où on passe du temps à faire un `Ctrl+F` global sur tous les espaces pour finalement ne rien trouver, ou pire, trouver quelque chose d'obsolète mais on va faire avec.
|
|
8
|
+
|
|
9
|
+
Au bout d'un moment, on n'y va plus du tout, et la connaissance redevient individuelle.
|
|
10
|
+
|
|
11
|
+
Ca en arrange certains ? Pas moi !
|
|
12
|
+
|
|
13
|
+
# Pourtant certaines approches ont prouvé leur valeur
|
|
14
|
+
|
|
15
|
+
[](?doc=3_concept%252F2026_04_08_20_58_%255BDOCUMENTING%255D_ADRS)
|
|
16
|
+
|
|
17
|
+
<h1 style="text-align:center"><code>CLIC sur l'image pour naviguer 😉</code></h1>
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
Pour vos premiers pas avec l'outil je vous recommande de suivre les différents tutoriels que vous trouverez listés dans le tableau ci-après.
|
|
2
|
+
|
|
3
|
+
Pour la réalisation de ces tutoriels je vous recommande également :
|
|
4
|
+
- Soit de lancer une nouvelle instance d'un projet vide **(à l'aide de la commande ic-dessous)** et de l'ouvrir **ensuite** dans un <a href="http://localhost:1234/" target="_blank">un nouvel onglet</a>, ce qui rendra la réalisation des tutoriels plus pratique
|
|
5
|
+
```bash
|
|
6
|
+
npx living-documentation -p 1234 ./votre-dossier-pour-pratiquer
|
|
7
|
+
```
|
|
8
|
+
- Soit d'utiliser le projet **actuel** `living-documentation` de `démo` mais néanmoins d'ouvrir <a href="/" target="_blank">un nouvel onglet</a> pour y réaliser vos tutoriels, ce qui rendra la réalisation des tutoriels plus pratique
|
|
9
|
+
|
|
10
|
+
## Tutoriels disponibles
|
|
11
|
+
|
|
12
|
+
| Tutoriels | Description |
|
|
13
|
+
| --------- | --------- |
|
|
14
|
+
| [Créez vos dossiers](?doc=1_tutorial%252F2026_04_11_13_25_%255BGeneral%255D_crer_vos_dossiers) | Apprenez à créer et à structurer vos dossiers |
|
|
15
|
+
| [Créer un document dans un dossier](?doc=1_tutorial%252F2026_04_11_18_58_%255BGeneral%255D_creer_un_document_dans_un_dossier) | Comment ajouter un document à un dossier existant |
|
|
16
|
+
| [Éditer et sauvegarder un document](?doc=1_tutorial%252F2026_04_12_09_00_%255BGeneral%255D_editer_et_sauvegarder) | Modifier le contenu d'un document directement dans le navigateur |
|
|
17
|
+
| [Utiliser les snippets](?doc=1_tutorial%252F2026_04_12_10_00_%255BGeneral%255D_utiliser_les_snippets) | Insérer des modèles Markdown prêts à l'emploi (tableaux, blocs, arbres…) |
|
|
18
|
+
|
|
19
|
+
## Manuel d'utilisation
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## Convention de nommage des fichiers
|
|
24
|
+
|
|
25
|
+
Les fichiers Markdown doivent suivre ce pattern par défaut :
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
YYYY_MM_DD_HH_mm_[Categorie]_titre_du_document.md
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Exemple :
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
2024_03_15_10_30_[Architecture]_choix_base_de_donnees.md
|
|
35
|
+
2024_03_15_14_00_[Tutoriel]_premiers_pas.md
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Le pattern est entièrement configurable depuis le panneau Admin. L'outil reconnaît les tokens `YYYY`, `MM`, `DD`, `HH`, `mm`, et `[Category]`.
|
|
39
|
+
|
|
40
|
+
> **Contrainte** : le pattern doit contenir `[Category]` exactement une fois.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Organisation des documents
|
|
45
|
+
|
|
46
|
+
Les documents sont organisés en **catégories** (extraites du nom de fichier) et en **sous-dossiers** (reflétant l'arborescence du système de fichiers).
|
|
47
|
+
|
|
48
|
+
Dans la barre latérale :
|
|
49
|
+
|
|
50
|
+
- La catégorie **General** apparaît toujours en premier
|
|
51
|
+
- Les **sous-dossiers** sont affichés ensuite, triés alphabétiquement — un préfixe numérique (`1_`, `2_`) permet de contrôler l'ordre
|
|
52
|
+
- Les autres **catégories** suivent, triées alphabétiquement
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Fonctionnalités
|
|
57
|
+
|
|
58
|
+
### Lecture et navigation
|
|
59
|
+
|
|
60
|
+
- **Deep links** : chaque document a une URL stable (`?doc=id`) que vous pouvez partager ou mettre en favori
|
|
61
|
+
- **Recherche instantanée** : filtre par titre et catégorie côté client, puis recherche plein texte côté serveur (350 ms de délai)
|
|
62
|
+
- **Ancres** : les titres `## Mon titre` génèrent automatiquement des ancres navigables
|
|
63
|
+
- **Mode pleine page** : bouton *Pleine page* pour masquer la sidebar
|
|
64
|
+
|
|
65
|
+
### Édition
|
|
66
|
+
|
|
67
|
+
- Cliquez sur **Edit** pour éditer le Markdown brut directement dans le navigateur
|
|
68
|
+
- **Cmd/Ctrl+V** avec une image dans le presse-papiers : l'image est uploadée automatiquement dans `DOCS_FOLDER/images/` et le lien est inséré
|
|
69
|
+
- **Save** re-rend le document sans recharger la page
|
|
70
|
+
|
|
71
|
+
### Export PDF
|
|
72
|
+
|
|
73
|
+
- **Export PDF (article courant)** : bouton dans le header de l'article, imprime le document affiché
|
|
74
|
+
- **Export PDF (tous les documents)** : bouton *📄 PDF* en haut de la barre latérale — génère un PDF complet avec table des matières et liens inter-documents fonctionnels
|
|
75
|
+
|
|
76
|
+
### Diagrammes
|
|
77
|
+
|
|
78
|
+
Créez des diagrammes interactifs via **⬡ Diagram** dans le header. Les diagrammes peuvent être liés à des articles via le bouton *⬡ Diagram* de l'éditeur. Un clic sur l'image du diagramme dans un article ouvre l'éditeur de diagramme.
|
|
79
|
+
|
|
80
|
+
### Word Cloud
|
|
81
|
+
|
|
82
|
+
Le bouton *☁ Word Cloud* permet de générer un nuage de mots à partir de n'importe quel dossier de votre système de fichiers — utile pour visualiser les thèmes dominants d'une base de code ou d'une documentation.
|
|
83
|
+
|
|
84
|
+
### Admin
|
|
85
|
+
|
|
86
|
+
Accessible via **⚙ Admin** dans le header. Permet de configurer :
|
|
87
|
+
|
|
88
|
+
- Le titre de l'application
|
|
89
|
+
- Le thème
|
|
90
|
+
- Le pattern de nommage des fichiers
|
|
91
|
+
- Les fichiers supplémentaires (*Extra files* — fichiers Markdown situés en dehors du dossier principal)
|
|
92
|
+
- Le mode debug des diagrammes
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Recommandation : écrire avec la méthode Diátaxis
|
|
97
|
+
|
|
98
|
+
> "Un document, une seule orientation."
|
|
99
|
+
|
|
100
|
+
La documentation non structurée accumule du contenu hétérogène qui finit par ne plus servir personne. La méthode **Diátaxis** propose un cadre simple : chaque document appartient à exactement **un des quatre quadrants**, définis par deux axes.
|
|
101
|
+
|
|
102
|
+
### Les deux axes
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
APPRENTISSAGE
|
|
106
|
+
│
|
|
107
|
+
Tutoriel │ Explication
|
|
108
|
+
(pratique+apprendre) │ (théorique+apprendre)
|
|
109
|
+
│
|
|
110
|
+
PRATIQUE ────────────────┼──────────────── THÉORIQUE
|
|
111
|
+
│
|
|
112
|
+
Guide pratique │ Référence
|
|
113
|
+
(pratique+appliquer) │ (théorique+appliquer)
|
|
114
|
+
│
|
|
115
|
+
APPLICATION
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
### Quadrant 1 — Tutoriel
|
|
121
|
+
|
|
122
|
+
**Question clé :** *"Peux-tu m'apprendre à… ?"*
|
|
123
|
+
|
|
124
|
+
Un tutoriel guide un **débutant** pas à pas vers un résultat concret. Il ne suppose aucune connaissance préalable. L'objectif n'est pas d'expliquer *pourquoi* les choses fonctionnent, mais de faire réussir l'apprenant.
|
|
125
|
+
|
|
126
|
+
**Caractéristiques :**
|
|
127
|
+
- Étapes numérotées, courtes, testées
|
|
128
|
+
- Résultat visible et vérifiable à chaque étape
|
|
129
|
+
- Environnement propre (n'assume rien d'installé)
|
|
130
|
+
- Captures d'écran si besoin
|
|
131
|
+
- Durée : 5 à 15 minutes
|
|
132
|
+
|
|
133
|
+
**Exemple dans une documentation produit :**
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
## Créer votre premier document
|
|
137
|
+
|
|
138
|
+
1. Créez un dossier `docs/` dans votre projet
|
|
139
|
+
2. Lancez `npx living-documentation ./docs`
|
|
140
|
+
3. Ouvrez http://localhost:4321 dans votre navigateur
|
|
141
|
+
4. Cliquez sur **+** dans la barre latérale
|
|
142
|
+
5. Saisissez le titre "Mon premier document" et cliquez **Create**
|
|
143
|
+
|
|
144
|
+
✅ Votre document apparaît dans la sidebar sous la catégorie General.
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
### Quadrant 2 — Guide pratique (*How-to*)
|
|
150
|
+
|
|
151
|
+
**Question clé :** *"Comment faire… ?"*
|
|
152
|
+
|
|
153
|
+
Un guide pratique aide un utilisateur qui **sait déjà ce qu'il veut faire** mais a besoin des étapes pour y arriver. Contrairement au tutoriel, il suppose un contexte existant et va droit au but.
|
|
154
|
+
|
|
155
|
+
**Caractéristiques :**
|
|
156
|
+
- Prérequis listés en tête
|
|
157
|
+
- Étapes ordonnées vers un objectif précis
|
|
158
|
+
- Variantes et alternatives mentionnées
|
|
159
|
+
- Erreurs courantes anticipées
|
|
160
|
+
- Pas d'explications conceptuelles
|
|
161
|
+
|
|
162
|
+
**Exemple :**
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
## Comment configurer un pattern de nommage personnalisé
|
|
166
|
+
|
|
167
|
+
**Prérequis** : Living Documentation démarré, accès à Admin
|
|
168
|
+
|
|
169
|
+
1. Ouvrez **⚙ Admin**
|
|
170
|
+
2. Dans le champ *Filename pattern*, saisissez votre pattern
|
|
171
|
+
— ex. : `[Category]_YYYY_MM_DD_titre`
|
|
172
|
+
3. Cliquez **Save**
|
|
173
|
+
4. Vérifiez la fenêtre *New Document* : le nom prévisualisé reflète le nouveau pattern
|
|
174
|
+
|
|
175
|
+
⚠️ Le pattern doit contenir `[Category]` exactement une fois.
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
### Quadrant 3 — Explication (*Concept*)
|
|
181
|
+
|
|
182
|
+
**Question clé :** *"Pourquoi ça fonctionne ainsi ?"*
|
|
183
|
+
|
|
184
|
+
Une explication **construit la compréhension**. Elle ne donne pas d'instructions mais éclaire les principes sous-jacents, les choix de conception, les compromis. Elle est lue hors contexte de travail, pour apprendre.
|
|
185
|
+
|
|
186
|
+
**Caractéristiques :**
|
|
187
|
+
- Analogies et schémas
|
|
188
|
+
- Références croisées vers d'autres concepts
|
|
189
|
+
- Aucune instruction à suivre
|
|
190
|
+
- Répond au *pourquoi*, pas au *comment*
|
|
191
|
+
|
|
192
|
+
**Exemple :**
|
|
193
|
+
|
|
194
|
+
```
|
|
195
|
+
## Pourquoi le nommage des fichiers détermine la structure
|
|
196
|
+
|
|
197
|
+
Living Documentation ne s'appuie sur aucune base de données.
|
|
198
|
+
La date, la catégorie et le titre sont encodés dans le nom du fichier,
|
|
199
|
+
ce qui rend la documentation portable : un simple `cp -r` ou un
|
|
200
|
+
dépôt Git suffit à la transférer. Le parser reconstruit la structure
|
|
201
|
+
à la volée à chaque démarrage.
|
|
202
|
+
|
|
203
|
+
Ce choix implique un compromis : renommer un fichier change son ID
|
|
204
|
+
et invalide les deep links existants.
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
### Quadrant 4 — Référence
|
|
210
|
+
|
|
211
|
+
**Question clé :** *"Quelle est exactement la valeur de… ?"*
|
|
212
|
+
|
|
213
|
+
Une référence est **consultée pendant le travail**, jamais lue de A à Z. Elle est exhaustive, structurée de façon uniforme, et mise à jour en même temps que le code.
|
|
214
|
+
|
|
215
|
+
**Caractéristiques :**
|
|
216
|
+
- Format tabulaire ou liste structurée
|
|
217
|
+
- Exhaustif (tous les cas couverts)
|
|
218
|
+
- Exemples pratiques inclus
|
|
219
|
+
- Aucune narration ni explication
|
|
220
|
+
|
|
221
|
+
**Exemple :**
|
|
222
|
+
|
|
223
|
+
```
|
|
224
|
+
## Tokens du pattern de nommage
|
|
225
|
+
|
|
226
|
+
| Token | Description | Exemple |
|
|
227
|
+
|-------------|------------------------------------|-----------|
|
|
228
|
+
| `YYYY` | Année sur 4 chiffres | `2024` |
|
|
229
|
+
| `MM` | Mois sur 2 chiffres | `03` |
|
|
230
|
+
| `DD` | Jour sur 2 chiffres | `15` |
|
|
231
|
+
| `HH` | Heure sur 2 chiffres (00–23) | `14` |
|
|
232
|
+
| `mm` | Minutes sur 2 chiffres | `30` |
|
|
233
|
+
| `[Category]`| Nom de catégorie entre crochets | `[Guide]` |
|
|
234
|
+
| `title` | Titre en snake_case | `mon_doc` |
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
### Appliquer Diátaxis dans Living Documentation
|
|
240
|
+
|
|
241
|
+
Utilisez les **catégories** pour distinguer les types :
|
|
242
|
+
|
|
243
|
+
| Catégorie suggérée | Quadrant Diátaxis |
|
|
244
|
+
|--------------------|-------------------|
|
|
245
|
+
| `[Tutoriel]` | Tutoriel |
|
|
246
|
+
| `[Guide]` | Guide pratique |
|
|
247
|
+
| `[Concept]` | Explication |
|
|
248
|
+
| `[Reference]` | Référence |
|
|
249
|
+
|
|
250
|
+
Organisez ensuite par **domaine fonctionnel** via les sous-dossiers :
|
|
251
|
+
|
|
252
|
+
```
|
|
253
|
+
docs/
|
|
254
|
+
├── authentification/
|
|
255
|
+
│ ├── 2024_01_10_[Tutoriel]_premiers_pas_auth.md
|
|
256
|
+
│ ├── 2024_01_11_[Guide]_configurer_oauth.md
|
|
257
|
+
│ ├── 2024_01_12_[Concept]_jwt_vs_sessions.md
|
|
258
|
+
│ └── 2024_01_13_[Reference]_endpoints_auth.md
|
|
259
|
+
└── facturation/
|
|
260
|
+
├── 2024_02_01_[Tutoriel]_creer_premiere_facture.md
|
|
261
|
+
└── 2024_02_02_[Reference]_codes_erreur_paiement.md
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
> **Règle d'or** : si vous hésitez entre deux quadrants pour un document, c'est souvent le signe qu'il faut le diviser en deux documents distincts.
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## Ressources
|
|
269
|
+
|
|
270
|
+
- [Diátaxis — site officiel](https://diataxis.fr)
|
|
271
|
+
- [Documentation chaotique ? Diátaxis à la rescousse](https://dev.to/onepoint/documentation-chaotique-diataxis-a-la-rescousse--3e9o)
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# En utilisant l'éditeur
|
|
2
|
+
<details><summary>Cliquer pour voir les détails</summary>
|
|
3
|
+
|
|
4
|
+
Si vous ne maitrisez pas le markdown, vous pouvez utiliser l'éditeur de document et insérer un **Snippet** de type :
|
|
5
|
+
- lien
|
|
6
|
+
- lien vers un document
|
|
7
|
+
- lien vers une ancre
|
|
8
|
+
- lien vers une ancre d'un autre document
|
|
9
|
+

|
|
10
|
+
</details>
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# En codant
|
|
15
|
+
<details><summary>Cliquer pour voir les détails</summary>
|
|
16
|
+
|
|
17
|
+
Les images peuvent être intégrés dans vos documents de différentes façons mais au final les images sont représentées dans votre document par du code `markdown`
|
|
18
|
+
|
|
19
|
+
Une image peut être **simple** ou **liée à une destination**
|
|
20
|
+
|
|
21
|
+
- simple
|
|
22
|
+
```markdown
|
|
23
|
+

|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
- liée à un autre document de `living documentation`
|
|
27
|
+
```
|
|
28
|
+
[](?doc=3_concept%252F2026_04_08_20_58_%255BDOCUMENTING%255D_ADRS)
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
- liée à un **diagramme** de `living documentation`
|
|
32
|
+
```
|
|
33
|
+
[](/diagram?id=d1775684671412)
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
- liée à autre chose (généralement une page web)
|
|
37
|
+
```
|
|
38
|
+
[](https://www.npmjs.com/package/living-documentation)
|
|
39
|
+
```
|
|
40
|
+
</details>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
1 . Lancez l'outil en pointant vers votre dossier de documentation, le mieux étant de versionner ce dossier au sein de votre projet :
|
|
2
|
+
|
|
3
|
+
```bash
|
|
4
|
+
npx living-documentation ./docs
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
Le serveur démarre sur le port **4321** par défaut. Ouvrez [http://localhost:4321](http://localhost:4321) dans votre navigateur.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
### Options disponibles
|
|
12
|
+
|
|
13
|
+
Pour connaitre toutes les options disponibles faites
|
|
14
|
+
```bash
|
|
15
|
+
npx living-documentation -h
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
Usage: living-documentation [options] [folder]
|
|
20
|
+
|
|
21
|
+
Serve a local Markdown documentation viewer
|
|
22
|
+
|
|
23
|
+
Arguments:
|
|
24
|
+
folder Path to documentation folder (default: ".")
|
|
25
|
+
|
|
26
|
+
Options:
|
|
27
|
+
-V, --version output the version number
|
|
28
|
+
-i, --init Initialize a demo project
|
|
29
|
+
-p, --port <number> Port to listen on (default: "4321")
|
|
30
|
+
-o, --open Open browser automatically
|
|
31
|
+
-h, --help display help for command
|
|
32
|
+
```
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
## Recherche plein texte
|
|
2
|
+
|
|
3
|
+
Living Documentation propose deux niveaux de recherche accessibles depuis le champ en haut de la barre latérale.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
### Filtre instantané (client-side)
|
|
8
|
+
|
|
9
|
+
Dès que vous tapez dans le champ de recherche, la liste des documents est filtrée **en temps réel** sur le titre et la catégorie.
|
|
10
|
+
|
|
11
|
+
- Aucun délai, aucun rechargement
|
|
12
|
+
- Utile pour retrouver rapidement un document dont vous connaissez le nom
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
### Recherche plein texte (server-side)
|
|
17
|
+
|
|
18
|
+
Après **350 ms** sans frappe, une recherche côté serveur est déclenchée automatiquement. Elle parcourt le contenu complet de tous les fichiers `.md`.
|
|
19
|
+
|
|
20
|
+
**Résultats :**
|
|
21
|
+
|
|
22
|
+
- Chaque fichier correspondant est listé
|
|
23
|
+
- Pour chaque fichier, **toutes les occurrences** sont affichées avec leur contexte
|
|
24
|
+
- Les occurrences sont **surlignées** dans la liste
|
|
25
|
+
- Cliquer sur une occurrence ouvre le document **et défile jusqu'à la section concernée**
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
### Cas d'usage
|
|
30
|
+
|
|
31
|
+
| Vous cherchez… | Approche recommandée |
|
|
32
|
+
|-----------------------------------------|-------------------------------|
|
|
33
|
+
| Un document dont vous connaissez le nom | Filtre instantané (taper le titre) |
|
|
34
|
+
| Un concept mentionné dans n'importe quel doc | Recherche plein texte (attendre 350 ms) |
|
|
35
|
+
| Toutes les occurrences d'un terme | Recherche plein texte |
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
### Deep links
|
|
40
|
+
|
|
41
|
+
Chaque document possède une **URL stable** de la forme :
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
http://localhost:4321/?doc=<id_encodé>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Vous pouvez **copier cette URL** depuis la barre d'adresse du navigateur et la partager, la mettre en favori, ou l'utiliser dans un lien Markdown inter-documents :
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
[Voir la référence API](?doc=4_reference%252F2026_04_09_02_00_%255BREFERENCE%255D_tokens_pattern_nommage)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
> L'ID est stable tant que le nom du fichier ne change pas. Renommer un fichier invalide les liens existants.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
### Navigation par ancres
|
|
58
|
+
|
|
59
|
+
Les titres `##`, `###`, etc. génèrent automatiquement des **ancres navigables**. Vous pouvez créer un lien vers une section précise :
|
|
60
|
+
|
|
61
|
+
```markdown
|
|
62
|
+
[Voir la section Résultats](#résultats)
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Le scroll est déclenché après le rendu asynchrone du document — le lien fonctionne même si la page vient d'être ouverte.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
## Exporter un document en PDF
|
|
2
|
+
|
|
3
|
+
Living Documentation propose deux modes d'export PDF, accessibles sans configuration particulière.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
### Export du document courant
|
|
8
|
+
|
|
9
|
+
1. Ouvrez le document à exporter.
|
|
10
|
+
2. Cliquez sur le bouton **`📄 PDF`** dans le header de l'article.
|
|
11
|
+
3. La boîte de dialogue d'impression du navigateur s'ouvre.
|
|
12
|
+
4. Choisissez **Enregistrer en PDF** comme imprimante.
|
|
13
|
+
|
|
14
|
+
**Ce qui est inclus :**
|
|
15
|
+
|
|
16
|
+
- Le contenu de l'article (rendu HTML complet)
|
|
17
|
+
- Les blocs de code avec coloration syntaxique
|
|
18
|
+
|
|
19
|
+
**Ce qui est masqué à l'impression :**
|
|
20
|
+
|
|
21
|
+
- La barre latérale
|
|
22
|
+
- Le header de navigation
|
|
23
|
+
- Les boutons d'action (Edit, PDF, etc.)
|
|
24
|
+
|
|
25
|
+
> Le CSS `@media print` est configuré pour produire un rendu propre sans éléments d'interface.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
### Export de tous les documents (PDF complet)
|
|
30
|
+
|
|
31
|
+
1. Cliquez sur le bouton **`📄 PDF`** en haut de la **barre latérale** (pas dans l'article).
|
|
32
|
+
2. Un PDF complet est généré avec :
|
|
33
|
+
- Une **table des matières** cliquable en début de document
|
|
34
|
+
- Tous les documents dans l'ordre de la sidebar
|
|
35
|
+
- Les **liens inter-documents** restent fonctionnels dans le PDF
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
### Conseils pour un meilleur rendu
|
|
40
|
+
|
|
41
|
+
- Utilisez **Chrome** ou **Edge** pour la meilleure qualité d'export PDF (le moteur de rendu produit des résultats plus fidèles que Safari ou Firefox)
|
|
42
|
+
- Dans la boîte de dialogue d'impression, activez **"Graphiques d'arrière-plan"** pour conserver les couleurs des blocs de code et des badges
|
|
43
|
+
- Format recommandé : **A4**, marges normales
|