[{"data":1,"prerenderedAt":1310},["ShallowReactive",2],{"/fr-fr/blog/prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd":3,"navigation-fr-fr":527,"banner-fr-fr":961,"footer-fr-fr":969,"blog-post-authors-fr-fr-Tim Rizzi":1208,"blog-related-posts-fr-fr-prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd":1223,"blog-promotions-fr-fr":1247,"next-steps-fr-fr":1301},{"id":4,"title":5,"authors":6,"body":8,"category":504,"date":505,"description":506,"extension":507,"externalUrl":508,"faq":508,"featured":509,"heroImage":510,"meta":511,"navigation":509,"path":512,"seo":513,"slug":518,"stem":519,"tags":520,"template":524,"updatedDate":525,"__hash__":526},"blogPosts/fr-fr/blog/prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd.md","Nouvelles limites de Docker Hub : vos pipelines GitLab CI/CD sont impactés",[7],"Tim Rizzi",{"type":9,"value":10,"toc":496},"minimark",[11,22,27,36,101,104,123,127,133,136,141,144,149,171,178,182,185,215,219,224,227,248,253,262,277,332,338,343,348,351,364,367,372,380,388,393,396,400,403,421,432,436,441,460,465,470,475,480,492],[12,13,14,15,21],"p",{},"Le 1er avril 2025, Docker va mettre en place de nouvelles ",[16,17,20],"a",{"href":18,"rel":19},"https://docs.docker.com/docker-hub/usage/",[],"limites de débit relatives aux pulls d'images"," sur Docker Hub, susceptibles d'impacter de manière significative les pipelines CI/CD de développement logiciel, y compris ceux qui s'exécutent sur GitLab. Le changement le plus notable : un plafond fixé à 10 pulls d'images par heure pour les utilisateurs non authentifiés.",[23,24,26],"h2",{"id":25},"quels-sont-les-changements-attendus","Quels sont les changements attendus ?",[12,28,29,30,35],{},"À compter du 1er avril, ",[16,31,34],{"href":32,"rel":33,"title":34},"https://about.gitlab.com/fr-fr/blog/what-is-docker-comprehensive-guide/",[],"Docker"," va appliquer les limites strictes suivantes aux pulls d'images (téléchargements d'images) :",[37,38,39,58],"table",{},[40,41,42],"thead",{},[43,44,45,49,52,55],"tr",{},[46,47,48],"th",{},"Type d'utilisateur",[46,50,51],{},"Limite de pulls d'images par heure",[46,53,54],{},"Nombre de dépôts publics",[46,56,57],{},"Nombre de dépôts privés",[59,60,61,75,88],"tbody",{},[43,62,63,67,70,73],{},[64,65,66],"td",{},"Business, Team, Pro (authentifié)",[64,68,69],{},"Illimité (utilisation raisonnable)",[64,71,72],{},"Illimité",[64,74,72],{},[43,76,77,80,83,85],{},[64,78,79],{},"Personal (authentifié)",[64,81,82],{},"100",[64,84,72],{},[64,86,87],{},"Jusqu'à 1",[43,89,90,93,96,99],{},[64,91,92],{},"Utilisateurs non authentifiés",[64,94,95],{},"10 par adresse IPv4 ou sous-réseau IPv6/64",[64,97,98],{},"Non applicable",[64,100,98],{},[12,102,103],{},"Ces nouveaux quotas sont particulièrement importants pour les raisons suivantes :",[105,106,107,111,120],"ul",{},[108,109,110],"li",{},"Le proxy de dépendances de GitLab effectue actuellement des pulls à partir de Docker Hub en tant qu'utilisateur non authentifié.",[108,112,113,114,119],{},"La plupart des ",[16,115,118],{"href":116,"rel":117},"https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/",[],"pipelines CI/CD"," qui n'utilisent pas le proxy de dépendances effectuent des pulls directement à partir de Docker Hub en tant qu'utilisateurs non authentifiés.",[108,121,122],{},"Pour les runners hébergés sur GitLab.com, le partage d'une même adresse IP ou sous-réseau par plusieurs utilisateurs les soumet collectivement à cette limite.",[23,124,126],{"id":125},"quel-impact-sur-les-utilisateurs-de-gitlab","Quel impact sur les utilisateurs de GitLab ?",[12,128,129],{},[130,131,132],"strong",{},"Impact sur les pulls directs depuis Docker Hub",[12,134,135],{},"Si vos pipelines CI/CD effectuent des pulls directement depuis Docker Hub sans authentification, ils seront limités à 10 pulls d'images par heure et par adresse IP. Dans le cas de pipelines exécutés fréquemment ou sur plusieurs projets partageant la même infrastructure de runner, cette limite sera rapidement atteinte, ce qui entraînera des échecs de pipeline.",[12,137,138],{},[130,139,140],{},"Impact sur le proxy de dépendances de GitLab",[12,142,143],{},"La fonctionnalité de proxy de dépendances de GitLab permet de mettre en cache des images Docker dans GitLab pour accélérer les pipelines et réduire la dépendance aux registres externes. Cependant, dans sa version actuelle, ce proxy effectue des pulls d'images depuis Docker Hub en tant qu'utilisateur non authentifié, ce qui signifie qu'il est lui aussi soumis à la limite des 10 pulls d'images par heure.",[12,145,146],{},[130,147,148],{},"Impact sur les runners hébergés",[12,150,151,152,157,158,162,163,166,167,170],{},"Sur GitLab.com, les runners hébergés s'appuient sur le ",[16,153,156],{"href":154,"rel":155},"https://cloud.google.com/artifact-registry/docs/pull-cached-dockerhub-images?hl=fr",[],"cache pull-through de Google Cloud",", qui met en miroir les images fréquemment téléchargées. Cela permet d'éviter les limites de débit, comme pour les images de job définies comme ",[159,160,161],"code",{},"image:"," ou ",[159,164,165],{},"services:"," dans votre fichier ",[159,168,169],{},".gitlab-ci.yml",".",[12,172,173,174,177],{},"Tout se complique légèrement lorsque les images sont téléchargées dans l'environnement du runner. Le cas le plus courant de pull d'images pendant l'exécution du runner concerne la création d'une image à l'aide de Docker-in-Docker ou de Kaniko. Dans ce scénario, l'image Docker Hub définie dans votre ",[159,175,176],{},"Dockerfile"," fait l'objet d'un pull directement depuis Docker Hub. Elle est donc susceptible d'être affectée par les limites de débit.",[23,179,181],{"id":180},"comment-gitlab-répond-à-ces-nouveaux-quotas","Comment GitLab répond à ces nouveaux quotas ?",[12,183,184],{},"Nous travaillons activement à la recherche de solutions pour atténuer les impacts liés à ces nouvelles limites :",[105,186,187,209],{},[108,188,189,192,193,198,199,202,203,208],{},[130,190,191],{},"Authentification du proxy de dépendances :"," nous avons ajouté la prise en charge de l'authentification Docker Hub dans la ",[16,194,197],{"href":195,"rel":196},"https://gitlab.com/gitlab-org/gitlab/-/issues/331741",[],"fonctionnalité de proxy de dépendances de GitLab",". Cela permettra à ce dernier de télécharger des images depuis Docker Hub en tant qu'utilisateur authentifié, et ainsi d'augmenter considérablement les limites de débit.  * ",[130,200,201],{},"Mise à jour de la documentation :"," nous avons actualisé notre ",[16,204,207],{"href":205,"rel":206},"https://docs.gitlab.com/user/packages/dependency_proxy/#configure-credentials",[],"documentation"," afin de fournir des instructions claires sur la configuration de l'authentification des pipelines pour Docker Hub.",[108,210,211,214],{},[130,212,213],{},"Préparation de l'infrastructure interne :"," nous préparons notre infrastructure GitLab.com afin de réduire au maximum l'impact de ces limites sur les runners hébergés.",[23,216,218],{"id":217},"comment-sy-préparer","Comment s'y préparer ?",[12,220,221],{},[130,222,223],{},"Option 1 : configurez l'authentification Docker Hub dans vos pipelines",[12,225,226],{},"Si vos pipelines effectuent des pulls directement depuis Docker Hub, vous pouvez configurer l'authentification afin d'augmenter votre limite de taux à 100 pulls d'images par heure (ou illimitée avec un abonnement payant à Docker Hub).",[12,228,229,230,235,236,238,239,244,245,170],{},"Pour cela, ajoutez vos identifiants de connexion Docker Hub aux ",[16,231,234],{"href":232,"rel":233},"https://about.gitlab.com/fr-fr/blog/demystifying-ci-cd-variables/",[],"variables CI/CD"," de votre projet ou groupe (ne les insérez pas directement dans le fichier ",[159,237,169],{},"). Consultez les instructions détaillées de notre ",[16,240,243],{"href":241,"rel":242},"https://docs.gitlab.com/ci/docker/using_docker_images/#use-statically-defined-credentials",[],"documentation sur l'utilisation d'images Docker"," pour configurer correctement la variable CI/CD ",[159,246,247],{},"DOCKER_AUTH_CONFIG",[12,249,250],{},[130,251,252],{},"Option 2 : utilisez le registre de conteneurs GitLab",[12,254,255,256,261],{},"Effectuez un push des images Docker que vous utilisez le plus souvent dans votre ",[16,257,260],{"href":258,"rel":259},"https://docs.gitlab.com/user/packages/container_registry/",[],"registre de conteneurs GitLab"," afin d'éviter de devoir effectuer un pull d'images depuis Docker Hub pendant l'exécution des pipelines CI/CD. Procédez comme suit :",[263,264,265,268,271,274],"ol",{},[108,266,267],{},"Effectuez un pull de l'image depuis Docker Hub.",[108,269,270],{},"Attribuez-lui un tag adapté à votre registre de conteneurs GitLab.",[108,272,273],{},"Effectuez un push de l'image dans votre registre de conteneurs GitLab.",[108,275,276],{},"Mettez à jour vos pipelines pour qu'ils effectuent un pull de l'image depuis le registre de conteneurs GitLab.",[278,279,284],"pre",{"className":280,"code":281,"language":282,"meta":283,"style":283},"language-shell shiki shiki-themes github-light","docker pull busybox:latest\ndocker tag busybox:latest $CI_REGISTRY_IMAGE/busybox:latest\ndocker push $CI_REGISTRY_IMAGE/busybox:latest\n","shell","",[159,285,286,302,320],{"__ignoreMap":283},[287,288,291,295,299],"span",{"class":289,"line":290},"line",1,[287,292,294],{"class":293},"s7eDp","docker",[287,296,298],{"class":297},"sYBdl"," pull",[287,300,301],{"class":297}," busybox:latest\n",[287,303,305,307,310,313,317],{"class":289,"line":304},2,[287,306,294],{"class":293},[287,308,309],{"class":297}," tag",[287,311,312],{"class":297}," busybox:latest",[287,314,316],{"class":315},"sgsFI"," $CI_REGISTRY_IMAGE",[287,318,319],{"class":297},"/busybox:latest\n",[287,321,323,325,328,330],{"class":289,"line":322},3,[287,324,294],{"class":293},[287,326,327],{"class":297}," push",[287,329,316],{"class":315},[287,331,319],{"class":297},[12,333,334,335,337],{},"Puis ajoutez cette ligne de commande dans votre fichier ",[159,336,169],{}," :",[12,339,340],{},[159,341,342],{},"image: $CI_REGISTRY_IMAGE/busybox:latest",[12,344,345],{},[130,346,347],{},"Option 3 : utilisez le proxy de dépendances de GitLab",[12,349,350],{},"La fonctionnalité de proxy de dépendances de GitLab permet de mettre en cache les images Docker, tout en servant de proxy entre vos pipelines CI/CD et les registres Docker Hub, réduisant ainsi la dépendance aux registres externes et les risques liés aux limites de débit.\nOptions d'authentification actuelles :",[105,352,353,361],{},[108,354,355,356,170],{},"GitLab 17.10 : configurez l'authentification Docker Hub pour le proxy de dépendances à l'aide de l'",[16,357,360],{"href":358,"rel":359},"https://docs.gitlab.com/user/packages/dependency_proxy/#configure-credentials-using-the-graphql-api",[],"API GraphQL",[108,362,363],{},"GitLab 17.11 : utilisez la nouvelle interface de configuration dans les paramètres de votre groupe (déjà disponible sur GitLab.com).",[12,365,366],{},"Une fois l'authentification correctement configurée, vous pouvez procéder comme suit :",[263,368,369],{},[108,370,371],{},"Configurez les identifiants de connexion Docker Hub dans les paramètres du proxy de dépendances de votre groupe :",[105,373,374,377],{},[108,375,376],{},"Pour GitLab 17.11+ (ou la version actuelle de GitLab.com) : accédez aux paramètres de votre groupe > Paquets et registres > Proxy de dépendances.",[108,378,379],{},"Pour GitLab 17.10 : utilisez l'API GraphQL afin de configurer l'authentification.",[263,381,382],{"start":304},[108,383,384,385],{},"Mettez à jour vos pipelines de façon à ce qu'ils utilisent les URL du proxy de dépendances pour la configuration de votre pipeline CI/CD :\n",[159,386,387],{},"image:${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/busybox:latest",[12,389,390],{},[130,391,392],{},"Option 4 : envisagez d'acheter un abonnement payant à Docker Hub",[12,394,395],{},"Pour les équipes qui utilisent Docker Hub de manière intensive, la mise à niveau vers un abonnement Docker payant (Team ou Business) permet d'accéder à un nombre illimité de pulls, ce qui peut s'avérer la solution la plus simple.",[23,397,399],{"id":398},"comment-limiter-limpact-des-nouveaux-quotas-de-dockerhub","Comment limiter l'impact des nouveaux quotas de Docker Hub ?",[12,401,402],{},"Quelle que soit l'option que vous choisissez, tenez compte de ces bonnes pratiques pour réduire au maximum l'impact des nouvelles limites de débit imposées par Docker Hub :",[105,404,405,412,415,418],{},[108,406,407,408,411],{},"Utilisez des tags d'image spécifiques au lieu de ",[159,409,410],{},"latest"," pour éviter les pulls inutiles.",[108,413,414],{},"Consolidez vos fichiers Docker de façon à ce qu'ils réutilisent les mêmes images de base dans tous vos projets.",[108,416,417],{},"Planifiez l'exécution des pipelines les moins critiques en dehors des heures de pointe.",[108,419,420],{},"Tirez parti intelligemment de la mise en cache pour éviter d'effectuer maintes fois un pull des mêmes images.",[12,422,423,426,427,431],{},[130,424,425],{},"Remarque :"," selon la ",[16,428,207],{"href":429,"rel":430},"https://docs.docker.com/docker-hub/usage/pulls/#pull-definition",[]," de Docker Hub, le nombre de pulls augmente dès que vous effectuez le pull d'un manifeste d'image, et non en fonction de la taille de l'image ou du nombre de couches.",[23,433,435],{"id":434},"calendrier-et-prochaines-étapes","Calendrier et prochaines étapes",[12,437,438],{},[130,439,440],{},"Dès maintenant",[105,442,443,446,457],{},[108,444,445],{},"Mettez en œuvre l'authentification pour les pulls directs depuis Docker Hub.",[108,447,448,449],{},"Les utilisateurs de GitLab.com peuvent déjà configurer l'authentification Docker Hub pour le proxy de dépendances en utilisant :\n",[105,450,451,454],{},[108,452,453],{},"l'API GraphQL, ou",[108,455,456],{},"l'interface utilisateur dans les paramètres de groupe.",[108,458,459],{},"Les utilisateurs de GitLab Self-Managed 17.10 peuvent configurer l'authentification du proxy de dépendances à l'aide de l'API GraphQL.",[12,461,462],{},[130,463,464],{},"1er avril 2025",[105,466,467],{},[108,468,469],{},"Les limites de débit de Docker Hub entrent en vigueur.",[12,471,472],{},[130,473,474],{},"17 avril 2025",[105,476,477],{},[108,478,479],{},"Sortie de GitLab 17.11 qui prendra en charge l'authentification du proxy de dépendances via l'interface utilisateur pour les instances GitLab Self-Managed.\nNous vous recommandons d'appliquer ces mesures bien dès maintenant pour éviter des échecs de pipelines inattendus. Pour la plupart des utilisateurs, configurer le proxy de dépendances avec l'authentification Docker Hub est la solution la plus efficace à long terme.",[481,482,483],"blockquote",{},[12,484,485,486,491],{},"Vous avez des questions ou besoin d'aide pour la mise en œuvre ? Consultez ",[16,487,490],{"href":488,"rel":489},"https://gitlab.com/gitlab-org/gitlab/-/issues/526605",[],"ce ticket"," dans lequel notre équipe fournit une assistance dédiée à ces changements.",[493,494,495],"style",{},"html pre.shiki code .s7eDp, html code.shiki .s7eDp{--shiki-default:#6F42C1}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":283,"searchDepth":304,"depth":304,"links":497},[498,499,500,501,502,503],{"id":25,"depth":304,"text":26},{"id":125,"depth":304,"text":126},{"id":180,"depth":304,"text":181},{"id":217,"depth":304,"text":218},{"id":398,"depth":304,"text":399},{"id":434,"depth":304,"text":435},"bulletin-board","2025-03-24","Les nouvelles limites de Docker Hub relatives aux pulls d'images vont affecter les pipelines GitLab. Voici ce qu'il faut savoir.","md",null,true,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662488/Blog/Hero%20Images/blog-image-template-1800x945__3_.png",{},"/fr-fr/blog/prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd",{"title":5,"description":506,"ogTitle":5,"ogDescription":506,"noIndex":514,"ogImage":510,"ogUrl":515,"ogSiteName":516,"ogType":517,"canonicalUrls":515},false,"https://about.gitlab.com/blog/prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd","https://about.gitlab.com","article","prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd","fr-fr/blog/prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd",[521,522,523],"CI/CD","news","DevSecOps platform","BlogPost","2025-03-28","lxMrQchngedjEeaA8YOR2kgHF2o14oONhY_BDmSDUpM",{"logo":528,"freeTrial":533,"sales":538,"login":543,"items":548,"search":876,"minimal":912,"duo":931,"switchNav":940,"pricingDeployment":951},{"config":529},{"href":530,"dataGaName":531,"dataGaLocation":532},"/fr-fr/","gitlab logo","header",{"text":534,"config":535},"Commencer un essai gratuit",{"href":536,"dataGaName":537,"dataGaLocation":532},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr&glm_content=default-saas-trial/","free trial",{"text":539,"config":540},"Demander une démo",{"href":541,"dataGaName":542,"dataGaLocation":532},"/fr-fr/sales/?contact-topic=request-demo","sales",{"text":544,"config":545},"Connexion",{"href":546,"dataGaName":547,"dataGaLocation":532},"https://gitlab.com/users/sign_in/","sign in",[549,578,679,684,798,854],{"text":550,"config":551,"menu":553},"Plateforme",{"dataNavLevelOne":552},"platform",{"type":554,"columns":555},"cards",[556,562,570],{"title":550,"description":557,"link":558},"La plateforme d'orchestration intelligente pour le DevSecOps",{"text":559,"config":560},"Explorer notre plateforme",{"href":561,"dataGaName":552,"dataGaLocation":532},"/fr-fr/platform/",{"title":563,"description":564,"link":565},"GitLab Duo Agent Platform","L'IA agentique pour l'ensemble du cycle de développement logiciel",{"text":566,"config":567},"Découvrir GitLab Duo",{"href":568,"dataGaName":569,"dataGaLocation":532},"/fr-fr/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":571,"description":572,"link":573},"Pourquoi GitLab ?","Découvrez les principales raisons pour lesquelles les entreprises choisissent GitLab",{"text":574,"config":575},"En savoir plus",{"href":576,"dataGaName":577,"dataGaLocation":532},"/fr-fr/why-gitlab/","why gitlab",{"text":579,"left":509,"config":580,"menu":582},"Produit",{"dataNavLevelOne":581},"solutions",{"type":583,"link":584,"columns":588,"feature":658},"lists",{"text":585,"config":586},"Voir toutes les solutions",{"href":587,"dataGaName":581,"dataGaLocation":532},"/fr-fr/solutions/",[589,613,636],{"title":590,"description":591,"link":592,"items":597},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":593},{"icon":594,"href":595,"dataGaName":596,"dataGaLocation":532},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[598,601,604,609],{"text":521,"config":599},{"href":600,"dataGaLocation":532,"dataGaName":521},"/fr-fr/solutions/continuous-integration/",{"text":563,"config":602},{"href":568,"dataGaLocation":532,"dataGaName":603},"gitlab duo agent platform - product menu",{"text":605,"config":606},"Gestion du code source",{"href":607,"dataGaLocation":532,"dataGaName":608},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":610,"config":611},"Livraison de logiciels automatisée",{"href":595,"dataGaLocation":532,"dataGaName":612},"Automated software delivery",{"title":614,"description":615,"link":616,"items":621},"Sécurité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":617},{"href":618,"dataGaName":619,"dataGaLocation":532,"icon":620},"/fr-fr/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[622,626,631],{"text":623,"config":624},"Tests de sécurité des applications",{"href":618,"dataGaName":625,"dataGaLocation":532},"Application security testing",{"text":627,"config":628},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":629,"dataGaLocation":532,"dataGaName":630},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":632,"config":633},"Conformité logicielle",{"href":634,"dataGaName":635,"dataGaLocation":532},"/fr-fr/solutions/software-compliance/","software compliance",{"title":637,"link":638,"items":643},"Mesures",{"config":639},{"icon":640,"href":641,"dataGaName":642,"dataGaLocation":532},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[644,648,653],{"text":645,"config":646},"Visibilité et mesures",{"href":641,"dataGaLocation":532,"dataGaName":647},"Visibility and Measurement",{"text":649,"config":650},"Gestion de la chaîne de valeur",{"href":651,"dataGaLocation":532,"dataGaName":652},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":654,"config":655},"Analyses et informations",{"href":656,"dataGaLocation":532,"dataGaName":657},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":659,"type":583,"items":660},"GitLab",[661,667,673],{"text":662,"config":663},"Entreprises",{"icon":664,"href":665,"dataGaLocation":532,"dataGaName":666},"Building","/fr-fr/enterprise/","enterprise",{"text":668,"config":669},"Pour les PME",{"icon":670,"href":671,"dataGaLocation":532,"dataGaName":672},"Work","/fr-fr/small-business/","small business",{"text":674,"config":675},"Pour le secteur public",{"icon":676,"href":677,"dataGaLocation":532,"dataGaName":678},"Organization","/fr-fr/solutions/public-sector/","public sector",{"text":680,"config":681},"Tarifs",{"href":682,"dataGaName":683,"dataGaLocation":532,"dataNavLevelOne":683},"/fr-fr/pricing/","pricing",{"text":685,"config":686,"menu":688},"Ressources",{"dataNavLevelOne":687},"resources",{"type":583,"link":689,"columns":693,"feature":787},{"text":690,"config":691},"Afficher toutes les ressources",{"href":692,"dataGaName":687,"dataGaLocation":532},"/fr-fr/resources/",[694,727,754],{"title":695,"items":696},"Premiers pas",[697,702,707,712,717,722],{"text":698,"config":699},"Installation",{"href":700,"dataGaName":701,"dataGaLocation":532},"/fr-fr/install/","install",{"text":703,"config":704},"Guides de démarrage",{"href":705,"dataGaName":706,"dataGaLocation":532},"/fr-fr/get-started/","quick setup checklists",{"text":708,"config":709},"Apprentissage",{"href":710,"dataGaLocation":532,"dataGaName":711},"https://university.gitlab.com/","learn",{"text":713,"config":714},"Documentation",{"href":715,"dataGaName":716,"dataGaLocation":532},"https://docs.gitlab.com/","product documentation",{"text":718,"config":719},"Vidéos sur les bonnes pratiques",{"href":720,"dataGaName":721,"dataGaLocation":532},"/fr-fr/getting-started-videos/","best practice videos",{"text":723,"config":724},"Intégrations",{"href":725,"dataGaName":726,"dataGaLocation":532},"/fr-fr/integrations/","integrations",{"title":728,"items":729},"Découvrir",[730,735,740,745,749],{"text":731,"config":732},"Témoignages clients",{"href":733,"dataGaName":734,"dataGaLocation":532},"/fr-fr/customers/","customer success stories",{"text":736,"config":737},"Blog",{"href":738,"dataGaName":739,"dataGaLocation":532},"/fr-fr/blog/","blog",{"text":741,"config":742},"Demo Hub",{"href":743,"dataGaName":744,"dataGaLocation":532},"/fr-fr/demo-hub/","demo hub",{"text":746,"config":747},"The Source",{"href":748,"dataGaName":739,"dataGaLocation":532},"/fr-fr/the-source/",{"text":750,"config":751},"Travail à distance",{"href":752,"dataGaName":753,"dataGaLocation":532},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":755,"items":756},"Connecter",[757,762,767,772,777,782],{"text":758,"config":759},"Services GitLab",{"href":760,"dataGaName":761,"dataGaLocation":532},"/fr-fr/services/","services",{"text":763,"config":764},"Contribuer",{"href":765,"dataGaName":766,"dataGaLocation":532},"https://contributors.gitlab.com","contribute",{"text":768,"config":769},"Communauté",{"href":770,"dataGaName":771,"dataGaLocation":532},"/community/","community",{"text":773,"config":774},"Forum",{"href":775,"dataGaName":776,"dataGaLocation":532},"https://forum.gitlab.com/","forum",{"text":778,"config":779},"Événements",{"href":780,"dataGaName":781,"dataGaLocation":532},"/events/","events",{"text":783,"config":784},"Partenaires",{"href":785,"dataGaName":786,"dataGaLocation":532},"/fr-fr/partners/","partners",{"config":788,"title":791,"text":792,"link":793},{"background":789,"textColor":790},"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":794,"config":795},"Lire les articles les plus récents",{"href":796,"dataGaName":797,"dataGaLocation":532},"/fr-fr/whats-new/","whats new",{"text":799,"config":800,"menu":802},"Société",{"dataNavLevelOne":801},"company",{"type":583,"columns":803},[804],{"items":805},[806,811,817,819,824,829,834,839,844,849],{"text":807,"config":808},"À propos",{"href":809,"dataGaName":810,"dataGaLocation":532},"/fr-fr/company/","about",{"text":812,"config":813,"footerGa":816},"Carrières",{"href":814,"dataGaName":815,"dataGaLocation":532},"/jobs/","jobs",{"dataGaName":815},{"text":778,"config":818},{"href":780,"dataGaName":781,"dataGaLocation":532},{"text":820,"config":821},"Leadership",{"href":822,"dataGaName":823,"dataGaLocation":532},"/company/team/e-group/","leadership",{"text":825,"config":826},"Manuel",{"href":827,"dataGaName":828,"dataGaLocation":532},"https://handbook.gitlab.com/","handbook",{"text":830,"config":831},"Relations avec les investisseurs",{"href":832,"dataGaName":833,"dataGaLocation":532},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":835,"config":836},"Trust Center",{"href":837,"dataGaName":838,"dataGaLocation":532},"/fr-fr/security/","trust center",{"text":840,"config":841},"Centre pour la transparence de l'IA",{"href":842,"dataGaName":843,"dataGaLocation":532},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":845,"config":846},"Newsletter",{"href":847,"dataGaName":848,"dataGaLocation":532},"/company/contact/#contact-forms","newsletter",{"text":850,"config":851},"Presse",{"href":852,"dataGaName":853,"dataGaLocation":532},"/press/","press",{"text":855,"config":856,"menu":857},"Nous contacter",{"dataNavLevelOne":801},{"type":583,"columns":858},[859],{"items":860},[861,866,871],{"text":862,"config":863},"Contacter l'équipe commerciale",{"href":864,"dataGaName":865,"dataGaLocation":532},"/fr-fr/sales/","talk to sales",{"text":867,"config":868},"Assistance GitLab",{"href":869,"dataGaName":870,"dataGaLocation":532},"https://support.gitlab.com/hc/en-us","support portal",{"text":872,"config":873},"Portail clients GitLab",{"href":874,"dataGaName":875,"dataGaLocation":532},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":877,"login":878,"suggestions":885},"Fermer",{"text":879,"link":880},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":881,"config":882},"GitLab.com",{"href":546,"dataGaName":883,"dataGaLocation":884},"search login","search",{"text":886,"default":887},"Suggestions",[888,891,896,898,903,908],{"text":563,"config":889},{"href":568,"dataGaName":890,"dataGaLocation":884},"GitLab Duo Agent Platform",{"text":892,"config":893},"Suggestions de code (IA)",{"href":894,"dataGaName":895,"dataGaLocation":884},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":521,"config":897},{"href":600,"dataGaName":521,"dataGaLocation":884},{"text":899,"config":900},"GitLab sur AWS",{"href":901,"dataGaName":902,"dataGaLocation":884},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":904,"config":905},"GitLab sur Google Cloud",{"href":906,"dataGaName":907,"dataGaLocation":884},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":909,"config":910},"Pourquoi utiliser GitLab ?",{"href":576,"dataGaName":911,"dataGaLocation":884},"Why GitLab?",{"freeTrial":913,"mobileIcon":918,"desktopIcon":923,"secondaryButton":926},{"text":914,"config":915},"Commencer votre essai gratuit",{"href":916,"dataGaName":537,"dataGaLocation":917},"https://gitlab.com/-/trials/new/","nav",{"altText":919,"config":920},"Icône GitLab",{"src":921,"dataGaName":922,"dataGaLocation":917},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":919,"config":924},{"src":925,"dataGaName":922,"dataGaLocation":917},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":927,"config":928},"Commencer",{"href":929,"dataGaName":930,"dataGaLocation":917},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/get-started/","get started",{"freeTrial":932,"mobileIcon":936,"desktopIcon":938},{"text":933,"config":934},"En savoir plus sur GitLab Duo",{"href":568,"dataGaName":935,"dataGaLocation":917},"gitlab duo",{"altText":919,"config":937},{"src":921,"dataGaName":922,"dataGaLocation":917},{"altText":919,"config":939},{"src":925,"dataGaName":922,"dataGaLocation":917},{"button":941,"mobileIcon":946,"desktopIcon":948},{"text":942,"config":943},"/switch",{"href":944,"dataGaName":945,"dataGaLocation":917},"#contact","switch",{"altText":919,"config":947},{"src":921,"dataGaName":922,"dataGaLocation":917},{"altText":919,"config":949},{"src":950,"dataGaName":922,"dataGaLocation":917},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":952,"mobileIcon":957,"desktopIcon":959},{"text":953,"config":954},"Retour aux tarifs",{"href":682,"dataGaName":955,"dataGaLocation":917,"icon":956},"back to pricing","GoBack",{"altText":919,"config":958},{"src":921,"dataGaName":922,"dataGaLocation":917},{"altText":919,"config":960},{"src":925,"dataGaName":922,"dataGaLocation":917},{"title":962,"button":963,"config":967},"GitLab Orbit est arrivé : la couche de contexte pour les agents d'IA.",{"text":574,"config":964},{"href":965,"dataGaName":966,"dataGaLocation":532},"/fr-fr/gitlab-orbit/","orbit",{"layout":968,"disabled":514},"release",{"data":970},{"text":971,"source":972,"edit":978,"contribute":983,"config":987,"items":992,"minimal":1200},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence.",{"text":973,"config":974},"Afficher le code source de la page",{"href":975,"dataGaName":976,"dataGaLocation":977},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":979,"config":980},"Modifier cette page",{"href":981,"dataGaName":982,"dataGaLocation":977},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":763,"config":984},{"href":985,"dataGaName":986,"dataGaLocation":977},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":988,"facebook":989,"youtube":990,"linkedin":991},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[993,1039,1092,1135,1167],{"title":680,"links":994,"subMenu":1009},[995,999,1004],{"text":996,"config":997},"Voir les forfaits",{"href":682,"dataGaName":998,"dataGaLocation":977},"view plans",{"text":1000,"config":1001},"GitLab Premium",{"href":1002,"dataGaName":1003,"dataGaLocation":977},"/fr-fr/pricing/premium/","why premium",{"text":1005,"config":1006},"GitLab Ultimate",{"href":1007,"dataGaName":1008,"dataGaLocation":977},"/fr-fr/pricing/ultimate/","why ultimate",[1010],{"title":855,"links":1011},[1012,1014,1016,1019,1024,1029,1034],{"text":862,"config":1013},{"href":864,"dataGaName":542,"dataGaLocation":977},{"text":867,"config":1015},{"href":869,"dataGaName":870,"dataGaLocation":977},{"text":1017,"config":1018},"Portail clients",{"href":874,"dataGaName":875,"dataGaLocation":977},{"text":1020,"config":1021},"Statut",{"href":1022,"dataGaName":1023,"dataGaLocation":977},"https://status.gitlab.com/","status",{"text":1025,"config":1026},"Conditions d'utilisation",{"href":1027,"dataGaName":1028,"dataGaLocation":977},"/terms/","terms of use",{"text":1030,"config":1031},"Politique de confidentialité",{"href":1032,"dataGaName":1033,"dataGaLocation":977},"/fr-fr/privacy/","privacy statement",{"text":1035,"config":1036},"Gestion des cookies",{"dataGaName":1037,"dataGaLocation":977,"id":1038,"isOneTrustButton":509},"cookie preferences","ot-sdk-btn",{"title":579,"links":1040,"subMenu":1049},[1041,1045],{"text":1042,"config":1043},"Plateforme DevSecOps",{"href":561,"dataGaName":1044,"dataGaLocation":977},"devsecops platform",{"text":1046,"config":1047},"Développement assisté par l'IA",{"href":568,"dataGaName":1048,"dataGaLocation":977},"ai-assisted development",[1050],{"title":1051,"links":1052},"Thèmes",[1053,1057,1062,1067,1072,1077,1082,1087],{"text":521,"config":1054},{"href":1055,"dataGaName":1056,"dataGaLocation":977},"/fr-fr/topics/ci-cd/","cicd",{"text":1058,"config":1059},"GitOps",{"href":1060,"dataGaName":1061,"dataGaLocation":977},"/fr-fr/topics/gitops/","gitops",{"text":1063,"config":1064},"DevOps",{"href":1065,"dataGaName":1066,"dataGaLocation":977},"/fr-fr/topics/devops/","devops",{"text":1068,"config":1069},"Contrôle de version",{"href":1070,"dataGaName":1071,"dataGaLocation":977},"/fr-fr/topics/version-control/","version control",{"text":1073,"config":1074},"DevSecOps",{"href":1075,"dataGaName":1076,"dataGaLocation":977},"/fr-fr/topics/devsecops/","devsecops",{"text":1078,"config":1079},"Cloud-native",{"href":1080,"dataGaName":1081,"dataGaLocation":977},"/fr-fr/topics/cloud-native/","cloud native",{"text":1083,"config":1084},"IA pour la programmation",{"href":1085,"dataGaName":1086,"dataGaLocation":977},"/fr-fr/topics/devops/ai-for-coding/","ai for coding",{"text":1088,"config":1089},"IA agentique",{"href":1090,"dataGaName":1091,"dataGaLocation":977},"/fr-fr/topics/agentic-ai/","agentic ai",{"title":1093,"links":1094},"Solutions",[1095,1098,1100,1105,1108,1111,1114,1117,1119,1122,1125,1130],{"text":623,"config":1096},{"href":618,"dataGaName":1097,"dataGaLocation":977},"Application Security Testing",{"text":610,"config":1099},{"href":595,"dataGaName":596,"dataGaLocation":977},{"text":1101,"config":1102},"Développement Agile",{"href":1103,"dataGaName":1104,"dataGaLocation":977},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":605,"config":1106},{"href":607,"dataGaName":1107,"dataGaLocation":977},"source code management",{"text":521,"config":1109},{"href":600,"dataGaName":1110,"dataGaLocation":977},"continuous integration & delivery",{"text":649,"config":1112},{"href":651,"dataGaName":1113,"dataGaLocation":977},"value stream management",{"text":1058,"config":1115},{"href":1116,"dataGaName":1061,"dataGaLocation":977},"/fr-fr/solutions/gitops/",{"text":662,"config":1118},{"href":665,"dataGaName":666,"dataGaLocation":977},{"text":1120,"config":1121},"PME",{"href":671,"dataGaName":672,"dataGaLocation":977},{"text":1123,"config":1124},"Secteur public",{"href":677,"dataGaName":678,"dataGaLocation":977},{"text":1126,"config":1127},"Éducation",{"href":1128,"dataGaName":1129,"dataGaLocation":977},"/fr-fr/solutions/education/","education",{"text":1131,"config":1132},"Services financiers",{"href":1133,"dataGaName":1134,"dataGaLocation":977},"/fr-fr/solutions/finance/","financial services",{"title":685,"links":1136},[1137,1139,1141,1143,1146,1148,1151,1153,1155,1157,1159,1161,1163,1165],{"text":698,"config":1138},{"href":700,"dataGaName":701,"dataGaLocation":977},{"text":703,"config":1140},{"href":705,"dataGaName":706,"dataGaLocation":977},{"text":708,"config":1142},{"href":710,"dataGaName":711,"dataGaLocation":977},{"text":713,"config":1144},{"href":715,"dataGaName":1145,"dataGaLocation":977},"docs",{"text":736,"config":1147},{"href":738,"dataGaName":739,"dataGaLocation":977},{"text":1149,"config":1150},"Nouveautés",{"href":796,"dataGaName":797,"dataGaLocation":977},{"text":731,"config":1152},{"href":733,"dataGaName":734,"dataGaLocation":977},{"text":750,"config":1154},{"href":752,"dataGaName":753,"dataGaLocation":977},{"text":758,"config":1156},{"href":760,"dataGaName":761,"dataGaLocation":977},{"text":763,"config":1158},{"href":765,"dataGaName":766,"dataGaLocation":977},{"text":768,"config":1160},{"href":770,"dataGaName":771,"dataGaLocation":977},{"text":773,"config":1162},{"href":775,"dataGaName":776,"dataGaLocation":977},{"text":778,"config":1164},{"href":780,"dataGaName":781,"dataGaLocation":977},{"text":783,"config":1166},{"href":785,"dataGaName":786,"dataGaLocation":977},{"title":799,"links":1168},[1169,1171,1173,1175,1177,1179,1184,1189,1191,1193,1195],{"text":807,"config":1170},{"href":809,"dataGaName":801,"dataGaLocation":977},{"text":812,"config":1172},{"href":814,"dataGaName":815,"dataGaLocation":977},{"text":820,"config":1174},{"href":822,"dataGaName":823,"dataGaLocation":977},{"text":825,"config":1176},{"href":827,"dataGaName":828,"dataGaLocation":977},{"text":830,"config":1178},{"href":832,"dataGaName":833,"dataGaLocation":977},{"text":1180,"config":1181},"Développement durable",{"href":1182,"dataGaName":1183,"dataGaLocation":977},"/sustainability/","Sustainability",{"text":1185,"config":1186},"Diversité, inclusion et appartenance (DIB)",{"href":1187,"dataGaName":1188,"dataGaLocation":977},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":835,"config":1190},{"href":837,"dataGaName":838,"dataGaLocation":977},{"text":845,"config":1192},{"href":847,"dataGaName":848,"dataGaLocation":977},{"text":850,"config":1194},{"href":852,"dataGaName":853,"dataGaLocation":977},{"text":1196,"config":1197},"Déclaration de transparence sur l'esclavage moderne",{"href":1198,"dataGaName":1199,"dataGaLocation":977},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1201},[1202,1204,1206],{"text":1025,"config":1203},{"href":1027,"dataGaName":1028,"dataGaLocation":977},{"text":1035,"config":1205},{"dataGaName":1037,"dataGaLocation":977,"id":1038,"isOneTrustButton":509},{"text":1030,"config":1207},{"href":1032,"dataGaName":1033,"dataGaLocation":977},[1209],{"id":1210,"title":7,"body":508,"config":1211,"content":1213,"description":508,"extension":1217,"meta":1218,"navigation":509,"path":1219,"seo":1220,"stem":1221,"__hash__":1222},"blogAuthors/en-us/blog/authors/tim-rizzi.yml",{"template":1212},"BlogAuthor",{"name":7,"config":1214},{"headshot":1215,"ctfId":1216},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749661866/Blog/Author%20Headshots/trizzi-headshot.jpg","trizzi","yml",{},"/en-us/blog/authors/tim-rizzi",{},"en-us/blog/authors/tim-rizzi","ADPqrpcnKveFJS0m_zFV0VLtb_h_txu59QVgz_YwKMc",[1224,1232,1239],{"title":1225,"description":1226,"heroImage":1227,"category":504,"date":1228,"authors":1229,"slug":1231,"externalUrl":508},"Claude Opus 4.7 est désormais disponible dans GitLab Duo Agent Platform","Le dernier modèle d'Anthropic est disponible dès maintenant et offre des workflows d'agents plus performants.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1776174711/ksndibz6sgj1umx5cjsj.png","2026-04-20",[1230],"Rebecca Carter","claude-opus-4-7-is-now-available-in-gitlab-duo-agent-platform",{"title":1233,"description":1234,"heroImage":1235,"category":504,"date":1236,"authors":1237,"slug":1238,"externalUrl":508},"Les clés d'accès pour l'authentification sans mot de passe et à deux facteurs sont désormais disponibles sur GitLab","Découvrez comment enregistrer une clé d'accès sur votre compte et comment prévenir le hameçonnage avec l'authentification à deux facteurs.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772029801/qk75nu1eezxa6aiefpup.png","2026-03-10",[659],"passkeys-now-available-for-passwordless-sign-in-and-2fa-on-gitlab",{"title":1240,"description":1241,"heroImage":1242,"category":504,"date":1243,"authors":1244,"slug":1246,"externalUrl":508},"Signature des métadonnées des dépôts de paquets GitLab : prolongation de la clé GPG","La clé GPG utilisée pour signer les métadonnées des dépôts sur l'instance Packagecloud de GitLab sur packages.gitlab.com a été prolongée.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1771934335/c4f7zzdelhwcihaqwxym.png","2026-02-24",[1245],"Denis Afonso","gpg-key-used-to-sign-gitlab-package-repositories-metadata-has-been-extended",{"promotions":1248},[1249,1263,1275,1287],{"id":1250,"categories":1251,"header":1253,"text":1254,"button":1255,"image":1260},"ai-modernization",[1252],"ai","L'IA tient-elle ses promesses à grande échelle ?","Le questionnaire ne prendra pas plus de 5 minutes.",{"text":1256,"config":1257},"Obtenez votre score de maturité IA",{"href":1258,"dataGaName":1259,"dataGaLocation":739},"/fr-fr/assessments/ai-modernization-assessment/","modernization assessment",{"config":1261},{"src":1262},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1264,"categories":1265,"header":1267,"text":1254,"button":1268,"image":1272},"devops-modernization",[1266,1076],"product","Vous contentez-vous de gérer des outils ou de livrer des innovations ?",{"text":1269,"config":1270},"Obtenez votre score de maturité DevOps",{"href":1271,"dataGaName":1259,"dataGaLocation":739},"/fr-fr/assessments/devops-modernization-assessment/",{"config":1273},{"src":1274},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1276,"categories":1277,"header":1279,"text":1254,"button":1280,"image":1284},"security-modernization",[1278],"security","Faut-il sacrifier la rapidité pour garantir la sécurité ?",{"text":1281,"config":1282},"Obtenez votre score de maturité en matière de sécurité",{"href":1283,"dataGaName":1259,"dataGaLocation":739},"/fr-fr/assessments/security-modernization-assessment/",{"config":1285},{"src":1286},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1288,"paths":1289,"header":1292,"text":1293,"button":1294,"image":1299},"github-azure-migration",[1290,1291],"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":1295,"config":1296},"Découvrez les différences entre GitLab et GitHub",{"href":1297,"dataGaName":1298,"dataGaLocation":739},"/fr-fr/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1300},{"src":1274},{"header":1302,"blurb":1303,"button":1304,"secondaryButton":1308},"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":534,"config":1305},{"href":1306,"dataGaName":537,"dataGaLocation":1307},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/fr-fr/","feature",{"text":862,"config":1309},{"href":864,"dataGaName":542,"dataGaLocation":1307},1786803747192]