<!DOCTYPE html>
<!--
  AUTO-GENERATED by scripts/generate-docs — do not edit by hand.
  Edit docs-src/{{page.slug}}.md (or templates/skills/<skill>/SKILL.md for skill data)
  and run `npm run build:docs`. CI enforces drift via `npm run docs:check`.
-->
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
    <title>{{i18n page.title "fr"}} · SmartStack Docs</title>
    <script>try{var t=localStorage.getItem('doc-theme');if(t==='light'||t==='dark')document.documentElement.setAttribute('data-theme',t);}catch(e){}</script>
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;600&display=swap">
    <link rel="stylesheet" href="css/styles.css">
</head>
<body class="lang-fr">
    <script>try{if(localStorage.getItem('doc-language')==='en')document.body.className='lang-en';}catch(e){}</script>
{{> icons}}
{{> header}}
    <div class="shell">
{{> sidebar}}
        <div class="scrim" id="scrim"></div>
        <main class="main{{#if page.wide}} wide{{/if}}{{#unless toc.length}} no-toc{{/unless}}">
            <div class="content">
{{#unless (eq page.slug "index")}}
{{#if breadcrumb.length}}
{{> breadcrumb}}
{{/if}}
{{/unless}}
{{{bodyHtml}}}
            </div>
{{#if toc.length}}
{{> toc}}
{{/if}}
        </main>
    </div>
{{> search}}
    <script src="js/search-index.js"></script>
    <script src="js/app.js"></script>
</body>
</html>
