[{"data":1,"prerenderedAt":1584},["ShallowReactive",2],{"/fr-fr/blog/how-we-use-gitlab-to-grow-open-source-communities":3,"navigation-fr-fr":790,"banner-fr-fr":1223,"footer-fr-fr":1231,"blog-post-authors-fr-fr-Lee Tickett|Daniel Murphy":1470,"blog-related-posts-fr-fr-how-we-use-gitlab-to-grow-open-source-communities":1497,"blog-promotions-fr-fr":1522,"next-steps-fr-fr":1575},{"id":4,"title":5,"authors":6,"body":9,"category":771,"date":772,"description":773,"extension":774,"externalUrl":775,"faq":775,"featured":776,"heroImage":777,"meta":778,"navigation":779,"path":780,"seo":781,"slug":783,"stem":784,"tags":785,"template":788,"updatedDate":775,"__hash__":789},"blogPosts/fr-fr/blog/how-we-use-gitlab-to-grow-open-source-communities.md","Comment nous utilisons GitLab pour développer les communautés open source",[7,8],"Lee Tickett","Daniel Murphy",{"type":10,"value":11,"toc":759},"minimark",[12,23,26,29,39,44,47,50,63,66,75,85,88,92,95,104,113,122,129,132,135,139,142,156,164,404,410,414,417,442,445,454,555,561,565,568,571,579,585,589,598,604,619,623,636,649,655,661,665,674,677,683,686,695,703,709,712,716,725,729,732,735,741,755],[13,14,15,16,22],"p",{},"L'équipe Contributor Success de GitLab faisait face au défi suivant : alors que nos contributeurs open source récurrents fusionnaient davantage de modifications de code et collaboraient sur des fonctionnalités avancées, les contributeurs novices, quant à eux, avaient du mal à se lancer. Nous étions conscients que beaucoup de nouveaux contributeurs open source finissaient par abandonner sans même demander de l'aide. Attachés à la ",[17,18,21],"a",{"href":19,"rel":20},"https://handbook.gitlab.com/handbook/company/mission/",[],"mission de GitLab"," où chacun peut contribuer, nous aspirions à inverser cette tendance.",[13,24,25],{},"Nous avons commencé à effectuer des recherches sur les contributeurs open source de GitLab. Puis nous avons amélioré les obstacles majeurs. En janvier, nous avons atteint un record de 184 contributeurs communautaires uniques à GitLab en un seul mois, dépassant pour la première fois notre objectif de 170 fixé par l'équipe.",[13,27,28],{},"Trois mois plus tard, nous l'avons de nouveau battu avec 192 contributeurs.",[13,30,31,32,38],{},"Voici comment nous avons utilisé les propres outils de GitLab pour résoudre le dilemme des nouveaux contributeurs et développer notre communauté ",[17,33,37],{"href":34,"rel":35,"title":36},"https://about.gitlab.com/fr-fr/blog/what-is-open-source/",[],"Qu'est-ce que l'open source ?","open source",".",[40,41,43],"h2",{"id":42},"ce-que-nous-avons-appris-sur-les-nouveaux-contributeurs","Ce que nous avons appris sur les nouveaux contributeurs",[13,45,46],{},"En 2023, nous avons mené la toute première étude sur les contributeurs open source de GitLab. Nous avons observé six participants qui n'avaient jamais contribué à GitLab.",[13,48,49],{},"Voici ce qu’ils nous ont dit :",[51,52,53,57,60],"ul",{},[54,55,56],"li",{},"La documentation destinée aux contributeurs était confuse",[54,58,59],{},"La prise en main était difficile",[54,61,62],{},"Trouver de l’aide n'était pas clair",[13,64,65],{},"Seul un participant sur six a réussi à fusionner une contribution de code dans GitLab au cours de l'étude.",[13,67,68,69,74],{},"Il est devenu évident que nous devions nous concentrer sur l'expérience d'intégration si nous voulions que les nouveaux contributeurs réussissent à faire leurs premiers pas sur GitLab. Nous avons donc ",[17,70,73],{"href":71,"rel":72},"https://handbook.gitlab.com/handbook/values/#iteration",[],"itéré"," !",[13,76,77,78,84],{},"Notre équipe a passé l'année suivante à résoudre leurs défis. Nous avons utilisé les outils de GitLab, tels que les templates de tickets, les ",[17,79,83],{"href":80,"rel":81,"title":82},"https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/",[],"Qu'est-ce qu'un pipeline CI/CD ?","pipelines CI/CD"," programmés, les webhooks et le GitLab Query Language (GLQL), pour construire une solution d'intégration innovante et semi-automatisée.",[13,86,87],{},"En 2025, nous avons effectué une étude de suivi des utilisateurs avec de nouveaux participants qui n'avaient jamais contribué à GitLab. Les 10 participants ont tous créé et fusionné avec succès des contributions dans GitLab, avec un taux de réussite de 100 %. Les retours ont montré une grande appréciation pour le nouveau processus d'intégration, la rapidité avec laquelle les chargés de maintenance vérifiaient le travail des contributeurs, et la reconnaissance que nous offrions aux contributeurs.",[40,89,91],{"id":90},"création-dune-intégration-personnalisée","Création d’une intégration personnalisée",[13,93,94],{},"Notre solution a commencé par l'engagement. Pour aider les nouveaux contributeurs à se lancer, nous avons mis en place un processus d'intégration personnalisé connectant chaque contributeur avec un chargé de maintenance communautaire.",[13,96,97,98,103],{},"Nous avons créé un ",[17,99,102],{"href":100,"rel":101},"https://gitlab.com/gitlab-community/meta/-/blob/ac0e5579a6a1cf26e367010bfcf6c7d35b38d4f8/.gitlab/issue_templates/Onboarding.md",[],"template de ticket ","avec une liste claire de tâches.",[13,105,106,107,112],{},"Le ticket d'intégration gère également l'approbation d'accès aux ",[17,108,111],{"href":109,"rel":110},"https://about.gitlab.com/blog/gitlab-community-forks/",[],"forks de la communauté de GitLab",", une collection de projets partagés qui facilitent le push de modifications, la collaboration entre contributeurs, et l'accès aux fonctionnalités GitLab Ultimate et GitLab Duo.",[13,114,115,116,121],{},"En utilisant des ",[17,117,120],{"href":118,"rel":119},"https://docs.gitlab.com/user/project/labels/#scoped-labels",[],"labels à portée limitée",", nous indiquons le statut de la demande d'accès pour faciliter le suivi par les chargés de maintenance.",[13,123,124],{},[125,126],"img",{"alt":127,"src":128},"Ticket d'intégration GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512804/vkiyl0hrfbgcer3nz38r.png",[13,130,131],{},"Nous avons commencé avec un script Ruby exécuté via un pipeline programmé, vérifiant les nouvelles demandes d'accès et utilisant le template de ticket pour créer des tickets d'intégration personnalisés.",[13,133,134],{},"À partir de là, nos chargés de maintenance collaborent avec les nouveaux contributeurs pour vérifier l'accès, répondre aux questions et trouver des tickets.",[40,136,138],{"id":137},"standardisation-des-réponses-avec-des-templates-de-commentaires","Standardisation des réponses avec des templates de commentaires",[13,140,141],{},"Avec plusieurs chargés de maintenance dans la communauté de GitLab, nous voulions assurer une communication cohérente et claire.",[13,143,144,145,150,151,38],{},"Nous avons créé des ",[17,146,149],{"href":147,"rel":148},"https://docs.gitlab.com/user/profile/comment_templates/",[],"templates de commentaires",", que nous synchronisons avec le dépôt en utilisant l'API GraphQL et un ",[17,152,155],{"href":153,"rel":154},"https://gitlab.com/gitlab-community/meta/-/blob/dd6e0c2861c848251424b72e3e8c5603dcaac725/bin/sync_comment_templates.rb",[],"script Ruby",[13,157,158,159,163],{},"Le script est déclenché dans le fichier ",[160,161,162],"code",{},".gitlab-ci.yml"," lorsque des modifications de templates de commentaires sont apportées avec un push vers la branche par défaut (un test est déclenché dans les merge requests).",[165,166,171],"pre",{"className":167,"code":168,"language":169,"meta":170,"style":170},"language-yaml shiki shiki-themes github-light","execute:sync-comment-templates:\n  stage: execute\n  extends: .ruby\n  script:\n    - bundle exec bin/sync_comment_templates.rb\n  variables:\n    SYNC_COMMENT_TEMPLATES_GITLAB_API_TOKEN: $SYNC_COMMENT_TEMPLATES_GITLAB_API_TOKEN_READ_ONLY\n  rules:\n    - if: $CI_PIPELINE_SOURCE == 'schedule' || $CI_PIPELINE_SOURCE == \"trigger\"\n      when: never\n    - if: $EXECUTE_SYNC_COMMENT_TEMPLATES == '1'\n    - if: $CI_MERGE_REQUEST_IID\n      changes:\n        - .gitlab/comment_templates/**/*\n      variables:\n        REPORT_ONLY: 1\n    - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH\n      changes:\n        - .gitlab/comment_templates/**/*\n      variables:\n        FORCE_SYNC: 1\n        DRY_RUN: 0\n        SYNC_COMMENT_TEMPLATES_GITLAB_API_TOKEN: $SYNC_COMMENT_TEMPLATES_GITLAB_API_TOKEN_READ_WRITE\n\n","yaml","",[160,172,173,186,199,210,218,227,235,246,254,267,278,290,302,310,319,327,339,351,358,365,372,382,393],{"__ignoreMap":170},[174,175,178,182],"span",{"class":176,"line":177},"line",1,[174,179,181],{"class":180},"shJU0","execute:sync-comment-templates",[174,183,185],{"class":184},"sgsFI",":\n",[174,187,189,192,195],{"class":176,"line":188},2,[174,190,191],{"class":180},"  stage",[174,193,194],{"class":184},": ",[174,196,198],{"class":197},"sYBdl","execute\n",[174,200,202,205,207],{"class":176,"line":201},3,[174,203,204],{"class":180},"  extends",[174,206,194],{"class":184},[174,208,209],{"class":197},".ruby\n",[174,211,213,216],{"class":176,"line":212},4,[174,214,215],{"class":180},"  script",[174,217,185],{"class":184},[174,219,221,224],{"class":176,"line":220},5,[174,222,223],{"class":184},"    - ",[174,225,226],{"class":197},"bundle exec bin/sync_comment_templates.rb\n",[174,228,230,233],{"class":176,"line":229},6,[174,231,232],{"class":180},"  variables",[174,234,185],{"class":184},[174,236,238,241,243],{"class":176,"line":237},7,[174,239,240],{"class":180},"    SYNC_COMMENT_TEMPLATES_GITLAB_API_TOKEN",[174,242,194],{"class":184},[174,244,245],{"class":197},"$SYNC_COMMENT_TEMPLATES_GITLAB_API_TOKEN_READ_ONLY\n",[174,247,249,252],{"class":176,"line":248},8,[174,250,251],{"class":180},"  rules",[174,253,185],{"class":184},[174,255,257,259,262,264],{"class":176,"line":256},9,[174,258,223],{"class":184},[174,260,261],{"class":180},"if",[174,263,194],{"class":184},[174,265,266],{"class":197},"$CI_PIPELINE_SOURCE == 'schedule' || $CI_PIPELINE_SOURCE == \"trigger\"\n",[174,268,270,273,275],{"class":176,"line":269},10,[174,271,272],{"class":180},"      when",[174,274,194],{"class":184},[174,276,277],{"class":197},"never\n",[174,279,281,283,285,287],{"class":176,"line":280},11,[174,282,223],{"class":184},[174,284,261],{"class":180},[174,286,194],{"class":184},[174,288,289],{"class":197},"$EXECUTE_SYNC_COMMENT_TEMPLATES == '1'\n",[174,291,293,295,297,299],{"class":176,"line":292},12,[174,294,223],{"class":184},[174,296,261],{"class":180},[174,298,194],{"class":184},[174,300,301],{"class":197},"$CI_MERGE_REQUEST_IID\n",[174,303,305,308],{"class":176,"line":304},13,[174,306,307],{"class":180},"      changes",[174,309,185],{"class":184},[174,311,313,316],{"class":176,"line":312},14,[174,314,315],{"class":184},"        - ",[174,317,318],{"class":197},".gitlab/comment_templates/**/*\n",[174,320,322,325],{"class":176,"line":321},15,[174,323,324],{"class":180},"      variables",[174,326,185],{"class":184},[174,328,330,333,335],{"class":176,"line":329},16,[174,331,332],{"class":180},"        REPORT_ONLY",[174,334,194],{"class":184},[174,336,338],{"class":337},"sYu0t","1\n",[174,340,342,344,346,348],{"class":176,"line":341},17,[174,343,223],{"class":184},[174,345,261],{"class":180},[174,347,194],{"class":184},[174,349,350],{"class":197},"$CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH\n",[174,352,354,356],{"class":176,"line":353},18,[174,355,307],{"class":180},[174,357,185],{"class":184},[174,359,361,363],{"class":176,"line":360},19,[174,362,315],{"class":184},[174,364,318],{"class":197},[174,366,368,370],{"class":176,"line":367},20,[174,369,324],{"class":180},[174,371,185],{"class":184},[174,373,375,378,380],{"class":176,"line":374},21,[174,376,377],{"class":180},"        FORCE_SYNC",[174,379,194],{"class":184},[174,381,338],{"class":337},[174,383,385,388,390],{"class":176,"line":384},22,[174,386,387],{"class":180},"        DRY_RUN",[174,389,194],{"class":184},[174,391,392],{"class":337},"0\n",[174,394,396,399,401],{"class":176,"line":395},23,[174,397,398],{"class":180},"        SYNC_COMMENT_TEMPLATES_GITLAB_API_TOKEN",[174,400,194],{"class":184},[174,402,403],{"class":197},"$SYNC_COMMENT_TEMPLATES_GITLAB_API_TOKEN_READ_WRITE\n",[13,405,406],{},[125,407],{"alt":408,"src":409},"Template de commentaire dans GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512803/qmfaymqhq3zgdcnm6a3j.png",[40,411,413],{"id":412},"suppression-du-temps-dattente-de-5-minutes","Suppression du temps d'attente de 5 minutes",[13,415,416],{},"Notre première itération était un peu lente. Après avoir commencé le processus d'intégration, les contributeurs se demandaient ce qu’il fallait faire ensuite, tandis que le pipeline programmé prenait jusqu'à 5 minutes pour créer leur ticket d'intégration.",[13,418,419,424,425,430,431,436,437,38],{},[17,420,423],{"href":421,"rel":422},"https://gitlab.com/Taucher2003",[],"Niklas",", un membre de notre ",[17,426,429],{"href":427,"rel":428},"https://about.gitlab.com/community/core-team/",[],"équipe Core",", a trouvé une solution. Il a ajouté des ",[17,432,435],{"href":433,"rel":434},"https://gitlab.com/gitlab-org/gitlab/-/merge_requests/163094",[],"événements webhook pour les demandes d'accès"," et des ",[17,438,441],{"href":439,"rel":440},"https://gitlab.com/gitlab-org/gitlab/-/merge_requests/142738",[],"templates de charge utile personnalisés pour les webhooks",[13,443,444],{},"Ces fonctionnalités combinées nous ont permis de déclencher un pipeline immédiatement. Cela réduit le temps à environ 40 secondes (le temps qu'il faut au pipeline CI pour s'exécuter) et génère le ticket d'intégration immédiatement. Cette action économise également des milliers de pipelines et de minutes de calcul lorsqu’aucune demande d'accès n’a besoin d'être traitée.",[13,446,447,448,453],{},"Nous avons configuré un ",[17,449,452],{"href":450,"rel":451},"https://docs.gitlab.com/ci/triggers/#create-a-pipeline-trigger-token",[],"token de déclenchement de pipeline"," et l'avons utilisé comme cible pour le webhook, en passant les variables d'environnement souhaitées :",[165,455,459],{"className":456,"code":457,"language":458,"meta":170,"style":170},"language-json shiki shiki-themes github-light","{\n  \"ref\": \"main\",\n  \"variables\": {\n    \"EXECUTE_ACCESS_REQUESTS\": \"1\",\n    \"DRY_RUN\": \"0\",\n    \"PIPELINE_NAME\": \"Create onboarding issues\",\n    \"GROUP_ID\": \"{{group_id}}\",\n    \"EVENT_NAME\": \"{{event_name}}\"\n  }\n}\n","json",[160,460,461,466,479,487,499,511,523,535,545,550],{"__ignoreMap":170},[174,462,463],{"class":176,"line":177},[174,464,465],{"class":184},"{\n",[174,467,468,471,473,476],{"class":176,"line":188},[174,469,470],{"class":337},"  \"ref\"",[174,472,194],{"class":184},[174,474,475],{"class":197},"\"main\"",[174,477,478],{"class":184},",\n",[174,480,481,484],{"class":176,"line":201},[174,482,483],{"class":337},"  \"variables\"",[174,485,486],{"class":184},": {\n",[174,488,489,492,494,497],{"class":176,"line":212},[174,490,491],{"class":337},"    \"EXECUTE_ACCESS_REQUESTS\"",[174,493,194],{"class":184},[174,495,496],{"class":197},"\"1\"",[174,498,478],{"class":184},[174,500,501,504,506,509],{"class":176,"line":220},[174,502,503],{"class":337},"    \"DRY_RUN\"",[174,505,194],{"class":184},[174,507,508],{"class":197},"\"0\"",[174,510,478],{"class":184},[174,512,513,516,518,521],{"class":176,"line":229},[174,514,515],{"class":337},"    \"PIPELINE_NAME\"",[174,517,194],{"class":184},[174,519,520],{"class":197},"\"Create onboarding issues\"",[174,522,478],{"class":184},[174,524,525,528,530,533],{"class":176,"line":237},[174,526,527],{"class":337},"    \"GROUP_ID\"",[174,529,194],{"class":184},[174,531,532],{"class":197},"\"{{group_id}}\"",[174,534,478],{"class":184},[174,536,537,540,542],{"class":176,"line":248},[174,538,539],{"class":337},"    \"EVENT_NAME\"",[174,541,194],{"class":184},[174,543,544],{"class":197},"\"{{event_name}}\"\n",[174,546,547],{"class":176,"line":256},[174,548,549],{"class":184},"  }\n",[174,551,552],{"class":176,"line":269},[174,553,554],{"class":184},"}\n",[13,556,557],{},[125,558],{"alt":559,"src":560},"Liste de pipelines","https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512805/qom7hnqnwfcdzvria7dd.png",[40,562,564],{"id":563},"automatisation-des-suivis","Automatisation des suivis",[13,566,567],{},"Avec un volume croissant de clients et de contributeurs à la communauté GitLab, les chargés de maintenance avaient du mal à suivre les tickets qui nécessitaient une attention particulière et certaines questions de suivi se perdaient.",[13,569,570],{},"Nous avons mis en œuvre une automatisation utilisant les webhooks et Ruby pour labeliser les tickets mis à jour par les membres de la communauté. Cela crée un signal clair du statut du ticket pour les chargés de maintenance.",[13,572,573,578],{},[17,574,577],{"href":575,"rel":576},"https://gitlab.com/gitlab-org/ruby/gems/gitlab-triage",[],"GitLab Triage"," relance automatiquement les tickets d'intégration inactifs afin de maintenir cette dynamique.",[13,580,581],{},[125,582],{"alt":583,"src":584},"Relance automatisée des tickets d'intégration inactif dans GitLab ","https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512811/gkj3qaidjl1vv2dlu8ep.png",[40,586,588],{"id":587},"organisation-du-suivi-des-tickets-avec-glql","Organisation du suivi des tickets avec GLQL",[13,590,591,592,597],{},"Nous avons construit une ",[17,593,596],{"href":594,"rel":595},"https://docs.gitlab.com/user/glql/",[],"vue GitLab Query Language (GLQL)"," pour garder une trace de l'ensemble des tickets. Ce tableau GLQL recense les tickets d'intégration qui nécessitent une attention particulière, permettant aux chargés de maintenance de les examiner et de les suivre avec les membres de la communauté.",[13,599,600],{},[125,601],{"alt":602,"src":603},"Vue GLQL du suivi des tickets","https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512804/hdduf0orntdfhkysheae.png",[13,605,606,607,612,613,618],{},"Ces vues GLQL ont amélioré notre efficacité globale de classement. Le succès a été tel que nous avons fini par utiliser cette stratégie dans les programmes ",[17,608,611],{"href":609,"rel":610},"https://about.gitlab.com/fr-fr/solutions/open-source/",[],"GitLab pour l’open source"," et ",[17,614,617],{"href":615,"rel":616},"https://about.gitlab.com/fr-fr/solutions/education/",[],"GitLab pour l'éducation",". Avec les tableaux GLQL pour les tickets d’assistance, ces programmes communautaires ont réduit leurs temps de réponse de 75 %.",[40,620,622],{"id":621},"meilleure-accessibilité-du-readme","Meilleure accessibilité du README",[13,624,625,626,631,632,635],{},"Le ",[17,627,630],{"href":628,"rel":629},"https://gitlab.com/gitlab-community/",[],"groupe @gitlab-community"," est l’espace dédié aux contributeurs sur Gitlab.com. Nous avions déjà un fichier ",[160,633,634],{},"README.md"," expliquant les forks de la communauté et le processus d'intégration, mais ce fichier vivait dans un projet meta. Avec notre étude de suivi des utilisateurs, nous avons découvert que cette séparation désorientait les nouveaux contributeurs quand leurs tickets d'intégration se trouvaient dans un projet différent.",[13,637,638,639,644,645,648],{},"Nous avons alors utilisé la ",[17,640,643],{"href":641,"rel":642},"https://docs.gitlab.com/user/project/repository/mirror/",[],"mise en miroir de projet de GitLab"," pour résoudre cela et mis en miroir le projet meta vers ",[160,646,647],{},"gitlab-profile",". Cela a fait remonter le fichier README existant au niveau du groupe, le rendant plus facile d'accès.",[13,650,651],{},[125,652],{"alt":653,"src":654},"Mise en miroir de projet GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512809/kbgdxyilza71kmj0aeqt.png",[13,656,657],{},[125,658],{"alt":659,"src":660},"README de groupe","https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512804/taosgn8vvgo8onszuwaf.png",[40,662,664],{"id":663},"les-résultats-parlent-deux-mêmes","Les résultats parlent d'eux-mêmes",[13,666,667,668,38],{},"En utilisant GitLab nous-mêmes, nous avons amélioré les points de friction identifiés dans nos études et transformé le parcours des contributeurs de GitLab. Nous avons augmenté le nombre de clients et de membres de la communauté contribuant à GitLab, ajoutant des fonctionnalités au produit, résolvant des bogues, et enrichissant notre catalogue ",[17,669,673],{"href":670,"rel":671,"title":672},"https://about.gitlab.com/fr-fr/topics/ci-cd/",[],"Qu'est-ce que le CI/CD?","CI/CD",[13,675,676],{},"Notre processus d'intégration a augmenté le taux d'adhésion des nouveaux contributeurs au sein de notre communauté, et le nombre total de contributeurs sur les forks de la communauté a doublé au cours des 9 derniers mois.",[13,678,679],{},[125,680],{"alt":681,"src":682},"Graphique de croissance des forks de la communauté","https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512803/xagra4vfsrhbcwnzekmp.png",[13,684,685],{},"Nous avons réduit le temps nécessaire aux nouveaux contributeurs pour apporter leur première contribution en les connectant plus rapidement avec les chargés de maintenance et en les aidant à démarrer.",[13,687,688,689,694],{},"Nous utilisons l’",[17,690,693],{"href":691,"rel":692},"https://docs.gitlab.com/user/group/value_stream_analytics/",[],"analyse de la chaîne de valeur"," de GitLab pour suivre nos taux de réponse.",[51,696,697,700],{},[54,698,699],{},"Le délai avant première réponse des chargés de maintenance de la communauté est descendu à 46 minutes au cours des 3 derniers mois",[54,701,702],{},"Le temps d'approbation moyen pour l'accès aux forks de la communauté est descendu à 1 heure au cours des 3 derniers mois",[13,704,705],{},[125,706],{"alt":707,"src":708},"Chronologie de l’analyse de la chaîne de valeur","https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512812/jzksakrfdb22hooqemzh.png",[13,710,711],{},"Le taux de réussite de 100 % de notre étude de suivi des utilisateurs de 2025 a confirmé ces améliorations pour nos contributeurs novices.",[40,713,715],{"id":714},"meilleure-reconnaissance-des-contributeurs","Meilleure reconnaissance des contributeurs",[13,717,718,719,724],{},"Corriger les défis rencontrés par nos nouveaux contributeurs nous a permis de nous concentrer sur une meilleure reconnaissance de notre communauté, incitant les novices à revenir. Le résultat : ",[17,720,723],{"href":721,"rel":722},"https://contributors.gitlab.com/",[],"contributors.gitlab.com",". Nous avons construit un hub central pour nos contributeurs qui comprend des tableaux de classement, des réalisations et des récompenses. Les contributeurs peuvent voir leur impact, suivre leurs progrès et grandir au sein de la communauté.",[40,726,728],{"id":727},"partager-ce-que-nous-avons-appris","Partager ce que nous avons appris",[13,730,731],{},"Ces améliorations fonctionnent et sont reproductibles pour d'autres projets open source. Nous partageons notre approche pour que d'autres projets puissent envisager d'utiliser ces outils pour se développer.",[13,733,734],{},"Au fur et à mesure que les organisations prennent connaissance des obstacles à la participation, il est possible de créer un environnement open source plus convivial. Avec les outils de GitLab, nous pouvons offrir une expérience plus fluide aux contributeurs et aux chargés de maintenance.",[13,736,737],{},[738,739,740],"strong",{},"Contactez-nous",[13,742,743,744,748,749,754],{},"Vous voulez en savoir plus sur le développement de votre communauté de contributeurs ? Envoyez un e-mail à ",[17,745,747],{"href":746},"mailto:contributors@gitlab.com","contributors@gitlab.com"," ou ",[17,750,753],{"href":751,"rel":752},"https://gitlab.com/gitlab-org/developer-relations/contributor-success/team-task/-/issues",[],"créez un ticket"," pour démarrer une discussion. Nous sommes là pour aider à construire des communautés.",[756,757,758],"style",{},"html pre.shiki code .shJU0, html code.shiki .shJU0{--shiki-default:#22863A}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}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":170,"searchDepth":188,"depth":188,"links":760},[761,762,763,764,765,766,767,768,769,770],{"id":42,"depth":188,"text":43},{"id":90,"depth":188,"text":91},{"id":137,"depth":188,"text":138},{"id":412,"depth":188,"text":413},{"id":563,"depth":188,"text":564},{"id":587,"depth":188,"text":588},{"id":621,"depth":188,"text":622},{"id":663,"depth":188,"text":664},{"id":714,"depth":188,"text":715},{"id":727,"depth":188,"text":728},"open-source","2025-07-22","Découvrez comment utiliser la plateforme DevSecOps de GitLab pour résoudre les problèmes d'intégration des nouveaux contributeurs.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,w_820,h_500,c_lfill/v1750099558/Blog/Hero%20Images/gitlabflatlogomap.png",{},true,"/fr-fr/blog/how-we-use-gitlab-to-grow-open-source-communities",{"noIndex":776,"title":782,"description":773,"ogDescription":773,"ogTitle":782,"ogImage":777},"Développer les communautés open source avec GitLab","how-we-use-gitlab-to-grow-open-source-communities","fr-fr/blog/how-we-use-gitlab-to-grow-open-source-communities",[37,786,787],"community","product","BlogPost","vjYb5F0la5GLXUxfJxvo301YnURxt8xbG8y_2CyBuUo",{"logo":791,"freeTrial":796,"sales":801,"login":806,"items":811,"search":1138,"minimal":1174,"duo":1193,"switchNav":1202,"pricingDeployment":1213},{"config":792},{"href":793,"dataGaName":794,"dataGaLocation":795},"/fr-fr/","gitlab logo","header",{"text":797,"config":798},"Commencer un essai gratuit",{"href":799,"dataGaName":800,"dataGaLocation":795},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr&glm_content=default-saas-trial/","free trial",{"text":802,"config":803},"Demander une démo",{"href":804,"dataGaName":805,"dataGaLocation":795},"/fr-fr/sales/?contact-topic=request-demo","sales",{"text":807,"config":808},"Connexion",{"href":809,"dataGaName":810,"dataGaLocation":795},"https://gitlab.com/users/sign_in/","sign in",[812,841,942,947,1060,1116],{"text":813,"config":814,"menu":816},"Plateforme",{"dataNavLevelOne":815},"platform",{"type":817,"columns":818},"cards",[819,825,833],{"title":813,"description":820,"link":821},"La plateforme d'orchestration intelligente pour le DevSecOps",{"text":822,"config":823},"Explorer notre plateforme",{"href":824,"dataGaName":815,"dataGaLocation":795},"/fr-fr/platform/",{"title":826,"description":827,"link":828},"GitLab Duo Agent Platform","L'IA agentique pour l'ensemble du cycle de développement logiciel",{"text":829,"config":830},"Découvrir GitLab Duo",{"href":831,"dataGaName":832,"dataGaLocation":795},"/fr-fr/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":834,"description":835,"link":836},"Pourquoi GitLab ?","Découvrez les principales raisons pour lesquelles les entreprises choisissent GitLab",{"text":837,"config":838},"En savoir plus",{"href":839,"dataGaName":840,"dataGaLocation":795},"/fr-fr/why-gitlab/","why gitlab",{"text":842,"left":779,"config":843,"menu":845},"Produit",{"dataNavLevelOne":844},"solutions",{"type":846,"link":847,"columns":851,"feature":921},"lists",{"text":848,"config":849},"Voir toutes les solutions",{"href":850,"dataGaName":844,"dataGaLocation":795},"/fr-fr/solutions/",[852,876,899],{"title":853,"description":854,"link":855,"items":860},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":856},{"icon":857,"href":858,"dataGaName":859,"dataGaLocation":795},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[861,864,867,872],{"text":673,"config":862},{"href":863,"dataGaLocation":795,"dataGaName":673},"/fr-fr/solutions/continuous-integration/",{"text":826,"config":865},{"href":831,"dataGaLocation":795,"dataGaName":866},"gitlab duo agent platform - product menu",{"text":868,"config":869},"Gestion du code source",{"href":870,"dataGaLocation":795,"dataGaName":871},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":873,"config":874},"Livraison de logiciels automatisée",{"href":858,"dataGaLocation":795,"dataGaName":875},"Automated software delivery",{"title":877,"description":878,"link":879,"items":884},"Sécurité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":880},{"href":881,"dataGaName":882,"dataGaLocation":795,"icon":883},"/fr-fr/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[885,889,894],{"text":886,"config":887},"Tests de sécurité des applications",{"href":881,"dataGaName":888,"dataGaLocation":795},"Application security testing",{"text":890,"config":891},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":892,"dataGaLocation":795,"dataGaName":893},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":895,"config":896},"Conformité logicielle",{"href":897,"dataGaName":898,"dataGaLocation":795},"/fr-fr/solutions/software-compliance/","software compliance",{"title":900,"link":901,"items":906},"Mesures",{"config":902},{"icon":903,"href":904,"dataGaName":905,"dataGaLocation":795},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[907,911,916],{"text":908,"config":909},"Visibilité et mesures",{"href":904,"dataGaLocation":795,"dataGaName":910},"Visibility and Measurement",{"text":912,"config":913},"Gestion de la chaîne de valeur",{"href":914,"dataGaLocation":795,"dataGaName":915},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":917,"config":918},"Analyses et informations",{"href":919,"dataGaLocation":795,"dataGaName":920},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":922,"type":846,"items":923},"GitLab",[924,930,936],{"text":925,"config":926},"Entreprises",{"icon":927,"href":928,"dataGaLocation":795,"dataGaName":929},"Building","/fr-fr/enterprise/","enterprise",{"text":931,"config":932},"Pour les PME",{"icon":933,"href":934,"dataGaLocation":795,"dataGaName":935},"Work","/fr-fr/small-business/","small business",{"text":937,"config":938},"Pour le secteur public",{"icon":939,"href":940,"dataGaLocation":795,"dataGaName":941},"Organization","/fr-fr/solutions/public-sector/","public sector",{"text":943,"config":944},"Tarifs",{"href":945,"dataGaName":946,"dataGaLocation":795,"dataNavLevelOne":946},"/fr-fr/pricing/","pricing",{"text":948,"config":949,"menu":951},"Ressources",{"dataNavLevelOne":950},"resources",{"type":846,"link":952,"columns":956,"feature":1049},{"text":953,"config":954},"Afficher toutes les ressources",{"href":955,"dataGaName":950,"dataGaLocation":795},"/fr-fr/resources/",[957,990,1017],{"title":958,"items":959},"Premiers pas",[960,965,970,975,980,985],{"text":961,"config":962},"Installation",{"href":963,"dataGaName":964,"dataGaLocation":795},"/fr-fr/install/","install",{"text":966,"config":967},"Guides de démarrage",{"href":968,"dataGaName":969,"dataGaLocation":795},"/fr-fr/get-started/","quick setup checklists",{"text":971,"config":972},"Apprentissage",{"href":973,"dataGaLocation":795,"dataGaName":974},"https://university.gitlab.com/","learn",{"text":976,"config":977},"Documentation",{"href":978,"dataGaName":979,"dataGaLocation":795},"https://docs.gitlab.com/","product documentation",{"text":981,"config":982},"Vidéos sur les bonnes pratiques",{"href":983,"dataGaName":984,"dataGaLocation":795},"/fr-fr/getting-started-videos/","best practice videos",{"text":986,"config":987},"Intégrations",{"href":988,"dataGaName":989,"dataGaLocation":795},"/fr-fr/integrations/","integrations",{"title":991,"items":992},"Découvrir",[993,998,1003,1008,1012],{"text":994,"config":995},"Témoignages clients",{"href":996,"dataGaName":997,"dataGaLocation":795},"/fr-fr/customers/","customer success stories",{"text":999,"config":1000},"Blog",{"href":1001,"dataGaName":1002,"dataGaLocation":795},"/fr-fr/blog/","blog",{"text":1004,"config":1005},"Demo Hub",{"href":1006,"dataGaName":1007,"dataGaLocation":795},"/fr-fr/demo-hub/","demo hub",{"text":1009,"config":1010},"The Source",{"href":1011,"dataGaName":1002,"dataGaLocation":795},"/fr-fr/the-source/",{"text":1013,"config":1014},"Travail à distance",{"href":1015,"dataGaName":1016,"dataGaLocation":795},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":1018,"items":1019},"Connecter",[1020,1025,1030,1034,1039,1044],{"text":1021,"config":1022},"Services GitLab",{"href":1023,"dataGaName":1024,"dataGaLocation":795},"/fr-fr/services/","services",{"text":1026,"config":1027},"Contribuer",{"href":1028,"dataGaName":1029,"dataGaLocation":795},"https://contributors.gitlab.com","contribute",{"text":1031,"config":1032},"Communauté",{"href":1033,"dataGaName":786,"dataGaLocation":795},"/community/",{"text":1035,"config":1036},"Forum",{"href":1037,"dataGaName":1038,"dataGaLocation":795},"https://forum.gitlab.com/","forum",{"text":1040,"config":1041},"Événements",{"href":1042,"dataGaName":1043,"dataGaLocation":795},"/events/","events",{"text":1045,"config":1046},"Partenaires",{"href":1047,"dataGaName":1048,"dataGaLocation":795},"/fr-fr/partners/","partners",{"config":1050,"title":1053,"text":1054,"link":1055},{"background":1051,"textColor":1052},"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":1056,"config":1057},"Lire les articles les plus récents",{"href":1058,"dataGaName":1059,"dataGaLocation":795},"/fr-fr/whats-new/","whats new",{"text":1061,"config":1062,"menu":1064},"Société",{"dataNavLevelOne":1063},"company",{"type":846,"columns":1065},[1066],{"items":1067},[1068,1073,1079,1081,1086,1091,1096,1101,1106,1111],{"text":1069,"config":1070},"À propos",{"href":1071,"dataGaName":1072,"dataGaLocation":795},"/fr-fr/company/","about",{"text":1074,"config":1075,"footerGa":1078},"Carrières",{"href":1076,"dataGaName":1077,"dataGaLocation":795},"/jobs/","jobs",{"dataGaName":1077},{"text":1040,"config":1080},{"href":1042,"dataGaName":1043,"dataGaLocation":795},{"text":1082,"config":1083},"Leadership",{"href":1084,"dataGaName":1085,"dataGaLocation":795},"/company/team/e-group/","leadership",{"text":1087,"config":1088},"Manuel",{"href":1089,"dataGaName":1090,"dataGaLocation":795},"https://handbook.gitlab.com/","handbook",{"text":1092,"config":1093},"Relations avec les investisseurs",{"href":1094,"dataGaName":1095,"dataGaLocation":795},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":1097,"config":1098},"Trust Center",{"href":1099,"dataGaName":1100,"dataGaLocation":795},"/fr-fr/security/","trust center",{"text":1102,"config":1103},"Centre pour la transparence de l'IA",{"href":1104,"dataGaName":1105,"dataGaLocation":795},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":1107,"config":1108},"Newsletter",{"href":1109,"dataGaName":1110,"dataGaLocation":795},"/company/contact/#contact-forms","newsletter",{"text":1112,"config":1113},"Presse",{"href":1114,"dataGaName":1115,"dataGaLocation":795},"/press/","press",{"text":1117,"config":1118,"menu":1119},"Nous contacter",{"dataNavLevelOne":1063},{"type":846,"columns":1120},[1121],{"items":1122},[1123,1128,1133],{"text":1124,"config":1125},"Contacter l'équipe commerciale",{"href":1126,"dataGaName":1127,"dataGaLocation":795},"/fr-fr/sales/","talk to sales",{"text":1129,"config":1130},"Assistance GitLab",{"href":1131,"dataGaName":1132,"dataGaLocation":795},"https://support.gitlab.com/hc/en-us","support portal",{"text":1134,"config":1135},"Portail clients GitLab",{"href":1136,"dataGaName":1137,"dataGaLocation":795},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":1139,"login":1140,"suggestions":1147},"Fermer",{"text":1141,"link":1142},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":1143,"config":1144},"GitLab.com",{"href":809,"dataGaName":1145,"dataGaLocation":1146},"search login","search",{"text":1148,"default":1149},"Suggestions",[1150,1153,1158,1160,1165,1170],{"text":826,"config":1151},{"href":831,"dataGaName":1152,"dataGaLocation":1146},"GitLab Duo Agent Platform",{"text":1154,"config":1155},"Suggestions de code (IA)",{"href":1156,"dataGaName":1157,"dataGaLocation":1146},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":673,"config":1159},{"href":863,"dataGaName":673,"dataGaLocation":1146},{"text":1161,"config":1162},"GitLab sur AWS",{"href":1163,"dataGaName":1164,"dataGaLocation":1146},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":1166,"config":1167},"GitLab sur Google Cloud",{"href":1168,"dataGaName":1169,"dataGaLocation":1146},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":1171,"config":1172},"Pourquoi utiliser GitLab ?",{"href":839,"dataGaName":1173,"dataGaLocation":1146},"Why GitLab?",{"freeTrial":1175,"mobileIcon":1180,"desktopIcon":1185,"secondaryButton":1188},{"text":1176,"config":1177},"Commencer votre essai gratuit",{"href":1178,"dataGaName":800,"dataGaLocation":1179},"https://gitlab.com/-/trials/new/","nav",{"altText":1181,"config":1182},"Icône GitLab",{"src":1183,"dataGaName":1184,"dataGaLocation":1179},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":1181,"config":1186},{"src":1187,"dataGaName":1184,"dataGaLocation":1179},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":1189,"config":1190},"Commencer",{"href":1191,"dataGaName":1192,"dataGaLocation":1179},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/get-started/","get started",{"freeTrial":1194,"mobileIcon":1198,"desktopIcon":1200},{"text":1195,"config":1196},"En savoir plus sur GitLab Duo",{"href":831,"dataGaName":1197,"dataGaLocation":1179},"gitlab duo",{"altText":1181,"config":1199},{"src":1183,"dataGaName":1184,"dataGaLocation":1179},{"altText":1181,"config":1201},{"src":1187,"dataGaName":1184,"dataGaLocation":1179},{"button":1203,"mobileIcon":1208,"desktopIcon":1210},{"text":1204,"config":1205},"/switch",{"href":1206,"dataGaName":1207,"dataGaLocation":1179},"#contact","switch",{"altText":1181,"config":1209},{"src":1183,"dataGaName":1184,"dataGaLocation":1179},{"altText":1181,"config":1211},{"src":1212,"dataGaName":1184,"dataGaLocation":1179},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":1214,"mobileIcon":1219,"desktopIcon":1221},{"text":1215,"config":1216},"Retour aux tarifs",{"href":945,"dataGaName":1217,"dataGaLocation":1179,"icon":1218},"back to pricing","GoBack",{"altText":1181,"config":1220},{"src":1183,"dataGaName":1184,"dataGaLocation":1179},{"altText":1181,"config":1222},{"src":1187,"dataGaName":1184,"dataGaLocation":1179},{"title":1224,"button":1225,"config":1229},"GitLab Orbit est arrivé : la couche de contexte pour les agents d'IA.",{"text":837,"config":1226},{"href":1227,"dataGaName":1228,"dataGaLocation":795},"/fr-fr/gitlab-orbit/","orbit",{"layout":1230,"disabled":776},"release",{"data":1232},{"text":1233,"source":1234,"edit":1240,"contribute":1245,"config":1249,"items":1254,"minimal":1462},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence.",{"text":1235,"config":1236},"Afficher le code source de la page",{"href":1237,"dataGaName":1238,"dataGaLocation":1239},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":1241,"config":1242},"Modifier cette page",{"href":1243,"dataGaName":1244,"dataGaLocation":1239},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":1026,"config":1246},{"href":1247,"dataGaName":1248,"dataGaLocation":1239},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":1250,"facebook":1251,"youtube":1252,"linkedin":1253},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1255,1301,1354,1397,1429],{"title":943,"links":1256,"subMenu":1271},[1257,1261,1266],{"text":1258,"config":1259},"Voir les forfaits",{"href":945,"dataGaName":1260,"dataGaLocation":1239},"view plans",{"text":1262,"config":1263},"GitLab Premium",{"href":1264,"dataGaName":1265,"dataGaLocation":1239},"/fr-fr/pricing/premium/","why premium",{"text":1267,"config":1268},"GitLab Ultimate",{"href":1269,"dataGaName":1270,"dataGaLocation":1239},"/fr-fr/pricing/ultimate/","why ultimate",[1272],{"title":1117,"links":1273},[1274,1276,1278,1281,1286,1291,1296],{"text":1124,"config":1275},{"href":1126,"dataGaName":805,"dataGaLocation":1239},{"text":1129,"config":1277},{"href":1131,"dataGaName":1132,"dataGaLocation":1239},{"text":1279,"config":1280},"Portail clients",{"href":1136,"dataGaName":1137,"dataGaLocation":1239},{"text":1282,"config":1283},"Statut",{"href":1284,"dataGaName":1285,"dataGaLocation":1239},"https://status.gitlab.com/","status",{"text":1287,"config":1288},"Conditions d'utilisation",{"href":1289,"dataGaName":1290,"dataGaLocation":1239},"/terms/","terms of use",{"text":1292,"config":1293},"Politique de confidentialité",{"href":1294,"dataGaName":1295,"dataGaLocation":1239},"/fr-fr/privacy/","privacy statement",{"text":1297,"config":1298},"Gestion des cookies",{"dataGaName":1299,"dataGaLocation":1239,"id":1300,"isOneTrustButton":779},"cookie preferences","ot-sdk-btn",{"title":842,"links":1302,"subMenu":1311},[1303,1307],{"text":1304,"config":1305},"Plateforme DevSecOps",{"href":824,"dataGaName":1306,"dataGaLocation":1239},"devsecops platform",{"text":1308,"config":1309},"Développement assisté par l'IA",{"href":831,"dataGaName":1310,"dataGaLocation":1239},"ai-assisted development",[1312],{"title":1313,"links":1314},"Thèmes",[1315,1319,1324,1329,1334,1339,1344,1349],{"text":673,"config":1316},{"href":1317,"dataGaName":1318,"dataGaLocation":1239},"/fr-fr/topics/ci-cd/","cicd",{"text":1320,"config":1321},"GitOps",{"href":1322,"dataGaName":1323,"dataGaLocation":1239},"/fr-fr/topics/gitops/","gitops",{"text":1325,"config":1326},"DevOps",{"href":1327,"dataGaName":1328,"dataGaLocation":1239},"/fr-fr/topics/devops/","devops",{"text":1330,"config":1331},"Contrôle de version",{"href":1332,"dataGaName":1333,"dataGaLocation":1239},"/fr-fr/topics/version-control/","version control",{"text":1335,"config":1336},"DevSecOps",{"href":1337,"dataGaName":1338,"dataGaLocation":1239},"/fr-fr/topics/devsecops/","devsecops",{"text":1340,"config":1341},"Cloud-native",{"href":1342,"dataGaName":1343,"dataGaLocation":1239},"/fr-fr/topics/cloud-native/","cloud native",{"text":1345,"config":1346},"IA pour la programmation",{"href":1347,"dataGaName":1348,"dataGaLocation":1239},"/fr-fr/topics/devops/ai-for-coding/","ai for coding",{"text":1350,"config":1351},"IA agentique",{"href":1352,"dataGaName":1353,"dataGaLocation":1239},"/fr-fr/topics/agentic-ai/","agentic ai",{"title":1355,"links":1356},"Solutions",[1357,1360,1362,1367,1370,1373,1376,1379,1381,1384,1387,1392],{"text":886,"config":1358},{"href":881,"dataGaName":1359,"dataGaLocation":1239},"Application Security Testing",{"text":873,"config":1361},{"href":858,"dataGaName":859,"dataGaLocation":1239},{"text":1363,"config":1364},"Développement Agile",{"href":1365,"dataGaName":1366,"dataGaLocation":1239},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":868,"config":1368},{"href":870,"dataGaName":1369,"dataGaLocation":1239},"source code management",{"text":673,"config":1371},{"href":863,"dataGaName":1372,"dataGaLocation":1239},"continuous integration & delivery",{"text":912,"config":1374},{"href":914,"dataGaName":1375,"dataGaLocation":1239},"value stream management",{"text":1320,"config":1377},{"href":1378,"dataGaName":1323,"dataGaLocation":1239},"/fr-fr/solutions/gitops/",{"text":925,"config":1380},{"href":928,"dataGaName":929,"dataGaLocation":1239},{"text":1382,"config":1383},"PME",{"href":934,"dataGaName":935,"dataGaLocation":1239},{"text":1385,"config":1386},"Secteur public",{"href":940,"dataGaName":941,"dataGaLocation":1239},{"text":1388,"config":1389},"Éducation",{"href":1390,"dataGaName":1391,"dataGaLocation":1239},"/fr-fr/solutions/education/","education",{"text":1393,"config":1394},"Services financiers",{"href":1395,"dataGaName":1396,"dataGaLocation":1239},"/fr-fr/solutions/finance/","financial services",{"title":948,"links":1398},[1399,1401,1403,1405,1408,1410,1413,1415,1417,1419,1421,1423,1425,1427],{"text":961,"config":1400},{"href":963,"dataGaName":964,"dataGaLocation":1239},{"text":966,"config":1402},{"href":968,"dataGaName":969,"dataGaLocation":1239},{"text":971,"config":1404},{"href":973,"dataGaName":974,"dataGaLocation":1239},{"text":976,"config":1406},{"href":978,"dataGaName":1407,"dataGaLocation":1239},"docs",{"text":999,"config":1409},{"href":1001,"dataGaName":1002,"dataGaLocation":1239},{"text":1411,"config":1412},"Nouveautés",{"href":1058,"dataGaName":1059,"dataGaLocation":1239},{"text":994,"config":1414},{"href":996,"dataGaName":997,"dataGaLocation":1239},{"text":1013,"config":1416},{"href":1015,"dataGaName":1016,"dataGaLocation":1239},{"text":1021,"config":1418},{"href":1023,"dataGaName":1024,"dataGaLocation":1239},{"text":1026,"config":1420},{"href":1028,"dataGaName":1029,"dataGaLocation":1239},{"text":1031,"config":1422},{"href":1033,"dataGaName":786,"dataGaLocation":1239},{"text":1035,"config":1424},{"href":1037,"dataGaName":1038,"dataGaLocation":1239},{"text":1040,"config":1426},{"href":1042,"dataGaName":1043,"dataGaLocation":1239},{"text":1045,"config":1428},{"href":1047,"dataGaName":1048,"dataGaLocation":1239},{"title":1061,"links":1430},[1431,1433,1435,1437,1439,1441,1446,1451,1453,1455,1457],{"text":1069,"config":1432},{"href":1071,"dataGaName":1063,"dataGaLocation":1239},{"text":1074,"config":1434},{"href":1076,"dataGaName":1077,"dataGaLocation":1239},{"text":1082,"config":1436},{"href":1084,"dataGaName":1085,"dataGaLocation":1239},{"text":1087,"config":1438},{"href":1089,"dataGaName":1090,"dataGaLocation":1239},{"text":1092,"config":1440},{"href":1094,"dataGaName":1095,"dataGaLocation":1239},{"text":1442,"config":1443},"Développement durable",{"href":1444,"dataGaName":1445,"dataGaLocation":1239},"/sustainability/","Sustainability",{"text":1447,"config":1448},"Diversité, inclusion et appartenance (DIB)",{"href":1449,"dataGaName":1450,"dataGaLocation":1239},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":1097,"config":1452},{"href":1099,"dataGaName":1100,"dataGaLocation":1239},{"text":1107,"config":1454},{"href":1109,"dataGaName":1110,"dataGaLocation":1239},{"text":1112,"config":1456},{"href":1114,"dataGaName":1115,"dataGaLocation":1239},{"text":1458,"config":1459},"Déclaration de transparence sur l'esclavage moderne",{"href":1460,"dataGaName":1461,"dataGaLocation":1239},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1463},[1464,1466,1468],{"text":1287,"config":1465},{"href":1289,"dataGaName":1290,"dataGaLocation":1239},{"text":1297,"config":1467},{"dataGaName":1299,"dataGaLocation":1239,"id":1300,"isOneTrustButton":779},{"text":1292,"config":1469},{"href":1294,"dataGaName":1295,"dataGaLocation":1239},[1471,1485],{"id":1472,"title":7,"body":775,"config":1473,"content":1475,"description":775,"extension":1479,"meta":1480,"navigation":779,"path":1481,"seo":1482,"stem":1483,"__hash__":1484},"blogAuthors/en-us/blog/authors/lee-tickett.yml",{"template":1474},"BlogAuthor",{"name":7,"config":1476},{"headshot":1477,"ctfId":1478},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1752592356/ibeixykxeiey9aiebylt.png","leetickett","yml",{},"/en-us/blog/authors/lee-tickett",{},"en-us/blog/authors/lee-tickett","pjnpw0lMQmdffRTIj30HBAHqTEvadkz2cw3rJyXrG5I",{"id":1486,"title":8,"body":775,"config":1487,"content":1489,"description":775,"extension":1479,"meta":1492,"navigation":779,"path":1493,"seo":1494,"stem":1495,"__hash__":1496},"blogAuthors/en-us/blog/authors/daniel-murphy.yml",{"template":1474,"gitlabHandle":1488},"daniel-murphy",{"name":8,"config":1490},{"headshot":1491},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1752519199/fabr89uottv7n6r2jldp.png",{},"/en-us/blog/authors/daniel-murphy",{},"en-us/blog/authors/daniel-murphy","qJWhsvh9LVdEz9CQLrXqn24UzGzlgEfS1_fV-8C9O9I",[1498,1506,1514],{"title":1499,"description":1500,"heroImage":1501,"category":771,"date":1502,"authors":1503,"slug":1505,"externalUrl":775},"Nouveautés de Git 2.55.0","Découvrez les nouveautés de Git 2.55 : commande fixup de git-history(1), daemon fsmonitor pour Linux, push vers des groupes de dépôts distants et plus encore.","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1782732487/ztwgrvlolpifo01vj8qc.png","2026-07-01",[1504],"Toon Claes","whats-new-in-git-2-55-0",{"title":1507,"description":1508,"heroImage":1509,"category":771,"date":1510,"authors":1511,"slug":1513,"externalUrl":775},"Nouveautés de Git 2.54.0","Découvrez les contributions à cette release de Git 2.54.0, notamment la nouvelle maintenance des dépôts, une nouvelle commande pour modifier l'historique des commits, le remplacement de git-sizer(1) et plus encore.","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1776711651/sj7xxyyuimlarswbyft5.png","2026-04-27",[1512],"Patrick Steinhardt","whats-new-in-git-2-54-0",{"title":1515,"description":1516,"heroImage":1517,"category":771,"date":1518,"authors":1519,"slug":1521,"externalUrl":775},"GitLab AI Hackathon 2026 : découvrez les gagnants","Près de 7 000 développeurs ont créé plus de 600 agents et flows d'IA sur GitLab Duo Agent Platform. Découvrez les gagnants et leurs projets.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1776457632/llddiylsgwuze0u1rjks.png","2026-04-22",[1520],"Nick Veenhof","gitlab-ai-hackathon-2026-meet-the-winners",{"promotions":1523},[1524,1538,1549,1561],{"id":1525,"categories":1526,"header":1528,"text":1529,"button":1530,"image":1535},"ai-modernization",[1527],"ai","L'IA tient-elle ses promesses à grande échelle ?","Le questionnaire ne prendra pas plus de 5 minutes.",{"text":1531,"config":1532},"Obtenez votre score de maturité IA",{"href":1533,"dataGaName":1534,"dataGaLocation":1002},"/fr-fr/assessments/ai-modernization-assessment/","modernization assessment",{"config":1536},{"src":1537},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1539,"categories":1540,"header":1541,"text":1529,"button":1542,"image":1546},"devops-modernization",[787,1338],"Vous contentez-vous de gérer des outils ou de livrer des innovations ?",{"text":1543,"config":1544},"Obtenez votre score de maturité DevOps",{"href":1545,"dataGaName":1534,"dataGaLocation":1002},"/fr-fr/assessments/devops-modernization-assessment/",{"config":1547},{"src":1548},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1550,"categories":1551,"header":1553,"text":1529,"button":1554,"image":1558},"security-modernization",[1552],"security","Faut-il sacrifier la rapidité pour garantir la sécurité ?",{"text":1555,"config":1556},"Obtenez votre score de maturité en matière de sécurité",{"href":1557,"dataGaName":1534,"dataGaLocation":1002},"/fr-fr/assessments/security-modernization-assessment/",{"config":1559},{"src":1560},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1562,"paths":1563,"header":1566,"text":1567,"button":1568,"image":1573},"github-azure-migration",[1564,1565],"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":1569,"config":1570},"Découvrez les différences entre GitLab et GitHub",{"href":1571,"dataGaName":1572,"dataGaLocation":1002},"/fr-fr/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1574},{"src":1548},{"header":1576,"blurb":1577,"button":1578,"secondaryButton":1582},"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":797,"config":1579},{"href":1580,"dataGaName":800,"dataGaLocation":1581},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/fr-fr/","feature",{"text":1124,"config":1583},{"href":1126,"dataGaName":805,"dataGaLocation":1581},1786803784762]