@hgdc/docs 0.4.2 → 0.4.4

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.
Files changed (183) hide show
  1. package/package.json +1 -1
  2. package/src/integration.ts +8 -1
  3. package/src/styles/theme.css +44 -10
  4. package/template/.astro/content-modules.mjs +15 -35
  5. package/template/.build/.well-known/llms.txt +34 -51
  6. package/template/.build/404.html +4 -4
  7. package/template/.build/_astro/Search.astro_astro_type_script_index_0_lang.VKDD8r2I.js +1 -0
  8. package/template/.build/_astro/common.Ixp7olnv.css +3 -0
  9. package/template/.build/_astro/logo-clair.BqNh6JNi.svg +1 -0
  10. package/template/.build/_astro/logo-sombre.BkgsFXxh.svg +1 -0
  11. package/template/.build/_hgdc/corpus.json +1 -1
  12. package/template/.build/demarrer/premiere-doc/index.html +25 -0
  13. package/template/.build/demarrer/premiere-doc.md +65 -0
  14. package/template/.build/explications/donnees/index.html +55 -0
  15. package/template/.build/explications/donnees.md +28 -0
  16. package/template/.build/explications/fonctionnement/index.html +33 -0
  17. package/template/.build/explications/fonctionnement.md +32 -0
  18. package/template/.build/guides/agents/index.html +59 -0
  19. package/template/.build/guides/agents.md +54 -0
  20. package/template/.build/guides/assistant/index.html +60 -0
  21. package/template/.build/guides/assistant.md +46 -0
  22. package/template/.build/guides/composants/index.html +38 -0
  23. package/template/.build/guides/composants.md +103 -0
  24. package/template/.build/guides/ecrire/index.html +56 -0
  25. package/template/.build/guides/ecrire.md +63 -0
  26. package/template/.build/guides/elements/index.html +1 -0
  27. package/template/.build/guides/navigation/index.html +30 -0
  28. package/template/.build/guides/navigation.md +63 -0
  29. package/template/.build/guides/publier/index.html +27 -0
  30. package/template/.build/guides/publier.md +65 -0
  31. package/template/.build/guides/theme/index.html +27 -0
  32. package/template/.build/guides/theme.md +33 -0
  33. package/template/.build/images/favicon.svg +1 -0
  34. package/template/.build/images/logo-clair.svg +1 -0
  35. package/template/.build/images/logo-sombre.svg +1 -0
  36. package/template/.build/index.html +14 -18
  37. package/template/.build/index.md +21 -59
  38. package/template/.build/llms-full.txt +515 -2331
  39. package/template/.build/llms.txt +34 -51
  40. package/template/.build/pagefind/fragment/fr-ch_1aa5706.pf_fragment +0 -0
  41. package/template/.build/pagefind/fragment/fr-ch_21308c9.pf_fragment +0 -0
  42. package/template/.build/pagefind/fragment/fr-ch_256be83.pf_fragment +0 -0
  43. package/template/.build/pagefind/fragment/fr-ch_3786e05.pf_fragment +0 -0
  44. package/template/.build/pagefind/fragment/fr-ch_3e2d7bf.pf_fragment +0 -0
  45. package/template/.build/pagefind/fragment/fr-ch_53e6d95.pf_fragment +0 -0
  46. package/template/.build/pagefind/fragment/fr-ch_7011e1a.pf_fragment +0 -0
  47. package/template/.build/pagefind/fragment/fr-ch_7252d5b.pf_fragment +0 -0
  48. package/template/.build/pagefind/fragment/fr-ch_8a5f581.pf_fragment +0 -0
  49. package/template/.build/pagefind/fragment/fr-ch_9221692.pf_fragment +0 -0
  50. package/template/.build/pagefind/fragment/fr-ch_a4b68e2.pf_fragment +0 -0
  51. package/template/.build/pagefind/fragment/fr-ch_d4ef5e9.pf_fragment +0 -0
  52. package/template/.build/pagefind/fragment/fr-ch_edaf413.pf_fragment +0 -0
  53. package/template/.build/pagefind/fragment/fr-ch_f017e56.pf_fragment +0 -0
  54. package/template/.build/pagefind/fragment/fr-ch_fe71cc1.pf_fragment +0 -0
  55. package/template/.build/pagefind/index/fr-ch_481c81a.pf_index +0 -0
  56. package/template/.build/pagefind/pagefind-entry.json +1 -1
  57. package/template/.build/pagefind/pagefind.fr-ch_46a632d8eba7e.pf_meta +0 -0
  58. package/template/.build/reference/api-assistant/index.html +102 -0
  59. package/template/.build/reference/api-assistant.md +60 -0
  60. package/template/.build/reference/cli/index.html +11 -153
  61. package/template/.build/reference/cli.md +23 -159
  62. package/template/.build/reference/docs-json/index.html +157 -0
  63. package/template/.build/reference/docs-json.md +47 -0
  64. package/template/.build/reference/mcp/index.html +92 -0
  65. package/template/.build/reference/mcp.md +49 -0
  66. package/template/node_modules/.vite/deps/_metadata.json +8 -8
  67. package/template/.astro/data-store.json +0 -1
  68. package/template/.astro/settings.json +0 -5
  69. package/template/.build/_astro/Search.astro_astro_type_script_index_0_lang.D7EcezBU.js +0 -1
  70. package/template/.build/_astro/common.Dx3aBIS0.css +0 -3
  71. package/template/.build/_astro/logo.BPu921Tp.svg +0 -1
  72. package/template/.build/concepts/confidentialite/index.html +0 -50
  73. package/template/.build/concepts/confidentialite.md +0 -38
  74. package/template/.build/concepts/deploiements/index.html +0 -106
  75. package/template/.build/concepts/deploiements.md +0 -70
  76. package/template/.build/concepts/organisations-et-roles/index.html +0 -83
  77. package/template/.build/concepts/organisations-et-roles.md +0 -39
  78. package/template/.build/concepts/preversion/index.html +0 -49
  79. package/template/.build/concepts/preversion.md +0 -52
  80. package/template/.build/concepts/secrets-et-coffre/index.html +0 -70
  81. package/template/.build/concepts/secrets-et-coffre.md +0 -54
  82. package/template/.build/demarrer/depuis-github/index.html +0 -34
  83. package/template/.build/demarrer/depuis-github.md +0 -68
  84. package/template/.build/demarrer/premier-site/index.html +0 -28
  85. package/template/.build/demarrer/premier-site.md +0 -94
  86. package/template/.build/guides/brancher-un-domaine/index.html +0 -91
  87. package/template/.build/guides/brancher-un-domaine.md +0 -81
  88. package/template/.build/guides/cle-d-api/index.html +0 -62
  89. package/template/.build/guides/cle-d-api.md +0 -78
  90. package/template/.build/guides/depannage/index.html +0 -64
  91. package/template/.build/guides/depannage.md +0 -69
  92. package/template/.build/guides/deployer-depuis-github/index.html +0 -45
  93. package/template/.build/guides/deployer-depuis-github.md +0 -70
  94. package/template/.build/guides/deployer-un-framework/index.html +0 -81
  95. package/template/.build/guides/deployer-un-framework.md +0 -74
  96. package/template/.build/guides/github-actions-sans-application/index.html +0 -53
  97. package/template/.build/guides/github-actions-sans-application.md +0 -95
  98. package/template/.build/guides/inviter-une-personne/index.html +0 -28
  99. package/template/.build/guides/inviter-une-personne.md +0 -38
  100. package/template/.build/guides/lire-les-logs/index.html +0 -37
  101. package/template/.build/guides/lire-les-logs.md +0 -48
  102. package/template/.build/guides/migrer-depuis-vercel/index.html +0 -25
  103. package/template/.build/guides/migrer-depuis-vercel.md +0 -51
  104. package/template/.build/guides/monorepo/index.html +0 -40
  105. package/template/.build/guides/monorepo.md +0 -42
  106. package/template/.build/guides/revenir-en-arriere/index.html +0 -39
  107. package/template/.build/guides/revenir-en-arriere.md +0 -50
  108. package/template/.build/guides/site-statique/index.html +0 -41
  109. package/template/.build/guides/site-statique.md +0 -59
  110. package/template/.build/guides/synchroniser-doppler/index.html +0 -46
  111. package/template/.build/guides/synchroniser-doppler.md +0 -63
  112. package/template/.build/guides/variables-d-environnement/index.html +0 -73
  113. package/template/.build/guides/variables-d-environnement.md +0 -92
  114. package/template/.build/images/famille/account.svg +0 -1
  115. package/template/.build/images/famille/analytics.svg +0 -1
  116. package/template/.build/images/famille/docs.svg +0 -1
  117. package/template/.build/images/famille/host.svg +0 -1
  118. package/template/.build/images/famille/mail.svg +0 -1
  119. package/template/.build/images/famille/portal.svg +0 -1
  120. package/template/.build/images/famille/status.svg +0 -1
  121. package/template/.build/images/logo.svg +0 -1
  122. package/template/.build/pagefind/fragment/fr-ch_16987e2.pf_fragment +0 -0
  123. package/template/.build/pagefind/fragment/fr-ch_2b4c97b.pf_fragment +0 -0
  124. package/template/.build/pagefind/fragment/fr-ch_3294a5c.pf_fragment +0 -0
  125. package/template/.build/pagefind/fragment/fr-ch_34858c9.pf_fragment +0 -0
  126. package/template/.build/pagefind/fragment/fr-ch_39ddba1.pf_fragment +0 -0
  127. package/template/.build/pagefind/fragment/fr-ch_4ab1899.pf_fragment +0 -0
  128. package/template/.build/pagefind/fragment/fr-ch_4d3a52a.pf_fragment +0 -0
  129. package/template/.build/pagefind/fragment/fr-ch_506c187.pf_fragment +0 -0
  130. package/template/.build/pagefind/fragment/fr-ch_5aa255a.pf_fragment +0 -0
  131. package/template/.build/pagefind/fragment/fr-ch_6841c7d.pf_fragment +0 -0
  132. package/template/.build/pagefind/fragment/fr-ch_6dc7a2d.pf_fragment +0 -0
  133. package/template/.build/pagefind/fragment/fr-ch_847edff.pf_fragment +0 -0
  134. package/template/.build/pagefind/fragment/fr-ch_8745af7.pf_fragment +0 -0
  135. package/template/.build/pagefind/fragment/fr-ch_8aac5e6.pf_fragment +0 -0
  136. package/template/.build/pagefind/fragment/fr-ch_916b233.pf_fragment +0 -0
  137. package/template/.build/pagefind/fragment/fr-ch_9fd014a.pf_fragment +0 -0
  138. package/template/.build/pagefind/fragment/fr-ch_a0808f8.pf_fragment +0 -0
  139. package/template/.build/pagefind/fragment/fr-ch_a4e1f69.pf_fragment +0 -0
  140. package/template/.build/pagefind/fragment/fr-ch_a80a53d.pf_fragment +0 -0
  141. package/template/.build/pagefind/fragment/fr-ch_a9e725b.pf_fragment +0 -0
  142. package/template/.build/pagefind/fragment/fr-ch_ac3f64c.pf_fragment +0 -0
  143. package/template/.build/pagefind/fragment/fr-ch_af292f1.pf_fragment +0 -0
  144. package/template/.build/pagefind/fragment/fr-ch_af3e716.pf_fragment +0 -0
  145. package/template/.build/pagefind/fragment/fr-ch_b0689a4.pf_fragment +0 -0
  146. package/template/.build/pagefind/fragment/fr-ch_baed996.pf_fragment +0 -0
  147. package/template/.build/pagefind/fragment/fr-ch_c89e27a.pf_fragment +0 -0
  148. package/template/.build/pagefind/fragment/fr-ch_cd6ca13.pf_fragment +0 -0
  149. package/template/.build/pagefind/fragment/fr-ch_d09af09.pf_fragment +0 -0
  150. package/template/.build/pagefind/fragment/fr-ch_d4bcea8.pf_fragment +0 -0
  151. package/template/.build/pagefind/fragment/fr-ch_dc2a134.pf_fragment +0 -0
  152. package/template/.build/pagefind/fragment/fr-ch_ded7ddc.pf_fragment +0 -0
  153. package/template/.build/pagefind/fragment/fr-ch_e2528cb.pf_fragment +0 -0
  154. package/template/.build/pagefind/fragment/fr-ch_e3cbb4e.pf_fragment +0 -0
  155. package/template/.build/pagefind/fragment/fr-ch_e7902d9.pf_fragment +0 -0
  156. package/template/.build/pagefind/fragment/fr-ch_f48ca47.pf_fragment +0 -0
  157. package/template/.build/pagefind/index/fr-ch_8a5f905.pf_index +0 -0
  158. package/template/.build/pagefind/index/fr-ch_fbd9c96.pf_index +0 -0
  159. package/template/.build/pagefind/pagefind.fr-ch_211aacbfa7f0e.pf_meta +0 -0
  160. package/template/.build/reference/api/deploiements/index.html +0 -326
  161. package/template/.build/reference/api/deploiements.md +0 -170
  162. package/template/.build/reference/api/erreurs/index.html +0 -102
  163. package/template/.build/reference/api/erreurs.md +0 -50
  164. package/template/.build/reference/api/fichiers/index.html +0 -82
  165. package/template/.build/reference/api/fichiers.md +0 -62
  166. package/template/.build/reference/api/introduction/index.html +0 -126
  167. package/template/.build/reference/api/introduction.md +0 -84
  168. package/template/.build/reference/api/projets/index.html +0 -184
  169. package/template/.build/reference/api/projets.md +0 -102
  170. package/template/.build/reference/api/utilisateur/index.html +0 -96
  171. package/template/.build/reference/api/utilisateur.md +0 -89
  172. package/template/.build/reference/api/variables/index.html +0 -75
  173. package/template/.build/reference/api/variables.md +0 -58
  174. package/template/.build/reference/compatibilite/index.html +0 -196
  175. package/template/.build/reference/compatibilite.md +0 -64
  176. package/template/.build/reference/domaines/index.html +0 -171
  177. package/template/.build/reference/domaines.md +0 -76
  178. package/template/.build/reference/limites/index.html +0 -159
  179. package/template/.build/reference/limites.md +0 -56
  180. package/template/.build/reference/variables/index.html +0 -164
  181. package/template/.build/reference/variables.md +0 -63
  182. package/template/.build/reference/vercel-json/index.html +0 -65
  183. package/template/.build/reference/vercel-json.md +0 -51
@@ -1,167 +1,31 @@
1
- # CLI
1
+ # La commande hgdc-docs
2
2
 
3
- Host accepte la CLI Vercel officielle, version 63. Cette page décrit les commandes prises en charge, leurs options et ce qui n’est pas encore pris en charge.
3
+ `hgdc-docs` est installée avec le paquet `@hgdc/docs`. Elle se lance depuis le dossier de la doc, ou avec le chemin du dossier en argument.
4
4
 
5
- ## Configurer la CLI
5
+ ## Commandes
6
6
 
7
- Host n’utilise pas la connexion par navigateur de la CLI. Chaque commande reçoit l’adresse de l’API par `--api` et la clé par la variable `VERCEL_TOKEN`.
7
+ | Commande | Effet |
8
+ | ------------------- | ---------------------------------------------------------------------------------------------------------- |
9
+ | `hgdc-docs dev` | Site local sur `http://localhost:4321`, rechargé à chaque modification. |
10
+ | `hgdc-docs build` | Site statique dans `dist/`, avec la recherche, `llms.txt`, les pages Markdown et le corpus de l’assistant. |
11
+ | `hgdc-docs preview` | Sert le dernier build, pour vérifier avant de pousser. |
8
12
 
9
- ```bash
10
- npm install --global vercel@63
11
- export VERCEL_TOKEN=ah_…
12
- vercel --api https://api.host.hgdc.ch deploy
13
- ```
13
+ Options : `--port 4000` change le port de `dev` et `preview`, `--help` affiche l’aide.
14
14
 
15
- Pour ne pas retaper l’adresse, crée un alias dans ton profil de shell :
15
+ ## Variables d’environnement
16
16
 
17
- ```bash
18
- # ~/.bashrc ou ~/.zshrc
19
- alias vh="vercel --api https://api.host.hgdc.ch"
17
+ | Variable | Rôle |
18
+ | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
19
+ | `HGDC_DOCS_SITE` | Adresse publique du site (`https://docs.acme.ch`). Rend les liens de `llms.txt` absolus et produit le sitemap. Sur Host, l’adresse de production est reprise seule. |
20
+ | `HGDC_DOCS_OUT` | Dossier de sortie, `dist/` par défaut. |
21
+ | `HGDC_DOCS_API` | API de l’assistant, `https://docs.hgdc.ch` par défaut. |
20
22
 
21
- # Ensuite
22
- vh deploy --prod
23
- ```
23
+ ## Ce que contient dist/
24
24
 
25
- En PowerShell, dans `$PROFILE` :
26
-
27
- ```powershell
28
- function vh { vercel --api https://api.host.hgdc.ch @args }
29
- ```
30
-
31
- > **Attention**
32
- >
33
- > Sans `--api`, la CLI parle à Vercel. Si une commande te demande de te connecter dans le navigateur, vérifie que l’option est bien présente.
34
-
35
- ### Options globales
36
-
37
- | Option | Valeur | Rôle |
38
- | --------- | ------ | -------------------------------------------------------------------------------------------- |
39
- | `--api` | URL | Adresse de l’API : `https://api.host.hgdc.ch` |
40
- | `--token` | `ah_…` | Clé d’API. Préfère la variable `VERCEL_TOKEN`, qui n’apparaît pas dans l’historique du shell |
41
-
42
- ### Ce qui n’est pas pris en charge
43
-
44
- | Commande ou option | État |
45
- | ------------------- | -------------------------------------------------------------------------------------------- |
46
- | `vercel login` | Non : la connexion passe par la clé |
47
- | `vercel env` | Pas encore : gère les variables dans la console |
48
- | `vercel domains` | Pas encore : gère les domaines dans la console |
49
- | `vercel logs` | Pas encore : les logs sont dans la console |
50
- | `vercel alias` | Pas encore : utilise la console, voir [Revenir en arrière](/docs/guides/revenir-en-arriere/) |
51
- | `--scope`, `--team` | Ignorés : l’organisation vient de la clé |
52
-
53
- ## vercel deploy
54
-
55
- Envoie un dossier, ou un build déjà construit, et crée un déploiement. Sans option, la commande crée une preview. Avec `--prod`, elle part en production.
56
-
57
- ```bash
58
- # Preview du dossier courant
59
- vercel --api https://api.host.hgdc.ch deploy
60
-
61
- # Production
62
- vercel --api https://api.host.hgdc.ch deploy --prod
63
- ```
64
-
65
- Dans un script, l’adresse du déploiement est écrite seule sur la sortie standard :
66
-
67
- ```bash
68
- URL=$(vercel --api https://api.host.hgdc.ch deploy --yes)
69
- echo "Preview : $URL"
70
- ```
71
-
72
- | Option | Rôle |
73
- | --------------------- | ------------------------------------------------------------------------------------------- |
74
- | `--prod` | Déploie en production |
75
- | `--prebuilt` | Envoie `.vercel/output`, produit par `vercel build`, sans reconstruire |
76
- | `--yes` | Répond oui à toutes les questions : relie le dossier et crée le projet. Indispensable en CI |
77
- | `--cwd <chemin>` | Dossier à déployer, s’il n’est pas le dossier courant |
78
- | `--meta <clé=valeur>` | Métadonnée attachée au déploiement |
79
-
80
- La commande affiche l’adresse du déploiement, suit la publication, puis rend la main quand le déploiement est prêt ou en erreur. Le suivi dure 9 minutes au plus.
81
-
82
- Pour un framework, construis d’abord avec `vercel build`, puis envoie le résultat avec `--prebuilt`. Utilise la même cible des deux côtés : `build --prod` avec `deploy --prebuilt --prod`, ou aucune des deux pour une preview. Sinon, la CLI refuse l’envoi.
83
-
84
- ## vercel build
85
-
86
- Construit le projet en local ou en CI, au format Build Output API. Le résultat va dans `.vercel/output`, prêt pour `vercel deploy --prebuilt`.
87
-
88
- ```bash
89
- # Build de preview
90
- vercel --api https://api.host.hgdc.ch build
91
-
92
- # Build de production
93
- vercel --api https://api.host.hgdc.ch build --prod
94
- ```
95
-
96
- Avant de construire, la commande télécharge les variables de l’environnement visé : preview par défaut, production avec `--prod`. Une variable sensible n’est pas téléchargée depuis un poste, seulement depuis le build du dépôt GitHub.
97
-
98
- | Option | Rôle |
99
- | ---------------- | ------------------------------------------------------------------------- |
100
- | `--prod` | Construit pour la production, avec les variables de production |
101
- | `--yes` | Télécharge les réglages du projet sans rien demander. Indispensable en CI |
102
- | `--cwd <chemin>` | Dossier du projet, s’il n’est pas le dossier courant |
103
-
104
- ## vercel pull
105
-
106
- Télécharge les réglages du projet et les variables d’un environnement. `vercel build` s’en sert ensuite.
107
-
108
- ```bash
109
- # Variables de développement, par défaut
110
- vercel --api https://api.host.hgdc.ch pull
111
-
112
- # Variables de preview ou de production
113
- vercel --api https://api.host.hgdc.ch pull --environment=preview
114
- vercel --api https://api.host.hgdc.ch pull --environment=production
115
- ```
116
-
117
- Les variables sont écrites dans `.vercel/.env.<environnement>.local`. La CLI ajoute ce dossier au `.gitignore` : ne le commite pas.
118
-
119
- | Option | Valeur | Rôle |
120
- | ---------------- | ---------------------------------------- | ---------------------------------------------------- |
121
- | `--environment` | `development`, `preview` ou `production` | Environnement à lire. Par défaut : `development` |
122
- | `--yes` | | Relie le dossier sans rien demander |
123
- | `--cwd <chemin>` | | Dossier du projet, s’il n’est pas le dossier courant |
124
-
125
- Ce que reçoit la commande dépend de la clé :
126
-
127
- | Clé | Variables normales | Variables sensibles |
128
- | ------------------------------------- | ------------------ | ------------------- |
129
- | Clé d’organisation | Oui | Non |
130
- | Clé de projet, posée par l’app GitHub | Oui | Oui |
131
-
132
- ## vercel link
133
-
134
- Relie un dossier local à un projet. Les autres commandes savent ensuite à quel projet s’adresser.
135
-
136
- ```bash
137
- vercel --api https://api.host.hgdc.ch link
138
-
139
- # Sans question, avec le nom du dossier
140
- vercel --api https://api.host.hgdc.ch link --yes
141
- ```
142
-
143
- La liaison est écrite dans `.vercel/project.json`, qui contient `orgId` et `projectId`. Le premier `link` ou `deploy` sur un nom inconnu crée le projet, sous le nom du dossier.
144
-
145
- | Option | Rôle |
146
- | ----------------- | ------------------------------------------------------------------------ |
147
- | `--yes` | Relie le dossier sans rien demander, et crée le projet s’il n’existe pas |
148
- | `--project <nom>` | Nom du projet à relier, s’il n’est pas celui du dossier |
149
- | `--cwd <chemin>` | Dossier à relier, s’il n’est pas le dossier courant |
150
-
151
- En CI, sans dossier `.vercel`, donne les deux identifiants par variables d’environnement, avec la clé :
152
-
153
- ```bash
154
- export VERCEL_ORG_ID=…
155
- export VERCEL_PROJECT_ID=…
156
- export VERCEL_TOKEN=ah_…
157
- vercel --api https://api.host.hgdc.ch deploy --prod --yes
158
- ```
159
-
160
- `VERCEL_ORG_ID` est la valeur renvoyée par [GET /v2/user](/docs/reference/api/utilisateur/). Le workflow posé par l’app GitHub contient déjà les bonnes valeurs.
161
-
162
- Pour délier un dossier, supprime son dossier `.vercel`. Le prochain déploiement te redemandera le projet.
163
-
164
- ## Voir aussi
165
-
166
- - [Référence de l’API](/docs/reference/api/introduction/) : les mêmes opérations, sans la CLI.
167
- - [Compatibilité](/docs/reference/compatibilite/) : la liste des fonctions de la CLI et de la plateforme.
25
+ | Fichier | Contenu |
26
+ | --------------------------------------------------- | -------------------------------------------------------------- |
27
+ | `index.html`, `<page>/index.html` | Les pages du site. |
28
+ | `<page>.md` | Chaque page en Markdown. |
29
+ | `llms.txt`, `llms-full.txt`, `.well-known/llms.txt` | L’index et la doc complète pour les agents. |
30
+ | `pagefind/` | L’index de la recherche. |
31
+ | `_hgdc/corpus.json` | Le contenu publié, lu par la console pour indexer l’assistant. |
@@ -0,0 +1,157 @@
1
+ <!DOCTYPE html><html lang="fr-CH" dir="ltr" data-theme="dark" data-has-toc data-has-sidebar class="astro-wgg3zgff"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/><title>docs.json | Docs</title><style>:root{--sl-color-accent-low:#282041;--sl-color-accent:#aa73ff;--sl-color-accent-high:#e8b7ff;--hgdc-on-accent:#000000;}:root:not([data-hd-theme="dark"]){--sl-color-accent-low:#f1e9ff;--sl-color-accent:#7c3aed;--sl-color-accent-high:#4e00ae;--hgdc-on-accent:#ffffff;}</style><link rel="shortcut icon" href="/images/favicon.svg" type="image/svg+xml"/><meta name="generator" content="Astro v7.3.8"/><meta name="generator" content="Starlight v0.42.6"/><meta property="og:title" content="docs.json"/><meta property="og:type" content="article"/><meta property="og:locale" content="fr-CH"/><meta property="og:description" content="Tous les champs du fichier de configuration d'un site Docs."/><meta property="og:site_name" content="Docs"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="Tous les champs du fichier de configuration d'un site Docs."/><link rel="alternate" type="text/markdown" href="/reference/docs-json.md"><link rel="describedby" type="text/markdown" href="/llms.txt"><script>
2
+ ;(() => {
3
+ let stored = null
4
+ try {
5
+ stored = localStorage.getItem("starlight-theme")
6
+ } catch {}
7
+ const dark =
8
+ stored === "dark" || (stored === "auto" && matchMedia("(prefers-color-scheme: dark)").matches)
9
+ const theme = dark ? "dark" : "light"
10
+ document.documentElement.dataset.theme = theme
11
+ document.documentElement.dataset.hdTheme = theme
12
+ window.StarlightThemeProvider = { updatePickers() {} }
13
+ })()
14
+ </script><link rel="stylesheet" href="/_astro/print.ehPL0gv-.css" media="print"><link rel="stylesheet" href="/_astro/common.Ixp7olnv.css"><style>@layer starlight.components{svg:where(.astro-5loz3ns4){color:var(--sl-icon-color);font-size:var(--sl-icon-size,1em);width:1em;height:1em;overflow:visible}}
15
+ @layer starlight.components{starlight-tabs:where(.astro-fmorvire){display:block}.tablist-wrapper:where(.astro-fmorvire){overflow-x:auto}:where(.astro-fmorvire)[role=tablist]{border-bottom:2px solid var(--sl-color-gray-5);padding:0;list-style:none;display:flex}.tab:where(.astro-fmorvire){display:flex}.tab:where(.astro-fmorvire)>:where(.astro-fmorvire)[role=tab]{--sl-tab-color-border:var(--sl-color-gray-5);line-height:var(--sl-line-height-headings);box-shadow:0 2px 0 var(--sl-tab-color-border);color:var(--sl-color-gray-3);outline-offset:var(--sl-outline-offset-inside);overflow-wrap:initial;align-items:center;gap:.5rem;padding:.275rem 1.25rem;text-decoration:none;display:flex}.tab:where(.astro-fmorvire) :where(.astro-fmorvire)[role=tab][aria-selected=true]{--sl-tab-color-border:var(--sl-color-text-accent);color:var(--sl-color-white);font-weight:600}.tablist-wrapper:where(.astro-fmorvire)~[role=tabpanel]{margin-top:1rem}}
16
+ </style><script type="module" src="/_astro/page.cNngjUgL.js"></script></head><body class="astro-wgg3zgff"><a class="sl-skip-link astro-mdf5cdqa" href="#_top">Aller au contenu</a><div class="hd-page"><header class="hd-topbar"><div class="hd-header"><div class="hd-header__start"><button type="button" class="hd-icon-button hd-menu-button" popovertarget="starlight__sidebar" aria-label="Menu de la documentation" aria-controls="starlight__sidebar"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M4 7h16M4 12h16M4 17h10"></path></svg></button><a class="hd-brand" href="/"><span class="hd-brand__mark"><img class="hd-brand__light" src="/images/logo-clair.svg" alt="" width="24" height="24"><img class="hd-brand__dark" src="/images/logo-sombre.svg" alt="" width="24" height="24"></span><span class="hd-brand__name">Docs</span></a></div><nav class="hd-header__tabs" aria-label="Sections de la documentation"><a href="/">Guides</a><a href="/reference/docs-json/" aria-current="page">Référence</a><a href="/explications/fonctionnement/">Explications</a></nav><div class="hd-header__end"><hd-search data-base data-assistant><button type="button" class="hd-search-trigger" data-open aria-haspopup="dialog" aria-label="Rechercher (Ctrl K)"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M11 18a7 7 0 1 0 0-14 7 7 0 0 0 0 14Zm5-2 4 4"></path></svg><span class="hd-search-trigger__label">Rechercher</span><kbd class="hd-kbd" data-shortcut>Ctrl K</kbd></button><dialog class="hd-palette" aria-label="Rechercher dans la documentation"><div class="hd-palette__box"><div class="hd-palette__field"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M11 18a7 7 0 1 0 0-14 7 7 0 0 0 0 14Zm5-2 4 4"></path></svg><input type="text" data-input placeholder="Rechercher dans la documentation" autocomplete="off" spellcheck="false" role="combobox" aria-expanded="false" aria-controls="hd-palette-results" aria-autocomplete="list"><button type="button" class="hd-kbd hd-kbd--button" data-close>Échap</button></div><div class="hd-palette__results" id="hd-palette-results" role="listbox" aria-label="Résultats" data-results></div><p class="hd-palette__status" data-status role="status">Tape un mot pour chercher dans les pages.</p><footer class="hd-palette__hints" aria-hidden="true"><span><kbd class="hd-kbd">↑</kbd><kbd class="hd-kbd">↓</kbd> Choisir</span><span><kbd class="hd-kbd">↵</kbd> Ouvrir</span><span><kbd class="hd-kbd">Échap</kbd> Fermer</span></footer></div></dialog></hd-search><script type="module" src="/_astro/Search.astro_astro_type_script_index_0_lang.VKDD8r2I.js"></script><button type="button" class="hd-icon-button" data-hgdc-ask aria-label="Demander à l'assistant" title="Demander à l'assistant (Ctrl I)"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3.5 13.6 8a3 3 0 0 0 1.9 1.9L20 11.5l-4.5 1.6a3 3 0 0 0-1.9 1.9L12 19.5 10.4 15a3 3 0 0 0-1.9-1.9L4 11.5 8.5 9.9A3 3 0 0 0 10.4 8ZM19 3v3M20.5 4.5h-3"></path></svg></button><nav class="hd-header__links" aria-label="Liens"><a class="hd-pill hd-pill--ghost" href="https://hgdc.ch">HGDC</a><a class="hd-pill hd-pill--primary" href="https://docs.hgdc.ch">Console</a></nav><button type="button" class="hd-icon-button hd-theme-button" data-hd-theme-toggle aria-label="Passer au thème sombre"><svg class="hd-icon hd-theme-button__moon" aria-hidden="true" viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M20 14.5A8 8 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5Z"></path></svg><svg class="hd-icon hd-theme-button__sun" aria-hidden="true" viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M12 16a4 4 0 1 0 0-8 4 4 0 0 0 0 8ZM12 2.5v2M12 19.5v2M4.6 4.6 6 6M18 18l1.4 1.4M2.5 12h2M19.5 12h2M4.6 19.4 6 18M18 6l1.4-1.4"></path></svg></button><script type="module">var e=`starlight-theme`,t=()=>{try{return localStorage.getItem(e)||`light`}catch{return`light`}},n=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`,r=t=>{try{localStorage.setItem(e,t)}catch{}let r=t===`auto`?n():t;document.documentElement.dataset.theme=r,document.documentElement.dataset.hdTheme=r,i()},i=()=>{let e=t(),n=document.documentElement.dataset.theme===`dark`;for(let e of document.querySelectorAll(`[data-hd-theme-toggle]`))e.setAttribute(`aria-label`,n?`Passer au thème clair`:`Passer au thème sombre`);for(let t of document.querySelectorAll(`[data-hd-theme-choice]`)){let n=t.dataset.hdThemeChoice===e;t.setAttribute(`aria-checked`,String(n)),t.tabIndex=n?0:-1}};for(let e of document.querySelectorAll(`[data-hd-theme-toggle]`))e.addEventListener(`click`,()=>r(document.documentElement.dataset.theme===`dark`?`light`:`dark`));for(let e of document.querySelectorAll(`.hd-theme-choice`)){let t=[...e.querySelectorAll(`[data-hd-theme-choice]`)];for(let e of t)e.addEventListener(`click`,()=>r(e.dataset.hdThemeChoice));e.addEventListener(`keydown`,e=>{let n=e.key===`ArrowRight`||e.key===`ArrowDown`?1:e.key===`ArrowLeft`||e.key===`ArrowUp`?-1:0;if(!n)return;e.preventDefault();let i=t.findIndex(e=>e.getAttribute(`aria-checked`)===`true`),a=t[(i+n+t.length)%t.length];r(a.dataset.hdThemeChoice),a.focus()})}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{t()===`auto`&&r(`auto`)}),i();</script></div></div></header><nav class="hd-sidebar" aria-label="Navigation de la documentation"><script type="module">for(let e of document.querySelectorAll(`[data-hgdc-version]`))e.addEventListener(`change`,()=>window.location.assign(e.value));var e=document.querySelector(`.sidebar-pane`);if(e){let t=`hd-sidebar-scroll`;try{let n=Number(sessionStorage.getItem(t));n&&(e.scrollTop=n)}catch{}let n=e.querySelector(`[aria-current="page"]`);if(n){let t=e.getBoundingClientRect(),r=n.getBoundingClientRect();(r.top<t.top||r.bottom>t.bottom)&&n.scrollIntoView({block:`center`})}addEventListener(`pagehide`,()=>{try{sessionStorage.setItem(t,String(e.scrollTop))}catch{}})}</script><hd-sidebar-pane popover="auto" id="starlight__sidebar" class="sidebar-pane"><div class="hd-sidebar__content"><div class="hd-mobile-only hd-sidebar-head"><a class="hd-brand" href="/"><span class="hd-brand__name">Docs</span></a><button type="button" class="hd-icon-button" popovertarget="starlight__sidebar" popovertargetaction="hide" aria-label="Fermer le menu"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M6 6l12 12M18 6 6 18"></path></svg></button></div><nav class="hd-mobile-only hd-sidebar-tabs" aria-label="Sections de la documentation"><a href="/">Guides</a><a href="/reference/docs-json/" aria-current="page">Référence</a><a href="/explications/fonctionnement/">Explications</a></nav><ul class="hd-nav hd-nav--depth-0"><li class="hd-nav__group"><p class="hd-nav__heading">Configuration</p><ul class="hd-nav hd-nav--depth-1"><li><a href="/reference/docs-json/" class="hd-nav__link" aria-current="page"><span>docs.json</span></a></li><li><a href="/reference/cli/" class="hd-nav__link"><span>Commande hgdc-docs</span></a></li></ul></li><li class="hd-nav__group"><p class="hd-nav__heading">API</p><ul class="hd-nav hd-nav--depth-1"><li><a href="/reference/api-assistant/" class="hd-nav__link"><span>API de l&#39;assistant</span></a></li><li><a href="/reference/mcp/" class="hd-nav__link"><span>Serveur MCP</span></a></li></ul></li></ul><div class="hd-mobile-only hd-sidebar-footer"><nav class="hd-sidebar-links" aria-label="Liens"><a href="https://hgdc.ch">HGDC</a><a class="hd-pill hd-pill--primary" href="https://docs.hgdc.ch">Console</a></nav><div class="hd-theme-choice" role="radiogroup" aria-label="Thème"><button type="button" role="radio" aria-checked="false" data-hd-theme-choice="auto" aria-label="Système" title="Système"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M4 5h16a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1Zm4 15h8m-4-3v3"></path></svg></button><button type="button" role="radio" aria-checked="false" data-hd-theme-choice="light" aria-label="Clair" title="Clair"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M12 16a4 4 0 1 0 0-8 4 4 0 0 0 0 8ZM12 2.5v2M12 19.5v2M4.6 4.6 6 6M18 18l1.4 1.4M2.5 12h2M19.5 12h2M4.6 19.4 6 18M18 6l1.4-1.4"></path></svg></button><button type="button" role="radio" aria-checked="false" data-hd-theme-choice="dark" aria-label="Sombre" title="Sombre"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M20 14.5A8 8 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5Z"></path></svg></button></div></div></div></hd-sidebar-pane></nav><div class="hd-main-frame main-frame"><script type="module">var e=document.getElementById(`starlight__sidebar`),t=e?.querySelector(`sl-sidebar-state-persist`),n=`sl-sidebar-state`,r=()=>{let r=[],i=t?.dataset.hash||``;try{let e=sessionStorage.getItem(n),t=JSON.parse(e||`{}`);Array.isArray(t.open)&&t.hash===i&&(r=t.open)}catch{}return{hash:i,open:r,scroll:e?.scrollTop||0}},i=e=>{try{sessionStorage.setItem(n,JSON.stringify(e))}catch{}},a=()=>i(r()),o=(e,t)=>{let n=r();n.open[t]=e,i(n)};t?.addEventListener(`click`,e=>{if(!(e.target instanceof Element))return;let t=e.target.closest(`summary`)?.closest(`details`);if(!t)return;let n=t.querySelector(`sl-sidebar-restore`),r=parseInt(n?.dataset.index||``);isNaN(r)||o(!t.open,r)}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&a()});</script><div class="hd-columns hd-columns--toc"><div class="hd-columns__main main-pane"><main data-pagefind-body class="astro-wgg3zgff" lang="fr-CH" dir="ltr"><div class="content-panel astro-5uqqnepj"><div class="sl-container astro-5uqqnepj"><div class="hd-title not-content"><p class="hd-eyebrow" data-pagefind-meta="section">Configuration</p><div class="hd-title__row"><h1 id="_top">docs.json</h1><div class="hd-page-actions" data-hgdc-skip data-pagefind-ignore><div class="hd-split"><button type="button" class="hd-split__main" data-hgdc-copy="/reference/docs-json.md"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M9 9h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V10a1 1 0 0 1 1-1Zm-4 6H4.5A1.5 1.5 0 0 1 3 13.5v-9A1.5 1.5 0 0 1 4.5 3h9A1.5 1.5 0 0 1 15 4.5V5"></path></svg><span data-label>Copier la page</span></button><details class="hd-menu"><summary class="hd-split__more" aria-label="Autres formats de la page"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"></path></svg></summary><ul class="hd-menu__list"><li><button type="button" data-hgdc-copy-item><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M9 9h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V10a1 1 0 0 1 1-1Zm-4 6H4.5A1.5 1.5 0 0 1 3 13.5v-9A1.5 1.5 0 0 1 4.5 3h9A1.5 1.5 0 0 1 15 4.5V5"></path></svg><span><strong>Copier la page</strong><small>En Markdown, pour un LLM</small></span></button></li><li><a href="/reference/docs-json.md"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M4 6h16a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1Zm3 9V9l2.5 3L12 9v6m5-6v6m-2-2 2 2 2-2"></path></svg><span><strong>Voir en Markdown</strong><small>La page en texte brut</small></span></a></li><li><a data-hgdc-open="claude" href="https://claude.ai/new" target="_blank" rel="noopener"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M7 17 17 7M8 7h9v9"></path></svg><span><strong>Ouvrir dans Claude</strong><small>Poser une question sur cette page</small></span></a></li><li><a data-hgdc-open="chatgpt" href="https://chatgpt.com/" target="_blank" rel="noopener"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M7 17 17 7M8 7h9v9"></path></svg><span><strong>Ouvrir dans ChatGPT</strong><small>Poser une question sur cette page</small></span></a></li><li><a href="/llms.txt"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8Zm0 0v5h5M9 13h6m-6 4h4"></path></svg><span><strong>llms.txt</strong><small>L'index de la doc pour les agents</small></span></a></li></ul></details></div><span class="sr-only" role="status" aria-live="polite" data-hgdc-copy-status></span></div></div><p class="hd-lead">Tous les champs du fichier de configuration d&#39;un site Docs.</p></div><script type="module">var e=document.querySelector(`[data-hgdc-copy-status]`),t=document.querySelector(`[data-hgdc-copy]`);async function n(){if(!t)return;let n=t.querySelector(`[data-label]`),r=t=>{n.textContent=t,e&&(e.textContent=t),setTimeout(()=>n.textContent=`Copier la page`,2e3)};try{let e=await fetch(t.dataset.hgdcCopy);if(!e.ok)throw Error(String(e.status));await navigator.clipboard.writeText(await e.text()),r(`Page copiée`)}catch{r(`Copie impossible`)}}if(t?.addEventListener(`click`,()=>void n()),document.querySelector(`[data-hgdc-copy-item]`)?.addEventListener(`click`,()=>{document.querySelector(`.hd-menu`).open=!1,n()}),t){let e=`Lis ${new URL(t.dataset.hgdcCopy,location.href).href} et réponds à mes questions sur cette page.`;for(let t of document.querySelectorAll(`[data-hgdc-open]`))t.href=`${t.dataset.hgdcOpen===`claude`?`https://claude.ai/new`:`https://chatgpt.com/`}?q=${encodeURIComponent(e)}`}for(let e of document.querySelectorAll(`.hd-menu`))document.addEventListener(`click`,t=>{e.open&&!e.contains(t.target)&&(e.open=!1)}),e.addEventListener(`keydown`,t=>{t.key===`Escape`&&e.open&&(t.stopPropagation(),e.open=!1,e.querySelector(`summary`)?.focus())});</script></div></div><div class="content-panel astro-5uqqnepj"><div class="sl-container astro-5uqqnepj"><div class="sl-markdown-content"><p><code>docs.json</code> vit à la racine du dossier de la doc. Il reprend le format de Mintlify : les champs que Docs ne gère pas sont acceptés et ignorés. Pour l’autocomplétion dans ton éditeur, ajoute <code>"$schema": "https://docs.hgdc.ch/docs.schema.json"</code>.</p>
17
+ <h2 id="champs">Champs</h2>
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+ <div class="hd-table"><table><thead><tr><th>Champ</th><th>Type</th><th>Obligatoire</th><th>Rôle</th></tr></thead><tbody><tr><td><code>name</code></td><td>texte</td><td>oui</td><td>Nom de la doc, en tête du site et dans <code>llms.txt</code>. 80 caractères au plus.</td></tr><tr><td><code>description</code></td><td>texte</td><td>non</td><td>Une phrase de présentation.</td></tr><tr><td><code>navigation</code></td><td>objet</td><td>oui</td><td>Pages, groupes, onglets ou versions. Voir <a href="/guides/navigation/">Navigation</a>.</td></tr><tr><td><code>project</code></td><td>texte</td><td>non</td><td>Identifiant du projet dans la console. Active l’assistant et l’indexation.</td></tr><tr><td><code>language</code></td><td><code>fr</code>, <code>en</code>, <code>de</code>, <code>it</code></td><td>non</td><td>Langue de l’interface du site. <code>fr</code> par défaut.</td></tr><tr><td><code>base</code></td><td>texte</td><td>non</td><td>Sous-chemin où la doc est servie, par exemple <code>/docs</code> quand ton application la publie derrière un proxy (<code>https://app.acme.ch/docs</code>). Liens, images, recherche, <code>llms.txt</code> et pages <code>.md</code> le portent ; le site est écrit dans <code>dist/docs/</code>. Écris tes liens depuis la racine de la doc (<code>/guides/publier/</code>) : le sous-chemin est ajouté au build.</td></tr><tr><td><code>colors.primary</code></td><td>couleur <code>#rrggbb</code></td><td>non</td><td>Couleur des liens et des éléments actifs.</td></tr><tr><td><code>colors.dark</code></td><td>couleur <code>#rrggbb</code></td><td>non</td><td>La même, en mode sombre.</td></tr><tr><td><code>logo</code></td><td>chemin, ou <code>{ light, dark }</code></td><td>non</td><td>Logo affiché en tête.</td></tr><tr><td><code>favicon</code></td><td>chemin</td><td>non</td><td>Icône de l’onglet du navigateur.</td></tr><tr><td><code>navbar.links</code></td><td>liste de <code>{ label, href }</code></td><td>non</td><td>Jusqu’à 5 liens dans la barre du haut (adresses complètes).</td></tr><tr><td><code>navbar.primary</code></td><td><code>{ label, href }</code></td><td>non</td><td>Bouton mis en avant à droite de la barre du haut.</td></tr><tr><td><code>footer.socials</code></td><td>objet</td><td>non</td><td>Liens vers tes réseaux : <code>linkedin</code>, <code>github</code>, <code>gitlab</code>, <code>x</code>, <code>youtube</code>, <code>instagram</code>, <code>facebook</code>, <code>discord</code>, <code>mastodon</code>, <code>bluesky</code>, <code>website</code>.</td></tr><tr><td><code>redirects</code></td><td>liste de <code>{ source, destination, permanent }</code></td><td>non</td><td>Anciennes adresses qui mènent aux nouvelles. <code>source</code> est un chemin du site (<code>/guides/ancien</code>), <code>destination</code> un chemin ou une adresse <code>https://</code>. <code>permanent: false</code> pour une redirection temporaire. 500 au plus.</td></tr><tr><td><code>assistant.enabled</code></td><td>oui / non</td><td>non</td><td><code>false</code> cache l’assistant du site.</td></tr><tr><td><code>assistant.endpoint</code></td><td>adresse</td><td>non</td><td>API de l’assistant, à ne changer que pour un environnement de test.</td></tr></tbody></table></div>
126
+ <h2 id="navigation">Navigation</h2>
127
+ <p>Quatre formes, une seule à la fois :</p>
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+ <div class="hd-table"><table><thead><tr><th>Forme</th><th>Exemple</th></tr></thead><tbody><tr><td><code>pages</code></td><td><code>["index", "installation"]</code></td></tr><tr><td><code>groups</code></td><td><code>[{ "group": "Démarrer", "pages": ["index"] }]</code></td></tr><tr><td><code>tabs</code></td><td><code>[{ "tab": "Guides", "groups": [...] }]</code></td></tr><tr><td><code>versions</code></td><td><code>[{ "version": "v2", "default": true, "groups": [...] }]</code></td></tr></tbody></table></div>
154
+ <p>Un groupe accepte <code>expanded: false</code> pour être replié par défaut, et peut contenir des groupes.</p>
155
+ <h2 id="erreurs">Erreurs</h2>
156
+ <p>Un <code>docs.json</code> invalide fait échouer le build avec la liste des problèmes, par exemple :</p>
157
+ <div class="expressive-code"><link rel="stylesheet" href="/_astro/ec.t9qpe.css"><script type="module" src="/_astro/ec.0vx5m.js"></script><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="text"><code><div class="ec-line"><div class="code"><span style="--0:#1f2328;--1:#e6edf3">docs.json invalide :</span></div></div><div class="ec-line"><div class="code"><span style="--0:#1f2328;--1:#e6edf3">- colors.primary : couleur attendue au format #rrggbb</span></div></div><div class="ec-line"><div class="code"><span style="--0:#1f2328;--1:#e6edf3">- navigation : utiliser une seule forme parmi versions, tabs, groups ou pages</span></div></div></code></pre><div class="copy"><div aria-live="polite"></div><button title="Copier dans le presse-papiers" data-copied="Copié !" data-code="docs.json invalide :- colors.primary : couleur attendue au format #rrggbb- navigation : utiliser une seule forme parmi versions, tabs, groups ou pages"><div></div></button></div></figure></div></div><hgdc-feedback class="hgdc-feedback not-content" data-endpoint="https://docs.hgdc.ch/api/v1/feedback" data-project="jn7dj6vzkgs7n2d16kqjtb99yd8gbdw0" data-pagefind-ignore="true"><div data-step="ask"><p class="hgdc-feedback__question">Cette page t'a aidé ?</p><div class="hgdc-feedback__choices"><button type="button" data-helpful="true"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M7 10v11M15 5.9 14 10h5.8a2 2 0 0 1 1.9 2.5l-2.3 7A2 2 0 0 1 17.5 21H4a1 1 0 0 1-1-1v-9a1 1 0 0 1 1-1h2.8a2 2 0 0 0 1.8-1.1L12 2a3.1 3.1 0 0 1 3 3.9Z"></path></svg>Oui</button><button type="button" data-helpful="false"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M17 14V3M9 18.1 10 14H4.2a2 2 0 0 1-1.9-2.5l2.3-7A2 2 0 0 1 6.5 3H20a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1h-2.8a2 2 0 0 0-1.8 1.1L12 22a3.1 3.1 0 0 1-3-3.9Z"></path></svg>Non</button></div></div><form data-step="comment" hidden><label for="hgdc-feedback-comment">Qu'est-ce qui manquait ou pourrait être plus clair ? (facultatif)</label><textarea id="hgdc-feedback-comment" name="comment" rows="3" maxlength="1000"></textarea><div class="hgdc-feedback__choices"><button type="submit">Envoyer</button><button type="button" data-skip>Passer</button></div></form><p data-step="done" class="hgdc-feedback__done" role="status" hidden>Merci, c'est noté.</p></hgdc-feedback><nav class="hd-pagination not-content" aria-label="Pages voisines" data-pagefind-ignore><a class="hd-pagination__link hd-pagination__link--next" href="/reference/cli/" rel="next"><span class="hd-pagination__hint">Suivant<svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="m9 6 6 6-6 6"></path></svg></span><span class="hd-pagination__title">Commande hgdc-docs</span></a></nav><script type="module" src="/_astro/Footer.astro_astro_type_script_index_0_lang.DzCnn3OT.js"></script></div></div></main><form class="hd-askbar" data-askbar data-pagefind-ignore><label class="sr-only" for="hd-askbar-input">Pose une question à l'assistant</label><input id="hd-askbar-input" data-askbar-input type="text" maxlength="1000" placeholder="Pose une question…" autocomplete="off"><kbd class="hd-kbd" data-shortcut aria-hidden="true">Ctrl I</kbd><button type="submit" class="hd-send" aria-label="Envoyer la question"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M12 19V5m-6 6 6-6 6 6"></path></svg></button></form></div><aside class="hd-columns__toc" aria-label="Sur cette page"><div class="hd-toc-scroll"><starlight-toc data-min-h="2" data-max-h="3"><nav aria-labelledby="starlight__on-this-page"><h2 id="starlight__on-this-page">Sur cette page</h2><ul class="astro-cxnrsawo" style="--depth: 0;"><li style="--depth: 0;" class="astro-cxnrsawo"><a href="#_top" style="--depth: 0;" class="astro-cxnrsawo"><span style="--depth: 0;" class="astro-cxnrsawo">Vue d’ensemble</span></a></li><li style="--depth: 0;" class="astro-cxnrsawo"><a href="#champs" style="--depth: 0;" class="astro-cxnrsawo"><span style="--depth: 0;" class="astro-cxnrsawo">Champs</span></a></li><li style="--depth: 0;" class="astro-cxnrsawo"><a href="#navigation" style="--depth: 0;" class="astro-cxnrsawo"><span style="--depth: 0;" class="astro-cxnrsawo">Navigation</span></a></li><li style="--depth: 0;" class="astro-cxnrsawo"><a href="#erreurs" style="--depth: 0;" class="astro-cxnrsawo"><span style="--depth: 0;" class="astro-cxnrsawo">Erreurs</span></a></li></ul></nav></starlight-toc><script type="module">var e=`_top`,t=class extends HTMLElement{_current=this.querySelector(`a[aria-current="true"]`);minH=parseInt(this.dataset.minH||`2`,10);maxH=parseInt(this.dataset.maxH||`3`,10);tocHeadingSelector=`h1#${e},:where(${[...Array.from({length:1+this.maxH-this.minH}).map((e,t)=>`h${this.minH+t}`)].join()})[id]`;set current(e){e!==this._current&&(this._current&&this._current.removeAttribute(`aria-current`),e.setAttribute(`aria-current`,`true`),this._current=e)}onIdle=e=>(window.requestIdleCallback||(e=>setTimeout(e,1)))(e);constructor(){super(),this.onIdle(()=>this.init())}init=()=>{let t=[...this.querySelectorAll(`a`)],n=e=>e.matches(this.tocHeadingSelector),r=t=>{for(;t;){if(t.matches(`.sl-markdown-content, main > *`))return document.getElementById(e);if(n(t))return t;let r=t.querySelector(this.tocHeadingSelector);if(r)return r;let i=t.previousElementSibling;for(;i?.lastElementChild;)i=i.lastElementChild;t=i??t.parentElement}return null},i=e=>{for(let{isIntersecting:n,target:i}of e){if(!n)continue;let e=r(i);if(!e)continue;let a=t.find(t=>t.hash===`#`+encodeURIComponent(e.id));if(a){this.current=a;break}}},a=document.querySelectorAll([`main :where(${this.tocHeadingSelector})`,`main :where(${this.tocHeadingSelector}, .sl-heading-wrapper) ~ *:not(:has(${this.tocHeadingSelector}))`,`main .sl-markdown-content > *:not(:has(${this.tocHeadingSelector}))`,`main > *:not(:has(${this.tocHeadingSelector}))`].join()),o,s=()=>{o||(o=new IntersectionObserver(i,{rootMargin:this.getRootMargin()}),a.forEach(e=>o.observe(e)))};s();let c;window.addEventListener(`resize`,()=>{o&&=(o.disconnect(),void 0),clearTimeout(c),c=setTimeout(()=>this.onIdle(s),200)})};getRootMargin(){let e=(document.querySelector(`header`)?.getBoundingClientRect().height||0)+(this.querySelector(`summary`)?.getBoundingClientRect().height||0)+32;return`-${e}px 0% ${e+53-document.documentElement.clientHeight}px`}};customElements.define(`starlight-toc`,t);</script></div></aside></div><footer class="hd-site-footer" data-pagefind-ignore><div class="hd-site-footer__row"><a class="hd-brand hd-brand--footer" href="/"><span class="hd-brand__mark"><img class="hd-brand__light" src="/images/logo-clair.svg" alt="" width="20" height="20" loading="lazy"><img class="hd-brand__dark" src="/images/logo-sombre.svg" alt="" width="20" height="20" loading="lazy"></span><span class="hd-brand__name">Docs</span></a></div><div class="hd-site-footer__row hd-site-footer__row--meta"><p>Écrire une documentation en MDX, la publier avec Host et y brancher un assistant IA qui cite ses sources.</p><div class="hd-theme-choice" role="radiogroup" aria-label="Thème"><button type="button" role="radio" aria-checked="false" data-hd-theme-choice="auto" aria-label="Système" title="Système"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M4 5h16a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1Zm4 15h8m-4-3v3"></path></svg></button><button type="button" role="radio" aria-checked="false" data-hd-theme-choice="light" aria-label="Clair" title="Clair"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M12 16a4 4 0 1 0 0-8 4 4 0 0 0 0 8ZM12 2.5v2M12 19.5v2M4.6 4.6 6 6M18 18l1.4 1.4M2.5 12h2M19.5 12h2M4.6 19.4 6 18M18 6l1.4-1.4"></path></svg></button><button type="button" role="radio" aria-checked="false" data-hd-theme-choice="dark" aria-label="Sombre" title="Sombre"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M20 14.5A8 8 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5Z"></path></svg></button></div></div></footer></div><hgdc-assistant data-endpoint="https://docs.hgdc.ch/api/v1/ask" data-project="jn7dj6vzkgs7n2d16kqjtb99yd8gbdw0" data-name="Docs"><section class="hgdc-panel" role="dialog" aria-modal="false" aria-labelledby="hgdc-assistant-title" data-panel inert><div class="hgdc-panel__grip" aria-hidden="true"></div><header class="hgdc-panel__header"><h2 id="hgdc-assistant-title"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3.5 13.6 8a3 3 0 0 0 1.9 1.9L20 11.5l-4.5 1.6a3 3 0 0 0-1.9 1.9L12 19.5 10.4 15a3 3 0 0 0-1.9-1.9L4 11.5 8.5 9.9A3 3 0 0 0 10.4 8ZM19 3v3M20.5 4.5h-3"></path></svg>Assistant</h2><div class="hgdc-panel__tools"><button type="button" class="hd-icon-button" data-reset aria-label="Nouvelle conversation" title="Nouvelle conversation" hidden><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M4 12a8 8 0 1 0 2.3-5.7M4 4v4h4"></path></svg></button><button type="button" class="hd-icon-button" data-close aria-label="Fermer l'assistant" title="Fermer (Échap)"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M6 6l12 12M18 6 6 18"></path></svg></button></div></header><div class="hgdc-panel__body" data-log aria-live="polite"><div class="hgdc-empty" data-empty><p class="hgdc-empty__title">Pose ta question sur Docs.</p><p>Je cherche dans les pages de cette documentation et je cite mes sources. Si la réponse n'y est pas, je te le dis.</p></div></div><form class="hgdc-panel__form" data-form><label class="sr-only" for="hgdc-question">Ta question</label><textarea id="hgdc-question" data-input rows="1" maxlength="1000" placeholder="Pose une question…" required></textarea><button type="submit" class="hd-send" data-send aria-label="Envoyer la question"><svg class="hd-icon" aria-hidden="true" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M12 19V5m-6 6 6-6 6 6"></path></svg></button></form><p class="hgdc-panel__note">Réponses générées par IA (Claude, d'Anthropic), à vérifier. Les questions sont conservées 90 jours pour améliorer cette documentation.</p></section></hgdc-assistant><script type="module" src="/_astro/Assistant.astro_astro_type_script_index_0_lang.C1pz7yK1.js"></script></div><script type="module">var e=class extends HTMLElement{connectedCallback(){let e=matchMedia(`(min-width: 50em)`),t=()=>{e.matches&&this.matches(`:popover-open`)&&this.hidePopover(),this.popover=e.matches?null:`auto`};t(),e.addEventListener(`change`,t),this.addEventListener(`toggle`,e=>{let t=e.newState===`open`;for(let e of document.querySelectorAll(`.hd-main-frame, .hd-askbar`))e.toggleAttribute(`inert`,t);document.documentElement.toggleAttribute(`data-hd-menu`,t)}),this.addEventListener(`click`,e=>{e.target.closest(`a`)&&this.matches(`:popover-open`)&&this.hidePopover()})}};customElements.define(`hd-sidebar-pane`,e);</script></body></html>
@@ -0,0 +1,47 @@
1
+ # docs.json
2
+
3
+ `docs.json` vit à la racine du dossier de la doc. Il reprend le format de Mintlify : les champs que Docs ne gère pas sont acceptés et ignorés. Pour l’autocomplétion dans ton éditeur, ajoute `"$schema": "https://docs.hgdc.ch/docs.schema.json"`.
4
+
5
+ ## Champs
6
+
7
+ | Champ | Type | Obligatoire | Rôle |
8
+ | -------------------- | --------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
9
+ | `name` | texte | oui | Nom de la doc, en tête du site et dans `llms.txt`. 80 caractères au plus. |
10
+ | `description` | texte | non | Une phrase de présentation. |
11
+ | `navigation` | objet | oui | Pages, groupes, onglets ou versions. Voir [Navigation](/guides/navigation/). |
12
+ | `project` | texte | non | Identifiant du projet dans la console. Active l’assistant et l’indexation. |
13
+ | `language` | `fr`, `en`, `de`, `it` | non | Langue de l’interface du site. `fr` par défaut. |
14
+ | `base` | texte | non | Sous-chemin où la doc est servie, par exemple `/docs` quand ton application la publie derrière un proxy (`https://app.acme.ch/docs`). Liens, images, recherche, `llms.txt` et pages `.md` le portent ; le site est écrit dans `dist/docs/`. Écris tes liens depuis la racine de la doc (`/guides/publier/`) : le sous-chemin est ajouté au build. |
15
+ | `colors.primary` | couleur `#rrggbb` | non | Couleur des liens et des éléments actifs. |
16
+ | `colors.dark` | couleur `#rrggbb` | non | La même, en mode sombre. |
17
+ | `logo` | chemin, ou `{ light, dark }` | non | Logo affiché en tête. |
18
+ | `favicon` | chemin | non | Icône de l’onglet du navigateur. |
19
+ | `navbar.links` | liste de `{ label, href }` | non | Jusqu’à 5 liens dans la barre du haut (adresses complètes). |
20
+ | `navbar.primary` | `{ label, href }` | non | Bouton mis en avant à droite de la barre du haut. |
21
+ | `footer.socials` | objet | non | Liens vers tes réseaux : `linkedin`, `github`, `gitlab`, `x`, `youtube`, `instagram`, `facebook`, `discord`, `mastodon`, `bluesky`, `website`. |
22
+ | `redirects` | liste de `{ source, destination, permanent }` | non | Anciennes adresses qui mènent aux nouvelles. `source` est un chemin du site (`/guides/ancien`), `destination` un chemin ou une adresse `https://`. `permanent: false` pour une redirection temporaire. 500 au plus. |
23
+ | `assistant.enabled` | oui / non | non | `false` cache l’assistant du site. |
24
+ | `assistant.endpoint` | adresse | non | API de l’assistant, à ne changer que pour un environnement de test. |
25
+
26
+ ## Navigation
27
+
28
+ Quatre formes, une seule à la fois :
29
+
30
+ | Forme | Exemple |
31
+ | ---------- | --------------------------------------------------------- |
32
+ | `pages` | `["index", "installation"]` |
33
+ | `groups` | `[{ "group": "Démarrer", "pages": ["index"] }]` |
34
+ | `tabs` | `[{ "tab": "Guides", "groups": [...] }]` |
35
+ | `versions` | `[{ "version": "v2", "default": true, "groups": [...] }]` |
36
+
37
+ Un groupe accepte `expanded: false` pour être replié par défaut, et peut contenir des groupes.
38
+
39
+ ## Erreurs
40
+
41
+ Un `docs.json` invalide fait échouer le build avec la liste des problèmes, par exemple :
42
+
43
+ ```text
44
+ docs.json invalide :
45
+ - colors.primary : couleur attendue au format #rrggbb
46
+ - navigation : utiliser une seule forme parmi versions, tabs, groups ou pages
47
+ ```