{"id":25747,"date":"2026-05-11T09:51:29","date_gmt":"2026-05-11T09:51:29","guid":{"rendered":"https:\/\/www.cycloid.io\/?post_type=blogs&#038;p=25747"},"modified":"2026-06-17T08:54:46","modified_gmt":"2026-06-17T08:54:46","slug":"day-0-day-1-et-day-2-gouvernance-sur-lensemble-du-cycle-de-vie-dune-plateforme","status":"publish","type":"blogs","link":"https:\/\/www.cycloid.io\/fr\/blog\/day-0-day-1-et-day-2-gouvernance-sur-lensemble-du-cycle-de-vie-dune-plateforme\/","title":{"rendered":"Day 0, Day 1 et Day 2 : gouvernance sur l&rsquo;ensemble du cycle de vie d&rsquo;une plateforme"},"content":{"rendered":"<h1><b>TL;DR<\/b><\/h1>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">La gouvernance \u00e9choue quand le Day 0 est trait\u00e9 comme un lancement plut\u00f4t qu&rsquo;un \u00e9v\u00e9nement g\u00e9n\u00e9rateur d&rsquo;artefacts. Encoder d\u00e8s le d\u00e9part les fronti\u00e8res RBAC, la topologie r\u00e9seau et les contraintes <span style=\"font-weight: 400;\">.forms.yml<\/span> garantit que chaque environnement en aval h\u00e9rite d&rsquo;une base s\u00e9curis\u00e9e qui ne peut \u00eatre contourn\u00e9e.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Les files de revue croissent lin\u00e9airement avec les effectifs et finissent par s&rsquo;effondrer sous le poids des tickets r\u00e9p\u00e9titifs. En encodant la politique directement dans les StackForms, on passe de \u00ab\u00a0v\u00e9rifier le travail\u00a0\u00bb \u00e0 \u00ab\u00a0d\u00e9finir les fronti\u00e8res\u00a0\u00bb, permettant aux ing\u00e9nieurs d&rsquo;avancer \u00e0 pleine vitesse sans avoir besoin d&rsquo;un humain pour cliquer sur \u00ab\u00a0Approuver\u00a0\u00bb.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">La plupart des \u00e9quipes sur-investissent dans le d\u00e9ploiement initial mais sous-traitent les ann\u00e9es d&rsquo;entropie qui suivent. Une plateforme n&rsquo;est aussi solide que sa capacit\u00e9 \u00e0 gouverner les actions post-provisionnement \u2014 mont\u00e9e en charge, correctifs, rotation des secrets \u2014 via les m\u00eames chemins GitOps utilis\u00e9s au lancement.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Les \u00ab\u00a0hotfixes\u00a0\u00bb manuels via la console cr\u00e9ent un delta entre votre d\u00e9p\u00f4t Git et la r\u00e9alit\u00e9, entra\u00eenant des d\u00e9faillances en cascade lors de la prochaine ex\u00e9cution automatis\u00e9e. La d\u00e9tection continue de la d\u00e9rive est indispensable ; elle transforme la stack versionn\u00e9e en v\u00e9rit\u00e9 terrain vivante plut\u00f4t qu&rsquo;en template fig\u00e9.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Les tableaux de bord de d\u00e9penses mensuels sont des post-mortems sur du capital gaspill\u00e9. Une vraie gouvernance requiert un FinOps op\u00e9rationnel, o\u00f9 les plafonds budg\u00e9taires et les estimations d&#8217;empreinte carbone sont expos\u00e9s dans le formulaire de provisionnement pour bloquer le sur-provisionnement avant que la ressource n&rsquo;existe.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">La gouvernance ne devrait pas exiger une ardoise vierge ou une r\u00e9\u00e9criture compl\u00e8te de l&rsquo;infrastructure existante. Des outils comme InfraImport permettent de r\u00e9tro-ing\u00e9nier les ressources cloud existantes en Stacks versionn\u00e9es, ramenant l&rsquo;infrastructure non g\u00e9r\u00e9e sous le contr\u00f4le et la visibilit\u00e9 de la plateforme.<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2><b>Ce que signifient r\u00e9ellement les op\u00e9rations Day 0, Day 1 et Day 2 pour les \u00e9quipes platform<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Les \u00e9quipes platform ma\u00eetrisent bien le Day 1. Les pipelines CI\/CD sont construits, les modules Terraform \u00e9crits, le provisionnement automatis\u00e9. La v\u00e9rit\u00e9 inconfortable est que le Day 1 est la partie facile \u2014 il est d\u00e9limit\u00e9 dans le temps. Le Day 2 ne l&rsquo;est pas, et l&rsquo;investissement en gouvernance ne correspond presque jamais \u00e0 la dur\u00e9e op\u00e9rationnelle.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Gartner pr\u00e9voit que<\/span><a href=\"https:\/\/www.gartner.com\/en\/newsroom\/press-releases\/2024-12-11-gartner-identifies-the-top-trends-impacting-infrastructure-and-operations-for-2025\"> <span style=\"font-weight: 400;\">d&rsquo;ici 2026, 80 % des grandes organisations d&rsquo;ing\u00e9nierie logicielle auront constitu\u00e9 des \u00e9quipes platform<\/span><\/a><span style=\"font-weight: 400;\"> en tant que fournisseurs internes de services et d&rsquo;outils r\u00e9utilisables, contre 45 % en 2022. La pression de d\u00e9ployer rapidement ces plateformes cr\u00e9e un sch\u00e9ma o\u00f9 la gouvernance Day 2 est report\u00e9e jusqu&rsquo;\u00e0 ce que la douleur d&rsquo;en \u00eatre d\u00e9pourvu soit suffisamment forte pour justifier l&rsquo;investissement. \u00c0 ce stade, il y a d\u00e9j\u00e0 de la d\u00e9rive \u00e0 corriger, des d\u00e9passements de co\u00fbts \u00e0 expliquer et des lacunes de conformit\u00e9 \u00e0 documenter. Selon<\/span><a href=\"https:\/\/www.devopsdigest.com\/hot-topic\/platform-engineering\"> <span style=\"font-weight: 400;\">l&rsquo;enqu\u00eate de Spacelift aupr\u00e8s de 413 d\u00e9cideurs en infrastructure<\/span><\/a><span style=\"font-weight: 400;\">, 45 % des organisations affirment avoir atteint des niveaux \u00e9lev\u00e9s d&rsquo;automatisation, mais seulement 14 % d\u00e9montrent les pratiques d&rsquo;une excellence r\u00e9elle en automatisation d&rsquo;infrastructure. L&rsquo;\u00e9cart r\u00e9side presque enti\u00e8rement dans le Day 2.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le mod\u00e8le Day 0\/1\/2 ne fonctionne que si la gouvernance est continue sur les trois phases, pas appliqu\u00e9e au provisionnement puis silencieusement abandonn\u00e9e. Cet article couvre ce que chaque phase poss\u00e8de r\u00e9ellement, o\u00f9 la gouvernance s&rsquo;effondre entre les phases, et \u00e0 quoi ressemble une plateforme con\u00e7ue pour couvrir l&rsquo;int\u00e9gralit\u00e9 du cycle de vie \u2014 des d\u00e9finitions <span style=\"font-weight: 400;\">.forms.yml<\/span> qui encodent la politique Day 0 aux m\u00e9canismes de d\u00e9tection de d\u00e9rive et de gouvernance des co\u00fbts qui rendent le Day 2 g\u00e9rable \u00e0 l&rsquo;\u00e9chelle.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><b>Ce qui appartient au Day 0, Day 1 et Day 2<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Le Day 0 n&rsquo;est pas une r\u00e9union de planification ; il produit des artefacts d&rsquo;ing\u00e9nierie : fronti\u00e8res RBAC, templates IaC, politiques de conformit\u00e9, strat\u00e9gie d&rsquo;identit\u00e9, d\u00e9cisions de topologie r\u00e9seau et structures de d\u00e9p\u00f4ts de catalogue. Tout ce qui suit h\u00e9rite de ces contraintes, ce qui rend leur erreur co\u00fbteuse. Modifier r\u00e9troactivement la segmentation VPC dans un environnement de production ou restructurer une hi\u00e9rarchie de catalogue apr\u00e8s l&rsquo;import de dizaines de stacks sont le type de correctifs qui prennent des semaines et g\u00e9n\u00e8rent des incidents en chemin.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le Day 1 est la fen\u00eatre de d\u00e9ploiement initial. L&rsquo;infrastructure est provisionn\u00e9e, les services d\u00e9ploy\u00e9s, les pipelines CI\/CD c\u00e2bl\u00e9s. Les contraintes Day 0 doivent arriver ici intactes, encod\u00e9es dans les templates et formulaires avec lesquels les ing\u00e9nieurs interagissent lors du provisionnement.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le Day 2 commence au moment o\u00f9 le premier changement post-d\u00e9ploiement est appliqu\u00e9 et dure jusqu&rsquo;\u00e0 la mise hors service de l&rsquo;environnement. Il couvre la supervision, le patching, la rotation des secrets, les \u00e9v\u00e9nements de mont\u00e9e en charge, les mises \u00e0 jour de charts Helm, la gestion des co\u00fbts et le travail de nettoyage li\u00e9 \u00e0 la mise hors service propre des environnements. L&rsquo;appeler une \u00ab\u00a0phase\u00a0\u00bb est g\u00e9n\u00e9reux \u2014 c&rsquo;est l&rsquo;\u00e9tat par d\u00e9faut de tout syst\u00e8me en production et la seule phase sans date de fin d\u00e9finie. Une \u00e9quipe qui investit massivement dans les jours 0 et 1, puis traite le Day 2 comme le probl\u00e8me de quelqu&rsquo;un d&rsquo;autre, passera la majorit\u00e9 de son temps op\u00e9rationnel dans un \u00e9tat qu&rsquo;elle n&rsquo;a jamais con\u00e7u.<\/span><\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone wp-image-24808 size-full\" src=\"https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/Cycloid-info-16.png\" alt=\"\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/Cycloid-info-16.png 1200w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/Cycloid-info-16-300x169.png 300w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/Cycloid-info-16-1024x576.png 1024w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/Cycloid-info-16-768x432.png 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><b>Pourquoi les files de revue manuelle s&rsquo;effondrent \u00e0 100+ ing\u00e9nieurs<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Le sch\u00e9ma d&rsquo;\u00e9chec est coh\u00e9rent : les \u00e9quipes platform appliquent les standards \u00e0 la cr\u00e9ation via des modules Terraform approuv\u00e9s et des portes de pipeline, puis laissent les op\u00e9rations Day 2 retomber dans les tickets. Monter en charge un environnement, faire pivoter un secret, mettre \u00e0 jour un chart Helm ou d\u00e9commissionner un service contourne les m\u00eames garde-fous qui r\u00e9gissaient le provisionnement initial.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Comme<\/span><a href=\"https:\/\/www.cycloid.io\/blog\/cycloid-platform-engineering-initiatives-that-scale-governance-without-scaling-headcount-in-2026\/\"> <span style=\"font-weight: 400;\">le documentent les recherches de Cycloid en platform engineering<\/span><\/a><span style=\"font-weight: 400;\">, la gouvernance qui d\u00e9pend de la revue humaine \u00e9volue lin\u00e9airement avec l&rsquo;usage. \u00c0 100+ ing\u00e9nieurs, les files de revue deviennent le goulot d&rsquo;\u00e9tranglement, pas les outils manquants. Une \u00e9quipe data qui provisionne un nouvel entrep\u00f4t d\u00e9clenche une revue d&rsquo;ing\u00e9nieur platform pour le placement r\u00e9seau Terraform, une revue de s\u00e9curit\u00e9 pour les chemins d&rsquo;acc\u00e8s aux donn\u00e9es et un contr\u00f4le budg\u00e9taire pour la taille de l&rsquo;entrep\u00f4t \u2014 tout cela s\u00e9quentiellement, tout cela pour une demande structurellement identique aux vingt pr\u00e9c\u00e9dentes. Ajouter plus de r\u00e9viseurs dans la boucle ne r\u00e9sout pas le probl\u00e8me structurel ; cela ne fait que retarder le moment o\u00f9 la file s&rsquo;effondre.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><b>Comment la d\u00e9rive de configuration entre dans les environnements de production<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Les modes de d\u00e9faillance sont sp\u00e9cifiques et cumulatifs. La d\u00e9rive de configuration entre par les modifications manuelles via la console effectu\u00e9es pour d\u00e9bloquer des incidents \u2014 des modifications qui ne retournent jamais dans le contr\u00f4le de version. L&rsquo;exposition aux co\u00fbts se construit depuis les ressources sur-provisionn\u00e9es correctement dimensionn\u00e9es au Day 1 mais jamais r\u00e9\u00e9valu\u00e9es \u00e0 mesure que les sch\u00e9mas d&rsquo;utilisation \u00e9voluent. Les lacunes de conformit\u00e9 \u00e9mergent des politiques appliqu\u00e9es \u00e0 la cr\u00e9ation mais pas \u00e0 la mise \u00e0 jour ni \u00e0 la mise hors service. Un environnement qui a pass\u00e9 sa revue de s\u00e9curit\u00e9 initiale peut accumuler des mois de modifications non gouvern\u00e9es avant que le prochain audit ne r\u00e9v\u00e8le le probl\u00e8me.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le plancher op\u00e9rationnel s&rsquo;effondre quand les runbooks manuels sont le m\u00e9canisme de r\u00e9ponse principal au Day 2. Personne ne veut fouiller une page Notion \u00e0 2h du matin en cherchant la proc\u00e9dure de red\u00e9marrage d&rsquo;un service qu&rsquo;il n&rsquo;a pas \u00e9crit.<\/span><img decoding=\"async\" class=\"alignnone wp-image-24812 size-full\" src=\"https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/Cycloid-info-15.png\" alt=\"\" width=\"800\" height=\"675\" srcset=\"https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/Cycloid-info-15.png 800w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/Cycloid-info-15-300x253.png 300w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/Cycloid-info-15-768x648.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2><b>Op\u00e9rations Day 0 : RBAC, topologie r\u00e9seau et d\u00e9cisions IaC avant le provisionnement<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Le Day 0 est l\u00e0 o\u00f9 le mod\u00e8le de gouvernance tient la route ou s&rsquo;effondre silencieusement. Les d\u00e9cisions prises ici n&rsquo;affectent pas seulement le premier d\u00e9ploiement \u2014 elles contraignent chaque environnement, chaque mise \u00e0 jour et chaque \u00e9v\u00e9nement de mise hors service sur la dur\u00e9e de vie de la plateforme.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Traiter les livrables Day 0 comme des artefacts d&rsquo;ing\u00e9nierie durables plut\u00f4t que comme des documents provisoires \u00e0 r\u00e9viser plus tard est ce qui distingue une plateforme qui vieillit bien d&rsquo;une qui accumule une dette structurelle \u00e0 un rythme pr\u00e9visible.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><b>D\u00e9cisions Day 0 difficiles \u00e0 modifier ult\u00e9rieurement<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Les d\u00e9cisions de topologie r\u00e9seau et de segmentation VPC prises pendant le Day 0 sont co\u00fbteuses \u00e0 modifier apr\u00e8s d\u00e9ploiement. Isoler r\u00e9troactivement un niveau de donn\u00e9es provisionn\u00e9 sur le m\u00eame sous-r\u00e9seau que les charges de travail applicatives n&rsquo;est pas un changement de configuration \u2014 c&rsquo;est une r\u00e9-architecture avec des implications d&rsquo;indisponibilit\u00e9. La strat\u00e9gie d&rsquo;identit\u00e9 et la conception du mod\u00e8le RBAC ont le m\u00eame poids. Un mod\u00e8le RBAC construit autour de comptes de service trop larges ne peut pas facilement \u00eatre durci apr\u00e8s que des dizaines de charges de travail ont \u00e9t\u00e9 d\u00e9ploy\u00e9es dessus. Le choix de la cha\u00eene d&rsquo;outils IaC entra\u00eene des implications de lock-in qui fa\u00e7onnent l&rsquo;automatisation Day 2 pendant des ann\u00e9es ; les changements de cha\u00eene en milieu de cycle signifient r\u00e9\u00e9crire le mod\u00e8le de gestion d&rsquo;\u00e9tat pour chaque environnement existant.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Cycloid traite Git comme le store d&rsquo;\u00e9tat autoritatif d\u00e8s le Day 0, o\u00f9 les d\u00e9p\u00f4ts de catalogue, les d\u00e9finitions de Stacks et les fichiers de configuration sont versionn\u00e9s avant qu&rsquo;un environnement n&rsquo;existe.<\/span><a href=\"https:\/\/docs.cycloid.io\/reference\/stacks\/\"> <span style=\"font-weight: 400;\">Les d\u00e9p\u00f4ts de catalogue, les d\u00e9finitions de stacks et les configurations <span style=\"font-weight: 400;\">.cycloid.yml<\/span> sont versionn\u00e9s avant qu&rsquo;un environnement n&rsquo;existe<\/span><\/a><span style=\"font-weight: 400;\">. Les d\u00e9cisions prises en dehors de Git pendant le Day 0 cr\u00e9ent un \u00e9tat non document\u00e9 que le Day 2 ne peut pas r\u00e9concilier \u2014 la d\u00e9tection de d\u00e9rive n\u00e9cessite un enregistrement canonique de l&rsquo;\u00e9tat souhait\u00e9 \u00e0 comparer \u00e0 l&rsquo;\u00e9tat d\u00e9ploy\u00e9 r\u00e9el. Sans lui, la plateforme n&rsquo;a pas de baseline.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><b>Comment .forms.yml applique la conformit\u00e9 au moment du provisionnement<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Dans Cycloid, le fichier <span style=\"font-weight: 400;\">.forms.yml<\/span> d&rsquo;une Stack d\u00e9finit quels inputs sont expos\u00e9s \u00e0 l&rsquo;ing\u00e9nieur qui d\u00e9ploie, quelles valeurs sont born\u00e9es \u00e0 une plage approuv\u00e9e et quelles options sont enti\u00e8rement verrouill\u00e9es. Les d\u00e9cisions de conformit\u00e9 prises pendant le Day 0 d\u00e9terminent ce que les op\u00e9rateurs Day 1 et Day 2 peuvent faire \u2014 non pas via des documents de politique, mais via ce que l&rsquo;interface permet litt\u00e9ralement.<\/span><\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-24814 size-full\" src=\"https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/Cycloid-info-13.png\" alt=\"\" width=\"800\" height=\"675\" srcset=\"https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/Cycloid-info-13.png 800w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/Cycloid-info-13-300x253.png 300w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/Cycloid-info-13-768x648.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/docs.cycloid.io\/reference\/stackforms\/introduction\/\"><span style=\"font-weight: 400;\">StackForms lit la configuration <span style=\"font-weight: 400;\">.forms.yml<\/span> et ne pr\u00e9sente que des inputs born\u00e9s et approuv\u00e9s<\/span><\/a><span style=\"font-weight: 400;\">. Un ing\u00e9nieur provisionnant un entrep\u00f4t de donn\u00e9es ne choisit pas la classe d&rsquo;instance dans un champ texte libre \u2014 il choisit parmi un petit ensemble pr\u00e9-approuv\u00e9. L&rsquo;attachement r\u00e9seau externe n&rsquo;est pas un choix possible car l&rsquo;option n&rsquo;est pas expos\u00e9e. Seuls les \u00e9l\u00e9ments d\u00e9finis dans <span style=\"font-weight: 400;\">.forms.yml<\/span> sont rempla\u00e7ables dans la configuration g\u00e9n\u00e9r\u00e9e ; tout le reste reste fix\u00e9 par la d\u00e9finition de la stack. Sous le capot, Terraform continue de tourner. La forme de ce que Terraform peut produire est simplement contrainte avant l&rsquo;ex\u00e9cution.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le compromis m\u00e9rite d&rsquo;\u00eatre nomm\u00e9 clairement : sur-contraindre les inputs de stack pendant le Day 0 cr\u00e9e l&rsquo;inflexibilit\u00e9 que les \u00e9quipes contournent via l&rsquo;acc\u00e8s console et des changements hors bande. Sous-les contraindre recr\u00e9e la charge de revue que la plateforme \u00e9tait cens\u00e9e \u00e9liminer. Le bon calibrage est des inputs suffisamment born\u00e9s pour supprimer la revue manuelle du chemin standard mais suffisamment flexibles pour que les ing\u00e9nieurs n&rsquo;aient pas besoin de contourner le syst\u00e8me pour faire un travail l\u00e9gitime.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><b>Hi\u00e9rarchie des catalogues et h\u00e9ritage RBAC dans les organisations enfants<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Les d\u00e9cisions de structure organisationnelle sont des livrables Day 0 dans le mod\u00e8le de Cycloid : quelles \u00e9quipes partagent quelles stacks, quels d\u00e9p\u00f4ts de catalogue sont visibles par quelles organisations enfants, quelles credentials sont scop\u00e9es \u00e0 quels environnements.<\/span><a href=\"https:\/\/docs.cycloid.io\/reference\/stacks\/concepts\/stack-definition\/\"> <span style=\"font-weight: 400;\">Les stacks partag\u00e9es se propagent des organisations parentes aux organisations enfants, jamais l&rsquo;inverse<\/span><\/a><span style=\"font-weight: 400;\">. Pour une gouvernance optimale, les stacks partag\u00e9es doivent \u00eatre d\u00e9finies au niveau de l&rsquo;organisation racine pour garantir un acc\u00e8s standardis\u00e9 et une maintenance rationalis\u00e9e. Une hi\u00e9rarchie de catalogue construite sans r\u00e9f\u00e9rence \u00e0 la structure organisationnelle r\u00e9elle signifie que des stacks finissent partag\u00e9es avec des \u00e9quipes qui n&rsquo;y ont pas acc\u00e8s, ou isol\u00e9es des \u00e9quipes qui en ont besoin.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">La visibilit\u00e9 par d\u00e9faut des stacks h\u00e9rite \u00e9galement du d\u00e9p\u00f4t de catalogue au moment de l&rsquo;import et ne peut \u00eatre modifi\u00e9e r\u00e9troactivement par lot \u2014 seulement stack par stack. Mal configurer la hi\u00e9rarchie des catalogues au Day 0 signifie la r\u00e9-architecturer plus tard, une stack \u00e0 la fois.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2><b>Provisionnement Day 1 : comment StackForms applique la politique Day 0 au d\u00e9ploiement<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Un Day 1 gouvern\u00e9 diff\u00e8re d&rsquo;un Day 1 non gouvern\u00e9 d&rsquo;une mani\u00e8re sp\u00e9cifique et mesurable : l&rsquo;ing\u00e9nieur qui d\u00e9ploie l&rsquo;environnement ne peut pas faire des choix qui violent la politique Day 0 parce que ces choix ne lui sont pas disponibles. La gouvernance n&rsquo;est pas une porte \u00e0 la fin du workflow de provisionnement \u2014 elle est int\u00e9gr\u00e9e dans l&rsquo;interface qu&rsquo;il utilise.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Les m\u00e9canismes qui transportent les contraintes Day 0 jusqu&rsquo;\u00e0 l&rsquo;environnement provisionn\u00e9 sont ce qui distingue un IDP d&rsquo;une collection de modules Terraform envelopp\u00e9s dans un formulaire web.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><b>Comment StackForms lit .forms.yml pour contraindre les inputs Terraform<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">La relation m\u00e9canique entre le Day 0 et le Day 1 fonctionne ainsi : un StackForm lit le <span style=\"font-weight: 400;\">.forms.yml<\/span> d\u00e9fini dans le d\u00e9p\u00f4t de catalogue pendant le Day 0 et ne pr\u00e9sente que des inputs born\u00e9s et approuv\u00e9s \u00e0 l&rsquo;ing\u00e9nieur qui d\u00e9ploie. Le Terraform sous-jacent s&rsquo;ex\u00e9cute quand m\u00eame, mais la forme de ce qu&rsquo;il peut produire est contrainte avant que l&rsquo;ex\u00e9cution commence. Les ing\u00e9nieurs interagissent avec le formulaire \u2014 ils ne voient pas la sortie brute du plan Terraform et n&rsquo;ont pas acc\u00e8s aux param\u00e8tres de configuration qui n&rsquo;ont pas \u00e9t\u00e9 d\u00e9lib\u00e9r\u00e9ment expos\u00e9s.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Les d\u00e9finitions de stacks et la configuration runtime sont r\u00e9parties dans deux d\u00e9p\u00f4ts. Le d\u00e9p\u00f4t de catalogue contient la d\u00e9finition de stack (<span style=\"font-weight: 400;\">.cycloid.yml<\/span>, <span style=\"font-weight: 400;\">.forms.yml<\/span>, modules Terraform\/OpenTofu et pipelines). Le d\u00e9p\u00f4t de configuration stocke les inputs utilisateur captur\u00e9s via StackForms pour chaque environnement. Cette s\u00e9paration impose une fronti\u00e8re entre les auteurs de plateforme et les consommateurs de plateforme.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le pipeline d\u00e9clench\u00e9 par la soumission d&rsquo;un StackForm tourne sur la couche CI\/CD de Cycloid, construite sur Concourse et ex\u00e9cut\u00e9e par des workers Cycloid (des workers Concourse configur\u00e9s avec l&rsquo;outillage Cycloid).<\/span><\/p>\n<p><a href=\"https:\/\/www.cycloid.io\/blog\/cycloid-platform-engineering-initiatives-that-scale-governance-without-scaling-headcount-in-2026\/\"><span style=\"font-weight: 400;\">Les ing\u00e9nieurs platform<\/span><\/a><span style=\"font-weight: 400;\"> n&rsquo;ont plus besoin de passer en revue chaque diff Terraform pour v\u00e9rifier que quelqu&rsquo;un a choisi le bon module, la bonne classe d&rsquo;instance ou le bon attachement r\u00e9seau. Ces choix ne sont tout simplement pas disponibles d\u00e8s le d\u00e9part. Les demandes de provisionnement standard cessent de g\u00e9n\u00e9rer du travail de revue parce que la plateforme a d\u00e9j\u00e0 pris les d\u00e9cisions contest\u00e9es.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-4604 size-full\" src=\"https:\/\/www.cycloid.io\/wp-content\/uploads\/2025\/02\/4040-\u2014-Cost-estimation@3x_0-1.png\" alt=\"\" width=\"1665\" height=\"855\" srcset=\"https:\/\/www.cycloid.io\/wp-content\/uploads\/2025\/02\/4040-\u2014-Cost-estimation@3x_0-1.png 1665w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2025\/02\/4040-\u2014-Cost-estimation@3x_0-1-300x154.png 300w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2025\/02\/4040-\u2014-Cost-estimation@3x_0-1-1024x526.png 1024w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2025\/02\/4040-\u2014-Cost-estimation@3x_0-1-768x394.png 768w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2025\/02\/4040-\u2014-Cost-estimation@3x_0-1-1536x789.png 1536w\" sizes=\"(max-width: 1665px) 100vw, 1665px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.cycloid.io\/fr\/product\/stackforms\/\"><span style=\"font-weight: 400;\">Les StackForms de Cycloid<\/span><\/a><span style=\"font-weight: 400;\"> s&rsquo;int\u00e8grent \u00e9galement avec TerraCost pour afficher une estimation de co\u00fbt d&rsquo;infrastructure en direct avant que l&rsquo;ing\u00e9nieur ne valide la configuration. Cette estimation est visible au moment du provisionnement, et la configuration finale est \u00e9crite automatiquement dans le d\u00e9p\u00f4t de configuration Git. La visibilit\u00e9 des co\u00fbts au Day 1 pr\u00e9vient le probl\u00e8me Day 2 de d\u00e9couvrir des environnements sur-provisionn\u00e9s des semaines apr\u00e8s le d\u00e9ploiement quand la revue FinOps rattrape enfin.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><b>Pourquoi les configs StackForm sauvegard\u00e9es dans Git sont la source de v\u00e9rit\u00e9 pour la d\u00e9tection de d\u00e9rive<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Chaque configuration StackForm sauvegarde automatiquement les inputs utilisateur dans le d\u00e9p\u00f4t de configuration. L&rsquo;\u00e9tat d\u00e9ploy\u00e9 dispose d&rsquo;un historique Git tra\u00e7able d\u00e8s le moment de la cr\u00e9ation de l&rsquo;environnement. La d\u00e9tection de d\u00e9rive au Day 2 n\u00e9cessite une v\u00e9rit\u00e9 terrain \u00e0 comparer \u00e0 l&rsquo;\u00e9tat r\u00e9el de l&rsquo;infrastructure \u2014 l&rsquo;enregistrement de commit Git est cette v\u00e9rit\u00e9 terrain.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Les \u00e9quipes qui provisionnent en dehors du mod\u00e8le gouvern\u00e9 (modifications manuelles via la console, <span style=\"font-weight: 400;\">terraform apply<\/span> direct sans pipeline, commandes <span style=\"font-weight: 400;\">kubectl<\/span> ad hoc en production) cr\u00e9ent des environnements que l&rsquo;outillage Day 2 ne peut pas r\u00e9concilier. Il n&rsquo;y a pas d&rsquo;enregistrement autoritatif de l&rsquo;\u00e9tat souhait\u00e9, donc la d\u00e9tection de d\u00e9rive n&rsquo;a rien \u00e0 mesurer. L&rsquo;environnement existe, mais du point de vue de la plateforme, sa configuration est un myst\u00e8re.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><b>\u00c9valuation des politiques avant apply : bloquer les violations avant terraform apply<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Cycloid applique la gouvernance \u00e0 deux points distincts, qui servent des objectifs diff\u00e9rents. La premi\u00e8re couche est .forms.yml, qui contraint les inputs au moment du rendu du formulaire. Les ing\u00e9nieurs ne peuvent pas s\u00e9lectionner des valeurs hors des plages pr\u00e9d\u00e9finies parce que ces options ne sont jamais expos\u00e9es dans l&rsquo;interface. C&rsquo;est une application au niveau des inputs, pas une \u00e9valuation de politique.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">La deuxi\u00e8me couche est InfraPolicies, \u00e9crites en Rego (le langage de politique d&rsquo;Open Policy Agent) et \u00e9valu\u00e9es contre la sortie du plan Terraform ou OpenTofu avant l&rsquo;apply. Ces politiques op\u00e8rent sur le graphe d&rsquo;infrastructure enti\u00e8rement r\u00e9solu, pas sur l&rsquo;input utilisateur. Chaque politique est assign\u00e9e un niveau de s\u00e9v\u00e9rit\u00e9 : Advisory, Soft Mandatory ou Hard Mandatory, suivant le m\u00eame mod\u00e8le d&rsquo;application qu&rsquo;HashiCorp Sentinel. Cette distinction est importante car elle s\u00e9pare la validation des inputs de l&rsquo;application policy-as-code au stade du plan.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2><b>Op\u00e9rations Day 2 : d\u00e9tection de d\u00e9rive, gouvernance des co\u00fbts et gestion du cycle de vie<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Le Day 2 est la phase la plus longue de loin, et celle o\u00f9 la dette de gouvernance accumul\u00e9e lors des jours 0 et 1 devient visible op\u00e9rationnellement. Chaque raccourci pris pendant la conception Day 0 et chaque contournement manuel accept\u00e9 pendant le provisionnement Day 1 se manifeste ici \u2014 sous forme de d\u00e9rive, de co\u00fbts inexpliqu\u00e9s, d&rsquo;un environnement qui se comporte diff\u00e9remment de ce que sa d\u00e9finition de stack indique.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le p\u00e9rim\u00e8tre du Day 2 est large : supervision, patching, mont\u00e9e en charge, gestion de la d\u00e9rive de configuration, rotation des secrets, mises \u00e0 jour d&rsquo;environnement, optimisation des co\u00fbts et mise hors service. Le d\u00e9fi n&rsquo;est pas de d\u00e9finir ce que le Day 2 inclut. C&rsquo;est de s&rsquo;assurer que le m\u00eame mod\u00e8le de gouvernance qui s&rsquo;appliquait au provisionnement s&rsquo;applique encore \u00e0 chacune de ces activit\u00e9s.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><b>Comment la d\u00e9tection de d\u00e9rive r\u00e9concilie l&rsquo;\u00e9tat d\u00e9ploy\u00e9 avec les d\u00e9finitions de Stack<\/b><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24810 size-full\" src=\"https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/Cycloid-info-14.png\" alt=\"\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/Cycloid-info-14.png 1200w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/Cycloid-info-14-300x169.png 300w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/Cycloid-info-14-1024x576.png 1024w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/Cycloid-info-14-768x432.png 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Cycloid ne fait pas tourner une boucle de r\u00e9conciliation continue comme les contr\u00f4leurs natifs Kubernetes tels que Flux ou Argo CD. La d\u00e9rive est plut\u00f4t remont\u00e9e lors de l&rsquo;ex\u00e9cution du plan Terraform ou OpenTofu. InfraPolicies \u00e9value l&rsquo;\u00e9tat planifi\u00e9 par rapport aux contraintes attendues, et les \u00e9carts caus\u00e9s par des modifications manuelles apparaissent comme des diff\u00e9rences de plan. La d\u00e9tection de d\u00e9rive est donc li\u00e9e aux \u00e9v\u00e9nements d&rsquo;ex\u00e9cution plut\u00f4t qu&rsquo;\u00e0 une r\u00e9conciliation continue. La plateforme repose sur une \u00e9valuation au moment du plan plut\u00f4t que sur un mod\u00e8le de contr\u00f4leur toujours actif \u2014 ce qui repr\u00e9sente un compromis op\u00e9rationnel diff\u00e9rent.<\/span><\/p>\n<p><a href=\"https:\/\/www.cycloid.io\/blog\/day-2-operations-a-practical-guide-for-managing-post-deployment-complexity\/\"><span style=\"font-weight: 400;\">La d\u00e9tection de d\u00e9rive de Cycloid<\/span><\/a><span style=\"font-weight: 400;\"> alerte quand l&rsquo;infrastructure d\u00e9ploy\u00e9e diverge de la configuration de stack versionn\u00e9e, donnant aux \u00e9quipes platform l&rsquo;opportunit\u00e9 de r\u00e9aligner les \u00e9tats avant que la divergence ne se transforme en constat de conformit\u00e9 ou en incident.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Kubernetes amplifie consid\u00e9rablement la complexit\u00e9 Day 2. Un HorizontalPodAutoscaler mal configur\u00e9 peut provoquer des d\u00e9faillances en cascade sous charge. Les mises \u00e0 jour de cluster, la rotation des certificats et la maintenance des politiques RBAC n\u00e9cessitent une attention continue. Un seul HPA mal configur\u00e9 peut d\u00e9clencher des cha\u00eenes de d\u00e9faillance entre services difficiles \u00e0 retracer a posteriori. La gouvernance Day 2 pour Kubernetes signifie une r\u00e9conciliation continue de l&rsquo;\u00e9tat du cluster par rapport \u00e0 la politique d\u00e9finie, pas des audits p\u00e9riodiques post-incident.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><b>Gouverner la mont\u00e9e en charge Day 2, les mises \u00e0 jour Helm et la mise hors service via les pipelines<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">La lacune de gouvernance que la plupart des impl\u00e9mentations IDP laissent ouverte est visible dans le cycle de vie post-provisionnement. Le libre-service gouvern\u00e9 s&rsquo;arr\u00eate \u00e0 la cr\u00e9ation. Monter en charge un environnement retombe dans un ticket. Mettre \u00e0 jour un chart Helm se g\u00e8re avec une commande <span style=\"font-weight: 400;\">helm upgrade<\/span> directe depuis une machine locale. D\u00e9commissionner un service devient une s\u00e9rie non document\u00e9e de suppressions manuelles dans trois consoles cloud.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Cycloid s&rsquo;int\u00e8gre avec HashiCorp Vault pour la gestion des credentials, qui sous-tend les workflows de rotation des secrets d\u00e9crits dans les op\u00e9rations Day 2.<\/span><span style=\"font-weight: 400;\"> Les mises \u00e0 jour suivent des workflows de pipeline d\u00e9finis. La mise hors service applique la v\u00e9rification de propri\u00e9t\u00e9 et les r\u00e8gles de nettoyage avant la suppression des ressources. La gouvernance reste coh\u00e9rente sur l&rsquo;ensemble du cycle de vie, pas seulement \u00e0 la cr\u00e9ation. Quand les op\u00e9rations Day 2 sont trait\u00e9es comme des actions platform de premi\u00e8re classe plut\u00f4t que comme du travail hors bande, la gouvernance reste appliqu\u00e9e sans ajouter de nouvelles boucles de revue.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><b>Estimation des co\u00fbts avant d\u00e9ploiement avec TerraCost (et suivi carbone GreenOps)<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Le FinOps d&rsquo;observation et le FinOps op\u00e9rationnel sont deux disciplines diff\u00e9rentes avec des r\u00e9sultats diff\u00e9rents. Un tableau de bord montrant ce qui a \u00e9t\u00e9 d\u00e9pens\u00e9 le mois dernier vous indique ce qui s&rsquo;est pass\u00e9. Des plafonds budg\u00e9taires attach\u00e9s \u00e0 chaque environnement emp\u00eachent le sur-provisionnement de se produire en premier lieu.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-23927 size-full\" src=\"https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/03\/cycloid-costcontrol.png\" alt=\"\" width=\"1440\" height=\"968\" srcset=\"https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/03\/cycloid-costcontrol.png 1440w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/03\/cycloid-costcontrol-300x202.png 300w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/03\/cycloid-costcontrol-1024x688.png 1024w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/03\/cycloid-costcontrol-768x516.png 768w\" sizes=\"(max-width: 1440px) 100vw, 1440px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.cycloid.io\/fr\/product\/cloud-cost-management\/\"><span style=\"font-weight: 400;\">Le module GreenOps de Cycloid<\/span><\/a><span style=\"font-weight: 400;\"> s&rsquo;appuie sur le projet open-source Cloud Carbon Footprint, int\u00e9gr\u00e9 dans sa couche de gestion des co\u00fbts cloud FinOps. Les estimations carbone sont d\u00e9riv\u00e9es parall\u00e8lement aux donn\u00e9es de co\u00fbt, en utilisant les m\u00eames inputs d&rsquo;infrastructure. <\/span><span style=\"font-weight: 400;\">Les ing\u00e9nieurs voient le co\u00fbt estim\u00e9 g\u00e9n\u00e9r\u00e9 depuis le plan Terraform ou OpenTofu avant l&rsquo;apply. TerraCost analyse le JSON du plan et produit une estimation de co\u00fbt au m\u00eame stade o\u00f9 InfraPolicies est \u00e9valu\u00e9.<\/span><span style=\"font-weight: 400;\"> Les plafonds budg\u00e9taires emp\u00eachent la cr\u00e9ation de ressources hors des plages de co\u00fbt approuv\u00e9es, plut\u00f4t que de les signaler pour rem\u00e9diation apr\u00e8s que la d\u00e9pense a d\u00e9j\u00e0 eu lieu.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">L&rsquo;implication GreenOps suit directement : le calcul sur-provisionn\u00e9 g\u00e9n\u00e8re des \u00e9missions carbone sur-provisionn\u00e9es. Cycloid suit les donn\u00e9es d&#8217;empreinte carbone filtr\u00e9es par projet, r\u00e9gion, date et fournisseur depuis le m\u00eame module qui g\u00e8re les donn\u00e9es de co\u00fbt. Le co\u00fbt environnemental des d\u00e9cisions d&rsquo;infrastructure est expos\u00e9 au m\u00eame point de d\u00e9cision que le co\u00fbt financier \u2014 au moment du provisionnement, avant que l&rsquo;environnement n&rsquo;existe.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2><b>L&rsquo;outillage plateforme qui couvre les trois phases : Stacks, StackForms, Asset Inventory et InfraView ensemble<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">L&rsquo;Asset Inventory de Cycloid n&rsquo;est pas une liste passive de ressources. Il est aliment\u00e9 via le backend HTTP Terraform de Cycloid, o\u00f9 l&rsquo;\u00e9tat Terraform ou OpenTofu est stock\u00e9 via un token JWT (<span style=\"font-weight: 400;\">inventory_jwt<\/span>). Les ressources flux dans l&rsquo;inventaire directement depuis l&rsquo;\u00e9tat, en faisant l&rsquo;enregistrement autoritatif de l&rsquo;infrastructure g\u00e9r\u00e9e. Cycloid expose \u00e9galement un CLI (<span style=\"font-weight: 400;\">cycloid-cli<\/span>) et un provider Terraform (<span style=\"font-weight: 400;\">cycloidio\/cycloid<\/span>), permettant aux \u00e9quipes platform de g\u00e9rer les ressources Cycloid de fa\u00e7on programmatique.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Cet inventaire est \u00e9galement expos\u00e9 aux StackForms via le widget <span style=\"font-weight: 400;\">cy_inventory_resource<\/span>, permettant aux ing\u00e9nieurs de r\u00e9f\u00e9rencer des ressources existantes comme des VPCs lors du provisionnement de nouveaux environnements. C&rsquo;est ainsi que l&rsquo;\u00e9tat Day 2 devient un input r\u00e9utilisable pour les workflows Day 1.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-19398 size-full\" src=\"https:\/\/www.cycloid.io\/wp-content\/uploads\/2025\/07\/asset_inventory-1.png\" alt=\"\" width=\"580\" height=\"500\" srcset=\"https:\/\/www.cycloid.io\/wp-content\/uploads\/2025\/07\/asset_inventory-1.png 580w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2025\/07\/asset_inventory-1-300x259.png 300w\" sizes=\"(max-width: 580px) 100vw, 580px\" \/><\/p>\n<p><span style=\"font-weight: 400;\"><a href=\"https:\/\/www.cycloid.io\/fr\/product\/infraview\/\">InfraView<\/a> s&rsquo;appuie sur cela en lisant directement le fichier <span style=\"font-weight: 400;\">.tfstate<\/span> pour restituer les relations d&rsquo;infrastructure. Il ne consulte pas les APIs des fournisseurs cloud, ce qui signifie qu&rsquo;il ne refl\u00e8te que ce qui est g\u00e9r\u00e9 via Terraform ou OpenTofu. Les ressources cr\u00e9\u00e9es en dehors de la plateforme n&rsquo;apparaissent pas \u2014 contrainte intentionnelle li\u00e9e \u00e0 la visibilit\u00e9 bas\u00e9e sur l&rsquo;\u00e9tat.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><b>Cycle de vie d&rsquo;une Stack : d\u00e9finition dans le catalogue \u2192 provisionnement \u2192 mises \u00e0 jour Day 2<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Le cycle de vie d&rsquo;une Stack Cycloid se d\u00e9roule ainsi : d\u00e9finie pendant le Day 0 dans un d\u00e9p\u00f4t de catalogue avec un <span style=\"font-weight: 400;\">.forms.yml<\/span> qui encode les inputs approuv\u00e9s, consomm\u00e9e pendant le provisionnement Day 1 via StackForms, et r\u00e9f\u00e9renc\u00e9e pendant le Day 2 pour les mises \u00e0 jour, la r\u00e9conciliation de d\u00e9rive et la mise hors service. Contrairement \u00e0 un fichier de configuration YAML g\u00e9n\u00e9rique, <span style=\"font-weight: 400;\">.forms.yml<\/span> d\u00e9finit le contrat c\u00f4t\u00e9 utilisateur de la stack \u2014 quels inputs sont expos\u00e9s, comment ils sont valid\u00e9s et quelles valeurs sont contraintes avant que Terraform ne tourne. Une Stack n&rsquo;est pas qu&rsquo;un template de provisionnement. C&rsquo;est la description canonique de l&rsquo;\u00e9tat souhait\u00e9 sur l&rsquo;ensemble du cycle de vie. Quand un environnement d\u00e9rive, c&rsquo;est par rapport \u00e0 la d\u00e9finition de la Stack qu&rsquo;il a d\u00e9vi\u00e9.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Un exemple minimal de .yml ressemble \u00e0 ceci :<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400; color: #b58900;\">version<\/span><span style=\"font-weight: 400;\">: <\/span><span style=\"font-weight: 400; color: #2aa198;\">\u00ab\u00a01\u00a0\u00bb<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400; color: #b58900;\">use_cases<\/span><span style=\"font-weight: 400;\">:<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"> &#8211; <\/span><span style=\"font-weight: 400; color: #b58900;\">name<\/span><span style=\"font-weight: 400;\">: <\/span><span style=\"font-weight: 400; color: #2aa198;\">\u00ab\u00a0deploy\u00a0\u00bb<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400; color: #b58900;\">sections<\/span><span style=\"font-weight: 400;\">:<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"> &#8211; <\/span><span style=\"font-weight: 400; color: #b58900;\">name<\/span><span style=\"font-weight: 400;\">: <\/span><span style=\"font-weight: 400; color: #2aa198;\">\u00ab\u00a0Compute\u00a0\u00bb<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400; color: #b58900;\">groups<\/span><span style=\"font-weight: 400;\">:<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"> &#8211; <\/span><span style=\"font-weight: 400; color: #b58900;\">name<\/span><span style=\"font-weight: 400;\">: <\/span><span style=\"font-weight: 400; color: #2aa198;\">\u00ab\u00a0Instance configuration\u00a0\u00bb<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400; color: #b58900;\">fields<\/span><span style=\"font-weight: 400;\">:<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"> &#8211; <\/span><span style=\"font-weight: 400; color: #b58900;\">name<\/span><span style=\"font-weight: 400;\">: <\/span><span style=\"font-weight: 400; color: #2aa198;\">\u00ab\u00a0instance_type\u00a0\u00bb<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400; color: #b58900;\">label<\/span><span style=\"font-weight: 400;\">: <\/span><span style=\"font-weight: 400; color: #2aa198;\">\u00ab\u00a0Instance Type\u00a0\u00bb<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400; color: #b58900;\">type<\/span><span style=\"font-weight: 400;\">: <\/span><span style=\"font-weight: 400; color: #2aa198;\">\u00ab\u00a0select\u00a0\u00bb<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400; color: #b58900;\">values<\/span><span style=\"font-weight: 400;\">:<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"> &#8211; <\/span><span style=\"font-weight: 400; color: #2aa198;\">\u00ab\u00a0t3.medium\u00a0\u00bb<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"> &#8211; <\/span><span style=\"font-weight: 400; color: #2aa198;\">\u00ab\u00a0t3.large\u00a0\u00bb<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400; color: #b58900;\">default<\/span><span style=\"font-weight: 400;\">: <\/span><span style=\"font-weight: 400; color: #2aa198;\">\u00ab\u00a0t3.medium\u00a0\u00bb<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400; color: #b58900;\">required<\/span><span style=\"font-weight: 400;\">: <span style=\"color: #2aa198;\">true<\/span><\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"> &#8211; <\/span><span style=\"font-weight: 400; color: #b58900;\">name<\/span><span style=\"font-weight: 400;\">: <\/span><span style=\"font-weight: 400; color: #2aa198;\">\u00ab\u00a0disk_size\u00a0\u00bb<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400; color: #b58900;\">label<\/span><span style=\"font-weight: 400;\">: <\/span><span style=\"font-weight: 400; color: #2aa198;\">\u00ab\u00a0Disk Size (GB)\u00a0\u00bb<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400; color: #b58900;\">type<\/span><span style=\"font-weight: 400;\">: <\/span><span style=\"font-weight: 400; color: #2aa198;\">\u00ab\u00a0number\u00a0\u00bb<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400; color: #b58900;\">min<\/span><span style=\"font-weight: 400;\">: <\/span><span style=\"font-weight: 400; color: #2aa198;\">20<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400; color: #b58900;\">max<\/span><span style=\"font-weight: 400;\">: <\/span><span style=\"font-weight: 400; color: #2aa198;\">200<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400; color: #b58900;\">default<\/span><span style=\"font-weight: 400;\">: <\/span><span style=\"font-weight: 400; color: #2aa198;\">50<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Cette structure diff\u00e8re des variables Terraform ou d&rsquo;une configuration YAML standard de deux fa\u00e7ons. Le fichier ne d\u00e9crit pas l&rsquo;infrastructure \u2014 il d\u00e9finit ce qu&rsquo;un ing\u00e9nieur est autoris\u00e9 \u00e0 choisir lorsqu&rsquo;il demande de l&rsquo;infrastructure. Des champs comme <span style=\"font-weight: 400;\">values<\/span>, <span style=\"font-weight: 400;\">min<\/span> et <span style=\"font-weight: 400;\">max<\/span> appliquent des fronti\u00e8res au moment de la saisie, pas lors du plan ou de l&rsquo;apply.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le r\u00e9sultat est que <span style=\"font-weight: 400;\">.forms.yml<\/span> agit comme une couche de contr\u00f4le devant Terraform. Au lieu de revoir un plan pour rep\u00e9rer un type d&rsquo;instance invalide ou un disque surdimensionn\u00e9, ces options ne sont jamais expos\u00e9es en premier lieu. Cette distinction est ce qui permet au provisionnement Day 1 de fonctionner sans revue manuelle tout en appliquant la politique Day 0.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Les stacks partag\u00e9es d\u00e9finies au niveau de l&rsquo;organisation racine se propagent aux organisations enfants. Une modification de politique apport\u00e9e \u00e0 une stack partag\u00e9e au niveau racine se propage \u00e0 chaque environnement Day 2 qui l&rsquo;utilise \u2014 ce qui signifie qu&rsquo;une mise \u00e0 jour de gouvernance effectu\u00e9e lors d&rsquo;une revue Day 0 p\u00e9riodique s&rsquo;applique r\u00e9troactivement aux environnements en cours d&rsquo;ex\u00e9cution au prochain cycle de mise \u00e0 jour, sans n\u00e9cessiter de correctifs individuels par environnement.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><b>InfraView pour la propri\u00e9t\u00e9 des ressources Day 2, la d\u00e9rive et la visibilit\u00e9 des co\u00fbts<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">L&rsquo;<\/span><a href=\"https:\/\/www.cycloid.io\/fr\/product\/asset-inventory\/\"> <span style=\"font-weight: 400;\">Asset Inventory<\/span><\/a><span style=\"font-weight: 400;\"> de Cycloid maintient la visibilit\u00e9 sur toutes les ressources d&rsquo;infrastructure d\u00e9ploy\u00e9es, li\u00e9es \u00e0 la Stack qui les a provisionn\u00e9es. Les ing\u00e9nieurs peuvent voir ce qui existe, qui en est propri\u00e9taire et \u00e0 quelle version de Stack cela correspond \u2014 sans n\u00e9cessiter d&rsquo;acc\u00e8s direct \u00e0 la console cloud. L&rsquo;acc\u00e8s direct \u00e0 la console est lui-m\u00eame un risque de d\u00e9rive \u2014 chaque ing\u00e9nieur avec acc\u00e8s console est un ing\u00e9nieur qui peut faire des modifications qui contournent le mod\u00e8le de gouvernance.<\/span><\/p>\n<p><a href=\"https:\/\/www.cycloid.io\/fr\/product\/infraview\/\"><span style=\"font-weight: 400;\">InfraView<\/span><\/a><span style=\"font-weight: 400;\"> expose la propri\u00e9t\u00e9, la d\u00e9rive et l&rsquo;impact sur les co\u00fbts dans les environnements dans une vue unique. Les \u00e9quipes platform l&rsquo;utilisent pendant le Day 2 pour identifier les environnements qui ont diverg\u00e9 de leur d\u00e9finition de stack, confirmer la propri\u00e9t\u00e9 avant la mise hors service et valider que les plafonds budg\u00e9taires sont respect\u00e9s dans l&rsquo;ensemble du parc.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24816 size-full\" src=\"https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/unnamed.png\" alt=\"\" width=\"1764\" height=\"1224\" srcset=\"https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/unnamed.png 1764w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/unnamed-300x208.png 300w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/unnamed-1024x711.png 1024w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/unnamed-768x533.png 768w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2026\/05\/unnamed-1536x1066.png 1536w\" sizes=\"(max-width: 1764px) 100vw, 1764px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">En pratique : un SRE d&rsquo;astreinte peut retracer un environnement d\u00e9faillant jusqu&rsquo;\u00e0 sa version de Stack, son commit dans le d\u00e9p\u00f4t de configuration et sa configuration StackForm sans ouvrir la console du fournisseur cloud. L&rsquo;investigation commence dans la plateforme, pas avec une s\u00e9rie d&rsquo;appels API ad hoc.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><b>Les pipelines CI\/CD comme couche d&rsquo;ex\u00e9cution pour l&rsquo;automatisation Day 2<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">La couche pipeline de Cycloid tourne sur Concourse, avec des pipelines ex\u00e9cut\u00e9s par des workers Cycloid. Le m\u00eame runtime ex\u00e9cute \u00e0 la fois le provisionnement Day 1 et les actions du cycle de vie Day 2 \u2014 ce qui maintient la coh\u00e9rence de l&rsquo;application sur tout le cycle de vie. <\/span><a href=\"https:\/\/www.cycloid.io\/fr\/product\/pipelines-ci-cd\/\"><span style=\"font-weight: 400;\">Les pipelines CI\/CD manag\u00e9s de Cycloid<\/span><\/a><span style=\"font-weight: 400;\"> servent de couche d&rsquo;ex\u00e9cution pour l&rsquo;automatisation Day 2 : mises \u00e0 jour de charts Helm, rotations de secrets, correctifs d&rsquo;environnement et actions de r\u00e9cup\u00e9ration codifi\u00e9es dans des runbooks. Ces pipelines sont versionn\u00e9s, r\u00e9utilisables entre stacks et modulaires. Les op\u00e9rations Day 2 qui n\u00e9cessitaient auparavant une intervention manuelle peuvent \u00eatre codifi\u00e9es et d\u00e9clench\u00e9es via le m\u00eame mod\u00e8le libre-service utilis\u00e9 pour le provisionnement Day 1.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-17450 size-full\" src=\"https:\/\/www.cycloid.io\/wp-content\/uploads\/2025\/05\/pipelines_dash.webp\" alt=\"pipelines dashboard\" width=\"1066\" height=\"720\" srcset=\"https:\/\/www.cycloid.io\/wp-content\/uploads\/2025\/05\/pipelines_dash.webp 1066w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2025\/05\/pipelines_dash-300x203.webp 300w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2025\/05\/pipelines_dash-1024x692.webp 1024w, https:\/\/www.cycloid.io\/wp-content\/uploads\/2025\/05\/pipelines_dash-768x519.webp 768w\" sizes=\"(max-width: 1066px) 100vw, 1066px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Les \u00e9quipes qui utilisent des outils s\u00e9par\u00e9s pour les t\u00e2ches Day 2 (Rundeck pour les runbooks, <span style=\"font-weight: 400;\">kubectl<\/span> manuel pour les changements Kubernetes, acc\u00e8s console direct pour la mont\u00e9e en charge) cr\u00e9ent le m\u00eame probl\u00e8me de fragmentation que les IDPs existent pour r\u00e9soudre. Des outils Day 2 s\u00e9par\u00e9s g\u00e9n\u00e8rent des pistes d&rsquo;audit s\u00e9par\u00e9es, des lacunes de gouvernance s\u00e9par\u00e9es et une charge cognitive s\u00e9par\u00e9e. L&rsquo;ing\u00e9nieur qui doit r\u00e9pondre \u00e0 un incident Day 2 ne devrait pas avoir \u00e0 se souvenir lequel de quatre syst\u00e8mes contient l&rsquo;action pertinente.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2><b>O\u00f9 la gouvernance Day 0\/1\/2 s&rsquo;effondre r\u00e9ellement dans les d\u00e9ploiements enterprise<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Les modes de d\u00e9faillance qui apparaissent \u00e0 l&rsquo;\u00e9chelle ou dans les environnements brownfield partagent g\u00e9n\u00e9ralement une cause commune : le mod\u00e8le de gouvernance supposait un d\u00e9part \u00e0 z\u00e9ro que l&rsquo;environnement r\u00e9el n&rsquo;a jamais eu.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Comprendre ces modes de d\u00e9faillance est important non seulement pour diagnostiquer les probl\u00e8mes existants, mais pour concevoir les artefacts Day 0 qui les pr\u00e9viendront dans les futurs d\u00e9ploiements.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><b>Les environnements brownfield o\u00f9 le Day 0 n&rsquo;a jamais eu lieu<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">De nombreuses organisations exploitent une infrastructure cloud significative provisionn\u00e9e avant qu&rsquo;un IDP gouvern\u00e9 n&rsquo;existe. Il n&rsquo;y a pas d&rsquo;artefact Day 0 \u00e0 r\u00e9f\u00e9rencer, pas de d\u00e9finition de stack canonique, pas d&rsquo;historique Git de l&rsquo;\u00e9tat souhait\u00e9. La gouvernance Day 2 pour ces environnements ne peut pas partir d&rsquo;une d\u00e9finition de Stack parce qu&rsquo;il n&rsquo;en existe aucune.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">InfraImport est actuellement une fonctionnalit\u00e9 en b\u00eata et fonctionne selon le principe du meilleur effort. Le code Terraform g\u00e9n\u00e9r\u00e9 n\u00e9cessite une revue et une adaptation par les \u00e9quipes platform avant d&rsquo;\u00eatre utilis\u00e9 dans les workflows de production. <\/span><a href=\"https:\/\/www.cycloid.io\/fr\/product\/infraimport\/\"><span style=\"font-weight: 400;\">InfraImport de Cycloid<\/span><\/a><span style=\"font-weight: 400;\"> r\u00e9pond \u00e0 cela directement. Le g\u00e9n\u00e9rateur Terraform inverse, construit sur les m\u00eames concepts que le projet open-source<\/span><a href=\"https:\/\/www.cycloid.io\/fr\/terracognita\/\"> <span style=\"font-weight: 400;\">TerraCognita<\/span><\/a><span style=\"font-weight: 400;\"> de Cycloid (plus de 2 400 \u00e9toiles GitHub), lit les ressources cloud existantes et g\u00e9n\u00e8re la configuration IaC et les templates de Stack \u00e0 partir de ce qui est d\u00e9j\u00e0 d\u00e9ploy\u00e9. La sortie est un artefact Day 0 r\u00e9troactif depuis lequel la gouvernance Day 2 peut d\u00e9marrer. Il ne reconstruira pas l&rsquo;intention originale derri\u00e8re chaque d\u00e9cision de configuration, mais il cr\u00e9e la baseline versionn\u00e9e que la d\u00e9tection de d\u00e9rive et la gouvernance continue n\u00e9cessitent.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><b>Les environnements multi-cloud et hybrides o\u00f9 les politiques de gouvernance divergent<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Les grandes entreprises ex\u00e9cutent des charges de travail sur plusieurs fournisseurs cloud et des environnements on-premises. Les politiques de gouvernance con\u00e7ues pour AWS ne se traduisent pas automatiquement en Azure ou GCP. Les donn\u00e9es de co\u00fbt vivent dans des syst\u00e8mes de facturation s\u00e9par\u00e9s. Les mod\u00e8les RBAC diff\u00e8rent entre fournisseurs. Les \u00e9quipes g\u00e9rant des charges de travail sur plusieurs environnements appliquent fr\u00e9quemment des standards de gouvernance diff\u00e9rents selon les environnements \u2014 non pas parce qu&rsquo;elles veulent de l&rsquo;incoh\u00e9rence, mais parce que leurs outils n&rsquo;unifient pas le mod\u00e8le de gouvernance entre fournisseurs.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Les stacks Cycloid supportent AWS, Azure, GCP et VMware vSphere via Terraform ou OpenTofu. InfraImport (bas\u00e9 sur TerraCognita) cible les m\u00eames fournisseurs, tandis que le backend HTTP Terraform utilis\u00e9 par Asset Inventory supporte le stockage compatible S3 tel qu&rsquo;AWS S3, Google Cloud Storage, Azure Blob Storage et MinIO. <\/span><span style=\"font-weight: 400;\">Le <\/span><a href=\"https:\/\/www.cycloid.io\/fr\/solutions\/cycloid-pour-les-gestions-finops-et-greenops\/\"><span style=\"font-weight: 400;\">module FinOps<\/span><\/a><span style=\"font-weight: 400;\"> centralise les donn\u00e9es de co\u00fbt de tous les fournisseurs cloud dans une vue unique, filtr\u00e9e par projet, r\u00e9gion et fournisseur. Le mod\u00e8le de gouvernance encod\u00e9 dans une d\u00e9finition de Stack ne change pas selon l&rsquo;endroit o\u00f9 la Stack est d\u00e9ploy\u00e9e \u2014 ce qui signifie que les probl\u00e8mes de d\u00e9rive et de gestion des co\u00fbts Day 2 ne n\u00e9cessitent pas d&rsquo;outillage s\u00e9par\u00e9 par cloud.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><b>Le probl\u00e8me d&rsquo;adoption du libre-service qui fait s&rsquo;effondrer la gouvernance Day 2<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Un IDP avec libre-service gouvern\u00e9 ne contr\u00f4le les op\u00e9rations Day 2 que pour les environnements provisionn\u00e9s via lui. Les \u00e9quipes qui adoptent des contournements \u2014 acc\u00e8s console direct, ex\u00e9cutions <span style=\"font-weight: 400;\">terraform apply<\/span> ad hoc hors pipeline, commandes <span style=\"font-weight: 400;\">kubectl<\/span> contre des clusters de production \u2014 cr\u00e9ent des environnements non gouvern\u00e9s qui se trouvent enti\u00e8rement en dehors de la couche d&rsquo;observabilit\u00e9 et de gouvernance. La plateforme ne sait pas que ces environnements existent sous leur forme actuelle, donc elle ne peut ni d\u00e9tecter la d\u00e9rive, ni appliquer les plafonds budg\u00e9taires, ni leur appliquer la gouvernance du cycle de vie.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le signal organisationnel document\u00e9 par Cycloid vaut d&rsquo;\u00eatre not\u00e9 : les demandes de revue manuelle que la plateforme ne peut pas r\u00e9soudre seule repr\u00e9sentent un contexte manquant, des contraintes manquantes ou des valeurs par d\u00e9faut manquantes dans les d\u00e9finitions de Stack. Chacune est un signal d&rsquo;am\u00e9liorer l&rsquo;artefact Day 0, de resserrer le <span style=\"font-weight: 400;\">.forms.yml<\/span>, d&rsquo;ajouter une valeur par d\u00e9faut manquante, d&rsquo;\u00e9tendre la gouvernance \u00e0 une action du cycle de vie qui sort actuellement du p\u00e9rim\u00e8tre. Ajouter un r\u00e9viseur humain pour g\u00e9rer l&rsquo;\u00e9cart est la r\u00e9ponse la plus co\u00fbteuse \u2014 et elle ne r\u00e9sout pas le probl\u00e8me sous-jacent.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2><b>Conclusion<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Le mod\u00e8le Day 0\/1\/2 n&rsquo;est aussi durable que la couche de gouvernance qui couvre les trois phases. Cet article a couvert comment le Day 0 produit les artefacts d&rsquo;ing\u00e9nierie \u2014 fronti\u00e8res RBAC, d\u00e9finitions de stacks <span style=\"font-weight: 400;\">.forms.yml<\/span>, hi\u00e9rarchies de visibilit\u00e9 des catalogues \u2014 qui contraignent chaque op\u00e9ration en aval. Le provisionnement Day 1, gouvern\u00e9 via StackForms et les enregistrements de commit GitOps, transporte ces contraintes dans l&rsquo;environnement d\u00e9ploy\u00e9 sans n\u00e9cessiter de revue manuelle pour les demandes standard. Les op\u00e9rations Day 2, lorsqu&rsquo;elles sont trait\u00e9es comme des actions platform de premi\u00e8re classe plut\u00f4t que comme du travail hors bande, appliquent les m\u00eames chemins appliqu\u00e9s \u00e0 la mont\u00e9e en charge, aux mises \u00e0 jour et \u00e0 la mise hors service qu&rsquo;\u00e0 la cr\u00e9ation.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">L&rsquo;outillage de Cycloid \u2014 Stacks, StackForms, Asset Inventory, InfraView et pipelines CI\/CD manag\u00e9s \u2014 couvre les trois phases, avec la d\u00e9tection de d\u00e9rive et la gouvernance FinOps maintenant la plateforme align\u00e9e sur l&rsquo;\u00e9tat souhait\u00e9 qu&rsquo;elle a \u00e9t\u00e9 con\u00e7ue pour maintenir. La plateforme ne remplace pas le jugement des ing\u00e9nieurs. Elle cesse de demander un jugement sur des d\u00e9cisions qui ont d\u00e9j\u00e0 \u00e9t\u00e9 prises au Day 0.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2><b>FAQ<\/b><\/h2>\n<h3><b>1. Quelle est la diff\u00e9rence entre les op\u00e9rations Day 0, Day 1 et Day 2 ?<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Le Day 0 est la phase de conception o\u00f9 vous construisez les templates, le RBAC et les politiques qui contraignent tout ce qui suit. Le Day 1 est la fen\u00eatre de d\u00e9ploiement o\u00f9 vous provisionnez l&rsquo;infrastructure initiale. Le Day 2 est l&rsquo;\u00e9tat durable \u2014 la phase la plus longue, couvrant la mont\u00e9e en charge, le patching et la gestion de la d\u00e9rive jusqu&rsquo;\u00e0 la mise hors service du syst\u00e8me.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><b>2. Comment les IDPs appliquent-ils la gouvernance pendant le Day 2 ?<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">La gouvernance reste active en for\u00e7ant les modifications post-provisionnement (comme la mont\u00e9e en charge ou les mises \u00e0 jour) \u00e0 passer par les m\u00eames workflows prot\u00e9g\u00e9s utilis\u00e9s au lancement. Au lieu de modifications manuelles via la console, les changements doivent passer par des formulaires versionn\u00e9s et des pipelines qui respectent les plafonds budg\u00e9taires et les fronti\u00e8res de s\u00e9curit\u00e9 pr\u00e9d\u00e9finies.<\/span><\/p>\n<h3><\/h3>\n<h3><\/h3>\n<h3><b>3. Qu&rsquo;est-ce qui cause la d\u00e9rive de configuration et comment la r\u00e9sout-on ?<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">La d\u00e9rive se produit quand des \u00ab\u00a0hotfixes\u00a0\u00bb manuels sont effectu\u00e9s directement dans la console cloud, contournant le contr\u00f4le de version. Les \u00e9quipes platform r\u00e9solvent cela via la d\u00e9tection continue de d\u00e9rive, qui compare l&rsquo;environnement r\u00e9el \u00e0 la d\u00e9finition de Stack sauvegard\u00e9e dans Git et alerte les \u00e9quipes pour r\u00e9concilier les \u00e9tats avant que des d\u00e9faillances ne surviennent.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><b>4. Comment la gouvernance Day 2 fonctionne-t-elle pour Kubernetes \u00e0 l&rsquo;\u00e9chelle ?<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Parce que Kubernetes comporte de nombreux composants mobiles comme les HPA et les politiques r\u00e9seau, la gouvernance est int\u00e9gr\u00e9e dans les templates de d\u00e9ploiement. Cela garantit que la rotation des certificats, les limites de mont\u00e9e en charge et les mises \u00e0 jour de cluster sont g\u00e9r\u00e9es automatiquement et de fa\u00e7on coh\u00e9rente entre toutes les \u00e9quipes, emp\u00eachant des erreurs de configuration mineures de devenir des pannes majeures.<\/span><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"featured_media":16641,"parent":0,"template":"","meta":{"_acf_changed":false},"language":[],"tags":[],"class_list":["post-25747","blogs","type-blogs","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Day 0, Day 1, Day 2 : gouvernance du cycle de vie platform | Cycloid<\/title>\n<meta name=\"description\" content=\"Comment les \u00e9quipes platform appliquent la gouvernance sur les trois phases du cycle de vie : de la conception Day 0 au provisionnement Day 1, jusqu&#039;\u00e0 la gestion continue Day 2 avec d\u00e9tection de d\u00e9rive et FinOps.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.cycloid.io\/fr\/blog\/day-0-day-1-et-day-2-gouvernance-sur-lensemble-du-cycle-de-vie-dune-plateforme\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Day 0, Day 1, Day 2 : gouvernance du cycle de vie platform | Cycloid\" \/>\n<meta property=\"og:description\" content=\"Comment les \u00e9quipes platform appliquent la gouvernance sur les trois phases du cycle de vie : de la conception Day 0 au provisionnement Day 1, jusqu&#039;\u00e0 la gestion continue Day 2 avec d\u00e9tection de d\u00e9rive et FinOps.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cycloid.io\/fr\/blog\/day-0-day-1-et-day-2-gouvernance-sur-lensemble-du-cycle-de-vie-dune-plateforme\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-17T08:54:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cycloid.io\/wp-content\/uploads\/2025\/05\/Platform-engineering_blog-post_v1-1.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1509\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"32 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.cycloid.io\\\/fr\\\/blog\\\/day-0-day-1-et-day-2-gouvernance-sur-lensemble-du-cycle-de-vie-dune-plateforme\\\/\",\"url\":\"https:\\\/\\\/www.cycloid.io\\\/fr\\\/blog\\\/day-0-day-1-et-day-2-gouvernance-sur-lensemble-du-cycle-de-vie-dune-plateforme\\\/\",\"name\":\"Day 0, Day 1, Day 2 : gouvernance du cycle de vie platform | Cycloid\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cycloid.io\\\/fr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.cycloid.io\\\/fr\\\/blog\\\/day-0-day-1-et-day-2-gouvernance-sur-lensemble-du-cycle-de-vie-dune-plateforme\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cycloid.io\\\/fr\\\/blog\\\/day-0-day-1-et-day-2-gouvernance-sur-lensemble-du-cycle-de-vie-dune-plateforme\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.cycloid.io\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Platform-engineering_blog-post_v1-1.webp\",\"datePublished\":\"2026-05-11T09:51:29+00:00\",\"dateModified\":\"2026-06-17T08:54:46+00:00\",\"description\":\"Comment les \u00e9quipes platform appliquent la gouvernance sur les trois phases du cycle de vie : de la conception Day 0 au provisionnement Day 1, jusqu'\u00e0 la gestion continue Day 2 avec d\u00e9tection de d\u00e9rive et FinOps.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.cycloid.io\\\/fr\\\/blog\\\/day-0-day-1-et-day-2-gouvernance-sur-lensemble-du-cycle-de-vie-dune-plateforme\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.cycloid.io\\\/fr\\\/blog\\\/day-0-day-1-et-day-2-gouvernance-sur-lensemble-du-cycle-de-vie-dune-plateforme\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.cycloid.io\\\/fr\\\/blog\\\/day-0-day-1-et-day-2-gouvernance-sur-lensemble-du-cycle-de-vie-dune-plateforme\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.cycloid.io\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Platform-engineering_blog-post_v1-1.webp\",\"contentUrl\":\"https:\\\/\\\/www.cycloid.io\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Platform-engineering_blog-post_v1-1.webp\",\"width\":2400,\"height\":1509},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.cycloid.io\\\/fr\\\/blog\\\/day-0-day-1-et-day-2-gouvernance-sur-lensemble-du-cycle-de-vie-dune-plateforme\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.cycloid.io\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blogs\",\"item\":\"https:\\\/\\\/www.cycloid.io\\\/fr\\\/blogs\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Day 0, Day 1 et Day 2 : gouvernance sur l&#8217;ensemble du cycle de vie d&#8217;une plateforme\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.cycloid.io\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/www.cycloid.io\\\/fr\\\/\",\"name\":\"\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.cycloid.io\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Day 0, Day 1, Day 2 : gouvernance du cycle de vie platform | Cycloid","description":"Comment les \u00e9quipes platform appliquent la gouvernance sur les trois phases du cycle de vie : de la conception Day 0 au provisionnement Day 1, jusqu'\u00e0 la gestion continue Day 2 avec d\u00e9tection de d\u00e9rive et FinOps.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.cycloid.io\/fr\/blog\/day-0-day-1-et-day-2-gouvernance-sur-lensemble-du-cycle-de-vie-dune-plateforme\/","og_locale":"fr_FR","og_type":"article","og_title":"Day 0, Day 1, Day 2 : gouvernance du cycle de vie platform | Cycloid","og_description":"Comment les \u00e9quipes platform appliquent la gouvernance sur les trois phases du cycle de vie : de la conception Day 0 au provisionnement Day 1, jusqu'\u00e0 la gestion continue Day 2 avec d\u00e9tection de d\u00e9rive et FinOps.","og_url":"https:\/\/www.cycloid.io\/fr\/blog\/day-0-day-1-et-day-2-gouvernance-sur-lensemble-du-cycle-de-vie-dune-plateforme\/","article_modified_time":"2026-06-17T08:54:46+00:00","og_image":[{"width":2400,"height":1509,"url":"https:\/\/www.cycloid.io\/wp-content\/uploads\/2025\/05\/Platform-engineering_blog-post_v1-1.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"32 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.cycloid.io\/fr\/blog\/day-0-day-1-et-day-2-gouvernance-sur-lensemble-du-cycle-de-vie-dune-plateforme\/","url":"https:\/\/www.cycloid.io\/fr\/blog\/day-0-day-1-et-day-2-gouvernance-sur-lensemble-du-cycle-de-vie-dune-plateforme\/","name":"Day 0, Day 1, Day 2 : gouvernance du cycle de vie platform | Cycloid","isPartOf":{"@id":"https:\/\/www.cycloid.io\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cycloid.io\/fr\/blog\/day-0-day-1-et-day-2-gouvernance-sur-lensemble-du-cycle-de-vie-dune-plateforme\/#primaryimage"},"image":{"@id":"https:\/\/www.cycloid.io\/fr\/blog\/day-0-day-1-et-day-2-gouvernance-sur-lensemble-du-cycle-de-vie-dune-plateforme\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cycloid.io\/wp-content\/uploads\/2025\/05\/Platform-engineering_blog-post_v1-1.webp","datePublished":"2026-05-11T09:51:29+00:00","dateModified":"2026-06-17T08:54:46+00:00","description":"Comment les \u00e9quipes platform appliquent la gouvernance sur les trois phases du cycle de vie : de la conception Day 0 au provisionnement Day 1, jusqu'\u00e0 la gestion continue Day 2 avec d\u00e9tection de d\u00e9rive et FinOps.","breadcrumb":{"@id":"https:\/\/www.cycloid.io\/fr\/blog\/day-0-day-1-et-day-2-gouvernance-sur-lensemble-du-cycle-de-vie-dune-plateforme\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cycloid.io\/fr\/blog\/day-0-day-1-et-day-2-gouvernance-sur-lensemble-du-cycle-de-vie-dune-plateforme\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.cycloid.io\/fr\/blog\/day-0-day-1-et-day-2-gouvernance-sur-lensemble-du-cycle-de-vie-dune-plateforme\/#primaryimage","url":"https:\/\/www.cycloid.io\/wp-content\/uploads\/2025\/05\/Platform-engineering_blog-post_v1-1.webp","contentUrl":"https:\/\/www.cycloid.io\/wp-content\/uploads\/2025\/05\/Platform-engineering_blog-post_v1-1.webp","width":2400,"height":1509},{"@type":"BreadcrumbList","@id":"https:\/\/www.cycloid.io\/fr\/blog\/day-0-day-1-et-day-2-gouvernance-sur-lensemble-du-cycle-de-vie-dune-plateforme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cycloid.io\/fr\/"},{"@type":"ListItem","position":2,"name":"Blogs","item":"https:\/\/www.cycloid.io\/fr\/blogs\/"},{"@type":"ListItem","position":3,"name":"Day 0, Day 1 et Day 2 : gouvernance sur l&#8217;ensemble du cycle de vie d&#8217;une plateforme"}]},{"@type":"WebSite","@id":"https:\/\/www.cycloid.io\/fr\/#website","url":"https:\/\/www.cycloid.io\/fr\/","name":"","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cycloid.io\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"}]}},"_links":{"self":[{"href":"https:\/\/www.cycloid.io\/fr\/wp-json\/wp\/v2\/blogs\/25747","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cycloid.io\/fr\/wp-json\/wp\/v2\/blogs"}],"about":[{"href":"https:\/\/www.cycloid.io\/fr\/wp-json\/wp\/v2\/types\/blogs"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cycloid.io\/fr\/wp-json\/wp\/v2\/media\/16641"}],"wp:attachment":[{"href":"https:\/\/www.cycloid.io\/fr\/wp-json\/wp\/v2\/media?parent=25747"}],"wp:term":[{"taxonomy":"language","embeddable":true,"href":"https:\/\/www.cycloid.io\/fr\/wp-json\/wp\/v2\/language?post=25747"},{"taxonomy":"tags","embeddable":true,"href":"https:\/\/www.cycloid.io\/fr\/wp-json\/wp\/v2\/tags?post=25747"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}