@hgdc/docs 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/bin/hgdc-docs.mjs +48 -0
  2. package/docs.schema.json +294 -0
  3. package/package.json +50 -4
  4. package/src/build/auto-import.ts +74 -0
  5. package/src/build/markdown.ts +114 -0
  6. package/src/build/outputs.ts +91 -0
  7. package/src/build/public-files.test.ts +29 -0
  8. package/src/build/public-files.ts +35 -0
  9. package/src/components/Accordion.astro +12 -0
  10. package/src/components/AccordionGroup.astro +4 -0
  11. package/src/components/Card.astro +15 -0
  12. package/src/components/CardGroup.astro +8 -0
  13. package/src/components/Check.astro +10 -0
  14. package/src/components/CodeGroup.astro +4 -0
  15. package/src/components/Columns.astro +8 -0
  16. package/src/components/Danger.astro +10 -0
  17. package/src/components/Frame.astro +11 -0
  18. package/src/components/Info.astro +10 -0
  19. package/src/components/Note.astro +10 -0
  20. package/src/components/Step.astro +11 -0
  21. package/src/components/Steps.astro +4 -0
  22. package/src/components/Tab.astro +9 -0
  23. package/src/components/Tabs.astro +9 -0
  24. package/src/components/Tip.astro +10 -0
  25. package/src/components/Warning.astro +10 -0
  26. package/src/core/answer-markdown.ts +109 -0
  27. package/src/core/assistant-api.ts +65 -0
  28. package/src/core/chunk.ts +134 -0
  29. package/src/core/config.ts +153 -0
  30. package/src/core/core.test.ts +253 -0
  31. package/src/core/corpus.ts +42 -0
  32. package/src/core/json-schema.ts +12 -0
  33. package/src/core/llms.ts +95 -0
  34. package/src/core/navigation.ts +88 -0
  35. package/src/core/theme.ts +111 -0
  36. package/src/integration.ts +229 -0
  37. package/src/locals.d.ts +6 -0
  38. package/src/overrides/Assistant.astro +72 -0
  39. package/src/overrides/Head.astro +12 -0
  40. package/src/overrides/PageFrame.astro +15 -0
  41. package/src/overrides/PageTitle.astro +94 -0
  42. package/src/overrides/Sidebar.astro +60 -0
  43. package/src/overrides/route-data.ts +33 -0
  44. package/src/styles/theme.css +773 -0
  45. package/src/virtual.d.ts +6 -0
  46. package/src/widget/client.ts +252 -0
  47. package/template/.astro/collections/docs.schema.json +651 -0
  48. package/template/.astro/content-assets.mjs +1 -0
  49. package/template/.astro/content-modules.mjs +18 -0
  50. package/template/.astro/content.d.ts +179 -0
  51. package/template/.astro/types.d.ts +2 -0
  52. package/template/.build/.well-known/llms.txt +38 -0
  53. package/template/.build/404.html +42 -0
  54. package/template/.build/_astro/Assistant.astro_astro_type_script_index_0_lang.DWgmlr85.js +4 -0
  55. package/template/.build/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.C3fM4Kra.js +1 -0
  56. package/template/.build/_astro/Search.astro_astro_type_script_index_0_lang.g9hoxVJg.js +1 -0
  57. package/template/.build/_astro/TableOfContents.astro_astro_type_script_index_0_lang.BpJaGz7G.js +1 -0
  58. package/template/.build/_astro/common.8GHCkW7i.css +3 -0
  59. package/template/.build/_astro/ec.0vx5m.js +3 -0
  60. package/template/.build/_astro/ec.8nqtp.css +1 -0
  61. package/template/.build/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2 +0 -0
  62. package/template/.build/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2 +0 -0
  63. package/template/.build/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2 +0 -0
  64. package/template/.build/_astro/geist-latin-wght-normal.BgDaEnEv.woff2 +0 -0
  65. package/template/.build/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2 +0 -0
  66. package/template/.build/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2 +0 -0
  67. package/template/.build/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2 +0 -0
  68. package/template/.build/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2 +0 -0
  69. package/template/.build/_astro/inter-greek-wght-normal.CkhJZR-_.woff2 +0 -0
  70. package/template/.build/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2 +0 -0
  71. package/template/.build/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2 +0 -0
  72. package/template/.build/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2 +0 -0
  73. package/template/.build/_astro/logo-clair.BqNh6JNi.svg +1 -0
  74. package/template/.build/_astro/logo-sombre.BkgsFXxh.svg +1 -0
  75. package/template/.build/_astro/page.cNngjUgL.js +1 -0
  76. package/template/.build/_astro/print.ehPL0gv-.css +1 -0
  77. package/template/.build/_astro/starlight-toc.D4UDIxQL.js +1 -0
  78. package/template/.build/_astro/ui-core.Clh5jUUO.js +2 -0
  79. package/template/.build/_hgdc/corpus.json +1 -0
  80. package/template/.build/demarrer/premiere-doc/index.html +84 -0
  81. package/template/.build/demarrer/premiere-doc.md +65 -0
  82. package/template/.build/explications/donnees/index.html +114 -0
  83. package/template/.build/explications/donnees.md +28 -0
  84. package/template/.build/explications/fonctionnement/index.html +92 -0
  85. package/template/.build/explications/fonctionnement.md +32 -0
  86. package/template/.build/guides/agents/index.html +113 -0
  87. package/template/.build/guides/agents.md +40 -0
  88. package/template/.build/guides/assistant/index.html +117 -0
  89. package/template/.build/guides/assistant.md +42 -0
  90. package/template/.build/guides/composants/index.html +97 -0
  91. package/template/.build/guides/composants.md +103 -0
  92. package/template/.build/guides/ecrire/index.html +115 -0
  93. package/template/.build/guides/ecrire.md +63 -0
  94. package/template/.build/guides/navigation/index.html +89 -0
  95. package/template/.build/guides/navigation.md +63 -0
  96. package/template/.build/guides/publier/index.html +86 -0
  97. package/template/.build/guides/publier.md +65 -0
  98. package/template/.build/guides/theme/index.html +86 -0
  99. package/template/.build/guides/theme.md +33 -0
  100. package/template/.build/images/favicon.svg +1 -0
  101. package/template/.build/images/logo-clair.svg +1 -0
  102. package/template/.build/images/logo-sombre.svg +1 -0
  103. package/template/.build/index.html +87 -0
  104. package/template/.build/index.md +35 -0
  105. package/template/.build/llms-full.txt +830 -0
  106. package/template/.build/llms.txt +38 -0
  107. package/template/.build/pagefind/fragment/fr-ch_148313b.pf_fragment +0 -0
  108. package/template/.build/pagefind/fragment/fr-ch_424fd16.pf_fragment +0 -0
  109. package/template/.build/pagefind/fragment/fr-ch_4f8575c.pf_fragment +0 -0
  110. package/template/.build/pagefind/fragment/fr-ch_5a4d77d.pf_fragment +0 -0
  111. package/template/.build/pagefind/fragment/fr-ch_6c36edc.pf_fragment +0 -0
  112. package/template/.build/pagefind/fragment/fr-ch_73d7887.pf_fragment +0 -0
  113. package/template/.build/pagefind/fragment/fr-ch_8234ed3.pf_fragment +0 -0
  114. package/template/.build/pagefind/fragment/fr-ch_8f8a19e.pf_fragment +0 -0
  115. package/template/.build/pagefind/fragment/fr-ch_9f1b981.pf_fragment +0 -0
  116. package/template/.build/pagefind/fragment/fr-ch_a19039d.pf_fragment +0 -0
  117. package/template/.build/pagefind/fragment/fr-ch_d72cc1e.pf_fragment +0 -0
  118. package/template/.build/pagefind/fragment/fr-ch_d732215.pf_fragment +0 -0
  119. package/template/.build/pagefind/fragment/fr-ch_e2c46e3.pf_fragment +0 -0
  120. package/template/.build/pagefind/fragment/fr-ch_e78d58b.pf_fragment +0 -0
  121. package/template/.build/pagefind/fragment/fr-ch_e92f972.pf_fragment +0 -0
  122. package/template/.build/pagefind/index/fr-ch_f94c95d.pf_index +0 -0
  123. package/template/.build/pagefind/pagefind-component-ui.css +1509 -0
  124. package/template/.build/pagefind/pagefind-component-ui.js +56 -0
  125. package/template/.build/pagefind/pagefind-entry.json +1 -0
  126. package/template/.build/pagefind/pagefind-highlight.js +1070 -0
  127. package/template/.build/pagefind/pagefind-modular-ui.css +214 -0
  128. package/template/.build/pagefind/pagefind-modular-ui.js +8 -0
  129. package/template/.build/pagefind/pagefind-ui.css +1 -0
  130. package/template/.build/pagefind/pagefind-ui.js +2 -0
  131. package/template/.build/pagefind/pagefind-worker.js +6 -0
  132. package/template/.build/pagefind/pagefind.fr-ch_fb78ab42961f4.pf_meta +0 -0
  133. package/template/.build/pagefind/pagefind.js +6 -0
  134. package/template/.build/pagefind/wasm.fr-ch.pagefind +0 -0
  135. package/template/.build/pagefind/wasm.unknown.pagefind +0 -0
  136. package/template/.build/reference/api-assistant/index.html +161 -0
  137. package/template/.build/reference/api-assistant.md +60 -0
  138. package/template/.build/reference/cli/index.html +153 -0
  139. package/template/.build/reference/cli.md +31 -0
  140. package/template/.build/reference/docs-json/index.html +192 -0
  141. package/template/.build/reference/docs-json.md +43 -0
  142. package/template/.build/reference/mcp/index.html +151 -0
  143. package/template/.build/reference/mcp.md +49 -0
  144. package/template/astro.config.ts +6 -0
  145. package/template/node_modules/.vite/deps/_metadata.json +74 -0
  146. package/template/node_modules/.vite/deps/astro-B3JHJyiv.js +434 -0
  147. package/template/node_modules/.vite/deps/astro-B3JHJyiv.js.map +1 -0
  148. package/template/node_modules/.vite/deps/astro_n_aria-query.js +6390 -0
  149. package/template/node_modules/.vite/deps/astro_n_aria-query.js.map +1 -0
  150. package/template/node_modules/.vite/deps/astro_n_axobject-query.js +2705 -0
  151. package/template/node_modules/.vite/deps/astro_n_axobject-query.js.map +1 -0
  152. package/template/node_modules/.vite/deps/astro_n_html-escaper.js +65 -0
  153. package/template/node_modules/.vite/deps/astro_n_html-escaper.js.map +1 -0
  154. package/template/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +455 -0
  155. package/template/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +1 -0
  156. package/template/node_modules/.vite/deps/audit-Do8QH17W.js +1543 -0
  157. package/template/node_modules/.vite/deps/audit-Do8QH17W.js.map +1 -0
  158. package/template/node_modules/.vite/deps/highlight-BLtvqtzO.js +48 -0
  159. package/template/node_modules/.vite/deps/highlight-BLtvqtzO.js.map +1 -0
  160. package/template/node_modules/.vite/deps/icons-C92i61-2.js +42 -0
  161. package/template/node_modules/.vite/deps/icons-C92i61-2.js.map +1 -0
  162. package/template/node_modules/.vite/deps/package.json +3 -0
  163. package/template/node_modules/.vite/deps/rolldown-runtime-C3I60J0A.js +4 -0
  164. package/template/node_modules/.vite/deps/settings-BYmTKrLi.js +189 -0
  165. package/template/node_modules/.vite/deps/settings-BYmTKrLi.js.map +1 -0
  166. package/template/node_modules/.vite/deps/toolbar-CEKhukuK.js +461 -0
  167. package/template/node_modules/.vite/deps/toolbar-CEKhukuK.js.map +1 -0
  168. package/template/node_modules/.vite/deps/ui-library-BO4--ANp.js +1015 -0
  169. package/template/node_modules/.vite/deps/ui-library-BO4--ANp.js.map +1 -0
  170. package/template/node_modules/.vite/deps/window-vo3A6TMn.js +32 -0
  171. package/template/node_modules/.vite/deps/window-vo3A6TMn.js.map +1 -0
  172. package/template/node_modules/.vite/deps/xray-Lf9x6g8P.js +112 -0
  173. package/template/node_modules/.vite/deps/xray-Lf9x6g8P.js.map +1 -0
  174. package/template/src/content.config.ts +21 -0
  175. package/README.md +0 -3
@@ -0,0 +1,151 @@
1
+ <!DOCTYPE html><html lang="fr-CH" dir="ltr" data-theme="dark" data-has-toc data-has-sidebar class="astro-lnvyiehd"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>Serveur MCP | HGDC Docs</title><style>:root{--sl-color-accent-low:#282041;--sl-color-accent:#9258ff;--sl-color-accent-high:#e8b7ff;--hgdc-on-accent:#000000;}:root[data-theme="light"]{--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="Serveur MCP"/><meta property="og:type" content="article"/><meta property="og:locale" content="fr-CH"/><meta property="og:description" content="Transport, méthodes et outils du serveur MCP en lecture d'un projet."/><meta property="og:site_name" content="HGDC Docs"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="Transport, méthodes et outils du serveur MCP en lecture d'un projet."/><link rel="alternate" type="text/markdown" href="/reference/mcp.md"><link rel="describedby" type="text/markdown" href="/llms.txt"><script>
2
+ window.StarlightThemeProvider = (() => {
3
+ const storedTheme =
4
+ typeof localStorage !== 'undefined' && localStorage.getItem('starlight-theme');
5
+ const theme =
6
+ storedTheme ||
7
+ (window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark');
8
+ document.documentElement.dataset.theme = theme === 'light' ? 'light' : 'dark';
9
+ return {
10
+ updatePickers(theme = storedTheme || 'auto') {
11
+ document.querySelectorAll('starlight-theme-select').forEach((picker) => {
12
+ const select = picker.querySelector('select');
13
+ if (select) select.value = theme;
14
+ /** @type {HTMLTemplateElement | null} */
15
+ const tmpl = document.querySelector(`#theme-icons`);
16
+ const newIcon = tmpl && tmpl.content.querySelector('.' + theme);
17
+ if (newIcon) {
18
+ const oldIcon = picker.querySelector('svg.label-icon');
19
+ if (oldIcon) {
20
+ oldIcon.replaceChildren(...newIcon.cloneNode(true).childNodes);
21
+ }
22
+ }
23
+ });
24
+ },
25
+ };
26
+ })();
27
+ </script><template id="theme-icons"><svg aria-hidden="true" class="light astro-xhs3u4tj" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M5 12a1 1 0 0 0-1-1H3a1 1 0 0 0 0 2h1a1 1 0 0 0 1-1Zm.64 5-.71.71a1 1 0 0 0 0 1.41 1 1 0 0 0 1.41 0l.71-.71A1 1 0 0 0 5.64 17ZM12 5a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v1a1 1 0 0 0 1 1Zm5.66 2.34a1 1 0 0 0 .7-.29l.71-.71a1 1 0 1 0-1.41-1.41l-.66.71a1 1 0 0 0 0 1.41 1 1 0 0 0 .66.29Zm-12-.29a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.71-.71a1.004 1.004 0 1 0-1.43 1.41l.73.71ZM21 11h-1a1 1 0 0 0 0 2h1a1 1 0 0 0 0-2Zm-2.64 6A1 1 0 0 0 17 18.36l.71.71a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.76-.66ZM12 6.5a5.5 5.5 0 1 0 5.5 5.5A5.51 5.51 0 0 0 12 6.5Zm0 9a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Zm0 3.5a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-1a1 1 0 0 0-1-1Z"/></svg><svg aria-hidden="true" class="dark astro-xhs3u4tj" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.64 13a1 1 0 0 0-1.05-.14 8.049 8.049 0 0 1-3.37.73 8.15 8.15 0 0 1-8.14-8.1 8.59 8.59 0 0 1 .25-2A1 1 0 0 0 8 2.36a10.14 10.14 0 1 0 14 11.69 1 1 0 0 0-.36-1.05Zm-9.5 6.69A8.14 8.14 0 0 1 7.08 5.22v.27a10.15 10.15 0 0 0 10.14 10.14 9.784 9.784 0 0 0 2.1-.22 8.11 8.11 0 0 1-7.18 4.32v-.04Z"/></svg><svg aria-hidden="true" class="auto astro-xhs3u4tj" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg></template><link rel="stylesheet" href="/_astro/print.ehPL0gv-.css" media="print"><link rel="stylesheet" href="/_astro/common.8GHCkW7i.css"><style>@layer starlight.components{svg:where(.astro-xhs3u4tj){color:var(--sl-icon-color);font-size:var(--sl-icon-size,1em);width:1em;height:1em;overflow:visible}}
28
+ </style><script type="module" src="/_astro/page.cNngjUgL.js"></script><style>@layer starlight.components{starlight-tabs:where(.astro-nnis2kke){display:block}.tablist-wrapper:where(.astro-nnis2kke){overflow-x:auto}:where(.astro-nnis2kke)[role=tablist]{border-bottom:2px solid var(--sl-color-gray-5);padding:0;list-style:none;display:flex}.tab:where(.astro-nnis2kke){display:flex}.tab:where(.astro-nnis2kke)>:where(.astro-nnis2kke)[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-nnis2kke) :where(.astro-nnis2kke)[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-nnis2kke)~[role=tabpanel]{margin-top:1rem}}
29
+ </style></head><body class="astro-lnvyiehd"><a class="sl-skip-link astro-udp4fdqq" href="#_top">Aller au contenu</a><div class="page sl-flex astro-wp5b5qr3"><header class="header astro-wp5b5qr3"><div class="header astro-4xpvyfd2"><div class="title-wrapper sl-flex astro-4xpvyfd2"><a href="/" class="site-title sl-flex astro-qbunumlf"><img class="light:sl-hidden print:hidden astro-qbunumlf" alt src="/_astro/logo-sombre.BkgsFXxh.svg" width="32" height="32"><img class="dark:sl-hidden print:block astro-qbunumlf" alt src="/_astro/logo-clair.BqNh6JNi.svg" width="32" height="32"><span class="astro-qbunumlf" translate="no">HGDC Docs</span></a></div><div class="sl-flex print:hidden astro-4xpvyfd2"><site-search class="astro-4xpvyfd2 astro-atzxzflz" data-translations="{&quot;placeholder&quot;:&quot;Rechercher&quot;}"><button data-open-modal disabled aria-label="Rechercher" aria-keyshortcuts="Control+K" class="astro-atzxzflz"><svg aria-hidden="true" class="astro-atzxzflz astro-xhs3u4tj" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.71 20.29 18 16.61A9 9 0 1 0 16.61 18l3.68 3.68a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.39ZM11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"/></svg><span class="sl-hidden md:sl-block astro-atzxzflz" aria-hidden="true">Rechercher</span><kbd class="sl-hidden md:sl-flex astro-atzxzflz" style="display: none;"><kbd class="astro-atzxzflz">Ctrl</kbd><kbd class="astro-atzxzflz">K</kbd></kbd></button><dialog style="padding:0" aria-label="Rechercher" class="astro-atzxzflz"><div class="dialog-frame sl-flex astro-atzxzflz"><button data-close-modal class="sl-flex md:sl-hidden astro-atzxzflz">Annuler</button><div class="search-container astro-atzxzflz"><div id="starlight__search" class="astro-atzxzflz"></div></div></div></dialog></site-search><script>
30
+ (() => {
31
+ const openBtn = document.querySelector('button[data-open-modal]');
32
+ const shortcut = openBtn?.querySelector('kbd');
33
+ if (!openBtn || !(shortcut instanceof HTMLElement)) return;
34
+ const platformKey = shortcut.querySelector('kbd');
35
+ if (platformKey && /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)) {
36
+ platformKey.textContent = '⌘';
37
+ openBtn.setAttribute('aria-keyshortcuts', 'Meta+K');
38
+ }
39
+ shortcut.style.display = '';
40
+ })();
41
+ </script><script type="module" src="/_astro/Search.astro_astro_type_script_index_0_lang.g9hoxVJg.js"></script></div><div class="sl-hidden md:sl-flex print:hidden right-group astro-4xpvyfd2"><div class="sl-flex social-icons astro-4xpvyfd2"></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-ahwfeyk3"><span class="sr-only astro-ahwfeyk3">Selectionner le thème</span><svg aria-hidden="true" class="icon label-icon astro-ahwfeyk3 astro-xhs3u4tj" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg><select autocomplete="off" class="astro-ahwfeyk3"><option value="dark" class="astro-ahwfeyk3">Sombre</option><option value="light" class="astro-ahwfeyk3">Clair</option><option value="auto" selected class="astro-ahwfeyk3">Auto</option></select><svg aria-hidden="true" class="icon caret astro-ahwfeyk3 astro-xhs3u4tj" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg></label></starlight-theme-select><script>
42
+ StarlightThemeProvider.updatePickers();
43
+ </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-wp5b5qr3" aria-label="principale"><button popovertarget="starlight__sidebar" class="sl-menu-button sl-flex md:sl-hidden print:hidden astro-pddjbwje"><svg aria-hidden="true" class="open-menu astro-pddjbwje astro-xhs3u4tj" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-pddjbwje astro-xhs3u4tj" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg><span class="sr-only astro-pddjbwje">Menu</span></button><script type="module">var e=class extends HTMLElement{constructor(){super();let e=matchMedia(`(min-width: 50em)`),t=()=>{this.popover=e.matches?null:`auto`};t(),e.addEventListener(`change`,()=>t()),this.addEventListener(`toggle`,({newState:e})=>this.trapFocus(e===`open`))}trapFocus(e){document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}};customElements.define(`sl-sidebar-pane`,e);</script><script type="module">for(let e of document.querySelectorAll(`[data-hgdc-version]`))e.addEventListener(`change`,()=>window.location.assign(e.value));</script><sl-sidebar-pane popover id="starlight__sidebar" class="sidebar-pane astro-wp5b5qr3"><div class="sidebar-content sl-flex astro-wp5b5qr3"><div class="hgdc-sections"><nav aria-label="Sections de la documentation"><ul class="hgdc-tabs"><li><a href="/">Guides</a></li><li><a href="/reference/docs-json/" aria-current="page">Référence</a></li><li><a href="/explications/fonctionnement/">Explications</a></li></ul></nav></div><sl-sidebar-state-persist data-hash="0zenivk" class="astro-2lv5n4ci"><script aria-hidden="true">
44
+ (() => {
45
+ try {
46
+ if (!matchMedia('(min-width: 50em)').matches) return;
47
+ /** @type {HTMLElement | null} */
48
+ const target = document.querySelector('sl-sidebar-state-persist');
49
+ const state = JSON.parse(sessionStorage.getItem('sl-sidebar-state') || '0');
50
+ if (!target || !state || target.dataset.hash !== state.hash) return;
51
+ window._starlightScrollRestore = state.scroll;
52
+ customElements.define(
53
+ 'sl-sidebar-restore',
54
+ class SidebarRestore extends HTMLElement {
55
+ connectedCallback() {
56
+ try {
57
+ const idx = parseInt(this.dataset.index || '');
58
+ const details = this.closest('details');
59
+ if (details && typeof state.open[idx] === 'boolean') details.open = state.open[idx];
60
+ } catch {}
61
+ }
62
+ }
63
+ );
64
+ } catch {}
65
+ })();
66
+ </script><ul class="top-level astro-4oho6hms"><li class="astro-4oho6hms"><details open class="astro-4oho6hms"><summary class="astro-4oho6hms"><span class="group-label astro-4oho6hms"><span class="large astro-4oho6hms">Configuration</span></span><svg aria-hidden="true" class="caret astro-4oho6hms astro-xhs3u4tj" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></summary><sl-sidebar-restore data-index="0"></sl-sidebar-restore><ul class="astro-4oho6hms"><li class="astro-4oho6hms"><a href="/reference/docs-json/" class="astro-4oho6hms"><span class="astro-4oho6hms">docs.json</span></a></li><li class="astro-4oho6hms"><a href="/reference/cli/" class="astro-4oho6hms"><span class="astro-4oho6hms">Commande hgdc-docs</span></a></li></ul></details></li><li class="astro-4oho6hms"><details open class="astro-4oho6hms"><summary class="astro-4oho6hms"><span class="group-label astro-4oho6hms"><span class="large astro-4oho6hms">API</span></span><svg aria-hidden="true" class="caret astro-4oho6hms astro-xhs3u4tj" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></summary><sl-sidebar-restore data-index="1"></sl-sidebar-restore><ul class="astro-4oho6hms"><li class="astro-4oho6hms"><a href="/reference/api-assistant/" class="astro-4oho6hms"><span class="astro-4oho6hms">API de l&#39;assistant</span></a></li><li class="astro-4oho6hms"><a href="/reference/mcp/" aria-current="page" class="astro-4oho6hms"><span class="astro-4oho6hms">Serveur MCP</span></a></li></ul></details></li></ul><script aria-hidden="true">
67
+ (() => {
68
+ const scroller = document.getElementById('starlight__sidebar');
69
+ if (!window._starlightScrollRestore || !scroller) return;
70
+ scroller.scrollTop = window._starlightScrollRestore;
71
+ delete window._starlightScrollRestore;
72
+ })();
73
+ </script></sl-sidebar-state-persist><div class="md:sl-hidden"><div class="mobile-preferences sl-flex astro-rl3robyt"><div class="social-icons astro-rl3robyt"></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-ahwfeyk3"><span class="sr-only astro-ahwfeyk3">Selectionner le thème</span><svg aria-hidden="true" class="icon label-icon astro-ahwfeyk3 astro-xhs3u4tj" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg><select autocomplete="off" class="astro-ahwfeyk3"><option value="dark" class="astro-ahwfeyk3">Sombre</option><option value="light" class="astro-ahwfeyk3">Clair</option><option value="auto" selected class="astro-ahwfeyk3">Auto</option></select><svg aria-hidden="true" class="icon caret astro-ahwfeyk3 astro-xhs3u4tj" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg></label></starlight-theme-select><script>
74
+ StarlightThemeProvider.updatePickers();
75
+ </script></div></div></div></sl-sidebar-pane></nav><div class="main-frame astro-wp5b5qr3"><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="lg:sl-flex astro-4itz52l2"><aside class="right-sidebar-container print:hidden astro-4itz52l2"><div class="right-sidebar astro-4itz52l2"><div class="lg:sl-hidden astro-kfdnz6db"><mobile-starlight-toc data-min-h="2" data-max-h="3" class="astro-a6nqycz2"><nav aria-labelledby="starlight__on-this-page--mobile" class="astro-a6nqycz2"><details id="starlight__mobile-toc" class="astro-a6nqycz2"><summary id="starlight__on-this-page--mobile" class="sl-flex astro-a6nqycz2"><span class="toggle sl-flex astro-a6nqycz2">Sur cette page<svg aria-hidden="true" class="caret astro-a6nqycz2 astro-xhs3u4tj" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></span><span class="display-current astro-a6nqycz2"></span></summary><div class="dropdown astro-a6nqycz2"><ul class="isMobile astro-3xl44bvg" style="--depth: 0;"><li style="--depth: 0;" class="astro-3xl44bvg"><a href="#_top" style="--depth: 0;" class="astro-3xl44bvg"><span style="--depth: 0;" class="astro-3xl44bvg">Vue d’ensemble</span></a></li><li style="--depth: 0;" class="astro-3xl44bvg"><a href="#méthodes" style="--depth: 0;" class="astro-3xl44bvg"><span style="--depth: 0;" class="astro-3xl44bvg">Méthodes</span></a></li><li style="--depth: 0;" class="astro-3xl44bvg"><a href="#outils" style="--depth: 0;" class="astro-3xl44bvg"><span style="--depth: 0;" class="astro-3xl44bvg">Outils</span></a><ul class="isMobile astro-3xl44bvg" style="--depth: 1;"><li style="--depth: 1;" class="astro-3xl44bvg"><a href="#search_docs" style="--depth: 1;" class="astro-3xl44bvg"><span style="--depth: 1;" class="astro-3xl44bvg">search_docs</span></a></li><li style="--depth: 1;" class="astro-3xl44bvg"><a href="#get_page" style="--depth: 1;" class="astro-3xl44bvg"><span style="--depth: 1;" class="astro-3xl44bvg">get_page</span></a></li><li style="--depth: 1;" class="astro-3xl44bvg"><a href="#list_pages" style="--depth: 1;" class="astro-3xl44bvg"><span style="--depth: 1;" class="astro-3xl44bvg">list_pages</span></a></li></ul></li><li style="--depth: 0;" class="astro-3xl44bvg"><a href="#limites" style="--depth: 0;" class="astro-3xl44bvg"><span style="--depth: 0;" class="astro-3xl44bvg">Limites</span></a></li></ul></div></details></nav></mobile-starlight-toc><script type="module" src="/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.C3fM4Kra.js"></script></div><div class="right-sidebar-panel sl-hidden lg:sl-block astro-kfdnz6db"><div class="sl-container astro-kfdnz6db"><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-3xl44bvg" style="--depth: 0;"><li style="--depth: 0;" class="astro-3xl44bvg"><a href="#_top" style="--depth: 0;" class="astro-3xl44bvg"><span style="--depth: 0;" class="astro-3xl44bvg">Vue d’ensemble</span></a></li><li style="--depth: 0;" class="astro-3xl44bvg"><a href="#méthodes" style="--depth: 0;" class="astro-3xl44bvg"><span style="--depth: 0;" class="astro-3xl44bvg">Méthodes</span></a></li><li style="--depth: 0;" class="astro-3xl44bvg"><a href="#outils" style="--depth: 0;" class="astro-3xl44bvg"><span style="--depth: 0;" class="astro-3xl44bvg">Outils</span></a><ul class="astro-3xl44bvg" style="--depth: 1;"><li style="--depth: 1;" class="astro-3xl44bvg"><a href="#search_docs" style="--depth: 1;" class="astro-3xl44bvg"><span style="--depth: 1;" class="astro-3xl44bvg">search_docs</span></a></li><li style="--depth: 1;" class="astro-3xl44bvg"><a href="#get_page" style="--depth: 1;" class="astro-3xl44bvg"><span style="--depth: 1;" class="astro-3xl44bvg">get_page</span></a></li><li style="--depth: 1;" class="astro-3xl44bvg"><a href="#list_pages" style="--depth: 1;" class="astro-3xl44bvg"><span style="--depth: 1;" class="astro-3xl44bvg">list_pages</span></a></li></ul></li><li style="--depth: 0;" class="astro-3xl44bvg"><a href="#limites" style="--depth: 0;" class="astro-3xl44bvg"><span style="--depth: 0;" class="astro-3xl44bvg">Limites</span></a></li></ul></nav></starlight-toc><script type="module" src="/_astro/TableOfContents.astro_astro_type_script_index_0_lang.BpJaGz7G.js"></script></div></div></div></aside><div class="main-pane astro-4itz52l2"><main data-pagefind-body class="astro-lnvyiehd" lang="fr-CH" dir="ltr"><div class="content-panel astro-6fa4cqtd"><div class="sl-container astro-6fa4cqtd"><div class="hgdc-title"><h1 id="_top" class="astro-r6a57gjs">Serveur MCP</h1><div class="hgdc-page-actions not-content" data-hgdc-skip data-pagefind-ignore><button type="button" class="hgdc-action" data-hgdc-copy="/reference/mcp.md"><svg aria-hidden="true" viewBox="0 0 24 24" width="16" height="16"><rect x="8" y="8" width="12" height="12" rx="3" fill="none" stroke="currentColor" stroke-width="1.8"></rect><path d="M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2" fill="none" stroke="currentColor" stroke-width="1.8"></path></svg><span data-label>Copier pour un LLM</span></button><details class="hgdc-menu"><summary class="hgdc-action hgdc-action--icon" aria-label="Autres formats de la page"><svg aria-hidden="true" viewBox="0 0 24 24" width="16" height="16"><path d="m6 9 6 6 6-6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"></path></svg></summary><ul class="hgdc-menu__list"><li><a href="/reference/mcp.md">Voir en Markdown</a></li><li><a data-hgdc-open="claude" href="https://claude.ai/new" target="_blank" rel="noopener">Ouvrir dans Claude</a></li><li><a data-hgdc-open="chatgpt" href="https://chatgpt.com/" target="_blank" rel="noopener">Ouvrir dans ChatGPT</a></li><li><a href="/llms.txt">Index pour les agents (llms.txt)</a></li></ul></details><button type="button" class="hgdc-action" data-hgdc-ask><svg aria-hidden="true" viewBox="0 0 24 24" width="16" height="16"><path d="M12 3l1.9 4.6L18.5 9.5l-4.6 1.9L12 16l-1.9-4.6L5.5 9.5l4.6-1.9z" fill="currentColor"></path></svg><span>Demander à l'assistant</span></button><span class="sr-only" role="status" aria-live="polite" data-hgdc-copy-status></span></div></div><script type="module">var e=document.querySelector(`[data-hgdc-copy-status]`);for(let t of document.querySelectorAll(`[data-hgdc-copy]`)){let n=t.querySelector(`[data-label]`);t.addEventListener(`click`,async()=>{let r=t=>{n.textContent=t,e&&(e.textContent=t),setTimeout(()=>n.textContent=`Copier pour un LLM`,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`)}})}var t=`Lis ${new URL(document.querySelector(`[data-hgdc-copy]`).dataset.hgdcCopy,location.href).href} et réponds à mes questions sur cette page.`;for(let e of document.querySelectorAll(`[data-hgdc-open]`))e.href=`${e.dataset.hgdcOpen===`claude`?`https://claude.ai/new`:`https://chatgpt.com/`}?q=${encodeURIComponent(t)}`;for(let e of document.querySelectorAll(`.hgdc-menu`))document.addEventListener(`click`,t=>{e.open&&!e.contains(t.target)&&(e.open=!1)}),e.addEventListener(`keydown`,t=>{t.key===`Escape`&&e.open&&(e.open=!1,e.querySelector(`summary`)?.focus())});for(let e of document.querySelectorAll(`[data-hgdc-ask]`))e.addEventListener(`click`,()=>document.dispatchEvent(new CustomEvent(`hgdc:assistant-open`)));</script></div></div><div class="content-panel astro-6fa4cqtd"><div class="sl-container astro-6fa4cqtd"><div class="sl-markdown-content"><p>Le serveur suit le <a href="https://modelcontextprotocol.io">Model Context Protocol</a>, transport Streamable HTTP, sans session : chaque requête est indépendante.</p>
76
+ <div class="expressive-code"><link rel="stylesheet" href="/_astro/ec.8nqtp.css"><script type="module" src="/_astro/ec.0vx5m.js"></script><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="text"><code><div class="ec-line"><div class="code"><span style="--0:#e6edf3;--1:#1f2328">POST https://docs.hgdc.ch/mcp/&#x3C;identifiant du projet></span></div></div><div class="ec-line"><div class="code"><span style="--0:#e6edf3;--1:#1f2328">Content-Type: application/json</span></div></div><div class="ec-line"><div class="code"><span style="--0:#e6edf3;--1:#1f2328">Accept: application/json, text/event-stream</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="POST https://docs.hgdc.ch/mcp/<identifiant du projet>Content-Type: application/jsonAccept: application/json, text/event-stream"><div></div></button></div></figure></div>
77
+ <p>Il répond en JSON (<code>application/json</code>), jamais en flux. <code>GET</code> et <code>DELETE</code> répondent 405. Versions du protocole acceptées : <code>2025-11-25</code>, <code>2025-06-18</code>, <code>2025-03-26</code>.</p>
78
+ <h2 id="méthodes">Méthodes</h2>
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+ <table><thead><tr><th>Méthode</th><th>Réponse</th></tr></thead><tbody><tr><td><code>initialize</code></td><td>Nom du serveur, capacités (<code>tools</code>) et consignes d’usage.</td></tr><tr><td><code>ping</code></td><td>Objet vide.</td></tr><tr><td><code>tools/list</code></td><td>Les trois outils ci-dessous.</td></tr><tr><td><code>tools/call</code></td><td>Le résultat de l’outil, en texte.</td></tr></tbody></table>
105
+ <p>Une notification (message sans <code>id</code>) reçoit un 202 sans corps.</p>
106
+ <h2 id="outils">Outils</h2>
107
+ <h3 id="search_docs">search_docs</h3>
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+ <table><thead><tr><th>Paramètre</th><th>Type</th><th>Rôle</th></tr></thead><tbody><tr><td><code>query</code></td><td>texte</td><td>Question ou mots-clés.</td></tr><tr><td><code>limit</code></td><td>entier, 1 à 10</td><td>Nombre de passages, 5 par défaut.</td></tr></tbody></table>
129
+ <p>Rend les passages trouvés, chacun avec son titre, sa section, son adresse et son texte.</p>
130
+ <h3 id="get_page">get_page</h3>
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+ <table><thead><tr><th>Paramètre</th><th>Type</th><th>Rôle</th></tr></thead><tbody><tr><td><code>path</code></td><td>texte</td><td>Chemin de la page (<code>/guides/publier/</code>), ou son adresse complète.</td></tr></tbody></table>
147
+ <p>Rend la page en Markdown, précédée de son adresse.</p>
148
+ <h3 id="list_pages">list_pages</h3>
149
+ <p>Sans paramètre. Rend la liste des pages publiées.</p>
150
+ <h2 id="limites">Limites</h2>
151
+ <p>Le serveur est public et en lecture seule : il ne donne accès qu’à ce que le site publie déjà. Chaque projet accepte 300 requêtes par minute, chaque visiteur 60. Au-delà, la réponse est un 429.</p></div><footer class="sl-flex astro-k7j6ewsk"><div class="meta sl-flex astro-k7j6ewsk"></div><div class="pagination-links print:hidden astro-lwfwnmnd" dir="ltr"><a href="/reference/api-assistant/" rel="prev" class="astro-lwfwnmnd"><svg aria-hidden="true" class="astro-lwfwnmnd astro-xhs3u4tj" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17 11H9.41l3.3-3.29a1.004 1.004 0 1 0-1.42-1.42l-5 5a1 1 0 0 0-.21.33 1 1 0 0 0 0 .76 1 1 0 0 0 .21.33l5 5a1.002 1.002 0 0 0 1.639-.325 1 1 0 0 0-.219-1.095L9.41 13H17a1 1 0 0 0 0-2Z"/></svg><span class="astro-lwfwnmnd">Précédent<br class="astro-lwfwnmnd"><span class="link-title astro-lwfwnmnd">API de l&#39;assistant</span></span></a></div></footer></div></div></main></div></div></div></div><hgdc-assistant data-endpoint="https://docs.hgdc.ch/api/v1/ask" data-project="jn7dj6vzkgs7n2d16kqjtb99yd8gbdw0" data-name="HGDC Docs"><button type="button" class="hgdc-launcher" data-open aria-haspopup="dialog" aria-expanded="false"><svg aria-hidden="true" viewBox="0 0 24 24" width="18" height="18"><path d="M12 3l1.9 4.6L18.5 9.5l-4.6 1.9L12 16l-1.9-4.6L5.5 9.5l4.6-1.9z" fill="currentColor"></path><path d="M18.5 15l.8 1.9 1.9.8-1.9.8-.8 1.9-.8-1.9-1.9-.8 1.9-.8z" fill="currentColor"></path></svg><span>Demander à l'IA</span><kbd class="hgdc-kbd" data-shortcut aria-hidden="true">Ctrl I</kbd></button><section class="hgdc-panel" role="dialog" aria-modal="false" aria-labelledby="hgdc-assistant-title" hidden><header class="hgdc-panel__header"><div><h2 id="hgdc-assistant-title">Assistant</h2><p>Répond à partir de cette documentation, avec ses sources.</p></div><div class="hgdc-panel__tools"><button type="button" class="hgdc-icon-button" data-reset aria-label="Nouvelle conversation" hidden><svg aria-hidden="true" viewBox="0 0 24 24" width="18" height="18"><path d="M4 12a8 8 0 1 0 2.3-5.7M4 4v4h4" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"></path></svg></button><button type="button" class="hgdc-icon-button" data-close aria-label="Fermer l'assistant"><svg aria-hidden="true" viewBox="0 0 24 24" width="18" height="18"><path d="M6 6l12 12M18 6 6 18" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"></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 HGDC 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="Comment publier ma doc ?" required></textarea><button type="submit" class="hgdc-send" data-send aria-label="Envoyer la question"><svg aria-hidden="true" viewBox="0 0 24 24" width="18" height="18"><path d="M12 19V5M5 12l7-7 7 7" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"></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.DWgmlr85.js"></script></body></html>
@@ -0,0 +1,49 @@
1
+ # Serveur MCP
2
+
3
+ Le serveur suit le [Model Context Protocol](https://modelcontextprotocol.io), transport Streamable HTTP, sans session : chaque requête est indépendante.
4
+
5
+ ```text
6
+ POST https://docs.hgdc.ch/mcp/<identifiant du projet>
7
+ Content-Type: application/json
8
+ Accept: application/json, text/event-stream
9
+ ```
10
+
11
+ Il répond en JSON (`application/json`), jamais en flux. `GET` et `DELETE` répondent 405. Versions du protocole acceptées : `2025-11-25`, `2025-06-18`, `2025-03-26`.
12
+
13
+ ## Méthodes
14
+
15
+ | Méthode | Réponse |
16
+ | ------------ | --------------------------------------------------------- |
17
+ | `initialize` | Nom du serveur, capacités (`tools`) et consignes d’usage. |
18
+ | `ping` | Objet vide. |
19
+ | `tools/list` | Les trois outils ci-dessous. |
20
+ | `tools/call` | Le résultat de l’outil, en texte. |
21
+
22
+ Une notification (message sans `id`) reçoit un 202 sans corps.
23
+
24
+ ## Outils
25
+
26
+ ### search_docs
27
+
28
+ | Paramètre | Type | Rôle |
29
+ | --------- | -------------- | --------------------------------- |
30
+ | `query` | texte | Question ou mots-clés. |
31
+ | `limit` | entier, 1 à 10 | Nombre de passages, 5 par défaut. |
32
+
33
+ Rend les passages trouvés, chacun avec son titre, sa section, son adresse et son texte.
34
+
35
+ ### get_page
36
+
37
+ | Paramètre | Type | Rôle |
38
+ | --------- | ----- | ---------------------------------------------------------------- |
39
+ | `path` | texte | Chemin de la page (`/guides/publier/`), ou son adresse complète. |
40
+
41
+ Rend la page en Markdown, précédée de son adresse.
42
+
43
+ ### list_pages
44
+
45
+ Sans paramètre. Rend la liste des pages publiées.
46
+
47
+ ## Limites
48
+
49
+ Le serveur est public et en lecture seule : il ne donne accès qu’à ce que le site publie déjà. Chaque projet accepte 300 requêtes par minute, chaque visiteur 60. Au-delà, la réponse est un 429.
@@ -0,0 +1,6 @@
1
+ import { defineConfig } from "astro/config"
2
+
3
+ import { createAstroConfig } from "../src/integration.ts"
4
+
5
+ // Le site est entièrement décrit par le docs.json du client : voir `src/integration.ts`.
6
+ export default defineConfig(createAstroConfig())
@@ -0,0 +1,74 @@
1
+ {
2
+ "hash": "7f7c06e8",
3
+ "configHash": "59d16a34",
4
+ "lockfileHash": "3191dbfd",
5
+ "browserHash": "eb035b8f",
6
+ "optimized": {
7
+ "astro > aria-query": {
8
+ "src": "../../../../../../node_modules/aria-query/lib/index.js",
9
+ "file": "astro_n_aria-query.js",
10
+ "fileHash": "412e8685",
11
+ "needsInterop": true
12
+ },
13
+ "astro > axobject-query": {
14
+ "src": "../../../../../../node_modules/axobject-query/lib/index.js",
15
+ "file": "astro_n_axobject-query.js",
16
+ "fileHash": "cb789b02",
17
+ "needsInterop": true
18
+ },
19
+ "astro > html-escaper": {
20
+ "src": "../../../../../../node_modules/html-escaper/esm/index.js",
21
+ "file": "astro_n_html-escaper.js",
22
+ "fileHash": "8f8a5e8f",
23
+ "needsInterop": false
24
+ },
25
+ "astro/runtime/client/dev-toolbar/entrypoint.js": {
26
+ "src": "../../../../../../node_modules/astro/dist/runtime/client/dev-toolbar/entrypoint.js",
27
+ "file": "astro_runtime_client_dev-toolbar_entrypoint__js.js",
28
+ "fileHash": "dbec2b4b",
29
+ "needsInterop": false
30
+ }
31
+ },
32
+ "chunks": {
33
+ "astro-B3JHJyiv": {
34
+ "file": "astro-B3JHJyiv.js",
35
+ "isDynamicEntry": true
36
+ },
37
+ "audit-Do8QH17W": {
38
+ "file": "audit-Do8QH17W.js",
39
+ "isDynamicEntry": true
40
+ },
41
+ "highlight-BLtvqtzO": {
42
+ "file": "highlight-BLtvqtzO.js",
43
+ "isDynamicEntry": false
44
+ },
45
+ "icons-C92i61-2": {
46
+ "file": "icons-C92i61-2.js",
47
+ "isDynamicEntry": false
48
+ },
49
+ "rolldown-runtime-C3I60J0A": {
50
+ "file": "rolldown-runtime-C3I60J0A.js",
51
+ "isDynamicEntry": false
52
+ },
53
+ "settings-BYmTKrLi": {
54
+ "file": "settings-BYmTKrLi.js",
55
+ "isDynamicEntry": true
56
+ },
57
+ "toolbar-CEKhukuK": {
58
+ "file": "toolbar-CEKhukuK.js",
59
+ "isDynamicEntry": true
60
+ },
61
+ "ui-library-BO4--ANp": {
62
+ "file": "ui-library-BO4--ANp.js",
63
+ "isDynamicEntry": true
64
+ },
65
+ "window-vo3A6TMn": {
66
+ "file": "window-vo3A6TMn.js",
67
+ "isDynamicEntry": false
68
+ },
69
+ "xray-Lf9x6g8P": {
70
+ "file": "xray-Lf9x6g8P.js",
71
+ "isDynamicEntry": true
72
+ }
73
+ }
74
+ }