Déploiement en production : PR staging vers production, tag sémantique, canary progressif surveillé jusqu’à 100%.
Le déploiement en production chez Kaeyros Analytics fait l’objet de gates renforcés pour minimiser les risques. Chaque promotion passe par un canary progressif surveillé, avec la possibilité d’annulation immédiate en cas d’anomalie.
Ne mergez jamais une PR de production le vendredi après-midi. Une rollback nocturne dégrade la qualité de vie de tout le monde.
Pour la mécanique canary détaillée, voir /deploiement/canary.
⌘I
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"Documentation technique Kaeyros","colors":{"primary":"#0F766E","light":"#14B8A6","dark":"#134E4A"},"favicon":"https://mintcdn.com/kaeyros-analytics/0gf-hKkmi4xtYWt0/favicon.svg?fit=max\u0026auto=format\u0026n=0gf-hKkmi4xtYWt0\u0026q=85\u0026s=1f2b339b893c964c85427abd90142541","navbar":{"links":[{"href":"mailto:devops@kaeyros-analytics.com","label":"Contact"}]},"footer":{"socials":{"github":"https://github.com/kaeyros-analytics-org"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"kaeyros-analytics","hasAudioNarration":false,"actualSubdomain":"kaeyros-analytics","customDomains":["infra-docs.kaeyros.org"],"gitSource":{"type":"github","owner":"kaeyros-analytics-org","repo":"it-documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ace6b1792e833f3735db041","collectionId":"6a417b59-7bce-4627-aa03-e52a56caec75","liveDeploymentHistoryId":"6ace6b1792e833f3735db041","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ace6b1792e833f3735db041","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"Services internes","count":23},{"language":"default","tag":"Opérations","count":18},{"language":"default","tag":"Infrastructure","count":15},{"language":"default","tag":"Déploiement","count":14},{"language":"default","tag":"Sécurité","count":13},{"language":"default","tag":"CI/CD","count":10},{"language":"default","tag":"Stack de supervision","count":10},{"language":"default","tag":"Modèle GitOps","count":9},{"language":"default","tag":"Tâches courantes","count":8},{"language":"default","tag":"Provisionnement","count":8}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"cicd/processus-production","slug":"/cicd/processus-production","pageMetadata":{"title":"Processus de déploiement en production","sidebarTitle":"Processus prod","description":"Déploiement en production : PR staging vers production, tag sémantique, canary progressif surveillé jusqu'à 100%.","href":"/cicd/processus-production"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Déploiement en production : PR staging vers production, tag sémantique, canary progressif surveillé jusqu’à 100%.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Heading,Info,Steps,Table,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Le déploiement en production chez Kaeyros Analytics fait l’objet de gates renforcés pour minimiser les risques. Chaque promotion passe par un canary progressif surveillé, avec la possibilité d’annulation immédiate en cas d’anomalie.`}),`\n`,_jsx(Heading,{level:`2`,id:`rôles`,children:`Rôles`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Rôle`}),_jsx(_components.th,{children:`Responsabilité`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Tech lead / Maintainer`}),_jsxs(_components.td,{children:[`Ouvre la PR `,_jsx(_components.code,{children:`staging`}),` vers `,_jsx(_components.code,{children:`production`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Reviewers (deux minimum)`}),_jsx(_components.td,{children:`Validation croisée`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`DevOps`}),_jsx(_components.td,{children:`Surveille le canary, décide de promote/abort`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Alertmanager`}),_jsx(_components.td,{children:`Notifie via ntfy et WhatsApp en cas d’anomalie`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`étapes-du-processus`,children:`Étapes du processus`}),`\n`,_jsx(Steps,{}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Ne mergez jamais une PR de production le vendredi après-midi. Une rollback nocturne dégrade la qualité de vie de tout le monde.`})}),`\n`,_jsx(Info,{children:_jsx(_components.p,{children:`Pour la mécanique canary détaillée, voir /deploiement/canary.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Processus de déploiement en production","sidebarTitle":"Processus prod","description":"Déploiement en production : PR staging vers production, tag sémantique, canary progressif surveillé jusqu'à 100%.","href":"/cicd/processus-production"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Rôles","slug":"rôles","depth":2,"children":[]},{"title":"Étapes du processus","slug":"étapes-du-processus","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"kaeyros-analytics","siteName":"Documentation technique Kaeyros","title":"Processus de déploiement en production - Documentation technique Kaeyros","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-13T17:32:35.503Z","originalFileLocation":"cicd/processus-production.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Déploiement en production : PR staging vers production, tag sémantique, canary progressif surveillé jusqu\u0026#x27;à 100%.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Documentation technique Kaeyros\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/kaeyros-analytics/wHSSv1y6-bdlZ4bD/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/kaeyros-analytics/wHSSv1y6-bdlZ4bD/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/kaeyros-analytics/wHSSv1y6-bdlZ4bD/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/kaeyros-analytics/wHSSv1y6-bdlZ4bD/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/kaeyros-analytics/wHSSv1y6-bdlZ4bD/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/kaeyros-analytics/wHSSv1y6-bdlZ4bD/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/kaeyros-analytics/wHSSv1y6-bdlZ4bD/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/kaeyros-analytics/wHSSv1y6-bdlZ4bD/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/kaeyros-analytics/wHSSv1y6-bdlZ4bD/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Processus de déploiement en production - Documentation technique Kaeyros\">\u003cmeta data-mint-head property=\"og:description\" content=\"Déploiement en production : PR staging vers production, tag sémantique, canary progressif surveillé jusqu\u0026#x27;à 100%.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Documentation technique Kaeyros\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://infra-docs.kaeyros.org/cicd/processus-production\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://kaeyros-analytics.mintlify.app/_mintlify/api/og/v2?division=Processus+de+d%C3%A9ploiement\u0026amp;title=Processus+de+d%C3%A9ploiement+en+production\u0026amp;description=D%C3%A9ploiement+en+production+%3A+PR+staging+vers+production%2C+tag+s%C3%A9mantique%2C+canary+progressif+surveill%C3%A9+jusqu%27%C3%A0+100%25.\u0026amp;theme=8157bd32ddef625e2bd30aba\u0026amp;signature=7fa48549439d8cd983a6390c5950c89987a66c256cef849617ff3d3ea5f8bde5\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Processus de déploiement en production - Documentation technique Kaeyros\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Déploiement en production : PR staging vers production, tag sémantique, canary progressif surveillé jusqu\u0026#x27;à 100%.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://kaeyros-analytics.mintlify.app/_mintlify/api/og/v2?division=Processus+de+d%C3%A9ploiement\u0026amp;title=Processus+de+d%C3%A9ploiement+en+production\u0026amp;description=D%C3%A9ploiement+en+production+%3A+PR+staging+vers+production%2C+tag+s%C3%A9mantique%2C+canary+progressif+surveill%C3%A9+jusqu%27%C3%A0+100%25.\u0026amp;theme=8157bd32ddef625e2bd30aba\u0026amp;signature=7fa48549439d8cd983a6390c5950c89987a66c256cef849617ff3d3ea5f8bde5\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/kaeyros-analytics/wHSSv1y6-bdlZ4bD/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Documentation technique Kaeyros\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0F766E\">\u003clink data-mint-head rel=\"canonical\" href=\"https://infra-docs.kaeyros.org/cicd/processus-production\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/cicd/processus-production.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://infra-docs.kaeyros.org/#organization\",\"name\":\"Documentation technique Kaeyros\",\"url\":\"https://infra-docs.kaeyros.org\"},{\"@type\":\"WebSite\",\"@id\":\"https://infra-docs.kaeyros.org#website\",\"name\":\"Documentation technique Kaeyros\",\"url\":\"https://infra-docs.kaeyros.org\",\"publisher\":{\"@id\":\"https://infra-docs.kaeyros.org/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://infra-docs.kaeyros.org/cicd/processus-production#webpage\",\"url\":\"https://infra-docs.kaeyros.org/cicd/processus-production\",\"name\":\"Processus de déploiement en production\",\"description\":\"Déploiement en production : PR staging vers production, tag sémantique, canary progressif surveillé jusqu'à 100%.\",\"dateModified\":\"2026-10-13T17:32:35.503Z\",\"isPartOf\":{\"@id\":\"https://infra-docs.kaeyros.org#website\"},\"breadcrumb\":{\"@id\":\"https://infra-docs.kaeyros.org/cicd/processus-production#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://infra-docs.kaeyros.org/cicd/processus-production#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Processus de déploiement\",\"item\":\"https://infra-docs.kaeyros.org/cicd/processus-dev\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Processus de déploiement en production\",\"item\":\"https://infra-docs.kaeyros.org/cicd/processus-production\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://infra-docs.kaeyros.org/cicd/processus-production#article\",\"headline\":\"Processus de déploiement en production\",\"name\":\"Processus de déploiement en production\",\"description\":\"Déploiement en production : PR staging vers production, tag sémantique, canary progressif surveillé jusqu'à 100%.\",\"url\":\"https://infra-docs.kaeyros.org/cicd/processus-production\",\"mainEntityOfPage\":{\"@id\":\"https://infra-docs.kaeyros.org/cicd/processus-production#webpage\"},\"dateModified\":\"2026-10-13T17:32:35.503Z\",\"publisher\":{\"@id\":\"https://infra-docs.kaeyros.org/#organization\"},\"isPartOf\":{\"@id\":\"https://infra-docs.kaeyros.org#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Documentation technique Kaeyros\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Documentation technique Kaeyros","nav":{"global":null,"tabs":[{"tab":"Accueil","icon":"house","pages":[{"title":"Accueil","href":""}]},{"tab":"Infrastructure","icon":"server","pages":[{"title":"Infrastructure","href":"/infrastructure/materiel-fournisseurs"}]},{"tab":"Provisionnement","icon":"wrench","pages":[{"title":"Provisionnement","href":"/provisionnement/ansible-principe"}]},{"tab":"CI/CD","icon":"code-branch","groups":[{"group":"Modèle Git","icon":"code-branch","pages":[{"title":"Modèle de branches Git chez Kaeyros","sidebarTitle":"Branches","href":"/cicd/branches"},{"title":"Flux d'une modification, du commit à la production","sidebarTitle":"Flux","href":"/cicd/flux"}]},{"group":"Pipelines","icon":"gears","pages":[{"title":"Pipelines GitHub Actions : build, test, publish","sidebarTitle":"GitHub Actions","href":"/cicd/github-actions"},{"title":"Dockerfile gabarit pour les services backend Kaeyros","sidebarTitle":"Dockerfile backend","href":"/cicd/dockerfile-backend"},{"title":"Dockerfile gabarit pour les frontends (Next.js et Vite)","sidebarTitle":"Dockerfile frontend","href":"/cicd/dockerfile-frontend"},{"title":"Registres d'images : ghcr.io et registre GitLab interne","sidebarTitle":"Registres","href":"/cicd/registres"}]},{"group":"Processus de déploiement","icon":"rocket","pages":[{"title":"Processus de déploiement vers l'environnement de développement","sidebarTitle":"Vers dev","href":"/cicd/processus-dev"},{"title":"Processus de déploiement en préproduction","sidebarTitle":"Processus staging","description":"Déploiement en préproduction : PR develop vers staging, validation QA, build stg, déploiement automatique par ArgoCD.","href":"/cicd/processus-staging"},{"title":"Processus de déploiement en production","sidebarTitle":"Processus prod","href":"/cicd/processus-production"}]},{"group":"Conformité","icon":"shield-check","pages":[{"title":"Ruleset production-grade : protection des branches","sidebarTitle":"Ruleset production-grade","description":"Le ruleset GitHub qui protège les branches production et staging : 2 approbations, CODEOWNERS, déploiement develop et méthodes de merge autorisées.","href":"/cicd/ruleset-production-grade"}]}]},{"tab":"Déploiement","icon":"rocket","pages":[{"title":"Déploiement","href":"/deploiement/gitops-principe"}]},{"tab":"Sécurité","icon":"lock","pages":[{"title":"Sécurité","href":"/securite/coffres"}]},{"tab":"Services internes","icon":"toolbox","pages":[{"title":"Services internes","href":"/services/serveur-outillage"}]},{"tab":"Opérations","icon":"terminal","pages":[{"title":"Opérations","href":"/operations/conventions"}]},{"tab":"Annexes","icon":"book-bookmark","pages":[{"title":"Annexes","href":"/annexes/aide-memoire"}]}]},"title":"Processus de déploiement en production - Documentation technique Kaeyros","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":[],"chunks":[]}