@hgdc/docs 0.4.1 → 0.4.3

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 (184) hide show
  1. package/package.json +1 -1
  2. package/src/integration.ts +8 -1
  3. package/src/overrides/ThemeToggle.astro +6 -6
  4. package/src/styles/theme.css +36 -5
  5. package/template/.astro/content-modules.mjs +15 -35
  6. package/template/.build/.well-known/llms.txt +34 -51
  7. package/template/.build/404.html +4 -4
  8. package/template/.build/_astro/Search.astro_astro_type_script_index_0_lang.VKDD8r2I.js +1 -0
  9. package/template/.build/_astro/common.BoKrWC_6.css +3 -0
  10. package/template/.build/_astro/logo-clair.BqNh6JNi.svg +1 -0
  11. package/template/.build/_astro/logo-sombre.BkgsFXxh.svg +1 -0
  12. package/template/.build/_hgdc/corpus.json +1 -1
  13. package/template/.build/demarrer/premiere-doc/index.html +25 -0
  14. package/template/.build/demarrer/premiere-doc.md +65 -0
  15. package/template/.build/explications/donnees/index.html +55 -0
  16. package/template/.build/explications/donnees.md +28 -0
  17. package/template/.build/explications/fonctionnement/index.html +33 -0
  18. package/template/.build/explications/fonctionnement.md +32 -0
  19. package/template/.build/guides/agents/index.html +59 -0
  20. package/template/.build/guides/agents.md +54 -0
  21. package/template/.build/guides/assistant/index.html +60 -0
  22. package/template/.build/guides/assistant.md +46 -0
  23. package/template/.build/guides/composants/index.html +38 -0
  24. package/template/.build/guides/composants.md +103 -0
  25. package/template/.build/guides/ecrire/index.html +56 -0
  26. package/template/.build/guides/ecrire.md +63 -0
  27. package/template/.build/guides/elements/index.html +1 -0
  28. package/template/.build/guides/navigation/index.html +30 -0
  29. package/template/.build/guides/navigation.md +63 -0
  30. package/template/.build/guides/publier/index.html +27 -0
  31. package/template/.build/guides/publier.md +65 -0
  32. package/template/.build/guides/theme/index.html +27 -0
  33. package/template/.build/guides/theme.md +33 -0
  34. package/template/.build/images/favicon.svg +1 -0
  35. package/template/.build/images/logo-clair.svg +1 -0
  36. package/template/.build/images/logo-sombre.svg +1 -0
  37. package/template/.build/index.html +14 -18
  38. package/template/.build/index.md +21 -59
  39. package/template/.build/llms-full.txt +515 -2331
  40. package/template/.build/llms.txt +34 -51
  41. package/template/.build/pagefind/fragment/fr-ch_1aa5706.pf_fragment +0 -0
  42. package/template/.build/pagefind/fragment/fr-ch_21308c9.pf_fragment +0 -0
  43. package/template/.build/pagefind/fragment/fr-ch_256be83.pf_fragment +0 -0
  44. package/template/.build/pagefind/fragment/fr-ch_3786e05.pf_fragment +0 -0
  45. package/template/.build/pagefind/fragment/fr-ch_3e2d7bf.pf_fragment +0 -0
  46. package/template/.build/pagefind/fragment/fr-ch_53e6d95.pf_fragment +0 -0
  47. package/template/.build/pagefind/fragment/fr-ch_7011e1a.pf_fragment +0 -0
  48. package/template/.build/pagefind/fragment/fr-ch_7252d5b.pf_fragment +0 -0
  49. package/template/.build/pagefind/fragment/fr-ch_8a5f581.pf_fragment +0 -0
  50. package/template/.build/pagefind/fragment/fr-ch_9221692.pf_fragment +0 -0
  51. package/template/.build/pagefind/fragment/fr-ch_a4b68e2.pf_fragment +0 -0
  52. package/template/.build/pagefind/fragment/fr-ch_d4ef5e9.pf_fragment +0 -0
  53. package/template/.build/pagefind/fragment/fr-ch_edaf413.pf_fragment +0 -0
  54. package/template/.build/pagefind/fragment/fr-ch_f017e56.pf_fragment +0 -0
  55. package/template/.build/pagefind/fragment/fr-ch_fe71cc1.pf_fragment +0 -0
  56. package/template/.build/pagefind/index/fr-ch_481c81a.pf_index +0 -0
  57. package/template/.build/pagefind/pagefind-entry.json +1 -1
  58. package/template/.build/pagefind/pagefind.fr-ch_46a632d8eba7e.pf_meta +0 -0
  59. package/template/.build/reference/api-assistant/index.html +102 -0
  60. package/template/.build/reference/api-assistant.md +60 -0
  61. package/template/.build/reference/cli/index.html +11 -153
  62. package/template/.build/reference/cli.md +23 -159
  63. package/template/.build/reference/docs-json/index.html +157 -0
  64. package/template/.build/reference/docs-json.md +47 -0
  65. package/template/.build/reference/mcp/index.html +92 -0
  66. package/template/.build/reference/mcp.md +49 -0
  67. package/template/node_modules/.vite/deps/_metadata.json +8 -8
  68. package/template/.astro/data-store.json +0 -1
  69. package/template/.astro/settings.json +0 -5
  70. package/template/.build/_astro/Search.astro_astro_type_script_index_0_lang.D7EcezBU.js +0 -1
  71. package/template/.build/_astro/common.Dx3aBIS0.css +0 -3
  72. package/template/.build/_astro/logo.BPu921Tp.svg +0 -1
  73. package/template/.build/concepts/confidentialite/index.html +0 -50
  74. package/template/.build/concepts/confidentialite.md +0 -38
  75. package/template/.build/concepts/deploiements/index.html +0 -106
  76. package/template/.build/concepts/deploiements.md +0 -70
  77. package/template/.build/concepts/organisations-et-roles/index.html +0 -83
  78. package/template/.build/concepts/organisations-et-roles.md +0 -39
  79. package/template/.build/concepts/preversion/index.html +0 -49
  80. package/template/.build/concepts/preversion.md +0 -52
  81. package/template/.build/concepts/secrets-et-coffre/index.html +0 -70
  82. package/template/.build/concepts/secrets-et-coffre.md +0 -54
  83. package/template/.build/demarrer/depuis-github/index.html +0 -34
  84. package/template/.build/demarrer/depuis-github.md +0 -68
  85. package/template/.build/demarrer/premier-site/index.html +0 -28
  86. package/template/.build/demarrer/premier-site.md +0 -94
  87. package/template/.build/guides/brancher-un-domaine/index.html +0 -91
  88. package/template/.build/guides/brancher-un-domaine.md +0 -81
  89. package/template/.build/guides/cle-d-api/index.html +0 -62
  90. package/template/.build/guides/cle-d-api.md +0 -78
  91. package/template/.build/guides/depannage/index.html +0 -64
  92. package/template/.build/guides/depannage.md +0 -69
  93. package/template/.build/guides/deployer-depuis-github/index.html +0 -45
  94. package/template/.build/guides/deployer-depuis-github.md +0 -70
  95. package/template/.build/guides/deployer-un-framework/index.html +0 -81
  96. package/template/.build/guides/deployer-un-framework.md +0 -74
  97. package/template/.build/guides/github-actions-sans-application/index.html +0 -53
  98. package/template/.build/guides/github-actions-sans-application.md +0 -95
  99. package/template/.build/guides/inviter-une-personne/index.html +0 -28
  100. package/template/.build/guides/inviter-une-personne.md +0 -38
  101. package/template/.build/guides/lire-les-logs/index.html +0 -37
  102. package/template/.build/guides/lire-les-logs.md +0 -48
  103. package/template/.build/guides/migrer-depuis-vercel/index.html +0 -25
  104. package/template/.build/guides/migrer-depuis-vercel.md +0 -51
  105. package/template/.build/guides/monorepo/index.html +0 -40
  106. package/template/.build/guides/monorepo.md +0 -42
  107. package/template/.build/guides/revenir-en-arriere/index.html +0 -39
  108. package/template/.build/guides/revenir-en-arriere.md +0 -50
  109. package/template/.build/guides/site-statique/index.html +0 -41
  110. package/template/.build/guides/site-statique.md +0 -59
  111. package/template/.build/guides/synchroniser-doppler/index.html +0 -46
  112. package/template/.build/guides/synchroniser-doppler.md +0 -63
  113. package/template/.build/guides/variables-d-environnement/index.html +0 -73
  114. package/template/.build/guides/variables-d-environnement.md +0 -92
  115. package/template/.build/images/famille/account.svg +0 -1
  116. package/template/.build/images/famille/analytics.svg +0 -1
  117. package/template/.build/images/famille/docs.svg +0 -1
  118. package/template/.build/images/famille/host.svg +0 -1
  119. package/template/.build/images/famille/mail.svg +0 -1
  120. package/template/.build/images/famille/portal.svg +0 -1
  121. package/template/.build/images/famille/status.svg +0 -1
  122. package/template/.build/images/logo.svg +0 -1
  123. package/template/.build/pagefind/fragment/fr-ch_16987e2.pf_fragment +0 -0
  124. package/template/.build/pagefind/fragment/fr-ch_2b4c97b.pf_fragment +0 -0
  125. package/template/.build/pagefind/fragment/fr-ch_3294a5c.pf_fragment +0 -0
  126. package/template/.build/pagefind/fragment/fr-ch_34858c9.pf_fragment +0 -0
  127. package/template/.build/pagefind/fragment/fr-ch_39ddba1.pf_fragment +0 -0
  128. package/template/.build/pagefind/fragment/fr-ch_4ab1899.pf_fragment +0 -0
  129. package/template/.build/pagefind/fragment/fr-ch_4d3a52a.pf_fragment +0 -0
  130. package/template/.build/pagefind/fragment/fr-ch_506c187.pf_fragment +0 -0
  131. package/template/.build/pagefind/fragment/fr-ch_5aa255a.pf_fragment +0 -0
  132. package/template/.build/pagefind/fragment/fr-ch_6841c7d.pf_fragment +0 -0
  133. package/template/.build/pagefind/fragment/fr-ch_6dc7a2d.pf_fragment +0 -0
  134. package/template/.build/pagefind/fragment/fr-ch_847edff.pf_fragment +0 -0
  135. package/template/.build/pagefind/fragment/fr-ch_8745af7.pf_fragment +0 -0
  136. package/template/.build/pagefind/fragment/fr-ch_8aac5e6.pf_fragment +0 -0
  137. package/template/.build/pagefind/fragment/fr-ch_916b233.pf_fragment +0 -0
  138. package/template/.build/pagefind/fragment/fr-ch_9fd014a.pf_fragment +0 -0
  139. package/template/.build/pagefind/fragment/fr-ch_a0808f8.pf_fragment +0 -0
  140. package/template/.build/pagefind/fragment/fr-ch_a4e1f69.pf_fragment +0 -0
  141. package/template/.build/pagefind/fragment/fr-ch_a80a53d.pf_fragment +0 -0
  142. package/template/.build/pagefind/fragment/fr-ch_a9e725b.pf_fragment +0 -0
  143. package/template/.build/pagefind/fragment/fr-ch_ac3f64c.pf_fragment +0 -0
  144. package/template/.build/pagefind/fragment/fr-ch_af292f1.pf_fragment +0 -0
  145. package/template/.build/pagefind/fragment/fr-ch_af3e716.pf_fragment +0 -0
  146. package/template/.build/pagefind/fragment/fr-ch_b0689a4.pf_fragment +0 -0
  147. package/template/.build/pagefind/fragment/fr-ch_baed996.pf_fragment +0 -0
  148. package/template/.build/pagefind/fragment/fr-ch_c89e27a.pf_fragment +0 -0
  149. package/template/.build/pagefind/fragment/fr-ch_cd6ca13.pf_fragment +0 -0
  150. package/template/.build/pagefind/fragment/fr-ch_d09af09.pf_fragment +0 -0
  151. package/template/.build/pagefind/fragment/fr-ch_d4bcea8.pf_fragment +0 -0
  152. package/template/.build/pagefind/fragment/fr-ch_dc2a134.pf_fragment +0 -0
  153. package/template/.build/pagefind/fragment/fr-ch_ded7ddc.pf_fragment +0 -0
  154. package/template/.build/pagefind/fragment/fr-ch_e2528cb.pf_fragment +0 -0
  155. package/template/.build/pagefind/fragment/fr-ch_e3cbb4e.pf_fragment +0 -0
  156. package/template/.build/pagefind/fragment/fr-ch_e7902d9.pf_fragment +0 -0
  157. package/template/.build/pagefind/fragment/fr-ch_f48ca47.pf_fragment +0 -0
  158. package/template/.build/pagefind/index/fr-ch_8a5f905.pf_index +0 -0
  159. package/template/.build/pagefind/index/fr-ch_fbd9c96.pf_index +0 -0
  160. package/template/.build/pagefind/pagefind.fr-ch_211aacbfa7f0e.pf_meta +0 -0
  161. package/template/.build/reference/api/deploiements/index.html +0 -326
  162. package/template/.build/reference/api/deploiements.md +0 -170
  163. package/template/.build/reference/api/erreurs/index.html +0 -102
  164. package/template/.build/reference/api/erreurs.md +0 -50
  165. package/template/.build/reference/api/fichiers/index.html +0 -82
  166. package/template/.build/reference/api/fichiers.md +0 -62
  167. package/template/.build/reference/api/introduction/index.html +0 -126
  168. package/template/.build/reference/api/introduction.md +0 -84
  169. package/template/.build/reference/api/projets/index.html +0 -184
  170. package/template/.build/reference/api/projets.md +0 -102
  171. package/template/.build/reference/api/utilisateur/index.html +0 -96
  172. package/template/.build/reference/api/utilisateur.md +0 -89
  173. package/template/.build/reference/api/variables/index.html +0 -75
  174. package/template/.build/reference/api/variables.md +0 -58
  175. package/template/.build/reference/compatibilite/index.html +0 -196
  176. package/template/.build/reference/compatibilite.md +0 -64
  177. package/template/.build/reference/domaines/index.html +0 -171
  178. package/template/.build/reference/domaines.md +0 -76
  179. package/template/.build/reference/limites/index.html +0 -159
  180. package/template/.build/reference/limites.md +0 -56
  181. package/template/.build/reference/variables/index.html +0 -164
  182. package/template/.build/reference/variables.md +0 -63
  183. package/template/.build/reference/vercel-json/index.html +0 -65
  184. package/template/.build/reference/vercel-json.md +0 -51
@@ -0,0 +1,30 @@
1
+ <!DOCTYPE html><html lang="fr-CH" dir="ltr" data-theme="dark" data-has-toc data-has-sidebar class="astro-mgylisfi"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/><title>Navigation, onglets et versions | 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="Navigation, onglets et versions"/><meta property="og:type" content="article"/><meta property="og:locale" content="fr-CH"/><meta property="og:description" content="Organiser les pages en groupes, en onglets et en versions dans docs.json."/><meta property="og:site_name" content="Docs"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="Organiser les pages en groupes, en onglets et en versions dans docs.json."/><link rel="alternate" type="text/markdown" href="/guides/navigation.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.BoKrWC_6.css"><style>@layer starlight.components{svg:where(.astro-kvkgfy7v){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-opkipegj){display:block}.tablist-wrapper:where(.astro-opkipegj){overflow-x:auto}:where(.astro-opkipegj)[role=tablist]{border-bottom:2px solid var(--sl-color-gray-5);padding:0;list-style:none;display:flex}.tab:where(.astro-opkipegj){display:flex}.tab:where(.astro-opkipegj)>:where(.astro-opkipegj)[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-opkipegj) :where(.astro-opkipegj)[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-opkipegj)~[role=tabpanel]{margin-top:1rem}}
16
+ </style><script type="module" src="/_astro/page.cNngjUgL.js"></script></head><body class="astro-mgylisfi"><a class="sl-skip-link astro-hlhzrz26" 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="/" aria-current="page">Guides</a><a href="/reference/docs-json/">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="/" aria-current="page">Guides</a><a href="/reference/docs-json/">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">Démarrer</p><ul class="hd-nav hd-nav--depth-1"><li><a href="/" class="hd-nav__link"><span>Bienvenue</span></a></li><li><a href="/demarrer/premiere-doc/" class="hd-nav__link"><span>Ta première doc</span></a></li><li><a href="/guides/publier/" class="hd-nav__link"><span>Publier</span></a></li></ul></li><li class="hd-nav__group"><p class="hd-nav__heading">Écrire</p><ul class="hd-nav hd-nav--depth-1"><li><a href="/guides/ecrire/" class="hd-nav__link"><span>Écrire en MDX</span></a></li><li><a href="/guides/composants/" class="hd-nav__link"><span>Composants</span></a></li><li><a href="/guides/navigation/" class="hd-nav__link" aria-current="page"><span>Navigation</span></a></li><li><a href="/guides/theme/" class="hd-nav__link"><span>Thème et logo</span></a></li></ul></li><li class="hd-nav__group"><p class="hd-nav__heading">Assistant et agents</p><ul class="hd-nav hd-nav--depth-1"><li><a href="/guides/assistant/" class="hd-nav__link"><span>Assistant</span></a></li><li><a href="/guides/agents/" class="hd-nav__link"><span>Pour les agents</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-mgylisfi" lang="fr-CH" dir="ltr"><div class="content-panel astro-lavu2imw"><div class="sl-container astro-lavu2imw"><div class="hd-title not-content"><p class="hd-eyebrow" data-pagefind-meta="section">Écrire</p><div class="hd-title__row"><h1 id="_top">Navigation, onglets et versions</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="/guides/navigation.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="/guides/navigation.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">Organiser les pages en groupes, en onglets et en versions dans docs.json.</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-lavu2imw"><div class="sl-container astro-lavu2imw"><div class="sl-markdown-content"><p>La navigation se décrit dans <code>docs.json</code>, sous <code>navigation</code>. Choisis <strong>une</strong> forme : <code>pages</code>, <code>groups</code>, <code>tabs</code> ou <code>versions</code>.</p>
17
+ <h2 id="pages-et-groupes">Pages et groupes</h2>
18
+ <p>Pour une petite doc, une liste de groupes suffit. Un groupe peut contenir d’autres groupes.</p>
19
+ <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="json"><code><div class="ec-line"><div class="code"><span style="--0:#1F2328;--1:#E6EDF3">{</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#116329;--1:#7EE787">"navigation"</span><span style="--0:#1F2328;--1:#E6EDF3">: {</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#116329;--1:#7EE787">"groups"</span><span style="--0:#1F2328;--1:#E6EDF3">: [</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#1F2328;--1:#E6EDF3"> </span></span><span style="--0:#1F2328;--1:#E6EDF3">{ </span><span style="--0:#116329;--1:#7EE787">"group"</span><span style="--0:#1F2328;--1:#E6EDF3">: </span><span style="--0:#0A3069;--1:#A5D6FF">"Démarrer"</span><span style="--0:#1F2328;--1:#E6EDF3">, </span><span style="--0:#116329;--1:#7EE787">"pages"</span><span style="--0:#1F2328;--1:#E6EDF3">: [</span><span style="--0:#0A3069;--1:#A5D6FF">"index"</span><span style="--0:#1F2328;--1:#E6EDF3">, </span><span style="--0:#0A3069;--1:#A5D6FF">"installation"</span><span style="--0:#1F2328;--1:#E6EDF3">] },</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#1F2328;--1:#E6EDF3"> </span></span><span style="--0:#1F2328;--1:#E6EDF3">{</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#116329;--1:#7EE787">"group"</span><span style="--0:#1F2328;--1:#E6EDF3">: </span><span style="--0:#0A3069;--1:#A5D6FF">"Guides"</span><span style="--0:#1F2328;--1:#E6EDF3">,</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#116329;--1:#7EE787">"pages"</span><span style="--0:#1F2328;--1:#E6EDF3">: [</span><span style="--0:#0A3069;--1:#A5D6FF">"guides/facturer"</span><span style="--0:#1F2328;--1:#E6EDF3">, { </span><span style="--0:#116329;--1:#7EE787">"group"</span><span style="--0:#1F2328;--1:#E6EDF3">: </span><span style="--0:#0A3069;--1:#A5D6FF">"Avancé"</span><span style="--0:#1F2328;--1:#E6EDF3">, </span><span style="--0:#116329;--1:#7EE787">"expanded"</span><span style="--0:#1F2328;--1:#E6EDF3">: </span><span style="--0:#0550AE;--1:#79C0FF">false</span><span style="--0:#1F2328;--1:#E6EDF3">, </span><span style="--0:#116329;--1:#7EE787">"pages"</span><span style="--0:#1F2328;--1:#E6EDF3">: [</span><span style="--0:#0A3069;--1:#A5D6FF">"guides/webhooks"</span><span style="--0:#1F2328;--1:#E6EDF3">] }]</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#1F2328;--1:#E6EDF3"> </span></span><span style="--0:#1F2328;--1:#E6EDF3">}</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#1F2328;--1:#E6EDF3"> </span></span><span style="--0:#1F2328;--1:#E6EDF3">]</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#1F2328;--1:#E6EDF3"> </span></span><span style="--0:#1F2328;--1:#E6EDF3">}</span></div></div><div class="ec-line"><div class="code"><span style="--0:#1F2328;--1:#E6EDF3">}</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="{ &#x22;navigation&#x22;: { &#x22;groups&#x22;: [ { &#x22;group&#x22;: &#x22;Démarrer&#x22;, &#x22;pages&#x22;: [&#x22;index&#x22;, &#x22;installation&#x22;] }, { &#x22;group&#x22;: &#x22;Guides&#x22;, &#x22;pages&#x22;: [&#x22;guides/facturer&#x22;, { &#x22;group&#x22;: &#x22;Avancé&#x22;, &#x22;expanded&#x22;: false, &#x22;pages&#x22;: [&#x22;guides/webhooks&#x22;] }] } ] }}"><div></div></button></div></figure></div>
20
+ <p>Une page s’écrit sans extension ni <code>/</code> au début : <code>guides/facturer</code> pour <code>guides/facturer.mdx</code>. Une page citée mais absente fait échouer le build, avec la liste de ce qui manque.</p>
21
+ <h2 id="onglets">Onglets</h2>
22
+ <p>Au-delà d’une vingtaine de pages, sépare les grandes parties en onglets : guides, référence, explications. Les onglets s’affichent en haut de la barre latérale ; chacun a ses propres groupes.</p>
23
+ <div class="expressive-code"><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="json"><code><div class="ec-line"><div class="code"><span style="--0:#1F2328;--1:#E6EDF3">{</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#116329;--1:#7EE787">"navigation"</span><span style="--0:#1F2328;--1:#E6EDF3">: {</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#116329;--1:#7EE787">"tabs"</span><span style="--0:#1F2328;--1:#E6EDF3">: [</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#1F2328;--1:#E6EDF3"> </span></span><span style="--0:#1F2328;--1:#E6EDF3">{ </span><span style="--0:#116329;--1:#7EE787">"tab"</span><span style="--0:#1F2328;--1:#E6EDF3">: </span><span style="--0:#0A3069;--1:#A5D6FF">"Guides"</span><span style="--0:#1F2328;--1:#E6EDF3">, </span><span style="--0:#116329;--1:#7EE787">"groups"</span><span style="--0:#1F2328;--1:#E6EDF3">: [{ </span><span style="--0:#116329;--1:#7EE787">"group"</span><span style="--0:#1F2328;--1:#E6EDF3">: </span><span style="--0:#0A3069;--1:#A5D6FF">"Démarrer"</span><span style="--0:#1F2328;--1:#E6EDF3">, </span><span style="--0:#116329;--1:#7EE787">"pages"</span><span style="--0:#1F2328;--1:#E6EDF3">: [</span><span style="--0:#0A3069;--1:#A5D6FF">"index"</span><span style="--0:#1F2328;--1:#E6EDF3">] }] },</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#1F2328;--1:#E6EDF3"> </span></span><span style="--0:#1F2328;--1:#E6EDF3">{ </span><span style="--0:#116329;--1:#7EE787">"tab"</span><span style="--0:#1F2328;--1:#E6EDF3">: </span><span style="--0:#0A3069;--1:#A5D6FF">"Référence"</span><span style="--0:#1F2328;--1:#E6EDF3">, </span><span style="--0:#116329;--1:#7EE787">"groups"</span><span style="--0:#1F2328;--1:#E6EDF3">: [{ </span><span style="--0:#116329;--1:#7EE787">"group"</span><span style="--0:#1F2328;--1:#E6EDF3">: </span><span style="--0:#0A3069;--1:#A5D6FF">"API"</span><span style="--0:#1F2328;--1:#E6EDF3">, </span><span style="--0:#116329;--1:#7EE787">"pages"</span><span style="--0:#1F2328;--1:#E6EDF3">: [</span><span style="--0:#0A3069;--1:#A5D6FF">"reference/api"</span><span style="--0:#1F2328;--1:#E6EDF3">] }] }</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#1F2328;--1:#E6EDF3"> </span></span><span style="--0:#1F2328;--1:#E6EDF3">]</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#1F2328;--1:#E6EDF3"> </span></span><span style="--0:#1F2328;--1:#E6EDF3">}</span></div></div><div class="ec-line"><div class="code"><span style="--0:#1F2328;--1:#E6EDF3">}</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="{ &#x22;navigation&#x22;: { &#x22;tabs&#x22;: [ { &#x22;tab&#x22;: &#x22;Guides&#x22;, &#x22;groups&#x22;: [{ &#x22;group&#x22;: &#x22;Démarrer&#x22;, &#x22;pages&#x22;: [&#x22;index&#x22;] }] }, { &#x22;tab&#x22;: &#x22;Référence&#x22;, &#x22;groups&#x22;: [{ &#x22;group&#x22;: &#x22;API&#x22;, &#x22;pages&#x22;: [&#x22;reference/api&#x22;] }] } ] }}"><div></div></button></div></figure></div>
24
+ <aside class="hd-callout" data-tone="tip" aria-label="Astuce"><svg class="hd-icon hd-callout__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 18h6m-5 3h4M12 3a6 6 0 0 0-3.6 10.8c.5.4.6.8.6 1.2v.5h6V15c0-.4.2-.8.6-1.2A6 6 0 0 0 12 3Z"></path></svg><div class="hd-callout__body"><p>Cette doc suit le découpage Diataxis : des guides pour faire, une référence pour vérifier, des explications pour comprendre.</p></div></aside>
25
+ <h2 id="versions">Versions</h2>
26
+ <p>Quand ton produit garde plusieurs versions en service, chacune peut avoir sa doc. Le visiteur passe de l’une à l’autre avec un menu en haut de la barre latérale.</p>
27
+ <div class="expressive-code"><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="json"><code><div class="ec-line"><div class="code"><span style="--0:#1F2328;--1:#E6EDF3">{</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#116329;--1:#7EE787">"navigation"</span><span style="--0:#1F2328;--1:#E6EDF3">: {</span></div></div><div class="ec-line"><div class="code"><span class="indent"> </span><span style="--0:#116329;--1:#7EE787">"versions"</span><span style="--0:#1F2328;--1:#E6EDF3">: [</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#1F2328;--1:#E6EDF3"> </span></span><span style="--0:#1F2328;--1:#E6EDF3">{ </span><span style="--0:#116329;--1:#7EE787">"version"</span><span style="--0:#1F2328;--1:#E6EDF3">: </span><span style="--0:#0A3069;--1:#A5D6FF">"v2"</span><span style="--0:#1F2328;--1:#E6EDF3">, </span><span style="--0:#116329;--1:#7EE787">"default"</span><span style="--0:#1F2328;--1:#E6EDF3">: </span><span style="--0:#0550AE;--1:#79C0FF">true</span><span style="--0:#1F2328;--1:#E6EDF3">, </span><span style="--0:#116329;--1:#7EE787">"groups"</span><span style="--0:#1F2328;--1:#E6EDF3">: [{ </span><span style="--0:#116329;--1:#7EE787">"group"</span><span style="--0:#1F2328;--1:#E6EDF3">: </span><span style="--0:#0A3069;--1:#A5D6FF">"Démarrer"</span><span style="--0:#1F2328;--1:#E6EDF3">, </span><span style="--0:#116329;--1:#7EE787">"pages"</span><span style="--0:#1F2328;--1:#E6EDF3">: [</span><span style="--0:#0A3069;--1:#A5D6FF">"index"</span><span style="--0:#1F2328;--1:#E6EDF3">] }] },</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#1F2328;--1:#E6EDF3"> </span></span><span style="--0:#1F2328;--1:#E6EDF3">{ </span><span style="--0:#116329;--1:#7EE787">"version"</span><span style="--0:#1F2328;--1:#E6EDF3">: </span><span style="--0:#0A3069;--1:#A5D6FF">"v1"</span><span style="--0:#1F2328;--1:#E6EDF3">, </span><span style="--0:#116329;--1:#7EE787">"groups"</span><span style="--0:#1F2328;--1:#E6EDF3">: [{ </span><span style="--0:#116329;--1:#7EE787">"group"</span><span style="--0:#1F2328;--1:#E6EDF3">: </span><span style="--0:#0A3069;--1:#A5D6FF">"Démarrer"</span><span style="--0:#1F2328;--1:#E6EDF3">, </span><span style="--0:#116329;--1:#7EE787">"pages"</span><span style="--0:#1F2328;--1:#E6EDF3">: [</span><span style="--0:#0A3069;--1:#A5D6FF">"v1/index"</span><span style="--0:#1F2328;--1:#E6EDF3">] }] }</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#1F2328;--1:#E6EDF3"> </span></span><span style="--0:#1F2328;--1:#E6EDF3">]</span></div></div><div class="ec-line"><div class="code"><span class="indent"><span style="--0:#1F2328;--1:#E6EDF3"> </span></span><span style="--0:#1F2328;--1:#E6EDF3">}</span></div></div><div class="ec-line"><div class="code"><span style="--0:#1F2328;--1:#E6EDF3">}</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="{ &#x22;navigation&#x22;: { &#x22;versions&#x22;: [ { &#x22;version&#x22;: &#x22;v2&#x22;, &#x22;default&#x22;: true, &#x22;groups&#x22;: [{ &#x22;group&#x22;: &#x22;Démarrer&#x22;, &#x22;pages&#x22;: [&#x22;index&#x22;] }] }, { &#x22;version&#x22;: &#x22;v1&#x22;, &#x22;groups&#x22;: [{ &#x22;group&#x22;: &#x22;Démarrer&#x22;, &#x22;pages&#x22;: [&#x22;v1/index&#x22;] }] } ] }}"><div></div></button></div></figure></div>
28
+ <p>La version par défaut est celle que lisent l’assistant en priorité et l’index <code>llms.txt</code>. Les autres y figurent dans une section « Optional ».</p>
29
+ <h2 id="précédent-et-suivant">Précédent et suivant</h2>
30
+ <p>En bas de chaque page, les liens Précédent et Suivant suivent l’ordre de la navigation, sans sortir de l’onglet ouvert.</p></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" href="/guides/composants/" rel="prev"><span class="hd-pagination__hint"><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="m15 6-6 6 6 6"></path></svg>Précédent</span><span class="hd-pagination__title">Composants</span></a><a class="hd-pagination__link hd-pagination__link--next" href="/guides/theme/" 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">Thème et logo</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-vqenwucp" style="--depth: 0;"><li style="--depth: 0;" class="astro-vqenwucp"><a href="#_top" style="--depth: 0;" class="astro-vqenwucp"><span style="--depth: 0;" class="astro-vqenwucp">Vue d’ensemble</span></a></li><li style="--depth: 0;" class="astro-vqenwucp"><a href="#pages-et-groupes" style="--depth: 0;" class="astro-vqenwucp"><span style="--depth: 0;" class="astro-vqenwucp">Pages et groupes</span></a></li><li style="--depth: 0;" class="astro-vqenwucp"><a href="#onglets" style="--depth: 0;" class="astro-vqenwucp"><span style="--depth: 0;" class="astro-vqenwucp">Onglets</span></a></li><li style="--depth: 0;" class="astro-vqenwucp"><a href="#versions" style="--depth: 0;" class="astro-vqenwucp"><span style="--depth: 0;" class="astro-vqenwucp">Versions</span></a></li><li style="--depth: 0;" class="astro-vqenwucp"><a href="#précédent-et-suivant" style="--depth: 0;" class="astro-vqenwucp"><span style="--depth: 0;" class="astro-vqenwucp">Précédent et suivant</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,63 @@
1
+ # Navigation, onglets et versions
2
+
3
+ La navigation se décrit dans `docs.json`, sous `navigation`. Choisis **une** forme : `pages`, `groups`, `tabs` ou `versions`.
4
+
5
+ ## Pages et groupes
6
+
7
+ Pour une petite doc, une liste de groupes suffit. Un groupe peut contenir d’autres groupes.
8
+
9
+ ```json
10
+ {
11
+ "navigation": {
12
+ "groups": [
13
+ { "group": "Démarrer", "pages": ["index", "installation"] },
14
+ {
15
+ "group": "Guides",
16
+ "pages": ["guides/facturer", { "group": "Avancé", "expanded": false, "pages": ["guides/webhooks"] }]
17
+ }
18
+ ]
19
+ }
20
+ }
21
+ ```
22
+
23
+ Une page s’écrit sans extension ni `/` au début : `guides/facturer` pour `guides/facturer.mdx`. Une page citée mais absente fait échouer le build, avec la liste de ce qui manque.
24
+
25
+ ## Onglets
26
+
27
+ Au-delà d’une vingtaine de pages, sépare les grandes parties en onglets : guides, référence, explications. Les onglets s’affichent en haut de la barre latérale ; chacun a ses propres groupes.
28
+
29
+ ```json
30
+ {
31
+ "navigation": {
32
+ "tabs": [
33
+ { "tab": "Guides", "groups": [{ "group": "Démarrer", "pages": ["index"] }] },
34
+ { "tab": "Référence", "groups": [{ "group": "API", "pages": ["reference/api"] }] }
35
+ ]
36
+ }
37
+ }
38
+ ```
39
+
40
+ > **Astuce**
41
+ >
42
+ > Cette doc suit le découpage Diataxis : des guides pour faire, une référence pour vérifier, des explications pour comprendre.
43
+
44
+ ## Versions
45
+
46
+ Quand ton produit garde plusieurs versions en service, chacune peut avoir sa doc. Le visiteur passe de l’une à l’autre avec un menu en haut de la barre latérale.
47
+
48
+ ```json
49
+ {
50
+ "navigation": {
51
+ "versions": [
52
+ { "version": "v2", "default": true, "groups": [{ "group": "Démarrer", "pages": ["index"] }] },
53
+ { "version": "v1", "groups": [{ "group": "Démarrer", "pages": ["v1/index"] }] }
54
+ ]
55
+ }
56
+ }
57
+ ```
58
+
59
+ La version par défaut est celle que lisent l’assistant en priorité et l’index `llms.txt`. Les autres y figurent dans une section « Optional ».
60
+
61
+ ## Précédent et suivant
62
+
63
+ En bas de chaque page, les liens Précédent et Suivant suivent l’ordre de la navigation, sans sortir de l’onglet ouvert.
@@ -0,0 +1,27 @@
1
+ <!DOCTYPE html><html lang="fr-CH" dir="ltr" data-theme="dark" data-has-toc data-has-sidebar class="astro-mgylisfi"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/><title>Publier avec Host | 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="Publier avec Host"/><meta property="og:type" content="article"/><meta property="og:locale" content="fr-CH"/><meta property="og:description" content="Mettre la doc en ligne avec Host, activer Docs en un clic et brancher l'assistant."/><meta property="og:site_name" content="Docs"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="Mettre la doc en ligne avec Host, activer Docs en un clic et brancher l'assistant."/><link rel="alternate" type="text/markdown" href="/guides/publier.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.BoKrWC_6.css"><style>@layer starlight.components{svg:where(.astro-kvkgfy7v){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-opkipegj){display:block}.tablist-wrapper:where(.astro-opkipegj){overflow-x:auto}:where(.astro-opkipegj)[role=tablist]{border-bottom:2px solid var(--sl-color-gray-5);padding:0;list-style:none;display:flex}.tab:where(.astro-opkipegj){display:flex}.tab:where(.astro-opkipegj)>:where(.astro-opkipegj)[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-opkipegj) :where(.astro-opkipegj)[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-opkipegj)~[role=tabpanel]{margin-top:1rem}}
16
+ </style><script type="module" src="/_astro/page.cNngjUgL.js"></script></head><body class="astro-mgylisfi"><a class="sl-skip-link astro-hlhzrz26" 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="/" aria-current="page">Guides</a><a href="/reference/docs-json/">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="/" aria-current="page">Guides</a><a href="/reference/docs-json/">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">Démarrer</p><ul class="hd-nav hd-nav--depth-1"><li><a href="/" class="hd-nav__link"><span>Bienvenue</span></a></li><li><a href="/demarrer/premiere-doc/" class="hd-nav__link"><span>Ta première doc</span></a></li><li><a href="/guides/publier/" class="hd-nav__link" aria-current="page"><span>Publier</span></a></li></ul></li><li class="hd-nav__group"><p class="hd-nav__heading">Écrire</p><ul class="hd-nav hd-nav--depth-1"><li><a href="/guides/ecrire/" class="hd-nav__link"><span>Écrire en MDX</span></a></li><li><a href="/guides/composants/" class="hd-nav__link"><span>Composants</span></a></li><li><a href="/guides/navigation/" class="hd-nav__link"><span>Navigation</span></a></li><li><a href="/guides/theme/" class="hd-nav__link"><span>Thème et logo</span></a></li></ul></li><li class="hd-nav__group"><p class="hd-nav__heading">Assistant et agents</p><ul class="hd-nav hd-nav--depth-1"><li><a href="/guides/assistant/" class="hd-nav__link"><span>Assistant</span></a></li><li><a href="/guides/agents/" class="hd-nav__link"><span>Pour les agents</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-mgylisfi" lang="fr-CH" dir="ltr"><div class="content-panel astro-lavu2imw"><div class="sl-container astro-lavu2imw"><div class="hd-title not-content"><p class="hd-eyebrow" data-pagefind-meta="section">Démarrer</p><div class="hd-title__row"><h1 id="_top">Publier avec Host</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="/guides/publier.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="/guides/publier.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">Mettre la doc en ligne avec Host, activer Docs en un clic et brancher l&#39;assistant.</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-lavu2imw"><div class="sl-container astro-lavu2imw"><div class="sl-markdown-content"><p>Host construit ton site à chaque push et le sert depuis son serveur. La console <code>docs.hgdc.ch</code> relit ensuite le site publié pour indexer l’assistant.</p>
17
+ <h2 id="mettre-la-doc-en-ligne">Mettre la doc en ligne</h2>
18
+ <ol class="hgdc-steps"><li class="hgdc-step"><p class="hgdc-step__title">Importer le dépôt</p><div class="hgdc-step__body"><p>Dans Host, crée un projet à partir de ton dépôt GitHub. Host reconnaît une doc Docs (un <code>docs.json</code> et le paquet <code>@hgdc/docs</code> dans <code>package.json</code>) : il la construit avec <code>hgdc-docs build</code> et publie le dossier <code>dist/</code>. Aucun fichier de configuration à ajouter.</p></div></li><li class="hgdc-step"><p class="hgdc-step__title">Fusionner la pull request de Host</p><div class="hgdc-step__body"><p>Host propose une pull request qui ajoute son workflow de déploiement. Fusionne-la : la doc part en production.</p></div></li><li class="hgdc-step"><p class="hgdc-step__title">Pousser</p><div class="hgdc-step__body"><p>Chaque push sur la branche principale publie le site en production. Les autres branches ont leur préversion.</p></div></li></ol>
19
+ <h2 id="activer-docs">Activer Docs</h2>
20
+ <ol class="hgdc-steps"><li class="hgdc-step"><p class="hgdc-step__title">Cliquer sur « Activer Docs »</p><div class="hgdc-step__body"><p>Sur la vue d’ensemble du projet dans Host, la carte <strong>Assistant et recherche avec Docs</strong> propose <strong>Activer Docs</strong>. Host crée le projet dans la console, dans la même organisation. Il faut être admin de l’organisation, et la doc doit déjà être en production.</p></div></li><li class="hgdc-step"><p class="hgdc-step__title">Publier une fois de plus</p><div class="hgdc-step__body"><p>Pousse une modification. Ce build reçoit l’identifiant du projet de la console : le site le porte sans que tu le recopies dans <code>docs.json</code>.</p></div></li><li class="hgdc-step"><p class="hgdc-step__title">Laisser faire</p><div class="hgdc-step__body"><p>À chaque mise en production, Host prévient la console, qui relit <code>/_hgdc/corpus.json</code> et indexe les pages en quelques secondes. La carte de Host affiche <strong>Docs est activé</strong> et mène à la console. En plus, la console relit le site tous les quarts d’heure : un appel perdu se rattrape seul.</p></div></li></ol>
21
+ <aside class="hd-callout" data-tone="note" aria-label="Note"><svg class="hd-icon hd-callout__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 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Zm0-5v-4.5m0-3.5h.01"></path></svg><div class="hd-callout__body"><p>Le projet apparaît dans la console dès que tu t’y connectes avec ton compte HGDC. Ses réglages (domaines, assistant) s’y changent comme pour n’importe quel projet.</p></div></aside>
22
+ <h2 id="ton-domaine">Ton domaine</h2>
23
+ <p>Le domaine se branche dans Host, comme pour n’importe quel site : Host annonce la nouvelle adresse à la console à la mise en production suivante. Si la doc répond sur plusieurs adresses (<code>docs.acme.ch</code> et <code>aide.acme.ch</code>), ajoute les autres dans <strong>Réglages › Domaines</strong> : l’assistant ne répond qu’aux pages servies par ces adresses.</p>
24
+ <h2 id="relier-un-projet-existant">Relier un projet existant</h2>
25
+ <p>Le dossier <code>dist/</code> est un site statique, il se dépose chez n’importe quel hébergeur. Hors de Host, ou pour un projet créé directement dans la console, relie la doc à la main.</p>
26
+ <ol class="hgdc-steps"><li class="hgdc-step"><p class="hgdc-step__title">Créer le projet dans la console</p><div class="hgdc-step__body"><p>Sur <code>docs.hgdc.ch</code>, ouvre ton organisation, puis <strong>Nouveau projet</strong>. Donne l’adresse de production du site, par exemple <code>https://docs.acme.ch</code>.</p></div></li><li class="hgdc-step"><p class="hgdc-step__title">Copier l&#39;identifiant dans docs.json</p><div class="hgdc-step__body"><p>La console affiche une ligne à copier. Ajoute-la dans <code>docs.json</code>, puis publie :</p><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="json"><code><div class="ec-line"><div class="code"><span style="--0:#1F2328;--1:#E6EDF3">{ </span><span style="--0:#116329;--1:#7EE787">"project"</span><span style="--0:#1F2328;--1:#E6EDF3">: </span><span style="--0:#0A3069;--1:#A5D6FF">"k57a8m2x9q4n1b3c5d7e9f0g2h4j6k8m"</span><span style="--0:#1F2328;--1:#E6EDF3"> }</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="{ &#x22;project&#x22;: &#x22;k57a8m2x9q4n1b3c5d7e9f0g2h4j6k8m&#x22; }"><div></div></button></div></figure></div><p>Sans cet identifiant, le site fonctionne mais l’assistant reste caché, et la console refuse d’indexer un site qui ne porte pas le sien.</p></div></li><li class="hgdc-step"><p class="hgdc-step__title">Synchroniser</p><div class="hgdc-step__body"><p>Clique sur <strong>Synchroniser</strong> dans l’aperçu du projet. La console lit <code>/_hgdc/corpus.json</code> sur ton site et indexe chaque page, puis relit le site tous les quarts d’heure.</p></div></li></ol>
27
+ <aside class="hd-callout" data-tone="warning" aria-label="Adresse publique seulement"><svg class="hd-icon hd-callout__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 9.5v4M12 17h.01M10.3 4.2 2.6 17.5A2 2 0 0 0 4.3 20.5h15.4a2 2 0 0 0 1.7-3L13.7 4.2a2 2 0 0 0-3.4 0Z"></path></svg><div class="hd-callout__body"><p class="hd-callout__title">Adresse publique seulement</p><p>La console n’accepte qu’une adresse <code>https://</code> avec un nom de domaine public. Elle ne suit pas les redirections : donne l’adresse finale du site.</p></div></aside></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" href="/demarrer/premiere-doc/" rel="prev"><span class="hd-pagination__hint"><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="m15 6-6 6 6 6"></path></svg>Précédent</span><span class="hd-pagination__title">Ta première doc</span></a><a class="hd-pagination__link hd-pagination__link--next" href="/guides/ecrire/" 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">Écrire en MDX</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-vqenwucp" style="--depth: 0;"><li style="--depth: 0;" class="astro-vqenwucp"><a href="#_top" style="--depth: 0;" class="astro-vqenwucp"><span style="--depth: 0;" class="astro-vqenwucp">Vue d’ensemble</span></a></li><li style="--depth: 0;" class="astro-vqenwucp"><a href="#mettre-la-doc-en-ligne" style="--depth: 0;" class="astro-vqenwucp"><span style="--depth: 0;" class="astro-vqenwucp">Mettre la doc en ligne</span></a></li><li style="--depth: 0;" class="astro-vqenwucp"><a href="#activer-docs" style="--depth: 0;" class="astro-vqenwucp"><span style="--depth: 0;" class="astro-vqenwucp">Activer Docs</span></a></li><li style="--depth: 0;" class="astro-vqenwucp"><a href="#ton-domaine" style="--depth: 0;" class="astro-vqenwucp"><span style="--depth: 0;" class="astro-vqenwucp">Ton domaine</span></a></li><li style="--depth: 0;" class="astro-vqenwucp"><a href="#relier-un-projet-existant" style="--depth: 0;" class="astro-vqenwucp"><span style="--depth: 0;" class="astro-vqenwucp">Relier un projet existant</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,65 @@
1
+ # Publier avec Host
2
+
3
+ Host construit ton site à chaque push et le sert depuis son serveur. La console `docs.hgdc.ch` relit ensuite le site publié pour indexer l’assistant.
4
+
5
+ ## Mettre la doc en ligne
6
+
7
+ 1. **Importer le dépôt**
8
+
9
+ Dans Host, crée un projet à partir de ton dépôt GitHub. Host reconnaît une doc Docs (un `docs.json` et le paquet `@hgdc/docs` dans `package.json`) : il la construit avec `hgdc-docs build` et publie le dossier `dist/`. Aucun fichier de configuration à ajouter.
10
+
11
+ 2. **Fusionner la pull request de Host**
12
+
13
+ Host propose une pull request qui ajoute son workflow de déploiement. Fusionne-la : la doc part en production.
14
+
15
+ 3. **Pousser**
16
+
17
+ Chaque push sur la branche principale publie le site en production. Les autres branches ont leur préversion.
18
+
19
+ ## Activer Docs
20
+
21
+ 1. **Cliquer sur « Activer Docs »**
22
+
23
+ Sur la vue d’ensemble du projet dans Host, la carte **Assistant et recherche avec Docs** propose **Activer Docs**. Host crée le projet dans la console, dans la même organisation. Il faut être admin de l’organisation, et la doc doit déjà être en production.
24
+
25
+ 2. **Publier une fois de plus**
26
+
27
+ Pousse une modification. Ce build reçoit l’identifiant du projet de la console : le site le porte sans que tu le recopies dans `docs.json`.
28
+
29
+ 3. **Laisser faire**
30
+
31
+ À chaque mise en production, Host prévient la console, qui relit `/_hgdc/corpus.json` et indexe les pages en quelques secondes. La carte de Host affiche **Docs est activé** et mène à la console. En plus, la console relit le site tous les quarts d’heure : un appel perdu se rattrape seul.
32
+
33
+ > **Note**
34
+ >
35
+ > Le projet apparaît dans la console dès que tu t’y connectes avec ton compte HGDC. Ses réglages (domaines, assistant) s’y changent comme pour n’importe quel projet.
36
+
37
+ ## Ton domaine
38
+
39
+ Le domaine se branche dans Host, comme pour n’importe quel site : Host annonce la nouvelle adresse à la console à la mise en production suivante. Si la doc répond sur plusieurs adresses (`docs.acme.ch` et `aide.acme.ch`), ajoute les autres dans **Réglages › Domaines** : l’assistant ne répond qu’aux pages servies par ces adresses.
40
+
41
+ ## Relier un projet existant
42
+
43
+ Le dossier `dist/` est un site statique, il se dépose chez n’importe quel hébergeur. Hors de Host, ou pour un projet créé directement dans la console, relie la doc à la main.
44
+
45
+ 1. **Créer le projet dans la console**
46
+
47
+ Sur `docs.hgdc.ch`, ouvre ton organisation, puis **Nouveau projet**. Donne l’adresse de production du site, par exemple `https://docs.acme.ch`.
48
+
49
+ 2. **Copier l'identifiant dans docs.json**
50
+
51
+ La console affiche une ligne à copier. Ajoute-la dans `docs.json`, puis publie :
52
+
53
+ ```json
54
+ { "project": "k57a8m2x9q4n1b3c5d7e9f0g2h4j6k8m" }
55
+ ```
56
+
57
+ Sans cet identifiant, le site fonctionne mais l’assistant reste caché, et la console refuse d’indexer un site qui ne porte pas le sien.
58
+
59
+ 3. **Synchroniser**
60
+
61
+ Clique sur **Synchroniser** dans l’aperçu du projet. La console lit `/_hgdc/corpus.json` sur ton site et indexe chaque page, puis relit le site tous les quarts d’heure.
62
+
63
+ > **Adresse publique seulement**
64
+ >
65
+ > La console n’accepte qu’une adresse `https://` avec un nom de domaine public. Elle ne suit pas les redirections : donne l’adresse finale du site.
@@ -0,0 +1,27 @@
1
+ <!DOCTYPE html><html lang="fr-CH" dir="ltr" data-theme="dark" data-has-toc data-has-sidebar class="astro-mgylisfi"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/><title>Thème et logo | 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="Thème et logo"/><meta property="og:type" content="article"/><meta property="og:locale" content="fr-CH"/><meta property="og:description" content="Poser ta couleur, ton logo et ton favicon dans docs.json."/><meta property="og:site_name" content="Docs"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="Poser ta couleur, ton logo et ton favicon dans docs.json."/><link rel="alternate" type="text/markdown" href="/guides/theme.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.BoKrWC_6.css"><style>@layer starlight.components{svg:where(.astro-kvkgfy7v){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-opkipegj){display:block}.tablist-wrapper:where(.astro-opkipegj){overflow-x:auto}:where(.astro-opkipegj)[role=tablist]{border-bottom:2px solid var(--sl-color-gray-5);padding:0;list-style:none;display:flex}.tab:where(.astro-opkipegj){display:flex}.tab:where(.astro-opkipegj)>:where(.astro-opkipegj)[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-opkipegj) :where(.astro-opkipegj)[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-opkipegj)~[role=tabpanel]{margin-top:1rem}}
16
+ </style><script type="module" src="/_astro/page.cNngjUgL.js"></script></head><body class="astro-mgylisfi"><a class="sl-skip-link astro-hlhzrz26" 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="/" aria-current="page">Guides</a><a href="/reference/docs-json/">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="/" aria-current="page">Guides</a><a href="/reference/docs-json/">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">Démarrer</p><ul class="hd-nav hd-nav--depth-1"><li><a href="/" class="hd-nav__link"><span>Bienvenue</span></a></li><li><a href="/demarrer/premiere-doc/" class="hd-nav__link"><span>Ta première doc</span></a></li><li><a href="/guides/publier/" class="hd-nav__link"><span>Publier</span></a></li></ul></li><li class="hd-nav__group"><p class="hd-nav__heading">Écrire</p><ul class="hd-nav hd-nav--depth-1"><li><a href="/guides/ecrire/" class="hd-nav__link"><span>Écrire en MDX</span></a></li><li><a href="/guides/composants/" class="hd-nav__link"><span>Composants</span></a></li><li><a href="/guides/navigation/" class="hd-nav__link"><span>Navigation</span></a></li><li><a href="/guides/theme/" class="hd-nav__link" aria-current="page"><span>Thème et logo</span></a></li></ul></li><li class="hd-nav__group"><p class="hd-nav__heading">Assistant et agents</p><ul class="hd-nav hd-nav--depth-1"><li><a href="/guides/assistant/" class="hd-nav__link"><span>Assistant</span></a></li><li><a href="/guides/agents/" class="hd-nav__link"><span>Pour les agents</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-mgylisfi" lang="fr-CH" dir="ltr"><div class="content-panel astro-lavu2imw"><div class="sl-container astro-lavu2imw"><div class="hd-title not-content"><p class="hd-eyebrow" data-pagefind-meta="section">Écrire</p><div class="hd-title__row"><h1 id="_top">Thème et logo</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="/guides/theme.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="/guides/theme.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">Poser ta couleur, ton logo et ton favicon dans docs.json.</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-lavu2imw"><div class="sl-container astro-lavu2imw"><div class="sl-markdown-content"><p>Le site suit la DA de HGDC par défaut : gris neutres, coins arrondis, Inter pour le texte. Tu changes trois choses : la couleur, le logo et le favicon.</p>
17
+ <h2 id="couleur">Couleur</h2>
18
+ <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="json"><code><div class="ec-line"><div class="code"><span style="--0:#1F2328;--1:#E6EDF3">{ </span><span style="--0:#116329;--1:#7EE787">"colors"</span><span style="--0:#1F2328;--1:#E6EDF3">: { </span><span style="--0:#116329;--1:#7EE787">"primary"</span><span style="--0:#1F2328;--1:#E6EDF3">: </span><span style="--0:#0A3069;--1:#A5D6FF">"#0f766e"</span><span style="--0:#1F2328;--1:#E6EDF3"> } }</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="{ &#x22;colors&#x22;: { &#x22;primary&#x22;: &#x22;#0f766e&#x22; } }"><div></div></button></div></figure></div>
19
+ <p>La couleur sert aux liens, à l’onglet actif et aux renvois de l’assistant. Sa teinte est gardée ; sa luminosité est ajustée pour que les liens restent lisibles (contraste de 4,5:1 au moins), en clair comme en sombre.</p>
20
+ <p>Pour une couleur différente en mode sombre, ajoute <code>"dark": "#5eead4"</code>.</p>
21
+ <aside class="hd-callout" data-tone="note" aria-label="Note"><svg class="hd-icon hd-callout__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 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Zm0-5v-4.5m0-3.5h.01"></path></svg><div class="hd-callout__body"><p>Dans la console, <strong>Réglages › Thème</strong> montre l’effet d’une couleur en clair et en sombre, son contraste sur un fond blanc, et prépare la ligne à copier dans <code>docs.json</code>.</p></div></aside>
22
+ <h2 id="logo">Logo</h2>
23
+ <div class="expressive-code"><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="json"><code><div class="ec-line"><div class="code"><span style="--0:#1F2328;--1:#E6EDF3">{ </span><span style="--0:#116329;--1:#7EE787">"logo"</span><span style="--0:#1F2328;--1:#E6EDF3">: { </span><span style="--0:#116329;--1:#7EE787">"light"</span><span style="--0:#1F2328;--1:#E6EDF3">: </span><span style="--0:#0A3069;--1:#A5D6FF">"/images/logo-clair.svg"</span><span style="--0:#1F2328;--1:#E6EDF3">, </span><span style="--0:#116329;--1:#7EE787">"dark"</span><span style="--0:#1F2328;--1:#E6EDF3">: </span><span style="--0:#0A3069;--1:#A5D6FF">"/images/logo-sombre.svg"</span><span style="--0:#1F2328;--1:#E6EDF3"> } }</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="{ &#x22;logo&#x22;: { &#x22;light&#x22;: &#x22;/images/logo-clair.svg&#x22;, &#x22;dark&#x22;: &#x22;/images/logo-sombre.svg&#x22; } }"><div></div></button></div></figure></div>
24
+ <p>Le chemin part de la racine du dossier de la doc. Un SVG carré ou large, de 32 pixels de haut environ, rend le mieux. Une seule image : <code>"logo": "/images/logo.svg"</code>.</p>
25
+ <h2 id="favicon">Favicon</h2>
26
+ <div class="expressive-code"><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="json"><code><div class="ec-line"><div class="code"><span style="--0:#1F2328;--1:#E6EDF3">{ </span><span style="--0:#116329;--1:#7EE787">"favicon"</span><span style="--0:#1F2328;--1:#E6EDF3">: </span><span style="--0:#0A3069;--1:#A5D6FF">"/images/favicon.svg"</span><span style="--0:#1F2328;--1:#E6EDF3"> }</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="{ &#x22;favicon&#x22;: &#x22;/images/favicon.svg&#x22; }"><div></div></button></div></figure></div>
27
+ <p>Sans favicon, le site n’en annonce pas d’autre que <code>/favicon.svg</code> s’il existe.</p></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" href="/guides/navigation/" rel="prev"><span class="hd-pagination__hint"><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="m15 6-6 6 6 6"></path></svg>Précédent</span><span class="hd-pagination__title">Navigation</span></a><a class="hd-pagination__link hd-pagination__link--next" href="/guides/assistant/" 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">Assistant</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-vqenwucp" style="--depth: 0;"><li style="--depth: 0;" class="astro-vqenwucp"><a href="#_top" style="--depth: 0;" class="astro-vqenwucp"><span style="--depth: 0;" class="astro-vqenwucp">Vue d’ensemble</span></a></li><li style="--depth: 0;" class="astro-vqenwucp"><a href="#couleur" style="--depth: 0;" class="astro-vqenwucp"><span style="--depth: 0;" class="astro-vqenwucp">Couleur</span></a></li><li style="--depth: 0;" class="astro-vqenwucp"><a href="#logo" style="--depth: 0;" class="astro-vqenwucp"><span style="--depth: 0;" class="astro-vqenwucp">Logo</span></a></li><li style="--depth: 0;" class="astro-vqenwucp"><a href="#favicon" style="--depth: 0;" class="astro-vqenwucp"><span style="--depth: 0;" class="astro-vqenwucp">Favicon</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>