[{"data":1,"prerenderedAt":1010},["ShallowReactive",2],{"/fr-fr/blog/gitaly-on-kubernetes-generally-available":3,"navigation-fr-fr":228,"banner-fr-fr":663,"footer-fr-fr":671,"blog-post-authors-fr-fr-Olivier Campeau":908,"blog-related-posts-fr-fr-gitaly-on-kubernetes-generally-available":923,"blog-promotions-fr-fr":948,"next-steps-fr-fr":1001},{"id":4,"title":5,"authors":6,"body":8,"category":206,"date":207,"description":208,"extension":209,"externalUrl":210,"faq":210,"featured":211,"heroImage":212,"meta":213,"navigation":214,"path":215,"seo":216,"slug":218,"stem":219,"tags":220,"template":226,"updatedDate":210,"__hash__":227},"blogPosts/fr-fr/blog/gitaly-on-kubernetes-generally-available.md","Consolidez votre pile GitLab avec Gitaly sur Kubernetes",[7],"Olivier Campeau",{"type":9,"value":10,"toc":198},"minimark",[11,28,33,36,52,77,80,89,92,145,148,157,161,164,173,177,191],[12,13,14,20,21,27],"p",{},[15,16,19],"a",{"href":17,"rel":18},"https://about.gitlab.com/fr-fr/whats-new/",[],"GitLab 18.11"," apporte une bonne nouvelle pour les équipes qui exécutent GitLab sur ",[15,22,26],{"href":23,"rel":24,"title":25},"https://about.gitlab.com/fr-fr/blog/kubernetes-the-container-orchestration-solution/",[],"Qu'est-ce que Kubernetes ?","Kubernetes"," : Gitaly sur Kubernetes est désormais en disponibilité générale. Auparavant, les équipes qui hébergeaient GitLab sur Kubernetes devaient maintenir une configuration hybride, car la plupart des composants GitLab fonctionnaient dans Kubernetes, tandis que Gitaly restait sur des machines virtuelles. Cette architecture hybride compliquait les opérations quotidiennes pour ces équipes. Cette époque est révolue : Gitaly sur Kubernetes est désormais une option de déploiement officiellement prise en charge.",[29,30,32],"h3",{"id":31},"le-chemin-vers-kubernetes","Le chemin vers Kubernetes",[12,34,35],{},"Gitaly a des exigences strictes qui ne se transposent pas naturellement dans un environnement Kubernetes.",[12,37,38,39,45,46,51],{},"Les opérations ",[15,40,44],{"href":41,"rel":42,"title":43},"https://about.gitlab.com/fr-fr/blog/what-is-git/",[],"Qu'est-ce que Git ?","Git"," peuvent être gourmandes en mémoire, et leurs schémas d'utilisation sont difficiles à prévoir. Pour protéger le processus principal de Gitaly contre les événements de dépassement de mémoire (OOM) et éviter les interruptions de service, Gitaly ",[15,47,50],{"href":48,"rel":49},"https://docs.gitlab.com/administration/gitaly/cgroups/",[],"peut être configuré pour exécuter chaque processus Git dans un cgroup dédié",". Dans cette configuration, le processus Gitaly réside dans un cgroup distinct de ceux utilisés par les processus Git. Si un processus Git dépasse la limite de mémoire de son cgroup et est interrompu, le processus principal de Gitaly n'est pas affecté.",[12,53,54,55,59,60,65,66,68,69,72,73,76],{},"La mise en œuvre de cette configuration dans un pod Kubernetes a nécessité un effort supplémentaire. La plupart des clusters Kubernetes utilisent ",[56,57,58],"code",{},"containerd"," comme environnement d'exécution de conteneurs, et ",[15,61,64],{"href":62,"rel":63},"https://github.com/containerd/containerd/issues/10924",[],"jusqu'à récemment",", ",[56,67,58],{}," n'autorisait les conteneurs à écrire dans ",[56,70,71],{},"cgroupfs"," que s'ils s'exécutaient en mode privilégié. La solution a consisté à monter ",[56,74,75],{},"/sys/fs/cgroup"," via un conteneur d'initialisation et à rendre le chemin accessible en écriture.",[12,78,79],{},"Les redémarrages de pods ont également demandé des ajustements supplémentaires. Sur une machine virtuelle, Omnibus peut mettre à jour le binaire Gitaly en place et recharger gracieusement en maintenant le socket ouvert tout en remplaçant le processus. Sur Kubernetes, en revanche, lorsqu'un pod de StatefulSet est remplacé, que ce soit en raison d'une mise à jour Helm, d'un drainage de nœud ou d'un changement de configuration, les pods Gitaly sont arrêtés puis redémarrés. Il s'agit d'un arrêt brutal, et non d’un redémarrage en douceur. Pour le mode sharded de Gitaly par exemple, qui n'offre pas de haute disponibilité, cela signifie une interruption de service qui peut s’avérer inacceptable pour certains clients.",[12,81,82,83,88],{},"Notre solution consistait à permettre ",[15,84,87],{"href":85,"rel":86},"https://docs.gitlab.com/administration/settings/gitaly_timeouts/#gitaly-client-retries",[],"la configuration des tentatives de reconnexion des clients",". En configurant les clients Gitaly, comme Rails, pour qu'ils réessaient les requêtes suffisamment longtemps pour permettre à Gitaly de redémarrer et d’être à nouveau disponible, les utilisateurs peuvent constater une latence légèrement plus élevée pendant cette brève fenêtre, mais les requêtes aboutissent, et les interruptions de service sont évitées.",[12,90,91],{},"Pour confirmer que les tentatives de reconnexion des clients éliminaient effectivement les interruptions de service lors des mises à jour, nous avons réalisé une série de benchmarks. Nous avons exécuté des opérations Git courantes sur deux instances GitLab, l'une avec Gitaly sur des machines virtuelles, l'autre sur Kubernetes, puis déclenché une mise à jour en cours de test et suivi les taux de réussite des requêtes. Voici les résultats :",[93,94,95,111],"table",{},[96,97,98],"thead",{},[99,100,101,105,108],"tr",{},[102,103,104],"th",{},"Opération",[102,106,107],{},"Taux de réussite sur machine virtuelle",[102,109,110],{},"Taux de réussite sur Kubernetes",[112,113,114,125,135],"tbody",{},[99,115,116,120,123],{},[117,118,119],"td",{},"git clone",[117,121,122],{},"100 %",[117,124,122],{},[99,126,127,130,132],{},[117,128,129],{},"git pull",[117,131,122],{},[117,133,134],{},"99,16 %",[99,136,137,140,143],{},[117,138,139],{},"git push",[117,141,142],{},"99,66 %",[117,144,122],{},[146,147],"br",{},[12,149,150,151,156],{},"Les chiffres sont quasiment identiques dans les deux environnements. Ces résultats sont particulièrement encourageants en raison de la nature même de Kubernetes : un redémarrage de pod implique un arrêt brutal du processus et une fermeture immédiate du socket, et pourtant les taux de réussite sont restés élevés. Pour atteindre un taux de réussite de 100 % sur toutes les opérations, il faudrait recourir à notre solution de haute disponibilité, ",[15,152,155],{"href":153,"rel":154},"https://docs.gitlab.com/administration/gitaly/praefect/",[],"Gitaly Cluster (Praefect)",", qui ne prend pas encore en charge Kubernetes, bien que nous y travaillions activement et que sa mise à disposition générale soit prévue prochainement.",[29,158,160],{"id":159},"ce-que-gitaly-sur-kubernetes-signifie-pour-vous","Ce que Gitaly sur Kubernetes signifie pour vous",[12,162,163],{},"Si vous utilisez GitLab en mode hybride, avec certains composants sur Kubernetes et Gitaly sur des machines virtuelles, vous pouvez désormais consolider votre infrastructure en déplaçant Gitaly dans le cluster. Vous n'aurez plus besoin de maintenir et de surveiller une flotte de machines virtuelles distincte en parallèle de vos nœuds Kubernetes et pourrez regrouper l'ensemble de votre pile GitLab dans un seul environnement géré par Kubernetes.",[12,165,166,167,172],{},"Si vous adoptez GitLab pour la première fois et que vous exploitez déjà des logiciels sur Kubernetes, vous bénéficiez maintenant d'un déploiement GitLab entièrement natif sur Kubernetes grâce à notre ",[15,168,171],{"href":169,"rel":170},"https://gitlab.com/gitlab-org/charts/gitlab",[],"chart Helm",".",[29,174,176],{"id":175},"installation-de-gitaly-sur-kubernetes","Installation de Gitaly sur Kubernetes",[12,178,179,180,184,185,190],{},"La méthode recommandée pour déployer Gitaly sur Kubernetes consiste à utiliser le ",[15,181,183],{"href":169,"rel":182},[],"chart Helm GitLab",". Avant de commencer, il est utile de consulter la ",[15,186,189],{"href":187,"rel":188},"https://docs.gitlab.com/administration/gitaly/kubernetes/",[],"documentation de Gitaly sur Kubernetes",", qui couvre les points de configuration essentiels et vous aide à éviter les pièges courants.",[12,192,193,194,197],{},"Gitaly peut être déployé soit dans le cadre d'une installation complète de GitLab, soit en tant que composant externe. La ",[15,195,189],{"href":187,"rel":196},[]," aborde les deux scénarios.",{"title":199,"searchDepth":200,"depth":200,"links":201},"",2,[202,204,205],{"id":31,"depth":203,"text":32},3,{"id":159,"depth":203,"text":160},{"id":175,"depth":203,"text":176},"devsecops","2026-05-07","Découvrez comment installer Gitaly sur Kubernetes, désormais en disponibilité générale.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1756500636/wmey6kqzzuhirk88w2de.png",{},true,"/fr-fr/blog/gitaly-on-kubernetes-generally-available",{"title":5,"description":208,"config":217},{"noIndex":211},"gitaly-on-kubernetes-generally-available","fr-fr/blog/gitaly-on-kubernetes-generally-available",[221,222,223,224,225],"kubernetes","git","GitOps","features","product","BlogPost","Gg3IrpDIazQEnYepaOWO23KA2yfNBbdcXqObSawEIEg",{"logo":229,"freeTrial":234,"sales":239,"login":244,"items":249,"search":578,"minimal":614,"duo":633,"switchNav":642,"pricingDeployment":653},{"config":230},{"href":231,"dataGaName":232,"dataGaLocation":233},"/fr-fr/","gitlab logo","header",{"text":235,"config":236},"Commencer un essai gratuit",{"href":237,"dataGaName":238,"dataGaLocation":233},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr&glm_content=default-saas-trial/","free trial",{"text":240,"config":241},"Demander une démo",{"href":242,"dataGaName":243,"dataGaLocation":233},"/fr-fr/sales/?contact-topic=request-demo","sales",{"text":245,"config":246},"Connexion",{"href":247,"dataGaName":248,"dataGaLocation":233},"https://gitlab.com/users/sign_in/","sign in",[250,279,381,386,500,556],{"text":251,"config":252,"menu":254},"Plateforme",{"dataNavLevelOne":253},"platform",{"type":255,"columns":256},"cards",[257,263,271],{"title":251,"description":258,"link":259},"La plateforme d'orchestration intelligente pour le DevSecOps",{"text":260,"config":261},"Explorer notre plateforme",{"href":262,"dataGaName":253,"dataGaLocation":233},"/fr-fr/platform/",{"title":264,"description":265,"link":266},"GitLab Duo Agent Platform","L'IA agentique pour l'ensemble du cycle de développement logiciel",{"text":267,"config":268},"Découvrir GitLab Duo",{"href":269,"dataGaName":270,"dataGaLocation":233},"/fr-fr/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":272,"description":273,"link":274},"Pourquoi GitLab ?","Découvrez les principales raisons pour lesquelles les entreprises choisissent GitLab",{"text":275,"config":276},"En savoir plus",{"href":277,"dataGaName":278,"dataGaLocation":233},"/fr-fr/why-gitlab/","why gitlab",{"text":280,"left":214,"config":281,"menu":283},"Produit",{"dataNavLevelOne":282},"solutions",{"type":284,"link":285,"columns":289,"feature":360},"lists",{"text":286,"config":287},"Voir toutes les solutions",{"href":288,"dataGaName":282,"dataGaLocation":233},"/fr-fr/solutions/",[290,315,338],{"title":291,"description":292,"link":293,"items":298},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":294},{"icon":295,"href":296,"dataGaName":297,"dataGaLocation":233},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[299,303,306,311],{"text":300,"config":301},"CI/CD",{"href":302,"dataGaLocation":233,"dataGaName":300},"/fr-fr/solutions/continuous-integration/",{"text":264,"config":304},{"href":269,"dataGaLocation":233,"dataGaName":305},"gitlab duo agent platform - product menu",{"text":307,"config":308},"Gestion du code source",{"href":309,"dataGaLocation":233,"dataGaName":310},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":312,"config":313},"Livraison de logiciels automatisée",{"href":296,"dataGaLocation":233,"dataGaName":314},"Automated software delivery",{"title":316,"description":317,"link":318,"items":323},"Sécurité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":319},{"href":320,"dataGaName":321,"dataGaLocation":233,"icon":322},"/fr-fr/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[324,328,333],{"text":325,"config":326},"Tests de sécurité des applications",{"href":320,"dataGaName":327,"dataGaLocation":233},"Application security testing",{"text":329,"config":330},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":331,"dataGaLocation":233,"dataGaName":332},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":334,"config":335},"Conformité logicielle",{"href":336,"dataGaName":337,"dataGaLocation":233},"/fr-fr/solutions/software-compliance/","software compliance",{"title":339,"link":340,"items":345},"Mesures",{"config":341},{"icon":342,"href":343,"dataGaName":344,"dataGaLocation":233},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[346,350,355],{"text":347,"config":348},"Visibilité et mesures",{"href":343,"dataGaLocation":233,"dataGaName":349},"Visibility and Measurement",{"text":351,"config":352},"Gestion de la chaîne de valeur",{"href":353,"dataGaLocation":233,"dataGaName":354},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":356,"config":357},"Analyses et informations",{"href":358,"dataGaLocation":233,"dataGaName":359},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":361,"type":284,"items":362},"GitLab",[363,369,375],{"text":364,"config":365},"Entreprises",{"icon":366,"href":367,"dataGaLocation":233,"dataGaName":368},"Building","/fr-fr/enterprise/","enterprise",{"text":370,"config":371},"Pour les PME",{"icon":372,"href":373,"dataGaLocation":233,"dataGaName":374},"Work","/fr-fr/small-business/","small business",{"text":376,"config":377},"Pour le secteur public",{"icon":378,"href":379,"dataGaLocation":233,"dataGaName":380},"Organization","/fr-fr/solutions/public-sector/","public sector",{"text":382,"config":383},"Tarifs",{"href":384,"dataGaName":385,"dataGaLocation":233,"dataNavLevelOne":385},"/fr-fr/pricing/","pricing",{"text":387,"config":388,"menu":390},"Ressources",{"dataNavLevelOne":389},"resources",{"type":284,"link":391,"columns":395,"feature":489},{"text":392,"config":393},"Afficher toutes les ressources",{"href":394,"dataGaName":389,"dataGaLocation":233},"/fr-fr/resources/",[396,429,456],{"title":397,"items":398},"Premiers pas",[399,404,409,414,419,424],{"text":400,"config":401},"Installation",{"href":402,"dataGaName":403,"dataGaLocation":233},"/fr-fr/install/","install",{"text":405,"config":406},"Guides de démarrage",{"href":407,"dataGaName":408,"dataGaLocation":233},"/fr-fr/get-started/","quick setup checklists",{"text":410,"config":411},"Apprentissage",{"href":412,"dataGaLocation":233,"dataGaName":413},"https://university.gitlab.com/","learn",{"text":415,"config":416},"Documentation",{"href":417,"dataGaName":418,"dataGaLocation":233},"https://docs.gitlab.com/","product documentation",{"text":420,"config":421},"Vidéos sur les bonnes pratiques",{"href":422,"dataGaName":423,"dataGaLocation":233},"/fr-fr/getting-started-videos/","best practice videos",{"text":425,"config":426},"Intégrations",{"href":427,"dataGaName":428,"dataGaLocation":233},"/fr-fr/integrations/","integrations",{"title":430,"items":431},"Découvrir",[432,437,442,447,451],{"text":433,"config":434},"Témoignages clients",{"href":435,"dataGaName":436,"dataGaLocation":233},"/fr-fr/customers/","customer success stories",{"text":438,"config":439},"Blog",{"href":440,"dataGaName":441,"dataGaLocation":233},"/fr-fr/blog/","blog",{"text":443,"config":444},"Demo Hub",{"href":445,"dataGaName":446,"dataGaLocation":233},"/fr-fr/demo-hub/","demo hub",{"text":448,"config":449},"The Source",{"href":450,"dataGaName":441,"dataGaLocation":233},"/fr-fr/the-source/",{"text":452,"config":453},"Travail à distance",{"href":454,"dataGaName":455,"dataGaLocation":233},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":457,"items":458},"Connecter",[459,464,469,474,479,484],{"text":460,"config":461},"Services GitLab",{"href":462,"dataGaName":463,"dataGaLocation":233},"/fr-fr/services/","services",{"text":465,"config":466},"Contribuer",{"href":467,"dataGaName":468,"dataGaLocation":233},"https://contributors.gitlab.com","contribute",{"text":470,"config":471},"Communauté",{"href":472,"dataGaName":473,"dataGaLocation":233},"/community/","community",{"text":475,"config":476},"Forum",{"href":477,"dataGaName":478,"dataGaLocation":233},"https://forum.gitlab.com/","forum",{"text":480,"config":481},"Événements",{"href":482,"dataGaName":483,"dataGaLocation":233},"/events/","events",{"text":485,"config":486},"Partenaires",{"href":487,"dataGaName":488,"dataGaLocation":233},"/fr-fr/partners/","partners",{"config":490,"title":493,"text":494,"link":495},{"background":491,"textColor":492},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","Nouveautés de GitLab","Découvrez les dernières fonctionnalités et améliorations.",{"text":496,"config":497},"Lire les articles les plus récents",{"href":498,"dataGaName":499,"dataGaLocation":233},"/fr-fr/whats-new/","whats new",{"text":501,"config":502,"menu":504},"Société",{"dataNavLevelOne":503},"company",{"type":284,"columns":505},[506],{"items":507},[508,513,519,521,526,531,536,541,546,551],{"text":509,"config":510},"À propos",{"href":511,"dataGaName":512,"dataGaLocation":233},"/fr-fr/company/","about",{"text":514,"config":515,"footerGa":518},"Carrières",{"href":516,"dataGaName":517,"dataGaLocation":233},"/jobs/","jobs",{"dataGaName":517},{"text":480,"config":520},{"href":482,"dataGaName":483,"dataGaLocation":233},{"text":522,"config":523},"Leadership",{"href":524,"dataGaName":525,"dataGaLocation":233},"/company/team/e-group/","leadership",{"text":527,"config":528},"Manuel",{"href":529,"dataGaName":530,"dataGaLocation":233},"https://handbook.gitlab.com/","handbook",{"text":532,"config":533},"Relations avec les investisseurs",{"href":534,"dataGaName":535,"dataGaLocation":233},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":537,"config":538},"Trust Center",{"href":539,"dataGaName":540,"dataGaLocation":233},"/fr-fr/security/","trust center",{"text":542,"config":543},"Centre pour la transparence de l'IA",{"href":544,"dataGaName":545,"dataGaLocation":233},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":547,"config":548},"Newsletter",{"href":549,"dataGaName":550,"dataGaLocation":233},"/company/contact/#contact-forms","newsletter",{"text":552,"config":553},"Presse",{"href":554,"dataGaName":555,"dataGaLocation":233},"/press/","press",{"text":557,"config":558,"menu":559},"Nous contacter",{"dataNavLevelOne":503},{"type":284,"columns":560},[561],{"items":562},[563,568,573],{"text":564,"config":565},"Contacter l'équipe commerciale",{"href":566,"dataGaName":567,"dataGaLocation":233},"/fr-fr/sales/","talk to sales",{"text":569,"config":570},"Assistance GitLab",{"href":571,"dataGaName":572,"dataGaLocation":233},"https://support.gitlab.com/hc/en-us","support portal",{"text":574,"config":575},"Portail clients GitLab",{"href":576,"dataGaName":577,"dataGaLocation":233},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":579,"login":580,"suggestions":587},"Fermer",{"text":581,"link":582},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":583,"config":584},"GitLab.com",{"href":247,"dataGaName":585,"dataGaLocation":586},"search login","search",{"text":588,"default":589},"Suggestions",[590,593,598,600,605,610],{"text":264,"config":591},{"href":269,"dataGaName":592,"dataGaLocation":586},"GitLab Duo Agent Platform",{"text":594,"config":595},"Suggestions de code (IA)",{"href":596,"dataGaName":597,"dataGaLocation":586},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":300,"config":599},{"href":302,"dataGaName":300,"dataGaLocation":586},{"text":601,"config":602},"GitLab sur AWS",{"href":603,"dataGaName":604,"dataGaLocation":586},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":606,"config":607},"GitLab sur Google Cloud",{"href":608,"dataGaName":609,"dataGaLocation":586},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":611,"config":612},"Pourquoi utiliser GitLab ?",{"href":277,"dataGaName":613,"dataGaLocation":586},"Why GitLab?",{"freeTrial":615,"mobileIcon":620,"desktopIcon":625,"secondaryButton":628},{"text":616,"config":617},"Commencer votre essai gratuit",{"href":618,"dataGaName":238,"dataGaLocation":619},"https://gitlab.com/-/trials/new/","nav",{"altText":621,"config":622},"Icône GitLab",{"src":623,"dataGaName":624,"dataGaLocation":619},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":621,"config":626},{"src":627,"dataGaName":624,"dataGaLocation":619},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":629,"config":630},"Commencer",{"href":631,"dataGaName":632,"dataGaLocation":619},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/get-started/","get started",{"freeTrial":634,"mobileIcon":638,"desktopIcon":640},{"text":635,"config":636},"En savoir plus sur GitLab Duo",{"href":269,"dataGaName":637,"dataGaLocation":619},"gitlab duo",{"altText":621,"config":639},{"src":623,"dataGaName":624,"dataGaLocation":619},{"altText":621,"config":641},{"src":627,"dataGaName":624,"dataGaLocation":619},{"button":643,"mobileIcon":648,"desktopIcon":650},{"text":644,"config":645},"/switch",{"href":646,"dataGaName":647,"dataGaLocation":619},"#contact","switch",{"altText":621,"config":649},{"src":623,"dataGaName":624,"dataGaLocation":619},{"altText":621,"config":651},{"src":652,"dataGaName":624,"dataGaLocation":619},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":654,"mobileIcon":659,"desktopIcon":661},{"text":655,"config":656},"Retour aux tarifs",{"href":384,"dataGaName":657,"dataGaLocation":619,"icon":658},"back to pricing","GoBack",{"altText":621,"config":660},{"src":623,"dataGaName":624,"dataGaLocation":619},{"altText":621,"config":662},{"src":627,"dataGaName":624,"dataGaLocation":619},{"title":664,"button":665,"config":669},"GitLab Orbit est arrivé : la couche de contexte pour les agents d'IA.",{"text":275,"config":666},{"href":667,"dataGaName":668,"dataGaLocation":233},"/fr-fr/gitlab-orbit/","orbit",{"layout":670,"disabled":211},"release",{"data":672},{"text":673,"source":674,"edit":680,"contribute":685,"config":689,"items":694,"minimal":900},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence.",{"text":675,"config":676},"Afficher le code source de la page",{"href":677,"dataGaName":678,"dataGaLocation":679},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":681,"config":682},"Modifier cette page",{"href":683,"dataGaName":684,"dataGaLocation":679},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":465,"config":686},{"href":687,"dataGaName":688,"dataGaLocation":679},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":690,"facebook":691,"youtube":692,"linkedin":693},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[695,741,792,835,867],{"title":382,"links":696,"subMenu":711},[697,701,706],{"text":698,"config":699},"Voir les forfaits",{"href":384,"dataGaName":700,"dataGaLocation":679},"view plans",{"text":702,"config":703},"GitLab Premium",{"href":704,"dataGaName":705,"dataGaLocation":679},"/fr-fr/pricing/premium/","why premium",{"text":707,"config":708},"GitLab Ultimate",{"href":709,"dataGaName":710,"dataGaLocation":679},"/fr-fr/pricing/ultimate/","why ultimate",[712],{"title":557,"links":713},[714,716,718,721,726,731,736],{"text":564,"config":715},{"href":566,"dataGaName":243,"dataGaLocation":679},{"text":569,"config":717},{"href":571,"dataGaName":572,"dataGaLocation":679},{"text":719,"config":720},"Portail clients",{"href":576,"dataGaName":577,"dataGaLocation":679},{"text":722,"config":723},"Statut",{"href":724,"dataGaName":725,"dataGaLocation":679},"https://status.gitlab.com/","status",{"text":727,"config":728},"Conditions d'utilisation",{"href":729,"dataGaName":730,"dataGaLocation":679},"/terms/","terms of use",{"text":732,"config":733},"Politique de confidentialité",{"href":734,"dataGaName":735,"dataGaLocation":679},"/fr-fr/privacy/","privacy statement",{"text":737,"config":738},"Gestion des cookies",{"dataGaName":739,"dataGaLocation":679,"id":740,"isOneTrustButton":214},"cookie preferences","ot-sdk-btn",{"title":280,"links":742,"subMenu":751},[743,747],{"text":744,"config":745},"Plateforme DevSecOps",{"href":262,"dataGaName":746,"dataGaLocation":679},"devsecops platform",{"text":748,"config":749},"Développement assisté par l'IA",{"href":269,"dataGaName":750,"dataGaLocation":679},"ai-assisted development",[752],{"title":753,"links":754},"Thèmes",[755,759,763,768,773,777,782,787],{"text":300,"config":756},{"href":757,"dataGaName":758,"dataGaLocation":679},"/fr-fr/topics/ci-cd/","cicd",{"text":223,"config":760},{"href":761,"dataGaName":762,"dataGaLocation":679},"/fr-fr/topics/gitops/","gitops",{"text":764,"config":765},"DevOps",{"href":766,"dataGaName":767,"dataGaLocation":679},"/fr-fr/topics/devops/","devops",{"text":769,"config":770},"Contrôle de version",{"href":771,"dataGaName":772,"dataGaLocation":679},"/fr-fr/topics/version-control/","version control",{"text":774,"config":775},"DevSecOps",{"href":776,"dataGaName":206,"dataGaLocation":679},"/fr-fr/topics/devsecops/",{"text":778,"config":779},"Cloud-native",{"href":780,"dataGaName":781,"dataGaLocation":679},"/fr-fr/topics/cloud-native/","cloud native",{"text":783,"config":784},"IA pour la programmation",{"href":785,"dataGaName":786,"dataGaLocation":679},"/fr-fr/topics/devops/ai-for-coding/","ai for coding",{"text":788,"config":789},"IA agentique",{"href":790,"dataGaName":791,"dataGaLocation":679},"/fr-fr/topics/agentic-ai/","agentic ai",{"title":793,"links":794},"Solutions",[795,798,800,805,808,811,814,817,819,822,825,830],{"text":325,"config":796},{"href":320,"dataGaName":797,"dataGaLocation":679},"Application Security Testing",{"text":312,"config":799},{"href":296,"dataGaName":297,"dataGaLocation":679},{"text":801,"config":802},"Développement Agile",{"href":803,"dataGaName":804,"dataGaLocation":679},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":307,"config":806},{"href":309,"dataGaName":807,"dataGaLocation":679},"source code management",{"text":300,"config":809},{"href":302,"dataGaName":810,"dataGaLocation":679},"continuous integration & delivery",{"text":351,"config":812},{"href":353,"dataGaName":813,"dataGaLocation":679},"value stream management",{"text":223,"config":815},{"href":816,"dataGaName":762,"dataGaLocation":679},"/fr-fr/solutions/gitops/",{"text":364,"config":818},{"href":367,"dataGaName":368,"dataGaLocation":679},{"text":820,"config":821},"PME",{"href":373,"dataGaName":374,"dataGaLocation":679},{"text":823,"config":824},"Secteur public",{"href":379,"dataGaName":380,"dataGaLocation":679},{"text":826,"config":827},"Éducation",{"href":828,"dataGaName":829,"dataGaLocation":679},"/fr-fr/solutions/education/","education",{"text":831,"config":832},"Services financiers",{"href":833,"dataGaName":834,"dataGaLocation":679},"/fr-fr/solutions/finance/","financial services",{"title":387,"links":836},[837,839,841,843,846,848,851,853,855,857,859,861,863,865],{"text":400,"config":838},{"href":402,"dataGaName":403,"dataGaLocation":679},{"text":405,"config":840},{"href":407,"dataGaName":408,"dataGaLocation":679},{"text":410,"config":842},{"href":412,"dataGaName":413,"dataGaLocation":679},{"text":415,"config":844},{"href":417,"dataGaName":845,"dataGaLocation":679},"docs",{"text":438,"config":847},{"href":440,"dataGaName":441,"dataGaLocation":679},{"text":849,"config":850},"Nouveautés",{"href":498,"dataGaName":499,"dataGaLocation":679},{"text":433,"config":852},{"href":435,"dataGaName":436,"dataGaLocation":679},{"text":452,"config":854},{"href":454,"dataGaName":455,"dataGaLocation":679},{"text":460,"config":856},{"href":462,"dataGaName":463,"dataGaLocation":679},{"text":465,"config":858},{"href":467,"dataGaName":468,"dataGaLocation":679},{"text":470,"config":860},{"href":472,"dataGaName":473,"dataGaLocation":679},{"text":475,"config":862},{"href":477,"dataGaName":478,"dataGaLocation":679},{"text":480,"config":864},{"href":482,"dataGaName":483,"dataGaLocation":679},{"text":485,"config":866},{"href":487,"dataGaName":488,"dataGaLocation":679},{"title":501,"links":868},[869,871,873,875,877,879,884,889,891,893,895],{"text":509,"config":870},{"href":511,"dataGaName":503,"dataGaLocation":679},{"text":514,"config":872},{"href":516,"dataGaName":517,"dataGaLocation":679},{"text":522,"config":874},{"href":524,"dataGaName":525,"dataGaLocation":679},{"text":527,"config":876},{"href":529,"dataGaName":530,"dataGaLocation":679},{"text":532,"config":878},{"href":534,"dataGaName":535,"dataGaLocation":679},{"text":880,"config":881},"Développement durable",{"href":882,"dataGaName":883,"dataGaLocation":679},"/sustainability/","Sustainability",{"text":885,"config":886},"Diversité, inclusion et appartenance (DIB)",{"href":887,"dataGaName":888,"dataGaLocation":679},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":537,"config":890},{"href":539,"dataGaName":540,"dataGaLocation":679},{"text":547,"config":892},{"href":549,"dataGaName":550,"dataGaLocation":679},{"text":552,"config":894},{"href":554,"dataGaName":555,"dataGaLocation":679},{"text":896,"config":897},"Déclaration de transparence sur l'esclavage moderne",{"href":898,"dataGaName":899,"dataGaLocation":679},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":901},[902,904,906],{"text":727,"config":903},{"href":729,"dataGaName":730,"dataGaLocation":679},{"text":737,"config":905},{"dataGaName":739,"dataGaLocation":679,"id":740,"isOneTrustButton":214},{"text":732,"config":907},{"href":734,"dataGaName":735,"dataGaLocation":679},[909],{"id":910,"title":7,"body":210,"config":911,"content":914,"description":210,"extension":917,"meta":918,"navigation":214,"path":919,"seo":920,"stem":921,"__hash__":922},"blogAuthors/en-us/blog/authors/olivier-campeau.yml",{"template":912,"gitlabHandle":913},"BlogAuthor","oli.campeau",{"name":7,"config":915},{"headshot":916},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1750704785/kyqz7c4ctjvo4qpj8ldf.png","yml",{},"/en-us/blog/authors/olivier-campeau",{},"en-us/blog/authors/olivier-campeau","QnQqFsgf6SJs5gPP9waa3s-YIi2JoRAKo6At53-Urfw",[924,933,941],{"title":925,"description":926,"heroImage":927,"category":206,"date":928,"authors":929,"slug":932,"externalUrl":210},"Cloud et DevOps : pourquoi cette alliance transforme le développement logiciel","Cloud et DevOps convergent pour accélérer la livraison logicielle. Découvrez comment cette alliance transforme vos cycles de développement logiciel et renforce votre compétitivité.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1774465167/n5hlvrsrheadeccyr1oz.png","2026-05-28",[930,931],"Salahddine Aberkan","Maud Leuenberger","cloud-and-devops",{"title":934,"description":935,"heroImage":936,"category":206,"date":937,"authors":938,"slug":940,"externalUrl":210},"Automatisez les étapes de votre cycle de développement avec GitLab CI/CD","GitLab CI/CD automatise vos builds, tests et déploiements depuis une plateforme DevSecOps unifiée. Découvrez son fonctionnement, ses composants clés et ses fonctionnalités avancées pour des cycles de livraison plus rapides et fiables.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1775561395/bhe1as7ttjvzltxwgo5m.png","2026-04-22",[939,931],"Charlotte Delbosc","what-is-gitlab-ci-cd",{"title":942,"description":943,"heroImage":944,"category":206,"date":945,"authors":946,"slug":947,"externalUrl":210},"Conteneurs et machines virtuelles : quelle différence ?","Les conteneurs et les machines virtuelles sont deux approches de virtualisation aux architectures différentes. Découvrez-en davantage sur leur fonctionnement et leurs principales différences.  ","https://res.cloudinary.com/about-gitlab-com/image/upload/v1763646158/crdpd8lt5fndfzbcl9ln.jpg","2026-03-03",[930,931],"containers-vs-virtual-machines",{"promotions":949},[950,964,975,987],{"id":951,"categories":952,"header":954,"text":955,"button":956,"image":961},"ai-modernization",[953],"ai","L'IA tient-elle ses promesses à grande échelle ?","Le questionnaire ne prendra pas plus de 5 minutes.",{"text":957,"config":958},"Obtenez votre score de maturité IA",{"href":959,"dataGaName":960,"dataGaLocation":441},"/fr-fr/assessments/ai-modernization-assessment/","modernization assessment",{"config":962},{"src":963},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":965,"categories":966,"header":967,"text":955,"button":968,"image":972},"devops-modernization",[225,206],"Vous contentez-vous de gérer des outils ou de livrer des innovations ?",{"text":969,"config":970},"Obtenez votre score de maturité DevOps",{"href":971,"dataGaName":960,"dataGaLocation":441},"/fr-fr/assessments/devops-modernization-assessment/",{"config":973},{"src":974},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":976,"categories":977,"header":979,"text":955,"button":980,"image":984},"security-modernization",[978],"security","Faut-il sacrifier la rapidité pour garantir la sécurité ?",{"text":981,"config":982},"Obtenez votre score de maturité en matière de sécurité",{"href":983,"dataGaName":960,"dataGaLocation":441},"/fr-fr/assessments/security-modernization-assessment/",{"config":985},{"src":986},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":988,"paths":989,"header":992,"text":993,"button":994,"image":999},"github-azure-migration",[990,991],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Votre équipe est-elle prête pour la migration de GitHub vers Azure ?","GitHub a déjà commencé sa migration vers Azure. Découvrez ce que cela signifie pour vous.",{"text":995,"config":996},"Découvrez les différences entre GitLab et GitHub",{"href":997,"dataGaName":998,"dataGaLocation":441},"/fr-fr/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1000},{"src":974},{"header":1002,"blurb":1003,"button":1004,"secondaryButton":1008},"Commencez à développer plus rapidement dès aujourd'hui","Découvrez ce que votre équipe peut accomplir avec la plateforme d'orchestration intelligente pour le DevSecOps.\n",{"text":235,"config":1005},{"href":1006,"dataGaName":238,"dataGaLocation":1007},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/fr-fr/","feature",{"text":564,"config":1009},{"href":566,"dataGaName":243,"dataGaLocation":1007},1786803785455]