@hgdc/docs 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs.schema.json +21 -0
- package/package.json +3 -1
- package/src/build/auto-import.ts +5 -24
- package/src/build/content.ts +82 -0
- package/src/build/markdown.ts +10 -5
- package/src/components/Accordion.astro +3 -1
- package/src/components/Callout.astro +31 -0
- package/src/components/Card.astro +3 -1
- package/src/components/Check.astro +2 -3
- package/src/components/CodeGroup.astro +9 -1
- package/src/components/Danger.astro +2 -3
- package/src/components/Info.astro +2 -3
- package/src/components/Note.astro +2 -3
- package/src/components/Tip.astro +2 -3
- package/src/components/Warning.astro +2 -3
- package/src/core/components.ts +166 -0
- package/src/core/config.ts +42 -0
- package/src/core/feedback-api.ts +27 -0
- package/src/core/theme.ts +6 -3
- package/src/core/validate.ts +276 -0
- package/src/integration.ts +102 -30
- package/src/overrides/Assistant.astro +17 -39
- package/src/overrides/Footer.astro +107 -0
- package/src/overrides/Head.astro +14 -14
- package/src/overrides/Header.astro +92 -0
- package/src/overrides/Icon.astro +65 -0
- package/src/overrides/PageFrame.astro +55 -8
- package/src/overrides/PageSidebar.astro +7 -0
- package/src/overrides/PageTitle.astro +126 -95
- package/src/overrides/Search.astro +54 -0
- package/src/overrides/Sidebar.astro +105 -60
- package/src/overrides/SidebarList.astro +52 -0
- package/src/overrides/SiteFooter.astro +51 -0
- package/src/overrides/ThemeProvider.astro +23 -0
- package/src/overrides/ThemeToggle.astro +90 -0
- package/src/overrides/TwoColumnContent.astro +45 -0
- package/src/overrides/sections.ts +29 -0
- package/src/styles/theme.css +2137 -511
- package/src/widget/client.ts +51 -19
- package/src/widget/code.ts +218 -0
- package/src/widget/excerpt.ts +5 -0
- package/src/widget/search.ts +222 -0
- package/template/.astro/collections/docs.schema.json +3 -0
- package/template/.astro/content-modules.mjs +35 -15
- package/template/.astro/data-store.json +1 -0
- package/template/.astro/settings.json +5 -0
- package/template/.build/.well-known/llms.txt +51 -34
- package/template/.build/404.html +16 -42
- package/template/.build/_astro/Assistant.astro_astro_type_script_index_0_lang.C1pz7yK1.js +4 -0
- package/template/.build/_astro/CodeGroup.astro_astro_type_script_index_0_lang.-eM8maAX.js +1 -0
- package/template/.build/_astro/Footer.astro_astro_type_script_index_0_lang.DzCnn3OT.js +1 -0
- package/template/.build/_astro/Search.astro_astro_type_script_index_0_lang.D7EcezBU.js +1 -0
- package/template/.build/_astro/code.smqv0zhe.js +9 -0
- package/template/.build/_astro/common.Dx3aBIS0.css +3 -0
- package/template/.build/_astro/{ec.8nqtp.css → ec.t9qpe.css} +1 -1
- package/template/.build/_astro/logo.BPu921Tp.svg +1 -0
- package/template/.build/_hgdc/corpus.json +1 -1
- package/template/.build/concepts/confidentialite/index.html +50 -0
- package/template/.build/concepts/confidentialite.md +38 -0
- package/template/.build/concepts/deploiements/index.html +106 -0
- package/template/.build/concepts/deploiements.md +70 -0
- package/template/.build/concepts/organisations-et-roles/index.html +83 -0
- package/template/.build/concepts/organisations-et-roles.md +39 -0
- package/template/.build/concepts/preversion/index.html +49 -0
- package/template/.build/concepts/preversion.md +52 -0
- package/template/.build/concepts/secrets-et-coffre/index.html +70 -0
- package/template/.build/concepts/secrets-et-coffre.md +54 -0
- package/template/.build/demarrer/depuis-github/index.html +34 -0
- package/template/.build/demarrer/depuis-github.md +68 -0
- package/template/.build/demarrer/premier-site/index.html +28 -0
- package/template/.build/demarrer/premier-site.md +94 -0
- package/template/.build/guides/brancher-un-domaine/index.html +91 -0
- package/template/.build/guides/brancher-un-domaine.md +81 -0
- package/template/.build/guides/cle-d-api/index.html +62 -0
- package/template/.build/guides/cle-d-api.md +78 -0
- package/template/.build/guides/depannage/index.html +64 -0
- package/template/.build/guides/depannage.md +69 -0
- package/template/.build/guides/deployer-depuis-github/index.html +45 -0
- package/template/.build/guides/deployer-depuis-github.md +70 -0
- package/template/.build/guides/deployer-un-framework/index.html +81 -0
- package/template/.build/guides/deployer-un-framework.md +74 -0
- package/template/.build/guides/github-actions-sans-application/index.html +53 -0
- package/template/.build/guides/github-actions-sans-application.md +95 -0
- package/template/.build/guides/inviter-une-personne/index.html +28 -0
- package/template/.build/guides/inviter-une-personne.md +38 -0
- package/template/.build/guides/lire-les-logs/index.html +37 -0
- package/template/.build/guides/lire-les-logs.md +48 -0
- package/template/.build/guides/migrer-depuis-vercel/index.html +25 -0
- package/template/.build/guides/migrer-depuis-vercel.md +51 -0
- package/template/.build/guides/monorepo/index.html +40 -0
- package/template/.build/guides/monorepo.md +42 -0
- package/template/.build/guides/revenir-en-arriere/index.html +39 -0
- package/template/.build/guides/revenir-en-arriere.md +50 -0
- package/template/.build/guides/site-statique/index.html +41 -0
- package/template/.build/guides/site-statique.md +59 -0
- package/template/.build/guides/synchroniser-doppler/index.html +46 -0
- package/template/.build/guides/synchroniser-doppler.md +63 -0
- package/template/.build/guides/variables-d-environnement/index.html +73 -0
- package/template/.build/guides/variables-d-environnement.md +92 -0
- package/template/.build/images/famille/account.svg +1 -0
- package/template/.build/images/famille/analytics.svg +1 -0
- package/template/.build/images/famille/docs.svg +1 -0
- package/template/.build/images/famille/host.svg +1 -0
- package/template/.build/images/famille/mail.svg +1 -0
- package/template/.build/images/famille/portal.svg +1 -0
- package/template/.build/images/famille/status.svg +1 -0
- package/template/.build/images/logo.svg +1 -0
- package/template/.build/index.html +30 -86
- package/template/.build/index.md +59 -21
- package/template/.build/llms-full.txt +2330 -518
- package/template/.build/llms.txt +51 -34
- package/template/.build/pagefind/fragment/fr-ch_16987e2.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_2b4c97b.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_3294a5c.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_34858c9.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_39ddba1.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_4ab1899.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_4d3a52a.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_506c187.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_5aa255a.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_6841c7d.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_6dc7a2d.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_847edff.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_8745af7.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_8aac5e6.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_916b233.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_9fd014a.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_a0808f8.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_a4e1f69.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_a80a53d.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_a9e725b.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_ac3f64c.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_af292f1.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_af3e716.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_b0689a4.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_baed996.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_c89e27a.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_cd6ca13.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_d09af09.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_d4bcea8.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_dc2a134.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_ded7ddc.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_e2528cb.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_e3cbb4e.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_e7902d9.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_f48ca47.pf_fragment +0 -0
- package/template/.build/pagefind/index/fr-ch_8a5f905.pf_index +0 -0
- package/template/.build/pagefind/index/fr-ch_fbd9c96.pf_index +0 -0
- package/template/.build/pagefind/pagefind-entry.json +1 -1
- package/template/.build/pagefind/pagefind.fr-ch_211aacbfa7f0e.pf_meta +0 -0
- package/template/.build/reference/api/deploiements/index.html +326 -0
- package/template/.build/reference/api/deploiements.md +170 -0
- package/template/.build/reference/api/erreurs/index.html +102 -0
- package/template/.build/reference/api/erreurs.md +50 -0
- package/template/.build/reference/api/fichiers/index.html +82 -0
- package/template/.build/reference/api/fichiers.md +62 -0
- package/template/.build/reference/api/introduction/index.html +126 -0
- package/template/.build/reference/api/introduction.md +84 -0
- package/template/.build/reference/api/projets/index.html +184 -0
- package/template/.build/reference/api/projets.md +102 -0
- package/template/.build/reference/api/utilisateur/index.html +96 -0
- package/template/.build/reference/api/utilisateur.md +89 -0
- package/template/.build/reference/api/variables/index.html +75 -0
- package/template/.build/reference/api/variables.md +58 -0
- package/template/.build/reference/cli/index.html +165 -82
- package/template/.build/reference/cli.md +159 -23
- package/template/.build/reference/compatibilite/index.html +196 -0
- package/template/.build/reference/compatibilite.md +64 -0
- package/template/.build/reference/domaines/index.html +171 -0
- package/template/.build/reference/domaines.md +76 -0
- package/template/.build/reference/limites/index.html +159 -0
- package/template/.build/reference/limites.md +56 -0
- package/template/.build/reference/variables/index.html +164 -0
- package/template/.build/reference/variables.md +63 -0
- package/template/.build/reference/vercel-json/index.html +65 -0
- package/template/.build/reference/vercel-json.md +51 -0
- package/template/node_modules/.vite/deps/_metadata.json +8 -8
- package/template/src/content.config.ts +8 -2
- package/template/.build/_astro/Assistant.astro_astro_type_script_index_0_lang.DWgmlr85.js +0 -4
- package/template/.build/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.C3fM4Kra.js +0 -1
- package/template/.build/_astro/Search.astro_astro_type_script_index_0_lang.Cn3-p701.js +0 -1
- package/template/.build/_astro/TableOfContents.astro_astro_type_script_index_0_lang.BpJaGz7G.js +0 -1
- package/template/.build/_astro/common.C-MpX45O.css +0 -3
- package/template/.build/_astro/logo-clair.BqNh6JNi.svg +0 -1
- package/template/.build/_astro/logo-sombre.BkgsFXxh.svg +0 -1
- package/template/.build/_astro/starlight-toc.D4UDIxQL.js +0 -1
- package/template/.build/_astro/ui-core.CrG20ya_.js +0 -2
- package/template/.build/demarrer/premiere-doc/index.html +0 -84
- package/template/.build/demarrer/premiere-doc.md +0 -65
- package/template/.build/explications/donnees/index.html +0 -114
- package/template/.build/explications/donnees.md +0 -28
- package/template/.build/explications/fonctionnement/index.html +0 -93
- package/template/.build/explications/fonctionnement.md +0 -32
- package/template/.build/guides/agents/index.html +0 -118
- package/template/.build/guides/agents.md +0 -54
- package/template/.build/guides/assistant/index.html +0 -119
- package/template/.build/guides/assistant.md +0 -46
- package/template/.build/guides/composants/index.html +0 -97
- package/template/.build/guides/composants.md +0 -101
- package/template/.build/guides/ecrire/index.html +0 -116
- package/template/.build/guides/ecrire.md +0 -63
- package/template/.build/guides/navigation/index.html +0 -90
- package/template/.build/guides/navigation.md +0 -63
- package/template/.build/guides/publier/index.html +0 -95
- package/template/.build/guides/publier.md +0 -65
- package/template/.build/guides/theme/index.html +0 -87
- package/template/.build/guides/theme.md +0 -33
- package/template/.build/images/favicon.svg +0 -1
- package/template/.build/images/logo-clair.svg +0 -1
- package/template/.build/images/logo-sombre.svg +0 -1
- package/template/.build/pagefind/fragment/fr-ch_2a431a9.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_456586a.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_4f8575c.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_68e734b.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_72b91f4.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_8f256dd.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_95a15cc.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_aa80c55.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_ab79738.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_cfa4336.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_dab8f5e.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_de60b43.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_e02aa49.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_e254a54.pf_fragment +0 -0
- package/template/.build/pagefind/fragment/fr-ch_e2c46e3.pf_fragment +0 -0
- package/template/.build/pagefind/index/fr-ch_a71411b.pf_index +0 -0
- package/template/.build/pagefind/pagefind.fr-ch_2f3ea8fccf961.pf_meta +0 -0
- package/template/.build/reference/api-assistant/index.html +0 -161
- package/template/.build/reference/api-assistant.md +0 -70
- package/template/.build/reference/docs-json/index.html +0 -192
- package/template/.build/reference/docs-json.md +0 -43
- package/template/.build/reference/mcp/index.html +0 -151
- package/template/.build/reference/mcp.md +0 -49
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="fr-CH" dir="ltr" data-theme="dark" data-has-toc data-has-sidebar class="astro-lavvtzy4"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>Comment ça marche | 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="/docs/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="Comment ça marche"/><meta property="og:type" content="article"/><meta property="og:locale" content="fr-CH"/><meta property="og:description" content="Du push au site publié, puis à l'assistant qui répond."/><meta property="og:site_name" content="Docs"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="Du push au site publié, puis à l'assistant qui répond."/><link rel="alternate" type="text/markdown" href="/docs/explications/fonctionnement.md"><link rel="describedby" type="text/markdown" href="/docs/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-sni56jbe" 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-sni56jbe" 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-sni56jbe" 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="/docs/_astro/print.ehPL0gv-.css" media="print"><link rel="stylesheet" href="/docs/_astro/common.C-MpX45O.css"><style>@layer starlight.components{svg:where(.astro-sni56jbe){color:var(--sl-icon-color);font-size:var(--sl-icon-size,1em);width:1em;height:1em;overflow:visible}}
|
|
28
|
-
</style><script type="module" src="/docs/_astro/page.cNngjUgL.js"></script><style>@layer starlight.components{starlight-tabs:where(.astro-4p5i55ez){display:block}.tablist-wrapper:where(.astro-4p5i55ez){overflow-x:auto}:where(.astro-4p5i55ez)[role=tablist]{border-bottom:2px solid var(--sl-color-gray-5);padding:0;list-style:none;display:flex}.tab:where(.astro-4p5i55ez){display:flex}.tab:where(.astro-4p5i55ez)>:where(.astro-4p5i55ez)[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-4p5i55ez) :where(.astro-4p5i55ez)[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-4p5i55ez)~[role=tabpanel]{margin-top:1rem}}
|
|
29
|
-
</style></head><body class="astro-lavvtzy4"><a class="sl-skip-link astro-7n5v7vyb" href="#_top">Aller au contenu</a><div class="page sl-flex astro-fr34orpz"><header class="header astro-fr34orpz"><div class="header astro-5krb3hnw"><div class="title-wrapper sl-flex astro-5krb3hnw"><a href="/docs/" class="site-title sl-flex astro-7hgfqris"><img class="light:sl-hidden print:hidden astro-7hgfqris" alt src="/docs/_astro/logo-sombre.BkgsFXxh.svg" width="32" height="32"><img class="dark:sl-hidden print:block astro-7hgfqris" alt src="/docs/_astro/logo-clair.BqNh6JNi.svg" width="32" height="32"><span class="astro-7hgfqris" translate="no">Docs</span></a></div><div class="sl-flex print:hidden astro-5krb3hnw"><site-search class="astro-5krb3hnw astro-w6spbfx5" data-translations="{"placeholder":"Rechercher"}"><button data-open-modal disabled aria-label="Rechercher" aria-keyshortcuts="Control+K" class="astro-w6spbfx5"><svg aria-hidden="true" class="astro-w6spbfx5 astro-sni56jbe" 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-w6spbfx5" aria-hidden="true">Rechercher</span><kbd class="sl-hidden md:sl-flex astro-w6spbfx5" style="display: none;"><kbd class="astro-w6spbfx5">Ctrl</kbd><kbd class="astro-w6spbfx5">K</kbd></kbd></button><dialog style="padding:0" aria-label="Rechercher" class="astro-w6spbfx5"><div class="dialog-frame sl-flex astro-w6spbfx5"><button data-close-modal class="sl-flex md:sl-hidden astro-w6spbfx5">Annuler</button><div class="search-container astro-w6spbfx5"><div id="starlight__search" class="astro-w6spbfx5"></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="/docs/_astro/Search.astro_astro_type_script_index_0_lang.Cn3-p701.js"></script></div><div class="sl-hidden md:sl-flex print:hidden right-group astro-5krb3hnw"><div class="sl-flex social-icons astro-5krb3hnw"></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-jnsxwl6p"><span class="sr-only astro-jnsxwl6p">Selectionner le thème</span><svg aria-hidden="true" class="icon label-icon astro-jnsxwl6p astro-sni56jbe" 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-jnsxwl6p"><option value="dark" class="astro-jnsxwl6p">Sombre</option><option value="light" class="astro-jnsxwl6p">Clair</option><option value="auto" selected class="astro-jnsxwl6p">Auto</option></select><svg aria-hidden="true" class="icon caret astro-jnsxwl6p astro-sni56jbe" 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-fr34orpz" aria-label="principale"><button popovertarget="starlight__sidebar" class="sl-menu-button sl-flex md:sl-hidden print:hidden astro-nyhgrkmo"><svg aria-hidden="true" class="open-menu astro-nyhgrkmo astro-sni56jbe" 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-nyhgrkmo astro-sni56jbe" 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-nyhgrkmo">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-fr34orpz"><div class="sidebar-content sl-flex astro-fr34orpz"><div class="hgdc-sections"><nav aria-label="Sections de la documentation"><ul class="hgdc-tabs"><li><a href="/docs/">Guides</a></li><li><a href="/docs/reference/docs-json/">Référence</a></li><li><a href="/docs/explications/fonctionnement/" aria-current="page">Explications</a></li></ul></nav></div><sl-sidebar-state-persist data-hash="1bjnk7o" class="astro-lm6od3dj"><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-uov4p2fy"><li class="astro-uov4p2fy"><details open class="astro-uov4p2fy"><summary class="astro-uov4p2fy"><span class="group-label astro-uov4p2fy"><span class="large astro-uov4p2fy">Sous le capot</span></span><svg aria-hidden="true" class="caret astro-uov4p2fy astro-sni56jbe" 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-uov4p2fy"><li class="astro-uov4p2fy"><a href="/docs/explications/fonctionnement/" aria-current="page" class="astro-uov4p2fy"><span class="astro-uov4p2fy">Comment ça marche</span></a></li><li class="astro-uov4p2fy"><a href="/docs/explications/donnees/" class="astro-uov4p2fy"><span class="astro-uov4p2fy">Données</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-2rk3g7w4"><div class="social-icons astro-2rk3g7w4"></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-jnsxwl6p"><span class="sr-only astro-jnsxwl6p">Selectionner le thème</span><svg aria-hidden="true" class="icon label-icon astro-jnsxwl6p astro-sni56jbe" 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-jnsxwl6p"><option value="dark" class="astro-jnsxwl6p">Sombre</option><option value="light" class="astro-jnsxwl6p">Clair</option><option value="auto" selected class="astro-jnsxwl6p">Auto</option></select><svg aria-hidden="true" class="icon caret astro-jnsxwl6p astro-sni56jbe" 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-fr34orpz"><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-o3fus7d3"><aside class="right-sidebar-container print:hidden astro-o3fus7d3"><div class="right-sidebar astro-o3fus7d3"><div class="lg:sl-hidden astro-uw7nsgmq"><mobile-starlight-toc data-min-h="2" data-max-h="3" class="astro-kp2z5vdj"><nav aria-labelledby="starlight__on-this-page--mobile" class="astro-kp2z5vdj"><details id="starlight__mobile-toc" class="astro-kp2z5vdj"><summary id="starlight__on-this-page--mobile" class="sl-flex astro-kp2z5vdj"><span class="toggle sl-flex astro-kp2z5vdj">Sur cette page<svg aria-hidden="true" class="caret astro-kp2z5vdj astro-sni56jbe" 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-kp2z5vdj"></span></summary><div class="dropdown astro-kp2z5vdj"><ul class="isMobile astro-5tbupws2" style="--depth: 0;"><li style="--depth: 0;" class="astro-5tbupws2"><a href="#_top" style="--depth: 0;" class="astro-5tbupws2"><span style="--depth: 0;" class="astro-5tbupws2">Vue d’ensemble</span></a></li><li style="--depth: 0;" class="astro-5tbupws2"><a href="#1-le-modèle-de-site" style="--depth: 0;" class="astro-5tbupws2"><span style="--depth: 0;" class="astro-5tbupws2">1. Le modèle de site</span></a></li><li style="--depth: 0;" class="astro-5tbupws2"><a href="#2-la-publication-par-host" style="--depth: 0;" class="astro-5tbupws2"><span style="--depth: 0;" class="astro-5tbupws2">2. La publication par Host</span></a></li><li style="--depth: 0;" class="astro-5tbupws2"><a href="#3-lindexation-par-la-console" style="--depth: 0;" class="astro-5tbupws2"><span style="--depth: 0;" class="astro-5tbupws2">3. L’indexation par la console</span></a></li><li style="--depth: 0;" class="astro-5tbupws2"><a href="#4-la-réponse" style="--depth: 0;" class="astro-5tbupws2"><span style="--depth: 0;" class="astro-5tbupws2">4. La réponse</span></a></li></ul></div></details></nav></mobile-starlight-toc><script type="module" src="/docs/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.C3fM4Kra.js"></script></div><div class="right-sidebar-panel sl-hidden lg:sl-block astro-uw7nsgmq"><div class="sl-container astro-uw7nsgmq"><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-5tbupws2" style="--depth: 0;"><li style="--depth: 0;" class="astro-5tbupws2"><a href="#_top" style="--depth: 0;" class="astro-5tbupws2"><span style="--depth: 0;" class="astro-5tbupws2">Vue d’ensemble</span></a></li><li style="--depth: 0;" class="astro-5tbupws2"><a href="#1-le-modèle-de-site" style="--depth: 0;" class="astro-5tbupws2"><span style="--depth: 0;" class="astro-5tbupws2">1. Le modèle de site</span></a></li><li style="--depth: 0;" class="astro-5tbupws2"><a href="#2-la-publication-par-host" style="--depth: 0;" class="astro-5tbupws2"><span style="--depth: 0;" class="astro-5tbupws2">2. La publication par Host</span></a></li><li style="--depth: 0;" class="astro-5tbupws2"><a href="#3-lindexation-par-la-console" style="--depth: 0;" class="astro-5tbupws2"><span style="--depth: 0;" class="astro-5tbupws2">3. L’indexation par la console</span></a></li><li style="--depth: 0;" class="astro-5tbupws2"><a href="#4-la-réponse" style="--depth: 0;" class="astro-5tbupws2"><span style="--depth: 0;" class="astro-5tbupws2">4. La réponse</span></a></li></ul></nav></starlight-toc><script type="module" src="/docs/_astro/TableOfContents.astro_astro_type_script_index_0_lang.BpJaGz7G.js"></script></div></div></div></aside><div class="main-pane astro-o3fus7d3"><main data-pagefind-body class="astro-lavvtzy4" lang="fr-CH" dir="ltr"><div class="content-panel astro-syzncznl"><div class="sl-container astro-syzncznl"><div class="hgdc-title"><h1 id="_top" class="astro-y7ikkdqz">Comment ça marche</h1><div class="hgdc-page-actions not-content" data-hgdc-skip data-pagefind-ignore><button type="button" class="hgdc-action" data-hgdc-copy="/docs/explications/fonctionnement.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="/docs/explications/fonctionnement.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="/docs/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-syzncznl"><div class="sl-container astro-syzncznl"><div class="sl-markdown-content"><p>Docs tient en trois pièces : un modèle de site, Host qui le publie, et la console qui l’indexe pour l’assistant.</p>
|
|
76
|
-
<h2 id="1-le-modèle-de-site">1. Le modèle de site</h2>
|
|
77
|
-
<p>Le paquet <code>@hgdc/docs</code> contient un site Astro Starlight complet. <code>hgdc-docs build</code> lit ton <code>docs.json</code>, prend tes pages MDX et construit un site statique. Rien ne tourne côté serveur : le site est rapide et ne tombe pas en panne avec la console.</p>
|
|
78
|
-
<p>Pendant le build, chaque page est aussi convertie en Markdown à partir du HTML final. Les composants sont donc déjà rendus : ce que lit un agent est exactement ce que voit un visiteur.</p>
|
|
79
|
-
<h2 id="2-la-publication-par-host">2. La publication par Host</h2>
|
|
80
|
-
<p>Host lance le build dans GitHub Actions à chaque push, puis sert le dossier <code>dist/</code> sur ton domaine. La doc est une source comme une autre : préversion par branche, retour arrière, domaine.</p>
|
|
81
|
-
<h2 id="3-lindexation-par-la-console">3. L’indexation par la console</h2>
|
|
82
|
-
<p>La console relit <code>/_hgdc/corpus.json</code> sur le site publié : tous les quarts d’heure, ou quand tu cliques sur <strong>Synchroniser</strong>. Elle vérifie que le corpus porte bien l’identifiant du projet, puis :</p>
|
|
83
|
-
<ol>
|
|
84
|
-
<li>découpe chaque page en passages, un par section (titre <code>##</code> ou plus fin) ;</li>
|
|
85
|
-
<li>compare avec l’index existant, passage par passage : seuls les passages nouveaux sont traités ;</li>
|
|
86
|
-
<li>calcule leur représentation vectorielle (embedding), qui permet de retrouver une reformulation ;</li>
|
|
87
|
-
<li>supprime les passages qui ne sont plus publiés.</li>
|
|
88
|
-
</ol>
|
|
89
|
-
<p>Un build identique au précédent ne change rien à l’index.</p>
|
|
90
|
-
<h2 id="4-la-réponse">4. La réponse</h2>
|
|
91
|
-
<p>Une question passe par deux recherches : par mots (les termes exacts, comme <code>docs.json</code>) et par sens (les reformulations). Les deux classements sont fusionnés, les six meilleurs passages sont donnés au modèle Claude, qui répond en citant ceux qu’il utilise.</p>
|
|
92
|
-
<aside aria-label="Note" class="starlight-aside starlight-aside--note"><p class="starlight-aside__title" aria-hidden="true"><svg aria-hidden="true" class="starlight-aside__icon astro-sni56jbe" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 11a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0v-4a1 1 0 0 0-1-1Zm.38-3.92a1 1 0 0 0-.76 0 1 1 0 0 0-.33.21 1.15 1.15 0 0 0-.21.33 1 1 0 0 0 .21 1.09c.097.088.209.16.33.21A1 1 0 0 0 13 8a1.05 1.05 0 0 0-.29-.71 1 1 0 0 0-.33-.21ZM12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 18a8 8 0 1 1 0-16.001A8 8 0 0 1 12 20Z"/></svg>Note</p><div class="starlight-aside__content"><p>L’index d’un projet est fermé aux autres : une recherche ne voit que les passages de son propre projet, vérifiés deux
|
|
93
|
-
fois.</p></div></aside></div><footer class="sl-flex astro-p5aduut3"><div class="meta sl-flex astro-p5aduut3"></div><div class="pagination-links print:hidden astro-gf3kf27h" dir="ltr"><a href="/docs/explications/donnees/" rel="next" class="astro-gf3kf27h"><svg aria-hidden="true" class="astro-gf3kf27h astro-sni56jbe" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z"/></svg><span class="astro-gf3kf27h">Suivant<br class="astro-gf3kf27h"><span class="link-title astro-gf3kf27h">Données</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="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 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="/docs/_astro/Assistant.astro_astro_type_script_index_0_lang.DWgmlr85.js"></script></body></html>
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# Comment ça marche
|
|
2
|
-
|
|
3
|
-
Docs tient en trois pièces : un modèle de site, Host qui le publie, et la console qui l’indexe pour l’assistant.
|
|
4
|
-
|
|
5
|
-
## 1. Le modèle de site
|
|
6
|
-
|
|
7
|
-
Le paquet `@hgdc/docs` contient un site Astro Starlight complet. `hgdc-docs build` lit ton `docs.json`, prend tes pages MDX et construit un site statique. Rien ne tourne côté serveur : le site est rapide et ne tombe pas en panne avec la console.
|
|
8
|
-
|
|
9
|
-
Pendant le build, chaque page est aussi convertie en Markdown à partir du HTML final. Les composants sont donc déjà rendus : ce que lit un agent est exactement ce que voit un visiteur.
|
|
10
|
-
|
|
11
|
-
## 2. La publication par Host
|
|
12
|
-
|
|
13
|
-
Host lance le build dans GitHub Actions à chaque push, puis sert le dossier `dist/` sur ton domaine. La doc est une source comme une autre : préversion par branche, retour arrière, domaine.
|
|
14
|
-
|
|
15
|
-
## 3. L’indexation par la console
|
|
16
|
-
|
|
17
|
-
La console relit `/_hgdc/corpus.json` sur le site publié : tous les quarts d’heure, ou quand tu cliques sur **Synchroniser**. Elle vérifie que le corpus porte bien l’identifiant du projet, puis :
|
|
18
|
-
|
|
19
|
-
1. découpe chaque page en passages, un par section (titre `##` ou plus fin) ;
|
|
20
|
-
2. compare avec l’index existant, passage par passage : seuls les passages nouveaux sont traités ;
|
|
21
|
-
3. calcule leur représentation vectorielle (embedding), qui permet de retrouver une reformulation ;
|
|
22
|
-
4. supprime les passages qui ne sont plus publiés.
|
|
23
|
-
|
|
24
|
-
Un build identique au précédent ne change rien à l’index.
|
|
25
|
-
|
|
26
|
-
## 4. La réponse
|
|
27
|
-
|
|
28
|
-
Une question passe par deux recherches : par mots (les termes exacts, comme `docs.json`) et par sens (les reformulations). Les deux classements sont fusionnés, les six meilleurs passages sont donnés au modèle Claude, qui répond en citant ceux qu’il utilise.
|
|
29
|
-
|
|
30
|
-
> **Note**
|
|
31
|
-
>
|
|
32
|
-
> L’index d’un projet est fermé aux autres : une recherche ne voit que les passages de son propre projet, vérifiés deux fois.
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="fr-CH" dir="ltr" data-theme="dark" data-has-toc data-has-sidebar class="astro-lavvtzy4"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>llms.txt et MCP | 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="/docs/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="llms.txt et MCP"/><meta property="og:type" content="article"/><meta property="og:locale" content="fr-CH"/><meta property="og:description" content="Rendre la doc lisible par les outils d'IA, avec llms.txt, des pages en Markdown et un serveur MCP."/><meta property="og:site_name" content="Docs"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="Rendre la doc lisible par les outils d'IA, avec llms.txt, des pages en Markdown et un serveur MCP."/><link rel="alternate" type="text/markdown" href="/docs/guides/agents.md"><link rel="describedby" type="text/markdown" href="/docs/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-sni56jbe" 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-sni56jbe" 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-sni56jbe" 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="/docs/_astro/print.ehPL0gv-.css" media="print"><link rel="stylesheet" href="/docs/_astro/common.C-MpX45O.css"><style>@layer starlight.components{svg:where(.astro-sni56jbe){color:var(--sl-icon-color);font-size:var(--sl-icon-size,1em);width:1em;height:1em;overflow:visible}}
|
|
28
|
-
</style><script type="module" src="/docs/_astro/page.cNngjUgL.js"></script><style>@layer starlight.components{starlight-tabs:where(.astro-4p5i55ez){display:block}.tablist-wrapper:where(.astro-4p5i55ez){overflow-x:auto}:where(.astro-4p5i55ez)[role=tablist]{border-bottom:2px solid var(--sl-color-gray-5);padding:0;list-style:none;display:flex}.tab:where(.astro-4p5i55ez){display:flex}.tab:where(.astro-4p5i55ez)>:where(.astro-4p5i55ez)[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-4p5i55ez) :where(.astro-4p5i55ez)[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-4p5i55ez)~[role=tabpanel]{margin-top:1rem}}
|
|
29
|
-
</style></head><body class="astro-lavvtzy4"><a class="sl-skip-link astro-7n5v7vyb" href="#_top">Aller au contenu</a><div class="page sl-flex astro-fr34orpz"><header class="header astro-fr34orpz"><div class="header astro-5krb3hnw"><div class="title-wrapper sl-flex astro-5krb3hnw"><a href="/docs/" class="site-title sl-flex astro-7hgfqris"><img class="light:sl-hidden print:hidden astro-7hgfqris" alt src="/docs/_astro/logo-sombre.BkgsFXxh.svg" width="32" height="32"><img class="dark:sl-hidden print:block astro-7hgfqris" alt src="/docs/_astro/logo-clair.BqNh6JNi.svg" width="32" height="32"><span class="astro-7hgfqris" translate="no">Docs</span></a></div><div class="sl-flex print:hidden astro-5krb3hnw"><site-search class="astro-5krb3hnw astro-w6spbfx5" data-translations="{"placeholder":"Rechercher"}"><button data-open-modal disabled aria-label="Rechercher" aria-keyshortcuts="Control+K" class="astro-w6spbfx5"><svg aria-hidden="true" class="astro-w6spbfx5 astro-sni56jbe" 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-w6spbfx5" aria-hidden="true">Rechercher</span><kbd class="sl-hidden md:sl-flex astro-w6spbfx5" style="display: none;"><kbd class="astro-w6spbfx5">Ctrl</kbd><kbd class="astro-w6spbfx5">K</kbd></kbd></button><dialog style="padding:0" aria-label="Rechercher" class="astro-w6spbfx5"><div class="dialog-frame sl-flex astro-w6spbfx5"><button data-close-modal class="sl-flex md:sl-hidden astro-w6spbfx5">Annuler</button><div class="search-container astro-w6spbfx5"><div id="starlight__search" class="astro-w6spbfx5"></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="/docs/_astro/Search.astro_astro_type_script_index_0_lang.Cn3-p701.js"></script></div><div class="sl-hidden md:sl-flex print:hidden right-group astro-5krb3hnw"><div class="sl-flex social-icons astro-5krb3hnw"></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-jnsxwl6p"><span class="sr-only astro-jnsxwl6p">Selectionner le thème</span><svg aria-hidden="true" class="icon label-icon astro-jnsxwl6p astro-sni56jbe" 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-jnsxwl6p"><option value="dark" class="astro-jnsxwl6p">Sombre</option><option value="light" class="astro-jnsxwl6p">Clair</option><option value="auto" selected class="astro-jnsxwl6p">Auto</option></select><svg aria-hidden="true" class="icon caret astro-jnsxwl6p astro-sni56jbe" 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-fr34orpz" aria-label="principale"><button popovertarget="starlight__sidebar" class="sl-menu-button sl-flex md:sl-hidden print:hidden astro-nyhgrkmo"><svg aria-hidden="true" class="open-menu astro-nyhgrkmo astro-sni56jbe" 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-nyhgrkmo astro-sni56jbe" 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-nyhgrkmo">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-fr34orpz"><div class="sidebar-content sl-flex astro-fr34orpz"><div class="hgdc-sections"><nav aria-label="Sections de la documentation"><ul class="hgdc-tabs"><li><a href="/docs/" aria-current="page">Guides</a></li><li><a href="/docs/reference/docs-json/">Référence</a></li><li><a href="/docs/explications/fonctionnement/">Explications</a></li></ul></nav></div><sl-sidebar-state-persist data-hash="0bj9e9u" class="astro-lm6od3dj"><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-uov4p2fy"><li class="astro-uov4p2fy"><details open class="astro-uov4p2fy"><summary class="astro-uov4p2fy"><span class="group-label astro-uov4p2fy"><span class="large astro-uov4p2fy">Démarrer</span></span><svg aria-hidden="true" class="caret astro-uov4p2fy astro-sni56jbe" 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-uov4p2fy"><li class="astro-uov4p2fy"><a href="/docs/" class="astro-uov4p2fy"><span class="astro-uov4p2fy">Bienvenue</span></a></li><li class="astro-uov4p2fy"><a href="/docs/demarrer/premiere-doc/" class="astro-uov4p2fy"><span class="astro-uov4p2fy">Ta première doc</span></a></li><li class="astro-uov4p2fy"><a href="/docs/guides/publier/" class="astro-uov4p2fy"><span class="astro-uov4p2fy">Publier</span></a></li></ul></details></li><li class="astro-uov4p2fy"><details open class="astro-uov4p2fy"><summary class="astro-uov4p2fy"><span class="group-label astro-uov4p2fy"><span class="large astro-uov4p2fy">Écrire</span></span><svg aria-hidden="true" class="caret astro-uov4p2fy astro-sni56jbe" 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-uov4p2fy"><li class="astro-uov4p2fy"><a href="/docs/guides/ecrire/" class="astro-uov4p2fy"><span class="astro-uov4p2fy">Écrire en MDX</span></a></li><li class="astro-uov4p2fy"><a href="/docs/guides/composants/" class="astro-uov4p2fy"><span class="astro-uov4p2fy">Composants</span></a></li><li class="astro-uov4p2fy"><a href="/docs/guides/navigation/" class="astro-uov4p2fy"><span class="astro-uov4p2fy">Navigation</span></a></li><li class="astro-uov4p2fy"><a href="/docs/guides/theme/" class="astro-uov4p2fy"><span class="astro-uov4p2fy">Thème et logo</span></a></li></ul></details></li><li class="astro-uov4p2fy"><details open class="astro-uov4p2fy"><summary class="astro-uov4p2fy"><span class="group-label astro-uov4p2fy"><span class="large astro-uov4p2fy">Assistant et agents</span></span><svg aria-hidden="true" class="caret astro-uov4p2fy astro-sni56jbe" 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="2"></sl-sidebar-restore><ul class="astro-uov4p2fy"><li class="astro-uov4p2fy"><a href="/docs/guides/assistant/" class="astro-uov4p2fy"><span class="astro-uov4p2fy">Assistant</span></a></li><li class="astro-uov4p2fy"><a href="/docs/guides/agents/" aria-current="page" class="astro-uov4p2fy"><span class="astro-uov4p2fy">Pour les agents</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-2rk3g7w4"><div class="social-icons astro-2rk3g7w4"></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-jnsxwl6p"><span class="sr-only astro-jnsxwl6p">Selectionner le thème</span><svg aria-hidden="true" class="icon label-icon astro-jnsxwl6p astro-sni56jbe" 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-jnsxwl6p"><option value="dark" class="astro-jnsxwl6p">Sombre</option><option value="light" class="astro-jnsxwl6p">Clair</option><option value="auto" selected class="astro-jnsxwl6p">Auto</option></select><svg aria-hidden="true" class="icon caret astro-jnsxwl6p astro-sni56jbe" 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-fr34orpz"><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-o3fus7d3"><aside class="right-sidebar-container print:hidden astro-o3fus7d3"><div class="right-sidebar astro-o3fus7d3"><div class="lg:sl-hidden astro-uw7nsgmq"><mobile-starlight-toc data-min-h="2" data-max-h="3" class="astro-kp2z5vdj"><nav aria-labelledby="starlight__on-this-page--mobile" class="astro-kp2z5vdj"><details id="starlight__mobile-toc" class="astro-kp2z5vdj"><summary id="starlight__on-this-page--mobile" class="sl-flex astro-kp2z5vdj"><span class="toggle sl-flex astro-kp2z5vdj">Sur cette page<svg aria-hidden="true" class="caret astro-kp2z5vdj astro-sni56jbe" 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-kp2z5vdj"></span></summary><div class="dropdown astro-kp2z5vdj"><ul class="isMobile astro-5tbupws2" style="--depth: 0;"><li style="--depth: 0;" class="astro-5tbupws2"><a href="#_top" style="--depth: 0;" class="astro-5tbupws2"><span style="--depth: 0;" class="astro-5tbupws2">Vue d’ensemble</span></a></li><li style="--depth: 0;" class="astro-5tbupws2"><a href="#llmstxt" style="--depth: 0;" class="astro-5tbupws2"><span style="--depth: 0;" class="astro-5tbupws2">llms.txt</span></a></li><li style="--depth: 0;" class="astro-5tbupws2"><a href="#une-page-en-markdown" style="--depth: 0;" class="astro-5tbupws2"><span style="--depth: 0;" class="astro-5tbupws2">Une page en Markdown</span></a></li><li style="--depth: 0;" class="astro-5tbupws2"><a href="#serveur-mcp" style="--depth: 0;" class="astro-5tbupws2"><span style="--depth: 0;" class="astro-5tbupws2">Serveur MCP</span></a></li></ul></div></details></nav></mobile-starlight-toc><script type="module" src="/docs/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.C3fM4Kra.js"></script></div><div class="right-sidebar-panel sl-hidden lg:sl-block astro-uw7nsgmq"><div class="sl-container astro-uw7nsgmq"><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-5tbupws2" style="--depth: 0;"><li style="--depth: 0;" class="astro-5tbupws2"><a href="#_top" style="--depth: 0;" class="astro-5tbupws2"><span style="--depth: 0;" class="astro-5tbupws2">Vue d’ensemble</span></a></li><li style="--depth: 0;" class="astro-5tbupws2"><a href="#llmstxt" style="--depth: 0;" class="astro-5tbupws2"><span style="--depth: 0;" class="astro-5tbupws2">llms.txt</span></a></li><li style="--depth: 0;" class="astro-5tbupws2"><a href="#une-page-en-markdown" style="--depth: 0;" class="astro-5tbupws2"><span style="--depth: 0;" class="astro-5tbupws2">Une page en Markdown</span></a></li><li style="--depth: 0;" class="astro-5tbupws2"><a href="#serveur-mcp" style="--depth: 0;" class="astro-5tbupws2"><span style="--depth: 0;" class="astro-5tbupws2">Serveur MCP</span></a></li></ul></nav></starlight-toc><script type="module" src="/docs/_astro/TableOfContents.astro_astro_type_script_index_0_lang.BpJaGz7G.js"></script></div></div></div></aside><div class="main-pane astro-o3fus7d3"><main data-pagefind-body class="astro-lavvtzy4" lang="fr-CH" dir="ltr"><div class="content-panel astro-syzncznl"><div class="sl-container astro-syzncznl"><div class="hgdc-title"><h1 id="_top" class="astro-y7ikkdqz">llms.txt et MCP</h1><div class="hgdc-page-actions not-content" data-hgdc-skip data-pagefind-ignore><button type="button" class="hgdc-action" data-hgdc-copy="/docs/guides/agents.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="/docs/guides/agents.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="/docs/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-syzncznl"><div class="sl-container astro-syzncznl"><div class="sl-markdown-content"><p>Les assistants de code et les agents lisent la documentation pour écrire du code juste. Docs leur donne trois portes d’entrée, sans rien à configurer.</p>
|
|
76
|
-
<h2 id="llmstxt">llms.txt</h2>
|
|
77
|
-
<p>Chaque site publie à sa racine :</p>
|
|
78
|
-
<ul>
|
|
79
|
-
<li><code>/llms.txt</code> : l’index de la doc au format <a href="https://llmstxt.org">llmstxt.org</a>, une ligne par page avec sa description, rangées par onglet et par groupe. Le même fichier répond aussi sur <code>/.well-known/llms.txt</code>.</li>
|
|
80
|
-
<li><code>/llms-full.txt</code> : toute la doc en un seul fichier Markdown.</li>
|
|
81
|
-
</ul>
|
|
82
|
-
<h2 id="une-page-en-markdown">Une page en Markdown</h2>
|
|
83
|
-
<p>Chaque page existe aussi en Markdown à la même adresse suivie de <code>.md</code> : <code>/guides/publier.md</code> pour <code>/guides/publier/</code>. Les pages l’annoncent dans leur <code><head></code> avec <code>rel="alternate"</code>.</p>
|
|
84
|
-
<p>En haut de chaque page, <strong>Copier pour un LLM</strong> copie ce Markdown. Le menu à côté ouvre la page dans Claude ou ChatGPT, ou affiche le Markdown.</p>
|
|
85
|
-
<h2 id="serveur-mcp">Serveur MCP</h2>
|
|
86
|
-
<p>Chaque projet a un serveur MCP en lecture seule. L’adresse est dans l’aperçu du projet, dans la console :</p>
|
|
87
|
-
<div class="expressive-code"><link rel="stylesheet" href="/docs/_astro/ec.8nqtp.css"><script type="module" src="/docs/_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">https://docs.hgdc.ch/mcp/<identifiant du projet></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="https://docs.hgdc.ch/mcp/<identifiant du projet>"><div></div></button></div></figure></div>
|
|
88
|
-
<p>Dans Claude Code :</p>
|
|
89
|
-
<div class="expressive-code"><figure class="frame is-terminal not-content"><figcaption class="header"><span class="title"></span><span class="sr-only">Fenêtre de terminal</span></figcaption><pre data-language="bash"><code><div class="ec-line"><div class="code"><span style="--0:#FFA657;--1:#953800">claude</span><span style="--0:#E6EDF3;--1:#1F2328"> </span><span style="--0:#A5D6FF;--1:#0A3069">mcp</span><span style="--0:#E6EDF3;--1:#1F2328"> </span><span style="--0:#A5D6FF;--1:#0A3069">add</span><span style="--0:#E6EDF3;--1:#1F2328"> </span><span style="--0:#79C0FF;--1:#0550AE">--transport</span><span style="--0:#E6EDF3;--1:#1F2328"> </span><span style="--0:#A5D6FF;--1:#0A3069">http</span><span style="--0:#E6EDF3;--1:#1F2328"> </span><span style="--0:#A5D6FF;--1:#0A3069">acme-docs</span><span style="--0:#E6EDF3;--1:#1F2328"> </span><span style="--0:#A5D6FF;--1:#0A3069">https://docs.hgdc.ch/mcp/<identifiant</span><span style="--0:#E6EDF3;--1:#1F2328"> </span><span style="--0:#A5D6FF;--1:#0A3069">du</span><span style="--0:#E6EDF3;--1:#1F2328"> </span><span style="--0:#A5D6FF;--1:#0A3069">projet></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="claude mcp add --transport http acme-docs https://docs.hgdc.ch/mcp/<identifiant du projet>"><div></div></button></div></figure></div>
|
|
90
|
-
<p>Dans Cursor (<code>.cursor/mcp.json</code>) :</p>
|
|
91
|
-
<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:#E6EDF3;--1:#1F2328">{ </span><span style="--0:#7EE787;--1:#116329">"mcpServers"</span><span style="--0:#E6EDF3;--1:#1F2328">: { </span><span style="--0:#7EE787;--1:#116329">"acme-docs"</span><span style="--0:#E6EDF3;--1:#1F2328">: { </span><span style="--0:#7EE787;--1:#116329">"url"</span><span style="--0:#E6EDF3;--1:#1F2328">: </span><span style="--0:#A5D6FF;--1:#0A3069">"https://docs.hgdc.ch/mcp/<identifiant du projet>"</span><span style="--0:#E6EDF3;--1:#1F2328"> } } }</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="{ "mcpServers": { "acme-docs": { "url": "https://docs.hgdc.ch/mcp/<identifiant du projet>" } } }"><div></div></button></div></figure></div>
|
|
92
|
-
<p>Dans VS Code (<code>.vscode/mcp.json</code>) :</p>
|
|
93
|
-
<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:#E6EDF3;--1:#1F2328">{ </span><span style="--0:#7EE787;--1:#116329">"servers"</span><span style="--0:#E6EDF3;--1:#1F2328">: { </span><span style="--0:#7EE787;--1:#116329">"acme-docs"</span><span style="--0:#E6EDF3;--1:#1F2328">: { </span><span style="--0:#7EE787;--1:#116329">"type"</span><span style="--0:#E6EDF3;--1:#1F2328">: </span><span style="--0:#A5D6FF;--1:#0A3069">"http"</span><span style="--0:#E6EDF3;--1:#1F2328">, </span><span style="--0:#7EE787;--1:#116329">"url"</span><span style="--0:#E6EDF3;--1:#1F2328">: </span><span style="--0:#A5D6FF;--1:#0A3069">"https://docs.hgdc.ch/mcp/<identifiant du projet>"</span><span style="--0:#E6EDF3;--1:#1F2328"> } } }</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="{ "servers": { "acme-docs": { "type": "http", "url": "https://docs.hgdc.ch/mcp/<identifiant du projet>" } } }"><div></div></button></div></figure></div>
|
|
94
|
-
<p>L’aperçu du projet donne ces lignes déjà remplies. Le serveur reste ouvert quand l’assistant du site est coupé : il ne fait que chercher, sans modèle.</p>
|
|
95
|
-
<p>Le serveur propose trois outils :</p>
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
<table><thead><tr><th>Outil</th><th>Rôle</th></tr></thead><tbody><tr><td><code>search_docs</code></td><td>Cherche dans la doc et rend les passages les plus proches, avec l’adresse de chaque section.</td></tr><tr><td><code>get_page</code></td><td>Rend une page complète en Markdown, à partir de son chemin.</td></tr><tr><td><code>list_pages</code></td><td>Liste les pages avec leur titre et leur chemin.</td></tr></tbody></table>
|
|
118
|
-
<p>Le détail du protocole est dans la <a href="/docs/reference/mcp/">référence MCP</a>.</p></div><footer class="sl-flex astro-p5aduut3"><div class="meta sl-flex astro-p5aduut3"></div><div class="pagination-links print:hidden astro-gf3kf27h" dir="ltr"><a href="/docs/guides/assistant/" rel="prev" class="astro-gf3kf27h"><svg aria-hidden="true" class="astro-gf3kf27h astro-sni56jbe" 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-gf3kf27h">Précédent<br class="astro-gf3kf27h"><span class="link-title astro-gf3kf27h">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="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 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="/docs/_astro/Assistant.astro_astro_type_script_index_0_lang.DWgmlr85.js"></script></body></html>
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
# llms.txt et MCP
|
|
2
|
-
|
|
3
|
-
Les assistants de code et les agents lisent la documentation pour écrire du code juste. Docs leur donne trois portes d’entrée, sans rien à configurer.
|
|
4
|
-
|
|
5
|
-
## llms.txt
|
|
6
|
-
|
|
7
|
-
Chaque site publie à sa racine :
|
|
8
|
-
|
|
9
|
-
- `/llms.txt` : l’index de la doc au format [llmstxt.org](https://llmstxt.org), une ligne par page avec sa description, rangées par onglet et par groupe. Le même fichier répond aussi sur `/.well-known/llms.txt`.
|
|
10
|
-
- `/llms-full.txt` : toute la doc en un seul fichier Markdown.
|
|
11
|
-
|
|
12
|
-
## Une page en Markdown
|
|
13
|
-
|
|
14
|
-
Chaque page existe aussi en Markdown à la même adresse suivie de `.md` : `/guides/publier.md` pour `/guides/publier/`. Les pages l’annoncent dans leur `<head>` avec `rel="alternate"`.
|
|
15
|
-
|
|
16
|
-
En haut de chaque page, **Copier pour un LLM** copie ce Markdown. Le menu à côté ouvre la page dans Claude ou ChatGPT, ou affiche le Markdown.
|
|
17
|
-
|
|
18
|
-
## Serveur MCP
|
|
19
|
-
|
|
20
|
-
Chaque projet a un serveur MCP en lecture seule. L’adresse est dans l’aperçu du projet, dans la console :
|
|
21
|
-
|
|
22
|
-
```text
|
|
23
|
-
https://docs.hgdc.ch/mcp/<identifiant du projet>
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
Dans Claude Code :
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
claude mcp add --transport http acme-docs https://docs.hgdc.ch/mcp/<identifiant du projet>
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
Dans Cursor (`.cursor/mcp.json`) :
|
|
33
|
-
|
|
34
|
-
```json
|
|
35
|
-
{ "mcpServers": { "acme-docs": { "url": "https://docs.hgdc.ch/mcp/<identifiant du projet>" } } }
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
Dans VS Code (`.vscode/mcp.json`) :
|
|
39
|
-
|
|
40
|
-
```json
|
|
41
|
-
{ "servers": { "acme-docs": { "type": "http", "url": "https://docs.hgdc.ch/mcp/<identifiant du projet>" } } }
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
L’aperçu du projet donne ces lignes déjà remplies. Le serveur reste ouvert quand l’assistant du site est coupé : il ne fait que chercher, sans modèle.
|
|
45
|
-
|
|
46
|
-
Le serveur propose trois outils :
|
|
47
|
-
|
|
48
|
-
| Outil | Rôle |
|
|
49
|
-
| ------------- | -------------------------------------------------------------------------------------------- |
|
|
50
|
-
| `search_docs` | Cherche dans la doc et rend les passages les plus proches, avec l’adresse de chaque section. |
|
|
51
|
-
| `get_page` | Rend une page complète en Markdown, à partir de son chemin. |
|
|
52
|
-
| `list_pages` | Liste les pages avec leur titre et leur chemin. |
|
|
53
|
-
|
|
54
|
-
Le détail du protocole est dans la [référence MCP](/docs/reference/mcp/).
|