[{"data":1,"prerenderedAt":1623},["ShallowReactive",2],{"/en-us/blog/tags/features/":3,"navigation-fr-fr":19,"banner-fr-fr":440,"footer-fr-fr":453,"features-tag-page-fr-fr":665},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"content":8,"config":10,"_id":12,"_type":13,"title":14,"_source":15,"_file":16,"_stem":17,"_extension":18},"/en-us/blog/tags/features","tags",false,"",{"tag":9,"tagSlug":9},"features",{"template":11},"BlogTag","content:en-us:blog:tags:features.yml","yaml","Features","content","en-us/blog/tags/features.yml","en-us/blog/tags/features","yml",{"_path":20,"_dir":21,"_draft":6,"_partial":6,"_locale":7,"data":22,"_id":436,"_type":13,"title":437,"_source":15,"_file":438,"_stem":439,"_extension":18},"/shared/fr-fr/main-navigation","fr-fr",{"logo":23,"freeTrial":28,"sales":33,"login":38,"items":43,"search":377,"minimal":413,"duo":427},{"config":24},{"href":25,"dataGaName":26,"dataGaLocation":27},"/fr-fr/","gitlab logo","header",{"text":29,"config":30},"Commencer un essai gratuit",{"href":31,"dataGaName":32,"dataGaLocation":27},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":34,"config":35},"Contacter l'équipe commerciale",{"href":36,"dataGaName":37,"dataGaLocation":27},"/fr-fr/sales/","sales",{"text":39,"config":40},"Connexion",{"href":41,"dataGaName":42,"dataGaLocation":27},"https://gitlab.com/users/sign_in/","sign in",[44,88,187,192,298,358],{"text":45,"config":46,"cards":48,"footer":71},"Plateforme",{"dataNavLevelOne":47},"platform",[49,55,63],{"title":45,"description":50,"link":51},"La plateforme DevSecOps alimentée par l'IA la plus complète",{"text":52,"config":53},"Découvrir notre plateforme",{"href":54,"dataGaName":47,"dataGaLocation":27},"/fr-fr/platform/",{"title":56,"description":57,"link":58},"GitLab Duo (IA)","Créez des logiciels plus rapidement en tirant parti de l'IA à chaque étape du développement",{"text":59,"config":60},"Découvrez GitLab Duo",{"href":61,"dataGaName":62,"dataGaLocation":27},"/fr-fr/gitlab-duo/","gitlab duo ai",{"title":64,"description":65,"link":66},"Choisir GitLab","10 raisons pour lesquelles les entreprises choisissent GitLab",{"text":67,"config":68},"En savoir plus",{"href":69,"dataGaName":70,"dataGaLocation":27},"/fr-fr/why-gitlab/","why gitlab",{"title":72,"items":73},"Démarrer avec",[74,79,84],{"text":75,"config":76},"Ingénierie de plateforme",{"href":77,"dataGaName":78,"dataGaLocation":27},"/fr-fr/solutions/platform-engineering/","platform engineering",{"text":80,"config":81},"Expérience développeur",{"href":82,"dataGaName":83,"dataGaLocation":27},"/fr-fr/developer-experience/","Developer experience",{"text":85,"config":86},"MLOps",{"href":87,"dataGaName":85,"dataGaLocation":27},"/fr-fr/topics/devops/the-role-of-ai-in-devops/",{"text":89,"left":90,"config":91,"link":93,"lists":97,"footer":169},"Produit",true,{"dataNavLevelOne":92},"solutions",{"text":94,"config":95},"Voir toutes les solutions",{"href":96,"dataGaName":92,"dataGaLocation":27},"/fr-fr/solutions/",[98,124,147],{"title":99,"description":100,"link":101,"items":106},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":102},{"icon":103,"href":104,"dataGaName":105,"dataGaLocation":27},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[107,111,115,120],{"text":108,"config":109},"CI/CD",{"href":110,"dataGaLocation":27,"dataGaName":108},"/fr-fr/solutions/continuous-integration/",{"text":112,"config":113},"Développement assisté par l'IA",{"href":61,"dataGaLocation":27,"dataGaName":114},"AI assisted development",{"text":116,"config":117},"Gestion du code source",{"href":118,"dataGaLocation":27,"dataGaName":119},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":121,"config":122},"Livraison de logiciels automatisée",{"href":104,"dataGaLocation":27,"dataGaName":123},"Automated software delivery",{"title":125,"description":126,"link":127,"items":132},"Securité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":128},{"href":129,"dataGaName":130,"dataGaLocation":27,"icon":131},"/fr-fr/solutions/security-compliance/","security and compliance","ShieldCheckLight",[133,138,143],{"text":134,"config":135},"Application Security Testing",{"href":136,"dataGaName":137,"dataGaLocation":27},"/solutions/application-security-testing/","Application security testing",{"text":139,"config":140},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":141,"dataGaLocation":27,"dataGaName":142},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":144,"config":145},"Software Compliance",{"href":146,"dataGaName":144,"dataGaLocation":27},"/solutions/software-compliance/",{"title":148,"link":149,"items":154},"Mesures",{"config":150},{"icon":151,"href":152,"dataGaName":153,"dataGaLocation":27},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[155,159,164],{"text":156,"config":157},"Visibilité et mesures",{"href":152,"dataGaLocation":27,"dataGaName":158},"Visibility and Measurement",{"text":160,"config":161},"Gestion de la chaîne de valeur",{"href":162,"dataGaLocation":27,"dataGaName":163},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":165,"config":166},"Données d'analyse et informations clés",{"href":167,"dataGaLocation":27,"dataGaName":168},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":170,"items":171},"GitLab pour",[172,177,182],{"text":173,"config":174},"Entreprises",{"href":175,"dataGaLocation":27,"dataGaName":176},"/fr-fr/enterprise/","enterprise",{"text":178,"config":179},"PME",{"href":180,"dataGaLocation":27,"dataGaName":181},"/fr-fr/small-business/","small business",{"text":183,"config":184},"Secteur public",{"href":185,"dataGaLocation":27,"dataGaName":186},"/fr-fr/solutions/public-sector/","public sector",{"text":188,"config":189},"Tarifs",{"href":190,"dataGaName":191,"dataGaLocation":27,"dataNavLevelOne":191},"/fr-fr/pricing/","pricing",{"text":193,"config":194,"link":196,"lists":200,"feature":285},"Ressources",{"dataNavLevelOne":195},"resources",{"text":197,"config":198},"Afficher toutes les ressources",{"href":199,"dataGaName":195,"dataGaLocation":27},"/fr-fr/resources/",[201,234,257],{"title":202,"items":203},"Premiers pas",[204,209,214,219,224,229],{"text":205,"config":206},"Installation",{"href":207,"dataGaName":208,"dataGaLocation":27},"/fr-fr/install/","install",{"text":210,"config":211},"Guides de démarrage rapide",{"href":212,"dataGaName":213,"dataGaLocation":27},"/fr-fr/get-started/","quick setup checklists",{"text":215,"config":216},"Apprentissage",{"href":217,"dataGaLocation":27,"dataGaName":218},"https://university.gitlab.com/","learn",{"text":220,"config":221},"Documentation sur le produit",{"href":222,"dataGaName":223,"dataGaLocation":27},"https://docs.gitlab.com/","product documentation",{"text":225,"config":226},"Vidéos sur les bonnes pratiques",{"href":227,"dataGaName":228,"dataGaLocation":27},"/fr-fr/getting-started-videos/","best practice videos",{"text":230,"config":231},"Intégrations",{"href":232,"dataGaName":233,"dataGaLocation":27},"/fr-fr/integrations/","integrations",{"title":235,"items":236},"Découvrir",[237,242,247,252],{"text":238,"config":239},"Histoires de succès client",{"href":240,"dataGaName":241,"dataGaLocation":27},"/fr-fr/customers/","customer success stories",{"text":243,"config":244},"Blog",{"href":245,"dataGaName":246,"dataGaLocation":27},"/fr-fr/blog/","blog",{"text":248,"config":249},"Travail à distance",{"href":250,"dataGaName":251,"dataGaLocation":27},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":253,"config":254},"TeamOps",{"href":255,"dataGaName":256,"dataGaLocation":27},"/fr-fr/teamops/","teamops",{"title":258,"items":259},"Connecter",[260,265,270,275,280],{"text":261,"config":262},"Services GitLab",{"href":263,"dataGaName":264,"dataGaLocation":27},"/fr-fr/services/","services",{"text":266,"config":267},"Communauté",{"href":268,"dataGaName":269,"dataGaLocation":27},"/community/","community",{"text":271,"config":272},"Forum",{"href":273,"dataGaName":274,"dataGaLocation":27},"https://forum.gitlab.com/","forum",{"text":276,"config":277},"Événements",{"href":278,"dataGaName":279,"dataGaLocation":27},"/events/","events",{"text":281,"config":282},"Partenaires",{"href":283,"dataGaName":284,"dataGaLocation":27},"/fr-fr/partners/","partners",{"backgroundColor":286,"textColor":287,"text":288,"image":289,"link":293},"#2f2a6b","#fff","L'avenir du développement logiciel. Tendances et perspectives.",{"altText":290,"config":291},"carte promo The Source",{"src":292},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":294,"config":295},"Lire les articles les plus récents",{"href":296,"dataGaName":297,"dataGaLocation":27},"/fr-fr/the-source/","the source",{"text":299,"config":300,"lists":302},"Société",{"dataNavLevelOne":301},"company",[303],{"items":304},[305,310,316,318,323,328,333,338,343,348,353],{"text":306,"config":307},"À propos",{"href":308,"dataGaName":309,"dataGaLocation":27},"/fr-fr/company/","about",{"text":311,"config":312,"footerGa":315},"Emplois",{"href":313,"dataGaName":314,"dataGaLocation":27},"/jobs/","jobs",{"dataGaName":314},{"text":276,"config":317},{"href":278,"dataGaName":279,"dataGaLocation":27},{"text":319,"config":320},"Leadership",{"href":321,"dataGaName":322,"dataGaLocation":27},"/company/team/e-group/","leadership",{"text":324,"config":325},"Équipe",{"href":326,"dataGaName":327,"dataGaLocation":27},"/company/team/","team",{"text":329,"config":330},"Manuel",{"href":331,"dataGaName":332,"dataGaLocation":27},"https://handbook.gitlab.com/","handbook",{"text":334,"config":335},"Relations avec les investisseurs",{"href":336,"dataGaName":337,"dataGaLocation":27},"https://ir.gitlab.com/","investor relations",{"text":339,"config":340},"Centre de confiance",{"href":341,"dataGaName":342,"dataGaLocation":27},"/fr-fr/security/","trust center",{"text":344,"config":345},"Centre pour la transparence de l'IA",{"href":346,"dataGaName":347,"dataGaLocation":27},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":349,"config":350},"Newsletter",{"href":351,"dataGaName":352,"dataGaLocation":27},"/company/contact/","newsletter",{"text":354,"config":355},"Presse",{"href":356,"dataGaName":357,"dataGaLocation":27},"/press/","press",{"text":359,"config":360,"lists":361},"Nous contacter",{"dataNavLevelOne":301},[362],{"items":363},[364,367,372],{"text":34,"config":365},{"href":36,"dataGaName":366,"dataGaLocation":27},"talk to sales",{"text":368,"config":369},"Aide",{"href":370,"dataGaName":371,"dataGaLocation":27},"/support/","get help",{"text":373,"config":374},"Portail clients GitLab",{"href":375,"dataGaName":376,"dataGaLocation":27},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":378,"login":379,"suggestions":386},"Fermer",{"text":380,"link":381},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":382,"config":383},"gitlab.com",{"href":41,"dataGaName":384,"dataGaLocation":385},"search login","search",{"text":387,"default":388},"Suggestions",[389,392,397,399,404,409],{"text":56,"config":390},{"href":61,"dataGaName":391,"dataGaLocation":385},"GitLab Duo (AI)",{"text":393,"config":394},"Suggestions de code (IA)",{"href":395,"dataGaName":396,"dataGaLocation":385},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":108,"config":398},{"href":110,"dataGaName":108,"dataGaLocation":385},{"text":400,"config":401},"GitLab sur AWS",{"href":402,"dataGaName":403,"dataGaLocation":385},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":405,"config":406},"GitLab sur Google Cloud ",{"href":407,"dataGaName":408,"dataGaLocation":385},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":410,"config":411},"Pourquoi utiliser GitLab ?",{"href":69,"dataGaName":412,"dataGaLocation":385},"Why GitLab?",{"freeTrial":414,"mobileIcon":419,"desktopIcon":424},{"text":415,"config":416},"Commencer votre essai gratuit",{"href":417,"dataGaName":32,"dataGaLocation":418},"https://gitlab.com/-/trials/new/","nav",{"altText":420,"config":421},"Icône GitLab",{"src":422,"dataGaName":423,"dataGaLocation":418},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":420,"config":425},{"src":426,"dataGaName":423,"dataGaLocation":418},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"freeTrial":428,"mobileIcon":432,"desktopIcon":434},{"text":429,"config":430},"En savoir plus sur GitLab Duo",{"href":61,"dataGaName":431,"dataGaLocation":418},"gitlab duo",{"altText":420,"config":433},{"src":422,"dataGaName":423,"dataGaLocation":418},{"altText":420,"config":435},{"src":426,"dataGaName":423,"dataGaLocation":418},"content:shared:fr-fr:main-navigation.yml","Main Navigation","shared/fr-fr/main-navigation.yml","shared/fr-fr/main-navigation",{"_path":441,"_dir":21,"_draft":6,"_partial":6,"_locale":7,"title":442,"titleMobile":442,"button":443,"config":448,"_id":450,"_type":13,"_source":15,"_file":451,"_stem":452,"_extension":18},"/shared/fr-fr/banner","La plateforme GitLab Duo Agent est maintenant disponible en version bêta publique !",{"text":444,"config":445},"Essayer la version bêta",{"href":446,"dataGaName":447,"dataGaLocation":27},"/fr-fr/gitlab-duo/agent-platform/","duo banner",{"layout":449},"release","content:shared:fr-fr:banner.yml","shared/fr-fr/banner.yml","shared/fr-fr/banner",{"_path":454,"_dir":21,"_draft":6,"_partial":6,"_locale":7,"data":455,"_id":661,"_type":13,"title":662,"_source":15,"_file":663,"_stem":664,"_extension":18},"/shared/fr-fr/main-footer",{"text":456,"source":457,"edit":463,"contribute":468,"config":473,"items":478,"minimal":652},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence",{"text":458,"config":459},"Afficher le code source de la page",{"href":460,"dataGaName":461,"dataGaLocation":462},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":464,"config":465},"Modifier cette page",{"href":466,"dataGaName":467,"dataGaLocation":462},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":469,"config":470},"Veuillez contribuer",{"href":471,"dataGaName":472,"dataGaLocation":462},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":474,"facebook":475,"youtube":476,"linkedin":477},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[479,502,556,589,623],{"title":45,"links":480,"subMenu":485},[481],{"text":482,"config":483},"Plateforme DevSecOps",{"href":54,"dataGaName":484,"dataGaLocation":462},"devsecops platform",[486],{"title":188,"links":487},[488,492,497],{"text":489,"config":490},"Voir les forfaits",{"href":190,"dataGaName":491,"dataGaLocation":462},"view plans",{"text":493,"config":494},"Pourquoi choisir GitLab Premium ?",{"href":495,"dataGaName":496,"dataGaLocation":462},"/fr-fr/pricing/premium/","why premium",{"text":498,"config":499},"Pourquoi choisir GitLab Ultimate ?",{"href":500,"dataGaName":501,"dataGaLocation":462},"/fr-fr/pricing/ultimate/","why ultimate",{"title":503,"links":504},"Solutions",[505,510,513,515,520,525,529,532,535,540,542,544,546,551],{"text":506,"config":507},"Transformation digitale",{"href":508,"dataGaName":509,"dataGaLocation":462},"/fr-fr/topics/digital-transformation/","digital transformation",{"text":511,"config":512},"Sécurité et conformité",{"href":136,"dataGaName":137,"dataGaLocation":462},{"text":121,"config":514},{"href":104,"dataGaName":105,"dataGaLocation":462},{"text":516,"config":517},"Développement agile",{"href":518,"dataGaName":519,"dataGaLocation":462},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":521,"config":522},"Transformation cloud",{"href":523,"dataGaName":524,"dataGaLocation":462},"/fr-fr/topics/cloud-native/","cloud transformation",{"text":526,"config":527},"SCM",{"href":118,"dataGaName":528,"dataGaLocation":462},"source code management",{"text":108,"config":530},{"href":110,"dataGaName":531,"dataGaLocation":462},"continuous integration & delivery",{"text":160,"config":533},{"href":162,"dataGaName":534,"dataGaLocation":462},"value stream management",{"text":536,"config":537},"GitOps",{"href":538,"dataGaName":539,"dataGaLocation":462},"/fr-fr/solutions/gitops/","gitops",{"text":173,"config":541},{"href":175,"dataGaName":176,"dataGaLocation":462},{"text":178,"config":543},{"href":180,"dataGaName":181,"dataGaLocation":462},{"text":183,"config":545},{"href":185,"dataGaName":186,"dataGaLocation":462},{"text":547,"config":548},"Formation",{"href":549,"dataGaName":550,"dataGaLocation":462},"/fr-fr/solutions/education/","education",{"text":552,"config":553},"Services financiers",{"href":554,"dataGaName":555,"dataGaLocation":462},"/fr-fr/solutions/finance/","financial services",{"title":193,"links":557},[558,560,562,564,567,569,573,575,577,579,581,583,585,587],{"text":205,"config":559},{"href":207,"dataGaName":208,"dataGaLocation":462},{"text":210,"config":561},{"href":212,"dataGaName":213,"dataGaLocation":462},{"text":215,"config":563},{"href":217,"dataGaName":218,"dataGaLocation":462},{"text":220,"config":565},{"href":222,"dataGaName":566,"dataGaLocation":462},"docs",{"text":243,"config":568},{"href":245,"dataGaName":246},{"text":570,"config":571},"Histoires de réussite client",{"href":572,"dataGaLocation":462},"/customers/",{"text":238,"config":574},{"href":240,"dataGaName":241,"dataGaLocation":462},{"text":248,"config":576},{"href":250,"dataGaName":251,"dataGaLocation":462},{"text":261,"config":578},{"href":263,"dataGaName":264,"dataGaLocation":462},{"text":253,"config":580},{"href":255,"dataGaName":256,"dataGaLocation":462},{"text":266,"config":582},{"href":268,"dataGaName":269,"dataGaLocation":462},{"text":271,"config":584},{"href":273,"dataGaName":274,"dataGaLocation":462},{"text":276,"config":586},{"href":278,"dataGaName":279,"dataGaLocation":462},{"text":281,"config":588},{"href":283,"dataGaName":284,"dataGaLocation":462},{"title":299,"links":590},[591,593,595,597,599,601,603,607,612,614,616,618],{"text":306,"config":592},{"href":308,"dataGaName":301,"dataGaLocation":462},{"text":311,"config":594},{"href":313,"dataGaName":314,"dataGaLocation":462},{"text":319,"config":596},{"href":321,"dataGaName":322,"dataGaLocation":462},{"text":324,"config":598},{"href":326,"dataGaName":327,"dataGaLocation":462},{"text":329,"config":600},{"href":331,"dataGaName":332,"dataGaLocation":462},{"text":334,"config":602},{"href":336,"dataGaName":337,"dataGaLocation":462},{"text":604,"config":605},"Sustainability",{"href":606,"dataGaName":604,"dataGaLocation":462},"/sustainability/",{"text":608,"config":609},"Diversité, inclusion et appartenance (DIB)",{"href":610,"dataGaName":611,"dataGaLocation":462},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":339,"config":613},{"href":341,"dataGaName":342,"dataGaLocation":462},{"text":349,"config":615},{"href":351,"dataGaName":352,"dataGaLocation":462},{"text":354,"config":617},{"href":356,"dataGaName":357,"dataGaLocation":462},{"text":619,"config":620},"Déclaration de transparence sur l'esclavage moderne",{"href":621,"dataGaName":622,"dataGaLocation":462},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":359,"links":624},[625,628,630,632,637,642,647],{"text":626,"config":627},"Échanger avec un expert",{"href":36,"dataGaName":37,"dataGaLocation":462},{"text":368,"config":629},{"href":370,"dataGaName":371,"dataGaLocation":462},{"text":373,"config":631},{"href":375,"dataGaName":376,"dataGaLocation":462},{"text":633,"config":634},"Statut",{"href":635,"dataGaName":636,"dataGaLocation":462},"https://status.gitlab.com/","status",{"text":638,"config":639},"Conditions d'utilisation",{"href":640,"dataGaName":641},"/terms/","terms of use",{"text":643,"config":644},"Déclaration de confidentialité",{"href":645,"dataGaName":646,"dataGaLocation":462},"/fr-fr/privacy/","privacy statement",{"text":648,"config":649},"Préférences en matière de cookies",{"dataGaName":650,"dataGaLocation":462,"id":651,"isOneTrustButton":90},"cookie preferences","ot-sdk-btn",{"items":653},[654,656,659],{"text":638,"config":655},{"href":640,"dataGaName":641,"dataGaLocation":462},{"text":657,"config":658},"Politique de confidentialité",{"href":645,"dataGaName":646,"dataGaLocation":462},{"text":648,"config":660},{"dataGaName":650,"dataGaLocation":462,"id":651,"isOneTrustButton":90},"content:shared:fr-fr:main-footer.yml","Main Footer","shared/fr-fr/main-footer.yml","shared/fr-fr/main-footer",{"allPosts":666,"featuredPost":1601,"totalPagesCount":1621,"initialPosts":1622},[667,697,716,738,758,783,803,825,850,874,897,920,942,964,985,1006,1027,1048,1068,1087,1108,1129,1150,1171,1191,1213,1233,1253,1275,1295,1315,1336,1355,1376,1396,1416,1437,1454,1475,1496,1516,1537,1557,1579],{"_path":668,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":669,"content":676,"config":690,"_id":693,"_type":13,"title":694,"_source":15,"_file":695,"_stem":696,"_extension":18},"/fr-fr/blog/accelerate-code-reviews-with-gitlab-duo-and-amazon-q",{"ogTitle":670,"ogImage":671,"ogDescription":672,"ogSiteName":673,"noIndex":6,"ogType":674,"ogUrl":675,"title":670,"canonicalUrls":675,"description":672},"GitLab Duo combiné à Amazon Q : optimisez vos revues de code","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750096976/Blog/Hero%20Images/Blog/Hero%20Images/Screenshot%202024-11-27%20at%204.55.28%E2%80%AFPM_4VVz6DgGBOvbGY8BUmd068_1750096975734.png","Découvrez comment optimiser vos revues de code avec des agents d’IA capables d’analyser et de corriger vos merge requests.","https://about.gitlab.com","article","https://about.gitlab.com/blog/accelerate-code-reviews-with-gitlab-duo-and-amazon-q",{"title":670,"description":677,"authors":678,"heroImage":671,"date":680,"body":681,"category":682,"tags":683},"Découvrez comment optimiser vos revues de code avec des agents d’IA capables d'analyser automatiquement vos merge requests et de vous fournir des commentaires complets sur les bogues, la lisibilité et les normes de codage.",[679],"Cesar Saavedra","2025-06-27","Les revues de code sont essentielles pour détecter les bogues, améliorer la lisibilité du code et garantir le respect des normes de codage. Elles peuvent toutefois constituer un goulot d'étranglement majeur qui ralentit votre workflow. Lorsque vous devez livrer rapidement des fonctionnalités, attendre que plusieurs membres de l'équipe examinent votre code peut vite devenir une source de frustration. Entre les discussions interminables, les conflits de calendrier et le temps nécessaire pour que tout le monde soit sur la même longueur d'onde, une revue de code simple peut facilement s'étendre sur plusieurs jours, voire plusieurs semaines.\n\nAvec [GitLab Duo combiné à Amazon Q](https://about.gitlab.com/fr-fr/blog/gitlab-duo-with-amazon-q-agentic-ai-optimized-for-aws/), ce scénario appartient maintenant au passé. Notre nouvel outil d'[IA agentique](https://about.gitlab.com/fr-fr/topics/agentic-ai/ \"Qu'est-ce que l'IA agentique ?\") dédié aux clients AWS intervient à chaque étape du cycle de développement logiciel pour effectuer une revue complète de votre code en une fraction du temps qu'il vous faudrait, à vous et vos collègues. En tirant parti des capacités avancées de l'IA agentique, GitLab Duo combiné à Amazon Q rationalise l'ensemble de votre workflow de revue de code et maintient la qualité et la rigueur dont votre équipe a besoin. Vous disposez ainsi d'un relecteur expérimenté et disponible à tout moment, capable d'analyser instantanément votre code, de détecter les problèmes et de fournir des recommandations pertinentes et exploitables.\n\n## Lancement d'une revue de code\n\nComment fonctionne GitLab Duo combiné à Amazon Q ? Imaginons que vous venez de finaliser la mise à jour d'une fonctionnalité via une merge request répertoriant toutes les modifications que vous avez apportées au code. Au lieu de contacter vos collègues et d'attendre qu'ils soient disponibles pour relire votre travail, il vous suffit de saisir une commande rapide directement dans les commentaires : « /q review ». Cette commande suffit pour que l’IA entre en action. \n\n![Déclenchement d'une revue de code à l'aide de GitLab Duo combiné à Amazon Q](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097002/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097002096.png)\n\nL'agent Amazon Q s'active immédiatement et analyse vos modifications. Un message de confirmation vous indique que la revue de code est en cours et, en quelques instants, l'IA examine votre travail ligne par ligne, à la recherche d'erreurs, de bogues et d'anomalies potentiels.\n\nUne fois la revue de code terminée, vous recevez des commentaires détaillés qui couvrent tous les points critiques, conformément aux standards de votre équipe en matière de codage : détection de bogues, amélioration de la lisibilité, erreurs de syntaxe. Chaque retour de l'agent d'IA est contextualisé, avec des suggestions précises pour résoudre ces problèmes. Il vous aide à comprendre facilement ce qui nécessite votre attention et pourquoi.\n\nL'intérêt de cette approche basée sur l'IA agentique est qu'elle gère tous les aspects fastidieux de la revue de code afin que vous puissiez vous concentrer sur ce qui compte le plus : créer des logiciels performants. Vous bénéficiez des avantages d'une revue de code approfondie (détection des bogues améliorée, cohérence du code et code de meilleure qualité) sans perdre de temps. Vos délais de déploiement s'en trouvent considérablement réduits, car vous n'avez plus à patienter pour votre revue de code. Toute votre équipe gagne ainsi en productivité.\n\n## Pourquoi utiliser GitLab Duo combiné à Amazon Q ?\n\nGitLab Duo combiné à Amazon Q transforme votre workflow de développement en profondeur :\n\n* Des revues de code ultra-rapides, sans compromis sur la qualité\n* Une application cohérente des normes sur l'ensemble de votre code source\n* Des commentaires instantanés pour résoudre les problèmes avant qu'ils n'atteignent l'environnement de production\n* Des délais de déploiement réduits pour livrer de nouvelles fonctionnalités, plus rapidement\n* Plus de temps pour se concentrer sur la résolution créative des problèmes plutôt que sur des revues de code répétitives\n\nRegardez cette vidéo et découvrez comment GitLab Duo combiné à Amazon Q peut optimiser votre processus de revue de code :\n\n\u003C!-- blank line --> \u003Cfigure class=\"video_container\"> \u003Ciframe src=\"https://www.youtube.com/embed/4gFIgyFc02Q?si=GXVz--AIrWiwzf-I\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe> \u003C/figure> \u003C!-- blank line -->\n\nPour en savoir plus sur GitLab Duo combiné à Amazon Q, [contactez votre représentant GitLab](https://about.gitlab.com/fr-fr/partners/technology-partners/aws/).","ai-ml",[684,685,686,687,9,284,688,689],"AI/ML","DevSecOps platform","code review","product","AWS","tutorial",{"featured":6,"template":691,"slug":692},"BlogPost","accelerate-code-reviews-with-gitlab-duo-and-amazon-q","content:fr-fr:blog:accelerate-code-reviews-with-gitlab-duo-and-amazon-q.yml","Accelerate Code Reviews With Gitlab Duo And Amazon Q","fr-fr/blog/accelerate-code-reviews-with-gitlab-duo-and-amazon-q.yml","fr-fr/blog/accelerate-code-reviews-with-gitlab-duo-and-amazon-q",{"_path":698,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":699,"content":703,"config":710,"_id":712,"_type":13,"title":713,"_source":15,"_file":714,"_stem":715,"_extension":18},"/fr-fr/blog/ai-native-gitlab-premium-transform-higher-education-software-development",{"noIndex":6,"title":700,"ogTitle":700,"description":701,"ogDescription":701,"ogImage":702},"GitLab Premium et l’IA : au cœur de l'enseignement supérieur","La plateforme DevSecOps facilite les workflows, la protection des données, le support, la collaboration, la sécurité et la productivité au niveau universitaire.\n","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,w_820,h_500,c_lfill/v1749659537/Blog/Hero%20Images/display-article-image-0679-1800x945-fy26.png",{"title":700,"description":701,"authors":704,"heroImage":702,"date":707,"category":687,"tags":708,"body":709},[705,706],"Jessica Hurwitz","Elisabeth Burrows","2025-07-07",[550,687,9,186],"Les établissements d'enseignement supérieur s'appuient de plus en plus sur des pratiques modernes de développement logiciel dans leurs missions pédagogiques, leurs activités de recherche et la gestion de leurs infrastructures. Face à des besoins en développement logiciel de plus en plus complexes, GitLab Premium avec [GitLab Duo](https://about.gitlab.com/gitlab-duo/ \"Qu'est-ce que GitLab Duo ?\") fournit des fonctionnalités essentielles qui répondent aux défis spécifiques du secteur universitaire, notamment en matière de développement [open source](https://about.gitlab.com/fr-fr/blog/what-is-open-source/ \"Qu'est-ce que l'open source ?\"), de collaboration à distance et de sécurité globale.\n\nLa plateforme DevSecOps complète alimentée par l'IA de GitLab offre des fonctionnalités qui vont bien au-delà du simple [contrôle de version](https://about.gitlab.com/fr-fr/topics/version-control/ \"Qu'est-ce que le contrôle de version ?\"). Basée sur une architecture open source et dotée de fonctionnalités avancées, GitLab Premium permet de prévenir les incidents de sécurité coûteux impliquant des données sensibles d'étudiants, propose des environnements de développement cloud accessibles aux équipes situées à différents emplacements géographiques et offre une assistance professionnelle adaptée aux systèmes critiques des établissements d'enseignement. [GitLab Premium inclut à présent le chat et les suggestions de code, des fonctionnalités d'IA clés de GitLab Duo](https://about.gitlab.com/fr-fr/blog/gitlab-premium-with-duo/), et ce sans frais supplémentaires.\n\n## Les particularités du développement logiciel dans l'enseignement supérieur\n\nLes universités et les établissements d'enseignement supérieur opèrent dans un environnement technique particulièrement complexe. Les équipes de développement doivent faciliter une collaboration multidisciplinaire entre les services techniques et non techniques, tout en gérant de grandes quantités de données sensibles (dossiers des étudiants, informations financières, résultats de recherche, évaluations des professeurs).\n\nLa plupart des établissements doivent travailler avec des ressources informatiques limitées et prendre en charge simultanément des milliers d'utilisateurs participant à un grand nombre de projets et d'initiatives de recherche. L'intégrité exigée dans le cadre de la recherche ajoute un niveau supplémentaire de complexité, car le travail de développement doit souvent adhérer à des normes de traçabilité et de reproductibilité.\n\n## Les fonctionnalités de GitLab Premium pour l'éducation\n\nGitLab Premium avec GitLab Duo offre les fonctionnalités dont l'enseignement supérieur a besoin.\n\n### Amélioration de la collaboration et capacités de workflow\n\nLes projets qui impliquent différents services sont courants dans le secteur universitaire, qu'il s'agisse d'initiatives de recherche interdisciplinaire ou du développement de modules personnalisés pour des systèmes d'ERP. Ces projets complexes nécessitent une gestion sophistiquée des workflows qui ne se limite pas uniquement au simple contrôle de version.\n\nGitLab Premium répond à ces défis en offrant des fonctionnalités de collaboration et de visualisation de projet, notamment des epics, des roadmaps et des tableaux Kanban avancés pour les workflows de développement Agile. En attribuant plusieurs approbateurs à certaines merge requests et branches protégées, vous garantissez une meilleure qualité du code et une plus grande responsabilisation des équipes. Ces outils permettent aux établissements de coordonner les travaux entre les différents services, tout en s'assurant que ces efforts sont alignés sur les objectifs globaux de l'institution. Il s'agit d'une condition essentielle pour gérer efficacement des initiatives technologiques qui se déroulent en plusieurs étapes à l'échelle du campus.\n\nEn Australie, l'équipe Digital Enablement de l'Université Deakin utilise GitLab pour créer des processus standardisés et des templates réutilisables (templates de merge request personnalisés, pipelines de compilation basés sur un template, framework de sécurité et de conformité) qu'elle partage avec la communauté universitaire et les développeurs citoyens. Cette approche favorise l'innovation et renforce la collaboration à la fois au sein de l'université et avec ses partenaires stratégiques. « Nous voulions depuis longtemps créer une communauté et l'aider à se développer, mais sans succès, jusqu'à l'adoption de cet outil », confie Aaron Whitehand, Director of Digital Enablement à l'Université Deakin.\n\n**Découvrez comment l'[Université Deakin](https://about.gitlab.com/customers/deakin-university/) utilise GitLab pour renforcer la collaboration et la productivité, notamment grâce à une réduction de 60 % des tâches manuelles.**\n\n### Protection et gouvernance avancées des données\n\nLes établissements d'enseignement génèrent et gèrent des quantités considérables de données (dossiers des étudiants, informations financières, résultats de recherche, évaluations des professeurs, et bien plus encore). La sécurité de ces informations est un enjeu majeur. La [faille de sécurité MOVEit](https://universitybusiness.com/in-just-3-months-this-data-breach-has-compromised-nearly-900-institutions/) de 2023, qui a duré trois mois et compromis environ 900 établissements d'enseignement, a exposé les informations sensibles de plus de 62 millions de personnes. Cet exemple illustre l'importance cruciale d'intégrer des mesures de sécurité proactives directement dans les workflows de développement dans ce secteur.\n\nLe scanning des vulnérabilités bloque les sorties de nouvelles versions de code qui contiennent des risques de sécurité afin de permettre aux établissements de mettre en place et de faire respecter des protocoles de gouvernance qui protègent ces données sensibles. Cette fonctionnalité aide les universités à mettre en œuvre des contrôles d'accès et des structures d'autorisation adaptés aux bases de données de recherche. Ce framework sécurisé garantit que seuls les chercheurs autorisés disposent des droits d'accès nécessaires et assure une protection stricte sans entraver la collaboration entre les différentes équipes.\n\nLa plateforme de GitLab est conçue dès le départ pour garantir la sécurité de votre code source. Les dépôts [Git](https://about.gitlab.com/fr-fr/blog/what-is-git/ \"Qu'est-ce que Git ?\") évolutifs, des contrôles d'accès granulaires et des fonctionnalités de conformité intégrées éliminent les goulots d'étranglement dans votre workflow tout en répondant aux exigences de sécurité. GitLab Premium fournit des fonctionnalités de suivi des audits et de conformité essentielles, particulièrement adaptés aux environnements éducatifs. Les pistes d'audit complètes consignent sous forme de logs l'ensemble des modifications apportées au code, les tentatives d'accès et les modifications du système, en incluant les horodatages ainsi que les utilisateurs concernés. La documentation exhaustive sur la gestion des modifications garantit une traçabilité optimale (auteur, date et motif), essentielle pour garantir l'intégrité de la recherche. Quant à l'audit du contrôle d'accès, il permet de surveiller l'accès au dépôt et les changements d'autorisations.\n\n### Développement cloud et collaboration à distance\n\nLes établissements d'enseignement modernes requièrent des environnements de développement flexibles, adaptés aux besoins des équipes situées à différents emplacements géographiques, aux scénarios d'apprentissage à distance et aux diverses exigences techniques. \n\nGitLab Premium offre donc les avantages suivants :\n\n* [Workspaces GitLab](https://docs.gitlab.com/user/workspace/) : environnements de développement cloud accessibles depuis n'importe quel appareil\n* [Intégration au Web IDE](https://docs.gitlab.com/user/project/web_ide/) : codage basé sur le navigateur avec une intégration complète des fonctionnalités de GitLab\n* [Développement conteneurisé](https://about.gitlab.com/blog/build-and-run-containers-in-remote-development-workspaces/) : environnements de développement cohérents et reproductibles, quelle que soit la nature du projet ou le groupe d'utilisateurs\n\nCes fonctionnalités sont particulièrement utiles pour prendre en charge les modèles d'apprentissage à distance et hybrides. Elles permettent aux étudiants et aux chercheurs d'accéder à des environnements de développement standardisés, indépendamment de leur emplacement physique ou des contraintes matérielles locales.\n\n### Assistance professionnelle pour les systèmes critiques\n\nLes petites équipes informatiques des établissements d'enseignement prennent souvent en charge des infrastructures importantes et complexes avec des ressources minimales. Elles doivent parfois s'appuyer sur des forums communautaires, mais la fiabilité des réponses n'est pas toujours garantie. Par ailleurs, cette approche n'est pas efficace pour les structures de grande envergure. C'est pourquoi GitLab Premium inclut une assistance professionnelle dédiée, qui permet de résoudre les problèmes plus rapidement et d'obtenir de l'aide pour les mises à niveau pendant les périodes critiques, telles que les inscriptions aux cours ou les échéances de recherche.\n\nCette assistance réduit au maximum les temps d'arrêt des services critiques et garantit la continuité des opérations pendant les périodes de pointe, ce qui donne aux services informatiques surchargés la fiabilité dont ils ont besoin pour les systèmes essentiels.\n\n### Architecture open source, performances d'entreprise\n\nLes logiciels open source sont développés de manière collaborative et publique, le code source pouvant être librement consulté, modifié et distribué par tous. Ce modèle de développement favorise l'innovation grâce aux contributions de la communauté et garantit un fonctionnement homogène des logiciels. La base open source de GitLab est en parfaite adéquation avec les valeurs fondamentales des établissements d'enseignement en matière de collaboration, de transparence et de contribution communautaire. Les fonctionnalités de GitLab Premium enrichissent cette base avec des capacités de niveau entreprise et offrent parallèlement la possibilité de contribuer à l'écosystème open source.\n\nVoici les principaux avantages de l'open source :\n\n* **Une transparence totale** : visibilité complète sur les fonctionnalités de la plateforme et les mesures de sécurité. Vous savez précisément comment le logiciel fonctionne.\n* **Une contribution de la communauté** : possibilité de contribuer à améliorer l'outil au bénéfice de la communauté au sens large et de profiter de l'expertise d'une communauté mondiale de développeurs et développeuses. \n* **Une indépendance vis-à-vis des fournisseurs** : réduction du risque de blocage avec des alternatives open source et liberté de modifier le code au besoin.\n* **Des opportunités de co-création** : développement collaboratif avec la communauté, y compris d'autres établissements universitaires, pour concevoir des solutions partagées.\n\n### Assistant d’IA dédié au développement logiciel\n\nGitLab Premium avec GitLab Duo intègre de puissantes capacités d'IA directement dans le workflow de développement, avec notamment :\n\n* Les [suggestions de code](https://docs.gitlab.com/user/project/repository/code_suggestions/ \"suggestions de code GitLab\"), qui fournissent une complétion et des suggestions de code en temps réel, pour aider les équipes de développement à écrire du code plus rapidement et plus efficacement.\n* Le [chat](https://docs.gitlab.com/user/gitlab_duo_chat/ \"GitLab Duo Chat\"), qui permet d'obtenir des réponses instantanées aux questions posées, de résoudre les problèmes et d'accéder à la documentation directement dans l'environnement GitLab.\n\nCes outils d'IA améliorent considérablement la productivité, réduisent les erreurs et renforcent la collaboration. C'est précisément la raison pour laquelle GitLab Premium est un atout encore plus précieux pour les équipes de développement logiciel dans l'enseignement supérieur.\n\n### La transparence comme principe fondateur\n\nLes établissements d'enseignement supérieur traitent des données particulièrement sensibles, qu’il s’agisse de dossiers étudiants, de résultats de recherche, de travaux universitaires confidentiels ou d'informations liées à des financements publics.\n\nLe [Centre pour la transparence de l'IA de GitLab](https://about.gitlab.com/fr-fr/ai-transparency-center/ \"Centre de transparence de l'IA de GitLab\") démontre notre engagement en faveur de la transparence, de la responsabilisation, de la protection des données et de la propriété intellectuelle des clients et fournit les garanties de confidentialité dont les établissements d'enseignement ont besoin.\n\nNous avons lancé ce centre afin d'aider nos clients, notre communauté et nos équipes à mieux comprendre comment GitLab applique les principes d'éthique et de transparence dans ses fonctionnalités alimentées par l'IA.\n\nNotre documentation publique détaille l'ensemble des mesures mises en place pour protéger les données et la propriété intellectuelle de votre établissement. Les [principes d'éthique IA pour le développement de produits de GitLab](https://handbook.gitlab.com/handbook/legal/ethics-compliance-program/ai-ethics-principles/) nous guident dans la création et l'amélioration de nos fonctionnalités d'IA, afin d'aider les établissements d'enseignement supérieur à tirer parti des promesses de l'IA, tout en conservant un contrôle total et une surveillance complète de leurs actifs les plus précieux.\n\n## Découvrez GitLab Premium dès aujourd'hui\n\nPour les établissements d'enseignement, GitLab Premium avec GitLab Duo représente un investissement technologique stratégique, qui combine les avantages du développement open source avec des fonctionnalités d'IA native de niveau entreprise. En fournissant des outils de qualité professionnelle prêts à relever les défis propres à l'environnement technique complexe de l'enseignement supérieur, GitLab Premium avec GitLab Duo aide les établissements à corriger les failles de sécurité, à rationaliser les workflows de développement et à maintenir une infrastructure fiable dont dépendent les opérations universitaires et de recherche.\n\nDécouvrez [GitLab pour le secteur public](https://about.gitlab.com/fr-fr/solutions/public-sector/ \"GitLab pour le secteur public\") ou [contactez notre équipe commerciale](https://about.gitlab.com/fr-fr/sales/ \"Contacter les équipes de GitLab\") dès aujourd'hui.",{"featured":6,"template":691,"slug":711},"ai-native-gitlab-premium-transform-higher-education-software-development","content:fr-fr:blog:ai-native-gitlab-premium-transform-higher-education-software-development.yml","Ai Native Gitlab Premium Transform Higher Education Software Development","fr-fr/blog/ai-native-gitlab-premium-transform-higher-education-software-development.yml","fr-fr/blog/ai-native-gitlab-premium-transform-higher-education-software-development",{"_path":717,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":718,"content":724,"config":732,"_id":734,"_type":13,"title":735,"_source":15,"_file":736,"_stem":737,"_extension":18},"/fr-fr/blog/automating-with-gitlab-duo-part-1-generating-tests",{"title":719,"description":720,"ogTitle":719,"ogDescription":720,"noIndex":6,"ogImage":721,"ogUrl":722,"ogSiteName":673,"ogType":674,"canonicalUrls":722,"schema":723},"Automatisation avec GitLab Duo : comment générer des tests (Partie 1)","Découvrez comment nous utilisons GitLab Duo pour générer des tests automatisés et améliorer la rapidité et la qualité de notre développement.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097480/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%284%29_3LZkiDjHLjhqEkvOvBsVKp_1750097480784.png","https://about.gitlab.com/blog/automating-with-gitlab-duo-part-1-generating-tests","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Automatisation avec GitLab Duo : comment générer des tests (Partie 1)\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Byron Boots\"}],\n        \"datePublished\": \"2024-12-02\",\n      }\n                  ",{"title":719,"description":720,"authors":725,"heroImage":721,"date":727,"body":728,"category":682,"tags":729,"updatedDate":731},[726],"Byron Boots","2024-12-02","Très chronophages, les tests automatisés donnent parfois l'impression de ne pas faire avancer le projet. Cependant, comme de nombreux développeurs et développeuses en ont probablement fait l'expérience, les tests automatisés offrent un retour sur investissement globalement positif. Nous l'avons particulièrement constaté lors de la construction d'un module personnalisé que nous appellerons assistant GitLab dans cet article.\n\nNotre développement initial s'est concentré sur la migration de fonctionnalités éprouvées et utilisées à partir de scripts existants vers un nouveau module dont le seul but était de servir de base pour les fonctionnalités futures. Bien que les scripts existants n'aient pas fait l'objet de tests automatisés, leur utilisation systématique a constitué une preuve concrète que la fonctionnalité fonctionnait comme prévu.\n\nNotre objectif était de fournir une solution plus mature à ce problème, et les tests automatisés sont donc devenus une nécessité. La difficulté consistait à construire efficacement tout en équilibrant le temps nécessaire pour tester et garantir la robustesse du produit, et ce, avec un total de trois membres d'équipe. Le goulot d'étranglement n'était donc pas des moindres. C'est pourquoi nous avons décidé de tirer parti de [GitLab Duo](https://about.gitlab.com/fr-fr/gitlab-duo/), notre suite de fonctionnalités alimentées par l'IA, pour la génération de tests afin d'améliorer la rapidité et la qualité du produit livré.\n\nCette série de trois articles sur l'automatisation avec GitLab Duo couvre les points suivants :\n\n1. L'utilisation de GitLab Duo pour générer des tests pour le code \n2. La gestion de situations plus complexes avec GitLab Duo par une approche interactive\n3. Les résultats que nous avons pu obtenir (Spoiler : 1 développeur + GitLab Duo = 84 % de couverture en 2 jours)\n\n## Générer des tests pour le code avec GitLab Duo\n\nBien que les fonctionnalités soient disponibles dans tous les outils, cet article couvrira l'utilisation de GitLab Duo dans VS Code, avec l'[extension GitLab Workflow pour VS Code](https://marketplace.visualstudio.com/items?itemName=GitLab.gitlab-workflow) pour générer des tests. Des liens vers d'autres options de GitLab Duo sont disponibles dans les références mentionnées ci-dessous.\n\n### Installez et activez GitLab Duo\n\nComme prérequis à l'utilisation de GitLab Duo, nous nous sommes assurés de disposer d'un accès aux fonctionnalités de GitLab Duo. Si vous ne disposez pas encore de GitLab Duo, vous pouvez [bénéficier d'un essai gratuit](https://about.gitlab.com/fr-fr/solutions/gitlab-duo-pro/sales/?type=free-trial).\n\nPour utiliser GitLab Duo Chat dans VS Code, nous avons suivi les [instructions d'installation](https://docs.gitlab.com/ee/user/gitlab_duo_chat/#use-gitlab-duo-chat-in-vs-code). L'extension GitLab Duo Chat s'est ensuite affichée dans la barre latérale et nous avons pu ouvrir la fenêtre de Chat.\n\n![Fenêtre « Poser une question »](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097489/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750097488918.png)\n\n### Générez de tests avec Chat\n\nL'assistant GitLab est un module personnalisé construit pour standardiser l'interaction avec l'API GitLab à toutes les étapes du travail et étend d'autres fonctionnalités de la bibliothèque pour simplifier le développement et le travail de script. Une fois qu'une méthode ou une fonctionnalité a été migrée vers l'assistant GitLab et semble avoir été implémentée de manière appropriée, le processus de génération de tests était simple. Nous avons :\n- Sélectionné la méthode, la classe ou le fichier entier dans l'IDE.\n- Effectué un clic droit sur le code sélectionné.\n- Sélectionné **« Générer des tests »** sous **GitLab Duo Chat**.\n\n![Séquence de génération de tests, y compris le menu déroulant pour générer des tests](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097489/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097488919.png)\n\nEn quelques secondes, les tests ont été générés et présentés dans la fenêtre de GitLab Duo Chat. Ces tests peuvent être revus et/ou ajoutés au code base, par copier/coller, dans des fichiers de test existants ou nouveaux. Comme c'est le cas avec la plupart des générations actuelles de traitement du langage naturel, en particulier en ce qui concerne le contexte, certains des tests initiaux créés par GitLab Duo ont échoué et ont donc nécessité une mise au point (par exemple, en ce qui concerne les dépendances imbriquées).\n\n> **Conseil :** GitLab Duo ne crée pas automatiquement les fichiers dans lesquels ajouter les tests générés. Nous avons trouvé utile de créer de nouveaux fichiers de tests et d'ajouter un commentaire `# Tests générés par GitLab Duo` en haut et d'y ajouter le suffixe `_duo.py` pour indiquer d'où venaient les tests.\n\nGitLab Duo a fourni un excellent point de départ pour développer les tests automatisés de l'assistant GitLab et a considérablement amélioré la productivité en matière d'écriture de tests et de couverture du code, accélérant ainsi le processus de développement de manière conséquente. Parallèlement à GitLab Duo, de nombreuses itérations de tests utiles ont été introduites dans le module de l'assistant GitLab avec une supervision humaine.\n\nDans le prochain article de cette série, nous partagerons [les enseignements tirés de l'utilisation de GitLab Duo pour la génération de tests automatisés](https://about.gitlab.com/blog/automating-with-gitlab-duo-part-2-complex-testing/) et comment aborder des situations plus complexes en travaillant de manière interactive avec l'IA.\n\n## En savoir plus sur la génération de tests avec GitLab Duo \n\nGitLab Duo peut être utilisé de plusieurs façons pour générer des tests, consultez les autres options ci-dessous :\n\n* L'interface utilisateur de GitLab \n* [Le Web IDE GitLab (VS Code dans le cloud)](https://docs.gitlab.com/ee/user/project/web_ide/index.html) \n* VS Code, avec l'[extension GitLab Workflow pour VS Code](https://marketplace.visualstudio.com/items?itemName=GitLab.gitlab-workflow) \n* IDE JetBrains, avec le [plug-in GitLab Duo pour JetBrains](https://plugins.jetbrains.com/plugin/22325-gitlab-duo) \n* Visual Studio pour Windows, avec l'[extension GitLab pour Visual Studio](https://marketplace.visualstudio.com/items?itemName=GitLab.GitLabExtensionForVisualStudio)\n",[684,689,730,685,9],"testing","2025-01-03",{"slug":733,"featured":6,"template":691},"automating-with-gitlab-duo-part-1-generating-tests","content:fr-fr:blog:automating-with-gitlab-duo-part-1-generating-tests.yml","Automating With Gitlab Duo Part 1 Generating Tests","fr-fr/blog/automating-with-gitlab-duo-part-1-generating-tests.yml","fr-fr/blog/automating-with-gitlab-duo-part-1-generating-tests",{"_path":739,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":740,"content":746,"config":752,"_id":754,"_type":13,"title":755,"_source":15,"_file":756,"_stem":757,"_extension":18},"/fr-fr/blog/automating-with-gitlab-duo-part-3-validating-testing",{"title":741,"description":742,"ogTitle":741,"ogDescription":742,"noIndex":6,"ogImage":743,"ogUrl":744,"ogSiteName":673,"ogType":674,"canonicalUrls":744,"schema":745},"Automatisation avec GitLab Duo : comment valider des tests (Partie 3)","Découvrez le test que nous avons effectué pour valider l'impact de GitLab Duo sur les tests automatisés de notre équipe et les résultats que nous avons obtenus.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097447/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%284%29_3LZkiDjHLjhqEkvOvBsVKp_1750097447404.png","https://about.gitlab.com/blog/automating-with-gitlab-duo-part-3-validating-testing","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Automatisation avec GitLab Duo : comment valider des tests (Partie 3)\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Byron Boots\"}],\n        \"datePublished\": \"2024-12-17\",\n      }\n                  ",{"title":741,"description":742,"authors":747,"heroImage":743,"date":748,"body":749,"category":682,"tags":750,"updatedDate":751},[726],"2024-12-17","Dans les articles précédents de cette série, nous avons vu [comment utiliser GitLab Duo pour générer des tests pour notre code](https://about.gitlab.com/fr-fr/blog/automating-with-gitlab-duo-part-1-generating-tests/) et présenté [ce que nous avons appris en utilisant GitLab Duo pour générer des tests automatisés](https://about.gitlab.com/fr-fr/blog/automating-with-gitlab-duo-part-2-complex-testing/). Nous avons également partagé quelques-unes des façons dont nous avons abordé les changements apportés aux tests générés par GitLab Duo. Ce dernier article de la série présente un test que nous avons effectué pour valider l'impact de GitLab Duo sur les tests automatisés de notre équipe et dévoile les résultats que nous avons obtenus jusqu'à présent.\n\n### Résultats des tests de validation\n\nAfin de valider la valeur ajoutée de notre utilisation de [GitLab Duo](https://about.gitlab.com/fr-fr/gitlab-duo/ \"GitLab Duo \") pour générer des tests, nous avons mis GitLab Duo et nous-mêmes au défi de remplacer et d'augmenter la couverture des tests. L'équipe a supprimé tous les tests précédemment écrits afin d'obtenir une couverture de test de 0 %, puis a méthodiquement parcouru le dépôt et créé de nouveaux fichiers de test pour stocker ceux générés par GitLab Duo.\n\nL'équipe a ensuite suivi les étapes décrites dans [le premier article de blog](https://about.gitlab.com/fr-fr/blog/automating-with-gitlab-duo-part-1-generating-tests/) pour générer des tests. Pour fournir un groupe témoin stable, aucun humain n'a modifié les tests et fichiers de test et nous avons ajouté un commentaire `Tests générés par GitLab Duo` en haut avec le suffixe `duo.py` pour indiquer d'où venaient les tests.\n\nToutes les itérations des tests ont été réalisées uniquement par le biais d'interactions avec GitLab Duo via la fenêtre `Générer des tests` et GitLab Duo Chat, comme mentionné dans [le deuxième article de la série](https://about.gitlab.com/fr-fr/blog/automating-with-gitlab-duo-part-2-complex-testing/). Comme indiqué alors, nous avons demandé à GitLab Duo de faire des mises à jour en fonction des erreurs rencontrées, des échecs de tests et des exemples d'extraits de code que GitLab Duo peut utiliser comme contexte supplémentaire. \n\nLors de nos tests avec GitLab Duo, des tests et des rapports de couverture ont été exécutés afin d'évaluer si les tests générés augmentaient la couverture des tests et apportaient la valeur ajoutée que nous attendions. En tirant parti de la [visualisation de la couverture de test de GitLab](https://docs.gitlab.com/ee/ci/testing/test_coverage_visualization/), nous avons pu surveiller en permanence les résultats de notre travail.\n\nAprès avoir utilisé GitLab Duo pour régénérer des tests pour le code précédemment couvert par nos tests essentiellement manuels, nous avons pu atteindre une couverture de test de 84 %. Ce fut une grande réussite pour l'équipe car :\n\n1. Il s'agissait d'une amélioration significative par rapport à la couverture précédente, qui était de 74 %. \n2. Il a fallu environ deux jours à un ingénieur pour atteindre 84 %, alors qu'il avait fallu environ quatre semaines à plusieurs ingénieurs pour atteindre 74 %.\n\nDepuis cette expérience, l'équipe est parvenue à augmenter la couverture à 89 % avec l'aide de GitLab Duo, tout en continuant à introduire de nouvelles fonctionnalités.\n\n![illustration des réalisations](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097456/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750097456771.png)\n\nL'utilisation de GitLab Duo a permis d'améliorer l'efficacité et la couverture des tests, et a également permis aux équipes de développement disposant d'un contexte plus restreint au sujet du code existant d'écrire rapidement des tests de qualité. Cela a permis à l'équipe de développer de nouvelles fonctionnalités sans craindre d'introduire des erreurs.\n\n> Vous souhaitez [tester GitLab Duo](https://about.gitlab.com/fr-fr/solutions/gitlab-duo-pro/sales/) ? Commencez un essai gratuit dès aujourd'hui.\n",[684,730,685,9],"2025-01-23",{"slug":753,"featured":6,"template":691},"automating-with-gitlab-duo-part-3-validating-testing","content:fr-fr:blog:automating-with-gitlab-duo-part-3-validating-testing.yml","Automating With Gitlab Duo Part 3 Validating Testing","fr-fr/blog/automating-with-gitlab-duo-part-3-validating-testing.yml","fr-fr/blog/automating-with-gitlab-duo-part-3-validating-testing",{"_path":759,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":760,"content":766,"config":777,"_id":779,"_type":13,"title":780,"_source":15,"_file":781,"_stem":782,"_extension":18},"/fr-fr/blog/best-practices-to-set-up-organizational-hierarchies-that-scale",{"ogTitle":761,"schema":762,"ogImage":763,"ogDescription":764,"ogSiteName":673,"noIndex":6,"ogType":674,"ogUrl":765,"title":761,"canonicalUrls":765,"description":764},"Créez une hiérarchie organisationnelle évolutive avec GitLab","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Comment mettre en place une hiérarchie organisationnelle évolutive avec GitLab ? \",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Amanda Rueda\"}],\n        \"datePublished\": \"2024-07-22\",\n      }","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098165/Blog/Hero%20Images/Blog/Hero%20Images/agile_agile.png_1750098164666.png","Découvrez comment organiser vos équipes et vos projets dans GitLab avec une structure hiérarchique efficace.","https://about.gitlab.com/blog/best-practices-to-set-up-organizational-hierarchies-that-scale",{"heroImage":763,"body":767,"authors":768,"updatedDate":770,"date":771,"title":772,"tags":773,"description":775,"category":776},"Tirez pleinement parti de votre [abonnement GitLab](https://about.gitlab.com/fr-fr/pricing/ \"Page tarification de GitLab\") en structurant vos équipes et vos projets avec une hiérarchie efficace. Ce guide pratique vous explique comment configurer et structurer votre workflow en groupes, sous-groupes et projets afin d'optimiser votre utilisation de GitLab et d'améliorer votre expérience de développement logiciel.\n\n## Comprendre la structure : groupes, sous-groupes et projets\n\nOrganiser votre workflow en groupes et projets dans GitLab vous permet de refléter la hiérarchie de votre entreprise, afin de faciliter la gestion des autorisations et de bénéficier d'une planification en « équipe d'équipes ». \n\nAvec les groupes et sous-groupes, vos équipes peuvent mieux planifier leur stratégie de développement logiciel et la gestion des projets s'en trouve simplifiée. Vous pouvez affiner cette structure en créant ensuite des sous-groupes et des sous-projets.\n\nVous pouvez en outre structurer vos chaînes de valeur pour améliorer la gestion de projet et la collaboration au sein de votre entreprise.\n\n__Les projets__\n\n- Intégrés au sein des groupes ou des sous-groupes, les projets représentent l'espace de travail de vos équipes. C'est là que l'on retrouve les dépôts et que les paramètres spécifiques au projet sont gérés. Vous pouvez ainsi garder un œil sur les activités quotidiennes et suivre les projets en détail à ce niveau. \n- Une configuration de projet efficace garantit la clarté et l'organisation des données, ce qui est essentiel pour l’établissement de rapports et d'analyses précis.\n\n__Les sous-groupes__\n\n- Les sous-groupes permettent une gestion granulaire des autorisations. Ils peuvent être adaptés aux besoins spécifiques des équipes ou des projets, garantissant ainsi la cohérence des workflows au sein de votre entreprise.\n- Les sous-groupes fonctionnent comme des clusters de projets connexes, similaires au fonctionnement d'une « équipe d'équipes » propre aux principes Agile. \n- Ce niveau hiérarchique est idéal pour gérer plusieurs équipes travaillant sur le même produit ou service. Il améliore la visibilité et l'intégration inter-projets, facilitant ainsi la coordination entre les équipes pour veiller à qu'elles soient correctement alignées en termes d'interdépendances et d'objectifs communs.\n\n__Les groupes__\n\n- Les groupes constituent les piliers de l'organisation des équipes et du workflow dans GitLab. Les autorisations et les accès étendus sont gérés depuis ces groupes.\n- Situés au sommet de la structure hiérarchique, les groupes englobent plusieurs sous-groupes et représentent le niveau stratégique de la gestion de projet, semblable à « l'équipe de l'équipe d'équipes » de la méthode Agile.\n- C'est à ce niveau que sont établis les stratégies et les objectifs globaux, que les paramètres sont définis et que les ressources sont allouées entre les projets et les sous-groupes pour assurer leur alignement avec les objectifs commerciaux globaux de l'entreprise.\n\nLa structure de votre organisation dans GitLab reflète la méthodologie Agile que vous avez adoptée, facilitant ainsi l'application des principes Agile à l'ensemble de vos projets. Cette structure favorise des lignes de communication claires, une gestion efficace des ressources et un alignement stratégique, tout en conservant la flexibilité et la réactivité inhérentes aux méthodologies Agile.\n\n> [Essayez GitLab Ultimate gratuitement](https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/blog&glm_content=default-saas-trial \"Essayez GitLab Ultimate gratuitement\") et mettez en place votre propre hiérarchie organisationnelle. \n\n## Exploiter les mécanismes d'héritage de GitLab\n\nLes [mécanismes d'héritage](https://docs.gitlab.com/ee/tutorials/scrum_events/index.html#understanding-the-inheritance-model-in-gitlab) constituent l'une des fonctionnalités les plus puissantes de GitLab. Avec ces mécanismes, les paramètres, autorisations et configurations définis aux niveaux hiérarchiques supérieurs s'appliquent automatiquement aux niveaux hiérarchiques inférieurs. À l'inverse, les données des niveaux inférieurs sont instantanément disponibles aux niveaux supérieurs de la structure. Ces mécanismes d'héritage améliorent la visibilité sur l'ensemble de votre portefeuille de projets à partir des groupes du niveau hiérarchique supérieur, tout en fournissant des espaces distincts plus bas dans la hiérarchie, permettant à chaque équipe de gérer son travail de manière autonome et spécifique.\n\nExemples :\n- **Créez dans vos groupes de niveau supérieur des jalons et des labels** pour qu'ils s'appliquent automatiquement à tous les sous-groupes et projets sous-jacents. De cette manière, vous maintenez une certaine cohérence au sein de votre structure. \n- **Les tickets et les epics** dans les projets et les sous-groupes de niveau inférieur s'intègrent dans votre hiérarchie de chaîne de valeur. Ainsi, les responsables de programme et les cadres dirigeants peuvent facilement s'y référer.\n- **Gérez les autorisations des utilisateurs au niveau du groupe ou du sous-groupe du niveau hiérarchique supérieur** afin d'optimiser les autorisations et le contrôle d'accès. La gestion du contrôle d'accès s'en trouve simplifiée et vous veillez ainsi à ce que les bonnes personnes disposent des autorisations d'accès adéquates aux différents projets sans avoir à répliquer les configurations maintes fois.\n\nEn plus d'optimiser les frais administratifs, ces conseils vous permettent de renforcer également la sécurité et la conformité en veillant à ce que les changements apportés au niveau supérieur se propagent systématiquement vers le bas de la structure hiérarchique.\n\n![Diagramme de la hiérarchie au sein d'une entreprise](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098179/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750098179305.png)\n\n## Bonnes pratiques pour la configuration de GitLab\n\nLorsque vous configurez la hiérarchie de votre workflow et de vos équipes dans GitLab, nous vous recommandons les options suivantes en fonction de vos besoins. Les clients de GitLab Self-Managed ont la possibilité d'omettre le groupe racine « Nom de l'entreprise », car ce niveau hiérarchique supplémentaire n'est pas nécessaire pour les déploiements auto-gérés. Cette flexibilité garantit que votre configuration GitLab est adaptée à votre structure organisationnelle et à vos préférences de déploiement.\n\n### Option 1 : les autorisations et les accès sont accordés au niveau du sous-groupe\n\nCette option est idéale pour les structures d'autorisations complexes ou les grandes entreprises ayant besoin de partager des projets efficacement entre de nombreux utilisateurs.\n\n#### Exemple de structure\n\n__Groupe au niveau entreprise__\n- Il gère les autorisations étendues, généralement par le biais d'intégrations avec les systèmes de provisionnement d'entreprise.\n- Les utilisateurs sont ajoutés à des sous-groupes, qui servent de base pour partager l'ensemble du groupe avec un autre [groupe](https://docs.gitlab.com/ee/user/group/manage.html#share-a-group-with-another-group) ou [projet](https://docs.gitlab.com/ee/user/project/members/share_project_with_groups.html). Cela permet de réduire la complexité de la gestion individuelle des accès et des autorisations accordés aux utilisateurs.\n- Lors de la création de groupes d'utilisateurs, vous pouvez utiliser les [mentions de groupe](https://docs.gitlab.com/ee/user/discussions/index.html#mentions) dans GitLab pour notifier simultanément un grand nombre d'utilisateurs à la fois.\n\n__Groupe au niveau développement__\n\n- Situé au sommet de la structure hiérarchique, ce groupe offre une visibilité aux membres de la direction et aux responsables de programme sur tous les projets de développement en cours.\n- Les fonctionnalités sont créées au niveau des sous-groupes pour permettre l'accès à plusieurs dépôts.\n- Les projets sont créés pour regrouper les différents dépôts de développement ; ce niveau offre une visibilité pour les équipes.\n\n![Organigramme illustrant le niveau des sous-groupes](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098179/Blog/Content%20Images/Blog/Content%20Images/Image_1_aHR0cHM6_1750098179306.png)\n\n### Option 2 : les autorisations et les accès sont accordés à tous les niveaux\nCette option est idéale pour les petites entreprises ayant des exigences d'accès moins complexes. Les utilisateurs sont ajoutés individuellement aux groupes, sous-groupes ou projets, en fonction des accès requis. Cela permet de contrôler directement la gestion de projet et la visibilité opérationnelle.\n\n#### À retenir\n- Les utilisateurs peuvent être ajoutés à un groupe au sommet de la hiérarchie ou à un sous-groupe/projet de niveau inférieur en fonction de la granularité des besoins d'accès. Chaque membre doit être ajouté individuellement, contrairement à d'autres méthodes où vous pouvez partager un groupe avec plusieurs utilisateurs en une seule action.\n- Les membres de la direction et les responsables de programme disposent d'une visibilité sur tous les projets de développement, au niveau du groupe de développement le plus élevé de la hiérarchie.  \n- Les fonctionnalités sont créées au niveau des sous-groupes pour permettre l'accès à plusieurs dépôts.\n- Les projets sont créés pour regrouper les différents dépôts de développement ; ce niveau offre une visibilité pour les équipes.\n\n![Autorisations accordées à tous les niveaux](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098179/Blog/Content%20Images/Blog/Content%20Images/Image_2_aHR0cHM6_1750098179307.png)\n\n###  Autres considérations relatives à la configuration\n\n__Les jalons et les itérations__ \n- Créez des jalons au niveau du groupe pour plus de visibilité ou lorsqu'ils doivent être partagés entre différents groupes.\n- Créez des jalons au niveau du projet lorsque le jalon est spécifique à un seul projet.\n- Lorsque les équipes travaillent dans différents groupes, la définition d'itérations au niveau du groupe parent permet un suivi unifié.\n\n__La gestion des données__\n- Exploitez les roadmaps, tableaux et listes de GitLab pour en extraire des données qui reflètent précisément la manière dont votre entreprise est structurée et gère ses projets. Vous pouvez ainsi visualiser les progrès et planifier efficacement à différents niveaux de votre structure hiérarchique.\n- GitLab met les données à disposition dans les groupes de niveau supérieur, même lorsqu'elles sont créées à des niveaux inférieurs.\n- Créez vos vues à des niveaux supérieurs de la structure hiérarchique lorsque vous souhaitez visualiser des données sur l'ensemble des groupes et projets et à des niveaux inférieurs lorsque vous souhaitez vous concentrer sur les données d'un groupe ou d'un projet spécifique.\n\n__La création de modèles__\n- Créez des modèles de niveau supérieur pour vous assurer qu'ils s'appliquent automatiquement à tous les sous-groupes et projets sous-jacents. Ces modèles doivent combiner des lignes directrices générales avec les exigences spécifiques au projet.\n- Les modèles sont créés dans leur propre dépôt au sein du groupe concerné (Consultez notre [documentation](https://docs.gitlab.com/ee/user/project/description_templates.html)).\n\n__Les labels__\n- Créez des labels de niveau supérieur pour vous assurer qu'ils s'appliquent automatiquement à tous les sous-groupes et projets sous-jacents. Ces labels doivent combiner des labels relatifs à l'entreprise avec des labels spécifiques à chaque projet.\n- Utilisez des labels à portée limitée (ou Scoped Labels) pour définir des structures organisationnelles, telles que les équipes et le statut des workflows.\n\n![Tableau des tickets avec des labels](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098179/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750098179310.png)\n\n## Exploitez les fonctionnalités de GitLab pour des performances optimales\n\nLa mise en œuvre d'une structure adaptée dans GitLab simplifie non seulement la gestion de vos projets de développement logiciel, mais améliore également la visibilité à différents niveaux de votre entreprise. De cette façon, chaque membre de l'entreprise dispose des informations dont il a besoin, de l'équipe de direction aux contributeurs individuels, pour prendre des décisions éclairées.\n\n> [Essayez GitLab Ultimate gratuitement](https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/blog&glm_content=default-saas-trial \"Essayez GitLab Ultimate gratuitement\") et mettez en place votre propre hiérarchie organisationnelle.\n",[769],"Amanda Rueda","2024-09-17","2024-07-22","Comment mettre en place une hiérarchie organisationnelle évolutive avec GitLab ?",[774,9,685],"agile","Découvrez comment organiser vos équipes et vos projets dans GitLab avec une structure hiérarchique efficace, des lignes de communication claires, un alignement stratégique et bien plus encore.","agile-planning",{"slug":778,"featured":6,"template":691},"best-practices-to-set-up-organizational-hierarchies-that-scale","content:fr-fr:blog:best-practices-to-set-up-organizational-hierarchies-that-scale.yml","Best Practices To Set Up Organizational Hierarchies That Scale","fr-fr/blog/best-practices-to-set-up-organizational-hierarchies-that-scale.yml","fr-fr/blog/best-practices-to-set-up-organizational-hierarchies-that-scale",{"_path":784,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":785,"content":789,"config":797,"_id":799,"_type":13,"title":800,"_source":15,"_file":801,"_stem":802,"_extension":18},"/fr-fr/blog/bridging-the-visibility-gap-in-software-supply-chain-security",{"config":786,"title":787,"description":788},{"noIndex":6},"Réconcilier visibilité et sécurité dans la chaîne logicielle","Découvrez comment tirer parti de GitLab 18.2.0 pour une couverture d'analyse de sécurité complète alliée à une visualisation claire des dépendances transitives.",{"category":790,"tags":791,"date":792,"title":787,"heroImage":793,"description":788,"authors":794,"body":796},"security",[790,9,687],"2025-08-18","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1749661926/Blog/Hero%20Images/security-patch-blog-image-r2-0506-700x400-fy25_2x.jpg",[795],"Salman Ladha","La dernière version de GitLab ([GitLab 18.2.0](https://about.gitlab.com/releases/2025/07/17/gitlab-18-2-released/)) comprend deux nouvelles fonctionnalités majeures pour renforcer la sécurité de votre chaîne d'approvisionnement logicielle : l'inventaire de sécurité et la visualisation des chemins de dépendances.\n\nAvec l'inventaire de sécurité, les équipes de sécurité applicative ont une vue unifiée des risques et de la couverture des scans à l'échelle des groupes et projets GitLab. Elles bénéficient ainsi d'une meilleure visibilité pour identifier les zones non couvertes et prioriser les mesures correctives. La visualisation des chemins de dépendances, quant à elle, offre une vue détaillée du chemin par lequel les vulnérabilités open source sont introduites via la chaîne de dépendances. Ainsi, il devient plus facile d'identifier la correction la plus efficace.\n\nGrâce à ces deux fonctionnalités, les équipes de sécurité et de développement sont en mesure de renforcer la sécurité de leurs applications, puisqu'elles disposent d'une visibilité accrue sur les risques, d'un contexte clair pour choisir les mesures correctives à appliquer et de workflows intégrés qui favorisent la collaboration. Contrairement à d'autres solutions, tout est centralisé sur la plateforme que les développeurs utilisent déjà pour écrire, réviser et déployer leur code. Cette approche intégrée élimine le besoin d'intégrations complexes et offre une expérience DevSecOps fluide et unifiée.\n\n## L'open source : une surface d'attaque plus exposée\n\nLes applications modernes s'appuient [massivement](https://about.gitlab.com/fr-fr/developer-survey/) sur des logiciels open source. Or, cette dépendance n'est pas sans risque : certains composants peuvent être obsolètes, souffrir d'un manque de maintenance ou exposer des vulnérabilités à l'insu des développeurs. C'est pourquoi l'analyse de la composition logicielle (SCA) s'impose comme la pierre angulaire des programmes de sécurité des applications modernes.\n\nLa gestion efficace du *risque de dépendance transitive* représente un défi de taille pour les équipes chargées de détecter les vulnérabilités. Ces composants, souvent cachés au plus profond de la chaîne de dépendances, compliquent l'identification de l'origine d'une vulnérabilité ou du composant à mettre à jour pour y remédier. Pire encore, ils sont responsables de près de [deux tiers](https://arxiv.org/abs/2503.22134?) des vulnérabilités open source connues. Faute de visibilité complète sur les chemins de dépendances, les équipes doivent se contenter d'hypothèses, ce qui retarde l'application de mesures correctives et accroît les risques.\n\n> Les dépendances transitives, c'est-à-dire les paquets que votre application utilise indirectement, sont automatiquement intégrées par les dépendances directes que vous incluez explicitement. Ces dépendances imbriquées peuvent introduire des vulnérabilités sans que le développeur n'en ait conscience.\n\nCe défi prend une tout autre dimension à grande échelle. Lorsqu'une équipe de sécurité doit superviser des centaines, voire des milliers, de dépôts, chacun avec ses propres dépendances, pipelines de compilation et propriétaires, il devient extrêmement difficile de répondre aux questions fondamentales sur la posture de sécurité applicative. Dans un contexte où les menaces qui pèsent sur la chaîne d'approvisionnement logicielle se multiplient, et où les vulnérabilités peuvent se propager à travers les systèmes par le biais de bibliothèques partagées et de configurations CI/CD, ce manque de visibilité a des conséquences encore plus importantes.\n\n## Inventaire de sécurité : une visibilité évolutive\n\nL'inventaire de sécurité regroupe les informations sur les risques de l'ensemble de vos groupes et projets dans une vue unifiée. Il met en évidence les ressources couvertes par des scans de sécurité, ainsi que celles qui y échappent. Plutôt que de traiter les vulnérabilités de manière isolée, les équipes de sécurité peuvent évaluer la posture de manière globale et identifier les domaines sur lesquels concentrer leurs efforts.\n\nCe niveau de centralisation s'avère particulièrement important pour les entreprises qui gèrent un grand nombre de dépôts. Il permet aux équipes chargées de la plateforme et de la sécurité applicative de localiser précisément les risques en révélant les projets non analysés ou insuffisamment protégés, tout en ouvrant la voie à des actions directes depuis l'interface. Grâce à un contexte complet, les équipes identifient rapidement les applications les plus exposées pour les traiter efficacement. En consolidant des données jusque-là dispersées en une source unique de vérité, l'inventaire de sécurité transforme la gestion des vulnérabilités d'une posture réactive à une gouvernance stratégique guidée par les données.\n![Affichage de l'inventaire de sécurité](https://res.cloudinary.com/about-gitlab-com/image/upload/v1753101068/qhujktnbkhl2rzgqfead.png)\n\n## Visualisation des chemins de dépendances : la visibilité pour une remédiation efficace\n\nL'inventaire de sécurité offre une vision globale des risques ; la visualisation des chemins de dépendances montre comment y remédier.\n\nLorsqu'une vulnérabilité est située au plus profond d'une chaîne de dépendances, déterminer la bonne approche pour la corriger devient un véritable casse-tête. La plupart des outils de sécurité mettent en évidence le paquet vulnérable, mais sans indiquer par quel biais il s'est introduit dans le code source. Les équipes de développement se retrouvent à tâtonner entre dépendances directes et transitives, ce qui complique l'analyse et risque d'aboutir à des correctifs inadaptés.\n\nLa nouvelle visualisation des chemins de dépendances intégrée à la version 18.2.0 de GitLab, parfois appelée graphique de dépendances, dévoile à l'issue d'un scan SCA le parcours complet depuis un paquet principal jusqu'au composant vulnérable. Cette visibilité est essentielle, en particulier compte tenu de l'omniprésence des vulnérabilités profondément ancrées dans les chaînes de dépendances. Directement intégrée aux workflows GitLab, cette fonctionnalité fournit aux équipes de développement des informations précises et immédiatement exploitables, sans que ces dernières doivent quitter leur environnement de travail ni émettre des hypothèses. Les équipes de sécurité peuvent hiérarchiser plus efficacement les problèmes, tandis que les développeurs ont l'assurance que les remédiations ciblent enfin les causes profondes.\n![Aperçu de la visualisation des chemins de dépendances](https://res.cloudinary.com/about-gitlab-com/image/upload/v1753101069/kf5ym62gylm5ck6iebjk.png)\n\n## La sécurité intégrée au développement : des risques maîtrisés en amont\n\nCes fonctionnalités s'inscrivent dans la stratégie globale de GitLab qui vise à intégrer la sécurité au sein même de la plateforme où le code est planifié, compilé et déployé. En intégrant les informations de sécurité au cœur du workflow DevSecOps, GitLab réduit les points de friction et renforce la collaboration entre les équipes de développement et de sécurité.\n\nL'inventaire de sécurité et la visualisation des chemins de dépendances offrent des perspectives complémentaires : le premier permet une surveillance évolutive, la seconde facilite des mesures de correction ciblées. Ces deux fonctionnalités combinées aident les équipes à concentrer leurs efforts sur les priorités réelles et à combler les lacunes lors de l'analyse des risques, sans complexifier l'environnement avec des outils ou intégrations supplémentaires.\n\n> Prenez en main l'inventaire de sécurité et la visualisation des chemins de dépendances dès aujourd'hui ! Inscrivez-vous à un [essai gratuit de GitLab Ultimate](https://about.gitlab.com/fr-fr/free-trial/).\n\n## En savoir plus\n\n* [Sortie de GitLab 18.2.0](https://about.gitlab.com/releases/2025/07/17/gitlab-18-2-released/)\n* [Solutions de sécurité GitLab](https://about.gitlab.com/fr-fr/solutions/security-compliance/)\n* [Guide pratique sur les vecteurs de menaces dans la chaîne d'approvisionnement logicielle](https://about.gitlab.com/the-source/security/field-guide-to-threat-vectors-in-the-software-supply-chain/)",{"featured":6,"template":691,"slug":798},"bridging-the-visibility-gap-in-software-supply-chain-security","content:fr-fr:blog:bridging-the-visibility-gap-in-software-supply-chain-security.yml","Bridging The Visibility Gap In Software Supply Chain Security","fr-fr/blog/bridging-the-visibility-gap-in-software-supply-chain-security.yml","fr-fr/blog/bridging-the-visibility-gap-in-software-supply-chain-security",{"_path":804,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":805,"content":811,"config":819,"_id":821,"_type":13,"title":822,"_source":15,"_file":823,"_stem":824,"_extension":18},"/fr-fr/blog/data-driven-devsecops-exploring-gitlab-insights-dashboards",{"title":806,"description":807,"ogTitle":806,"ogDescription":807,"noIndex":6,"ogImage":808,"ogUrl":809,"ogSiteName":673,"ogType":674,"canonicalUrls":809,"schema":810},"Créez des tableaux de bord personnalisés avec GitLab Insights","Tirez parti des tableaux de bord GitLab Insights. Visualisez vos indicateurs clés, suivez la progression de vos projets et augmentez la productivité de vos équipes. ","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097210/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2811%29_78Dav6FR9EGjhebHWuBVan_1750097210214.png","https://about.gitlab.com/blog/data-driven-devsecops-exploring-gitlab-insights-dashboards","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Créez des tableaux de bord personnalisés avec GitLab Insights\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Ricardo Amarilla Villalba\"}],\n        \"datePublished\": \"2024-11-20\",\n      }\n                  ",{"title":806,"description":807,"authors":812,"heroImage":808,"date":814,"body":815,"category":687,"tags":816,"updatedDate":818},[813],"Ricardo Amarilla Villalba","2024-11-20","Les indicateurs et outils d'analyse sont des éléments indispensables pour stimuler la productivité, garantir la qualité et assurer le succès des équipes de développement logiciel. En tant que plateforme DevSecOps la plus complète, GitLab propose avec ses tableaux de bord GitLab Insights des outils puissants pour suivre et visualiser ces indicateurs essentiels. Découvrez dans cet article comment intégrer les tableaux de bord GitLab Insights à votre environnement.\n\n## Qu'est-ce que GitLab Insights ? \n\nGitLab fournit un éventail d'indicateurs et d'outils d'analyse qui couvrent divers aspects du cycle de vie [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que l'approche DevSecOps ? \") :\n\n1. [Analyse de la productivité](https://docs.gitlab.com/ee/user/analytics/productivity_analytics.html) : suivez la vélocité, la durée de cycle et le délai d'exécution de votre équipe.  \n2. [Analyse des revues de code](https://docs.gitlab.com/ee/user/analytics/code_review_analytics.html) : évaluez la qualité du code, la couverture de test et l'efficacité des revues.  \n3. [Analyse des pipelines CI/CD](https://docs.gitlab.com/ee/user/analytics/ci_cd_analytics.html) : surveillez les performances des pipelines et la fréquence de déploiement.  \n4. [Analyse du flux de valeur](https://docs.gitlab.com/ee/user/group/value_stream_analytics/) : visualisez le workflow, de l'idée au déploiement en production.  \n5. [Informations stratégiques](https://docs.gitlab.com/ee/user/project/insights/) : explorez et visualisez les données relatives à vos projets et groupes.\n\nCes indicateurs fournissent des informations précieuses sur votre processus de développement, permettant aux équipes d'identifier les goulots d'étranglement, d'optimiser les workflows et de prendre des décisions éclairées basées sur des données fiables.\n\n### Tirer parti des labels pour des indicateurs spécifiques\n\nSouvent sous-estimés, les labels figurent pourtant parmi les fonctionnalités les plus puissantes de GitLab. Ils permettent de filtrer et de cibler exactement les indicateurs qui vous intéressent. En appliquant stratégiquement des labels aux tickets, aux merge requests et aux epics, vous pouvez créer des vues personnalisées qui fournissent des informations détaillées sur la performance et la progression de votre projet.\n\nEn ajoutant des labels dans GitLab, vous pouvez facilement regrouper et organiser vos tâches selon vos propres critères, pour un suivi plus clair et plus efficace. Que vous suiviez le développement de fonctionnalités, les corrections de bogues ou les tâches spécifiques à une équipe, les labels vous permettent de segmenter les données de votre projet pour faire émerger des tendances claires. Ce concept est semblable à l'utilisation de tags dans les déploiements cloud, où les ressources sont étiquetées pour faciliter la gestion, la répartition des coûts et les informations opérationnelles.\n\nEn attribuant judicieusement des labels à vos éléments de travail, vous mettez en place un système de catégorisation avancé, idéal pour créer des tableaux de bord et des rapports sur mesure. Grâce à cette approche, vous pouvez cibler les indicateurs essentiels pour votre équipe ou vos parties prenantes, avec à la clé une vue claire et précise de l'état et de la dynamique de votre projet.\n\n## Comment configurer GitLab Insights ?\n\nGitLab Insights vous permet d'explorer et de visualiser les données relatives à vos projets et à vos groupes. GitLab Insights fournit des analyses précieuses sur divers aspects : les tickets créés et fermés au cours d'une période donnée, le temps moyen nécessaire pour fusionner des merge requests et la qualité du classement par ordre de priorité. GitLab Insights peut être configuré à la fois pour les projets et les groupes.\n\nPour configurer GitLab Insights :\n\n1. Pour les informations stratégiques liées au projet :  \n   * Créez un fichier nommé `.gitlab/insights.yml` dans le répertoire racine de votre projet.  \n2. Pour les informations stratégiques liées au groupe :  \n   * Créez un fichier `.gitlab/insights.yml` dans un projet appartenant à votre groupe.  \n   * Accédez aux paramètres de votre groupe.  \n   * Développez la section **Analyse** et cliquez sur **Analyses**.  \n   * Sélectionnez le projet contenant le fichier de configuration et enregistrez les modifications.\n\nLe fichier `.gitlab/insights.yml` est un fichier YAML qui sert à organiser vos rapports : il permet de structurer l'ordre des graphiques et de définir leur apparence. Chaque graphique est défini avec des paramètres comme le titre, la description, le type et la requête pour déterminer la source des données et les conditions de filtrage.\n\nPour afficher les informations, accédez à **Analyse > Analyses** dans votre projet ou groupe.\n\n![Afficher le tableau de bord GitLab Insights par défaut](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097218/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750097217972.png)\n\nLa vue par défaut fournit des données utiles, mais en personnalisant le tableau de bord GitLab Insights, vous pouvez aller encore plus loin pour voir, par exemple, l'équipe à l'origine de chaque merge request ou la nature des problèmes traités.\n\n### Informations sur les merge requests pour chaque squad et type de besoin\n\nMesurer la productivité d'une squad dans GitLab n'est pas toujours évident, surtout lorsque l'organisation des groupes et sous-groupes ne reflète pas fidèlement la structure réelle de votre squad. Voici comment surmonter ces défis et suivre efficacement la productivité des squads :\n\n### Configuration des indicateurs en fonction des squads\n\n1. **Création de labels :** créez des labels à portée limitée spécifiques à chaque squad (par exemple, `squad::alpha`, `squad::beta`) et à chaque type d'exigence (par exemple, `type::bug`, `type::feature`, `type::maintenance`).\n\n\u003C!-- blank line -->\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/ZUOzORIUJeU?si=T8eHeGizS3blYFHB\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n\u003C/figure>\n\u003C!-- blank line -->\n\n2. **Application des labels :** appliquez systématiquement ces labels à tous les tickets et merge requests traités par chaque squad, quel que soit le projet ou le groupe auquel ils appartiennent.  \n\n\u003C!-- blank line -->\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/fJ9entEBZG8?si=MlM6mKirEdkmwDDJ\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n\u003C/figure>\n\u003C!-- blank line -->\n\n**Conseils :**  \n   * Utilisez l'API GitLab pour appliquer massivement des labels aux merge requests ouvertes, fusionnées et fermées existantes.  \n   * Ajoutez, supprimez ou mettez à jour des labels dans le cadre de votre pipeline GitLab CI.  \n   * Utilisez le bot de tri des tickets de GitLab pour automatiser l'ajout de labels.  \n\n3. **Configuration du tableau de bord :** créez un fichier `.gitlab/insights.yml` dans le dépôt de votre projet avec des graphiques personnalisés pour obtenir des informations sur les merge requests spécifiques à l'équipe et au type.\n\n```\n\n## Default Merge Requests insights.yml \nmergeRequests:\n  title: Merge requests dashboard\n  charts:\n    - title: Merge requests merged per week \n      type: bar\n      query:\n        data_source: issuables\n        params:\n          issuable_type: merge_request\n          issuable_state: merged\n          group_by: week\n          period_limit: 12\n    - title: Merge requests merged per month\n      type: bar\n      query:\n        data_source: issuables\n        params:\n          issuable_type: merge_request\n          issuable_state: merged\n          group_by: month\n          period_limit: 3\n\n## Per-teams Merge Requests insights.yml\nmergeRequestsTeams:\n  title: Merge requests dashboard per teams\n  charts:\n    - title: Merge requests merged per week \n      type: stacked-bar\n      query:\n        data_source: issuables\n        params:\n          issuable_type: merge_request\n          issuable_state: merged\n          group_by: week\n          period_limit: 12\n          collection_labels:\n            - squad::alpha\n            - squad::beta\n    - title: Merge requests merged per month\n      type: stacked-bar\n      query:\n        data_source: issuables\n        params:\n          issuable_type: merge_request\n          issuable_state: merged\n          group_by: month\n          period_limit: 3\n          collection_labels:\n            - squad::alpha\n            - squad::beta\n\n## Per-teams and Type Merge Requests insights.yml\nmergeRequestsTeamsAndType:\n  title: Per Teams and Type - Merge requests dashboard\n  charts:\n    - title: Merge requests merged per week - Squad Alpha\n      type: stacked-bar\n      query:\n        data_source: issuables\n        params:\n          issuable_type: merge_request\n          issuable_state: merged\n          filter_labels: squad::alpha\n          collection_labels:\n            - type::feature\n            - type::bug\n            - type::maintenance\n          group_by: week\n          period_limit: 12\n    - title: Merge requests merged per month - Squad Alpha\n      type: stacked-bar\n      query:\n        data_source: issuables\n        params:\n          issuable_type: merge_request\n          issuable_state: merged\n          filter_labels: squad::alpha\n          collection_labels:\n            - type::feature\n            - type::bug\n            - type::maintenance\n          group_by: month\n          period_limit: 3\n    - title: Merge requests merged per week - Squad Beta\n      type: stacked-bar\n      query:\n        data_source: issuables\n        params:\n          issuable_type: merge_request\n          issuable_state: merged\n          filter_labels: squad::beta\n          collection_labels:\n            - type::feature\n            - type::bug\n            - type::maintenance\n          group_by: week\n          period_limit: 12\n    - title: Merge requests merged per month - Squad Beta\n      type: stacked-bar\n      query:\n        data_source: issuables\n        params:\n          issuable_type: merge_request\n          issuable_state: merged\n          filter_labels: squad::beta\n          collection_labels:\n            - type::feature\n            - type::bug\n            - type::maintenance\n          group_by: month\n          period_limit: 3\n\n```\n\nEn personnalisant vos tableaux de bord, vous bénéficiez d'une vue d'ensemble claire de l'activité des merge requests, classée par équipe et par type. Vous pouvez ainsi suivre l'évolution dans le temps, comparer les performances entre les squads et visualiser comment le travail est réparti entre elles.\n\n![tableaux de bord permettant de visualiser l'activité des merge requests par équipe et par type de besoin](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097218/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750097217972.png)\n\n![tableau de bord comparant les performances entre les squads](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097218/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097217974.png)\n\n## Lancez-vous dès aujourd'hui\n\nEn matière d'indicateurs et d'outils d'analyse, les tableaux de bord GitLab Insights ne sont que la partie émergée de l'iceberg. Pour explorer toute la gamme de fonctionnalités d'analyse de GitLab, notamment l'analyse du flux de valeur, l'analyse des [pipelines CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline CI/CD ?\") et les indicateurs liés aux revues de code, cliquez sur l'image ci-dessous et découvrez comment optimiser le développement de logiciels avec la gestion de la chaîne de valeur. \n\n[![Visite guidée du produit de gestion de la chaîne de valeur](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097218/Blog/Content%20Images/Blog/Content%20Images/Screenshot_2024-11-20_at_12.28.08_PM_aHR0cHM6_1750097217976.png)](https://gitlab.navattic.com/vsm)\n\n> Et si vous commenciez à créer vos propres tableaux de bord ? [Essayez GitLab Ultimate gratuitement]( https://gitlab.com/-/trials/new?glm_content=default-saas-trial&glm_source=about.gitlab.com%2F) et exploitez pleinement le potentiel de l'approche DevSecOps fondée sur les données.\n",[108,685,687,9,689,817],"solutions architecture","2025-06-02",{"slug":820,"featured":90,"template":691},"data-driven-devsecops-exploring-gitlab-insights-dashboards","content:fr-fr:blog:data-driven-devsecops-exploring-gitlab-insights-dashboards.yml","Data Driven Devsecops Exploring Gitlab Insights Dashboards","fr-fr/blog/data-driven-devsecops-exploring-gitlab-insights-dashboards.yml","fr-fr/blog/data-driven-devsecops-exploring-gitlab-insights-dashboards",{"_path":826,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":827,"content":833,"config":844,"_id":846,"_type":13,"title":847,"_source":15,"_file":848,"_stem":849,"_extension":18},"/fr-fr/blog/demystifying-ci-cd-variables",{"title":828,"description":829,"ogTitle":828,"ogDescription":829,"noIndex":6,"ogImage":830,"ogUrl":831,"ogSiteName":673,"ogType":674,"canonicalUrls":831,"schema":832},"Variables d’environnement : tout savoir sur les variables CI/CD de GitLab","Les variables CI/CD permettent de contrôler les jobs et les pipelines. Découvrez tout ce que vous devez savoir sur les variables d'environnement de GitLab.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664679/Blog/Hero%20Images/blog-image-template-1800x945__24_.png","https://about.gitlab.com/blog/demystifying-ci-cd-variables","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Variables d’environnement : tout savoir sur les variables CI/CD de GitLab\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Veethika Mishra\"}],\n        \"datePublished\": \"2021-04-09\",\n      }",{"title":828,"description":829,"authors":834,"heroImage":830,"date":836,"body":837,"category":838,"tags":839,"updatedDate":843},[835],"Veethika Mishra","2021-04-09","Définir et utiliser des variables dans le cadre d'une approche [CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/) s'avère une méthode très flexible. Ces variables sont d'une grande utilité pour contrôler les jobs et les pipelines, tout en vous permettant d'éviter de coder en dur des valeurs directement dans votre fichier de configuration `.gitlab-ci.yml`. \n\nDans [GitLab CI/CD](https://docs.gitlab.com/ee/ci/), les variables peuvent être utilisées pour personnaliser les jobs en définissant et en stockant des valeurs spécifiques. Pour définir vos variables CI/CD dans GitLab, accédez à **Paramètres >> CI/CD >> Variables** ou définissez-les simplement dans le fichier `.gitlab-ci.yml`. Sachez que les variables servent également d'alternative aux valeurs codées en dur.\n\nUtiliser des variables s’avère particulièrement utile pour configurer des services tiers dans différents environnements de déploiement, tels que l'environnement de test (`testing`), l'environnement de préproduction (`staging`), l'environnement de production (`production`), et plus encore. Pour modifier les services liés à ces environnements, il suffit de changer simplement la variable qui pointe vers le point de terminaison d'API associé aux services. Vous pouvez également utiliser des variables pour configurer les jobs et les rendre disponibles en tant que variables d'environnement dans les jobs lorsqu'ils s'exécutent.\n\nDécouvrez dans cet article tout ce que vous devez savoir sur les variables d’environnement afin de mieux comprendre leur fonctionnement et leur portée. \n\n![GitLab lit le fichier .gitlab-ci.yml pour analyser la variable référencée, puis envoie les informations à GitLab Runner. Les variables sont exposées et générées par le runner.](https://about.gitlab.com/images/blogimages/demystifying-ci-cd-variables/variables_processing.jpeg)\n\n## La relation entre les variables et les environnements\n\nLe processus de développement logiciel comprend plusieurs étapes destinées à tester un produit avant de le déployer et de le mettre à disposition des utilisateurs. Les [environnements](https://docs.gitlab.com/ee/ci/environments/) sont utilisés pour définir ces étapes, qui peuvent différer d'une équipe à l'autre, voire d'une entreprise à l'autre.\n\nLes variables, quant à elles, sont des valeurs de données susceptibles de changer à la suite d'une interaction entre un utilisateur et un produit. Par exemple, son âge, ses préférences ou toute autre information qui pourrait déterminer l'étape suivante qui lui sera présentée dans le flux de tâches du produit.\n\nLe terme [variable d'environnement](https://docs.gitlab.com/ee/administration/environment_variables.html) fait souvent référence à des variables définies dans un environnement donné, mais en dehors de l'application. Les variables dans GitLab CI/CD offrent aux équipes de développement la possibilité de configurer des valeurs dans le code. L'intérêt principal étant de garantir sa flexibilité. Ces variables permettent aux utilisateurs de modifier une application déployée dans un certain environnement sans toucher au code. Il est possible d'exécuter des tests en toute simplicité ou même d'intégrer des services tiers en modifiant une variable d'environnement de configuration en dehors de l'application.\n\n## La portée des variables dans l'approche CI/CD\n\n![Ordre de priorité des variables CI/CD : 1) Exécution manuelle du pipeline, variables de déclenchement et de planification du pipeline, 2) Variables protégées au niveau du projet, au niveau du groupe et au niveau de l'instance, 3) Variables CI/CD héritées, 4) Variables globales définies dans yml au niveau du job, 5) Variables de déploiement, 6) Variables CI/CD prédéfinies](https://about.gitlab.com/images/blogimages/demystifying-ci-cd-variables/variables_precedence.jpeg)\n\n### Variables définies dans `.gitlab-ci.yml`\n\nLes variables qui doivent être disponibles dans l'environnement du job peuvent être ajoutées à GitLab. Ces variables CI/CD stockent la configuration du projet ne contenant pas de données sensibles, comme l'URL de la base de données dans le fichier `.gitlab-ci.yml`. Réutilisez cette variable dans plusieurs jobs ou scripts, là où la valeur est nécessaire. Si la valeur change, vous n'avez besoin de mettre à jour la variable qu'une seule fois. Le changement se reflète ensuite partout où la variable est utilisée.\n\n### Variables CI/CD au niveau du projet\n\nUn cran au-dessus des exigences spécifiques au dépôt, vous pouvez définir des variables CI/CD dans les [paramètres du projet](https://docs.gitlab.com/ee/ci/variables/#for-a-project), afin qu'elles soient disponibles dans les [pipelines CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline CI/CD ?\"). Celles-ci sont stockées en dehors du dépôt (c'est-à-dire qu'elles ne figurent pas dans le fichier `.gitlab-ci.yml`), mais peuvent néanmoins être utilisées dans les scripts et la configuration CI/CD. Le stockage des variables en dehors du fichier `.gitlab-ci.yml` limite ces valeurs à la portée du projet uniquement, sans les enregistrer en texte brut dans le projet.\n\n### Variables CI/CD au niveau du groupe et de l'instance\n\nCertaines variables sont pertinentes à l'échelle du groupe ou de l'instance et peuvent être utiles à tous les projets associés à un groupe ou à une instance spécifique. Définissez les variables dans les [paramètres du groupe ou de l'instance](https://docs.gitlab.com/ee/ci/variables/#for-a-group) afin que tous les projets de ces portées puissent utiliser les variables sans avoir besoin d'en connaître la valeur ou de les recréer pour chaque projet de portée inférieure. Par exemple, une valeur commune à plusieurs projets se gère facilement si elle ne doit être mise à jour qu'à un seul endroit. Alternativement, plusieurs projets peuvent utiliser un mot de passe spécifique sans avoir besoin de connaître la valeur du mot de passe lui-même.\n\n## Jobs et pipelines en tant qu'environnements\n\nEn plus d'être utilisées comme des variables d'environnement, les variables dans GitLab CI/CD fonctionnent également dans la portée du fichier de configuration `.gitlab-ci.yml` pour définir le comportement du pipeline, indépendamment de son environnement. Les variables peuvent être stockées dans les paramètres du projet/groupe/instance et mises à la disposition des jobs dans les pipelines.\n\nPar exemple :\n\n```  \njob:  \n  rules:  \n    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH  \n  script:  \n  - echo \"This job ran on the $CI_COMMIT_BRANCH branch.\"  \n```\n\nLa variable `($CI_COMMIT_BRANCH)` dans la section du script s'exécute dans la portée du job dans lequel elle a été définie. Cette portée est l'« environnement du job », ce qui signifie que lorsque le job se lance, le GitLab Runner démarre un conteneur Docker et exécute le job dans cet environnement. Le runner met cette variable (et toutes les autres variables prédéfinies ou personnalisées) à la disposition du job et peut également afficher leur valeur dans les données de sortie du log si nécessaire.\n\nToutefois, la variable est aussi utilisée dans la section `if:` pour déterminer quand le job doit s'exécuter. Il ne s'agit pas en soi d'un environnement, c'est pourquoi nous les appelons variables CI/CD. Elles peuvent être utilisées pour configurer dynamiquement vos jobs CI/CD, ainsi que comme variables d'environnement lorsque le job est en cours d'exécution.\n\n## Variables prédéfinies\n\nUn certain nombre de variables sont [prédéfinies](https://docs.gitlab.com/ee/ci/variables/predefined_variables.html) lorsqu'un pipeline GitLab CI/CD démarre. Un utilisateur peut immédiatement accéder aux valeurs pour des éléments tels que les validations, le projet ou les détails du pipeline sans avoir à définir les variables elles-mêmes.\n\n## Variables CI/CD personnalisées\n\n![Les runners peuvent créer deux types de variables CI/CD personnalisées : Type et Fichier.](https://about.gitlab.com/images/blogimages/demystifying-ci-cd-variables/variable_types.jpeg)\n\nLors de la création d'une variable CI/CD dans les paramètres, GitLab offre à l'utilisateur plus d'options pour configurer la variable. Utilisez ces options de configuration supplémentaires pour exercer un contrôle plus strict sur les variables plus sensibles :\n\n**Portée de l'environnement :** si une variable ne doit être utilisée que dans un environnement spécifique, définissez-la pour qu'elle soit disponible uniquement dans cet environnement. Par exemple, vous pouvez définir un jeton de déploiement pour qu'il ne soit disponible que dans l'environnement `production`.\n\n**Variables protégées :** comme pour la portée de l'environnement, vous pouvez définir une variable pour qu'elle ne soit disponible que lorsque le pipeline s'exécute sur une branche protégée, comme votre branche par défaut.\n\n**Type de variable :** certaines applications nécessitent que la configuration leur soit transmise sous la forme d'un fichier. Si une application nécessite cette configuration, définissez simplement le type de variable comme « Fichier ». Cette configuration de la variable CI/CD signifie que lorsque le runner rend la variable disponible dans l'environnement, il l'écrit dans un fichier temporaire et stocke le chemin d'accès au fichier en tant que valeur. Un utilisateur peut ensuite transmettre le chemin d'accès au fichier à toutes les applications qui en ont besoin.\n\nEn plus des éléments énumérés pour définir et utiliser les variables, GitLab a introduit une fonctionnalité qui génère des variables préremplies lorsqu'un pipeline doit être exécuté manuellement. Les variables préremplies réduisent les risques d'erreur et facilitent l'exécution du pipeline.\n\n**Variables masquées :** les [variables masquées](https://docs.gitlab.com/ee/ci/variables/#mask-a-cicd-variable) sont des variables CI qui ont été **cachées dans les job logs** pour empêcher l'affichage de leur valeur.\n\n**Variables masquées et cachées :** introduites dans [GitLab 17.4](https://about.gitlab.com/releases/2024/09/19/gitlab-17-4-released/#hide-cicd-variable-values-in-the-ui), les variables [masquées et cachées](https://docs.gitlab.com/ee/ci/variables/#hide-a-cicd-variable) offrent la même fonctionnalité de masquage des job logs et **gardent la valeur cachée** **dans l'interface utilisateur des paramètres**. Nous ne recommandons pas d'utiliser ces deux types de variables pour les informations sensibles (comme les secrets), car elles peuvent être exposées par inadvertance.\n\n## Secrets\n\nUn secret est un identifiant de connexion sensible qui doit rester confidentiel. Voici des exemples de secrets :\n\n* Mots de passe\n* Clés SSH\n* Jetons d'accès\n* Tout autre type d'identifiants de connexion dont la divulgation pourrait porter préjudice à l'entreprise\n\nGitLab permet actuellement à ses utilisateurs d'[utiliser des secrets externes](https://docs.gitlab.com/ee/ci/secrets/) dans l'[intégration continue (CI)](https://about.gitlab.com/fr-fr/topics/ci-cd/benefits-continuous-integration/ \"Qu'est-ce que l'intégration continue (CI) ?\"), en tirant parti de HashiCorp Vault, Google Cloud Secret Manager et Azure Key Vault pour gérer de manière sécurisée les clés, les tokens et d'autres secrets au niveau du projet. Les utilisateurs peuvent ainsi séparer ces secrets des autres variables CI/CD pour des raisons de sécurité.\n\n### Gestionnaire de secrets de GitLab\n\nEn plus de fournir une assistance pour les secrets externes dans la CI, GitLab prévoit également de proposer une [solution native de gestion des secrets](https://gitlab.com/groups/gitlab-org/-/epics/10108) permettant de stocker les secrets de manière pratique et sécurisée au sein de sa plateforme. Cette solution aidera également les clients à utiliser les secrets stockés dans les composants et les environnements spécifiques à GitLab, ainsi qu'à gérer facilement les accès au niveau des groupes d'espaces de nommage et des projets.\n\nPour en savoir plus sur le gestionnaire de secrets de GitLab, consultez notre article « [Le gestionnaire de secrets natif de GitLab renforce la sécurité de la chaîne d'approvisionnement logicielle](https://about.gitlab.com/blog/gitlab-native-secrets-manager-to-give-software-supply-chain-security-a-boost/) ». \n\n***Avertissement :** cet article de blog contient des informations relatives aux produits, fonctionnalités et caractéristiques à venir. Il est important de noter que les informations contenues dans cet article de blog ne sont fournies qu'à titre informatif. Veuillez ne pas vous fier à ces informations à des fins d'achat ou de planification. Comme pour tout projet, les éléments mentionnés dans cet article sont susceptibles de changer ou d’être retardés. Le développement, la sortie et le calendrier de tout produit ou fonctionnalité restent à la seule discrétion de GitLab.*\n","engineering",[840,9,841,842,108,689],"CD","inside GitLab","CI","2025-01-28",{"slug":845,"featured":6,"template":691},"demystifying-ci-cd-variables","content:fr-fr:blog:demystifying-ci-cd-variables.yml","Demystifying Ci Cd Variables","fr-fr/blog/demystifying-ci-cd-variables.yml","fr-fr/blog/demystifying-ci-cd-variables",{"_path":851,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":852,"content":858,"config":868,"_id":870,"_type":13,"title":871,"_source":15,"_file":872,"_stem":873,"_extension":18},"/fr-fr/blog/developing-gitlab-duo-a-roundup-of-recent-chat-enhancements",{"title":853,"description":854,"ogTitle":853,"ogDescription":854,"noIndex":6,"ogImage":855,"ogUrl":856,"ogSiteName":673,"ogType":674,"canonicalUrls":856,"schema":857},"GitLab Duo : les dernières améliorations de GitLab Duo Chat","Découvrez les dernières améliorations de GitLab Duo Chat, notamment une nouvelle intégration, l'annulation des prompts et des mises à niveau architecturales.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098374/Blog/Hero%20Images/Blog/Hero%20Images/blog-hero-banner-1-0178-820x470-fy25_7JlF3WlEkswGQbcTe8DOTB_1750098374059.png","https://about.gitlab.com/blog/developing-gitlab-duo-a-roundup-of-recent-chat-enhancements","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Développement de GitLab Duo : tour d'horizon des dernières améliorations de GitLab Duo Chat\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Jannik Lehmann\"},{\"@type\":\"Person\",\"name\":\"David O'Regan\"}],\n        \"datePublished\": \"2024-07-10\",\n      }\n                  ",{"title":859,"description":860,"authors":861,"heroImage":855,"date":864,"body":865,"category":682,"tags":866,"updatedDate":867},"GitLab Duo : tour d'horizon des dernières améliorations de GitLab Duo Chat","Découvrez les dernières améliorations apportées à GitLab Duo Chat, notamment une nouvelle intégration, l'annulation des prompts et des mises à niveau architecturales.",[862,863],"Jannik Lehmann","David O'Regan","2024-07-10","GitLab s'engage à [améliorer en permanence GitLab Duo Chat](https://gitlab.com/gitlab-org/gitlab/-/issues/430124), notre assistant d'IA, pour répondre aux besoins en constante évolution de nos utilisateurs. Voici quelques améliorations récentes qui simplifieront votre workflow et amélioreront votre productivité.\n\n## Explication des vulnérabilités : une nouvelle intégration\n\nNous avons franchi une étape importante dans l'évolution de GitLab Duo Chat : l'intégration de [l'explication des vulnérabilités de GitLab Duo](https://about.gitlab.com/fr-fr/the-source/ai/understand-and-resolve-vulnerabilities-with-ai-powered-gitlab-duo/). Il s'agit de la première fonctionnalité de notre plateforme [GitLab Duo](https://about.gitlab.com/fr-fr/gitlab-duo/) à être intégrée à GitLab Duo Chat par une équipe externe au groupe dédié à l'IA, mettant ainsi en valeur l'esprit de collaboration et les capacités interfonctionnelles de GitLab.\n\n### Principaux points forts de cette intégration :\n\n- **Une exécution rapide :** l'équipe est passée d'une phase d'exploration à la mise en œuvre de cette fonctionnalité en seulement trois semaines, démontrant ainsi une grande agilité et vitesse d'exécution.\n- **Une collaboration entre les équipes :** cette intégration a été menée par des équipes externes au groupe dédié à l'IA, ouvrant ainsi la voie à des intégrations de fonctionnalités plus diversifiées à l'avenir.\n- **Une meilleure compréhension des risques liés à la sécurité :** les utilisateurs pourront bientôt utiliser GitLab Duo Chat pour mieux comprendre les failles de sécurité détectées dans leurs projets.\n\nCette intégration représente une étape importante pour faire de GitLab Duo Chat un outil encore plus puissant et polyvalent pour les équipes de développement, en particulier dans le domaine de la sécurité.\n\n## Prise en compte améliorée du contexte\n\nNous avons réalisé des progrès significatifs au niveau de la compréhension du contexte par GitLab Duo Chat, ce qui rend cet assistant alimenté par l'IA plus intelligent et utile dans divers scénarios.\n\n### Disponibilité des connaissances\n\nGitLab Duo Chat a constamment accès aux éléments suivants :\n- la [documentation de GitLab](https://docs.gitlab.com/ \"documentation de GitLab\") ;\n- des connaissances générales sur la programmation et le codage.\n\nIl est important de noter que GitLab Duo Chat ne dispose pas d'un accès illimité à l'ensemble de votre instance ou de votre code base GitLab. Il peut donc uniquement traiter les informations spécifiques que vous fournissez dans votre requête ou celles qui sont immédiatement pertinentes pour le contenu de votre vue actuelle dans l'IDE ou l'interface utilisateur de GitLab.\n\nNous nous efforçons en permanence d'étendre la connaissance contextuelle de GitLab Duo Chat en incluant davantage de types de contenu, en mettant toujours l'accent sur la protection de la vie privée des utilisateurs et la sécurité des données. Cette diversification progressive vise à faire de GitLab Duo Chat un assistant encore plus puissant pour votre workflow de développement, tout en garantissant des limites d'accès aux données appropriées.\n\n### Connaissances contextuelles améliorées\n\nGitLab Duo Chat dispose désormais [d'une meilleure compréhension du contexte de votre projet](https://docs.gitlab.com/ee/user/gitlab_duo_chat/#the-context-chat-is-aware-of), à la fois dans les IDE et l'interface utilisateur de GitLab. Voici quelques exemples de ce que GitLab Duo Chat est capable de comprendre.\n\nDans l'interface utilisateur de GitLab :\n- **Les epics** : GitLab Duo Chat comprend quand vous faites référence à « cette epic » ou utilisez l'URL de l'epic.\n- **Les tickets** : similaire aux epics, GitLab Duo Chat reconnaît « ce ticket » ou l'URL du ticket.\n- **Les fichiers de code** : lorsqu'un seul fichier est affiché, GitLab Duo Chat sait interpréter les requêtes concernant « ce code » ou « ce fichier ».\n\nDans les IDE :\n- **Le code sélectionné** : GitLab Duo Chat analyse le code que vous avez sélectionné lorsque vous posez des questions sur « ce code » ou « ce fichier ».\n- **Les epics et les tickets** : GitLab Duo Chat est capable de comprendre leur contexte si vous fournissez l'URL.\n\nDe plus, lorsque vous utilisez des commandes slash comme `/explain`, `/refactor` ou `/tests` dans les IDE, GitLab Duo Chat a accès au code sélectionné.\n\n![Capture d'écran de la fenêtre GitLab Duo Chat](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098382/Blog/Content%20Images/Blog/Content%20Images/image5_aHR0cHM6_1750098382107.png)\n\n### Historique et mise en cache des discussions\nGitLab Duo Chat conserve les 50 derniers messages échangés dans l'historique de discussions. Cet historique expire trois jours après la dernière utilisation. La fermeture de votre navigateur ou de votre IDE ne supprimera pas définitivement votre historique tant que le délai spécifié n'est pas dépassé. Cependant, il est important de noter que la conservation à long terme des données de chat n'est actuellement pas disponible.\n\n## Annulation des prompts : arrêt des réponses à la demande\n\nL'une des fonctionnalités les plus attendues est désormais disponible : [l'annulation des prompts](https://gitlab.com/groups/gitlab-org/-/epics/13662). Vous pouvez désormais annuler les prompts en cours de GitLab Duo Chat sur la plateforme GitLab.com. Cette fonctionnalité vous offre [un plus grand contrôle sur vos interactions](https://gitlab.com/gitlab-org/gitlab/-/issues/458397).\n- __Disponibilité immédiate :__ cette fonctionnalité est d'ores et déjà déployée sur la plateforme GitLab.com.\n- __Disponibilité prochaine :__ cette fonctionnalité sera disponible pour les instances auto-gérées dans notre prochaine version. Elle sera fournie aux utilisateurs de GitLab Dedicated à l'occasion de la mise à niveau mensuelle.\n- __En cours :__ [intégration pour les extensions de certains éditeurs de code](https://docs.gitlab.com/ee/editor_extensions/) ; suivez l'avancement du projet [via ce ticket](https://gitlab.com/gitlab-org/editor-extensions/gitlab-jetbrains-plugin/-/issues/335).\n\nCette amélioration vous permet d'annuler une réponse si vous avez soumis votre prompt trop rapidement ou si vous avez changé d'avis. Cette fonctionnalité à priori mineure peut cependant vous faire gagner du temps et vous éviter toute frustration.\n\nPour annuler un prompt dans GitLab Duo Chat, procédez comme suit :\n1. Ouvrez GitLab Duo Chat dans GitLab.com.\n2. Commencez à saisir votre prompt ou votre question, par exemple « De quoi parle ce ticket ? ».\n\n![Écran montrant le début de la procédure d'annulation des prompts dans GitLab Duo Chat](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098382/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750098382108.png)\n\n3. Après avoir envoyé votre prompt, si vous souhaitez annuler la réponse, recherchez le nouveau bouton « Annuler » qui apparaît pendant que GitLab Duo Chat génère une réponse.\n\n![Capture d'écran du bouton Annuler dans GitLab Chat](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098382/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750098382110.png)\n\n4. Cliquez sur le bouton « Annuler » pour suspendre immédiatement le processus de génération de la réponse.\n\n![Capture d'écran montrant l'annulation de la réponse](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098382/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750098382112.png)\n\n## Améliorations de l'architecture de GitLab Duo Chat \n\nNous avons également apporté des améliorations à l'architecture de GitLab Duo Chat pour rendre cette fonctionnalité plus robuste et plus efficace :\n\n- Le passage au protocole Language Server Protocol ([LSP](https://gitlab.com/gitlab-org/editor-extensions/gitlab-lsp)) permet d'améliorer l'intégration de GitLab Duo Chat dans divers environnements de développement. \n- Le Language Server de GitLab est un projet TypeScript expérimental qui fournit une interface commune pour que les extensions IDE intègrent les fonctionnalités de GitLab. Il prend actuellement en charge les suggestions de code de GitLab Duo et à l'avenir prendra aussi en charge GitLab Duo Chat.\n\nBien que ce changement concerne principalement l'architecture sous-jacente, les utilisateurs peuvent constater :\n- une amélioration de la réactivité et des performances lors de l'utilisation de GitLab Duo Chat sur différents IDE et éditeurs ;\n- un comportement plus cohérent des fonctionnalités de GitLab Duo Chat dans divers environnements de développement ;\n- une plus grande capacité pour l'ajout de nouvelles fonctionnalités et améliorations à l'avenir.\n\nDécouvrez dans la vidéo ci-dessous la façon dont le Language Server de GitLab alimente les suggestions de code :\n\n\u003C!-- blank line -->\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/VQlWz6GZhrs?si=_G5mOyYqEGAmnRv4\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n\u003C/figure>\n\u003C!-- blank line -->\n\n## Et après ?\n\nNous cherchons sans cesse à améliorer GitLab Duo Chat. Voici quelques exemples de projets en cours :\n\n- Nous migrons actuellement nos fonctionnalités d'IA vers [Claude 3.5 Sonnet](https://gitlab.com/gitlab-org/gitlab/-/issues/468334). Cette mise à niveau améliorera les performances et les capacités de GitLab Duo Chat et d'autres fonctionnalités alimentées par l'IA.\n- Nous travaillons activement pour que [GitLab Duo Chat puisse fonctionner avec des modèles personnalisés et auto-hébergés](https://gitlab.com/groups/gitlab-org/-/epics/13760). Les entreprises pourront ainsi utiliser leurs propres modèles d'IA avec Duo Chat, ce qui leur permettra d'avoir plus de contrôle sur la base de connaissances de l'IA et d'améliorer potentiellement les performances de tâches spécifiques à leur domaine.\n- Nous finalisons actuellement le processus de [synchronisation des messages entre différentes interfaces](https://gitlab.com/gitlab-org/gitlab/-/issues/418760), y compris l'interface web (WebUI). L'objectif est de garantir une communication fluide et cohérente, améliorant ainsi votre expérience de collaboration en veillant à ce que vous ayez accès aux mêmes informations peu importe le dispositif que vous utilisez.\n- Nous [migrons la fonctionnalité de « Résumé des commentaires » vers GitLab Duo Chat](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/156650). Il sera bientôt possible de résumer plusieurs commentaires d'un ticket directement dans Duo Chat, ce qui vous permettra de comprendre plus rapidement les points et enseignements clés des discussions, et d'améliorer votre expérience collaborative.\n\nNous avons hâte de [connaître votre avis sur ces améliorations](https://gitlab.com/gitlab-org/gitlab/-/issues/430124). Retrouvez-nous bientôt pour découvrir d'autres innovations et améliorations liées à GitLab Duo Chat.  \n\n#### En savoir plus sur le « Développement de GitLab Duo »\n- [Comment nous validons et testons les modèles d'IA à grande échelle](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai/)\n\n- [Mesurer le ROI de l’IA avec le tableau de bord d'analyse d'impact](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai/)\n\n- [Comment nous utilisons nos propres fonctionnalités d'IA](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai/)\n\n- [Tester et sécuriser le code généré par l'IA](https://about.gitlab.com/fr-fr/blog/how-gitlab-duo-helps-secure-and-thoroughly-test-ai-generated-code/)\n\n- [L'IA combinée à l'analyse des causes profondes pour réparer les pipelines CI/CD](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd/)\n",[684,9,687],"2024-08-01",{"slug":869,"featured":90,"template":691},"developing-gitlab-duo-a-roundup-of-recent-chat-enhancements","content:fr-fr:blog:developing-gitlab-duo-a-roundup-of-recent-chat-enhancements.yml","Developing Gitlab Duo A Roundup Of Recent Chat Enhancements","fr-fr/blog/developing-gitlab-duo-a-roundup-of-recent-chat-enhancements.yml","fr-fr/blog/developing-gitlab-duo-a-roundup-of-recent-chat-enhancements",{"_path":875,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":876,"content":882,"config":891,"_id":893,"_type":13,"title":894,"_source":15,"_file":895,"_stem":896,"_extension":18},"/fr-fr/blog/developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai",{"ogTitle":877,"schema":878,"ogImage":879,"ogDescription":880,"ogSiteName":673,"noIndex":6,"ogType":674,"ogUrl":881,"title":877,"canonicalUrls":881,"description":880},"GitLab Duo : ROI et tableau d'analyse d'impact de l’IA","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Développement de GitLab Duo : mesurer le ROI de l’IA avec le tableau de bord d'analyse d'impact\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Haim Snir\"}],\n        \"datePublished\": \"2024-05-15\",\n      }","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098611/Blog/Hero%20Images/Blog/Hero%20Images/blog-hero-banner-1-0178-820x470-fy25_7JlF3WlEkswGQbcTe8DOTB_1750098611370.png","Découvrez cette nouvelle fonctionnalité qui fournit des métriques détaillées, permettant de comprendre l'efficacité des investissements en IA.","https://about.gitlab.com/blog/developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai",{"title":883,"description":884,"authors":885,"heroImage":879,"date":887,"body":888,"category":682,"tags":889},"GitLab Duo : mesurer le ROI de l’IA avec le tableau de bord d'analyse d'impact","Notre série d’articles de blog se poursuit avec la présentation d'une nouvelle fonctionnalité qui fournit des métriques détaillées, telles que le taux d'utilisation des suggestions de code, permettant de comprendre l'efficacité des investissements en IA.",[886],"Haim Snir","2024-05-15","***L'IA générative marque une avancée majeure dans le domaine du développement logiciel, simplifiant le processus de développement, de sécurisation et d'exploitation des logiciels. Notre nouvelle série d'articles de blog, rédigée par nos équipes produit et ingénierie, vous propose un aperçu de notre processus de création, de test et de déploiement des fonctionnalités d'IA que vous avez besoin d'intégrer dans l'ensemble de l'entreprise. Explorez les nouvelles capacités de GitLab Duo et découvrez comment elles aideront les équipes DevSecOps à livrer de meilleurs résultats aux clients.***\n\nÀ l'heure où les entreprises adoptent [GitLab Duo](https://about.gitlab.com/fr-fr/gitlab-duo/), notre suite de fonctionnalités d'IA visant à optimiser les workflows [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que le DevSecOps ?\"), les chefs d'entreprise et les responsable en ingénierie ont besoin d'une visibilité en temps réel sur le retour sur investissement de cette technologie. Les données d'utilisation granulaires, l'amélioration des performances, le compromis entre rapidité, sécurité et qualité, ainsi que d'autres [métriques de productivité](https://about.gitlab.com/blog/measuring-ai-effectiveness-beyond-developer-productivity-metrics/) sont essentiels pour évaluer l'efficacité de l'IA dans le développement de logiciels. C'est pour cette raison que nous avons créé le tableau de bord d'analyse d'impact de l'IA pour GitLab Duo. Disponible dans GitLab 17.0, cette fonctionnalité offre un nouveau moyen de mesurer le retour sur investissement de l'IA.\n\n> Découvrez l'avenir du développement logiciel piloté par l'IA lors de notre événement virtuel à l’occasion du lancement de GitLab 17. [Accédez au replay](https://about.gitlab.com/fr-fr/seventeen/ \"Replay du lancement de GitLab 17\") !\n\n## Comprendre le retour sur investissement des fonctionnalités de GitLab Duo alimentées par l'IA\n\nPour évaluer correctement l'impact de l'IA sur le cycle de vie du développement logiciel, les entreprises nous ont indiqué qu'elles souhaitaient :\n\n* Visualiser les indicateurs qui se sont améliorés grâce aux investissements dans l'IA,\n* Comparer les performances des équipes qui utilisent l'IA avec celles des équipes qui ne l’utilisent pas,\n* Suivre les progrès de l'adoption de l'IA,\n* Automatiser l'extraction d'informations à partir d'un grand volume de données de performance.\n\nLe tableau de bord d'analyse d'impact de l'IA regroupe ces fonctionnalités, et bien plus encore, avec une visualisation personnalisable, permettant aux équipes de :\n\n* **Surveiller l'adoption de l'IA :** observer les taux d'adoption de l'IA permet aux organisations d'évaluer les stratégies organisationnelles pour maximiser le retour sur investissement de leurs investissements technologiques. \n* **Suivre les améliorations en termes de performance :** en suivant les indicateurs de performance et en observant les modifications après l'adoption de l'IA, les dirigeants peuvent rapidement évaluer les avantages et la valeur commerciale des fonctionnalités d'IA.\n\n## Qu'est-ce que le tableau de bord d'analyse d'impact de l'IA ?\n\nDans cette première version du tableau de bord d'analyse d'impact de l'IA, nous nous concentrons sur la mise à disposition d'informations et de métriques sur l'adoption de la fonctionnalité de suggestions de code de GitLab Duo, notamment :\n\n* **Les métriques d'utilisation détaillées :** découvrez le ratio d'utilisation mensuelle de la fonctionnalité de suggestions de code par rapport au nombre total de contributeurs uniques au code pour savoir dans quelle mesure les suggestions de code sont adoptées au sein de vos équipes.\n* **L'étude de corrélation :** examinez comment les tendances de l'utilisation de l'IA au sein d'un projet ou d'un groupe influencent d'autres métriques de productivité essentielles, affichées pour le mois en cours et les six derniers mois. \n\n  * Pour cette analyse de corrélation, nous avons ajouté une nouvelle métrique : le « Taux d'utilisation des suggestions de code » comme variable indépendante (la cause). Le taux d'utilisation mensuel des suggestions de code représente le nombre d'utilisateurs mensuels uniques de la fonctionnalité de suggestions de code divisé par le nombre total de [contributeurs](https://docs.gitlab.com/ee/user/profile/contributions_calendar.html#user-contribution-events) uniques par mois. GitLab prend en compte le nombre total de contributeurs uniques au code par mois, ce qui signifie que seuls les utilisateurs dont les événements sont poussés sont inclus dans le calcul.\n  * Comme variables dépendantes (l'effet), nous avons ajouté les [indicateurs de performance](https://docs.gitlab.com/ee/user/analytics/value_streams_dashboard.html#dashboard-metrics-and-drill-down-reports) suivants : la durée du cycle, le délai d'exécution et la fréquence de déploiement. Et comme [mesures de qualité et de sécurité](https://docs.gitlab.com/ee/user/analytics/value_streams_dashboard.html#dashboard-metrics-and-drill-down-reports), nous avons ajouté le taux d'échec des modifications et les vulnérabilités critiques. \n* **Une vue comparative :**  comprenez la différence de performance des équipes qui utilisent ou non l'IA et gérez le compromis entre rapidité, qualité et exposition à la sécurité.\n\n![Comparaison de l'utilisation de l'IA et des performances SDLC](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098621/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750098620998.png)\n\n## Quelles sont les prochaines étapes ?\n\nA l'avenir, nous souhaitons faire évoluer notre tableau de bord d’analyse d'impact de l’IA en ajoutant :\n\n1. De nouvelles vignettes telles que les « Sièges GitLab Duo : assignés et utilisés », les « Suggestions de code : taux d'acceptation % » et le « GitLab Duo Chat : utilisateurs uniques » pour obtenir un aperçu plus approfondi des modèles d'utilisation de GitLab Duo.\n\n![Tableau de bord d'analyse d'impact de l'IA](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098621/Blog/Content%20Images/Blog/Content%20Images/Screenshot_2024-07-17_at_12.50.31_aHR0cHM6_1750098620999.png)\n\n2. Un nouveau diagramme de comparaison pour aider les utilisateurs à observer la corrélation des changements d'une métrique avec les changements des autres :\n\n![Histogramme de comparaison de l'impact de l'IA](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098621/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750098621000.png)\n\n3. Des statistiques d'IA dans le [rapport d'analyse des contributions](https://docs.gitlab.com/ee/user/group/contribution_analytics/index.html) pour comprendre comment les utilisateurs interagissent avec les fonctionnalités d'IA. Découvrez quels utilisateurs tirent parti des fonctionnalités d'IA et si leurs performances ont évolué au fil du temps :\n\n![Rapport d'analyse des contributions](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098621/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750098621001.png)\n\n## Commencez dès aujourd'hui\n\nNous sommes très enthousiastes concernant le potentiel du tableau de bord d'analyse d'impact de l'IA. D'une part pour sa capacité à démontrer les résultats commerciaux réels de l'IA, mais aussi pour prendre des décisions plus éclairées concernant l'IA du futur dans le cadre de l'optimisation du cycle de vie DevSecOps. Pour plus d'informations sur la suite des événements et pour partager vos commentaires ou vos questions, [consultez notre epic dédié au tableau de bord d'analyse d'impact de l'IA](https://gitlab.com/groups/gitlab-org/-/epics/12978).\n\n[Essayez GitLab Duo gratuitement](https://about.gitlab.com/fr-fr/gitlab-duo/#free-trial \"Essayer gratuitement GitLab Duo\") dès aujourd'hui !\n\n## En savoir plus sur la série d’articles dédiée au « Développement de GitLab Duo »\n\n* [GitLab Duo : comment nous validons et testons les modèles d'IA à grande échelle](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-how-we-validate-and-test-ai-models-at-scale/ \"Développement de GitLab Duo : comment nous validons et testons les modèles d'IA à grande échelle\")\n* [GitLab Duo : mesurer le ROI de l’IA avec le tableau de bord d'analyse d'impact](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai/ \"Développement de GitLab Duo : mesurer le ROI de l’IA avec le tableau de bord d'analyse d'impact\")\n* [GitLab Duo : comment nous utilisons nos propres fonctionnalités d’IA](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-how-we-are-dogfooding-our-ai-features/ \"Développement de GitLab Duo : comment nous utilisons nos propres fonctionnalités d’IA\")\n* [GitLab Duo : tester et sécuriser le code généré par l'IA](https://about.gitlab.com/fr-fr/blog/how-gitlab-duo-helps-secure-and-thoroughly-test-ai-generated-code/ \"Développement de GitLab Duo : tester et sécuriser le code généré par l'IA\")\n\n*Avertissement : cet article de blog contient des informations relatives aux produits, fonctionnalités et caractéristiques à venir. Il est important de noter que les informations contenues dans cet article de blog ne sont fournies qu'à titre informatif. Veuillez ne pas vous fier à ces informations à des fins d'achat ou de planification. Comme pour tout projet, les éléments mentionnés dans cet article sont susceptibles de changer ou d’être retardés. Le développement, la sortie et le calendrier de tout produit ou fonctionnalité restent à la seule discrétion de GitLab.*",[684,890,9],"performance",{"slug":892,"featured":90,"template":691},"developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai","content:fr-fr:blog:developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai.yml","Developing Gitlab Duo Ai Impact Analytics Dashboard Measures The Roi Of Ai","fr-fr/blog/developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai.yml","fr-fr/blog/developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai",{"_path":898,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":899,"content":905,"config":914,"_id":916,"_type":13,"title":917,"_source":15,"_file":918,"_stem":919,"_extension":18},"/fr-fr/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd",{"ogTitle":900,"schema":901,"ogImage":902,"ogDescription":903,"ogSiteName":673,"noIndex":6,"ogType":674,"ogUrl":904,"title":900,"canonicalUrls":904,"description":903},"GitLab Duo : l'IA combinée à l'analyse des causes profondes","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Développement de GitLab Duo : l'IA combinée à l'analyse des causes profondes pour réparer les pipelines CI/CD\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Rutvik Shah\"},{\"@type\":\"Person\",\"name\":\"Michael Friedrich\"}],\n        \"datePublished\": \"2024-06-06\",\n      }\n                  ","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097321/Blog/Hero%20Images/Blog/Hero%20Images/blog-hero-banner-1-0178-820x470-fy25_7JlF3WlEkswGQbcTe8DOTB_1750097321081.png","Découvrez comment nous avons associé une fonctionnalité d'analyse des causes profondes à l'IA pour vous aider à réparer les pipelines CI/CD défectueux.","https://about.gitlab.com/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd",{"title":906,"description":903,"authors":907,"heroImage":902,"date":910,"body":911,"category":682,"tags":912},"GitLab Duo : l'IA combinée à l'analyse des causes profondes pour réparer les pipelines CI/CD",[908,909],"Rutvik Shah","Michael Friedrich","2024-06-06","***L'IA générative marque une avancée majeure dans le domaine du\ndéveloppement logiciel, simplifiant le processus de développement, de\nsécurisation et d'exploitation des logiciels. Notre série d'articles de\nblog, rédigée par nos équipes produit et ingénierie, vous propose un aperçu\nde notre processus de création, de test et de déploiement des\nfonctionnalités d'IA que vous avez besoin d'intégrer dans l'ensemble de\nl'entreprise. Explorez les nouvelles capacités de GitLab Duo et découvrez\ncomment elles aident les équipes DevSecOps à livrer de meilleurs résultats\naux clients.***\n\n\nAvez-vous déjà été contraint d'interrompre votre workflow [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que le DevSecOps ?\"), voire de retarder votre processus de déploiement logiciel, alors que vous cherchiez la cause profonde d'un problème de pipeline [CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/benefits-continuous-integration/) ? Traditionnellement, lorsqu'un problème survient au cours du processus de création de logiciels, les développeurs doivent parcourir les fichiers journaux et le résoudre après de multiples essais. [L'analyse des causes profondes de GitLab Duo](https://about.gitlab.com/fr-fr/gitlab-duo/), l'une de nos fonctionnalités alimentées par l'IA, élimine les hypothèses en déterminant la cause profonde de l'échec d'un pipeline CI/CD. \n\n\nDécouvrez dans cet article ce qu’est l'analyse des causes profondes et comment appliquer cette fonctionnalité GitLab Duo alimentée par l'IA à votre workflow DevSecOps.\n\n\n> Vous avez manqué notre événement virtuel à l’occasion du lancement de GitLab 17 ? [Accédez au replay !](https://about.gitlab.com/fr-fr/seventeen/)\n\n\n## Qu’est-ce que l'analyse des causes profondes ?\n\n\nL'analyse des causes profondes de GitLab Duo est une fonctionnalité alimentée par l'IA qui analyse les journaux pour vous aider à identifier une cause profonde et suggère une solution lorsqu'un job log CI/CD échoue.\n\n\nBien qu'elle soit souvent utilisée pour gérer les incidents liés aux produits, ses méthodes et ses pratiques de débogage se retrouvent dans tous les workflows DevSecOps. Lorsque les équipes Ops, les administrateurs et les ingénieurs de plateforme enquêtent sur les échecs de pipeline, ils sont confrontés à des erreurs de déploiement de l'Infrastructure as Code (IaC), à des problèmes liés à [Kubernetes](https://about.gitlab.com/fr-fr/blog/kubernetes-the-container-orchestration-solution/ \"Qu'est-ce que Kubernetes ? \") et [GitOps](https://about.gitlab.com/fr-fr/topics/gitops/ \"GitOps\"), ainsi qu'à de longues traces d'appels détaillant la séquence complète des fonctions ou des méthodes impliquées dans les défaillances.\n\n\nRassemblant les équipes sur une seule interface, la fonctionnalité d'analyse des causes profondes de GitLab Duo fait appel à l'IA pour résumer, analyser et proposer des correctifs afin que les entreprises puissent déployer plus rapidement des logiciels sécurisés.\n\n\nUn pipeline peut échouer pour diverses raisons, notamment des erreurs de syntaxe dans le code, des dépendances manquantes, des échecs de test pendant le processus de compilation, des délais d'attente dépassés lors du déploiement de Kubernetes et de l'IaC, ainsi que de nombreux autres problèmes potentiels. Lorsque de tels échecs se produisent, toute l'équipe a la responsabilité d'examiner minutieusement les logs générés par le pipeline. Ce processus d'examen du job log consiste à vérifier minutieusement les sorties détaillées pour identifier les erreurs spécifiques et les causes profondes de l'échec du pipeline. Par exemple, le pipeline suivant a enregistré plusieurs échecs qui doivent être examinés et corrigés.\n\n\n![Image illustrant plusieurs échecs de jobs](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097332/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750097332601.png)\n\n\nLa durée nécessaire pour corriger ces échecs est très variable et grandement influencée par plusieurs facteurs, tels que :\n\n\n* la connaissance du projet par le développeur,\n\n* son niveau d'expérience avec des problèmes similaires,\n\n* son niveau de compétence global en matière de dépannage et de résolution de problèmes dans le contexte du pipeline.\n\n\nL'analyse manuelle peut être extrêmement difficile et chronophage, dans la mesure où les données des journaux se composent de journaux d'applications et de messages système rassemblant de nombreuses sources d'échec potentielles. Un correctif de pipeline typique peut consister en plusieurs itérations et en un changement de contexte. La complexité et la nature non structurée des fichiers journaux illustrent à la perfection la manière dont l'IA générative permet d'accélérer les tâches. L'utilisation de l'IA peut réduire considérablement le temps nécessaire pour identifier et corriger une erreur de pipeline. Elle abaisse également le niveau d'expertise nécessaire pour réparer un pipeline comme celui présenté ci-dessus.\n\n\nRegardez la fonctionnalité d’analyse des causes profondes de GitLab Duo en action :\n\n\n\u003C!-- blank line -->\n\n\n\u003Cfigure class=\"video_container\">\n\n \u003Ciframe src=\"https://www.youtube.com/embed/sTpSLwX5DIs?si=J6-0Bf6PtYjrHX1K\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n\n\u003C/figure>\n\n\n\u003C!-- blank line -->\n\n\n## Comment fonctionne l'analyse des causes profondes ?\n\n\n[L'analyse des causes profondes](https://docs.gitlab.com/ee/user/ai_experiments.html#root-cause-analysis) transmet une partie du job log CI/CD à la [passerelle d'IA de GitLab](https://docs.gitlab.com/ee/architecture/blueprints/ai_gateway/). GitLab intègre ce segment dans les limites du token du grand modèle de langage (LLM) et l'associe à un prompt créé en amont afin de fournir des informations sur les raisons possibles de l'échec du job. Le prompt demande également au LLM de fournir un exemple de résolution du job qui a échoué.\n\n\nVoici deux exemples de scénarios où la fonctionnalité d'analyse des causes profondes de GitLab peut vous être utile.\n\n\n#### 1. Analysez une erreur de dépendance Python\n\n\nUne application Python peut importer des modules de package contenant des fonctionnalités qui ne sont pas fournies dans la bibliothèque standard. Le projet « [Challenge - Root Cause Analysis - Python Config](https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-challenges/root-cause-analysis/challenge-root-cause-analysis-python-config) » met en œuvre une application qui analyse la configuration et initialise une base de données SQLite. Ces deux éléments fonctionnent sans dépendance. Le projet utilise les meilleures pratiques CI/CD avec une mise en cache et un environnement Python. La dernière implémentation de la fonctionnalité ajoute un client de mise en cache Redis et la compilation CI/CD échoue maintenant pour une raison quelconque. \n\n\nGrâce à la fonctionnalité d'analyse des causes profondes de GitLab Duo, vous pouvez immédiatement repérer que le texte `ModuleNotFoundError` signifie que le module n'est pas installé dans l'environnement Python. GitLab Duo suggère également un exemple de correctif : l'installation du module Redis via le gestionnaire de paquets PIP.\n\n\n![Image représentant le message 'modulenotfounderror' et la résolution suggérée par GitLab Duo](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097332/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750097332602.png)\n\n\nPour consulter le pipeline défectueux, cliquez sur [ce lien](https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-challenges/root-cause-analysis/challenge-root-cause-analysis-python-config/-/jobs/6992716398). \n\n\nLe prompt d'analyse des causes profondes de GitLab fournit un résumé du problème, qui semble découler d'un module `redis` manquant. Essayons de le résoudre en installant le module `redis`. Vous pouvez appeler `pip install redis` dans la section `script` du job CI/CD, ou utiliser une approche plus sophistiquée avec le fichier `requirements.txt`. Ce dernier est utile si vous souhaitez avoir une source unique de vérité pour les dépendances installées dans l'environnement de développement et les pipelines CI/CD.\n\n\n```yaml\n\ntest:\n  extends: [.python-req]\n  stage: test \n  before_script:\n    # [🦊] hint: Root cause analysis. # Solution 1: Install redis using pip\n    - pip install redis\n    # Solution 2: Add redis to requirements.txt, use pip\n    - pip install -r requirements.txt \n\n  script:\n    - python src/main.py\n```\n\n\nUne fois la dépendance Python manquante corrigée, le job CI/CD échoue à nouveau. Utilisez une nouvelle fois l'analyse des causes profondes de GitLab et vous constaterez qu'aucun service Redis n'est en cours d'exécution dans le job. Dans GitLab Duo Chat, saisissez le prompt `How to start a Redis service in CI/CD` (Comment démarrer un service Redis dans CI/CD) pour apprendre à configurer l'attribut `services` dans le job CI/CD.\n\n\n![Illustre le prompt indiquant comment démarrer un service Redis](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097333/Blog/Content%20Images/Blog/Content%20Images/image6_aHR0cHM6_1750097332602.png)\n\n\nModifiez le fichier `.gitlab-ci.yml` avec le job `test` et indiquez le service `redis`.\n\n\n```yaml\n\ntest:\n  extends: [.python-req]\n  stage: test \n  before_script:\n    # [🦊] hint: Root cause analysis.\n    # Solution 1: Install redis using pip\n    - pip install redis\n    # Solution 2: Add redis to requirements.txt, use pip\n    - pip install -r requirements.txt \n\n  script:\n    - python src/main.py\n\n  # Solution 3 - Running Redis\n  services:\n    - redis\n```\n\n\nL'exécution du serveur Redis vous permet d'exécuter avec succès l'application Python et d'enregistrer sa sortie dans le job log CI/CD.\n\n\n![sortie de l'application Python](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097332/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750097332603.png)\n\n\nLa solution est fournie dans le [dépôt solution/](https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-challenges/root-cause-analysis/challenge-root-cause-analysis-python-config/-/tree/main/solution?ref_type=heads).\n\n\n**Conseil :** vous pouvez également demander à [GitLab Duo Chat](https://docs.gitlab.com/ee/user/gitlab_duo_chat.html) de suivre les problèmes potentiels à l'avenir.\n\n\n```markdown\n\nHow to lint Python code? Which tools are recommended for CI/CD.\n\nHow to pin a package version in Python requirements file?\t\n\nWhat are possible ways that this exception stacktrace is triggered in the future?\n\nAre there ways to prevent the application from failing?\n\n```\n\n\nL'exemple suivant est plus avancé et comprend plusieurs échecs. \n\n\n#### 2. Analysez le runtime Go manquant\n\n\nLes jobs CI/CD peuvent être exécutés dans des conteneurs, générés à partir de l'attribut `image` fourni. Si le conteneur ne fournit pas de runtime de langage de programmation, les sections `script` exécutées faisant référence au binaire `go` échouent. Par exemple, il est nécessaire de comprendre et de corriger le message d'erreur `/bin/sh: eval: line 149: go: not found`. \n\n\nPlusieurs raisons peuvent expliquer que la commande `go` ne se trouve pas dans le contexte de runtime du conteneur :\n\n\n1. Le job utilise une image de conteneur minimale, par exemple `alpine`, et le runtime du langage Go n'a pas été installé.\n\n2. Le job utilise la mauvaise image de conteneur par défaut, par exemple, celle indiquée au-dessus de la configuration CI/CD ou correspondant au mot-clé `default`.\n\n3. Le job utilise le Shell executor (exécuteur Shell) à la place de l'image de conteneur. Le runtime Go n'est pas installé sur le système d'exploitation hôte, il échoue pour un autre motif ou n'est pas configuré.\n\n\nNotre projet « [Challenge - Root Cause Analysis - Go GitLab Release Fetcher](https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-challenges/root-cause-analysis/challenge-root-cause-analysis-go-gitlab-release-fetcher) » propose un exercice d'analyse et de résolution des problèmes CI/CD avec une application de récupération de versions GitLab, écrite en langage Go. Les jobs CI/CD `build` et `docker-build` échouent. La résolution du problème a différentes portées : comprendre pourquoi le runtime Go n'est pas installé et en apprendre davantage sur la syntaxe `Dockerfile`.\n\n\n![Capture d'écran montrant l'échec du job Modifier l'étiquette Docker](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097332/Blog/Content%20Images/Blog/Content%20Images/image5_aHR0cHM6_1750097332603.png)\n\n\nLe [dépôt `solution/`](https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-challenges/root-cause-analysis/challenge-root-cause-analysis-go-gitlab-release-fetcher) suggère deux solutions possibles après l'analyse des causes profondes. \n\n\n## Entraînez-vous à utiliser l'analyse des causes profondes\n\n\nVoici plusieurs scénarios pour lesquels vous pouvez vous entraîner à travailler avec la fonctionnalité d'analyse des causes profondes de GitLab.\n\n\n* Lorsque vous rencontrez des délais d'attente expirés ou des erreurs de déploiements. \n\n* Lorsque des pipelines IaC OpenTofu ou Terraform ne parviennent pas à provisionner vos ressources cloud.\n\n* Lorsque le playbook Ansible échoue et affiche un message d'erreur cryptique d'autorisation dans le CI/CD.\n\n* Lorsque la trace d'appels Java contient 10 pages.\n\n* Lorsqu'un script shell met en évidence une erreur d'exécution.\n\n* Lorsqu'un script Perl échoue sur la seule ligne que ce script contient.\n\n* Lorsque le job CI/CD est interrompu et que la section qui en serait la cause n'est pas évidente.\n\n* Lorsqu'un délai d'attente de connexion réseau est atteint et que vous pensez qu'il ne peut pas s'agir du DNS.\n\n\n## Quels sont les prochains développements prévus pour l'analyse des causes profondes de GitLab Duo ?\n\n\nNous voulons aider nos utilisateurs à réduire le nombre d'itérations nécessaires pour valider leurs [pipelines CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline CI/CD ? \"). À l'avenir, la fonctionnalité d'analyse des causes profondes de GitLab s'ouvrira systématiquement et affichera la réponse dans GitLab Duo Chat, notre assistant d'IA. Les utilisateurs pourront alors s'appuyer sur la recommandation pour générer un correctif plus précis en posant des questions spécifiques (par exemple, des correctifs spécifiques pour un langage de programmation particulier) ou en demandant des correctifs alternatifs en fonction de la cause profonde identifiée.\n\n\nPar exemple, voici le résultat de l'analyse des causes profondes d'un job ayant rencontré un échec :\n\n\n![Réponse de l'Analyse des causes profondes](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097332/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097332603.png)\n\n\nLes utilisateurs peuvent poser des questions de suivi qui approfondissent la réponse générée par l'IA.\n\n\n* Je ne veux pas créer ma propre image Docker. Veuillez suggérer d'autres façons de résoudre le problème.\n\n* Je n'ai pas accès à la création d'image Docker. Il semble que le binaire Go soit manquant. Pouvez-vous suggérer des images alternatives ?\n\n\nGitLab exécutera également un benchmark de la qualité des réponses générées et mettra en place des améliorations pour rendre l'utilisation plus conviviale et efficace.\n\n\nConsultez notre [epic sur la disponibilité générale de l'analyse des causes profondes](https://gitlab.com/groups/gitlab-org/-/epics/13080) pour en savoir plus et laissez un commentaire sur notre [ticket dédié à l'analyse des causes profondes](https://gitlab.com/groups/gitlab-org/-/epics/13872) pour nous dire ce que vous pensez de cette fonctionnalité. \n\n\n## Profitez dès maintenant des nombreux avantages de l'analyse des causes profondes\n\n\nPour activer cette fonctionnalité, consultez notre [documentation](https://docs.gitlab.com/ee/user/ai_experiments.html#root-cause-analysis). L'analyse des causes profondes est disponible actuellement pour nos clients GitLab Ultimate et sera bientôt disponible dans GitLab Auto-géré et GitLab Dedicated.\n\n\nVous souhaitez tester GitLab Ultimate ? Commencez dès aujourd'hui [un essai gratuit de 30 jours](https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/blog&glm_content=default-saas-trial). \n\n\n## En savoir plus sur le « Développement de GitLab Duo »\n\n\n* [Développement de GitLab Duo : comment nous validons et testons les modèles d'IA à grande échelle](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai/)\n\n* [Développement de GitLab Duo : mesurer le ROI de l’IA avec le tableau de bord d'analyse d'impact](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai/)\n\n* [Développement de GitLab Duo : comment nous utilisons nos propres fonctionnalités d'IA](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai/)\n\n* [Développement de GitLab Duo : tester et sécuriser le code généré par l'IA](https://about.gitlab.com/fr-fr/blog/how-gitlab-duo-helps-secure-and-thoroughly-test-ai-generated-code/)\n",[684,689,913,685,9],"DevSecOps",{"slug":915,"featured":90,"template":691},"developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd","content:fr-fr:blog:developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd.yml","Developing Gitlab Duo Blending Ai And Root Cause Analysis To Fix Ci Cd","fr-fr/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd.yml","fr-fr/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd",{"_path":921,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":922,"content":928,"config":936,"_id":938,"_type":13,"title":939,"_source":15,"_file":940,"_stem":941,"_extension":18},"/fr-fr/blog/developing-gitlab-duo-how-we-are-dogfooding-our-ai-features",{"ogTitle":923,"schema":924,"ogImage":925,"ogDescription":926,"ogSiteName":673,"noIndex":6,"ogType":674,"ogUrl":927,"title":923,"canonicalUrls":927,"description":926},"GitLab Duo : nos fonctionnalités d’IA adoptées en interne","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Développement de GitLab Duo : comment nous utilisons nos propres fonctionnalités d’IA \",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"David O'Regan\"}],\n        \"datePublished\": \"2024-05-20\",\n      }","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098360/Blog/Hero%20Images/Blog/Hero%20Images/blog-hero-banner-1-0178-820x470-fy25_7JlF3WlEkswGQbcTe8DOTB_1750098360821.png","Découvrez des exemples concrets de la façon dont nous intégrons l'IA dans notre SDLC et comment nous utilisons des métriques pour évaluer leur réussite.","https://about.gitlab.com/blog/developing-gitlab-duo-how-we-are-dogfooding-our-ai-features",{"title":929,"description":930,"authors":931,"heroImage":925,"date":932,"body":933,"category":682,"tags":934},"GitLab Duo : comment nous utilisons nos propres fonctionnalités d’IA","Dans le cadre de notre série d’articles de blog, nous partageons des exemples concrets de la façon dont nous intégrons l'IA dans notre cycle de développement logiciel et comment nous utilisons des métriques pour évaluer leur réussite.",[863],"2024-05-20","***L'IA générative marque une avancée majeure dans le domaine du\ndéveloppement logiciel, simplifiant le processus de développement, de\nsécurisation et d'exploitation des logiciels. Notre nouvelle série\nd'articles de blog, rédigée par nos équipes produit et ingénierie, vous\npropose un aperçu de notre processus de création, de test et de déploiement\ndes fonctionnalités d'IA que vous avez besoin d'intégrer dans l'ensemble de\nl'entreprise. Explorez les nouvelles capacités de GitLab Duo et découvrez\ncomment elles aideront les équipes DevSecOps à livrer de meilleurs résultats\naux clients.***\n\n\n[GitLab Duo](https://about.gitlab.com/fr-fr/gitlab-duo/), notre suite de fonctionnalités alimentées par l'IA, a transformé nos workflows d'ingénierie internes, générant des gains d'efficacité tout au long de notre processus de développement. En tant que fervents partisans du dogfooding et de la transparence, nous voulions montrer comment nos équipes tirent parti de l'IA au quotidien, y compris des fonctionnalités phares comme les suggestions de code de GitLab Duo et [GitLab Duo Chat](https://docs.gitlab.com/ee/user/gitlab_duo_chat/index.html \"Fonctionnalité GitLab Duo Chat\"), pour rationaliser les processus de développement, réduire les efforts manuels et améliorer la productivité. Découvrez dans cet article les bénéfices de GitLab Duo pour nos équipes.\n\n\n## Comment nos équipes utilisent GitLab Duo ?\n\n\nNos équipes ont intégré de nombreuses [fonctionnalités de GitLab Duo](https://about.gitlab.com/fr-fr/gitlab-duo/#features \"Fonctionnalités de GitLab Duo\"). Découvrez comment GitLab Duo les aide à mener à bien leurs projets.\n\n\n### Résumé et documentation\n\n\n* **Rationaliser le processus de revue de code :** [Gosia Ksionek](https://about.gitlab.com/company/team/#mksionek), Staff Backend Engineer, présente les avantages pratiques de l'IA dans son workflow en utilisant GitLab Duo pour rationaliser le processus de revue de code. Elle utilise efficacement GitLab Duo pour résumer les [merge requests](https://www.youtube.com/watch?v=3SIhe8dgFEc&feature=youtu.be), ce qui facilite et accélère l'examen des modifications apportées au code. En plus de résumer les merge requests, Gosia utilise également GitLab Duo pour [répondre aux questions relatives au code](https://www.youtube.com/watch?v=6n0I53XsjTc) et [expliquer les extraits de code complexes](https://www.youtube.com/watch?v=3m2YRxa1SCY). Cela améliore sa productivité et l'aide à mieux comprendre et gérer des codebases complexes. À travers ces démonstrations, Gosia souligne comment GitLab Duo peut considérablement améliorer l'efficacité et la clarté du processus de développement, ce qui en fait un outil inestimable pour les développeurs.\n\n\n\u003Ccenter>\n\n\nDans cette vidéo, Gosia utilise le résumé de merge requests de GitLab Duo :\n\n\n\u003C!-- ligne vide -->\n\n\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/3SIhe8dgFEc?si=Q8JG3Ix3K_THhbpv\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n\u003C/figure>\n\n\u003C!-- ligne vide -->\n\n\nDans cette vidéo, Gosia utilise GitLab Duo pour répondre aux questions relatives au code : \n\n\n\u003C!-- ligne vide -->\n\n\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/6n0I53XsjTc?si=LA9VBHrgXpfJImSL\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n\u003C/figure>\n\n\u003C!-- ligne vide -->\n\n\nDans cette vidéo, Gosia utilise GitLab Duo pour expliquer des extraits de code complexes :\n\n\n\u003C!-- ligne vide -->\n\n\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/3m2YRxa1SCY?si=oms3szKwZoz-4yeq\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n\u003C/figure>\n\n\u003C!-- ligne vide -->\n\n\n\u003C/center>\n\n\n* **Condenser les fils de commentaires :** [Bartek Marnane](https://about.gitlab.com/company/team/#bmarnane), Vice President of Expansion Software Development, utilise GitLab Duo pour condenser de longs fils de discussion en résumés concis, en veillant à ce que tous les détails pertinents soient capturés lors de la mise à jour des descriptions des tickets.\n\n* **Créer une nouvelle documentation :** [Taylor McCaslin](https://about.gitlab.com/company/team/#tmccaslin), Group Manager, Product - Data Science Section, a tiré parti de GitLab Duo afin de [créer une nouvelle documentation pour GitLab Duo](https://docs.gitlab.com/ee/user/gitlab_duo/index.html \"Documentation de GitLab Duo\"). Ce qui lui a permis d'améliorer la clarté et la cohérence du contenu, tout en réduisant considérablement le temps requis pour documenter de nouvelles fonctionnalités.\n\n* **Rédiger des notes de version :** [Amanda Rueda](https://about.gitlab.com/company/team/#amandarueda), Senior Product Manager, utilise GitLab Duo pour [rédiger des résumés brefs et percutants pour les notes de version](https://gitlab.com/groups/gitlab-org/-/epics/10267), mettant en évidence les modifications et leur valeur pour les utilisateurs. En utilisant des prompts bien conçus comme ci-dessous, Amanda dynamise son workflow et s'assure que chaque note de version est claire, concise et centrée sur l'utilisateur, améliorant ainsi la communication globale et l'expérience utilisateur :\n  \u003Cbr>\u003Cbr>*« Veuillez créer un résumé en deux phrases de ce changement, qui peut être utilisé pour nos notes de version. Le ton doit être décontracté et le tutoiement doit être utilisé. Le résumé doit inclure une description du problème ou du changement apporté et être lié à la valeur que nous créons pour vous, l'utilisateur. »*\n  \u003Cbr>\u003Cbr>\n      - Voici quelques exemples de notes de version co-créées avec GitLab Duo :\n        - [Options étendues pour trier votre roadmap](https://gitlab.com/gitlab-org/gitlab/-/issues/460492)\n        - [Clarté du tableau de bord des tickets avec jalons et itérations](https://gitlab.com/gitlab-org/gitlab/-/issues/25758)\n        - [Fonctionnalités de gestion de la conception étendues aux équipes produit](https://gitlab.com/gitlab-org/gitlab/-/issues/438829)\n* **Optimiser la navigation sur le site de documentation :** [Suzanne Selhorn](https://about.gitlab.com/company/team/#sselhorn), Staff Technical Writer, a tiré parti de GitLab Duo pour [optimiser la navigation à gauche de la documentation](https://docs.gitlab.com/ee/user/get_started/get_started_projects.html) en fournissant un ordre de pages basé sur le workflow. Suzanne a fourni une liste de fonctionnalités à GitLab Duo, qui a généré l'ordre optimal, mettant à jour la navigation de gauche en conséquence. GitLab Duo a également rédigé la documentation [de démarrage](https://docs.gitlab.com/ee/user/get_started/get_started_planning_work.html) beaucoup plus rapidement que si Suzanne l’avait fait manuellement.\n\n\n### Définition des objectifs et alignement de l'équipe\n\n\n* **Rédiger et affiner des OKR :** [François Rosé](https://about.gitlab.com/company/team/#francoisrose), Engineering Manager, trouve l'aide de [GitLab Duo Chat](https://about.gitlab.com/blog/gitlab-duo-chat-now-generally-available/) inestimable pour rédiger et affiner des [OKR](https://about.gitlab.com/fr-fr/blog/what-is-an-okr-definition/ \"Qu'est-ce qu'un ORK ?\"). En formulant des objectifs clairs et efficaces, François améliore la définition des objectifs et l'alignement de son équipe. En utilisant le chat, François s'assure que chaque OKR est précis, actionnable et aligné avec les objectifs, ce qui améliore la performance et la cohésion globales de l'équipe. Voici un exemple de prompt qu'il utilise :\u003Cbr>\u003Cbr>\n\n     *« Voici un OKR que je pense créer :*\n\n  ```\n  *Objectif : Revenir sur les rétrospectives, pour favoriser une équipe prospère*\n\n  *Résultat clé : Mesurer la satisfaction des rétrospectives de 100 % des membres de l'équipe*\n\n  *Résultat clé : Identifier 3 améliorations pour les rétrospectives asynchrones*\n\n  *Résultat clé : Mettre en œuvre 1 amélioration*\n\n  *Veuillez fournir des commentaires directs sur la manière d'améliorer la formulation de cet objectif et de ces résultats clés. »*\n  ```\n\n  \u003Cbr>\u003Cbr>\n* **Rationaliser les processus de recrutement :** GitLab Duo Chat a aidé [Denys Mishunov](https://about.gitlab.com/company/team/#dmishunov), Staff Frontend Engineer, à mettre à jour le modèle d'e-mail pour les candidats aux entretiens techniques en formulant un texte clair et concis. De cette manière, l'équipe collabore pour affiner la communication afin de s'assurer que les candidats reçoivent toutes les informations nécessaires.\n\n\n### Réponse et configuration des incidents\n\n\n* **Résumer les incidents en production :** [Steve Xuereb](https://about.gitlab.com/company/team/#sxuereb), Staff Site Reliability Engineer, utilise GitLab Duo pour résumer les incidents en production et créer des revues d'incidents détaillées, rationalisant ainsi le processus de documentation.\n\n* **Créer des fichiers « .gitlab-ci.yml » :**  Steve utilise également la fonctionnalité Chat pour créer des fichiers de type « .gitlab-ci.yml », ce qui a considérablement accéléré son workflow. De plus, l'[explication de code](https://docs.gitlab.com/ee/user/ai_features.html#code-explication) fournit des réponses détaillées qui sont utiles lors d'incidents, améliorant sa productivité et sa compréhension du codebase.\n\n\n### Génération de code et tests\n\n\n* **Développement full stack :** [Peter Hegman](https://about.gitlab.com/company/team/#peterhegman), Senior Frontend Engineer, utilise les [suggestions de code pour son développement JavaScript et Ruby](https://gitlab.com/gitlab-org/gitlab/-/issues/435783#note_1731321963). Les suggestions de code sont devenues un outil puissant pour les développeurs évoluant au sein d'une pile technique complète.\n\n* **Générer des scripts Python :** Denys a mené [une expérience en utilisant GitLab Duo pour une tâche non liée à GitLab](https://gitlab.com/gitlab-org/ai-powered/ai-framework/ai-experimentation). Cet exemple met en évidence la flexibilité et l'utilité de nos outils d'IA au-delà des tâches de développement de logiciels typiques.\n\n\n\u003Ccenter>\n\n\nRegardez comment Denys utilise GitLab Duo pour générer des scripts Python afin de récupérer des données de contenu et les stocker localement :\n\n\n\u003C!-- ligne vide -->\n\n\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/30ZTtk4K5yU?si=p5ZcFLg6dTZL5gFE\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n\u003C/figure>\n\n\u003C!-- ligne vide -->\n\n\n\u003C/center>\n\n\n### Recherche et assistance\n\n\n* **Générer le code source de test :**  [Michael Friedrich](https://about.gitlab.com/company/team/#dnsmichi), Senior Developer Advocate, utilise GitLab Duo pour générer le code source de test pour les composants [CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce que l'approche CI/CD ?\"). Cette approche a été partagée dans diverses conférences et présentations, notamment lors de l’événement Open Source @ Siemens ([consultez la présentation](https://go.gitlab.com/duA2Fc)). De cette manière, l'utilisation de GitLab Duo permet de s'assurer que le code est cohérent, bien documenté et aligné avec nos bonnes pratiques. Découvrez [l’exemple de Rust](https://gitlab.com/components/rust#contributing).\n\n\n![Exemple Rust](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098367/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750098367547.png)\n\n\n* **Rationaliser les tâches de recherche :** Les membres de notre équipe se tournent régulièrement vers le chat lorsqu'ils ont des questions sur les fonctionnalités de GitLab. « Lorsque j'ai une question sur les fonctionnalités de GitLab, j'utilise systématiquement le chat plutôt que d'ouvrir 100 onglets de navigateur. Ce workflow m'aide à apporter une aide efficace aux utilisateurs du forum de notre communauté. Par exemple, j'ai récemment [aidé un utilisateur dans le cadre d'un déploiement SSH](https://forum.gitlab.com/t/how-to-make-ssh-deployment-more-clear-in-gitlab/102051/4?u=dnsmichi) en utilisant cette méthode. », indique Michael. L'utilisation du chat permet non seulement de gagner du temps, mais aussi de fournir des informations rapides et précises, améliorant ainsi l'assistance que nous offrons à notre communauté.\n\n\n### Test de fonctionnalités\n\n\n* **Tester les nouvelles fonctionnalités :** Nos ingénieurs utilisent GitLab Duo pour tester de nouvelles fonctionnalités telles que [la prise en charge de Markdown dans les suggestions de code](https://gitlab.com/gitlab-org/gitlab/-/issues/443365). « Je dois tester la prise en charge de Markdown dans les suggestions de code pour rédiger des articles de blog et la documentation de GitLab dans VS Code. J'ai vu que cela avait été fusionné pour la version 17.0 », indique l'un des membres de notre équipe. En testant ces fonctionnalités en interne, nous nous assurons qu'elles répondent à nos normes de qualité avant leur sortie.\n\n\n### Comprendre les codebases externes\n\n\n* **Expliquer les projets externes :** La fonctionnalité « /explain » de GitLab Duo est particulièrement utile pour comprendre les projets externes importés dans GitLab. Cette capacité a été mise en avant dans un récent livestream animé par Michael Friedrich et Eddie Jaoude, expert en open source. Dans cette vidéo, Michael nous fait savoir qu’il utilise la fonctionnalité « /explain » sur des projets externes pour comprendre le code source et qu’il a présenté cette idée pour en apprendre davantage sur les projets open source, les dépendances, etc. Cette fonctionnalité est inestimable pour les développeurs qui doivent rapidement comprendre les fonctionnalités et les dépendances de codebases inconnues, ce qui améliore considérablement leur efficacité et leur compréhension.\n\n\n\u003Ccenter>\n\nRegardez la vidéo de Michael sur la fonctionnalité « /explain » lors du livestream avec Eddie Jaoude :\n\n\u003C!-- ligne vide -->\n\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/L2Mx8hOhkEE?si=R7W3v4EDqeJCaPOw\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n\u003C/figure>\n\n\u003C!-- ligne vide -->\n\n\n\u003C/center>\n\n\n## Quels sont les avantages de GitLab Duo ?\n\n\nL'intégration de GitLab Duo a eu de nombreux impacts positifs, ce qui a considérablement amélioré nos workflows d'ingénierie et de développement de produits :\n\n\n* De nombreuses tâches qui nécessitaient auparavant une intervention manuelle sont désormais automatisées, ce qui libère un temps précieux pour nos ingénieurs. Par exemple, la synthèse de longs fils de discussion et la création de code standard sont désormais plus efficaces, ce qui permet à notre équipe de se concentrer sur des problèmes plus complexes.\n\n* Le temps nécessaire pour documenter et résumer les tickets a diminué, ce qui permet une diffusion de l'information et une prise de décision plus rapides.\n\n* Avec les suggestions de code et les explications assistées par l'IA, nos équipes produisent un code de meilleure qualité avec moins d'erreurs et des processus de débogage plus rapides. L'intégration de GitLab Duo dans les revues d'incidents et l'assistance au codage a rendu les revues de code plus efficaces et plus efficientes.\n\n* Les tâches administratives, telles que la rédaction d'OKR et la création de notes de version, ont été rationalisées.\n\n\nGitLab Duo a contribué non seulement à améliorer notre efficacité, mais également à améliorer la qualité et la rapidité de nos processus de développement, illustrant ainsi le pouvoir de transformation de l'IA dans le développement de logiciels.\n\n\n## Et après ?\n\n\nNous nous engageons à intégrer davantage l'IA dans nos workflows et à améliorer continuellement les fonctionnalités de GitLab Duo en fonction des retours internes et de l'évolution des besoins. La collecte de données avec le tableau de bord d'analyse d'impact de l'IA guidera les améliorations et fera en sorte que GitLab Duo reste à la pointe des outils de développement pilotés par l'IA.\n\n\n![Dogfooding appliqué à GitLab Duo - tableau de bord d'analyse de l'IA](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098367/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750098367547.png)\n\n\n> [Essayez GitLab Duo gratuitement dès aujourd'hui !](https://about.gitlab.com/fr-fr/gitlab-duo/#free-trial)\n\n\n## En savoir plus sur le « Développement de GitLab Duo »\n\n\n* [Comment nous validons et testons les modèles d'IA à grande échelle](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-how-we-validate-and-test-ai-models-at-scale/)\n\n* [Mesurer le ROI de l’IA avec le tableau de bord d'analyse d'impact](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai/)\n\n* [Tester et sécuriser le code généré par l'IA](https://about.gitlab.com/fr-fr/blog/how-gitlab-duo-helps-secure-and-thoroughly-test-ai-generated-code/ \"Tester et sécuriser le code généré par l'IA\")\n\n* [L'IA combinée à l'analyse des causes profondes pour réparer les pipelines CI/CD](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd/ \"L'IA combinée à l'analyse des causes profondes pour réparer les pipelines CI/CD\")\n",[684,686,9,685,935],"workflow",{"slug":937,"featured":90,"template":691},"developing-gitlab-duo-how-we-are-dogfooding-our-ai-features","content:fr-fr:blog:developing-gitlab-duo-how-we-are-dogfooding-our-ai-features.yml","Developing Gitlab Duo How We Are Dogfooding Our Ai Features","fr-fr/blog/developing-gitlab-duo-how-we-are-dogfooding-our-ai-features.yml","fr-fr/blog/developing-gitlab-duo-how-we-are-dogfooding-our-ai-features",{"_path":943,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":944,"content":950,"config":958,"_id":960,"_type":13,"title":961,"_source":15,"_file":962,"_stem":963,"_extension":18},"/fr-fr/blog/developing-gitlab-duo-how-we-validate-and-test-ai-models-at-scale",{"ogTitle":945,"schema":946,"ogImage":947,"ogDescription":948,"ogSiteName":673,"noIndex":6,"ogType":674,"ogUrl":949,"title":945,"canonicalUrls":949,"description":948},"GitLab Duo : validation et tests des modèles d'IA","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Développement de GitLab Duo : comment nous validons et testons les modèles d'IA à grande échelle\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Susie Bitters\"}],\n        \"datePublished\": \"2024-05-09\",\n      }","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659856/Blog/Hero%20Images/blog-hero-banner-1-0178-820x470-fy25.png","Découvrez comment nous évaluons les LLM, les adaptons à des cas d'utilisation et les affinons pour fournir de meilleures réponses aux utilisateurs. ","https://about.gitlab.com/blog/developing-gitlab-duo-how-we-validate-and-test-ai-models-at-scale",{"title":951,"description":952,"authors":953,"heroImage":947,"date":955,"body":956,"category":682,"tags":957},"GitLab Duo : comment nous validons et testons les modèles d'IA à grande échelle","Notre série d’articles de blog débute avec un aperçu de la façon dont nous évaluons les grands modèles de langage (LLM), les adaptons à des cas d'utilisation et les affinons pour fournir de meilleures réponses aux utilisateurs.",[954],"Susie Bitters","2024-05-09","***L'[IA générative](https://about.gitlab.com/fr-fr/topics/agentic-ai/ \"Qu'est-ce que l'IA générative ?\") marque une avancée majeure dans le domaine du développement logiciel, simplifiant le processus de développement, de sécurisation et d'exploitation des logiciels. Notre nouvelle série d’articles de blog, rédigée par nos équipes produit et ingénierie, vous propose un aperçu de notre processus de création, de test et de déploiement des fonctionnalités d'IA que vous avez besoin d'intégrer dans l'ensemble de l'entreprise. Explorez les nouvelles capacités de GitLab Duo et découvrez comment elles aideront les équipes [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que le DevSecOps?\") à livrer de meilleurs résultats aux clients.***\n\nGitLab attache une grande importance à la confiance que nos clients nous accordent. Maintenir cette confiance implique une transparence dans la manière dont nous concevons, évaluons et garantissons la qualité des fonctionnalités d'IA de [GitLab Duo](https://about.gitlab.com/fr-fr/gitlab-duo/ \"GitLab Duo\"). Les fonctionnalités de GitLab Duo reposent sur un ensemble diversifié de modèles, ce qui nous permet de prendre en charge une multitude de cas d'utilisation et apporte de la flexibilité à nos clients. GitLab n'est pas lié à un seul fournisseur de modèles. Nous utilisons actuellement les modèles de fondation de [Google](https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist/-/blob/main/ai_gateway/models/vertex_text.py?ref_type=heads#L86) et [Anthropic](https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist/-/blob/main/ai_gateway/models/anthropic.py?ref_type=heads#L62). Néanmoins, nous procédons continuellement à l'évaluation des modèles les plus adaptés aux cas d'utilisation de GitLab Duo. Dans cet article, nous vous présentons un aperçu de notre processus de validation des modèles d'IA.\n\n> [Essayez GitLab Duo gratuitement](https://about.gitlab.com/fr-fr/gitlab-duo/#free-trial \"Essai gratuit de GitLab Duo\") dès aujourd'hui !\n\n## Comprendre les grands modèles de langage (LLM)\n\nLes [grands modèles de langage (LLM)](https://about.gitlab.com/fr-fr/blog/large-language-model/ \"Qu'est-ce qu'un grand modèle de langage ?\") sont des modèles d'IA générative qui alimentent de nombreuses fonctionnalités d'IA sur l'ensemble de la plateforme. Entraînés sur de vastes ensembles de données, les LLM prédisent le mot suivant dans une séquence en fonction du contexte précédent. Sur la base d'un prompt, ils génèrent un texte semblable à celui d’un être humain en échantillonnant à partir de la distribution de probabilité des mots conditionnée par le prompt.\n\nLes LLM permettent des suggestions de code intelligentes, des chatbots conversationnels, des explications de code, des analyses de vulnérabilités et bien plus encore. Leur capacité à produire des résultats variés pour un prompt donné rend difficile l'évaluation standardisée de la qualité. Les LLM peuvent être optimisés pour différentes caractéristiques. C'est la raison pour laquelle tant de modèles d'IA sont en cours de développement.\n\n## Tester à grande échelle\n\nContrairement aux systèmes logiciels traditionnels où les entrées et les sorties peuvent être plus facilement définies et testées, les LLM produisent des résultats souvent nuancés, diversifiés et dépendants du contexte. Tester ces modèles nécessite des stratégies complètes qui tiennent compte des interprétations subjectives et variables de la qualité, ainsi que de la nature stochastique de leurs résultats. Nous ne pouvons donc pas juger de la qualité du résultat d'un LLM de manière individuelle ou anecdotique ; nous devons plutôt être capables d'examiner le schéma global du comportement d'un LLM. Pour avoir une idée de ces schémas, nous devons réaliser des tests à grande échelle. Les tests à grande échelle font référence au processus d'évaluation des performances, de la fiabilité et de la robustesse d'un système ou d'une application sur un large éventail de données et de cas d'utilisation. Notre [Framework d'évaluation centralisé (CEF)](https://about.gitlab.com/direction/ai-powered/ai_framework/ai_evaluation/) utilise des milliers de prompts liés à des dizaines de cas d'utilisation pour nous permettre d'identifier des schémas significatifs et d'évaluer le comportement global de nos modèles LLM de fondation et des fonctionnalités GitLab Duo dans lesquelles ils sont intégrés.\n\nLes tests à grande échelle nous aident à :\n\n* **Garantir la qualité :** les tests à grande échelle nous permettent d'évaluer la qualité et la fiabilité de ces modèles sur un large éventail de scénarios et d’entrées. En validant les résultats de ces modèles à grande échelle, nous pouvons commencer à identifier des schémas et à atténuer les problèmes potentiels tels que les biais systématiques, les anomalies et les inexactitudes.\n* **Optimiser les performances :** la mise à l'échelle des efforts de test permet à GitLab d'évaluer les performances et l'efficacité des LLM dans des conditions réelles. Cela comprend l'évaluation de facteurs tels que la qualité du résultat, la latence et le coût pour optimiser le déploiement et l'exploitation de ces modèles dans les fonctionnalités de GitLab Duo.\n* **Atténuer les risques :** tester les LLM à grande échelle contribue à atténuer les risques associés à leur déploiement dans des applications critiques. En effectuant des tests approfondis sur divers ensembles de données et cas d'utilisation, nous pouvons identifier et résoudre les défaillances potentielles, les vulnérabilités de sécurité et les considérations éthiques avant qu'ils n'affectent nos clients.\n\nTester les LLM à grande échelle est impératif pour garantir leur fiabilité et leur robustesse en vue de leur déploiement au sein de la [plateforme DevSecOps de GitLab](https://about.gitlab.com/fr-fr/platform/ \"Plateforme DevSecOps de GitLab\"). En investissant dans des stratégies de test complètes qui englobent divers ensembles de données, cas d'utilisation et scénarios, GitLab s'efforce de libérer tout le potentiel des workflows alimentés par l'IA tout en atténuant les risques potentiels.\n\n### Comment nous testons à grande échelle\n\nVoici les étapes que nous suivons pour tester les LLM à grande échelle.\n\n#### Étape 1 : Créer une bibliothèque de prompts comme proxy pour la production\n\nAlors que d'autres entreprises consultent et utilisent les données clients pour entraîner leurs fonctionnalités d'IA, GitLab ne procède actuellement pas de la sorte. En conséquence, nous avons dû développer une bibliothèque de prompts complète qui sert de proxy à la fois pour la mise à l'échelle et pour l'activité de production.\n\nCette bibliothèque de prompts est composée de questions et de réponses. Les questions représentent les types de requêtes ou d'entrées que nous nous attendons à voir en production, tandis que les réponses représentent une vérité terrain de ce que serait notre réponse idéale. Cette réponse de référence pourrait également être considérée mentalement comme une réponse cible. La question tout comme la réponse peuvent être générées par des humains, mais ne le sont pas nécessairement. Ces paires de questions/réponses nous offrent une base de comparaison et un cadre de référence qui nous permettent de faire ressortir les différences entre les modèles et les fonctionnalités. Lorsque l'on pose la même question à plusieurs modèles et qu'ils génèrent des réponses différentes, nous pouvons utiliser notre réponse de référence pour déterminer quel modèle a fourni une réponse qui est le plus étroitement alignée avec notre cible et les noter en conséquence.\n\nUne fois de plus, il est essentiel qu'une bibliothèque de prompts complète soit représentative des entrées que nous prévoyons de rencontrer en production. Nous voulons savoir dans quelle mesure les modèles de fondation s'adaptent à notre cas d'utilisation spécifique et dans quelle mesure nos fonctionnalités sont performantes. Il existe de nombreux ensembles de données de prompts de référence, mais ceux-ci peuvent ne pas correspondre aux cas d'utilisation que nous envisageons pour les fonctionnalités chez GitLab. Notre bibliothèque de prompts, en revanche, est conçue pour être spécifique aux fonctionnalités et aux cas d'utilisation de GitLab.\n\n#### Étape 2 : Performance du modèle de référence\n\nUne fois que nous avons créé une bibliothèque de prompts qui reflète avec précision l'activité de production, nous intégrons ces questions dans [différents modèles](https://about.gitlab.com/direction/ai-powered/ai_framework/ai_evaluation/foundation_models/) pour tester dans quelle mesure ils répondent aux besoins de nos clients. Nous comparons chaque réponse à notre vérité terrain et lui attribuons un classement basé sur une série de métriques, incluant : le [score de similarité cosinus](https://about.gitlab.com/direction/ai-powered/ai_framework/ai_evaluation/metrics/#similarity-scores), le [score de similarité croisée](https://about.gitlab.com/direction/ai-powered/ai_framework/ai_evaluation/metrics/#cross-similarity-score), le [juge LLM](https://about.gitlab.com/direction/ai-powered/ai_framework/ai_evaluation/metrics/#llm-judge) et le [filtrage de consensus avec un juge LLM](https://about.gitlab.com/direction/ai-powered/ai_framework/ai_evaluation/metrics/#consensus-filtering-with-llm-judge). Cette première itération nous fournit une base de référence pour évaluer la performance de chaque modèle et guide notre sélection d'un modèle de fondation pour nos fonctionnalités. Par souci de brièveté, nous n'entrerons pas dans les détails ici, mais nous vous encourageons à en savoir plus sur ces métriques [en consultant notre page AI Evaluation Metrics](https://about.gitlab.com/direction/ai-powered/ai_framework/ai_evaluation/metrics/). Il est important de noter que ce n'est pas un problème résolu ; l'industrie de l'IA au sens large mène activement des recherches et développe de nouvelles techniques. L'équipe de validation des modèles de GitLab reste à l'affût des actualités de ce secteur et itère continuellement sur la façon dont nous mesurons et évaluons les LLM que GitLab Duo utilise.\n\n#### Étape 3 : Développer des fonctionnalités\n\nMaintenant que nous disposons d'une base de référence pour les performances du modèle que nous avons sélectionné, nous pouvons commencer à développer nos fonctionnalités en toute confiance. Bien que l'ingénierie des prompts suscite beaucoup d'enthousiasme, se concentrer uniquement sur le changement du comportement d'un modèle via le prompting (ou toute autre technique) sans validation signifie que vous opérez à l'aveugle et que vous surajustez très probablement vos prompts. Vous pourriez résoudre un problème, mais en causer une dizaine d'autres sans le savoir. La création d'une base de référence pour évaluer les performances d'un modèle nous permet de suivre l'évolution du comportement au fil du temps pour tous les cas d'utilisation dont nous avons besoin. Chez GitLab, nous revalidons quotidiennement les performances de nos fonctionnalités pendant le développement actif pour nous assurer que toutes les modifications améliorent la fonctionnalité globale.\n\n#### Étape 4 : Itérer encore et encore\n\nVoici comment fonctionnent nos itérations expérimentales. À chaque cycle, nous examinons les scores de nos tests à grande échelle pour identifier des schémas :\n\n* Quels sont les points communs entre les domaines les moins performants de notre fonctionnalité ?\n* Notre fonctionnalité se comporte-t-elle mal en fonction d'une métrique spécifique ou d'un cas d'utilisation particulier ?\n* Observons-nous des erreurs récurrentes qui apparaissent en réponse à un certain type de question ?\n\nLes schémas de ce type ne commencent à émerger que lorsque nous effectuons des tests à grande échelle, ce qui nous permet de cibler nos versions expérimentales. Sur la base de ces schémas, nous proposons une variété de fonctionnalités expérimentales ou d'approches pour essayer d'améliorer les performances dans un domaine spécifique et sur une métrique spécifique.\n\nCependant, les tests à grande échelle sont à la fois coûteux et chronophages. Pour permettre une itération plus rapide et moins coûteuse, nous concevons un ensemble de données à plus petite échelle qui agira comme un mini-proxy. Le sous-ensemble ciblé sera pondéré pour inclure les paires de questions/réponses que nous souhaitons améliorer, et le sous-ensemble plus large comprendra également un échantillonnage de tous les autres cas d'utilisation et scores pour nous assurer que nos modifications n'affectent pas négativement la fonctionnalité de manière générale. Le but sera d'effectuer la modification et de l'exécuter sur le sous-ensemble de données ciblé et d'observer comment la nouvelle réponse se compare à la base de référence et comment elle se compare à la vérité terrain.\n\nUne fois que nous avons trouvé un prompt qui répond au cas d'utilisation spécifique sur lequel nous travaillons avec le sous-ensemble ciblé, nous validons ce prompt par rapport à un sous-ensemble de données plus large afin de nous assurer qu'il n'affecte pas négativement d'autres aspects de la fonctionnalité. Ce n'est que lorsque nous pensons que le nouveau prompt améliore nos performances dans notre domaine cible grâce aux métriques de validation ET qu'il ne dégrade pas les performances ailleurs, que nous poussons cette modification en production.\n\nL'ensemble du framework d'évaluation centralisé est ensuite exécuté avec le nouveau prompt et nous validons qu'il a augmenté les performances de l'ensemble de la fonctionnalité par rapport à la base de référence de la veille. C'est ainsi que GitLab itère constamment afin de s'assurer que vous tirez parti des meilleures et des plus récentes performances des fonctionnalités alimentées par l'IA dans l'écosystème GitLab. Cette approche nous permet de nous assurer que nous continuons à travailler plus rapidement, ensemble.\n\n### Rendre GitLab Duo encore meilleur\n\nNous espérons que cet article vous donnera un aperçu de la façon dont nous développons de manière responsable les fonctionnalités de GitLab Duo. Ce processus a été développé alors que nous avons mis les [suggestions de code GitLab Duo](https://docs.gitlab.com/ee/user/project/repository/code_suggestions/) et le [GitLab Duo Chat](https://docs.gitlab.com/ee/user/gitlab_duo_chat.html) en phase de disponibilité générale. Nous avons également intégré ce processus de validation dans notre processus de développement lorsque nous itérons sur les fonctionnalités de GitLab Duo. Il faut beaucoup de tâtonnements, et il arrive souvent qu'en corrigeant un élément, on en détériore trois autres. Mais nous disposons d’informations basées sur les données concernant ces impacts, ce qui nous aide à nous assurer que GitLab Duo s'améliore constamment.\n\n> [Essayez GitLab Duo gratuitement](https://about.gitlab.com/fr-fr/gitlab-duo/#free-trial \"Essai gratuit de GitLab Duo\") dès aujourd'hui !\n\n\u003Cfigure class=video_container>\n\u003Ciframe width=560 height=315 src=\"https://www.youtube-nocookie.com/embed/LifJdU3Qagw?si=A4kl6d32wPYC4168\" title=\"YouTube video player\" frameborder=0 allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen=\"\">\u003C/iframe>\n\u003C/figure>",[684,913,685,9,841],{"slug":959,"featured":90,"template":691},"developing-gitlab-duo-how-we-validate-and-test-ai-models-at-scale","content:fr-fr:blog:developing-gitlab-duo-how-we-validate-and-test-ai-models-at-scale.yml","Developing Gitlab Duo How We Validate And Test Ai Models At Scale","fr-fr/blog/developing-gitlab-duo-how-we-validate-and-test-ai-models-at-scale.yml","fr-fr/blog/developing-gitlab-duo-how-we-validate-and-test-ai-models-at-scale",{"_path":965,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":966,"content":972,"config":979,"_id":981,"_type":13,"title":982,"_source":15,"_file":983,"_stem":984,"_extension":18},"/fr-fr/blog/developing-gitlab-duo-use-ai-to-remediate-security-vulnerabilities",{"title":967,"description":968,"ogTitle":967,"ogDescription":968,"noIndex":6,"ogImage":969,"ogUrl":970,"ogSiteName":673,"ogType":674,"canonicalUrls":970,"schema":971},"Développement de GitLab Duo : corriger les failles de sécurité avec l'IA ","Ce tutoriel montre comment l'explication et la résolution des vulnérabilités de GitLab Duo, vous aident à résoudre rapidement les vulnérabilités.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098106/Blog/Hero%20Images/Blog/Hero%20Images/blog-hero-banner-1-0178-820x470-fy25_7JlF3WlEkswGQbcTe8DOTB_1750098106040.png","https://about.gitlab.com/blog/developing-gitlab-duo-use-ai-to-remediate-security-vulnerabilities","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Développement de GitLab Duo : corriger les failles de sécurité avec l'IA \",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Michael Friedrich\"},{\"@type\":\"Person\",\"name\":\"Alana Bellucci\"}],\n        \"datePublished\": \"2024-07-15\",\n      }\n                  ",{"title":967,"description":968,"authors":973,"heroImage":969,"date":975,"body":976,"category":682,"tags":977,"updatedDate":978},[909,974],"Alana Bellucci","2024-07-15","Imaginez que dès votre premier jour dans votre nouveau poste, un incident de production majeur mobilise l'intervention de chaque membre de votre équipe. De nombreuses vulnérabilités critiques apparaissent, nécessitant une attention, une analyse, une atténuation et une correction immédiates. Mais par où commencer votre enquête ? \n\nDécouvrez comment l'explication et la résolution des vulnérabilités de GitLab Duo, ainsi que nos autres fonctionnalités alimentées par l'IA, peuvent vous aider à résoudre les vulnérabilités en quelques minutes. L'exemple pratique ci-dessous illustre comment bénéficier de l'assistance alimentée par l'IA de GitLab Duo pour analyser et expliquer les vulnérabilités. Des mesures correctives supplémentaires, accompagnées de corrections de code générées par l'IA dans les merge requests, sont également mises en évidence afin d'accélérer la résolution des vulnérabilités.\n\n> Démarrez [un essai gratuit de GitLab Duo](https://about.gitlab.com/fr-fr/gitlab-duo/#free-trial) pour profiter des avantages de la correction des vulnérabilités au sein de vos équipes.\n\n## Première étape : l'analyse\n\nLa première étape consiste à évaluer l'impact et la gravité de la vulnérabilité. Ouvrez l'interface utilisateur de GitLab et accédez au [rapport de vulnérabilités](https://docs.gitlab.com/ee/user/application_security/vulnerability_report/) accessible via le menu `Sécurisation > Rapport de vulnérabilités`. Appliquez le filtre `SAST` pour identifier les vulnérabilités les plus critiques à traiter.\n\n![Aperçu des rapports de vulnérabilités](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098116/Blog/Content%20Images/Blog/Content%20Images/vulnerability_reports_overview_aHR0cHM6_1750098116056.png)\n\nLes résultats du scanner SAST sont présentés sous forme d'un résumé dans la vue détaillée, avec un lien vers le code source. Ils incluent des informations provenant d'avis de sécurité accessibles au public. Les équipes de développement rencontrent souvent des difficultés pour lancer l'analyse directement à partir du rapport de sécurité, surtout si elles ne sont pas pleinement informées de la portée de l'attaque, des détails techniques et des environnements affectés.\n\n## Comprendre et atténuer les risques avec l'explication des vulnérabilités\n\nIl est essentiel de bien comprendre la vulnérabilité et de déterminer la manière la plus appropriée et la plus efficace de la corriger. Les corrections apportées ne doivent pas compromettre les fonctionnalités existantes. Si c'est le cas, il est important d'échanger avec les chargés de maintenance et les Product Owners, et de fournir un résumé détaillé des vulnérabilités ainsi que des mesures d'atténuation possibles. Lorsque vous devez traiter du code écrit par un ancien employé qui a quitté l'entreprise ou du code qui n'a pas été testé, cela peut compliquer considérablement la planification des corrections.  \n\nL'explication des vulnérabilités alimentée par l'IA permet de résumer la manière dont un attaquant peut exploiter la vulnérabilité et apporte des informations supplémentaires sur son impact et les mesures correctives possibles.\n\nPar exemple, une vulnérabilité d'injection de commandes dans le système d'exploitation, comme illustrée dans l'extrait de code suivant :\n\n```php\n\u003C?php \n\n// Read variable name from GET request\n$name = $_GET['name'];\n\n// Use the variable name to call eval and print its value \neval('echo $' . $name . ';');\n```\n\nLe rapport de vulnérabilité n'est pas assez détaillé et nécessite une compréhension complète du contexte et de l'impact. Sélectionnez le bouton `Expliquer la vulnérabilité` dans le coin supérieur droit. GitLab Duo Chat s'ouvre et suggère une action prédéfinie de prompt. Cette fonctionnalité vous fournit des informations supplémentaires sur la vulnérabilité, car elle décrit comment celle-ci peut être exploitée et corrigée. \n\n![Neutralisation incorrecte des\néléments spéciaux utilisés dans une commande de système d'exploitation\n('OS Command Injection') ](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098116/Blog/Content%20Images/Blog/Content%20Images/image9_aHR0cHM6_1750098116057.png)\n\n### Faire de l’explication des vulnérabilités une conversation contextuelle\n\nVous remarquerez également un changement au niveau de l'interface utilisateur : le volet d'explication des vulnérabilités a été remplacé par un workflow GitLab Duo Chat. Parfois, une vulnérabilité complexe nécessite d'être décomposée en plusieurs étapes d'atténuation ou passe par des chemins de code source peu clairs.\n\nVous pouvez explorer l'arborescence du code source et utiliser le même contexte de Chat pour expliquer, corriger, réusiner et tester le code.\n\nVoyons comment fonctionne le workflow complet à l'aide d'un exemple en langage C, dans lequel le scanning de sécurité a détecté un débordement de tampon.\n\n1. Ouvrez la vue détaillée de la faille de sécurité et sélectionnez le bouton `Expliquer la vulnérabilité` en haut à droite. Le prompt de GitLab Duo Chat s'ouvre, fournit un résumé du problème et des vecteurs d'attaque potentiels, puis propose une solution.\n\n![Utilisation de l'IA pour les vulnérabilités - image 4](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098116/Blog/Content%20Images/Blog/Content%20Images/image11_aHR0cHM6_1750098116059.png)\n\n2. Passez en revue la correction proposée et demandez à GitLab Duo Chat de vous indiquer d'autres solutions, en utilisant le prompt `Pouvez-vous proposer une solution alternative en utilisant une fonction différente ?`. L'idée est d'en apprendre davantage sur les fonctions alternatives à `strcpy()` dont l'utilisation pourrait être plus sûre.\n\n![Utilisation de l'IA pour les vulnérabilités - image 3](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098116/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750098116060.png)\n\n3. GitLab Duo Chat propose une solution alternative qui utilise `strlcpy()`, illustrée dans l'exemple suivant. Cette fonction ne copie que le nombre de caractères autorisé dans la chaîne cible et termine toujours la chaîne par « null ». Elle renvoie également la longueur de la chaîne source pour déterminer si celle-ci a été tronquée.\n\n![Utilisation de l'IA pour les vulnérabilités - image 5](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098116/Blog/Content%20Images/Blog/Content%20Images/image10_aHR0cHM6_1750098116062.png)\n\n4. Cliquez ensuite sur l'URL du fichier `Emplacement` pour accéder à la vue du code source. Ouvrez à nouveau GitLab Duo Chat et vérifiez que le contexte d'explication de la vulnérabilité précédente est toujours présent. L'étape suivante consiste à ajouter des tests avant d'appliquer la correction proposée. Cette approche permet d'éviter de perturber des fonctionnalités ou d'introduire des régressions. Par exemple, utilisez le prompt suivant : `En fonction du contexte de la vulnérabilité et du code source ouvert, comment ajouteriez-vous des tests pour cette vulnérabilité ?`.\n\n![Utilisation de l'IA pour les vulnérabilités - image 7 ](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098116/Blog/Content%20Images/Blog/Content%20Images/image8_aHR0cHM6_1750098116063.png)\n\n5. Après avoir généré les tests (et en supposant qu'ils ont maintenant été ajoutés), vous pouvez également demander à GitLab Duo Chat de réusiner le code source, en utilisant le prompt `Pouvez-vous également réusiner le code source ?` dans la même session.\n\n![Utilisation de l'IA pour les vulnérabilités - image 6](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098116/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750098116063.png)\n\nLe workflow montre comment analyser, comprendre, atténuer, obtenir des approches alternatives, ajouter des tests et même réusiner les corrections de vulnérabilités. \n\nVous pouvez reprendre cette mesure corrective à l'aide de GitLab Duo Chat, puis basculer dans le Web IDE pour modifier le code source après avoir appris comment faire. Parmi les autres workflows continus, citons la validation des modifications et le déclenchement des [pipelines CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline CI/CD ?\"), ainsi que les scans de sécurité réalisés tout au long du cycle de développement DevSecOps. \n\n## Corriger les failles de sécurité avec la résolution des vulnérabilités assistées par l'IA\n\nPour comprendre et corriger une faille de sécurité, des compétences en développement sont toujours nécessaires pour créer un correctif, exécuter des pipelines et effectuer des scans de sécurité dans une merge request. Il peut également être nécessaire de déployer les corrections dans un environnement de staging et de les tester sur une période plus longue.\n\nL'IA peut être utile dans cette situation, en proposant une correction en fonction du contexte et du code source fournis.\n\nAstuce : pensez à la vulnérabilité la plus frustrante que vous avez dû corriger au cours de votre carrière et recréez-la pour vous familiariser avec GitLab Duo. La [liste CWE de Mitre qui recense les 25 faiblesses logicielles les plus dangereuses](https://cwe.mitre.org/top25/archive/2023/2023_top25_list.html) peut être également un bon point de départ.  \n\nL'exemple suivant implémente la faille [CWE-328 : Utilisation d'une fonction de hachage faible](https://cwe.mitre.org/data/definitions/328.html) en utilisant `md5`. La faille est correctement identifiée par [le test SAST](https://docs.gitlab.com/ee/user/application_security/sast/).  \n\n```python\nimport hashlib\n\nclass User:\n    def __init__(self, username, password):\n        self.username = username\n        self.password = password\n\n    def set_password(self, password):\n        self.password = hashlib.md5(password.encode()).hexdigest()\n```\n\n![Utilisation de l'IA pour les vulnérabilités - image 8](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098116/Blog/Content%20Images/Blog/Content%20Images/image7_aHR0cHM6_1750098116064.png)\n\nCliquez sur le bouton en haut à droite `Résoudre avec une merge request`. Une merge request s'ouvre, dans laquelle une correction générée par l'IA est proposée. Dans le cas de cette vulnérabilité, une correction possible consisterait à utiliser une fonction de hachage différente.\n\n![Utilisation de l'IA pour les vulnérabilités - image 9](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098116/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750098116065.png)\n\nLe fait de ne pas vérifier les codes d'erreur des fonctions ou les exceptions potentielles est un autre exemple de vulnérabilité courante. Les extraits de code en langage C suivants illustrent un exemple d'attaques par temporisation contre les opérations de fichiers en lien avec la faille [CWE-362](https://cwe.mitre.org/data/definitions/362.html) pour les appels `fopen()` et `chmod()`. \n\n```c\n#include \u003Cstdio.h>\n#include \u003Cstring.h>\n#include \u003Csys/mman.h>\n#include \u003Csys/stat.h>\n#include \u003Cunistd.h>\n\nint main(int argc, char **argv) {##$_0A$####$_0A$##    // File operations##$_0A$##    char *fname = \"gitlab.keksi\";##$_0A$####$_0A$##    FILE *fp;##$_0A$##    fp = fopen(fname, \"r\");##$_0A$##    fprintf(fp, \"Hello from GitLab Duo Vulnerability Resolution Challenge\");##$_0A$##    fclose(fp);##$_0A$####$_0A$##    // Potential chmod() timing attacks    ##$_0A$####$_0A$##    // Make the file world readable##$_0A$##    chmod(fname, S_IRWXU|S_IRWXG|S_IRWXO);##$_0A$####$_0A$##    return 0;##$_0A$##}\n```\n\nLe rapport SAST pour l'appel `chmod()` ressemblerait à ceci : \n\n![Utilisation de l'IA pour les vulnérabilités - image 10](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098116/Blog/Content%20Images/Blog/Content%20Images/image6_aHR0cHM6_1750098116065.png)\n\nLa merge request `chmod()` proposée inclut la gestion des erreurs et corrige un autre problème potentiel affectant les fichiers accessibles en écriture dans le monde entier, en modifiant les autorisations de `777` à `600`.\n\n![Utilisation de l'IA pour les vulnérabilités - image 11](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098116/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750098116066.png)\n\n> Essayez l'exercice asynchrone suivant : recherchez, analysez et corrigez la vulnérabilité de la fonction `fopen()`.\n\n## Nécessité d'une prise en charge accrue de l'IA par GitLab Duo \n\nSouvent, un problème de sécurité peut être temporairement résolu par une correction rapide ou une solution de contournement qui donne aux équipes de développement le temps nécessaire pour élaborer une solution plus durable. Dans d'autres situations, le problème peut devenir plus complexe et nécessiter la désactivation des API de fonctionnalités ou l'atténuation des règles du pare-feu jusqu'à ce qu'un correctif approprié puisse être déployé en production.\n\nGitLab Duo offre des fonctionnalités avancées alimentées par l'IA capables de résoudre ces problèmes. \n\n**Explication du code :** en tant que développeur ou ingénieur en sécurité, il est essentiel de comprendre les modifications apportées au code. Dans l'IDE, utilisez la [fonctionnalité d'explication du code](https://docs.gitlab.com/ee/user/gitlab_duo_chat/examples.html#explain-code-in-the-ide) pour avoir une meilleure compréhension du correctif proposé par l'IA pour résoudre la vulnérabilité. Vous saurez exactement quels ajustements ont été réalisés et leurs justifications.\n\n**Analyse des causes profondes :** si un correctif fait échouer votre pipeline, utilisez la [fonctionnalité d'analyse des causes profondes](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd/). Cet outil identifie et explique le problème sous-jacent, ce qui vous donne les moyens de le résoudre efficacement. Après avoir appliqué les corrections nécessaires, vous pouvez relancer les tests pour vous assurer que le problème est résolu.\n\n**Réusinage :** même après la correction d'une vulnérabilité, il est pertinent de se demander si le code peut être amélioré pour être plus sécurisé. Dans l'IDE, ouvrez GitLab Duo Chat et utilisez l'[action de réusinage](https://docs.gitlab.com/ee/user/gitlab_duo_chat/examples.html#refactor-code-in-the-ide) pour explorer d'autres moyens plus sûrs d'écrire votre code. Cette approche proactive permet de maintenir un code base robuste et sécurisé.\n\nEn tirant parti de ces fonctionnalités offertes par GitLab Duo, vous pouvez aborder et résoudre les failles de sécurité en toute confiance, en veillant à la sécurité et l'efficacité de votre code.\n\n## Et après ?\n\nNous prévoyons d'intégrer directement l'explication et la résolution des vulnérabilités en amont du cycle du développement logiciel, dans le processus de merge request. Cette intégration vous permettra de traiter et de résoudre les vulnérabilités plus tôt dans le cycle de développement, d'optimiser votre workflow et d'améliorer la sécurité du code dès le début du projet.\n\n## Lancez-vous dès maintenant avec GitLab Duo\n\nConsultez notre [documentation](https://docs.gitlab.com/ee/user/gitlab_duo/turn_on_off.html) pour activer les fonctionnalités offertes par GitLab Duo. De plus, l'[explication des vulnérabilités](https://docs.gitlab.com/ee/user/application_security/vulnerabilities/#explaining-a-vulnerability) et la [résolution des vulnérabilités](https://docs.gitlab.com/ee/user/application_security/vulnerabilities/#vulnerability-resolution) de GitLab Duo seront bientôt disponibles dans GitLab Auto-géré et GitLab Dedicated.\n\n> Démarrez [un essai gratuit de GitLab Duo](https://about.gitlab.com/gitlab-duo/#free-trial) pour profiter des avantages de la correction des vulnérabilités au sein de votre entreprise !\n\n#### En savoir plus sur le « Développement de GitLab Duo »\n- [Comment nous validons et testons les modèles d'IA à grande échelle](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai/)\n\n- [Mesurer le ROI de l’IA avec le tableau de bord d'analyse d'impact](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai/)\n\n- [Comment nous utilisons nos propres fonctionnalités d'IA](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai/)\n\n- [Tester et sécuriser le code généré par l'IA](https://about.gitlab.com/fr-fr/blog/how-gitlab-duo-helps-secure-and-thoroughly-test-ai-generated-code/)\n\n- [L'IA combinée à l'analyse des causes profondes pour réparer les pipelines CI/CD](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd/)\n\n- [Tour d'horizon des dernières améliorations de GitLab Duo Chat](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-a-roundup-of-recent-chat-enhancements/)",[684,790,687,9,689],"2024-08-02",{"slug":980,"featured":90,"template":691},"developing-gitlab-duo-use-ai-to-remediate-security-vulnerabilities","content:fr-fr:blog:developing-gitlab-duo-use-ai-to-remediate-security-vulnerabilities.yml","Developing Gitlab Duo Use Ai To Remediate Security Vulnerabilities","fr-fr/blog/developing-gitlab-duo-use-ai-to-remediate-security-vulnerabilities.yml","fr-fr/blog/developing-gitlab-duo-use-ai-to-remediate-security-vulnerabilities",{"_path":986,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":987,"content":993,"config":1000,"_id":1002,"_type":13,"title":1003,"_source":15,"_file":1004,"_stem":1005,"_extension":18},"/fr-fr/blog/from-code-to-production-a-guide-to-continuous-deployment-with-gitlab",{"title":988,"description":989,"ogTitle":988,"ogDescription":989,"noIndex":6,"ogImage":990,"ogUrl":991,"ogSiteName":673,"ogType":674,"canonicalUrls":991,"schema":992},"Du code à la production : guide du déploiement continu avec GitLab","Découvrez comment créer un pipeline de déploiement continu robuste dans GitLab.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659478/Blog/Hero%20Images/REFERENCE_-_Use_this_page_as_a_reference_for_thumbnail_sizes.png","https://about.gitlab.com/blog/from-code-to-production-a-guide-to-continuous-deployment-with-gitlab","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Du code à la production : guide du déploiement continu avec GitLab\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Benjamin Skierlak\"},{\"@type\":\"Person\",\"name\":\"James Wormwell\"}],\n        \"datePublished\": \"2025-01-28\",\n      }\n                  ",{"title":988,"description":989,"authors":994,"heroImage":990,"date":843,"body":997,"category":687,"tags":998,"updatedDate":999},[995,996],"Benjamin Skierlak","James Wormwell","Le déploiement continu est une pratique qui change la donne et qui permet aux équipes d'offrir de la valeur plus rapidement, avec une confiance accrue. Cependant, adopter des workflows de déploiement avancés, tels que [GitOps](https://about.gitlab.com/fr-fr/topics/gitops/ \"Qu'est-ce que GitOps ? \"), l'orchestration de conteneurs avec [Kubernetes](https://about.gitlab.com/fr-fr/blog/kubernetes-the-container-orchestration-solution/ \"Kubernetes, la solution d’orchestration des conteneurs\") ou les environnements dynamiques, peut être intimidant pour les équipes non expérimentées.\n\nChez GitLab, nous nous engageons à ce que la livraison de logiciels soit sans accroc et évolutive. En permettant aux équipes de se concentrer sur les fondamentaux, nous leur donnons les moyens d'établir une base solide qui soutient la croissance et de mettre en place des stratégies plus complexes au fil du temps. \n\nDans ce guide, découvrez les étapes clés pour mettre en œuvre le déploiement continu avec GitLab et poser les bases d'une réussite à long terme.\n\n## Commencez par planifier votre workflow\n\nAvant de passer à la mise en œuvre technique, prenez le temps de planifier votre workflow de déploiement. Une planification minutieuse et une approche méthodique sont les clés du succès.\n\n### Stratégie de gestion des artefacts\n\nDans le contexte du déploiement continu, les artefacts désignent les fichiers empaquetés suite au processus de compilation, destinés à être stockés, déployés et dont vous devez gérer les versions. \n\nEn voici quelques exemples :\n\n- images de conteneurs pour vos applications\n- paquets\n- exécutables ou fichiers binaires compilés\n- bibliothèques\n- fichiers de configuration\n- packages de documentation\n- autres artefacts\n\nChaque type d'artefact joue un rôle spécifique dans votre processus de déploiement. Par exemple, une application web typique peut générer les artefacts suivants :\n\n- une image de conteneur pour le service backend\n- une archive ZIP des ressources frontend compilées\n- des fichiers SQL pour les modifications de base de données\n- des fichiers de configuration propres à l'environnement\n\nLa gestion efficace de ces artefacts est cruciale pour la réussite des déploiements. Voici comment aborder la gestion des artefacts.\n\n#### Artefacts et stratégies de contrôle des versions\n\nUne bonne pratique permettant de démarrer avec une structure bien organisée consiste à établir une stratégie de gestion des versions claire pour vos artefacts. \n\nLors de la création de nouvelles versions :\n\n- Utilisez la gestion sémantique de version (major.minor.patch) pour les tags de version\n  - Exemple : `myapp:1.2.3` pour une version stable\n  - Modifications de la version majeure (2.0.0) pour les changements cassants\n  - Modifications de la version mineure (1.3.0) pour les nouvelles fonctionnalités\n  - Modifications de la version des correctifs (1.2.4) pour les corrections de bugs\n- Conservez un tag 'latest' pour la version stable la plus récente\n  - Exemple : `myapp:latest` pour les déploiements automatisés\n- Incluez un SHA de validation pour un suivi précis des versions\n  - Exemple : `myapp:1.2.3-abc123f` pour le débogage\n- Utilisez des tags basés sur les branches pour les environnements de développement\n  - Exemple : `myapp:feature-user-auth` pour les tests de fonctionnalités\n\n#### Rétention des artefacts de compilation\n\nMettez en œuvre des règles de durée de rétention définies :\n\n- Définissez des délais d'expiration explicites pour les artefacts temporaires\n- Définissez les artefacts nécessitant une durée de rétention permanente\n- Configurez des stratégies de nettoyage pour gérer le stockage\n\n#### Accès au registre et authentification\n\nSécurisez vos artefacts avec des contrôles d'accès appropriés :\n\n- Implémentez des jetons d'accès personnels (Personal Access Tokens) pour l'accès des développeurs\n- Configurez des variables CI/CD pour l'authentification du pipeline\n- Mettez en place des portées d'accès appropriées\n\n### Stratégie d’environnement de déploiement \n\nRéfléchissez dès le départ à la configuration de vos environnements, car ils façonnent l'ensemble de votre pipeline de déploiement :\n\n- Configurations de l'environnement de développement, de préproduction et de production\n- Variables et secrets propres à l'environnement\n- Contrôles d'accès et règles de protection\n- Approche de suivi et de surveillance du déploiement\n\n### Cibles de déploiement\n\nIl est important de réfléchir à la cible de déploiement et à l'approche choisie, tout en prenant en compte les avantages et les inconvénients de ces décisions :\n\n- Besoins en infrastructure (machines virtuelles, conteneurs, services cloud)\n- Configurations de la sécurité et de l'accès au réseau\n- Mécanismes d'authentification (clés SSH, jetons d'accès)\n- Éléments à prendre en compte pour l'allocation des ressources et la mise à l'échelle\n\nLorsque vous avez défini votre stratégie et pris les décisions fondamentales, vous pouvez transformer cette planification en un pipeline fonctionnel. Nous allons créer un exemple concret qui démontre ces concepts, en commençant par une application simple à laquelle nous ajouterons progressivement des fonctionnalités de déploiement.\n\n## Mettez en œuvre votre pipeline CD\n\n### Exemple pas à pas\n\nExaminons comment mettre en œuvre un pipeline de déploiement continu de base pour une application web. Nous utiliserons une application HTML simple à titre d'exemple, mais ces principes s'appliquent à tout type d'application. Nous allons également déployer notre application sous la forme d'une image Docker sur une simple machine virtuelle. Cela nous permettra de nous appuyer sur une image organisée avec un minimum de dépendances et de nous assurer qu'aucun prérequis propre à l'environnement n'est introduit involontairement. En travaillant sur une machine virtuelle, nous ne ferons pas appel aux intégrations natives de GitLab, ce qui nous permettra de travailler sur une configuration plus simple, quoique moins évolutive.\n\n#### Prérequis\n\nDans cet exemple, nous allons conteneuriser une application qui s'exécutera sur une machine virtuelle hébergée sur la plateforme d'un fournisseur de services cloud. Nous testerons également cette application localement sur notre machine. Cette liste de prérequis n'est nécessaire que pour notre scénario.\n\n##### Configuration de la machine virtuelle\n\n- Provisionnez une machine virtuelle sur la plateforme de votre fournisseur de services cloud préféré (par exemple, GCP, AWS, Azure).\n- Configurez les règles du réseau pour autoriser l'accès sur les ports 22, 80 et 443.\n- Enregistrez l'adresse IP publique de la machine pour le déploiement.\n\n##### Configuration de l'authentification SSH :\n\n- Générez une paire de clés publique/privée pour la machine.\n- Dans GitLab, accédez à **Paramètres > CI/CD > Variables**.\n- Créez une variable nommée `GITLAB_KEY`.\n- Définissez le type sur « Fichier » (requis pour l'authentification SSH).\n- Collez la clé privée dans le champ Valeur.\n- Définissez une variable USER (utilisateur qui se connecte et exécute les scripts sur votre machine virtuelle).\n\n##### Configuration des variables de déploiement\n\n- Créez des variables pour vos cibles de déploiement :\n  - `STAGING_TARGET` : l'adresse IP/le domaine de votre serveur de préproduction\n  - `PRODUCTION_TARGET` : l'adresse IP/le domaine de votre serveur de production\n\n##### Configuration du développement local\n\n- Installez Docker sur votre machine locale pour tester les déploiements.\n\n##### Accès au registre de conteneurs GitLab\n\n- Localisez votre chemin d'accès au registre :\n  - Accédez à **Déploiement > Registre de conteneurs**.\n- Copiez le chemin d'accès au registre (par exemple, registry.gitlab.com/group/project).\n- Configurez l'authentification :\n  - Accédez au menu **Paramètres > Jetons d'accès**.\n  - Créez un jeton avec un accès au registre.\n  - Expiration du jeton : maximum 1 an.\n  - Enregistrez le jeton de façon sécurisée.\n- Configurez l'accès au registre local :\n\n```\ndocker login registry.gitlab.com\n# The username if you are using a PAT is gitlab-ci-token\n# Password: your-access-token\n```\n\n#### 1. Création de votre application\n\nCommencez avec une application web de base. Dans notre exemple, nous utilisons une page HTML simple :\n\n```\n\u003C!|||UNTRANSLATED_CONTENT_START|||-- index.html -->\n\u003Chtml>\n  \u003Chead>\n    \u003Cstyle>\n      body {\n        background-color: #171321; /* GitLab dark */\n      }\n    \u003C/style>\n  \u003C/head>\n  \u003Cbody>\n    \u003C!|||UNTRANSLATED_CONTENT_END|||-- Your content here -->\n  \u003C/body>\n\u003C/html>\n```\n\n#### 2. Conteneurisation de votre application\n\nCréez un Dockerfile pour empaqueter votre application :\n\n```\nFROM nginx:1.26.2\nCOPY index.html /usr/share/nginx/html/index.html\n```\n\nCe Dockerfile :\n\n- Utilise nginx comme image de base pour diffuser du contenu web\n- Copie votre fichier HTML au bon endroit dans la structure du répertoire nginx\n\n#### 3. Configuration de votre pipeline CI/CD\n\nCréez un fichier `.gitlab-ci.yml` pour définir les étapes de votre [pipeline CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline CI/CD ?\") :\n\n```\nvariables:\n  TAG_LATEST: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME:latest\n  TAG_COMMIT: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME:$CI_COMMIT_SHA\n\nstages:\n  - publish\n  - deploy\n```\n\nDécomposons ce code :\n\n`TAG_LATEST` est composé de trois parties :\n\n- `$CI_REGISTRY_IMAGE` est le chemin d'accès au registre des conteneurs de votre projet dans GitLab.\n\nPar exemple : `registry.gitlab.com/your-group/your-project`\n\n- `$CI_COMMIT_REF_NAME` est le nom de votre branche ou tag.\n\nPar exemple, si vous travaillez sur la branche principale : `/main`, et si vous travaillez sur une branche de fonctionnalité : `/feature-login`\n\n- `:latest` est un suffixe fixe.\n\nAinsi, si vous êtes sur la branche principale, `TAG_LATEST` devient `registry.gitlab.com/your-group/your-project/main:latest`.\n\n`TAG_COMMIT` est presque identique, mais au lieu de `:latest`, il utilise : `$CI_COMMIT_SHA`, qui est l'identifiant de commit, par exemple `:abc123def456`.\n\nAinsi, pour ce même commit sur la branche principale, `TAG_COMMIT` devient :` registry.gitlab.com/your-group/your-project/main:abc123def456`.\n\nLa présence de ces deux variables s'explique par le fait que `TAG_LATEST` vous permet facilement de toujours obtenir la version la plus récente. `TAG_COMMIT` vous fournit une version spécifique à laquelle vous pouvez revenir si nécessaire.\n\n#### 4. Publication dans le registre de conteneurs\n\nAjoutez le job de publication à votre pipeline :\n\n```\npublish:\n  stage: publish\n  image: docker:latest\n  services:\n    - docker:dind\n  script:\n    - docker build -t $TAG_LATEST -t $TAG_COMMIT .\n    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY\n    - docker push $TAG_LATEST\n    - docker push $TAG_COMMIT\n```\n\nCe job :\n\n- Utilise Docker-in-Docker pour compiler des images\n- Crée deux versions avec tag de votre image\n- S'authentifie auprès du registre GitLab\n- Effectue un push des deux versions vers le registre \n\nMaintenant que vos images sont stockées de façon sécurisée dans le registre, vous pouvez vous concentrer sur leur déploiement dans vos environnements cibles. Commençons par des tests locaux pour valider notre configuration avant de passer aux déploiements dans l'environnement de production.\n\n#### 5. Déploiement dans votre environnement\n\nAvant le déploiement en production, vous pouvez effectuer un test localement. Nous venons de publier notre image dans le dépôt GitLab, pour lequel nous allons effectuer un pull localement. Si vous ne connaissez pas le chemin d'accès exact, accédez à **Déploiement > Registre de conteneurs**. Vous devriez voir une icône permettant de copier le chemin d'accès de votre image à la fin de la ligne pour l'image de conteneur que vous souhaitez tester.\n\n```\ndocker login registry.gitlab.com \ndocker run -p 80:80 registry.gitlab.com/your-project-path/main:latest\n```\n\nCe faisant, vous devriez être en mesure d'accéder à votre application localement sur votre adresse localhost via votre navigateur web.\n\nVous pouvez maintenant ajouter un job de déploiement à votre pipeline :\n\n```\ndeploy:\n  stage: deploy\n  image: alpine:latest\n  script:\n    - chmod 400 $GITLAB_KEY\n    - apk add openssh-client\n    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY\n    - ssh -i $GITLAB_KEY -o StrictHostKeyChecking=no $USER@$TARGET_SERVER \n      docker pull $TAG_COMMIT &&\n      docker rm -f myapp || true &&\n      docker run -d -p 80:80 --name myapp $TAG_COMMIT\n```\n\nCe job :\n\n- Configure l'accès SSH à votre cible de déploiement\n- Effectue un pull de l'image la plus récente\n- Supprime tout conteneur existant\n- Déploie la nouvelle version\n\n#### 6. Suivi des déploiements\n\nActivez le suivi des déploiements en ajoutant la configuration de l'environnement :\n\n```\ndeploy:\n  environment:\n    name: production\n    url: https://your-application-url.com \n```\n\nCela crée un objet environnement dans la section **Exploitation > Environnements** de GitLab et fournit :\n\n- L'historique de déploiement\n- Le statut de déploiement actuel\n- Un accès rapide à votre application\n\nBien qu'un pipeline d'environnement unique soit un bon point de départ, la plupart des équipes doivent gérer plusieurs environnements, dont des environnements de test et de préproduction. Étoffons notre pipeline pour gérer ce scénario plus réaliste.\n\n#### 7. Configuration de plusieurs environnements\n\nPour obtenir un pipeline plus robuste, configurez les déploiements de préproduction et de production :\n\n```\nstages:\n  - publish\n  - staging\n  - release\n  - version\n  - production\n\nstaging:\n  stage: staging\n  rules:\n    - if: $CI_COMMIT_BRANCH == \"main\" && $CI_COMMIT_TAG == null\n  environment:\n    name: staging\n    url: https://staging.your-app.com\n  # deployment script here\n\nproduction:\n  stage: production\n  rules:\n    - if: $CI_COMMIT_TAG\n  environment:\n    name: production\n    url: https://your-app.com\n  # deployment script here\n```\n\nCette configuration :\n\n- Effectue un déploiement vers l'environnement de préproduction à partir de votre branche principale\n- Utilise les tags GitLab pour déclencher les déploiements de production\n- Fournit un suivi distinct pour chaque environnement\n\nQue ce soit à cette étape ou à l'étape suivante, nous tirons parti des tags, qui sont une fonctionnalité très utile de GitLab. En créant manuellement un tag dans la section **Code > Tags**, `$CI_COMMIT_TAG` est créé, ce qui nous permet de déclencher des jobs en conséquence.\n\n#### 8. Création de notes de version automatisées\n\nNous utiliserons les fonctionnalités de gestion des versions de GitLab depuis notre pipeline CI/CD. Commencez par mettre à jour les étapes de votre pipeline CI/CD dans `.gitlab-ci.yml` :\n\n```\nstages:\n\n- publish\n- staging\n- release # New stage for releases\n- version\n- production\n```\n\nEnsuite, ajoutez le job de release :\n\n```\nrelease_job:\n  stage: release\n  image: registry.gitlab.com/gitlab-org/release-cli:latest\n  rules:\n    - if: $CI_COMMIT_TAG                  # Only run when a tag is created\n  script:\n    - echo \"Creating release for $CI_COMMIT_TAG\"\n  release:                                # Release configuration\n    name: 'Release $CI_COMMIT_TAG'\n    description: 'Release created from $CI_COMMIT_TAG'\n    tag_name: '$CI_COMMIT_TAG'           # The tag to create\n    ref: '$CI_COMMIT_TAG'                # The tag to base release on\n```\n\nVous pouvez l'améliorer en ajoutant des liens vers vos images de conteneurs :\n\n```\nrelease:\n  name: 'Release $CI_COMMIT_TAG'\n  description: 'Release created from $CI_COMMIT_TAG'\n  tag_name: '$CI_COMMIT_TAG'\n  ref: '$CI_COMMIT_TAG'\n  assets:\n    links:\n      - name: 'Container Image'\n        url: '$CI_REGISTRY_IMAGE/main:$CI_COMMIT_TAG'\n        link_type: 'image'\n```\n\nPour générer des notes de version automatisées pertinentes :\n\n- Utilisez des commits conventionnels (feat:, fix:, et autres commandes.).\n- Incluez les numéros de ticket (#123).\n- Séparez le sujet du corps par un saut de ligne.\n\nSi vous souhaitez des notes de version personnalisées avec des informations de déploiement :\n\n```\nrelease_job:\n  script:\n    - |\n      DEPLOY_TIME=$(date '+%Y-%m-%d %H:%M:%S')\n      CHANGES=$(git log $(git describe --tags --abbrev=0 @^)..@ --pretty=format:\"- %s\")\n      cat > release_notes.md \u003C\u003C EOF\n      ## Deployment Info\n      - Deployed on: $DEPLOY_TIME\n      - Environment: Production\n      - Version: $CI_COMMIT_TAG\n\n      ## Changes\n      $CHANGES\n\n      ## Artifacts\n      - Container Image: \\`$CI_REGISTRY_IMAGE/main:$CI_COMMIT_TAG\\`\n      EOF\n  release:\n    description: './release_notes.md'\n```\n\nUne fois configurées, les versions sont créées automatiquement lorsque vous ajoutez un tag [Git](https://about.gitlab.com/fr-fr/blog/what-is-git/ \"Qu'est-ce que Git ? \"). Vous pouvez les afficher dans GitLab sous **Déploiement > Releases**.\n\n#### 9. Assemblage\n\nVoici à quoi ressemble notre fichier YAML final :\n\n```\nvariables:\n  TAG_LATEST: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME:latest\n  TAG_COMMIT: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME:$CI_COMMIT_SHA\n  STAGING_TARGET: $STAGING_TARGET    # Set in CI/CD Variables\n  PRODUCTION_TARGET: $PRODUCTION_TARGET  # Set in CI/CD Variables\n\nstages:\n  - publish\n  - staging\n  - release\n  - version\n  - production\n\n# Build and publish to registry\npublish:\n  stage: publish\n  image: docker:latest\n  services:\n    - docker:dind\n  rules:\n    - if: $CI_COMMIT_BRANCH == \"main\" && $CI_COMMIT_TAG == null\n  script:\n    - docker build -t $TAG_LATEST -t $TAG_COMMIT .\n    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY\n    - docker push $TAG_LATEST\n    - docker push $TAG_COMMIT\n\n# Deploy to staging\nstaging:\n  stage: staging\n  image: alpine:latest\n  rules:\n    - if: $CI_COMMIT_BRANCH == \"main\" && $CI_COMMIT_TAG == null\n  script:\n    - chmod 400 $GITLAB_KEY\n    - apk add openssh-client\n    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY\n    - ssh -i $GITLAB_KEY -o StrictHostKeyChecking=no $USER@$STAGING_TARGET \"\n        docker pull $TAG_COMMIT &&\n        docker rm -f myapp || true &&\n        docker run -d -p 80:80 --name myapp $TAG_COMMIT\"\n  environment:\n    name: staging\n    url: http://$STAGING_TARGET\n\n# Create release\nrelease_job:\n  stage: release\n  image: registry.gitlab.com/gitlab-org/release-cli:latest\n  rules:\n    - if: $CI_COMMIT_TAG\n  script:\n    - |\n      DEPLOY_TIME=$(date '+%Y-%m-%d %H:%M:%S')\n      CHANGES=$(git log $(git describe --tags --abbrev=0 @^)..@ --pretty=format:\"- %s\")\n      cat > release_notes.md \u003C\u003C EOF\n      ## Deployment Info\n      - Deployed on: $DEPLOY_TIME\n      - Environment: Production\n      - Version: $CI_COMMIT_TAG\n\n      ## Changes\n      $CHANGES\n\n      ## Artifacts\n      - Container Image: \\`$CI_REGISTRY_IMAGE/main:$CI_COMMIT_TAG\\`\n      EOF\n  release:\n    name: 'Release $CI_COMMIT_TAG'\n    description: './release_notes.md'\n    tag_name: '$CI_COMMIT_TAG'\n    ref: '$CI_COMMIT_TAG'\n    assets:\n      links:\n        - name: 'Container Image'\n          url: '$CI_REGISTRY_IMAGE/main:$CI_COMMIT_TAG'\n          link_type: 'image'\n\n# Version the image with release tag\nversion_job:\n  stage: version\n  image: docker:latest\n  services:\n    - docker:dind\n  rules:\n    - if: $CI_COMMIT_TAG\n  script:\n    - docker pull $TAG_COMMIT\n    - docker tag $TAG_COMMIT $CI_REGISTRY_IMAGE/main:$CI_COMMIT_TAG\n    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY\n    - docker push $CI_REGISTRY_IMAGE/main:$CI_COMMIT_TAG\n\n# Deploy to production\nproduction:\n  stage: production\n  image: alpine:latest\n  rules:\n    - if: $CI_COMMIT_TAG\n  script:\n    - chmod 400 $GITLAB_KEY\n    - apk add openssh-client\n    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY\n    - ssh -i $GITLAB_KEY -o StrictHostKeyChecking=no $USER@$PRODUCTION_TARGET \"\n        docker pull $CI_REGISTRY_IMAGE/main:$CI_COMMIT_TAG &&\n        docker rm -f myapp || true &&\n        docker run -d -p 80:80 --name myapp $CI_REGISTRY_IMAGE/main:$CI_COMMIT_TAG\"\n  environment:\n    name: production\n    url: http://$PRODUCTION_TARGET\n```\n\nCe pipeline complet :\n\n- Publie des images dans le registre (branche principale)\n- Déploie vers l'environnement de préproduction (branche principale)\n- Crée des versions (lorsqu'un tag est ajouté)\n- Crée des versions d'images avec des tags de version \n- Déploie dans l'environnement de production (lorsqu'un tag est créé)\n\nPrincipaux avantages :\n\n- Environnement de développement et de test local propre et reproductible\n- Chemin d'accès clair vers les environnements de production avec une structure qui renforce la confiance dans ce qui est déployé\n- Modèle pour se remettre de défaillances inattendues, entre autres\n- Possibilité de développement sur cette base et d'adoption de stratégies de déploiement plus complexes\n\n### Bonnes pratiques\n\nTout au long de la mise en œuvre, respectez les principes suivants :\n\n- Documentez tout, de l'utilisation des variables aux procédures de déploiement.\n- Utilisez les fonctionnalités intégrées de GitLab (environnements, releases, registre).\n- Mettez en œuvre des contrôles d'accès et des mesures de sécurité adaptés.\n- Pensez aux éventuelles défaillances en mettant en place des procédures de restauration robustes.\n- Évitez les redondances dans vos configurations de pipeline en suivant le principe DRY (Don't Repeat Yourself).\n\n## Mise à l'échelle de votre stratégie de déploiement\n\nPour terminer, voici quelques aspects à prendre en compte à mesure que votre stratégie de déploiement continu évolue.\n\n### Mesures de sécurité avancées\n\nAméliorez la sécurité grâce aux fonctionnalités suivantes :\n\n- Environnements protégés avec accès restreint\n- Approbations requises pour les déploiements en production\n- Scanning de sécurité intégré\n- Évaluations automatisées des vulnérabilités\n- Règles de protection des branches pour les modifications liées au déploiement\n\n### Stratégies de livraison progressive\n\nMettez en œuvre des stratégies de déploiement avancées :\n\n- Feature flags pour les déploiements contrôlés\n- Déploiements canari pour l'atténuation des risques\n- Stratégies de déploiement bleu-vert\n- Capacités de test A/B\n- Gestion dynamique de l'environnement\n\n### Surveillance et optimisation\n\nMettez en place des pratiques de surveillance robustes :\n\n- Suivi des mesures de déploiement\n- Mise en place d'un suivi des performances\n- Configuration d'alertes de déploiement\n- Établissement d'objectifs de niveau de service (SLO) en matière de déploiement\n- Optimisation régulière du pipeline\n\n## Pourquoi utiliser GitLab ?\n\nLa plateforme GitLab est idéale pour les workflows de déploiement modernes grâce à ses fonctionnalités de déploiement continu. Elle permet de simplifier les étapes menant du code à la production, en offrant un registre de conteneurs intégré, une gestion de l'environnement et le suivi des déploiements au sein d'une seule interface. Les variables propres à l'environnement, les portes d'approbation de déploiement et les fonctionnalités de restauration de GitLab fournissent la sécurité et le contrôle nécessaires aux déploiements en production, tandis que les fonctionnalités telles que les versions temporaires d'applications et les feature flags offrent des approches de livraison progressive. Ces fonctionnalités de déploiement continu font partie intégrante de la plateforme [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que DevSecOps ?\") complète de GitLab et s'intègrent parfaitement à l'ensemble du cycle de vie de vos logiciels.\n\n## Lancez-vous dès aujourd'hui\n\nOpter pour un déploiement continu est une évolution, pas une révolution. Commencez par les fondamentaux, établissez une base solide et intégrez progressivement des fonctionnalités avancées lorsque les besoins de votre équipe augmentent. GitLab fournit les outils et la flexibilité nécessaires pour vous accompagner à chaque étape de ce parcours, de votre premier déploiement automatisé aux pipelines de livraison complexes et multi-environnements.\n\n> [Essayez GitLab Ultimate gratuitement](https://about.gitlab.com/fr-fr/free-trial/devsecops/) et commencez votre déploiement continu dès aujourd'hui.",[840,108,9,687,689],"2025-03-24",{"slug":1001,"featured":6,"template":691},"from-code-to-production-a-guide-to-continuous-deployment-with-gitlab","content:fr-fr:blog:from-code-to-production-a-guide-to-continuous-deployment-with-gitlab.yml","From Code To Production A Guide To Continuous Deployment With Gitlab","fr-fr/blog/from-code-to-production-a-guide-to-continuous-deployment-with-gitlab.yml","fr-fr/blog/from-code-to-production-a-guide-to-continuous-deployment-with-gitlab",{"_path":1007,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1008,"content":1014,"config":1021,"_id":1023,"_type":13,"title":1024,"_source":15,"_file":1025,"_stem":1026,"_extension":18},"/fr-fr/blog/getting-started-with-gitlab-how-to-manage-users",{"title":1009,"description":1010,"ogTitle":1009,"ogDescription":1010,"noIndex":6,"ogImage":1011,"ogUrl":1012,"ogSiteName":673,"ogType":674,"canonicalUrls":1012,"schema":1013},"Premiers pas avec GitLab : comment gérer les utilisateurs","Découvrez comment gérer les utilisateurs dans GitLab et apprenez comment configurer une collaboration sécurisée.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097273/Blog/Hero%20Images/Blog/Hero%20Images/blog-getting-started-with-gitlab-banner-0497-option4-fy25_cFwd8DYFLekdnOLmbbChp_1750097273817.png","https://about.gitlab.com/blog/getting-started-with-gitlab-how-to-manage-users","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Premiers pas avec GitLab : comment gérer les utilisateurs\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Abubakar Siddiq Ango\"}],\n        \"datePublished\": \"2025-01-14\",\n      }\n                  ",{"title":1009,"description":1010,"authors":1015,"heroImage":1011,"date":1017,"body":1018,"category":687,"tags":1019,"updatedDate":1020},[1016],"Abubakar Siddiq Ango","2025-01-14","*Bienvenue dans notre nouvelle série d'articles de blog baptisée « Premiers pas avec GitLab », dans laquelle nous aidons les nouveaux utilisateurs à se familiariser avec la plateforme DevSecOps de GitLab.*\n\nAssurer un environnement sécurisé, conforme et collaboratif commence par la tâche la plus élémentaire : la __gestion des utilisateurs__. Dans ce tutoriel, nous vous expliquons comment ajouter des membres à votre projet, attribuer des rôles et des autorisations, et créer des groupes ainsi que des sous-groupes.\n\nRemarque : pour suivre ce tutoriel, vous devez disposer d'un compte GitLab sur GitLab.com ou l'instance GitLab Self-Managed de votre entreprise. Si vous avez besoin d'aide, consultez nos sessions d'apprentissage dédiées aux fondamentaux sur [GitLab University](https://university.gitlab.com/).\n\nEntrons maintenant dans le vif du sujet.\n\nLorsque vous créez des utilisateurs sur GitLab, ces derniers n'ont accès qu'à [leurs projets privés, aux projets publics et à ceux définis avec une visibilité interne](https://docs.gitlab.com/ee/user/public_access.html). Dans le cadre de ce tutoriel, imaginons que vous gérez un projet hautement confidentiel où seuls les membres invités doivent y avoir accès, avec différents paramètres d'autorisation. Pour cela, vous pouvez inviter des utilisateurs en tant que [membres du projet](https://docs.gitlab.com/ee/user/project/members/).\n\n## Inviter les utilisateurs à rejoindre un projet\n\n![Écran des membres du projet](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097278/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097278487.png)\n\nLes utilisateurs de GitLab peuvent être invités à rejoindre un projet et [se voir attribuer un rôle](https://docs.gitlab.com/ee/user/permissions.html), qui détermine leurs droits en termes de contributions. Le propriétaire d'un projet peut confier certaines tâches administratives à d'autres utilisateurs en leur attribuant le rôle de chargé de maintenance. Ces derniers bénéficient de presque tous les privilèges du propriétaire, à l'exception de la possibilité d'apporter des modifications au projet, telles que sa suppression, son archivage ou son transfert.\n\n![Écran d'invitation des membres](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097278/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750097278487.png)\n\nLes [chargés de maintenance](https://docs.gitlab.com/ee/user/permissions.html#roles) peuvent ainsi inviter d'autres membres en tant que développeurs. Ces derniers ont accès à toutes les fonctionnalités requises pour créer, compiler et déployer des logiciels. Les utilisateurs qui ne sont pas des développeurs, mais qui ont besoin d'un accès à la gestion de projet peuvent être invités en tant que [planificateurs](https://about.gitlab.com/fr-fr/blog/introducing-gitlabs-new-planner-role-for-agile-planning-teams/), rapporteurs ou invités, avec différents niveaux d'accès. Ces rôles peuvent également servir à déterminer qui est autorisé à apporter des modifications à certaines branches par le biais des [branches protégées](https://docs.gitlab.com/ee/user/project/repository/branches/protected.html).\n\nSi vous travaillez avec des sous-traitants ou si votre utilisation nécessite que les autorisations des utilisateurs expirent, vous pouvez définir une date d'expiration après laquelle l'utilisateur perd l'accès au projet. Les membres du projet peuvent également être identifiés comme membres directs ou indirects, en fonction de leur [type d'attribution des droits d'accès](https://docs.gitlab.com/ee/user/project/members/#membership-types). Les membres directs sont ajoutés directement au projet, tandis que les membres indirects sont souvent hérités d'un [groupe GitLab](https://docs.gitlab.com/ee/user/group/) auquel appartient le projet.\n\nPassons maintenant aux attributions des droits d'accès au groupe.\n\n## Attribuer des droits d'accès au groupe\n\nDans GitLab, un groupe peut être un groupe principal créé à la racine d'une instance GitLab. C'est le cas de [gitlab.com/gitlab-org](http://gitlab.com/gitlab-org), un groupe parent utilisé pour organiser d'autres sous-groupes comme [gitlab.com/gitlab-org/charts](http://gitlab.com/gitlab-org/charts). Les groupes sont utiles même si vous n'avez qu'un seul projet.\n\nIls peuvent servir à :\n\n- organiser des projets similaires ou connexes\n- regrouper les utilisateurs en groupes pour mieux coordonner les équipes\n\nLorsque vous structurez votre projet à l'aide de groupes, vous pouvez assigner des équipes à des groupes spécifiques et [inviter un groupe à participer à un projet](https://docs.gitlab.com/ee/user/project/members/sharing_projects_groups.html) avec un rôle défini pour l’ensemble de l’équipe. Par exemple, vous pouvez créer un groupe `dev` pour les développeurs et développeuses de l'équipe, un groupe `pm` pour les chefs de projet et un groupe `leads` pour les responsables d'équipe. Lorsqu'une invitation est envoyée pour rejoindre ces groupes, les membres du groupe `dev` peuvent se voir attribuer le rôle de développeur, `pm` le rôle de planificateur et `leads` le rôle de chargé de maintenance.\n\n![Écran Inviter un groupe](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097279/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750097278488.png)\n\nLes membres de chaque groupe peuvent être ajoutés ou supprimés sans avoir à mettre à jour les autorisations du projet. Cette fonctionnalité est particulièrement utile lorsque votre équipe compte plusieurs projets. [Consultez nos bonnes pratiques](https://docs.gitlab.com/ee/user/project/members/sharing_projects_groups.html#setting-up-a-group-for-collaboration) pour utiliser les groupes à des fins collaboratives.\n\nUn autre avantage d'organiser les utilisateurs en groupes est la possibilité de [mentionner](https://docs.gitlab.com/ee/user/discussions/#mentions) l'ensemble du groupe dans les tickets, les merge requests ou les commentaires, ce qui facilite la communication au sein de l'équipe.\n\n### Comment créer des sous-groupes ?\n\nLes [sous-groupes](https://docs.gitlab.com/ee/user/group/subgroups/) permettent de mieux organiser les utilisateurs au sein d'un groupe. Vous pouvez ajouter des sous-groupes jusqu'à 20 niveaux imbriqués. Les utilisateurs d'un sous-groupe héritent des autorisations de leur groupe parent. Si vous souhaitez attribuer à un utilisateur d'un sous-groupe un rôle supérieur à celui dont il a hérité, vous devrez l'[inviter directement dans le sous-groupe](https://docs.gitlab.com/ee/user/group/subgroups/#override-ancestor-group-membership) et lui attribuer le nouveau niveau d'accès supérieur. Notez que, dans le sous-groupe, il n'est pas possible d'assigner à l'utilisateur un rôle inférieur à celui hérité du groupe parent.\n\n### Comment gérer les groupes ?\n\nEn tant que propriétaire du groupe, vous disposez de plusieurs options pour gérer le fonctionnement des utilisateurs au sein d'un groupe. Par exemple, vous pouvez définir les conditions d'accès à un groupe, activer ou désactiver les [mentions de groupe](https://docs.gitlab.com/ee/user/group/manage.html#disable-group-mentions), [restreindre l'accès](https://docs.gitlab.com/ee/user/group/manage.html#turn-on-restricted-access) ou [modérer les utilisateurs](https://docs.gitlab.com/ee/user/group/moderate_users.html). Une nouvelle fonctionnalité intéressante, encore en cours de développement au moment de la publication de cet article, est la [suppression automatique des utilisateurs inactifs](https://docs.gitlab.com/ee/user/group/moderate_users.html#automatically-remove-dormant-members) dans un délai compris entre 90 jours et 5 ans. Cette nouveauté aidera à maintenir les groupes à jour et à mieux gérer l'attribution des sièges associés à la licence. \n\n## Lancez-vous sur GitLab dès aujourd’hui !\n\nLa gestion des utilisateurs sur GitLab varie en fonction de vos besoins. Si votre entreprise atteint un stade de développement plus important, que vos workflows sont complexes et que vous avez recours à une gestion des utilisateurs plus avancée, GitLab offre des outils efficaces pour [gérer les utilisateurs Enterprise](https://docs.gitlab.com/ee/user/enterprise_user/index.html). Avec [GitLab Ultimate](https://about.gitlab.com/fr-fr/pricing/ultimate/), vous bénéficiez de fonctionnalités supplémentaires pour [gérer votre entreprise](https://docs.gitlab.com/ee/topics/set_up_organization.html), notamment une plus grande granularité et des options de conformité renforcées.\n\n> ##### Vous souhaitez approfondir vos connaissances ? [Inscrivez-vous à GitLab University](https://university.gitlab.com/). Vous pouvez également vous lancer immédiatement avec [un essai gratuit de GitLab Ultimate](https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com%2F).",[685,9,689,774,687],"2025-01-21",{"slug":1022,"featured":90,"template":691},"getting-started-with-gitlab-how-to-manage-users","content:fr-fr:blog:getting-started-with-gitlab-how-to-manage-users.yml","Getting Started With Gitlab How To Manage Users","fr-fr/blog/getting-started-with-gitlab-how-to-manage-users.yml","fr-fr/blog/getting-started-with-gitlab-how-to-manage-users",{"_path":1028,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1029,"content":1035,"config":1042,"_id":1044,"_type":13,"title":1045,"_source":15,"_file":1046,"_stem":1047,"_extension":18},"/fr-fr/blog/getting-started-with-gitlab-working-with-ci-cd-variables",{"ogTitle":1030,"schema":1031,"ogImage":1032,"ogDescription":1033,"ogSiteName":673,"noIndex":6,"ogType":674,"ogUrl":1034,"title":1030,"canonicalUrls":1034,"description":1033},"Premiers pas avec GitLab : comment tirer parti des variables CI/CD","{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"Article\",\n  \"headline\": \"Premiers pas avec GitLab : comment tirer parti des variables CI/CD\",\n  \"author\": [{\"@type\": \"Person\", \"name\": \"GitLab Team\"}],\n  \"datePublished\": \"2025-05-27\"\n}\n","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659525/Blog/Hero%20Images/blog-getting-started-with-gitlab-banner-0497-option4-fy25.png","Découvrez les variables CI/CD, leur rôle clé dans l'approche DevSecOps ainsi que les bonnes pratiques relatives à leur utilisation.","https://about.gitlab.com/blog/getting-started-with-gitlab-working-with-ci-cd-variables",{"heroImage":1032,"body":1036,"authors":1037,"date":1039,"title":1030,"tags":1040,"description":1033,"category":687,"updatedDate":1041},"*Bienvenue dans notre série « Premiers pas avec GitLab », conçue pour guider les nouveaux utilisateurs dans la prise en main de la plateforme DevSecOps de GitLab.* \n\nAprès avoir exploré les bases de [l'approche CI/CD de GitLab](https://about.gitlab.com/fr-fr/blog/getting-started-with-gitlab-understanding-ci-cd/) dans notre précédent article, concentrons-nous à présent sur les **variables CI/CD** afin de tirer pleinement parti de leur potentiel.\n\n## Qu’est-ce qu’une variable CI/CD ?\n\nLes variables CI/CD sont des paires clé-valeur dynamiques que vous pouvez définir à différents niveaux (projet, groupe ou instance par exemple) au sein de votre environnement GitLab. Elles permettent de personnaliser les [pipelines CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline CI/CD ?\"), de centraliser les configurations et de gérer en toute sécurité des données sensibles. Intégrées directement dans le fichier `.gitlab-ci.yml` comme des espaces réservés pour les valeurs correspondantes, elles facilitent la maintenance, renforcent la sécurité et améliorent la flexibilité des workflows CI/CD.\n\n## Quel est le rôle des variables CI/CD ?\n\nLes variables CI/CD offrent de nombreux avantages :\n\n* **Flexibilité** : adaptez facilement vos pipelines à différents environnements, configurations ou cibles de déploiement sans modifier votre script CI/CD principal.  \n* **Sécurité** : stockez en toute sécurité des informations sensibles telles que des clés API, des mots de passe et des tokens sans les exposer dans votre code.  \n* **Maintenabilité** : en centralisant les valeurs, elles simplifient la gestion et les mises à jour de votre configuration CI/CD pour qu'elle reste structurée correctement.  \n* **Réutilisation** : définies une seule fois, elles peuvent être réutilisées dans plusieurs projets, ce qui favorise la cohérence et réduit les doublons.\n\n## Portées des variables CI/CD : projet, groupe et instance\n\nGitLab permet de définir des variables CI/CD à différentes niveaux hiérarchiques du projet, avec un contrôle précis sur leur visibilité, leur portée et leur accessibilité :\n\n* **Variables au niveau du projet** : elles sont propres à un seul projet et idéales pour stocker des paramètres spécifiques, notamment :\n\n  * L'URL de déploiement : définissez des URL distinctes pour les environnements de préproduction et de production.  \n  * Les identifiants de connexion à la base de données : stockez les données de connexion à la base de données afin de pouvoir les utiliser lors d'un test ou d'un déploiement.  \n  * Les feature flags : activez ou désactivez les fonctionnalités à différentes étapes de votre pipeline.  \n  * Exemple : dans le cadre de votre projet `MyWebApp`, vous souhaitez stocker l'URL de déploiement de production. Vous pouvez définir une variable au niveau du projet, nommée `DPROD_DEPLOY_URL`, avec la valeur `https://mywebapp.com` d'URL de production.  \n* **Variables au niveau du groupe** : elles sont partagées par tous les projets d'un groupe GitLab. Elles sont utiles pour centraliser des paramètres communs à plusieurs projets, notamment :\n\n  * Les clés API de services partagés : stockez-les pour des services tels qu'AWS, Google Cloud ou Docker Hub qui sont utilisés par plusieurs projets au sein du groupe.  \n  * Les paramètres de configuration généraux : définissez des paramètres de configuration communs qui s'appliquent à tous les projets du groupe.  \n  * Exemple : dans votre groupe `Web Apps`, vous souhaitez stocker une clé API pour Docker Hub. Vous pouvez définir une variable au niveau du groupe, nommée `DOCKER_HUB_API_KEY`, avec la valeur de clé API correspondante.  \n* **Variables au niveau de l'instance** : elles sont disponibles pour tous les projets d'une instance GitLab et couramment utilisées pour les paramètres généraux qui s'appliquent à l'ensemble de l'entreprise, notamment :\n\n  * Le token d'enregistrement de runner par défaut : fournissez un token par défaut pour l'enregistrement de nouveaux [runners](https://docs.gitlab.com/runner/).  \n  * Les informations sur la licence : stockez les clés de licence des fonctionnalités GitLab ou des outils tiers.  \n  * Les paramètres d'environnement généraux : définissez des variables d'environnement qui doivent être disponibles pour tous les projets.  \n  * Exemple : vous souhaitez définir une image Docker par défaut pour tous les projets de votre instance GitLab. Vous pouvez définir une variable au niveau de l'instance, nommée `DEFAULT_DOCKER_IMAGE`, avec la valeur `ubuntu:latest`.\n\n## Comment définir des variables CI/CD ?\n\nPour définir une variable CI/CD, voici comment procéder :\n\n1. Cliquez sur les boutons **Paramètres > CI/CD** de votre projet, groupe ou instance.  \n2. Accédez à la section **Variables**.  \n3. Cliquez sur **Ajouter une variable**.  \n4. Saisissez la **clé** (par exemple, `API_KEY`) et la **valeur** correspondante.  \n5. Facultatif : cochez l'option **Protéger la variable** si elle contient des données sensibles afin de restreindre son utilisation aux pipelines qui s'exécutent sur des branches ou des tags protégés.  \n6. Facultatif : cochez la case **Masquer la variable** pour masquer sa valeur dans les job logs, afin d'éviter toute exposition accidentelle.  \n7. Cliquez sur **Enregistrer la variable**.\n\n## Comment utiliser des variables CI/CD ?\n\nPour utiliser une variable CI/CD dans votre fichier `.gitlab-ci.yml`, faites simplement précéder le nom de la variable du symbole `$` :\n\n```yaml\ndeploy_job:\n  script:\n    - echo \"Deploying to production...\"\n    - curl -H \"Authorization: Bearer $API_KEY\" https://api.example.com/deploy\n```\n\n## Comment utiliser les variables CI/CD prédéfinies dans GitLab ?\n\nGitLab met à disposition un ensemble de [variables CI/CD prédéfinies](https://docs.gitlab.com/ci/variables/predefined_variables/) que vous pouvez utiliser dans vos pipelines CI/CD. Celles-ci fournissent des informations contextuelles sur le pipeline, le job, le projet en cours, et bien plus encore.\n\nVoici les variables plus couramment utilisées :\n\n* `$CI_COMMIT_SHA` : SHA de validation qui déclenche le pipeline  \n* `$CI_PROJECT_DIR` : répertoire dans lequel le projet est cloné  \n* `$CI_PIPELINE_ID` : ID du pipeline en cours\n* `$CI_ENVIRONMENT_NAME` : nom de l'environnement de déploiement cible (le cas échéant)\n\n## Bonnes pratiques pour l'utilisation des variables CI/CD\n\n* Gérez en toute sécurité les variables sensibles : utilisez des variables protégées et masquées pour stocker les clés API, les mots de passe et tout autre secret.  \n* Évitez de coder en dur les valeurs : stockez les valeurs de configuration dans des variables afin de renforcer la flexibilité et la maintenance de vos pipelines.\n* Organisez vos variables : utilisez des noms explicites et regroupez les variables par usage pour faciliter leur gestion.  \n* Choisissez la portée appropriée : définissez vos variables au niveau du projet, groupe ou instance en fonction de leur utilisation prévue et de leur visibilité.\n\n## Tirez parti de la puissance des variables CI/CD\n\nLes variables CI/CD sont un outil puissant pour personnaliser et sécuriser vos pipelines GitLab. En maîtrisant leur fonctionnement et en comprenant leurs différentes portées, vous pouvez créer des workflows plus flexibles, plus faciles à maintenir et plus efficaces.\n\n> Prêt à passer à l’action ? Commencez à utiliser les variables CI/CD dès aujourd'hui et profitez d'un [essai gratuit de GitLab Ultimate avec Duo Enterprise](https://about.gitlab.com/fr-fr/free-trial/).\n\n## Articles de la série « Premiers pas avec GitLab »\n\nDécouvrez les autres articles de notre série « Premiers pas avec GitLab » :\n\n* [Comment gérer les utilisateurs](https://about.gitlab.com/fr-fr/blog/getting-started-with-gitlab-how-to-manage-users/)\n* [Comment importer vos projets dans GitLab](https://about.gitlab.com/fr-fr/blog/getting-started-with-gitlab-how-to-import-your-projects-to-gitlab/)  \n* [Comment maîtriser la gestion de projet](https://about.gitlab.com/fr-fr/blog/getting-started-with-gitlab-mastering-project-management/)\n* [La gemme gitlab-triage : votre alliée pour des workflows Agile automatisés](https://about.gitlab.com/fr-fr/blog/automating-agile-workflows-with-the-gitlab-triage-gem/)\n* [Comprendre l'approche CI/CD](https://about.gitlab.com/fr-fr/blog/getting-started-with-gitlab-understanding-ci-cd/)",[1038],"GitLab Team","2025-05-27",[687,689,842,840,108,9],"2025-06-10",{"slug":1043,"featured":90,"template":691},"getting-started-with-gitlab-working-with-ci-cd-variables","content:fr-fr:blog:getting-started-with-gitlab-working-with-ci-cd-variables.yml","Getting Started With Gitlab Working With Ci Cd Variables","fr-fr/blog/getting-started-with-gitlab-working-with-ci-cd-variables.yml","fr-fr/blog/getting-started-with-gitlab-working-with-ci-cd-variables",{"_path":1049,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1050,"content":1054,"config":1062,"_id":1064,"_type":13,"title":1065,"_source":15,"_file":1066,"_stem":1067,"_extension":18},"/fr-fr/blog/gitlab-18-3-expanding-ai-orchestration-in-software-engineering",{"config":1051,"title":1052,"description":1053},{"noIndex":6},"GitLab 18.3 : orchestration IA et ingénierie logicielle","Découvrez comment nous développons la collaboration humain-IA avec des flows améliorés, une gouvernance d'entreprise et une intégration fluide des outils.",{"title":1055,"description":1053,"authors":1056,"heroImage":1058,"date":1059,"body":1060,"category":682,"tags":1061},"GitLab 18.3 : expansion de l'orchestration IA dans l'ingénierie logicielle",[1057],"Bill Staples","https://res.cloudinary.com/about-gitlab-com/image/upload/v1755711502/wuuadis1pza3zehqohcc.png","2025-08-21","GitLab est aujourd'hui une plateforme DevSecOps complète qui unifie chaque étape du cycle de vie logiciel. Nous n'arrêtons pas l'innovation et continuons à œuvrer afin de devenir la première plateforme au monde alimentée par l'IA native pour l'ingénierie logicielle. Chez GitLab, nous croyons que l'avenir de l'ingénierie logicielle repose sur une collaboration intrinsèque entre l'humain et l'IA, c'est pourquoi nous souhaitons proposer les meilleures fonctionnalités d'IA à chaque utilisateur GitLab.\n\nCette transformation s'opère à trois niveaux distincts qui vont au-delà de ce que proposent les autres outils de développement IA :\n\n![Diapositive de transformation d'IA native](https://res.cloudinary.com/about-gitlab-com/image/upload/v1755762266/iwuugge3cxweiyvi0yjk.png)\n\n**Premièrement, nous sommes un système pour l'enregistrement.** Notre plateforme de données unifiée contient vos actifs numériques les plus précieux, comme votre code source et votre propriété intellectuelle, ainsi qu'une large quantité de données non structurées de vos projets, des backlogs de bugs, des configurations CI/CD, des historiques de déploiement, des rapports de sécurité et des données de conformité. Ces données contextuelles d'une valeur inestimable sont en sécurité dans votre environnement GitLab et ne sont pas accessibles aux agents génériques ni aux grands modèles de langage (LLM).\n\n**Deuxièmement, nous agissons comme votre plan de contrôle logiciel.** Nous orchestrons vos processus métier critiques via des dépôts Git, des API REST et des interfaces basées sur des webhooks qui alimentent votre livraison logicielle de bout en bout. Pour nombre de nos clients, il s'agit d'une dépendance de niveau 0 sur laquelle leurs processus métier critiques s'appuient quotidiennement.\n\n**Troisièmement, nous offrons une expérience utilisateur puissante.** Nous proposons une interface intégrée qui élimine les changements de contexte coûteux qui ralentissent la plupart des équipes d'ingénierie. Plus de 50 millions d'utilisateurs enregistrés et notre vaste communauté dépendent de GitLab pour accomplir leur travail, et ils profitent d'une visibilité complète du cycle de vie et des outils de collaboration sur une seule plateforme. Forte de cette expertise, GitLab occupe une position de pionnière unique dans la collaboration intuitive humain-IA qui amplifie la productivité des équipes tout en préservant les workflows que nos utilisateurs connaissent et auxquels ils font confiance.\n\n**Extension de notre plateforme avec l'IA native intégrée à chaque niveau**\n\n[GitLab Duo Agent Platform](https://about.gitlab.com/fr-fr/gitlab-duo/agent-platform/) intègre et étend ces trois niveaux. Conçue pour l'extensibilité et l'interopérabilité, elle permet aux clients et partenaires de créer des solutions qui génèrent encore plus de valeur. Notre approche de plateforme ouverte met l'accent sur une connectivité transparente avec les outils et systèmes IA externes tout en garantissant une intégration à notre pile existante aux trois niveaux.\n\n* Tout d'abord, nous étendons notre plateforme de données unifiée avec un **graphique de connaissances** optimisé pour l'accès agentique qui indexe et relie le code avec toutes vos autres données non structurées. L'IA est friande de contexte, et nous sommes persuadés que cette approche accélérera non seulement le raisonnement et l'inférence par les agents, mais fournira également des résultats agentiques plus économiques et de meilleure qualité.\n* Ensuite, nous ajoutons une **couche d'orchestration** importante en trois parties distinctes à notre plan de contrôle existant : elle permet aux agents et aux flows de s'enregistrer comme abonnés aux événements SDLC GitLab, construit un nouveau moteur d'orchestration pour les flows multi-agents conçus sur mesure et expose les outils, agents et flows GitLab via Model Context Protocol (MCP) et des protocoles standards pour une interopérabilité sans précédent.\n* Enfin, nous étendons **l'expérience GitLab** pour offrir des agents et des flows d'agents de premier plan à travers tout le cycle de développement logiciel. Vous pourrez assigner des tâches asynchrones aux agents, les mentionner dans les commentaires et créer des agents personnalisés avec un contexte spécifique à vos workflows. Mais plus important encore, GitLab livre des agents natifs pour chaque étape du développement et propose un riche écosystème d'agents tiers. Cette approche crée une véritable collaboration humain-IA où vous pourrez travailler avec les agents IA aussi naturellement qu'avec vos collègues.\n\nDécouvrez en vidéo les nouveautés de la version 18.3 ou poursuivez votre lecture.\n\n\u003Cdiv style=\"padding:75% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1111796316?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"GitLab_18.3 Release_081925_MP_v1\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n## Nouveautés de GitLab 18.3\n\nLa version 18.2 a introduit des [agents IA spécialisés](https://about.gitlab.com/fr-fr/blog/gitlab-duo-agent-platform-public-beta/#agents-that-work-out-of-the-box:~:text=Agents%20that%20work%20out%20of%20the%20box) qui travaillent aux côtés des équipes de développement tout au long du cycle de développement logiciel, ainsi que notre [Software Development Flow](\u003Chttps://about.gitlab.com/fr-fr/blog/gitlab-duo-agent-platform-public-beta/#agents-that-work-out-of-the-box:~:text=we%20are%20building%3A-,Software%20Development%20Flow,-(now%20in%20beta>), une fonctionnalité puissante qui donne aux utilisateurs la capacité d'orchestrer plusieurs agents pour planifier, implémenter et tester des changements de code de bout en bout.\n\nGitLab 18.3 introduit des intégrations et une interopérabilité étendues, davantage de Flows, et une conscience contextuelle améliorée sur tout le cycle de développement logiciel.\n\n### Extension des intégrations et de l'interopérabilité \n\nNous offrons une extensibilité IA complète grâce aux agents GitLab de première partie et à un riche écosystème d'agents tiers avec un accès complet au contexte et aux données du projet. Cette approche maintient les workflows natifs et la gouvernance de GitLab et garantit une flexibilité dans le choix de vos outils préférés grâce à une orchestration hautement intégrée entre ces agents et la plateforme centrale de GitLab. Les équipes bénéficient de fonctionnalités IA améliorées, mais conservent leurs avantages clés d'intégration, de supervision et d'expérience utilisateur.\n\n* **Serveur MCP – intégration IA universelle :** le serveur ([MCP](https://about.gitlab.com/fr-fr/topics/ai/model-context-protocol/)) de GitLab permet aux systèmes IA de s'intégrer en toute sécurité directement avec vos projets GitLab et vos processus de développement. Cette interface standardisée élimine le besoin d'intégrations personnalisées supplémentaires et permet à vos outils IA, y compris [Cursor](https://docs.cursor.com/en/tools/mcp), de fonctionner intelligemment dans votre environnement GitLab existant. Consultez notre [documentation](https://docs.gitlab.com/fr-fr/user/gitlab_duo/model_context_protocol/mcp_server/) pour obtenir une liste complète des outils inclus avec la version 18.3. **Des outils supplémentaires sont prévus pour la version 18.4.**\n\n> *« Intégrer les workflow GitLab directement dans Cursor est une étape cruciale afin de réduire les frictions pour les équipes de développement. Si nous réduisons le besoin de changer de contexte, les équipes peuvent vérifier le statut des tickets, examiner les merge requests et surveiller les résultats des pipelines sans jamais quitter leur environnement de développement. Cette intégration est un ajustement naturel pour nos clients partagés, et nous nous réjouissons d'un partenariat à long terme avec GitLab pour continuer à améliorer la productivité de nos équipes. »*\n>\n> \\- **Ricky Doar, VP of Field Engineering chez Cursor**\n>\n> *« Le serveur MCP et l'assistance des agents de GitLab CLI créent de nouvelles façons puissantes pour Amazon Q de s'intégrer aux workflow de développement. Amazon Q Developer peut maintenant se connecter directement via l'interface MCP distante de GitLab, tandis que les équipes peuvent déléguer des tâches de développement en mentionnant simplement Amazon Q CLI dans les tickets et les merge requests. Les capacités robustes de sécurité et de gouvernance intégrées dans ces intégrations donnent aux entreprises la confiance nécessaire pour tirer parti des outils de codage IA tout en préservant leurs normes de développement. Notre partenariat avec GitLab démontre l'engagement continu d'AWS à étendre notre écosystème IA et à rendre les outils de développement intelligents accessibles partout où les développeurs travaillent. »*\n>\n> \\- **Deepak Singh, Vice President of Developer Agents and Experiences chez AWS**\n\n* **Assistance des agents de GitLab CLI  pour Claude Code, Codex, Amazon Q, Google Gemini et opencode (Bring Your Own Key) :** la version 18.3 introduit des intégrations qui permettent aux équipes de déléguer des tâches de routine en mentionnant leurs agents directement dans les tickets ou les merge requests. Dès que ces assistants IA sont mentionnés, ils lisent automatiquement le contexte environnant et le code du dépôt, puis répondent au commentaire de l'utilisateur en proposant des changements de code prêts à être examinés ou des commentaires inline. Ces intégrations requièrent l'utilisation de votre propre clé API pour les fournisseurs IA respectifs, conservent toutes les interactions en mode natif dans l'interface de GitLab et maintiennent les permissions appropriées et les pistes d'audit.\n\n\n  **Remarque :** les agents tiers font partie de la version bêta GitLab Premium et ne sont disponibles que pour les clients GitLab Duo Enterprise à des fins d'évaluation.\n\n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1111784124?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Third Party Agents Flows Claude Code\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n> *« L'intégration de Claude Code directement dans GitLab est une assistance IA disponible là où des millions de développeurs collaborent déjà et livrent du code au quotidien. En mentionnant Claude directement dans les tickets et les merge requests, il est possible d'éliminer les obstacles et de maintenir  la qualité avec une supervision humaine et des processus de révision. Cette mise à jour permet de tirer profit des capacités de Claude Code dans davantage de contextes où les équipes travaillent et transforme l'IA en un composant naturel de leur workflow de développement. »*\n>\n> **\\- Cat Wu, Claude Code Product Lead, Anthropic**\n>\n> *« Avec la nouvelle intégration d'agents de GitLab dans la version 18.3, vous pouvez utiliser opencode dans vos workflow existants. Il vous suffit de mentionner opencode dans un ticket ou une merge request, et il exécutera votre agent directement dans votre pipeline CI. Cette liberté dans la configuration et l'exécution d'opencode est le type d'intégration que la communauté open source apprécie vraiment. »*\n>\n> **\\- Jay V., CEO, opencode**\n\n* **Assistance Agentic Chat pour l'IDE de Visual Studio et l'interface utilisateur GitLab disponible pour tous les clients GitLab Premium et Ultimate :** avec la version 18.3, vous n'avez plus besoin de changer de contexte entre les outils pour accéder aux données complètes du cycle de vie de développement de GitLab. Nos intégrations améliorées injectent toute la puissance de GitLab Duo dans l'interface utilisateur GitLab ainsi que dans les IDE, et l'assistance inclut désormais Visual Studio en plus de JetBrains et VS Code. Cette nouveauté aide les développeurs à rester concentrés et à accéder au contexte détaillé du projet, à l'historique de déploiement et aux données de collaboration d'équipe directement dans leur environnement préféré.\n* **Assistance étendue des modèles IA :** GitLab Duo Self-Hosted prend maintenant en charge des modèles IA supplémentaires afin d'offrir aux équipes plus de flexibilité dans leurs workflows de développement assistés par l'IA. Vous pouvez maintenant déployer des modèles OpenAI GPT open source (20B et 120B de paramètres) via vLLM sur votre matériel de centre de données ou via des services cloud comme Azure OpenAI et AWS Bedrock dans votre cloud privé. De plus, Claude 4 d'Anthropic est disponible sur AWS Bedrock.\n\n### Nouveaux Flows de développement automatisés\n\nGitLab Flows coordonne plusieurs agents IA avec des instructions prédéfinies pour gérer de manière autonome ces tâches chronophages et routinières afin que les équipes de développement puissent se concentrer sur le cœur de leur travail.\n\nGitLab 18.3 possède deux nouveaux Flows :\n\n* **Flow Issue-to-MR (génération de code automatisée du concept à la complétion en quelques minutes) :** ce Flow convertit automatiquement les tickets en merge requests (MR) exploitables en coordonnant des agents pour analyser les exigences, préparer des plans de mise en œuvre complets et générer du code de qualité prêt pour une revue. Vous pouvez ainsi mettre en œuvre des idées en quelques minutes au lieu de plusieurs heures.\n\n\u003Cdiv style=\"padding:75% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1111782058?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Issue to MR\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n* **Flow de conversion de fichier CI (intelligence de migration transparente) :** notre Flow de conversion de fichier CI rationalise les workflow de migration en demandant aux agents d'analyser les configurations CI/CD existantes et de les convertir intelligemment au format GitLab CI avec une compatibilité complète au pipeline. Ce Flow élimine les efforts manuels et les erreurs potentielles de réécriture des configurations CI, et il aide les équipes à migrer des pipelines de déploiement entiers en toute confiance. La version 18.3 inclut une assistance pour les migrations Jenkins. Une assistance supplémentaire est prévue dans les futures versions.\n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1111783724?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Convert to CI Flow\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n### Code et recherche intelligents\n\nLes solutions ponctuelles d'IA fonctionnent généralement avec une visibilité limitée sur des extraits de code isolés, mais le graphique de connaissances de GitLab fournit aux agents un contexte d'environnement pour garantir des réponses plus rapides et plus intelligentes.\n\n* **Graphique de connaissances (intelligence de code en temps réel) :** dans la version 18.3, le graphique de connaissances de GitLab offre désormais une indexation de code en temps réel pour des recherches de code plus rapides ainsi que des résultats plus précis en contexte. Nos agents comprennent les relations entre les fichiers, les dépendances et les modèles de développement de l'ensemble de votre code source et sont conçus pour fournir des informations que les développeurs humains mettraient des heures à trouver. **Et ce n'est que la première étape, nous prévoyons de continuer à étendre les puissantes fonctionnalités du graphique de connaissances.**\n\n### Gouvernance d'entreprise\n\nLa transparence de l'IA et le contrôle applicable à l'entreprise sont des défis majeurs qui freinent l'adoption des outils de développement alimentés par l'IA : [85 % des dirigeants s'accordent à dire que l'IA agentique créera des défis de sécurité sans précédent](https://about.gitlab.com/fr-fr/software-innovation-report/).\n\nLes nouvelles fonctionnalités de la version 18.3 visent à répondre aux préoccupations concernant la gouvernance des données, les exigences en matière de conformité et le besoin de visibilité dans les processus de prise de décision de l'IA afin que les entreprises puissent intégrer l'IA dans leurs frameworks de sécurité et de stratégies existants.\n\n* **Agent Insights (transparence par l'intelligence) :** notre suivi d'agents intégré offre une visibilité sur les processus de prise de décision des agents. Les utilisateurs peuvent optimiser les workflow et suivre les meilleures pratiques grâce à un suivi transparent.\n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1111783244?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Agent Insights\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\u003Cp>\u003C/p>\n\n* **GitLab Duo Code Review pour GitLab Self-Hosted :** dédiée aux  organisations avec des exigences strictes de gouvernance des données, cette fonctionnalité permet aux équipes d'utiliser l'intelligence de GitLab Duo tout en gardant le code sensible dans des environnements contrôlés.\n* **Configurations de modèles hybrides pour un déploiement IA flexible :** les clients GitLab Duo Self-Hosted peuvent maintenant utiliser des configurations de modèles hybrides et combiner des modèles IA auto-hébergés via leur passerelle IA locale avec les modèles cloud de GitLab via la passerelle IA de GitLab afin d'accéder à diverses fonctionnalités.\n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1111783569?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Self Hosted Models Code Review\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\u003Cp>\u003C/p>\n\n* **Sécurité renforcée avec assistance OAuth :** notre serveur MCP inclut maintenant une assistance complète pour l'authentification OAuth 2.0, qui garantit des connexions sécurisées aux ressources protégées et aux environnements de développement sensibles. Cette nouvelle fonctionnalité suit le projet de spécification OAuth pour MCP, qui gère les flux d'autorisation, la gestion des tokens et l'enregistrement dynamique des clients.\n\n### Plateforme Secure by Design : une gouvernance évolutive\n\nPour être véritablement sécurisée, une plateforme nécessite l'application cohérente de principes de gouvernance sur l'ensemble du cycle de développement. Les mêmes principes fondamentaux de sécurité qui garantissent l'adoption sécurisée de l'IA (principe de moindre privilège, gestion centralisée des stratégies, surveillance proactive et autorisations granulaires) doivent être intégrés dans tout le SDLC pour créer une approche cohésive de défense en profondeur.\n\nGitLab 18.3 renforce les contrôles fondamentaux qui aident à protéger toute votre chaîne d'approvisionnement logicielle avec ces nouvelles mises à jour :\n\n* **Rôle d'administrateur personnalisé :** fournit des autorisations administratives granulaires conçues sur mesure qui remplacent l'accès administrateur général par des contrôles précis selon le principe de moindre privilège. Au lieu d'accorder des privilèges administratifs généraux qui créent des risques de sécurité, les organisations peuvent maintenant créer des rôles spécialisés adaptés à des fonctions spécifiques comme les équipes de plateforme qui gèrent les runners et la surveillance, les équipes d'assistance dédiées à la gestion des utilisateurs et les cadres dirigeants qui accèdent aux tableaux de bord et aux statistiques d'utilisation. Forte d'une gestion complète du cycle de vie des rôles via l'interface utilisateur et l'API, d'une journalisation d'audits et de documentation générée automatiquement, cette fonctionnalité offre une véritable gestion selon le principe de moindre privilège qui aide à maintenir l'efficacité opérationnelle et à améliorer la sécurité globale de l'instance.\n* **Framework de conformité au niveau de l'instance et gestion des stratégies de sécurité :** les organisations peuvent maintenant désigner un groupe de conformité dédié responsable d'appliquer des frameworks standardisés et des stratégies de sécurité directement aux groupes principaux, lesquels seront automatiquement mis en œuvre dans tous leurs sous-groupes et projets. Cette approche centralisée élimine la gestion fragmentée des stratégies, un obstacle à la conformité, et maintient l'autonomie du groupe en matière d'adoption de stratégies locales supplémentaires.\n* **Rapports de violations améliorés :** les équipes reçoivent désormais des notifications immédiates lorsque des changements non autorisés sont apportés aux règles d'approbation des MR, que des stratégies de framework ne possèdent pas les approbations appropriées ou que les contrôles de conformité temporels ne sont pas respectés. Les équipes peuvent associer directement les violations aux contrôles spécifiques du framework de conformité afin d'obtenir des informations exploitables qui leur indiquent exactement quelle exigence a été violée. Cette fonctionnalité transforme la conformité d'une simple tâche à exécuter en un élément proactif et intégré du workflow de développement et de sécurité.\n* **Permissions granulaires pour les tokens de job CI/CD :** remplace l'accès général des tokens par des permissions granulaires et explicites qui accordent aux jobs CI/CD un accès uniquement aux points de terminaison API spécifiques dont ils ont réellement besoin. Au lieu de donner aux jobs un accès général aux ressources du projet, les équipes peuvent maintenant définir des permissions précises pour les déploiements, les packages, les versions, les environnements et autres ressources critiques afin de réduire la surface d'attaque et tout potentiel d'escalade de privilèges.\n* **Intégration d'AWS Secrets Manager :** les équipes qui utilisent AWS Secrets Manager peuvent maintenant récupérer des secrets directement dans les jobs GitLab CI/CD afin de simplifier les processus de compilation et de déploiement. Un GitLab Runner accède aux secrets au moyen de l'authentification basée sur le protocole OpenID Connect, qui est masqué pour éviter l'exposition dans les job logs et détruit après utilisation. Cette approche élimine le  stockage des secrets dans des variables et s'intègre proprement dans les workflows existants  GitLab et AWS. Développée en étroite collaboration avec Deutsche Bahn et l'équipe AWS Secrets Manager, cette intégration reflète notre engagement à proposer des solutions aux côtés des clients pour résoudre des défis du monde réel.\n\n### Gestion des artefacts : sécuriser la chaîne d'approvisionnement logicielle\n\nLorsque les artefacts ne sont pas régis correctement, de petits changements peuvent avoir de lourdes conséquences. Les packages modifiables, les images de conteneurs écrasées et les règles incohérentes entre les outils peuvent entraîner des pannes de production, introduire des vulnérabilités et créer des problèmes de conformité. Pour une plateforme DevSecOps d'entreprise, une gestion centralisée et sécurisée des artefacts est essentielle afin de maintenir l'intégrité de la chaîne d'approvisionnement logicielle.\n\n#### Protection des artefacts au niveau de l'entreprise\n\nGitLab 18.3 capitalise sur nos capacités complètes de protection des packages et ajoute de nouvelles fonctionnalités importantes :\n\n* **Assistance pour les revues Conan :** dans la version 18.3, les [révisions Conan](https://docs.gitlab.com/user/packages/conan_2_repository/#conan-revisions) garantissent l'immuabilité des packages pour les équipes de développement C++. Lorsque des modifications sont apportées à un package sans en changer la version, Conan calcule des identifiants uniques pour suivre ces changements et permettre aux équipes de maintenir des packages immuables ainsi que de préserver la clarté des versions.\n* **Sécurité améliorée du registre de conteneurs :** suite au lancement réussi des [tags de conteneurs immuables](https://docs.gitlab.com/fr-fr/user/packages/container_registry/immutable_container_tags/) dans la version 18.2, nous constatons une forte adoption de cette fonctionnalité en entreprise. Une fois qu'un tag créé correspond à une règle immuable, personne, quel que soit son niveau de permission, ne peut modifier cette image de conteneur afin d'éviter les changements non intentionnels des dépendances de production.\n\nCes améliorations complètent nos capacités de protection existantes pour npm, PyPI, Maven, NuGet, les charts Helm et les packages génériques. Elles aident les équipes de plateforme à implémenter une stratégie de gouvernance cohérente à travers toute leur chaîne d'approvisionnement logicielle – une exigence pour les organisations qui construisent des plateformes de développement internes sécurisées.\n\nContrairement aux solutions d'artefacts autonomes, l'approche intégrée de GitLab élimine le changement de contexte entre les outils et fournit une traçabilité de bout en bout du code au déploiement. Elle permet aussi aux équipes de plateforme d'implémenter une stratégie de gouvernance cohérente dans l'ensemble de leur pipeline de livraison logicielle.\n\n### Vues intégrées : visibilité et rapports en temps réel\n\nÀ mesure que les projets GitLab gagnent en complexité, les équipes se retrouvent à naviguer entre tickets, merge requests, epics et jalons pour maintenir la visibilité du statut du travail. Consolider efficacement ces informations tout en garantissant que les équipes ont un accès en temps réel à la progression du projet sans changement de contexte ni interruption reste un défi.\n### Lancement de la visibilité du statut du travail en temps réel\n\nDans GitLab 18.3, les [vues intégrées alimentées par notre puissant GitLab Query Language](https://docs.gitlab.com/fr-fr/user/glql/#embedded-views) (GLQL) éliminent le changement de contexte grâce à des données de projet injectées directement dans votre workflow :\n* **Vues dynamiques :** insérez des requêtes GLQL dans des blocs de code Markdown de pages wiki, d'epics, de tickets et de merge requests qui se rafraîchissent automatiquement en fonction de l'état actuel du projet chaque fois que vous chargez la page.\n* **Personnalisation contextuelle :** les vues s'adaptent automatiquement à l'aide de fonctions comme `currentUser()` et `today()` pour afficher les informations pertinentes selon l'utilisateur, sans configuration manuelle.\n* **Filtrage puissant :** filtrez parmi plus de 25 champs, y compris la personne assignée, l'auteur, le label, le jalon, les indicateurs de progression et la date de création.\n* **Flexibilité d'affichage :** présentez les données sous forme de tableaux, de listes ou de listes numérotées avec sélection personnalisable des champs, limites d'éléments et ordre de tri pour des vues spécifiques et exploitables.\n\nContrairement aux approches fragmentées de gestion de projet, nous avons conçu les vues intégrées pour maintenir la continuité de votre workflow avec une visibilité en temps réel. Ainsi, les équipes peuvent prendre des décisions éclairées sans se déconcentrer ni basculer entre plusieurs outils et interfaces.\n\n> Découvrez les [nouvelles fonctionnalités de GitLab 18.3](https://about.gitlab.com/fr-fr/releases/2025/08/21/gitlab-18-3-released/).\n## Lancez-vous dès aujourd'hui\nGitLab 18.3 est maintenant disponible pour les utilisateurs GitLab Premium et Ultimate sur GitLab.com et dans les environnements GitLab Self-Managed.\n\nLes clients GitLab Dedicated profitent maintenant de la mise à niveau vers la version 18.2 et pourront utiliser les fonctionnalités déployées avec GitLab 18.3 le mois prochain.\n\nPrêt à découvrir l'avenir de l'ingénierie logicielle ? [Activez les fonctionnalités expérimentales et celles de la version bêta pour GitLab Duo](https://docs.gitlab.com/fr-fr/user/gitlab_duo/turn_on_off/#turn-on-beta-and-experimental-features) et commencez à utiliser des agents IA qui comprennent votre contexte de développement dans son ensemble.\n\nVous ne connaissez pas encore GitLab ? [Commencez votre essai gratuit](https://gitlab.com/fr-fr/-/trials/new) aujourd'hui et découvrez pourquoi l'avenir de l'ingénierie logicielle repose sur la collaboration humain-IA orchestrée sur la plateforme DevSecOps la plus complète au monde.\n\n\u003Cp>\u003Csmall>\u003Cem>Cet article de blog contient des énoncés de nature prospective au sens de la Section 27A de la Securities Act de 1933, telle que modifiée, et de la Section 21E de la Securities Exchange Act de 1934. Bien que nous croyions que les attentes reflétées dans les énoncés de nature prospective contenus dans cet article de blog sont raisonnables, ils sont soumis à des risques connus et inconnus, des incertitudes, des hypothèses et d'autres facteurs dont les résultats ou issues réels peuvent matériellement différer de tout résultat ou issue futurs exprimés ou impliqués par les énoncés de nature prospective.\u003C/em>\u003C/p>\n\u003Cp>\u003Cem>Des informations supplémentaires sur les risques, incertitudes et autres facteurs qui pourraient faire que les résultats et issues réels diffèrent matériellement de ceux inclus dans les énoncés de nature prospective contenus dans cet article de blog ou envisagés dans celui-ci sont incluses sous la rubrique « Facteurs de risque » et ailleurs dans les documents et rapports que nous faisons auprès de la Securities and Exchange Commission. Nous ne nous engageons pas à mettre à jour ou à réviser les énoncés de nature prospective ou à signaler des événements ou circonstances après la date de publication de cet article de blog ou à refléter la tenue d'événements imprévus, sauf si la loi l'exige.\u003C/em>\u003C/small>\u003C/p>",[687,684,685,9,790],{"featured":90,"template":691,"slug":1063},"gitlab-18-3-expanding-ai-orchestration-in-software-engineering","content:fr-fr:blog:gitlab-18-3-expanding-ai-orchestration-in-software-engineering.yml","Gitlab 18 3 Expanding Ai Orchestration In Software Engineering","fr-fr/blog/gitlab-18-3-expanding-ai-orchestration-in-software-engineering.yml","fr-fr/blog/gitlab-18-3-expanding-ai-orchestration-in-software-engineering",{"_path":1069,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1070,"content":1073,"config":1081,"_id":1083,"_type":13,"title":1084,"_source":15,"_file":1085,"_stem":1086,"_extension":18},"/fr-fr/blog/gitlab-duo-agent-platform-public-beta",{"noIndex":6,"title":1071,"description":1072},"GitLab Duo Agent Platform disponible en bêta publique","Découvrez la plateforme d'orchestration DevSecOps conçue pour permettre une collaboration asynchrone entre les équipes de développement et les agents d’IA.",{"tags":1074,"category":682,"date":1076,"heroImage":1077,"authors":1078,"description":1072,"title":1079,"body":1080},[684,687,9,1075],"news","2025-07-17","https://res.cloudinary.com/about-gitlab-com/image/upload/v1752678395/impw8no5tbskr6k2afgu.jpg",[1057],"GitLab Duo Agent Platform (bêta) : votre orchestration IA nouvelle génération","**Nous construisons l'avenir du développement logiciel.**\n\nChez GitLab, nous [réinventons l'avenir de l'ingénierie logicielle](https://about.gitlab.com/fr-fr/blog/gitlab-duo-agent-platform-what-is-next-for-intelligent-devsecops/) comme une collaboration entre humains et intelligence artificielle. Les équipes de développement se concentrent sur la résolution de problèmes techniques complexes et l'innovation, tandis que les agents d'IA gèrent les tâches routinières et répétitives qui ralentissent l’avancée des projets. Les développeurs sont libres d'explorer de nouvelles idées à moindre coût, les bogues de backlogs appartiennent au passé, et les utilisateurs des logiciels que vous créez profitent d'une expérience plus fluide, fiable et sécurisée. Ceci n'est pas un rêve lointain, et nous construisons cette réalité aujourd'hui avec GitLab Duo Agent Platform.\n\n## Qu'est-ce que GitLab Duo Agent Platform ?\n\nGitLab Duo Agent Platform est notre plateforme d'orchestration DevSecOps nouvelle génération conçue pour permettre une collaboration asynchrone entre les équipes de développement et les agents d'IA. Cette plateforme transformera votre workflow de développement, passant de processus linéaires isolés à une collaboration dynamique où des agents d'IA spécialisés travaillent à vos côtés et avec votre équipe à chaque étape du cycle de vie du développement logiciel. \n\nImaginez déléguer une tâche de refactorisation complexe à un Software Developer Agent tout en ayant simultanément un Security Analyst Agent qui recherche des vulnérabilités et un Deep Research Agent qui analyse les progrès à travers l'historique de votre dépôt. Tout cela se déroule en parallèle, orchestré de manière transparente dans GitLab.\n\nAujourd'hui, nous annonçons le lancement de la [première version bêta publique de GitLab Duo Agent Platform](https://about.gitlab.com/fr-fr/gitlab-duo/agent-platform/) pour les clients GitLab.com et GitLab Self-Managed (GitLab Premium et Ultimate). Il s'agit seulement de la première d'une série de mises à jour qui amélioreront la façon dont les logiciels sont planifiés, compilés, vérifiés et déployés, tandis que nous amplifions l'ingéniosité humaine grâce à l'automatisation intelligente.\n\nCette première version bêta se concentre sur l’amélioration de l'expérience IDE via l'extension GitLab VS Code et le plug-in JetBrains IDEs. Le mois prochain, nous prévoyons d'apporter l'expérience Duo Agent Platform à l'application GitLab et d'étendre la prise en charge de l'IDE. Permettez-moi de partager un peu plus notre vision de la roadmap d'ici à la disponibilité générale, prévue pour la fin de l’année. Vous trouverez les détails sur la première version bêta ci-dessous.\n\nRegardez cette vidéo ou lisez la suite de cet article pour découvrir ce qui est désormais disponible et ce qui est à venir. Ensuite, si vous êtes prêt à démarrer avec Duo Agent Platform, découvrez comment faire vos premiers pas sur la version bêta publique.\n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1101993507?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"GitLab Agent Platform Beta Launch_071625_MP_v2\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n## La position de GitLab en tant que plateforme d'orchestration\n\nGitLab se trouve au cœur du cycle de vie du développement en tant que système d'enregistrement pour les équipes d'ingénierie, orchestrant l'ensemble du parcours, du concept à la production, pour plus de 50 millions d'utilisateurs enregistrés, dont la moitié des entreprises du classement Fortune 500. Cela comprend plus de 10 000 clients payants dans tous les segments et secteurs d’activité, y compris les institutions publiques.\n\nCe qui donne à GitLab un avantage qu'aucun concurrent ne peut égaler : une compréhension complète de tout ce qu'il faut pour livrer des logiciels. Nous rassemblons vos projets, votre code, vos tests, vos scans de sécurité, vos contrôles de conformité et vos configurations CI/CD au sein d'un seul et même endroit. De cette manière, vous améliorez la productivité de votre équipe et orchestrez la collaboration avec les agents d'IA que vous contrôlez.\n\nEn tant que plateforme DevSecOps intelligente et unifiée, GitLab stocke tout le contexte de votre pratique d'ingénierie logicielle en un seul endroit. Nous exposerons ces données unifiées aux agents d'IA via notre graphe de connaissances. Chaque agent que nous construisons a automatiquement accès à cet ensemble de données connecté au SDLC, fournissant un contexte riche pour que les agents puissent faire des recommandations éclairées et prendre des actions qui respectent vos normes organisationnelles.\n\n**Voici un exemple de cet avantage en action.** Avez-vous déjà essayé de comprendre exactement comment un projet progresse à travers des dizaines, voire des centaines de commentaires et de tickets traités par tous les développeurs impliqués ? Notre Deep Research Agent exploite le graphe de connaissances de GitLab et les capacités de recherche sémantique pour parcourir votre epic et tous les tickets connexes, explorer le code source associé et le contexte environnant. Il corrèle rapidement les informations à travers vos dépôts, merge requests et historique de déploiement. Cela fournit des informations essentielles que les outils autonomes ne peuvent égaler et que les développeurs humains mettraient des heures à découvrir. \n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1101998114?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Deep Research Demo_071625_MP_v1\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n## Notre évolution stratégique des fonctionnalités d'IA vers l'orchestration d'agents\n\nGitLab Duo a été lancé comme un module d’extension, apportant l'IA générative aux équipes de développement via GitLab Duo Pro et GitLab Duo Enterprise. Avec GitLab 18.0, GitLab Duo est désormais intégré à la plateforme. Nous avons débloqué [GitLab Duo Agentic Chat](https://about.gitlab.com/fr-fr/blog/gitlab-duo-chat-gets-agentic-ai-makeover/) et les suggestions de code pour tous les utilisateurs de GitLab Premium et Ultimate, et nous fournissons un accès immédiat à GitLab Duo Agent Platform. \n\nNous avons augmenté l'investissement en ingénierie et accélérons la livraison, avec de nouvelles fonctionnalités d’IA déployées chaque mois. Mais nous ne construisons pas juste un autre assistant de codage. GitLab Duo devient une plateforme d'orchestration d'agents, où vous pouvez créer, personnaliser et déployer des agents d’IA qui travaillent à vos côtés et interagissent facilement avec d'autres systèmes, augmentant ainsi votre productivité.\n\n> **« GitLab Duo Agent Platform améliore notre workflow de développement avec une IA qui comprend vraiment notre code source et notre organisation. Avoir des agents d’IA intégrés dans notre système d'enregistrement pour le code, les tests, le CI/CD et l'ensemble du cycle de vie du développement logiciel booste la productivité, la vélocité et l'efficacité. Les agents sont devenus de vrais collaborateurs pour nos équipes, et leur capacité à comprendre l'intention, à décomposer les problèmes et à agir permet à nos équipes de se concentrer sur des tâches innovantes et stimulantes. »** - Bal Kang, Engineering Platform Lead chez NatWest\n\n### Des agents qui fonctionnent immédiatement\n\nNous introduisons des agents qui reflètent des rôles d'équipe familiers. Ces agents peuvent rechercher, lire, créer et modifier des artefacts existants dans GitLab. Considérez-les comme des agents avec lesquels vous pouvez interagir individuellement, et qui agissent également comme des blocs de construction que vous pouvez personnaliser pour créer vos propres agents. Comme les membres de votre équipe, les agents ont des spécialisations définies, telles que le développement logiciel, les tests ou la rédaction technique. En tant que spécialistes, ils exploitent les bons contextes et outils pour accomplir de manière cohérente les mêmes types de tâches, où qu'ils soient déployés.\n\nVoici quelques-uns des agents que nous construisons aujourd'hui :\n\n* **Chat Agent (maintenant en version bêta) :** il prend des requêtes en langage naturel pour fournir des informations et du contexte à l'utilisateur. Il peut effectuer des tâches de développement générales, comme la lecture de tickets ou de différences de code. Par exemple, vous pouvez demander à Chat de déboguer un job qui a échoué en fournissant son URL. \n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1101953504?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"agentic-chat-in-web-ui-demo_Update V1\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\u003Cp>\u003C/p>\n\n* **Software Developer Agent (maintenant en version bêta) :** il travaille sur des éléments assignés en créant des modifications de code dans des environnements de développement virtuels et en ouvrant des merge requests pour révision.\n\n* **Product Planning Agent :** il priorise les backlogs produit, assigne des éléments de travail aux membres humains et agentiques et l'équipe, et fournit des mises à jour de projet en fonction du calendrier.\n\n* **Software Test Engineer Agent :** il teste les nouvelles contributions de code pour les bogues et valide si les problèmes signalés ont été résolus.\n\n* **Code Reviewer Agent :** il effectue des revues de code suivant les normes de l'équipe, identifie les problèmes de qualité et de sécurité, et peut fusionner le code quand il est prêt.\n\n* **Platform Engineer Agent :** il surveille les déploiements GitLab, y compris les GitLab Runners, suit la santé du pipeline CI/CD, et rapporte les problèmes de performance aux équipes d'ingénierie de plateforme humaines.\n\n* **Security Analyst Agent :** il trouve des vulnérabilités dans le code source et les applications déployées, et implémente des modifications de code et de configuration pour aider à résoudre les faiblesses de sécurité.\n\n* **Deployment Engineer Agent :** il déploie des mises à jour en production, surveille les comportements inhabituels, et annule les modifications qui impactent les performances ou la sécurité de l'application.\n\n* **Deep Research Agent :** il mène une analyse complète et multi-sources à travers tout votre écosystème de développement.\n\nCe qui rend ces agents puissants, c'est leur accès natif à la boîte à outils complète de GitLab. Aujourd'hui, nous avons plus de 25 outils, des tickets et epics aux merge requests et à la documentation, et bien plus à venir. Contrairement aux outils d’IA externes qui fonctionnent avec un contexte limité, nos agents travaillent comme de véritables membres de l'équipe avec des privilèges complets de plateforme sous votre supervision.\n\nDans les mois à venir, vous pourrez également modifier ces agents pour répondre aux besoins de votre organisation. Par exemple, vous pourrez spécifier qu'un Software Test Engineer Agent suit les meilleures pratiques pour un framework ou une méthodologie particulière, approfondissant sa spécialisation et le transformant en un membre d'équipe encore plus précieux.\n\n## Les Flows orchestrent des tâches d'agents complexes\n\nAu-dessus des agents individuels, nous introduisons les Flows d'agents. Considérez-les comme des workflows plus complexes qui peuvent inclure plusieurs agents avec des instructions, étapes et actions pré-construites pour une tâche donnée qui peut s'exécuter de manière autonome.\n\nBien que vous puissiez créer des Flows pour des tâches de base communes aux individus, ils excellent vraiment lorsqu'ils sont appliqués à des tâches complexes et spécialisées qui prendraient normalement des heures de coordination et d'effort pour être complétées. Les Flows vous aideront à terminer des tâches complexes plus rapidement et, dans de nombreux cas, de manière asynchrone sans intervention humaine.\n\nLes Flows ont des déclencheurs spécifiques pour l'exécution. Chaque Flow contient une série d'étapes, et chaque étape a des instructions détaillées qui indiquent à un agent spécialisé quoi faire. Cette approche granulaire vous permet de donner des instructions précises aux agents dans le Flow. En définissant des instructions avec plus de détails et en établissant des points de décision structurés, les Flows peuvent aider à résoudre la variabilité inhérente aux réponses d'IA tout en éliminant le besoin de spécifier les mêmes exigences, débloquant des résultats plus cohérents et prévisibles sans configuration de la part de l'utilisateur.\n\nVoici quelques exemples de Flows prêts à l'emploi :\n\n**Flow de développement logiciel (maintenant en version bêta) :** il orchestre plusieurs agents pour planifier, implémenter et tester des modifications de code de bout en bout, aidant à transformer la façon dont les équipes livrent des fonctionnalités, du concept à la production.\n\n**Flow Issue-to-MR :** il convertit automatiquement les tickets en merge requests exploitables en coordonnant les agents pour analyser les exigences, préparer des plans de mise en œuvre complets et générer du code.\n\n**Flow de conversion de fichier CI :** il rationalise les workflows de migration en demandant aux agents d'analyser les configurations CI/CD existantes et de les convertir intelligemment au format GitLab CI avec une compatibilité complète du pipeline.\n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1101941425?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"jenkins-to-gitlab-cicd-for-blog\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\u003Cp>\u003C/p>\n\n**Flow de recherche et remplacement :** il découvre et transforme des modèles de code à travers le code source en analysant systématiquement les structures de projet, identifiant les opportunités d'optimisation et exécutant des remplacements précis.\n\n**Flow de réponse aux incidents et analyse des causes profondes :** il orchestre la réponse aux incidents en corrélant les données système, coordonnant des agents spécialisés pour l'analyse des causes profondes et exécutant les étapes de remédiation approuvées tout en gardant les parties prenantes humaines informées tout au long du processus de résolution.\n\nC'est là que GitLab Duo Agent Platform adopte une approche vraiment unique par rapport aux autres solutions d’IA. Nous ne vous donnerons pas seulement des agents pré-construits. Nous vous donnerons également le pouvoir de créer, personnaliser et partager des Flows d'agents qui correspondent parfaitement aux besoins de vos équipes et de votre organisation. Avec les Flows, vous pourrez ensuite donner aux agents un plan d'exécution spécifique pour des tâches communes et complexes.\n\nNous croyons que cette approche est plus puissante que de construire des agents spécialisés comme le font nos concurrents, car chaque organisation a des workflows différents, des normes de codage, des exigences de sécurité et une logique métier. Les outils d’IA génériques ne peuvent pas comprendre votre contexte spécifique, mais GitLab Duo Agent Platform s’adaptera au fonctionnement de votre équipe.\n\n## Pourquoi construire des agents et des Flows d'agents dans GitLab Duo Agent Platform ?\n\n**Construire rapidement.** Vous pouvez construire des agents et des Flows d'agents complexes dans Duo Agent Platform rapidement et facilement en utilisant un modèle d'extensibilité déclaratif rapide et une assistance UI.\n\n**Calcul intégré.** Avec Duo Agent Platform, vous n'avez plus à vous soucier des tracas de mise en œuvre de votre propre infrastructure pour les agents : le calcul, le réseau et le stockage sont intégrés.\n\n**Événements SDLC.** Vos agents peuvent être invoqués automatiquement sur des événements communs : pipeline en échec, déploiement interrompu, problème créé, etc.\n\n**Accès instantané.** Vous pouvez interagir avec vos agents dans GitLab ou au sein de notre plug-in IDE : assignez-leur des tickets, @mentionnez-les dans les commentaires et discutez avec eux partout où GitLab Duo Chat est disponible.\n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1102029239?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"assigning an agent an issue\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script> \u003Cp>\u003C/p>\n\n**Modèles intégrés et personnalisés pris en charge.** Vos agents auront un accès automatique à tous les modèles que nous prenons en charge, et les utilisateurs pourront choisir des modèles spécifiques pour des tâches spécifiques. Si vous souhaitez connecter Duo Agent Platform à votre propre modèle auto-hébergé, vous pourrez également le faire. \n\n**Points de terminaison MCP.** Chaque agent et Flow peut être accessible ou déclenché via des points de terminaison MCP natifs, vous permettant de vous connecter et de collaborer avec vos agents et vos Flows de n'importe où, y compris des outils populaires comme Claude Code, Cursor, Copilot et Windsurf.\n\n**Observabilité et sécurité.** Enfin, nous fournissons une observabilité intégrée et des tableaux de bord d'utilisation, afin que vous puissiez voir exactement qui, où, quoi et quand les agents ont effectué des actions en votre nom.\n\n## Un avenir piloté par la communauté\n\nLes contributions de la communauté ont longtemps alimenté l'innovation et le développement logiciel de GitLab. Nous sommes ravis de nous associer à notre communauté avec l'introduction du Catalogue IA. Le Catalogue IA vous permettra de créer et de partager des agents et des Flows au sein de votre organisation et à travers l'écosystème GitLab dans notre prochaine version bêta.\n\nNous croyons que les applications d’IA les plus précieuses sont susceptibles d'émerger de notre communauté, grâce à votre usage quotidien de GitLab Duo Agent Platform pour résoudre de nombreux cas d'utilisation du monde réel. En permettant le partage transparent d'agents et de Flows, nous créons un effet de réseau où chaque contribution améliore l'intelligence et la valeur collectives de la plateforme.\n\n![AI Catalog](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752685501/awdwx08udwrxgvcpmssb.png \"AI Catalog\")\n\n## Disponible aujourd'hui dans GitLab Duo Agent Platform en bêta publique\n\nLa version bêta publique de GitLab Duo Agent Platform est disponible dès maintenant pour les clients Premium et Ultimate avec les fonctionnalités suivantes :\n\n**Flow de Développement Logiciel :** notre premier Flow orchestre des agents pour rassembler un contexte complet, clarifier les ambiguïtés avec les équipes de développement humaines et exécuter des plans stratégiques pour apporter des modifications précises à votre code source et votre dépôt. Il exploite l'ensemble de votre projet, y compris sa structure, son code source et son historique, ainsi que des contextes supplémentaires comme les tickets GitLab ou les merge requests pour amplifier la productivité des équipes de développement.\n\n**Nouveaux outils d'agent disponibles :** les agents ont maintenant accès à plusieurs outils pour faire leur travail, notamment :\n\n* Système de fichiers (lire, créer, éditer, trouver des fichiers, lister, Grep)\n* Exécuter la ligne de commande*\n* Tickets (lister, obtenir, obtenir les commentaires, éditer*, créer*, ajouter/mettre à jour les commentaires*)\n* Epics (obtenir, obtenir les commentaires)\n* Merge requests (obtenir, obtenir les commentaires, obtenir le diff, créer, mettre à jour)\n* Pipeline (job logs, erreurs de pipeline)\n* Projet (obtenir, obtenir le fichier)\n* Commits (obtenir, lister, obtenir les commentaires, obtenir le diff)\n* Recherche (recherche de problèmes)\n* Sécurisé (lister les vulnérabilités)\n* Recherche de documentation\n  *=Nécessite l'approbation de l'utilisateur\n\n**GitLab Duo Agentic Chat dans l'IDE :** Duo Agentic Chat transforme l'expérience de chat d'un outil de questions-réponses passif en un partenaire de développement actif directement dans votre IDE.\n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1101953477?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"agentic-ai-launch-video_Updated V1\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n* **Retour itératif et historique de chat :** Duo Agentic Chat prend désormais en charge l'historique de chat et le retour itératif, transformant l'agent en un partenaire conversationnel. Cela favorise la confiance, permettant aux équipes de développement de déléguer des tâches plus complexes et d'offrir des conseils correctifs.\n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1101743173?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"agentic-chat-history\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n* **Délégation rationalisée avec des commandes slash :** des commandes slash étendues et plus puissantes, telles que /explain, /tests et /include, créent un « langage de délégation » pour une intention rapide et précise. La commande /include permet l'injection explicite de contexte à partir de fichiers spécifiques, de tickets ouverts, de merge requests ou de dépendances directement dans la mémoire de travail de l'agent, rendant l'agent plus puissant et enseignant aux utilisateurs comment fournir un contexte optimal pour des réponses de qualité.\n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1101743187?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"include-agentic-chat-jc-voiceover\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n* **Personnalisation via des règles personnalisées :** les nouvelles règles personnalisées permettent aux équipes de développement d'adapter le comportement de l'agent en fonction de leurs préférences en utilisant le langage naturel, par exemple, des guides de style de développement. Ce mécanisme façonne la personnalité de l'agent en un assistant personnalisé, évoluant vers des agents spécialisés basés sur les préférences définies par l'utilisateur et les politiques organisationnelles.\n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1101743179?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"custom-rules-with-jc-voiceover\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n* **Support pour GitLab Duo Agentic Chat dans JetBrains IDE :** Pour aider à rencontrer les développeurs là où ils travaillent, nous avons étendu la prise en charge de Duo Agentic Chat à la famille d'IDE JetBrains, y compris IntelliJ, PyCharm, GoLand et Webstorm. Cela s'ajoute à notre support existant pour VS Code. Les utilisateurs existants obtiennent automatiquement les fonctionnalités agentiques, tandis que les nouveaux utilisateurs peuvent installer le plugin depuis le JetBrains Marketplace.\n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1101743193?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"jetbrains-support-jc-voiceover\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n* **Support client MCP :** Duo Agentic Chat peut maintenant agir comme client MCP, se connectant aux serveurs MCP distants et locaux.\n\nCette fonctionnalité débloque la capacité de l'agent à se connecter à des systèmes au-delà de GitLab comme Jira, ServiceNow et ZenDesk pour rassembler du contexte ou prendre des mesures. Tout service qui s'expose via MCP peut maintenant faire partie de l'ensemble de compétences de l'agent. Le serveur MCP officiel GitLab arrive bientôt !\n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1101743202?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"McpDemo\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n* **GitLab Duo Agentic Chat dans l'interface Web de GitLab.** Duo Agentic Chat est maintenant disponible directement dans l'interface Web de GitLab. Cette étape fait évoluer l'agent d'un assistant de codage à un véritable agent DevSecOps, car il accède à un contexte riche non lié au code, comme les tickets et les discussions intégrées aux merge requests, lui permettant de comprendre le « pourquoi » derrière une tâche. Au-delà de la compréhension du contexte, l'agent peut apporter des modifications directement depuis l'interface Web, comme mettre à jour automatiquement les statuts des tickets ou éditer les descriptions des merge requests.\n\n## Bientôt disponible dans GitLab Duo Agent Platform\n\nAu cours des prochaines semaines, nous publierons de nouvelles capacités pour Duo Agent Platform, y compris plus d'agents et de Flows prêts à l'emploi. Celles-ci permettront une personnalisation et une extensibilité encore plus grandes, amplifiant la productivité de nos clients : \n\n![GitLab Duo Agent Platform public beta roadmap](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752685275/hjbe9iiu2ydp9slibsc2.png \"GitLab Duo Agent Platform public beta roadmap\")\n\n* **Expérience GitLab intégrée :** s'appuyant sur les extensions IDE disponibles dans 18.2, nous étendons les agents et les Flows au sein de la plateforme GitLab. Cette intégration élargira la manière dont vous pouvez collaborer de manière synchrone et asynchrone avec les agents. Vous pourrez assigner des tickets directement aux agents, les @mentionner dans GitLab Duo Chat, et les invoquer de manière transparente depuis n'importe où dans l'application tout en maintenant la connectivité MCP depuis votre outil de développement préféré. Cette intégration native transforme les agents en véritables membres de l'équipe de développement, accessibles dans GitLab.\n\n* **Observabilité des agents :** alors que les agents deviennent plus autonomes, nous construisons une visibilité complète de leur activité pendant qu'ils progressent dans les Flows, vous permettant de surveiller leurs processus de prise de décision, de suivre les étapes d'exécution et de comprendre comment ils interprètent et agissent sur vos défis liés au développement. Cette transparence dans le comportement des agents renforce la confiance tout en vous permettant d'optimiser les workflows, d'identifier les goulots d'étranglement et aide à garantir que les agents fonctionnent comme prévu.\n\n* **Catalogue IA :** reconnaissant que les grandes solutions viennent de l'innovation communautaire, nous introduirons bientôt la bêta publique de notre Catalogue IA — une marketplace qui vous permettra d'étendre Duo Agent Platform avec des agents et des Flows spécialisés provenant de GitLab, et au fil du temps, de la communauté. Vous pourrez déployer rapidement ces solutions dans GitLab, en exploitant le contexte à travers vos projets et votre code source.\n\n* **Graphe de connaissances :** exploitant l'avantage unique de GitLab en tant que système d'enregistrement pour le code source et son contexte environnant, nous construisons un graphe de connaissances complet qui non seulement cartographie les fichiers et les dépendances à travers le code source, mais rend également cette carte navigable pour les utilisateurs tout en accélérant les temps de requête IA et en aidant à augmenter la précision. Cela permet aux agents GitLab Duo de comprendre rapidement les relations à travers tout votre environnement de développement, des dépendances de code aux modèles de déploiement, débloquant des réponses plus rapides et plus précises aux questions complexes.\n\n![GitLab Duo Agent Platform Knowledge Graph](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752685367/n0tvfgorchuhrronic3j.png \"GitLab Duo Agent Platform Knowledge Graph\")\n\n* **Créer et éditer des agents et des Flows :** comprenant que chaque organisation a des workflows et des exigences uniques, nous développons de puissantes capacités de création et d'édition d'agents et de Flows qui seront introduites à mesure que le Catalogue IA mûrit. Vous pourrez créer et modifier des agents et des Flows pour qu'ils fonctionnent précisément comme votre organisation, offrant une personnalisation à travers Duo Agent Platform qui permet des résultats de meilleure qualité et une productivité accrue.\n\n![AI Catalog](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752684938/fruwqcqvvrx8gmkz5u0v.png \"AI Catalog\")\n\n* **Serveur MCP officiel GitLab :** reconnaissant que les développeurs travaillent à travers plusieurs outils et environnements, nous construisons un serveur MCP officiel GitLab qui vous permettra d'accéder à tous vos agents et Flows via MCP. Vous pourrez vous connecter et collaborer avec vos agents et vos Flows quel que soit l'endroit oú le MCP est pris en charge, y compris depuis des outils populaires comme Claude Code, Cursor, Copilot et Windsurf, débloquant une collaboration IA transparente quel que soit votre environnement de développement préféré.\n\n* **GitLab Duo Agent Platform CLI :** notre interface de ligne de commande à venir vous permettra d'invoquer des agents et de déclencher des Flows en ligne de commande, en exploitant le contexte riche de GitLab à travers l'ensemble du cycle de vie du développement logiciel : des dépôts de code et des merge requests aux pipelines CI/CD et au suivi des tickets.\n\n## Testez notre bêta publique dès aujourd'hui !\n\n* **Les clients GitLab Premium et Ultimate** dans les environnements GitLab.com et GitLab Self-Managed utilisant GitLab 18.2 peuvent utiliser Duo Agent Platform immédiatement (les fonctionnalités bêta et expérimentales pour GitLab Duo [doivent être activées](https://docs.gitlab.com/user/gitlab_duo/turn_on_off/#turn-on-beta-and-experimental-features)).\n\n* Les utilisateurs doivent télécharger l'[extension VS Code](https://marketplace.visualstudio.com/items?itemName=GitLab.gitlab-workflow) ou le [plugin JetBrains IDEs](https://plugins.jetbrains.com/plugin/22857-gitlab) et suivre notre [guide pour utiliser GitLab Duo Agentic Chat](https://docs.gitlab.com/user/gitlab_duo_chat/agentic_chat/#use-agentic-chat), y compris les [commandes slash](https://docs.gitlab.com/user/gitlab_duo_chat/examples/#gitlab-duo-chat-slash-commands) Duo Chat.\n\n**Nouveau sur GitLab ?** Tout le monde peut rejoindre notre prochaine [démo Technique pour découvrir GitLab Duo Agent Platform](https://page.gitlab.com/webcasts-jul16-gitlab-duo-agentic-ai-emea-amer.html) en action. Pour avoir une expérience pratique avec GitLab Duo Agent Platform, inscrivez-vous pour un [essai gratuit](https://gitlab.com/-/trials/new?glm_content=default-saas-trial&glm_source=about.gitlab.com%2Fsales%2F) aujourd'hui.\n\n\u003Csmall>*Cet article de blog contient des « déclarations prospectives » au sens de la Section 27A du Securities Act de 1933, tel que modifié, et de la Section 21E du Securities Exchange Act de 1934. Bien que nous croyions que les attentes reflétées dans les déclarations prospectives contenues dans cet article de blog sont raisonnables, elles sont soumises à des risques connus et inconnus, des incertitudes, des hypothèses et d'autres facteurs qui peuvent faire que les résultats ou les issues réels soient matériellement différents de tout résultat ou issue futur exprimé ou impliqué par les déclarations prospectives.*\n\n*Des informations supplémentaires sur les risques, incertitudes et autres facteurs qui pourraient faire que les résultats et les issues réels diffèrent matériellement de ceux inclus ou envisagés par les déclarations prospectives contenues dans cet article de blog sont incluses sous la rubrique « Facteurs de risque » et ailleurs dans les dépôts et rapports que nous faisons auprès de la Securities and Exchange Commission. Nous ne nous engageons pas à mettre à jour ou à réviser toute déclaration prospective ou à signaler tout événement ou circonstance après la date de cet article de blog ou à refléter la survenance d'événements imprévus, sauf si la loi l'exige.*\u003C/small>",{"featured":90,"template":691,"slug":1082},"gitlab-duo-agent-platform-public-beta","content:fr-fr:blog:gitlab-duo-agent-platform-public-beta.yml","Gitlab Duo Agent Platform Public Beta","fr-fr/blog/gitlab-duo-agent-platform-public-beta.yml","fr-fr/blog/gitlab-duo-agent-platform-public-beta",{"_path":1088,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1089,"content":1095,"config":1102,"_id":1104,"_type":13,"title":1105,"_source":15,"_file":1106,"_stem":1107,"_extension":18},"/fr-fr/blog/gitlab-duo-chat-gets-agentic-ai-makeover",{"title":1090,"description":1091,"ogTitle":1090,"ogDescription":1091,"noIndex":6,"ogImage":1092,"ogUrl":1093,"ogSiteName":673,"ogType":674,"canonicalUrls":1093,"schema":1094},"GitLab Duo Chat fait peau neuve : place à l'IA agentique ","Découvrez GitLab Duo Agentic Chat, l'assistant d’IA nouvelle génération, disponible dès aujourd’hui en version expérimentale.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099203/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2820%29_2bJGC5ZP3WheoqzlLT05C5_1750099203484.png","https://about.gitlab.com/blog/gitlab-duo-chat-gets-agentic-ai-makeover","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"GitLab Duo Chat fait peau neuve : place à l'IA agentique \",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Torsten Linz\"}],\n        \"datePublished\": \"2025-05-29\",\n      }\n                  ",{"title":1090,"description":1091,"authors":1096,"heroImage":1092,"date":1098,"body":1099,"category":682,"tags":1100,"updatedDate":1101},[1097],"Torsten Linz","2025-05-29","Les assistants de chat basés sur l'IA générative se sont imposés comme des alliés incontournables des équipes de développement logiciel. Capables de suggérer du code, corriger des bogues et automatiser une multitude de tâches, ces assistants intelligents simplifient considérablement leur quotidien. \n\nMais imaginez un assistant qui ne se limite plus au code : capable de comprendre tous les artefacts de votre processus de développement, de gérer vos tickets, de documenter vos projets, et d’accéder à vos [pipelines CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline Ci/CD ?\") et vos merge requests pour vous aider à mener à bien vos tâches de développement.\n\n**Découvrez GitLab Duo Agentic Chat, l'assistant d'IA nouvelle génération, qui succède à GitLab Duo Chat. Dernier-né de la plateforme GitLab, GitLab Duo Agentic Chat marque une avancée majeure dans l'assistance au développement basée sur l'IA native. Disponible dès aujourd'hui en [version expérimentale](https://docs.gitlab.com/policy/development_stages_support/#experiment),** il est accessible à tous les utilisateurs de GitLab.com via l'extension GitLab Workflow pour VS Code.\n\nContrairement aux assistants de chat traditionnels basés sur une IA conversationnelle, Agentic Chat effectue des actions en votre nom. Il décompose les problèmes complexes en tâches distinctes qu'il peut accomplir. Au lieu de répondre simplement aux questions en se basant sur le contexte que vous fournissez, il offre les capacités suivantes :\n\n* **Il détermine de manière autonome** les informations dont il a besoin pour répondre à vos questions.  \n* **Il exécute une séquence d'opérations** afin de collecter ces informations à partir de plusieurs sources.  \n* **Il formule des réponses complètes** en combinant les données provenant de l'ensemble de votre projet. \n* **Il crée et modifie des fichiers** pour vous aider à mettre en œuvre des solutions.\n\nMais bien évidemment, en tant que développeur, vous avez toujours votre mot à dire.\n\nAgentic Chat repose sur l'architecture GitLab Duo Workflow, [actuellement disponible en version bêta privée](https://about.gitlab.com/fr-fr/blog/gitlab-duo-workflow-enterprise-visibility-and-control-for-agentic-ai/) qui intègre des agents et des outils dédiés pour des tâches spécifiques : recherche contextuelle, modification de fichiers, et bien plus encore. \n\n**Cas d'utilisation de GitLab Duo Agentic Chat**\n\nAvec Agentic Chat, vous pouvez :\n\n* Prendre en main les nouveaux projets plus rapidement en demandant à l'IA de vous guider à travers le nouveau code base.\n\n* Commencer à effectuer immédiatement les tâches qui vous sont attribuées, même lorsque les descriptions des tickets ne sont pas claires : Agentic Chat vous aide à faire le lien entre les exigences et les implémentations.\n\n* Gérer l’implémentation : lorsqu'il est temps d'apporter des modifications, Agentic Chat peut gérer le travail d'implémentation en créant et en modifiant plusieurs fichiers dans votre projet.\n\n* Vérifier votre solution : au moment de la mise en production, Agentic Chat peut vous aider à vérifier que votre solution répond réellement aux exigences initiales en analysant vos merge requests et en les comparant au ticket ou à la tâche d'origine.\n\n![Agentic Chat - exemple](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099210/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750099210429.png)\n\n\u003Ccenter>\u003Ci>Agentic Chat apporte des modifications au code\u003C/i>\u003C/center>\n\n## De l'apprentissage à la livraison : un workflow en quatre étapes\n\nPour mieux saisir l'impact d'Agentic Chat, explorons un scénario réel vécu par notre équipe d’ingénierie. Prenons l'exemple suivant : vous intégrez une nouvelle équipe, un ticket vous est attribué, mais vous ne maîtrisez pas encore le code base. \n\nPour mieux visualiser ce scénario, n'hésitez pas à regarder la vidéo de démonstration ci-dessous :\n\n\u003C!-- blank line -->\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/uG9-QLAJrrg?si=kaOhYylMIaWkIuG8j\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n\u003C/figure>\n\u003C!-- blank line -->\n\n**Étape 1 : comprendre le projet**\n\nAu lieu d'explorer manuellement les fichiers et la documentation, vous pouvez soumettre le prompt suivant à Agentic Chat :\n\n```unset\nI am new to this project. Could you read the project structure and explain it to me?\n```\n\nAgentic Chat fournit une vue d'ensemble complète du projet en :  \n- explorant la structure des répertoires  \n- lisant les fichiers README et la documentation  \n- identifiant les composants et les applications clés\n\n**Étape 2 : comprendre la tâche qui vous a été attribuée**\n\nEnsuite, vous devez comprendre la tâche à effectuer. Vous pouvez donc saisir le prompt suivant :\n\n```unset\nI have been assigned Issue 1119. Could you help me understand this task, specifically where do I need to apply the refactoring?\n```\n\nAgentic Chat explique la tâche et propose une approche de refactorisation :\n- en récupérant et en analysant les détails du ticket à partir du serveur GitLab distant  \n- en examinant les fichiers associés au projet  \n- en identifiant les emplacements spécifiques nécessitant des modifications\n\n**Étape 3 : mettre en œuvre la solution**\n\nPlutôt que d'effectuer le travail manuellement, vous pouvez saisir le prompt suivant :\n\n```unset\nCould you make the edits for me? Please start with steps one, two, three.\n```\n\nAgentic Chat :  \n- crée des répertoires et fichiers si nécessaire \n- extrait et refactorise le code à plusieurs emplacements  \n- assure la cohérence de tous les fichiers modifiés  \n- fournit un résumé de toutes les modifications apportées\n\n**Étape 4 : vérifier que le travail effectué est correct**\n\nEnfin, après avoir créé votre merge request, vous pouvez vérifier votre travail avec le prompt suivant :\n\n```unset\nDoes my MR fully address Issue 1119?  \n```\n\nAgentic Chat confirme alors si toutes les exigences ont été prises en compte en analysant à la fois votre merge request et le ticket d'origine.\n\n## Essayez Agentic Chat dès aujourd'hui ! \n\nGitLab Duo Agentic Chat est actuellement disponible en tant que fonctionnalité expérimentale dans VS Code pour les utilisateurs de GitLab Duo Pro et GitLab Duo Enterprise. Découvrez les prérequis et les étapes de configuration dans notre [documentation officielle](https://docs.gitlab.com/user/gitlab_duo_chat/agentic_chat/).\n\nCette version expérimentale d'Agentic Chat présente encore quelques limitations connues que nous nous efforçons de résoudre, y compris des temps de réponse parfois lents en raison de multiples appels API, une recherche basée sur des mots-clés plutôt que sur une recherche sémantique, ainsi qu'une prise en charge limitée des nouveaux dossiers locaux ou des projets autres que GitLab. **Vos retours sont précieux pour nous aider à hiérarchiser les prochaines améliorations et à proposer Agentic Chat en disponibilité générale. C'est pourquoi nous vous invitons à partager votre expérience dans [ce ticket](https://gitlab.com/gitlab-org/gitlab/-/issues/542198).**\n\n## Quelles perspectives pour Agentic Chat ?\n\nNous concentrons tous nos efforts sur l'amélioration d'Agentic Chat en vue de sa future disponibilité générale. À court terme, notre objectif est de réduire les temps de réponse et d'y intégrer les capacités dont GitLab Duo Chat dispose actuellement, telles que la compatibilité avec les modèles de GitLab Duo Self-Hosted, ainsi que la prise en charge des environnements JetBrains et Visual Studio, en plus de VS Code. Une fois cette nouvelle architecture pleinement implémentée dans GitLab Duo Chat, nous prévoyons également d'intégrer Agentic Chat directement au chat intégré à l'application web de GitLab. D'autres améliorations sont déjà en cours de développement, notamment : la modification directe des artefacts GitLab, la prise en charge du contexte à partir de serveurs personnalisés via MCP (Model Context Protocol) et la possibilité d'exécuter des commandes directement dans le terminal.\n\n> Vous souhaitez découvrir l'assistance au développement autonome, mais vous n'utilisez pas encore GitLab ? Profitez dès aujourd'hui d'un [essai gratuit de GitLab Ultimate avec Duo Enterprise](https://about.gitlab.com/fr-fr/free-trial/) pour tester Agentic Chat et contribuez à façonner l'avenir du développement alimenté par l'IA. Pour commencer, suivez simplement ces [étapes de configuration pour VS Code](https://docs.gitlab.com/user/gitlab_duo_chat/agentic_chat/#use-agentic-chat-in-vs-code).\n\n***Avertissement : cet article de blog contient des informations relatives aux produits, fonctionnalités et caractéristiques à venir. Il est important de noter qu'elles ne sont fournies qu'à titre informatif. Veuillez ne pas vous fier à ces informations à des fins d'achat ou de planification. Comme pour tout projet, les éléments mentionnés dans cet article sont susceptibles de changer ou d’être retardés. Le développement, la sortie et le calendrier de tout produit ou fonctionnalité restent à la seule discrétion de GitLab.***\n\n## En savoir plus\n\n- [GitLab Duo Workflow : une IA agentique offrant visibilité et contrôle à l'échelle de l'entreprise](https://about.gitlab.com/fr-fr/blog/gitlab-duo-workflow-enterprise-visibility-and-control-for-agentic-ai/)\n- [Qu'est-ce que l'IA agentique ?](https://about.gitlab.com/fr-fr/topics/agentic-ai/)\n- [Agentic Chat : guides et ressources](https://about.gitlab.com/blog/agentic-ai-guides-and-resources/)\n",[684,1075,9,685,687,689],"2025-06-05",{"slug":1103,"featured":90,"template":691},"gitlab-duo-chat-gets-agentic-ai-makeover","content:fr-fr:blog:gitlab-duo-chat-gets-agentic-ai-makeover.yml","Gitlab Duo Chat Gets Agentic Ai Makeover","fr-fr/blog/gitlab-duo-chat-gets-agentic-ai-makeover.yml","fr-fr/blog/gitlab-duo-chat-gets-agentic-ai-makeover",{"_path":1109,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1110,"content":1116,"config":1123,"_id":1125,"_type":13,"title":1126,"_source":15,"_file":1127,"_stem":1128,"_extension":18},"/fr-fr/blog/gitlab-duo-enterprise-is-now-available",{"title":1111,"description":1112,"ogTitle":1111,"ogDescription":1112,"noIndex":6,"ogImage":1113,"ogUrl":1114,"ogSiteName":673,"ogType":674,"canonicalUrls":1114,"schema":1115},"GitLab Duo Enterprise est maintenant disponible","Découvrez comment GitLab Duo Enterprise prend en charge l'ensemble du cycle de vie DevSecOps.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665660/Blog/Hero%20Images/Untitled__1800_x_945_px_.png","https://about.gitlab.com/blog/gitlab-duo-enterprise-is-now-available","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"GitLab Duo Enterprise est maintenant disponible\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"David DeSanto, Chief Product Officer, GitLab\"}],\n        \"datePublished\": \"2024-09-03\",\n      }\n                  ",{"title":1111,"description":1112,"authors":1117,"heroImage":1113,"date":1119,"body":1120,"category":682,"tags":1121,"updatedDate":1122},[1118],"David DeSanto, Chief Product Officer, GitLab","2024-09-03","[GitLab Duo Enterprise](https://about.gitlab.com/fr-fr/gitlab-duo/) est un partenaire d'IA de bout en bout conçu pour soutenir l'ensemble du cycle du développement logiciel. Cette puissante suite d'outils d'IA a pour objectif d'augmenter la productivité des équipes de développement, d'améliorer la sécurité, d'optimiser la collaboration et d'accélérer vos processus DevSecOps.\n\nQuelles sont les principales fonctionnalités de GitLab Duo Enterprise ?\n- Assistance intelligente au codage dans plus de 25 langages de programmation\n- Explication et résolution des failles de sécurité alimentées par l'IA \n- Génération automatisée de tests et analyse des causes profondes\n- Amélioration de la collaboration entre les équipes avec des résumés pilotés par l'IA\n- Calcul du retour sur investissement avec le tableau de bord d'analyse d'impact de l'IA\n\n## Pourquoi avons-nous développé GitLab Duo Enterprise\n\nAlors que les entreprises cherchent à livrer de meilleurs logiciels plus rapidement et à créer de la valeur pour leurs clients, elles font face à des défis de taille qui ralentissent leurs progrès. [Notre rapport](http://about.gitlab.com/developer-survey/2024/ai) indique que 95 % des entreprises envisagent d'utiliser l'IA dans le cycle du développement logiciel, ou s'en servent déjà. Cependant, 55 % des répondants à l'enquête ont déclaré qu'ils estimaient que l'utilisation de l'IA pour le développement logiciel présentait des risques.\n\nParmi les points de friction courants en entreprise, nous retrouvons l'expérience et la productivité inadaptées des équipes de développement, les exigences croissantes en termes de sécurité et de conformité, la collaboration inefficace entre les équipes et la difficulté à évaluer le ROI des investissements dans les technologies d'IA. GitLab Duo Enterprise répond à tous ces défis en fournissant à vos équipes de développement un partenaire d'IA sécurisé, efficace et puissant. \n\n**Découvrez dans cet article comment GitLab Duo Enterprise transforme la façon dont votre entreprise crée et déploie des logiciels.**\n\n## Augmentez la productivité des développeurs grâce à l'assistance intelligente au codage\n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1004252678?h=83f35171b6&amp;badge=0&amp;badge=0&amp?autoplay=1&loop=1&autopause=0&background=1&muted=1\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Code Suggestions clip\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\u003Cp>\u003C/p>\n\nL'un des principaux obstacles au développement de logiciels est le caractère chronophage des tâches routinières de codage. Passez plus rapidement aux tâches ayant le plus d'impact avec :\n\n- __Les suggestions de code__ qui prennent en charge plus de 25 langages de programmation. Cet outil alimenté par l'IA accélère la création de code, en améliore la qualité et réduit le temps passé sur des tâches standard.\n\nToutefois, il ne s'agit pas seulement d'écrire du nouveau code. \n\n- La fonctionnalité d'__explication du code__ de GitLab Duo Enterprise permet aux équipes de développement de comprendre rapidement du code complexe ou inconnu.\n\n- En parallèle, le **réusinage du code** permet aux développeurs d'[améliorer et de moderniser le code existant](https://about.gitlab.com/blog/refactor-code-into-modern-languages-with-ai-powered-gitlab-duo/).\n\n- La __génération de tests__ automatise la création de tests unitaires complets. Le résultat ? Les équipes peuvent se concentrer sur des tâches à forte valeur ajoutée qui stimulent l'innovation, ce qui accélère les cycles de développement et améliore la qualité des logiciels.\n\n> Découvrez comment [l'entreprise technologique européenne Cube](https://about.gitlab.com/customers/cube/) utilise les suggestions de code, la génération de tests et d'autres fonctionnalités de GitLab Duo pour améliorer la rapidité, la réactivité et le rendement. \n\n## Favorisez la collaboration et la communication entre les équipes\n\nUne collaboration efficace est fondamentale pour un développement logiciel réussi, mais elle est souvent entravée par de longues discussions, des merge requests complexes et des revues de code chronophages. Pour relever ces défis, GitLab Duo Enterprise met à disposition des équipes une suite d'outils de résumé et de génération de modèles : \n- __Résumé des discussions :__ cet outil permet aux membres de l'équipe de se tenir rapidement informés, sans avoir à lire les longues conversations dans les tickets.\n- __Résumé des merge requests :__ cet outil donne un aperçu clair et concis des modifications proposées.\n- __Résumé des revues du code :__ optimisez le processus de revue de code pour permettre de meilleurs transferts entre les auteurs et les relecteurs. \n\nEn clarifiant la communication et en accélérant la prise de décision, GitLab Duo Enterprise aide les équipes à travailler plus efficacement et à obtenir des résultats plus rapidement.\n\n## Simplifiez le dépannage et le débogage\n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1004252688?h=fc6c048bfd&amp;badge=0&amp;badge=0&amp?autoplay=1&loop=1&autopause=0&background=1&muted=1\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Root Cause Analysis clip\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\u003Cp>\u003C/p>\n\nLorsque les pipelines de développement échouent, l’impact sur le délai des projets peut être important. Dans de tels cas, la fonctionnalité d'__analyse des causes profondes__ de GitLab Duo Enterprise change la donne. L'analyse des causes profondes parcourt automatiquement les journaux et fournit des explications détaillées des échecs ainsi que des correctifs potentiels à effectuer. Le temps consacré au troubleshooting (ou dépannage) s'en trouve considérablement réduit.\n\nIl ne s'agit pas seulement de gagner du temps. La [résolution plus rapide des problèmes de compilation CI/CD](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd/) permet aux équipes de continuer sur leur lancée, de réduire les temps d'arrêt et, en fin de compte, de publier des mises à jour logicielles plus fréquentes et plus fiables.\n\n## Renforcez la sécurité tout au long du cycle de développement logiciel\n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1004252706?h=73e568b89c&amp;badge=0&amp;badge=0&amp?autoplay=1&loop=1&autopause=0&background=1&muted=1\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Vulnerability Explanation and Resolution clip\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\u003Cp>\u003C/p>\n\nL'omniprésence des menaces de cybersécurité oblige les équipes de développement à doter les applications d'une sécurité robuste. Pour y parvenir, GitLab Duo Enterprise propose des fonctionnalités d'__explication et de résolution des vulnérabilités__. Ces outils alimentés par l'IA aident les [développeurs et développeuses à comprendre les failles de sécurité](https://about.gitlab.com/blog/developing-gitlab-duo-use-ai-to-remediate-security-vulnerabilities/), puis génèrent automatiquement des merge requests contenant des suggestions de correctifs.\n\n## Mesurez l'impact de l'IA pour prendre des décisions stratégiques\n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1004252663?h=d35106288b&amp;badge=0&amp?autoplay=1&loop=1&autopause=0&background=1&muted=1\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"AI Impact Dashboard clip\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\u003Cp>\u003C/p>\n\nDémontrer le ROI des investissements technologiques est crucial.  GitLab Duo Enterprise répond à ce besoin avec un __tableau de bord d'analyse d'impact de l'IA__. Cet outil d'analyse, construit sur l'analyse du flux de valeur et les métriques DORA4, fournit des indicateurs clairs sur les améliorations de la durée du cycle et l'augmentation des fréquences de déploiement. Les entreprises ont ainsi les moyens de quantifier les avantages tangibles de l'adoption de l'IA dans leurs processus de développement.\n\nEn offrant des informations sur la corrélation entre l'utilisation de l'IA et les principaux indicateurs de productivité, le [tableau de bord d'analyse d'impact de l'IA](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai/) permet aux dirigeants de prendre des décisions fondées sur les données concernant l'allocation des ressources et les investissements technologiques stratégiques.\n\n## Adoptez une approche DevSecOps alimentée par l'IA\n\nAlors que nous vous présentons GitLab Duo Enterprise, nous sommes également fiers d'annoncer que GitLab a été nommée leader dans le premier [Magic Quadrant™ de Gartner® dédié aux assistants IA pour le code](https://about.gitlab.com/fr-fr/gartner-mq-ai-code-assistants/). Cette reconnaissance souligne notre engagement à fournir des solutions d'IA qui génèrent une réelle valeur commerciale pour les entreprises.\n\nL'avenir du développement logiciel est là, et il est alimenté par l'IA. Nous sommes à vos côtés pour vous aider à intégrer une IA intelligente et évolutive tout au long du cycle de vie DevSecOps afin que vous puissiez fournir des résultats à vos clients plus rapidement.\n\n> [Découvrez GitLab Duo Enterprise dès aujourd'hui et profitez d'un essai gratuit!](https://about.gitlab.com/solutions/gitlab-duo-pro/sales/?type=free-trial&toggle=gitlab-duo-pro)\n",[684,687,685,9,1075],"2024-09-11",{"slug":1124,"featured":90,"template":691},"gitlab-duo-enterprise-is-now-available","content:fr-fr:blog:gitlab-duo-enterprise-is-now-available.yml","Gitlab Duo Enterprise Is Now Available","fr-fr/blog/gitlab-duo-enterprise-is-now-available.yml","fr-fr/blog/gitlab-duo-enterprise-is-now-available",{"_path":1130,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1131,"content":1137,"config":1144,"_id":1146,"_type":13,"title":1147,"_source":15,"_file":1148,"_stem":1149,"_extension":18},"/fr-fr/blog/gitlab-duo-self-hosted-enterprise-ai-built-for-data-privacy",{"title":1132,"description":1133,"ogTitle":1132,"ogDescription":1133,"noIndex":6,"ogImage":1134,"ogUrl":1135,"ogSiteName":673,"ogType":674,"canonicalUrls":1135,"schema":1136},"GitLab Duo Self-Hosted : une IA respectueuse de la confidentialité des données","Tirez parti de la puissance de l'IA générative tout en respectant les exigences de résidence et de confidentialité des données.\n","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097840/Blog/Hero%20Images/Blog/Hero%20Images/Self-Hosted%201800x945_1dL1II2ITh2PteObA9DBLD_1750097839679.png","https://about.gitlab.com/blog/gitlab-duo-self-hosted-enterprise-ai-built-for-data-privacy","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"GitLab Duo Self-Hosted : une IA respectueuse de la confidentialité des données\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Susie Bitters\"},{\"@type\":\"Person\",\"name\":\"Aathira Nair\"}],\n        \"datePublished\": \"2025-02-27\",\n      }\n                  ",{"title":1132,"description":1133,"authors":1138,"heroImage":1134,"date":1140,"body":1141,"category":682,"tags":1142,"updatedDate":1143},[954,1139],"Aathira Nair","2025-02-27","Nous sommes ravis d'annoncer la disponibilité générale de GitLab Duo Self-Hosted pour les fonctionnalités de suggestions de code et de chat. Proposé en option aux clients GitLab Self-Managed disposant d'un abonnement GitLab Duo Enterprise, GitLab Duo Self-Hosted prend en charge les déploiements sur plusieurs plateformes, y compris les infrastructures sur site, ou dans les clouds privés et les environnements cloud sécurisés via AWS Bedrock et Azure OpenAI. GitLab Duo Self-Hosted permet aux équipes de développer des logiciels innovants avec l'IA tout en gardant un contrôle total sur les données sensibles et la propriété intellectuelle. \n\nLes préoccupations en matière de sécurité ont été un obstacle majeur à l'adoption de l'IA dans les secteurs réglementés. Notre [rapport sur la maturité de l'IA dans l'approche DevSecOps](https://about.gitlab.com/fr-fr/developer-survey/2024/ai/) révèle en effet que plus de la moitié des professionnels du DevSecOps que nous avons interrogés estiment que l'utilisation de l'IA dans le cycle du développement logiciel présente des risques. Avec [GitLab Duo](https://about.gitlab.com/fr-fr/gitlab-duo/), les entreprises sont en mesure de livrer des logiciels plus sécurisés plus rapidement en intégrant l'IA tout au long du cycle du développement logiciel.\n\nAvec GitLab Duo Self-Hosted, les chefs d'entreprise ayant des exigences strictes en matière de confidentialité des données peuvent bénéficier des fonctionnalités d'IA de GitLab Duo avec une flexibilité totale dans le choix du déploiement et des grands modèles de langage (LLM). De ce fait, parmi les pionniers à adopter GitLab Duo Self-Hosted se trouvent des organismes du secteur public ainsi que des entreprises évoluant dans des secteurs réglementés, comme les services financiers, l'industrie automobile et la santé. Ils tirent ainsi parti de l'avantage concurrentiel offert par l'IA en intégrant des outils de développement alimentés par l'IA dans leurs propres environnements et veillent également à ce que leurs équipes de sécurité conservent un contrôle total sur les données et les processus.\n\nLe témoignage d'une agence gouvernementale américaine illustre parfaitement ce propos : « Après avoir adopté GitLab comme notre plateforme DevSecOps à l'échelle de l'agence, nous avons intégré GitLab Duo Self-Hosted afin d'enrichir les capacités de notre usine logicielle. La possibilité d'exécuter GitLab Duo dans des environnements air-gapped, tout en maintenant un contrôle granulaire sur nos données, a été un critère décisif. Nous avons ainsi capitalisé sur les fonctionnalités d'IA sécurisées pour rationaliser notre workflow et renforcer la sécurité de notre infrastructure. Nous pouvons ainsi tirer parti de l'IA et accroître notre productivité tout en respectant les exigences strictes de conformité. » \n\n![Modèles de GitLab Duo Self-Hosted](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097848/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750097848329.png)\n\n## Des déploiements sécurisés alimentés par l'IA\n\nGitLab Duo Self-Hosted inclut les fonctionnalités de GitLab Duo en s'appuyant sur une sélection judicieuse des meilleurs LLM d'IA, y compris ceux d'Anthropic, de Mistral et d'OpenAI. Voici les LLM pris en charge par GitLab à ce jour :\n\n* Sur site : modèles Mistral avec la plateforme vLLM  \n* AWS : Mistral et Claude Anthropic 3.5 Sonnet via AWS Bedrock  \n* Microsoft Azure : modèles OpenAI GPT via Azure AI\n\nNous évaluons actuellement d'autres modèles pour élargir cette prise en charge dans un avenir proche. [En savoir plus sur les LLM pris en charge](https://docs.gitlab.com/ee/administration/self_hosted_models/supported_models_and_hardware_requirements.html#approved-llms)\n\nGitLab Duo Self-Hosted offre plusieurs options de déploiement, notamment le déploiement sur site optimisé par le framework vLLM open source, ainsi que des déploiements de cloud privé via des services tels qu'AWS Bedrock et Microsoft Azure AI. Cette flexibilité aide les entreprises à concevoir des solutions d'IA qui correspondent à leurs exigences uniques en matière de sécurité, de conformité et de performance.\n\n## Une mise en œuvre des technologies IA/ML simplifiée\n\nLa couche d'abstraction IA de GitLab Duo permet de standardiser et de simplifier l'intégration du LLM choisi à une fonctionnalité spécifique. Cette structure atténue la complexité et la charge de travail liées à la mise en œuvre des technologies d’intelligence artificielle (IA) et d’apprentissage automatique (ML), facilitant ainsi leur adoption par les entreprises. Elle permet également d'améliorer l'expérience développeur, sans avoir à gérer la complexité liée à l'intégration et à la maintenance de plusieurs outils.\n\n![Fonctionnalités alimentées par l'IA de GitLab Duo Self-Hosted](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097848/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097848330.png)\n\n## Un contrôle renforcé des données sensibles\n\nEn isolant votre instance GitLab, votre passerelle d'IA et vos LLM dans votre propre environnement ou dans le pays de votre choix, GitLab Duo Self-Hosted vous permet de conserver les données sensibles et la propriété intellectuelle dans l'espace sécurisé que vous aurez défini. Le contrôle granulaire sur la localisation des données permet de respecter les réglementations strictes en matière de résidence des données, tout en adoptant les fonctionnalités d'IA dans des environnements sécurisés. Que vous utilisiez GitLab Duo Self-Hosted dans un environnement entièrement air-gapped avec vLLM ou que vous tiriez parti d'un cloud privé pris en charge, vous pouvez contrôler tous les aspects du déploiement, y compris l'emplacement géographique des composants. En éliminant la dépendance aux API externes et en offrant une visibilité complète sur tous les journaux de requêtes API et de réponses, GitLab Duo Self-Hosted aide même les entreprises les plus réglementées à adopter en toute confiance les fonctionnalités d'IA et à respecter les obligations de conformité les plus strictes.\n\n**Cliquez sur l’image ci-dessous pour bénéficier d’une visite interactive de GitLab Self-Hosted :\n**\n\n[![Capture d'écran de la visite guidée de GitLab Duo Self-Hostedt](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097848/Blog/Content%20Images/Blog/Content%20Images/Screenshot_2025-02-20_at_7.00.34_AM_aHR0cHM6_1750097848332.png)](https://gitlab.navattic.com/gitlab-duo-self-hosted)\n\n## Essayez GitLab Duo Self-Hosted dès aujourd'hui\n\nAdoptez l'intelligence artificielle en toute sécurité ! Intégrez des fonctionnalités d'IA tout en garantissant la protection de vos données et le respect des exigences de confidentialité. [Contactez-nous](https://about.gitlab.com/fr-fr/sales/) pour que nous puissions vous aider à configurer GitLab Duo Self-Hosted dans votre environnement dès aujourd'hui. ",[684,9,685,687,1075],"2025-03-04",{"slug":1145,"featured":90,"template":691},"gitlab-duo-self-hosted-enterprise-ai-built-for-data-privacy","content:fr-fr:blog:gitlab-duo-self-hosted-enterprise-ai-built-for-data-privacy.yml","Gitlab Duo Self Hosted Enterprise Ai Built For Data Privacy","fr-fr/blog/gitlab-duo-self-hosted-enterprise-ai-built-for-data-privacy.yml","fr-fr/blog/gitlab-duo-self-hosted-enterprise-ai-built-for-data-privacy",{"_path":1151,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1152,"content":1158,"config":1165,"_id":1167,"_type":13,"title":1168,"_source":15,"_file":1169,"_stem":1170,"_extension":18},"/fr-fr/blog/gitlab-duo-with-amazon-q-agentic-ai-optimized-for-aws",{"title":1153,"description":1154,"ogTitle":1153,"ogDescription":1154,"noIndex":6,"ogImage":1155,"ogUrl":1156,"ogSiteName":673,"ogType":674,"canonicalUrls":1156,"schema":1157},"GitLab Duo combiné à Amazon Q : l'IA agentique optimisée pour AWS est désormais disponible à tous les utilisateurs","La plateforme DevSecOps complète alimentée par l'IA, combinée aux fonctionnalités de cloud computing les plus avancées, accélère les cycles de développement, augmente l'automatisation et améliore la qualité du code.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659604/Blog/Hero%20Images/Screenshot_2024-11-27_at_4.55.28_PM.png","https://about.gitlab.com/blog/gitlab-duo-with-amazon-q-agentic-ai-optimized-for-aws","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"GitLab Duo combiné à Amazon Q : l'IA agentique optimisée pour AWS est désormais disponible à tous les utilisateurs\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Emilio Salvador\"}],\n        \"datePublished\": \"2025-04-17\",\n      }\n                  ",{"title":1153,"description":1154,"authors":1159,"heroImage":1155,"date":1161,"body":1162,"category":682,"tags":1163,"updatedDate":1164},[1160],"Emilio Salvador","2025-04-17","Nous sommes ravis d'annoncer aujourd'hui la disponibilité générale de [GitLab Duo combiné à Amazon Q](https://about.gitlab.com/fr-fr/partners/technology-partners/aws/), qui fournit une IA agentique tout au long du cycle de développement logiciel aux clients AWS. Basé sur GitLab Ultimate, GitLab Duo combiné à Amazon Q inclut de nombreuses fonctionnalités, telles que la complétion de code, l'explication de code, la génération de code, le chat, ainsi que l'explication et la résolution des vulnérabilités, qui sont désormais toutes optimisées par Amazon Q. Cette solution est disponible dans le cadre d'un modèle de déploiement GitLab Self-Managed pour les clients sur AWS.\n\nLes agents d'Amazon Q étant directement intégrés à la plateforme DevSecOps de GitLab, les développeurs peuvent continuer à utiliser leur environnement de développement habituel tout en bénéficiant de puissantes fonctionnalités d'IA. Le résultat ? Une expérience fluide qui permet d'accélérer les cycles de développement, de réduire les tâches manuelles et d'améliorer la qualité du code.\n\n« Le programme d'accès anticipé de GitLab Duo combiné à Amazon Q nous a permis de découvrir tout le potentiel de transformation de cette solution pour nos workflows de développement », explique Osmar Alonso, ingénieur DevOps chez Volkswagen Digital Solutions. « Même lors de la phase d'amorçage, nous avons vu comment une intégration plus avancée d'agents autonomes pouvait rationaliser notre processus, de la validation du code à la production. Nous avons hâte de découvrir comment cette technologie va nous permettre de nous concentrer sur l'innovation et d'accélérer notre transformation digitale. »\n\n## L'IA agentique s'invite dans les environnements clients complexes\n\nEn combinant l'IA agentique avec une infrastructure cloud sécurisée et fiable, GitLab et AWS apportent une sécurité, une évolutivité et une fiabilité intégrées aux environnements clients complexes, ce qui se traduit par de nombreux avantages :\n\n__Une expérience de développement unifiée pour un développement rationalisé__\n\nLes développeurs peuvent interagir avec Amazon Q via l'interface GitLab Duo Chat à partir de leur environnement de développement intégré (IDE) préféré ou de l'interface Web GitLab. Les utilisateurs n'ont ainsi pas besoin de changer de contexte pour utiliser d'autres outils et peuvent rester concentrés sur le projet en cours.\n\n__Une solution unique pour l'ensemble du cycle de développement logiciel__\n\nLes suggestions et optimisations de code exploitent les modèles et pratiques spécifiques à AWS, tandis que les outils de test comprennent les interactions et les dépendances des services AWS. Un magasin de données commun à toutes les étapes fournit un contexte essentiel aux agents d'IA, permettant une visibilité et une traçabilité complètes pour les actions pertinentes.\n\n__Un développement sécurisé avec des garde-fous à l'échelle de l'entreprise__\n\nLa sécurité et la conformité tout au long du cycle de développement logiciel sont intégrées directement dans la plateforme de développement avec des garde-fous qui aident à réduire les risques sans entraver la vélocité du développement. Cette approche sécurisée du développement logiciel garantit la transparence et l'auditabilité grâce aux agents d'IA, tout en s'intégrant de façon homogène aux services liés à la sécurité et aux frameworks de conformité d'AWS.\n\n## Comment utiliser GitLab Duo combiné à Amazon Q ?\n\nVoici cinq cas d'utilisation initiaux que nous ciblons pour aider les équipes à créer plus rapidement des logiciels sécurisés avec une IA agentique : \n\n1. **Accélération du développement des fonctionnalités** : créez des descriptions dans les tickets, générez des plans de mise en œuvre en fonction de votre code base existant et produisez des merge requests complètes prêtes pour la vérification. Vous accélérez ainsi la livraison des fonctionnalités tout en appliquant vos normes de développement internes.  \n2. **Modernisation des applications existantes** : analysez votre code base Java existant, créez un plan de mise à niveau complet et générez des merge requests contenant toutes les modifications de code nécessaires. Cela permet de réduire le temps de mise à niveau de Java, tout en maintenant une piste d'audit claire de toutes les transformations de code. La prise en charge de .NET et d'autres langages est prévue pour les prochaines versions.  \n3. **Amélioration de l'assurance qualité** : analysez le code et créez automatiquement des tests unitaires complets qui comprennent la logique de votre application et les interactions avec les services AWS. Vous pouvez ainsi augmenter la couverture des tests, réduire les tâches manuelles de rédaction des tests et contribuer à assurer une qualité de test constante pour toutes les applications.  \n4. **Optimisation de la revue de code** : insérez des commentaires inline sur les modifications de code, suggérez des améliorations basées sur les normes de développement, mettez en évidence les considérations de sécurité et de performances. Vous pouvez ainsi réduire les cycles de revue de code et fournir des merges de code de meilleure qualité pour le déploiement.  \n5. **Correction des vulnérabilités** : expliquez les vulnérabilités détectées de façon claire et détaillée, puis corrigez-les en un seul clic en fonction des modifications de code recommandées, ce qui contribue à réduire considérablement le délai entre la détection des failles et leur correction.\n\nDécouvrez GitLab Duo combiné à Amazon Q en action :\n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1075753390?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Technical Demo: GitLab Duo with Amazon Q\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n> #### Profitez dès aujourd'hui des avantages de GitLab Duo combiné à Amazon Q\n> La combinaison de la plateforme DevSecOps unifiée de GitLab alimentée par l'IA et des fonctionnalités d'IA avancées d'Amazon Q offre aux clients AWS une solution qui transforme la façon dont les équipes créent et déploient les logiciels. Pour en savoir plus sur GitLab Duo combiné à Amazon Q, n'hésitez pas à nous retrouver à l'occasion d'un [AWS Global Summit dans votre région](https://about.gitlab.com/fr-fr/events/aws-summits/) ou à [contacter votre représentant GitLab](https://about.gitlab.com/fr-fr/partners/technology-partners/aws/#form).",[684,685,688,687,9,1075],"2025-04-24",{"slug":1166,"featured":90,"template":691},"gitlab-duo-with-amazon-q-agentic-ai-optimized-for-aws","content:fr-fr:blog:gitlab-duo-with-amazon-q-agentic-ai-optimized-for-aws.yml","Gitlab Duo With Amazon Q Agentic Ai Optimized For Aws","fr-fr/blog/gitlab-duo-with-amazon-q-agentic-ai-optimized-for-aws.yml","fr-fr/blog/gitlab-duo-with-amazon-q-agentic-ai-optimized-for-aws",{"_path":1172,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1173,"content":1179,"config":1185,"_id":1187,"_type":13,"title":1188,"_source":15,"_file":1189,"_stem":1190,"_extension":18},"/fr-fr/blog/gitlab-duo-workflow-enterprise-visibility-and-control-for-agentic-ai",{"title":1174,"description":1175,"ogTitle":1174,"ogDescription":1175,"noIndex":6,"ogImage":1176,"ogUrl":1177,"ogSiteName":673,"ogType":674,"canonicalUrls":1177,"schema":1178},"GitLab Duo Workflow : une IA agentique offrant visibilité et contrôle à l'échelle de l'entreprise","Nos agents d'IA sécurisés et autonomes comprennent le contexte du projet, déchargent vos équipes des tâches complexes et accélèrent la livraison de logiciels. Découvrez la version bêta privée de GitLab Duo Workflow. ","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749660174/Blog/Hero%20Images/Workflow_1800x945.png","https://about.gitlab.com/blog/gitlab-duo-workflow-enterprise-visibility-and-control-for-agentic-ai","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"GitLab Duo Workflow : une IA agentique offrant visibilité et contrôle à l'échelle de l'entreprise\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Pini Wietchner\"}],\n        \"datePublished\": \"2025-02-24\",\n      }\n                  ",{"title":1174,"description":1175,"authors":1180,"heroImage":1176,"date":1182,"body":1183,"category":682,"tags":1184},[1181],"Pini Wietchner","2025-02-24","Nous sommes ravis d'annoncer aujourd'hui l'ouverture de la liste d'attente qui vous permet d'accéder à la [version bêta privée de GitLab Duo Workflow](https://about.gitlab.com/fr-fr/gitlab-duo/agent-platform/), **notre IA agentique intégrée à la plateforme [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que DevSecOps ?\") la plus complète.** Nouvelle étape de notre roadmap en matière d'IA, GitLab Duo Workflow accompagne les équipes de développement tout au long de leur projet. Que ce soit pour la configuration initiale, le processus de déploiement, le débogage, ou encore la coordination entre les équipes, tout est directement réalisé au sein de l'IDE. \n\nIntégré à la plateforme GitLab, GitLab Duo Workflow simplifie la collaboration, l'intégration et le déploiement continus, ainsi que la gestion de la sécurité et de la conformité. Objectif affiché : aider les entreprises à accélérer leurs processus de développement à l'aide d'agents d'IA. \n\nGitLab Duo Workflow facilite l'ensemble du processus de développement :   \n* Lancement rapide de projets \n* Modernisation du code\n* Réalisation de tâches contextuelles \n* Rédaction de la documentation\n* Amélioration de la couverture de test\n* Et bien plus encore \n\nEt ce n'est que le début. Grâce à son intégration au magasin de données unifié de GitLab, plus vous utilisez GitLab, plus GitLab Duo Workflow se nourrit du contexte de votre code, de vos configurations, des résultats de vos scans de sécurité et de vos pratiques de déploiement. Résultat : une expérience de développement toujours plus puissante et parfaitement adaptée à vos besoins.\n\n## Les promesses et les défis des agents d'IA\n\nLes logiciels ont fondamentalement transformé notre monde, mais seule une infime fraction de la population mondiale possède aujourd'hui les compétences nécessaires pour les développer. Pourtant, ces équipes de développement améliorent la vie de milliards d'utilisateurs qui bénéficient des avancées technologiques via leurs smartphones et Internet. Imaginez un monde où les innovations se multiplient grâce à un nombre croissant de personnes capables de développer, sécuriser et livrer des logiciels prêts à l'emploi qui impactent des milliards d'individus. **Ce futur prometteur est à notre portée grâce à l'IA agentique.**\n\nLes agents d'IA comprennent le contexte, mémorisent des ensembles complets de codes bases et collaborent activement sur des projets logiciels complexes menés par les équipes DevSecOps. Avec les agents d'IA, ces équipes peuvent désormais créer des logiciels à une échelle auparavant inimaginable.\n\nCependant, de nombreuses questions importantes restent en suspens concernant la visibilité, le contrôle et l'impact de l'IA sur le travail des développeurs et développeuses. Il est essentiel que les entreprises s'assurent que l'IA améliore les capacités de leurs équipes tout en leur permettant de superviser leur processus de développement. L'adoption de l'IA doit non seulement faciliter le travail des équipes, mais aussi garantir la sécurité, la conformité et la gouvernance.\n\n## L'adoption réussie de l'IA dépend de votre plateforme, pas de l'ajout de nouveaux outils\n\nÀ mesure que vous augmentez la taille des équipes de développement, le volume de code et les risques de sécurité potentiels, l'ajout d'outils distincts pour chaque nouvelle problématique a pour seul effet d'augmenter la complexité du processus. Notre récente [enquête DevSecOps](https://about.gitlab.com/the-source/platform/devops-teams-want-to-shake-off-diy-toolchains-a-platform-is-the-answer/) montre à quel point ce dilemme est réel : les équipes DevSecOps jonglent parfois avec jusqu'à 14 outils différents, ce qui leur fait perdre jusqu'à 80 % de leur temps consacré en réalité à des tâches autres que le codage. Pour que l'IA soit vraiment efficace, elle a également besoin de données unifiées de haute qualité, ce qui est difficile à obtenir avec des outils disparates.\n\n**La plateforme DevSecOps de GitLab combinée aux agents d'IA** réunit toutes les fonctionnalités dans un modèle de données unique qui inclut le code source, les merge requests, les epics, les utilisateurs, les droits d'accès et bien plus encore. Nos agents d'IA utilisent ce contexte pour simplifier le travail des équipes et automatiser les tâches non liées au codage qui monopolisent le temps des équipes de développement. Ils peuvent, par exemple, réaliser des scans de sécurité visant à détecter des vulnérabilités ou encore vérifier l'application des règles de conformité. Lorsque l'IA est intégrée directement à la plateforme, ces fonctionnalités deviennent d'autant plus puissantes, et les agents d'IA agissent alors comme de véritables partenaires tout en vous permettant de garder le contrôle sur la manière dont ils améliorent le processus.\n\n**Et c'est précisément ce que nous proposons avec GitLab Duo Workflow.**\n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1059060959?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"GitLab Duo Workflow, the future of secure agentic AI software development\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>`\n\n## GitLab Duo Workflow : des agents d'IA intégrés à la plateforme DevSecOps la plus complète\n\nTirant parti de la plateforme DevSecOps complète et unifiée de GitLab, GitLab Duo Workflow aide les équipes de développement à travailler à leur plein potentiel. Contrairement aux assistants IA pour le code qui se limitent à générer des portions de code, GitLab Duo Workflow comprend l'ensemble de votre cycle de développement et automatise les tâches routinières. Ainsi, les équipes peuvent se concentrer sur l'innovation stratégique et la résolution de problèmes de façon plus créative. \n\nLes fonctionnalités que nous développons actuellement dans GitLab Duo Workflow aideront les équipes de la manière suivante : \n\n### Un lancement rapide de projets\n\nLes équipes de développement passent un temps précieux à configurer de nouveaux projets, à gérer les dépendances et à mettre en place une infrastructure de base au lieu de se concentrer sur la création de nouvelles fonctionnalités. Avec GitLab Duo Workflow, vous pouvez **automatiser la mise en place d'un projet directement dans l'IDE** : vous disposez dès le départ des configurations nécessaires, ce qui vous permet de vous concentrer sur l'innovation plus rapidement.\n\n### Des applications modernes \n\nLa modernisation du code hérité ne se limite pas à la mise à jour de la syntaxe. Elle nécessite de comprendre les dépendances, les tests, les [pipelines CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline CI/CD ?\") et la documentation. GitLab Duo Workflow vous aide à **moderniser votre code base en gérant le processus de refactorisation**, depuis le code source jusqu'aux tests.\n\n### Du changement de contexte à un état de concentration optimale et ininterrompue\n\nLes équipes de développement changent constamment d'outils, de documentation et de codes bases pour résoudre des problèmes. GitLab Duo Workflow aide à **résoudre les tâches en prenant en compte l'intégralité du contexte des tickets et merge requests liés à votre code base**, ce qui permet aux équipes de rester concentrés sur leurs workflows.\n\n### Des connaissances dynamiques\n\nLa documentation devenant rapidement obsolète, le code base devient plus difficile à comprendre et à maintenir. GitLab Duo Workflow **aide les développeurs et développeuses à générer et à mettre à jour la documentation**, y compris les fichiers README, les diagrammes de flux de code et la documentation de l'architecture logicielle.\n\n### Des tests complets\n\nÀ mesure que votre code base devient de plus en plus volumineux, maintenir une couverture de test complète devient de plus en plus complexe. GitLab Duo Workflow **peut générer des tests pour des sections entières de votre code base** tout en s'intégrant à votre infrastructure de test existante, facilitant ainsi la livraison de logiciels plus fiables.\n\n## Inscrivez-vous à notre version bêta privée \n\n[Inscrivez-vous à la liste d'attente de la version bêta privée de GitLab Duo Workflow](https://about.gitlab.com/fr-fr/gitlab-duo/agent-platform/) et découvrez notre nouvelle IA agentique sécurisée (de la configuration des projets jusqu'à leur déploiement). Intégrés à la plateforme DevSecOps de GitLab, ces agents vous assistent à chaque étape de votre cycle de développement logiciel tout en garantissant la sécurité nécessaire et le contrôle total sur les processus et les données à l'échelle de votre entreprise.\n\n *Avertissement : cette page contient des informations relatives aux produits, fonctionnalités et outils à venir. Celles-ci ne sont fournies qu'à titre informatif. Veillez donc à ne pas vous fier à ces informations à des fins d'achat ou de planification. Comme pour tout projet, les éléments mentionnés sont susceptibles de changer ou d'être retardés. Le développement, la sortie et le calendrier de tout produit ou fonctionnalité restent à la seule discrétion de GitLab Inc.*",[685,684,9,687,1075,935],{"slug":1186,"featured":90,"template":691},"gitlab-duo-workflow-enterprise-visibility-and-control-for-agentic-ai","content:fr-fr:blog:gitlab-duo-workflow-enterprise-visibility-and-control-for-agentic-ai.yml","Gitlab Duo Workflow Enterprise Visibility And Control For Agentic Ai","fr-fr/blog/gitlab-duo-workflow-enterprise-visibility-and-control-for-agentic-ai.yml","fr-fr/blog/gitlab-duo-workflow-enterprise-visibility-and-control-for-agentic-ai",{"_path":1192,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1193,"content":1199,"config":1207,"_id":1209,"_type":13,"title":1210,"_source":15,"_file":1211,"_stem":1212,"_extension":18},"/fr-fr/blog/gitlab-for-agile-software-development",{"title":1194,"description":1195,"ogTitle":1194,"ogDescription":1195,"noIndex":6,"ogImage":1196,"ogUrl":1197,"ogSiteName":673,"ogType":674,"canonicalUrls":1197,"schema":1198},"Comment utiliser GitLab pour le développement logiciel agile","Découvrez comment les artefacts Agile s’alignent avec les fonctionnalités de GitLab et comment se déroule une itération agile au sein de la plateforme.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097459/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2821%29_2pdp2MNB7SoP4MhhiI1WIa_1750097459157.png","https://about.gitlab.com/blog/gitlab-for-agile-software-development","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Comment utiliser GitLab pour le développement logiciel agile\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Victor Wu\"},{\"@type\":\"Person\",\"name\":\"Amanda Rueda\"}],\n        \"datePublished\": \"2018-03-05\",\n      }",{"title":1194,"description":1195,"authors":1200,"heroImage":1196,"date":1202,"body":1203,"category":776,"tags":1204,"updatedDate":1206},[1201,769],"Victor Wu","2018-03-05","Vous êtes-vous déjà demandé si GitLab prenait en charge la méthodologie Agile ? Si vous envisagez d'utiliser GitLab, il n'est peut-être pas facile à première vue de comprendre comment les fonctionnalités de la plateforme DevSecOps s'alignent avec les artefacts Agile. Voyons cela ensemble. \n\nAgile est l'une des méthodologies les plus marquantes et les plus transformatrices jamais introduites dans le domaine de l'ingénierie logicielle au cours des dernières décennies. Bien que la terminologie détaillée des concepts Agile ne fasse pas l'unanimité, cette approche a néanmoins eu un impact nettement positif sur les équipes de développement logiciel. Grâce aux [processus de développement et de livraison de logiciels agiles](https://about.gitlab.com/fr-fr/topics/agile-delivery/), vous pouvez ainsi créer plus efficacement des produits orientés client.\n\nGitLab offre une grande flexibilité et s'adapte à vos pratiques de développement logiciel, qu'elles soient basées sur la [méthodologie Agile](https://about.gitlab.com/fr-fr/topics/agile-delivery/agile-methodology/ \"méthodologie Agile\") ou qu'elles s'en inspirent. Découvrez dans cet article une correspondance simple entre les artefacts Agile et les fonctionnalités de GitLab. \n\n## Correspondance des artefacts Agile avec les fonctionnalités de GitLab\n\n### Artefact Agile &#8594; Fonctionnalité de GitLab \n\n- User story –> [Tickets](https://docs.gitlab.com/ee/user/project/issues/) \n- Tâche –> [Tâches](https://docs.gitlab.com/ee/user/tasks.html) \n- Epic –> [Epics](https://docs.gitlab.com/ee/user/group/epics/) \n- Points et estimation –> [Poids des tickets](https://docs.gitlab.com/ee/user/project/issues/issue_weight.html) \n- Backlog produit –> [Tableaux des tickets](https://docs.gitlab.com/ee/user/project/issue_board.html)\n- Sprint/itération –> [Itérations](https://docs.gitlab.com/ee/user/group/iterations/) \n- Tableau Agile –> [Tableaux des tickets](https://docs.gitlab.com/ee/user/project/issue_board.html) \n- Charge de travail de l'équipe –> [Tableaux des tickets](https://docs.gitlab.com/ee/user/project/issue_board.html) \n- Graphique d'avancement (ou burn-down chart) –> [Graphiques d'avancement](https://docs.gitlab.com/ee/user/project/milestones/burndown_and_burnup_charts.html)\n\n## L'itération Agile avec GitLab\n\n### User stories &#8594; Tickets GitLab\n\nLes équipes qui s'appuient sur la méthodologie Agile pour leur développement logiciel commencent souvent par une user story. Celle-ci décrit une fonctionnalité spécifique qu'elles doivent développer pour répondre au besoin des utilisateurs et de l'entreprise. Dans GitLab, les [tickets](https://docs.gitlab.com/ee/user/project/issues/) répondent parfaitement à cet objectif. Ils sont essentiels pour les équipes agiles, car ils offrent un moyen efficace de gérer les tâches et les projets. Les équipes de développement logiciel peuvent créer, attribuer et suivre ces tickets. La responsabilisation et la visibilité de l'avancement des tickets sont ainsi clairement établies. Chaque ticket s'accompagne de métadonnées détaillées, telles que la personne assignée, l'itération, le poids et les labels. Cela facilite la hiérarchisation des tâches en fonction de leur priorité et améliore la gestion du workflow tout au long du processus de développement logiciel. La collaboration au sein de l'équipe est en outre optimisée grâce aux fils de discussion, à l'ajout de pièces jointes et aux mises à jour en temps réel, ce qui permet une communication efficace et un travail d'équipe harmonieux.\n\n![capture d'écran d'un ticket GitLab](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097468/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097468371.png)\n\nDans GitLab, un ticket comporte un titre et une description qui offre un espace pour documenter en détail un certain nombre d'informations, comme la valeur métier et les personas pertinents de la user story. La barre latérale de droite intègre d'autres fonctionnalités compatibles avec la méthode Agile, telles que l'epic parent auquel le ticket est rattaché, l'itération dans laquelle le ticket doit être traité, ainsi que le poids du ticket, qui représente l'effort estimé.\n\n### Tâche &#8594; Tâches\n\nUne user story est souvent subdivisée en tâches individuelles. Dans GitLab, les [tâches](https://docs.gitlab.com/ee/user/tasks.html) simplifient la gestion de projet en permettant aux équipes agiles de décomposer les user stories en éléments de travail distincts. Cette fonctionnalité soutient le framework Agile en permettant aux équipes de développement logiciel de créer, d'assigner et de suivre les tâches au sein de leurs projets. En intégrant la gestion des tâches directement dans GitLab, les équipes peuvent maintenir un workflow cohérent et s'assurer que toutes les activités du projet de développement logiciel peuvent être facilement suivies et gérées.\n\n![capture d'écran montrant la gestion précise des tâches et le suivi des projets avec GitLab](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097469/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750097468372.png)\n\nGitLab permet de générer une plus grande valeur ajoutée pour l'utilisateur final en assurant une gestion précise des tâches et un suivi efficace des projets. Les tâches disposent des mêmes métadonnées que les tickets, y compris la personne assignée, l'itération, le poids, les labels, le suivi du temps ainsi que les fonctionnalités de collaboration. Cet ensemble complet de fonctionnalités permet aux équipes agiles et aux chefs de projet de gérer efficacement la charge de travail, de prioriser les tâches et d'assurer une collaboration fluide entre les différents membres d'une équipe.  \n\n### Epics &#8594; Epics GitLab\nD'autre part, les professionnels du développement Agile peuvent définir un niveau d'abstraction supérieur à celui des user stories, souvent appelé « epic ». Il représente un workflow plus large, composé de plusieurs fonctionnalités. Dans GitLab, un [epic](https://docs.gitlab.com/ee/user/group/epics/) contient également un titre et une description, tout comme les tickets, mais vous pouvez y rattacher plusieurs tickets enfants pour illustrer cette hiérarchie.\n\n![capture d'écran d'epics GitLab imbriqués](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097469/Blog/Content%20Images/Blog/Content%20Images/image7_aHR0cHM6_1750097468374.png)\n\nAvec les epics de GitLab, les équipes agiles peuvent organiser et gérer efficacement de grands projets en imbriquant des epics jusqu'à neuf niveaux de profondeur. Cette structure hiérarchique offre une vision d'ensemble claire de la roadmap du projet et aide les équipes de développement et les chefs de projet à décomposer des initiatives complexes en composants plus gérables. En utilisant les epics enfants et les [epics liés](https://docs.gitlab.com/ee/user/group/epics/linked_epics.html), les équipes peuvent plus facilement suivre l'avancement, les dépendances et les jalons du projet, améliorer leur collaboration et garantir une livraison agile cohérente.\n\n### Backlog produit &#8594; Tableaux des tickets GitLab\n\nLe Product Owner ou le chef de projet crée généralement ces user stories pour refléter les besoins de l'entreprise et des clients. Elles sont triées par ordre de priorité dans un backlog produit en fonction de leur urgence et de l'ordre de développement souhaité. Le Product Owner communique avec les parties prenantes pour déterminer les priorités et affiner constamment ce backlog. Dans GitLab, le [tableau des tickets](https://docs.gitlab.com/ee/user/project/issue_board.html) présente les itérations sous forme de listes. Vous pouvez gérer les workflows par simple glisser-déposer et hiérarchiser facilement votre backlog en assignant les user stories au sprint à venir.\n\n![Gif du tableau des tickets GitLab](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097469/Blog/Content%20Images/Blog/Content%20Images/WIP_limit_aHR0cHM6_1750097468376.gif)\n\n### Sprints &#8594; Itérations GitLab \n\nUn sprint correspond à une période de temps déterminée au cours de laquelle le travail doit être effectué. Il peut s'agir d'une semaine, de quelques semaines, voire d'un mois ou plus. Le Product Owner et l'équipe de développement décident ensemble du travail qui sera réalisé lors du prochain sprint. La fonctionnalité d'[itérations](https://docs.gitlab.com/ee/user/group/iterations/) de GitLab permet d'attribuer une date de début et une date d'échéance aux itérations afin de préciser la période de l'itération. L'équipe place ensuite les tickets dans le sprint en les assignant à cette itération particulière.\n\nEn utilisant les itérations, vous tirez parti des capacités avancées de GitLab pour la gestion de projet agile, et gagnez en visibilité et en contrôle sur votre planification et vos [livraisons agiles](https://about.gitlab.com/fr-fr/solutions/agile-delivery/ \"Livraison agile\").\n\n### Points et estimation &#8594; Poids des tickets GitLab\n\nLe  Product Owner et l'équipe de développement présentent également les user stories et l'effort technique estimé pour chacune d'elles au sein du projet. Dans GitLab, les tickets ont un attribut de [poids](https://docs.gitlab.com/ee/user/project/issues/issue_weight.html) pour indiquer l'effort estimé.\n\nLe Product Owner et l'équipe de développement décomposent les user stories en livrables techniques, et, parfois, documentent les plans techniques et l'architecture. Dans GitLab, il est possible de consigner ces informations dans le ticket ou dans la [description de la merge request](https://docs.gitlab.com/ee/user/project/merge_requests/), car c'est souvent au sein de cette dernière que la collaboration technique a lieu.\n\nAu cours du sprint (itération GitLab), les membres de l'équipe de développement logiciel récupèrent les user stories sur lesquelles ils peuvent travailler successivement. Dans GitLab, les tickets ont des personnes assignées. Vous pouvez donc vous [assigner](https://docs.gitlab.com/ee/user/project/issues/multiple_assignees_for_issues.html) un ticket pour indiquer que vous travaillez actuellement dessus. Nous vous recommandons de [créer une merge request vide liée à un ticket](https://docs.gitlab.com/ee/user/project/issues/) pour initier immédiatement le processus de collaboration technique, avant même d'écrire une seule ligne de code.\n\n### Tableau Agile &#8594; Tableaux des tickets GitLab\n\nTout au long du sprint, les tickets passent par différentes phases, tels que « Prêt pour le développement », « En développement », « En phase de QA », « En révision », « Terminé », en fonction du workflow de votre entreprise. Il s'agit généralement de colonnes dans un tableau Agile. Dans GitLab, les [tableaux des tickets](https://docs.gitlab.com/ee/user/project/issue_board.html) vous permettent de définir vos étapes et de déplacer les tickets d'une étape à l'autre. L'équipe peut [configurer le tableau](https://docs.gitlab.com/ee/user/project/issue_board.html#board-with-configuration) en tenant compte de l'itération et d'autres attributs pertinents. Lors des réunions, l'équipe examine le tableau pour connaître l'état d'avancement du sprint du point de vue du workflow.\n\n![capture d'écran du tableau des tickets GitLab](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097469/Blog/Content%20Images/Blog/Content%20Images/image6_aHR0cHM6_1750097468378.png)\n\nLe tableau des tickets GitLab extrait également les tickets de manière dynamique, à l'instar de la liste des tickets GitLab. Mais cela permet des workflows plus flexibles. Vous pouvez configurer des listes individuelles dans le tableau, pour refléter les étapes du tableau Agile. Votre équipe peut ensuite contrôler et suivre les user stories à mesure de leur progression, par exemple, lorsqu'elles passent de la phase « Prêt pour le développement » à « Mis en production ».\n\n### Charge de travail de l'équipe → Tableaux des tickets GitLab \n\nDans GitLab, les équipes agiles peuvent optimiser leurs workflows en créant des tableaux de tickets composés de listes limitées à certains assignés. Cette fonctionnalité vous permet de visualiser la répartition des tâches entre les membres de l'équipe et d'améliorer ainsi la livraison agile. Pour la configurer, accédez à votre projet ou groupe, créez un nouveau tableau dans la section « Tableaux » et [ajoutez des listes](https://docs.gitlab.com/ee/user/project/issue_board.html#create-a-new-list) pour chaque personne assignée. Assignez des tickets aux membres de l'équipe, et ils apparaîtront automatiquement dans les listes correspondantes. Cette vue dynamique permet d'équilibrer la charge de travail et de gérer efficacement les tâches.\n\n![Capture d'écran du tableau des tickets GitLab organisé](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097469/Blog/Content%20Images/Blog/Content%20Images/image5_aHR0cHM6_1750097468380.png)\n\nOrganisez un tableau des tickets par personne assignée ou par équipe à l'aide des [labels à portée limitée]. Le tableau des tickets de GitLab est diversifié et prend en charge les workflows tout au long du cycle de développement logiciel.\n\n### Graphiques d'avancement → Graphiques d'avancement de GitLab\n\nL'équipe de développement a besoin de savoir si elle respecte les délais en temps réel et d'atténuer les risques à mesure qu'ils se présentent. GitLab offre pour cela des [graphiques d'avancement](https://docs.gitlab.com/ee/user/project/milestones/burndown_and_burnup_charts.html) (ou burn-down charts), permettant à l'équipe de visualiser le travail prévu dans le sprint en cours, à mesure de sa réalisation.\n\nÀ la fin du sprint, l'équipe de développement présente les fonctionnalités développées aux différentes parties prenantes. Avec GitLab, ce processus est simplifié grâce aux [Review Apps](https://docs.gitlab.com/ee/ci/review_apps/index.html). Elles permettent de présenter du code qui n'a pas encore été mis en production, mais qui se trouve dans divers environnements de test, de staging ou de test d'acceptation par l'utilisateur (UAT), pour faire l'objet d'une démonstration. Les Review Apps et les [fonctionnalités CI/CD](https://docs.gitlab.com/ee/ci/) sont intégrées à la merge request.\n\nCes mêmes outils sont utiles pour les équipes de développement et les équipes QA afin de garantir la qualité du logiciel, que ce soit par le biais de tests automatisés à chaque étape du processus CI/CD ou de tests manuels dans un environnement de Review App.\n\n![Capture d'écran du graphique d'avancement burndown de GitLab](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097469/Blog/Content%20Images/Blog/Content%20Images/image8_aHR0cHM6_1750097468381.png)\n\nLe graphique d'avancement de GitLab permet à une équipe de suivre le travail de portée limitée « en cours » à mesure de son achèvement dans un sprint. De cette manière, vous pouvez réagir plus rapidement aux risques et vous adapter en conséquence. Par exemple, vous pouvez informer les parties prenantes que certaines fonctionnalités devront être reportées à un prochain sprint.\n\nLes rétrospectives d'équipe à la fin du sprint peuvent être documentées dans le [wiki](https://about.gitlab.com/blog/get-to-know-the-gitlab-wiki-for-effective-knowledge-management/ \"Wiki de GitLab\") de GitLab, afin que les enseignements tirés et les actions à entreprendre puissent être suivis au fil du temps. Pendant la rétrospective proprement dite, l'équipe peut consulter le [rapport d'itération](https://docs.gitlab.com/ee/user/group/iterations/#iteration-report), qui affiche le tableau d'avancement et d'autres statistiques du sprint terminé.\n\n## Commencez votre parcours agile avec GitLab\nVous souhaitez améliorer votre gestion de projet agile ? GitLab offre une suite complète de fonctionnalités adaptées aux équipes de développement logiciel et aux chefs de projet agiles, garantissant une collaboration harmonieuse et des workflows performants. Explorez nos options tarifaires, commencez un essai gratuit et découvrez comment GitLab peut transformer vos processus de livraison agile.\n\n> [Découvrez toutes les possibilités qu'offre la planification Agile avec GitLab](https://about.gitlab.com/fr-fr/pricing/) et lancez-vous dès aujourd'hui !\n",[774,9,935,1205],"collaboration","2024-11-06",{"slug":1208,"featured":6,"template":691},"gitlab-for-agile-software-development","content:fr-fr:blog:gitlab-for-agile-software-development.yml","Gitlab For Agile Software Development","fr-fr/blog/gitlab-for-agile-software-development.yml","fr-fr/blog/gitlab-for-agile-software-development",{"_path":1214,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1215,"content":1221,"config":1227,"_id":1229,"_type":13,"title":1230,"_source":15,"_file":1231,"_stem":1232,"_extension":18},"/fr-fr/blog/gitlab-premium-with-duo",{"title":1216,"description":1217,"ogTitle":1216,"ogDescription":1217,"noIndex":6,"ogImage":1218,"ogUrl":1219,"ogSiteName":673,"ogType":674,"canonicalUrls":1219,"schema":1220},"L'IA à la portée de tous les clients GitLab Premium et Ultimate","GitLab Premium et GitLab Ultimate incluent désormais, sans surcoût, les fonctionnalités essentielles de GitLab Duo.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749660188/Blog/Hero%20Images/blog-premium-with-duo-cover-0756-fy26-v2-1800x945.png","https://about.gitlab.com/blog/gitlab-premium-with-duo","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"L'IA à la portée de tous les clients GitLab Premium et Ultimate\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"David DeSanto, Chief Product Officer, GitLab\"}],\n        \"datePublished\": \"2025-05-15\",\n      }",{"title":1216,"description":1217,"authors":1222,"heroImage":1218,"date":1223,"body":1224,"category":687,"tags":1225,"updatedDate":1226},[1118],"2025-05-15","À l’occasion du lancement de GitLab 18.0, nous présentons nos dernières innovations en matière de workflows [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que l'approche DevSecOps ? \"), de sécurité et de conformité, ainsi que d'IA. __Cette nouvelle version marque une étape importante : GitLab Premium et GitLab Ultimate intègrent désormais, sans frais supplémentaires, les capacités d'IA essentielles de GitLab Duo.__ Tous les utilisateurs des éditions Premium et Ultimate bénéficient d'un accès immédiat aux fonctionnalités de chat et de suggestions de code de GitLab Duo, directement dans leurs éditeurs de code source et IDE préférés.\n\n## L'IA au service des équipes de développement\n\nL'intelligence artificielle occupe désormais une place centrale dans le quotidien des équipes de développement. Elle optimise l'écriture de code en analysant le code base en temps réel, en proposant des suggestions au fil de la saisie, en générant des fonctions et méthodes adaptées au contexte du projet, en automatisant les tâches répétitives et en simplifiant les revues de code.\n\nDepuis plusieurs années, nous développons [GitLab Duo](https://about.gitlab.com/fr-fr/gitlab-duo/) pour intégrer ces capacités d'IA générative et agentique à notre plateforme, car l'écriture du code ne représente qu'une partie du cycle de développement logiciel : notre [Rapport Global DevSecOps](https://about.gitlab.com/fr-fr/developer-survey/) révèle en effet que les développeurs consacrent 79 % de leur temps à des tâches autres que la création de code. Nous avons donc fait le choix d'intégrer l'IA à chaque étape du cycle de développement logiciel. \n\nNous franchissons aujourd'hui un nouveau cap en incluant les fonctionnalités clés de GitLab Duo dans nos éditions GitLab Premium et GitLab Ultimate, afin que chaque développeur et développeuse puisse bénéficier des avantages de l'IA, sans frais supplémentaires.\n\nEn effet, en intégrant les fonctionnalités de chat et de suggestions de code de GitLab Duo aux éditions GitLab Premium et Ultimate, les ingénieurs logiciels peuvent accélérer leur workflow au sein même de l'IDE, sans devoir installer d'autres outils, gérer des licences distinctes ou se soucier de la gouvernance. Il suffit aux clients Premium et Ultimate existants de passer à GitLab 18.0 pour bénéficier d'un accès instantané à ces fonctionnalités. Elles seront également disponibles pour tous les nouveaux clients.\n\n> **« GitLab a déjà joué un rôle déterminant en nous aidant à nous affranchir d'une chaîne d'outils fragmentée, ce qui a permis de réduire les coûts liés à des solutions disparates et de rationaliser notre workflow. L'ajout de GitLab Duo à GitLab Premium nous permettra d'optimiser notre productivité et de réaliser encore plus d'économies, car nos développeurs consacreront moins de temps aux tâches de codage répétitives et plus de temps à la résolution de défis complexes qui génèrent une valeur métier réelle. »**\n>\n>- Andrei Nita, Chief Technology Officer chez McKenzie Intelligence Services\n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1083723619?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"GitLab Premium with Duo Core\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n\u003Cbr>\u003C/br>\nLes clients Premium et Ultimate bénéficient désormais des capacités d'IA natives suivantes :\n\n#### Suggestions de code de GitLab Duo\n\n* Génération de fonctions complètes et de blocs de code à partir de commentaires  \n* Complétion de code intelligente au fil de la saisie  \n* Prise en charge de plus de 20 langages de programmation  \n* Intégration aux IDE les plus populaires\n\nDécouvrez la fonctionnalité de suggestions de code de GitLab Duo dans cette présentation interactive (cliquez sur l'image pour démarrer la présentation).\n\n\u003Ca href=\"https://gitlab.navattic.com/code-suggestions\">\u003Cimg src=\"https://res.cloudinary.com/about-gitlab-com/image/upload/v1752175911/Blog/b5gdnls7jdyrpeyjby5j.png\" alt=\"GitLab Duo Code Suggestions cover image\">\u003C/a>\n\nConsultez notre [documentation sur les suggestions de code de GitLab Duo]( https://docs.gitlab.com/user/project/repository/code_suggestions/ ) pour en savoir plus.\n\n#### GitLab Duo Chat\n\n* Explication de code pour faciliter la compréhension des fonctions complexes  \n* Refactorisation du code existant pour améliorer sa qualité et sa maintenabilité  \n* Génération de scénarios de test complets pour vous aider à détecter les bugs dès les premières étapes du développement  \n* Correction des anomalies directement dans votre workflow\n\n![GitLab Duo Chat : explication du point de terminaison de l'API](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749673912/Blog/Content%20Images/Duo_Chat_-_gif_-_API_endpoint_explanation__3_.gif)\n\nPour en savoir plus, consultez notre [documentation sur GitLab Duo Chat](https://docs.gitlab.com/user/gitlab_duo_chat/).\n\n> **« Pour nous, en tant qu'utilisateurs de GitLab, les suggestions de code intelligentes de GitLab Duo sont devenues un atout quotidien pour nos développeurs. Combinées à la fonctionnalité de chat, elles permettent d'effectuer des itérations rapides, avec un retour immédiat, pour des cycles de développement plus fluides et un code plus sécurisé. Elles constituent une intégration à la fois fluide et puissante à nos workflows. »**\n>\n>- Felix Kortmann, Chief Technology Officer, Ignite by FORVIA HELLA\n\n## GitLab Duo Enterprise disponible pour les clients GitLab Premium\n\nFace à une forte demande, nous avons le plaisir d'annoncer que les clients [GitLab Premium](https://about.gitlab.com/fr-fr/pricing/premium/) peuvent désormais acheter une licence GitLab Duo Enterprise, notre suite complète de solutions d'IA, sans avoir à passer à GitLab Ultimate. Ils bénéficient ainsi d'une expérience d'IA exceptionnelle, avec des fonctionnalités avancées parfaitement intégrées à chaque étape du développement logiciel :\n\n* [L'analyse des causes profondes](https://docs.gitlab.com/user/gitlab_duo/use_cases/#root-cause-analysis-use-cases) pour diagnostiquer et résoudre rapidement les [échecs de pipelines CI/CD](https://about.gitlab.com/fr-fr/blog/quickly-resolve-broken-ci-cd-pipelines-with-ai/ \"Échecs de pipelines CI/CD\") et veiller à leur bon fonctionnement. \n\n* [La revue de code](https://docs.gitlab.com/user/project/merge_requests/duo_in_merge_requests/#have-gitlab-duo-review-your-code) qui utilise GitLab Duo comme relecteur pour accélérer la révision des modifications proposées dans une merge request.\n\n* [Le chat avancé](https://docs.gitlab.com/user/gitlab_duo_chat/) pour résumer les conversations. Il aide à comprendre les modifications apportées au code et fournit une assistance avancée pour la configuration.  \n\n* [GitLab Duo Self-Hosted](https://docs.gitlab.com/administration/gitlab_duo_self_hosted/) pour déployer GitLab Duo dans des environnements air-gapped et hors ligne en hébergeant des modèles d'IA approuvés.\n\nAu-delà de la disponibilité de GitLab Duo Enterprise, nous renforçons en continu notre engagement auprès des clients GitLab Premium. Depuis le lancement de GitLab 17, [nous avons déployé plus d'une centaine de nouvelles fonctionnalités et d'améliorations](https://gitlab.com/gitlab-org/gitlab/-/releases), dont voici quelques exemples notables : \n\n* Le [**catalogue CI/CD**](https://about.gitlab.com/blog/ci-cd-catalog-goes-ga-no-more-building-pipelines-from-scratch/) permet aux équipes de développement de partager, découvrir et réutiliser   \ndes configurations et des composants CI/CD préexistants.  \n* [**Le registre des artefacts**](https://docs.gitlab.com/user/packages/virtual_registry/) offre aux équipes de développement un accès sécurisé aux artefacts et une intégration homogène aux [pipelines CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline CI/CD ? \").  \n* [**Le développement à distance**](https://docs.gitlab.com/user/project/remote_development/) permet aux équipes de développement de travailler dans des environnements de développement à la demande, hébergés dans le cloud.\n\n> [Découvrez les fonctionnalités de GitLab Premium.](https://about.gitlab.com/fr-fr/pricing/premium/#wp-premium-features)\n\n## GitLab Duo : une IA qui s'adapte aux besoins des entreprises\n\nGitLab propose une gamme complète de fonctionnalités GitLab Duo dans ses offres Pro et Enterprise, pour accompagner ses clients à chaque étape de leur cycle d'adoption de l'IA. Plus vos équipes progressent dans ce cycle, et plus vous pouvez utiliser de fonctionnalités pour créer, tester et déployer plus rapidement des logiciels sécurisés.\n\n![Principales fonctionnalités des forfaits GitLab Duo](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749673912/Blog/Content%20Images/Screenshot_2025-05-14_at_8.50.34_AM.png)\n\n## Comment les clients GitLab Ultimate et Premium peuvent-ils activer GitLab Duo ?\n\nÀ partir de GitLab 18.0, pour les clients Ultimate et Premium existants, les fonctionnalités de suggestions de code et de chat de GitLab Duo sont désactivées par défaut, mais peuvent facilement être activées.\n\nVous trouverez la procédure à suivre ci-dessous : \n\n1. Vérifiez avant tout que vous disposez de GitLab Premium ou Ultimate. Dans le cas contraire, vous pouvez démarrer un essai gratuit. \n\n2. Activez GitLab Duo dans vos paramètres.\n\n3. Si vous utilisez un IDE local, installez l'[extension d'éditeur de code](https://docs.gitlab.com/editor_extensions/#available-extensions) GitLab de votre choix. \n\n4. Commencez à utiliser les suggestions de code et le chat dans l'IDE local de votre choix, s'il est pris en charge, ou dans le Web IDE de GitLab.\n\n**Remarque :** les fonctionnalités d'IA de GitLab seront activées automatiquement pour les nouveaux clients et les versions d'essai.\n\n## Le développement IA native avec une plateforme DevSecOps\n\nL'IA redéfinit l'expérience de développement. Les entreprises ne vont pas seulement recruter davantage de talents pour créer leurs logiciels. Elles vont également disposer de davantage de code généré par l'IA et prêt à être déployé en production, **ce qui rend GitLab plus essentiel que jamais.** \n\nNous avons conçu GitLab Premium et Ultimate avec GitLab Duo spécifiquement dans cet état d'esprit, afin d'offrir aux équipes une base sécurisée pour l'ensemble de leur code. À mesure que l'IA génère du code à l'échelle de votre entreprise, GitLab devient votre plateforme de contrôle, éliminant ainsi le recours à des outils distincts pour le scanning de sécurité, les contrôles de conformité ou la gestion des pipelines. Vous pouvez entièrement vous appuyer sur notre plateforme unique et unifiée, qui évolue avec votre entreprise. Elle vous garantit la qualité, la sécurité et la conformité de votre code jusqu’à sa mise en production. \n\n> Pour en savoir plus sur GitLab Duo et tous ses avantages pour votre équipe, [consultez notre page GitLab Premium](https://about.gitlab.com/fr-fr/pricing/premium/) ou, si vous êtes un client GitLab, contactez votre représentant GitLab pour organiser une démonstration. Enfin, nous vous invitons à participer au [lancement virtuel de GitLab 18](https://about.gitlab.com/eighteen/) le 24 juin 2025, afin de découvrir l'avenir du développement logiciel basé sur l'IA native.\n",[684,685,1075,9,687],"2025-05-20",{"slug":1228,"featured":90,"template":691},"gitlab-premium-with-duo","content:fr-fr:blog:gitlab-premium-with-duo.yml","Gitlab Premium With Duo","fr-fr/blog/gitlab-premium-with-duo.yml","fr-fr/blog/gitlab-premium-with-duo",{"_path":1234,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1235,"content":1241,"config":1247,"_id":1249,"_type":13,"title":1250,"_source":15,"_file":1251,"_stem":1252,"_extension":18},"/fr-fr/blog/guide-to-fulfilling-soc-2-security-requirements-with-gitlab",{"title":1236,"description":1237,"ogTitle":1236,"ogDescription":1237,"noIndex":6,"ogImage":1238,"ogUrl":1239,"ogSiteName":673,"ogType":674,"canonicalUrls":1239,"schema":1240},"Mise en conformité SOC 2 : GitLab vous simplifie la tâche","Découvrez les fonctionnalités de sécurité applicative de la plateforme DevSecOps de GitLab pour vous conformer aux exigences de la norme SOC 2.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099576/Blog/Hero%20Images/Blog/Hero%20Images/AdobeStock_1172300481_IGPi3TS4VzFgcqhvEdBlR_1750099575518.jpg","https://about.gitlab.com/blog/guide-to-fulfilling-soc-2-security-requirements-with-gitlab","\n                         {\n        \"@context\": \" https://schema.org \",\n         \"@type\": \"Article\",\n         \"headline\": \"Mise en conformité SOC 2 : GitLab vous simplifie la tâche\",\n         \"author\": [{\"@type\":\"Person\",\"name\":\"Fernando Diaz\"}],\n         \"datePublished\": \"2025-01-22\",\n      }",{"title":1236,"description":1237,"authors":1242,"heroImage":1238,"date":1244,"body":1245,"category":790,"tags":1246},[1243],"Fernando Diaz","2025-01-22","Pour les entreprises qui traitent les informations sensibles des clients, la conformité à la norme System and Organization Controls 2 (SOC 2) dépasse le cadre des bonnes pratiques : c'est souvent un impératif commercial. La norme d'audit SOC 2, développée par l'American Institute of Certified Public Accountants, évalue les contrôles internes d'un prestataire de services autour de cinq piliers essentiels : la sécurité, la disponibilité, l'intégrité des traitements de données, la confidentialité et la confidentialité.\n\n\nBien qu'elle ne soit pas imposée par la loi, la conformité SOC 2 est devenue un enjeu stratégique, renforcée par la fréquence et la médiatisation croissantes des violations de données. Obtenir la certification SOC 2 vous permet d'établir un lien de confiance avec vos clients, de leur démonter que leurs données sont protégées et de leur garantir que vos contrôles de sécurité ont été évalués par un auditeur tiers indépendant.\n\n\nDécouvrez dans ce guide les exigences à remplir pour obtenir la certification SOC 2 et comment GitLab peut aider votre entreprise à respecter les normes les plus strictes en matière de sécurité applicative.\n\n\n## Quelles sont les exigences fixées par la norme SOC 2 ?\n\n\nLe processus de conformité repose sur un audit réalisé par un cabinet indépendant, chargé d'évaluer à la fois la conception et l'efficacité opérationnelle des contrôles mis en place par l'entreprise concernée. L'audit SOC 2 peut durer près d'un an et s'avérer particulièrement coûteux. Nombreuses sont les entreprises qui s'y confrontent sans préparation suffisante, d'où l'importance de bien se préparer en amont.\n\n\nPour obtenir la certification SOC 2, une entreprise doit répondre aux exigences basées sur les critères de services de confiance suivants :\n\n\n| Critères | Exigences |\n\n| :---- | :---- |\n\n| Sécurité | - Mettre en place des contrôles pour prévenir tout accès non autorisé \u003Cbr> - Définir des procédures d'identification et d'atténuation des risques\u003Cbr> - Mettre en œuvre des systèmes de détection et de traitement des incidents de sécurité |\n\n| Disponibilité | - Garantir la disponibilité des systèmes selon les engagements contractuels\u003Cbr> - Surveiller l'utilisation et la capacité des systèmes en temps réel \u003Cbr> - Identifier et traiter les menaces environnementales susceptibles d'affecter la disponibilité des systèmes |\n\n| Intégrité des opérations de traitement | - Tenir des registres précis des entrées et sorties du système \u003Cbr> - Mettre en place des procédures pour détecter et corriger rapidement les erreurs \u003Cbr> - Veiller à ce que les opérations de traitement respectent les spécifications des produits et services |\n\n| Confidentialité | - Identifier et protéger les informations confidentielles \u003Cbr> - Définir des politiques claires de conservation des données pour une période définie \u003Cbr> - Mettre en place des méthodes sécurisées de suppression de ces données à l'issue de la période de conservation |\n\n| Vie privée | - Obtenir le consentement avant toute collecte de données personnelles sensibles \u003Cbr> - Communiquer de façon claire et compréhensible les politiques de confidentialité \u003Cbr> - Collecter les données uniquement par des moyens légaux et auprès de sources fiables |\n\n\u003Cbr>\n\n\nIl est essentiel de noter que la conformité SOC 2 n'est pas un état ponctuel, mais un processus continu. Les auditeurs devront vérifier l'efficacité des contrôles au fil du temps.\n\n\n## Comment atteindre et maintenir les exigences de sécurité ?\n\n\nGitLab fournit un ensemble de fonctionnalités intégrées à sa plateforme pour vous aider à satisfaire les exigences de sécurité de la norme SOC 2. En voici un aperçu :\n\n\n| Exigence de sécurité | Fonctionnalités associées |\n\n| :---- | :---- |\n\n| Mettre en œuvre des contrôles pour prévenir tout accès non autorisé | - Tickets et merge requests confidentiels \u003Cbr> - Rôles personnalisés et autorisations granulaires \u003Cbr> - Stratégies de sécurité \u003Cbr> - Validations vérifiées \u003Cbr> - Images de conteneur signées \u003Cbr> - CodeOwners \u003Cbr> - Branches protégées |\n\n| Mettre en œuvre des systèmes de détection et de traitement des incidents de sécurité | - Scanning de détection des vulnérabilités \u003Cbr> - Widget de sécurité intégré aux merge requests \u003Cbr> - Centre de conformité avec tous les détails sur les vulnérabilités \u003Cbr> - Événements d'audit \u003Cbr> - Liste des dépendances dans les rapports de vulnérabilités \u003Cbr> - IA : explication des vulnérabilités \u003Cbr> - IA : résolution des vulnérabilités |\n\n| Définir des procédures d'identification et d'atténuation des risques | L'ensemble de ces fonctionnalités permet aux équipes de sécurité de définir des procédures claires pour la gestion des vulnérabilités, de leur identification à leur atténuation.\n\n\u003Cbr>\n\n| Passons maintenant en revue chaque section pour détailler les fonctionnalités de sécurité de GitLab qui permettent de répondre à ces exigences. Remarque : la plupart de ces fonctionnalités nécessitent un [abonnement GitLab Ultimate](https://about.gitlab.com/fr-fr/free-trial/?hosted=saas) ainsi que les rôles et autorisations adéquats. Pour en savoir plus, consultez la documentation officielle.\n\n\n## Quels contrôles mettre en place éviter tout accès non autorisé ?\n\n\nLa mise en œuvre de contrôles d'accès rigoureux est essentielle pour protéger les actifs de votre entreprise, garantir la conformité réglementaire, maintenir la continuité des opérations et instaurer la confiance. Avec GitLab, vous pouvez appliquer le [principe de moindre privilège](https://about.gitlab.com/blog/the-ultimate-guide-to-least-privilege-access-with-gitlab/) afin de sécuriser vos projets contre tout accès non autorisé. Voici un aperçu des fonctionnalités disponibles :\n\n\n* [Stratégies de sécurité](#security-policies)\n\n* [Rôles personnalisés et autorisations granulaires](#custom-roles-and-granular-permissions)\n\n* [Protections des branches et CodeOwners](#branch-protections-and-codeowners)\n\n* [Validations vérifiées](#verified-commits)\n\n\n### Stratégies de sécurité\n\n\nLes stratégies de sécurité de GitLab, connues sous le nom de garde-fous, permettent aux équipes de sécurité et de conformité d'appliquer des contrôles cohérents à l'échelle de l'entreprise. Elles contribuent à prévenir les incidents de sécurité, à maintenir les normes de conformité et à réduire les risques en automatisant l'application des bonnes pratiques de sécurité à grande échelle.\n\n\n![Vue de la politique d'approbation des merge requests](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099597/Blog/Content%20Images/Blog/Content%20Images/merge_request_approval_policy_aHR0cHM6_1750099596925.png)\n\n\n\u003Ccenter>\u003Ci>Vue de la politique d'approbation des merge requests\u003C/i>\u003C/center>\u003Cbr>\n\n\nGitLab propose les différents types de stratégies de sécurité suivants :\n\n\n* Stratégie d'exécution des scans : impose l'exécution de scans de sécurité, soit dans les pipelines CI/CD, soit selon un calendrier précis.\n\n* Politique d'approbation des merge requests : applique des paramètres et des règles d'approbation au niveau du projet en fonction des résultats des scans.\n\n* Stratégie d'exécution des pipelines : impose l'exécution de jobs CI/CD critiques dans les pipelines.\n\n* Stratégie de gestion des vulnérabilités : automatise les workflows de gestion des vulnérabilités.\n\n\nVoici à titre d'exemple les étapes de mise en conformité en appliquant une stratégie d'exécution des pipelines :\n\n\n1. Créez un projet dédié aux jobs de conformité, contenant plusieurs tâches applicables à différents projets. Par exemple, un job peut avoir pour objectif de vérifier les autorisations d'accès aux fichiers déployés. Ces jobs doivent être suffisamment génériques pour être réutilisés sur plusieurs applications\n\n.2. Limitez les autorisations sur ce projet aux seuls responsables sécurité ou conformité. Les équipes de développement ne doivent pas pouvoir modifier ou supprimer ces jobs, afin de garantir une séparation claire des responsabilités.\n\n3. Injectez ces jobs de conformité par lots dans les projets concernés. Configurez-les pour qu'ils s'exécutent systématiquement, sans possibilité de suppression, mais autorisez un responsable d'équipe à approuver leur exécution afin de ne pas bloquer le développement. Ainsi, vous vous assurez que les jobs de conformité sont toujours lancés, qu'ils ne peuvent pas être désactivés par les développeurs, et que votre environnement reste conforme aux exigences établies.\n\n\n> ##### Pour approfondir vos connaissances sur le sujet, consultez notre [documentation dédiée aux stratégies de sécurité](https://docs.gitlab.com/ee/user/application_security/policies/).\n\n\n### Rôles personnalisés et autorisations granulaires\n\n\nLes autorisations personnalisées dans GitLab permettent de définir des contrôles d'accès plus précis que ceux des autorisations standard basées sur les rôles. Elles offrent plusieurs avantages, tels que :\n\n\n* Un contrôle d'accès plus précis\n\n* Une meilleure conformité aux exigences de sécurité\n\n* Une réduction du risque d'accès accidentel\n\n* Une gestion des utilisateurs simplifiée\n\n* Une prise en charge adaptée aux structures organisationnelles complexes\n\n\n![Rôles personnalisés dans GitLab](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099597/Blog/Content%20Images/Blog/Content%20Images/custom_roles_aHR0cHM6_1750099596926.png)\n\n\n\u003Ccenter>\u003Ci>Paramètres des rôles et autorisations, y compris les rôles personnalisés\u003C/i>\u003C/center>\n\n\n> ##### Pour approfondir vos connaissances sur le sujet, consultez notre [documentation dédiée aux rôles personnalisés](https://docs.gitlab.com/ee/user/custom_roles.html).\n\n\n### Protections des branches et CodeOwners\n\n\nGitLab vous aide à mieux contrôler qui peut modifier votre code à l'aide de ces deux fonctionnalités avancées :\n\n* La protection des branches, qui permet de définir des règles précises sur qui peut mettre à jour des branches spécifiques, par exemple en imposant une approbation avant de fusionner les modifications.\n\n* La propriété du code, qui identifie automatiquement les relecteurs appropriés pour examiner les modifications apportées au code en associant chaque fichier à ses propriétaires désignés.\n\n\nCombinées, ces fonctionnalités vous aident à garantir la sécurité et la qualité de votre code en vous assurant que les bonnes personnes examinent et approuvent chaque modification.\n\n\n![Branches protégées](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099597/Blog/Content%20Images/Blog/Content%20Images/protected_branches_aHR0cHM6_1750099596928.png)\n\n\n\u003Ccenter>\u003Ci>Paramètres de branches protégées\u003C/i>\u003C/center>\n\n\n> ##### Pour approfondir vos connaissances sur le sujet, consultez notre documentation dédiée aux [branches protégées](https://docs.gitlab.com/ee/user/project/repository/branches/protected.html) et aux [propriétaires de code](https://docs.gitlab.com/ee/user/project/codeowners/).\n\n\n### Validations vérifiées\n\n\nEn signant vos validations numériquement, vous prouvez que vous en êtes l'auteur et non une personne qui se fait passer pour vous. Considérez cette signature numérique comme un tampon unique que vous seul pouvez créer. En téléversant votre clé publique GPG sur la plateforme GitLab, cette dernière peut vérifier l'authenticité de ce tampon. Si la signature et le tampon correspondent, GitLab marque votre validation comme `Verified`. Vous pouvez ensuite configurer des règles pour rejeter les validations non signées ou bloquer toutes les validations des utilisateurs qui n'ont pas vérifié leur identité.\n\n\n![Validation signée avec une signature vérifiée](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099597/Blog/Content%20Images/Blog/Content%20Images/signed_commit_aHR0cHM6_1750099596929.png)\n\n\n\u003Ccenter>\u003Ci>Validation signée avec une signature vérifiée\u003C/i>\u003C/center>\u003Cbr>\n\n\nLes validations peuvent être signées avec :\n\n\n* Une clé SSH\n\n* Une clé GPG\n\n* Un certificat x.509 personnel\n\n\n> ##### Pour approfondir vos connaissances sur le sujet, consultez notre [documentation dédiée aux validations signées](https://docs.gitlab.com/ee/user/project/repository/signed_commits/)\n\n\n## Comment mettre en place des systèmes de détection et de gestion des incidents°?\n\n\nLa mise en place de systèmes de détection et de gestion des incidents de sécurité est essentielle pour maintenir une posture de sécurité robuste, garantir la conformité réglementaire, limiter les dommages potentiels et permettre à votre entreprise de réagir efficacement à des menaces en constante évolution.\n\n\nGitLab propose des scannings de sécurité et de gestion des vulnérabilités pour l'ensemble du cycle de vie des applications. Voici un aperçu des principales fonctionnalités :\n\n\n* [Scanning de sécurité et gestion des vulnérabilités](#security-scanning-and-vulnerability-management)\n\n* [Nomenclature logicielle](#software-bill-of-materials)\n\n* [Audit du système et analyse de la posture de sécurité](#system-auditing-and-security-posture-review)\n\n* [Supervision de la conformité et de la posture de sécurité](#compliance-and-security-posture-oversight)\n\n\n### Scanning de sécurité et gestion des vulnérabilités\n\n\nGitLab fournit une variété de scanners de sécurité différents, qui couvrent l'ensemble du cycle de vie de votre application :\n\n\n* Test statique de sécurité des applications (SAST)\n\n* Test dynamique de sécurité des applications (DAST)\n\n* Analyse des conteneurs\n\n* Analyse des dépendances\n\n* Analyse de l'Infrastructure as Code (IaC)\n\n* Test à données aléatoires guidé par la couverture de code\n\n* Test d'API web par injection de données aléatoires\n\n\nCes scanners peuvent être ajoutés à votre pipeline CI/CD à l'aide de templates. Par exemple, pour exécuter des jobs de SAST et de scanning des dépendances à l'étape de test, ajoutez simplement ce qui suit à votre fichier .gitlab-ci.yml :\n\n\n```yaml\n\nstages:   - test\n\ninclude:   - template: Jobs/Dependency-Scanning.gitlab-ci.yml   - template: Jobs/SAST.gitlab-ci.yml   ```\n\n\nCes jobs sont entièrement configurables via des variables d'environnement et à l'aide de la syntaxe des jobs GitLab. Une fois le pipeline CI/CD lancé, les scanners de sécurité s'exécutent et détectent les vulnérabilités dans le diff entre la branche actuelle et la branche cible. La vulnérabilité s'affiche directement dans la merge request (MR) correspondante, fournissant ainsi une vue détaillée avant que le code ne soit fusionné vers la branche cible. Dans la MR, chaque vulnérabilité détectée est présentée avec les informations suivantes :\n\n\n* Description\n\n* Statut\n\n* Gravité\n\n* Preuves\n\n*Identifiants\n\n* URL (le cas échéant)\n\n* Requête/réponse (le cas échéant)\n\n* Actifs de reproduction (le cas échéant)\n\n* Ressources de formation (le cas échéant)\n\n* Chemin d'exécution dans le code (si vous utilisez un analyseur Advanced SAST)\n\n\n![Vue d'une MR présentant la vulnérabilité détectée](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099597/Blog/Content%20Images/Blog/Content%20Images/no_sql_injection_vulnerability_mr_view_aHR0cHM6_1750099596931.png)\n\n\n\u003Ccenter>\u003Ci>Vue d'une MR présentant la vulnérabilité introduite\u003C/i>\u003C/center>\u003Cbr>\n\n\nLes équipes de développement peuvent ainsi utiliser ces données pour corriger les vulnérabilités sans ralentir les workflows de l'équipe de sécurité. Les développeurs peuvent rejeter une vulnérabilité en justifiant leur décision, accélérant ainsi le processus de revue de code. Ils ont également la possibilité de créer un ticket confidentiel pour assurer un suivi sur cette vulnérabilité.\n\n\nUne fois le code d'une MR fusionné vers la branche par défaut (généralement celle de l'environnement de production), le rapport de vulnérabilités est automatiquement mis à jour avec les résultats du scanner de sécurité. Les équipes de sécurité peuvent utiliser ces données pour gérer et hiérarchiser les vulnérabilités ayant atteint l'environnement de production.\n\n\n![Rapport de vulnérabilités avec le paramètre de statut par lot](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099597/Blog/Content%20Images/Blog/Content%20Images/vulnerability_report_aHR0cHM6_1750099596936.png)\n\n\n\u003Ccenter>\u003Ci>Rapport de vulnérabilités avec le paramètre de statut par lot\u003C/i>\u003C/center>\u003Cbr>\n\n\nLorsque vous cliquez sur la description d'une vulnérabilité dans le rapport de vulnérabilités, vous accédez à la page dédiée à cette vulnérabilités, qui contient les mêmes informations que dans la MR. Vous disposez ainsi d'une source unique de vérité lors de l'évaluation de son impact et de la correction possible. Depuis cette page, vous pouvez également utiliser les fonctionnalités d'IA de [GitLab Duo](https://about.gitlab.com/fr-fr/gitlab-duo/) pour obtenir une explication de la vulnérabilité et générer automatiquement une merge request pour la corriger, ce qui accélère considérablement le temps de résolution.\n\n\n> ##### Pour approfondir vos connaissances sur le sujet, consultez notre [documentation dédiée à la sécurité aplicative](https://docs.gitlab.com/ee/user/application_security/).\n\n\n### Nomenclature logicielle\n\n\nGitLab peut créer une liste complète de tous les composants constituant votre logiciel, un peu comme une liste d'ingrédients pour votre code. Cette liste, appelée nomenclature logicielle ([SBOM](https://about.gitlab.com/fr-fr/blog/the-ultimate-guide-to-sboms/)), répertorie l'ensemble du code des composants externes que vous avez ajoutés à votre projet, ainsi que leurs propres dépendances. Pour chaque composant, vous pouvez consulter la version utilisée, le type de licence ainsi que les éventuelles failles de sécurité détectées. Vous pouvez ainsi conserver une trace des composants de votre logiciel et anticiper les risques potentiels.\n\n\n![Liste des dépendances au niveau du groupe (SBOM)](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099597/Blog/Content%20Images/Blog/Content%20Images/sbom_aHR0cHM6_1750099596937.png)\n\n\n\u003Ccenter>\u003Ci>Liste des dépendances au niveau du groupe (SBOM)\u003C/i>\u003C/center>\n\n\n> ##### Pour approfondir vos connaissances sur le sujet, consultez notre [documentation dédiée à la liste des dépendances](https://docs.gitlab.com/ee/user/application_security/dependency_list/).\n\n\n### Audit système et examen de la posture de sécurité\n\n\nGitLab consigne de manière exhaustive toutes les actions effectuées dans votre système : qui a réalisé une modification, de quel type, et à quel moment. Cette fonctionnalité agit en quelque sorte comme une caméra de surveillance pour votre code. Cette traçabilité vous aide à :\n\n\n* repérer toute activité suspecte\n\n* prouver votre conformité aux régulateurs\n\n* retracer les événements en cas d'incident de sécurité\n\n* analyser l'utilisation réelle de GitLab au sein de l'entreprise\n\n\nToutes ces informations d'audit sont centralisées, ce qui facilite grandement leur examen a posteriori et leur analyse en cas de besoin. Par exemple, les événements d'audit vous permettent d'identifier :\n\n\n* qui a modifié le niveau d'autorisation d'un utilisateur pour un projet GitLab, et à quelle date\n\n* qui a ajouté ou supprimé un utilisateur, et à quelle date\n\n\n![Événements d'audit au niveau du projet](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099597/Blog/Content%20Images/Blog/Content%20Images/audit_events_aHR0cHM6_1750099596938.png)\n\n\n\u003Ccenter>\u003Ci>Événements d'audit au niveau du projet\u003C/i>\u003C/center>\n\n\n> ##### Pour approfondir vos connaissances sur le sujet, consultez la [documentation dédiée aux événements d'audit](https://docs.gitlab.com/ee/user/compliance/audit_events.html).\n\n\n## Supervision de la conformité et de la posture de sécurité\n\n\nLe tableau de bord de sécurité de GitLab, telle une salle de contrôle centralisée, vous offre une vue globale claire de tous les risques de sécurité identifiés sur l'ensemble de vos projets. Plutôt que de jongler entre plusieurs outils de sécurité, toutes les informations critiques sont accessibles depuis un seul et même endroit. Cette fonctionnalité facilite la détection et la résolution des vulnérabilités à l'échelle de vos projets.\n\n\n![Tableau de bord de sécurité au niveau du groupe](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099597/Blog/Content%20Images/Blog/Content%20Images/security_dashboard_aHR0cHM6_1750099596939.png)\n\n\u003Ccenter>\u003Ci>Tableau de bord de sécurité au niveau du groupe\u003C/i>\u003C/center>\n\n\n> ##### Pour approfondir vos connaissances sur le sujet, consultez notre [documentation dédiée au tableau de bord de sécurité]( https://docs.gitlab.com/ee/user/application_security/security_dashboard/).\n\n\n## Comment définir des procédures pour identifier et atténuer les risques ?\n\n\nLes vulnérabilités suivent un cycle de vie précis et il est essentiel de mettre en place des procédures structurées. Par exemple, l'une d'elles peut exiger qu'aucun code vulnérable ne soit fusionné vers des branches protégées sans approbation préalable, en s'appuyant sur les stratégies de sécurité en place. Elle peut également stipuler qu'un code vulnérable détecté dans l'environnement de production doit se voir attribuer un ordre de priorité, puis être évalué, corrigé, puis validé :\n\n\n* Les critères de priorisation peuvent être basés sur la gravité de la vulnérabilité déterminée par les scanners GitLab.\n\n* L'évaluation peut s'appuyer sur les informations générées par l'IA lors de l'explication des vulnérabilités.\n\n* Une fois la correction apportée, celle-ci est validée à l'aide des tests de régression et des scanners GitLab intégrés.\n\n\nChaque entreprise ayant ses spécificités, la plateforme GitLab permet d'identifier et valider les vulnérabilités plus efficacement qu'avec un ensemble d'outils disparates.\n\n\n### Bonnes pratiques pour la conformité SOC 2\n\n\n* Instaurer une culture de la sécurité : favorisez une culture de sensibilisation à la sécurité et de responsabilisation à tous les niveaux de votre entreprise.\n\n* Documenter chaque processus : conservez une documentation complète des stratégies, procédures et contrôles de sécurité en place.\n\n* Automatiser dans la mesure du possible : utilisez des outils d'automatisation pour rationaliser les processus de conformité et réduire les risques d'erreur.\n\n* Communiquer efficacement : tenez les parties prenantes informées de vos processus en matière de conformité.\n\n* Demander conseil à des experts : envisagez de vous associer à un consultant qualifié pour vous aider dans votre parcours de conformité SOC 2.\n\n\nObtenir la certification SOC 2 demande un investissement important, mais les bénéfices en valent largement la peine. En démontrant votre engagement en faveur de la sécurité applicative et de l'excellence opérationnelle, vous renforcez la confiance de vos clients, améliorez votre réputation tout en vous distinguant sur un marché concurrentiel.\n\n\n## Autres ressources\n\n\nPour en savoir plus sur GitLab et découvrir comment nous pouvons vous aider à atteindre la conformité SOCv2 tout en renforçant votre posture de sécurité, consultez les ressources suivantes :\n\n\n* [GitLab Ultimate](https://about.gitlab.com/fr-fr/pricing/ultimate/)\n\n* [Solutions de sécurité et de conformité de GitLab](https://about.gitlab.com/fr-fr/solutions/security-compliance/)\n\n* [Documentation GitLab sur la sécurité applicative](https://docs.gitlab.com/ee/user/application_security/)\n\n* [Projet de tutoriel DevSecOps de GitLab](https://gitlab.com/gitlab-da/tutorials/security-and-governance/devsecops/simply-vulnerable-notes)\n",[689,790,685,9,687],{"slug":1248,"featured":90,"template":691},"guide-to-fulfilling-soc-2-security-requirements-with-gitlab","content:fr-fr:blog:guide-to-fulfilling-soc-2-security-requirements-with-gitlab.yml","Guide To Fulfilling Soc 2 Security Requirements With Gitlab","fr-fr/blog/guide-to-fulfilling-soc-2-security-requirements-with-gitlab.yml","fr-fr/blog/guide-to-fulfilling-soc-2-security-requirements-with-gitlab",{"_path":1254,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1255,"content":1261,"config":1269,"_id":1271,"_type":13,"title":1272,"_source":15,"_file":1273,"_stem":1274,"_extension":18},"/fr-fr/blog/how-gitlab-can-support-your-iso-compliance-journey",{"title":1256,"description":1257,"ogTitle":1256,"ogDescription":1257,"noIndex":6,"ogImage":1258,"ogUrl":1259,"ogSiteName":673,"ogType":674,"canonicalUrls":1259,"schema":1260},"ISO 27001: comment GitLab vous assiste dans votre démarche de conformité ","Les fonctionnalités de sécurité logicielle de GitLab peuvent vous aider à vous conformer à la norme ISO 27001.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662877/Blog/Hero%20Images/security-cover-new.png","https://about.gitlab.com/blog/how-gitlab-can-support-your-iso-compliance-journey","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"ISO 27001: comment GitLab vous assiste dans votre démarche de conformité \",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Joseph Longo\"}],\n        \"datePublished\": \"2023-09-06\",\n      }",{"title":1256,"description":1257,"authors":1262,"heroImage":1258,"date":1264,"body":1265,"category":790,"tags":1266,"updatedDate":1268},[1263],"Joseph Longo","2023-09-06","En tant que plateforme unique et complète, GitLab vous permet de gérer votre cycle de vie DevSecOps facilement. En effet, la plateforme GitLab permet aux développeurs de créer des logiciels de qualité plus rapidement, mais son efficacité s'étend toutefois au-delà du DevSecOps.\n\nEn octobre 2022, l'Organisation internationale de normalisation a publié la dernière édition de la norme ISO 27001. Cette norme ISO/IEC 27001:2022 comprend plusieurs modifications par rapport à sa version précédente, dont l'ajout de contrôles dans l'annexe A. Ceux-ci sont axés sur le codage sécurisé et la gestion de la configuration.\n\nChez GitLab, nous utilisons notre plateforme pour prendre en charge de nombreux aspects de notre programme de conformité en matière de sécurité : un concept que nous appelons en interne le [dogfooding](https://about.gitlab.com/direction/dogfooding/). Vous trouverez un aperçu des accréditations de conformité et d'assurance que nous conservons sur notre page dédiée au [Centre de gestion et protection des données](https://about.gitlab.com/security/).\n\nVoyons à présent les principales fonctions à votre disposition pour vous conformer à la norme ISO 27001.\n\n## Contrôles organisationnels\n\n| ID de contrôle | Description du contrôle |\n| ---- | ---- |\n| 5.3 Séparation des tâches | Les tâches et les domaines de responsabilité incompatibles doivent être séparés. |\n| 5.15 Contrôle d'accès | Des règles visant à contrôler l'accès physique et logique aux informations et autres actifs associés en fonction des exigences métier et de sécurité de l'information doivent être définies et mises en œuvre. |\n| 5.16 Gestion des identités | Le cycle de vie complet des identités doit être géré. |\n| 8.2 Droits d'accès privilégiés | L'attribution et l'utilisation des droits d'accès privilégiés doivent être limitées et gérées.|\n| 8.4 Accès aux codes source | L'accès en lecture et en écriture au code source, aux outils de développement et aux bibliothèques de logiciels doit être géré de manière appropriée. |\n\nAvec GitLab, vous pouvez [attribuer un rôle aux utilisateurs](https://docs.gitlab.com/ee/user/permissions.html) lorsque vous les ajoutez à un projet ou à un groupe. Le rôle d'un utilisateur détermine les actions qu'il peut effectuer dans votre instance GitLab. Vous pouvez assigner les rôles suivants :\n* Invité (projets privés et internes uniquement)\n* Rapporteur\n* Développeur\n* Chargé de maintenance\n* Propriétaire\n* Accès minimal (disponible uniquement pour le groupe principal)\n\nLes rôles de GitLab vous permettent de limiter les autorisations d'un utilisateur, conformément au [principe de moindre privilège](https://csrc.nist.gov/glossary/term/least_privilege), ainsi qu'à vos exigences en matière de sécurité de l'information et de l’entreprise. \n\nGitLab vous permet également de centraliser les responsabilités d'authentification et d'autorisation pour votre instance GitLab via des intégrations d'[authentification unique basée sur le protocole SAML](https://docs.gitlab.com/ee/user/group/saml_sso/). GitLab intègre un large éventail de fournisseurs d'identité pour prendre en charge les diverses piles technologiques de notre clientèle. De plus, GitLab prend en charge le System for Cross-domain Identity Management ([SCIM](https://docs.gitlab.com/ee/user/group/saml_sso/scim_setup.html)). Ainsi, grâce aux intégrations SSO et SCIM de GitLab, vous pouvez automatiser le cycle de vie de vos identités d'utilisateur de manière sécurisée et efficace.\n\n[SSO](https://docs.gitlab.com/ee/integration/saml.html) et [SCIM](https://docs.gitlab.com/ee/administration/settings/scim_setup.html) sont également disponibles pour les clients utilisant GitLab Auto-géré.\n\n**Note :** les contrôles technologiques des points 8.2 et 8.4 de l'annexe A ont été inclus dans le tableau ci-dessus en raison de leur proximité avec les contrôles organisationnels des points 5.3, 5.15 et 5.16. Vous pouvez recourir aux mêmes fonctionnalités de GitLab pour répondre à ces différentes exigences de contrôle.\n\n\u003Cbr>\n\n| ID de contrôle | Description du contrôle |\n| ---- | ---- |\n| 5.8 Sécurité de l'information dans la gestion de projet | La sécurité de l'information doit être intégrée dans la gestion de projet. |\n\nSoutenez vos efforts de gestion de projet et de contrôle sur la sécurité de l'information dans toutes les phases du cycle de vie d'un projet grâce à nos [outils de planification](https://about.gitlab.com/features/?stage=plan).\n\n- Les fonctionnalités de [planification d'équipe](https://about.gitlab.com/features/?stage=plan#team_planning) de GitLab permettent aux utilisateurs d'organiser et de planifier les différentes étapes d'un projet et d’en suivre son avancement, de l'idée à la production.\n\n- Vous pouvez échanger sur vos idées, résoudre des problèmes et planifier vos tâches avec l'équipe de sécurité de l'information grâce aux [epics](https://docs.gitlab.com/ee/user/group/epics/), [tickets](https://docs.gitlab.com/ee/user/project/issues/) et [tâches](https://docs.gitlab.com/ee/user/tasks.html). Les [modèles de description](https://docs.gitlab.com/ee/user/project/description_templates.html) et les [check-lists](https://docs.gitlab.com/ee/user/markdown.html#task-lists) permettent aux utilisateurs d'appliquer systématiquement une description et un workflow aux tickets ou aux [merge requests](https://docs.gitlab.com/ee/user/project/merge_requests/index.html). Ces modèles permettent une approche structurée de l'intégration de la sécurité de l'information dans votre cycle de vie de gestion de projet.\n\n- Les [labels](https://docs.gitlab.com/ee/user/project/labels.html) permettent aux utilisateurs d'organiser les tickets en fonction de leurs besoins. Pour assurer le maintien de la sécurité de l'information, utilisez les labels afin d'identifier le niveau de risque associé à un projet, l'étape à laquelle il se trouve, ou encore l'équipe de sécurité de l'information responsable d'un ensemble de tâches. Vous pouvez également profiter des [labels à portée limitée](https://docs.gitlab.com/ee/user/project/labels.html#scoped-labels) (ou Scoped labels) pour ajouter une logique supplémentaire aux workflows en empêchant l'utilisation simultanée de certains labels. Chez GitLab, nous utilisons les [labels à portée limitée](https://docs.gitlab.com/ee/user/project/labels.html#scoped-labels) pour identifier les équipes auxquelles sont attribuées les tâches, l'étape du projet dans laquelle elles se trouvent, et le produit ou l'ensemble de fonctionnalités qui leur sont associés.\n\n![Scoped Labels](https://about.gitlab.com/images/blogimages/2023-08-24-how-gitlab-can-support-your-iso-compliance-journey/scoped-labels.png)\n\nLabels à portée limitée\n\n- Vous pouvez organiser davantage votre travail et obtenir une vue d'ensemble de toutes les tâches associées à un groupe ou à un projet grâce aux tableaux des tickets du [groupe](https://docs.gitlab.com/ee/user/project/issue_board.html#group-issue-boards) et du [projet](https://about.gitlab.com/stages-devops-lifecycle/issueboard/).\n\n## Contrôles technologiques\n\n| ID de contrôle | Description du contrôle |\n| ---- | ---- |\n| 8.8 Gestion des vulnérabilités techniques | Des informations sur les vulnérabilités techniques des systèmes d'information utilisés doivent être obtenues, l'exposition de l'organisme à ces vulnérabilités doit être évaluée et des mesures appropriées doivent être prises. |\n| 8.9 Gestion des configurations | Les configurations, y compris les configurations de sécurité, du matériel, des logiciels, des services et des réseaux, doivent être définies, documentées, mises en œuvre, surveillées et révisées. |\n| 8.25 Cycle de développement sécurisé | Des règles pour le développement sécurisé des logiciels et des systèmes doivent être établies et appliquées. |\n| 8.26 Exigences de sécurité des applications | Les exigences en matière de sécurité de l'information doivent être identifiées, spécifiées et approuvées lors du développement ou de l'acquisition d'applications. |\n| 8.27 Principes d'ingénierie et d'architecture des systèmes sécurisés | Des principes d'ingénierie des systèmes sécurisés doivent être établis, documentés, tenus à jour et appliqués à toutes les activités de développement de systèmes d'information. |\n\nAvec GitLab, vous pouvez stocker vos configurations matérielles et logicielles, maintenir le contrôle de version, mettre à jour vos configurations via des [merge requests](https://docs.gitlab.com/ee/user/project/merge_requests/index.html) et recourir aux [pipelines CI/CD](https://docs.gitlab.com/ee/ci/pipelines/) de GitLab pour pousser ces configurations vers vos applications et votre infrastructure. GitLab permet également aux entreprises d’adopter une approche [GitOps](https://about.gitlab.com/topics/gitops/) via une plateforme unique.\n\nLa fonctionnalité [d'analyse de l'infrastructure en tant que code](https://docs.gitlab.com/ee/user/application_security/iac_scanning/) de GitLab vous permet d'analyser vos fichiers de configuration IaC à la recherche de vulnérabilités connues. L'analyse IaC de GitLab prend en charge une variété de fichiers et de langues de configuration IaC, ce qui la rend adaptable à différentes piles technologiques.\n\nGitLab permet aux professionnels de la conformité de mettre en œuvre l'automatisation via des [frameworks de conformité](https://docs.gitlab.com/ee/user/group/compliance_frameworks.html) et des [pipelines de conformité](https://docs.gitlab.com/ee/user/group/compliance_frameworks.html#compliance-pipelines). Ces fonctionnalités permettent aux utilisateurs d'identifier les projets critiques qui possèdent certaines exigences de conformité et d'y pousser des configurations via des pipelines. Elles permettent également une application uniforme des contrôles, soutenant ainsi votre posture de sécurité et facilitant le respect des exigences de conformité internes et externes de votre entreprise.\n\nPour les clients [Ultimate](https://about.gitlab.com/pricing/ultimate/), le [Centre de conformité](https://docs.gitlab.com/ee/user/compliance/compliance_center/index.html) de GitLab fournit une vue centralisée de la posture de conformité d'un groupe en mettant par exemple en évidence les différents frameworks de conformité appliqués aux projets du groupe. Vous pouvez même évaluer votre degré de conformité à la [norme GitLab](https://docs.gitlab.com/ee/user/compliance/compliance_center/index.html#gitlab-standard).\n\n\u003Cbr>\n\n| ID de contrôle | Description du contrôle |\n| ---- | ---- |\n| 8.15 Journalisation | Les journaux qui enregistrent les activités, les exceptions, les défaillances et autres événements pertinents doivent être générés, stockés, protégés et analysés. |\n| 8.16 Activités de surveillance | Les réseaux, systèmes et applications doivent être surveillés pour détecter les comportements anormaux et des mesures appropriées doivent être prises pour évaluer les éventuels incidents en matière de sécurité de l'information. |\n\nDans GitLab, vous pouvez utiliser les [événements d'audit](https://docs.gitlab.com/ee/administration/audit_events.html) pour suivre les événements importants, y compris l'auteur de chaque action et sa date d'exécution. Les événements d'audit couvrent un large éventail de catégories, notamment :\n* Gestion des groupes\n* Authentification et autorisation\n* Gestion des utilisateurs\n* Conformité et sécurité\n* CI/CD\n* GitLab Runners\n\n![Événements d'audit](https://about.gitlab.com/images/blogimages/2023-08-24-how-gitlab-can-support-your-iso-compliance-journey/example-of-an-audit-event.png)\n\nExemple d'événement d'audit\n{: .note.text-center}\n\nLe [streaming d'événements d'audit](https://docs.gitlab.com/ee/administration/audit_event_streaming/index.html) est disponible pour les clients [Ultimate](https://about.gitlab.com/pricing/ultimate/). Le streaming d'événements d'audit permet aux utilisateurs de définir une destination de streaming pour un groupe principal ou une instance principale afin de recevoir tous les événements d'audit du groupe, des sous-groupes et des projets sous forme de document JSON structuré.\n\n\u003Cbr>\n\n| ID de contrôle | Description du contrôle |\n| ---- | ---- |\n| 8.28 Codage sécurisé | Des principes de codage sécurisé doivent être appliqués au développement de logiciels. |\n| 8.29 Tests de sécurité dans le développement et l'acceptation | Des processus pour les tests de sécurité doivent être définis et mis en œuvre au cours du cycle de développement. | \n\nVous pouvez optimiser votre cycle de développement logiciel et améliorer la sécurité de vos produits grâce aux fonctionnalités de la phase de [sécurisation](https://about.gitlab.com/features/?stage=secure) de GitLab. Les fonctionnalités de cette phase comprennent :\n* [Des tests statiques de sécurité des applications (SAST)](https://docs.gitlab.com/ee/user/application_security/sast/)\n* [Des tests dynamiques de sécurité des applications (DAST)](https://docs.gitlab.com/ee/user/application_security/dast/)\n* [La qualité du code](https://docs.gitlab.com/ee/ci/testing/code_quality.html)\n* [L'analyse des conteneurs](https://docs.gitlab.com/ee/user/application_security/container_scanning/)\n* [L'analyse des dépendances](https://docs.gitlab.com/ee/user/application_security/dependency_scanning/)\n\nEt bien plus encore !\n\n![Découvertes relatives à la qualité du code](https://about.gitlab.com/images/blogimages/2023-08-24-how-gitlab-can-support-your-iso-compliance-journey/code-quality-findings.png)\n\nDécouvertes relatives à la qualité du code\n{: .note.text-center}\n\nLes fuites de secrets sont à l'origine de nombreuses failles de sécurité. La [détection des secrets](https://docs.gitlab.com/ee/user/application_security/secret_detection/) de GitLab analyse votre dépôt pour empêcher l'exposition de vos secrets.\n\nLa fonctionnalité [Stratégies](https://docs.gitlab.com/ee/user/application_security/policies/) de GitLab permet aux utilisateurs d'implémenter des stratégies d'[exécution d'analyse](https://docs.gitlab.com/ee/user/application_security/policies/scan-execution-policies.html) et de [résultat d'analyse](https://docs.gitlab.com/ee/user/application_security/policies/scan-result-policies.html) basées sur une logique configurée. Ces stratégies combinent les capacités d'analyse de la phase de [sécurisation](https://about.gitlab.com/features/?stage=secure) avec les [approbations des merge requests](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/) pour répondre davantage aux exigences de conformité.\n\nUne fois réunies, ces fonctionnalités établissent les bases d'un programme de cycle de vie de développement logiciel sécurisé et vous permettent d'implémenter des principes de codage sécurisé conformément aux exigences de votre entreprise.\n\n\u003Cbr>\n\n| ID de contrôle | Description du contrôle |\n| ---- | ---- |\n| 8.32 Gestion des changements | Les changements apportés aux moyens de traitement de l'information et aux systèmes d'information doivent être soumis à des procédures de gestion des modifications. |\n\nGitLab offre de nombreuses fonctionnalités permettant de prendre en charge un programme complet de gestion des modifications.\n\nLes fonctionnalités de gestion du code source de GitLab permettent aux utilisateurs de créer des [branches protégées](https://docs.gitlab.com/ee/user/project/protected_branches.html). Elles permettent aux utilisateurs de GitLab d'imposer des restrictions à certaines branches considérées comme essentielles à leurs opérations. Une branche protégée permet de contrôler :\n* quels utilisateurs peuvent fusionner dans la branche\n* quels utilisateurs peuvent effectuer un push vers la branche\n* si les utilisateurs peuvent forcer un push vers la branche\n* si les modifications apportées aux fichiers répertoriés dans le fichier CODEOWNERS peuvent faire l’objet d’un push directement vers la branche\n* quels utilisateurs peuvent retirer la protection de la branche\n\nLa [branche par défaut](https://docs.gitlab.com/ee/user/project/repository/branches/default.html) d'un dépôt devient automatiquement une branche protégée.\n\n![Branches protégées](https://about.gitlab.com/images/blogimages/2023-08-24-how-gitlab-can-support-your-iso-compliance-journey/protected-branches-settings-within-gitlab.png)\n\nParamètres des branches protégées dans GitLab\n{: .note.text-center}\n\nLes merge requests (MR) sont essentielles dans le cycle de vie du développement logiciel. Les utilisateurs de GitLab peuvent configurer leurs MR de sorte qu'elles doivent être approuvées avant d'être fusionnées. Les utilisateurs peuvent définir le nombre minimum d'approbations requises avant qu'un travail puisse être fusionné dans un projet. Voici quelques exemples de règles que vous pouvez créer :\n* Les utilisateurs disposant d'autorisations spécifiques peuvent toujours approuver le travail.\n* Les [propriétaires du code](https://docs.gitlab.com/ee/user/project/codeowners/index.html) peuvent approuver le travail pour leurs fichiers.\n* Les utilisateurs disposant d'autorisations spécifiques peuvent approuver le travail, [même s'ils ne disposent pas des droits de fusion](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/rules.html#merge-request-approval-segregation-of-duties) pour le dépôt.\n* Les utilisateurs disposant d'autorisations spécifiques peuvent être autorisés ou privés de la possibilité de [redéfinir les règles d'approbation d'une merge request spécifique](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/rules.html#edit-or-override-merge-request-approval-rules).\n\nComme mentionné précédemment, vous pouvez utiliser les [tickets](https://docs.gitlab.com/ee/user/project/issues/) et les [tâches](https://docs.gitlab.com/ee/user/tasks.html) pour documenter les demandes de modification et collaborer à celles-ci. Les [modèles de description](https://docs.gitlab.com/ee/user/project/description_templates.html) permettent aux utilisateurs d'appliquer systématiquement une description aux tickets ou aux [MR](https://docs.gitlab.com/ee/user/project/merge_requests/index.html). Ces modèles permettent une approche structurée de la demande de modifications adaptée à vos besoins spécifiques.\n\n## En savoir plus\nEn tant que plateforme DevSecOps complète, GitLab vous permet de répondre à un large éventail d'exigences. La version 2022 de la norme ISO a ajouté des contrôles supplémentaires autour du codage sécurisé et de la gestion de la configuration. Ces ajouts prouvent que les organismes de certification se concentrent davantage sur la sécurité des logiciels. En tant que partenaire stratégique, GitLab peut vous aider à vous conformer à la norme ISO 27001 et à développer de meilleurs logiciels plus rapidement.\n\nPour en savoir plus sur ces fonctionnalités, consultez notre bibliothèque de [tutoriels](https://docs.gitlab.com/ee/tutorials/).",[790,9,1267],"customers","2024-07-31",{"slug":1270,"featured":6,"template":691},"how-gitlab-can-support-your-iso-compliance-journey","content:fr-fr:blog:how-gitlab-can-support-your-iso-compliance-journey.yml","How Gitlab Can Support Your Iso Compliance Journey","fr-fr/blog/how-gitlab-can-support-your-iso-compliance-journey.yml","fr-fr/blog/how-gitlab-can-support-your-iso-compliance-journey",{"_path":1276,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1277,"content":1283,"config":1289,"_id":1291,"_type":13,"title":1292,"_source":15,"_file":1293,"_stem":1294,"_extension":18},"/fr-fr/blog/how-to-use-gitlabs-custom-compliance-frameworks-in-your-devsecops",{"ogTitle":1278,"schema":1279,"ogImage":1280,"ogDescription":1281,"ogSiteName":673,"noIndex":6,"ogType":674,"ogUrl":1282,"title":1278,"canonicalUrls":1282,"description":1281},"Intégrez la conformité à vos workflows DevSecOps avec GitLab","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Frameworks de conformité personnalisés de GitLab : intégrez la conformité à vos workflows DevSecOps\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Fernando Diaz\"}],\n        \"datePublished\": \"2025-04-30\",\n      }\n                  ","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097104/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%284%29_3LZkiDjHLjhqEkvOvBsVKp_1750097104092.png","Découvrez comment les frameworks de conformité personnalisés de GitLab transforment vos exigences réglementaires en composants intégrés et automatisés dans vos workflows.\n","https://about.gitlab.com/blog/how-to-use-gitlabs-custom-compliance-frameworks-in-your-devsecops",{"title":1278,"description":1284,"authors":1285,"heroImage":1280,"date":1286,"body":1287,"category":790,"tags":1288},"Découvrez comment les frameworks de conformité personnalisés de GitLab transforment vos exigences réglementaires en composants intégrés et automatisés dans vos workflows.",[1243],"2025-04-30","La conformité n'est plus une formalité, mais un vecteur stratégique : elle aide à maîtriser les risques opérationnels, renforce la confiance des clients et améliore la performance globale. Pourtant, trouver l'équilibre entre exigences de conformité et vélocité peut s'avérer particulièrement complexe pour les équipes de développement logiciel. Les [frameworks de conformité personnalisés](https://about.gitlab.com/blog/introducing-custom-compliance-frameworks-in-gitlab/) de GitLab apportent une réponse concrète à cette problématique en intégrant la vérification de la conformité directement dans vos workflows de développement. \n\nDécouvrez dans cet article tout ce que vous devez savoir sur les frameworks de conformité personnalisés de GitLab et comment les utiliser de façon optimale.\n\n## Qu’est-ce qu’un framework de conformité personnalisé ?\n\nLes frameworks de conformité personnalisés de GitLab vous permettent de définir, d'appliquer et de faire respecter vos propres normes de conformité directement dans votre instance GitLab. GitLab propose déjà des fonctionnalités de conformité « prêtes à l’emploi », mais chaque entreprise a ses propres obligations. Avec les frameworks personnalisés, vous pouvez donc définir vos propres stratégies de conformité en fonction de réglementations spécifiques, de vos politiques internes ou des normes de votre secteur.\n\nCes frameworks offrent les principaux avantages suivants : \n\n* Réduction significative du suivi manuel  \n* Accélération de la préparation aux audits  \n* Intégration native des contrôles de conformité\n\n![Capture d'écran du centre de conformité avec les frameworks répertoriés](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097114/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750097114254.png)\n\nGitLab propose à ce jour plus de 50 contrôles préconfigurés, modifiables, que vous pouvez activer selon vos besoins. Ils couvrent un large éventail de réglementations, comme la loi HIPAA dans le domaine de la santé, le RGPD pour la protection des données, la [norme SOC 2](https://about.gitlab.com/fr-fr/the-source/security/how-gitlab-can-help-you-prepare-for-your-soc-2-exam/ \"Norme SOC 2\") relative aux prestataires de services et bien d'autres réglementations propres à des secteurs d'activité spécifiques. En voici quelques exemples :\n\n* Séparation des tâches : au moins deux approbateurs requis, y compris l'auteur de la merge request  \n* Scanners de sécurité : scans [SAST](https://docs.gitlab.com/user/application_security/sast/) et [analyse des dépendances](https://docs.gitlab.com/user/application_security/dependency_scanning/) exécutés automatiquement  \n* Authentification/autorisation : visibilité du projet définie sur privé et authentification unique (SSO) activée  \n* Configuration de l'application : vérification obligatoire des statuts de conformité et utilisation de fichiers de configuration Terraform exigée\n\nEn outre, vous pouvez étendre les capacités de conformité de GitLab en configurant vos propres contrôles sur des environnements externes à l'aide de l'API GitLab.\n\n## Comment créer un framework de conformité personnalisé dans GitLab ?\n\nMaintenant que nous avons clarifié l’importance des frameworks de conformité personnalisés, voyons comment les mettre en œuvre dans votre environnement GitLab, en utilisant l'application de démonstration reprise dans la vidéo ci-dessous. \n\n**Remarque :** un abonnement [GitLab Ultimate](https://about.gitlab.com/fr-fr/pricing/ultimate/ \"Qu'est-ce que GitLab Ultimate ?\") est requis.\n\n\u003C!-- TODO: EMBED_YT_VIDEO -->\n\n\u003C!-- blank line -->\n\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/bSwwv5XeMdQ?si=unDwCltF4vTHT4mB\" title=\"Adhering to compliance requirements with built-in compliance controls\n\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n\u003C/figure>\n\u003C!-- blank line -->\n\n**Étape 1 : définissez vos exigences de conformité**\n\nAvant de créer votre framework de conformité personnalisé, vous devez définir clairement vos exigences en la matière :\n\n1. **Identifiez les réglementations applicables :** déterminez les obligations légales et normes qui s'appliquent à votre entreprise (par exemple, le RGPD, la norme PCI DSS ou la loi HIPAA). \n2. **Associez les exigences à des contrôles :** décomposez chaque exigence réglementaire identifiée en contrôles spécifiques et exploitables.  \n3. **Hiérarchisez les exigences :** concentrez vos efforts sur les domaines à haut risque et les exigences à fort impact.\n\n**Étape 2 : créez votre framework de conformité personnalisé dans GitLab**\n\nVoici comment procéder :\n\n1. Accédez à la section **Sécurisation > Centre de conformité** de votre groupe GitLab.  \n2. Cliquez sur le bouton **Nouveau framework**.  \n3. Sélectionnez **Créer un framework vide**.\n\n![Écran de création d'un framework de conformité personnalisé](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097114/Blog/Content%20Images/Blog/Content%20Images/image7_aHR0cHM6_1750097114255.png)\n\n4. Renseignez son nom, sa description et choisissez sa couleur.\n\n![Écran Nouveau framework de conformité](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097114/Blog/Content%20Images/Blog/Content%20Images/image6_aHR0cHM6_1750097114257.png)\n\n5. Ajoutez des exigences :\\\n   a. Accédez à l'onglet **Exigences**.\n\n   b. Cliquez sur le bouton **Nouvelle exigence**.\n\n   c. Fournissez un nom et une description.\\\n   d. Dans la section **Contrôles**, sélectionnez **Choisir un contrôle GitLab**.\\\n   e. Sélectionnez un contrôle dans la liste (par exemple, au moins deux approbations, l'exécution de scans SAST).\\\n   f. Cliquez ensuite sur le bouton **Créer une exigence**.\n\n![Bouton Créer une exigence](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097114/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750097114258.png)\n\n6. Cliquez sur le bouton **Créer un framework**.\n\nUne fois créé, ce framework pourra être appliqué à vos projets selon les paramètres définis. Par ailleurs, GitLab permet également d'importer des frameworks de conformité au format JSON, selon le schéma prévu.\n\n**Étape 3 : appliquez le framework à vos projets**\n\nUne fois votre framework de conformité créé, suivez les étapes ci-dessous pour l’appliquer à un ou plusieurs projets :\n\n1. Accédez au **Centre de conformité** de GitLab, puis sélectionnez l'onglet **Projets**.  \n2. Utilisez la barre de recherche pour **Rechercher** ou **Filtrer** les projets concernés.  \n3. Sélectionnez le ou les projets dans la liste.  \n4. Cliquez sur le bouton **Choisir une action groupée**.  \n5. Sélectionnez **Appliquer les frameworks aux projets sélectionnés**.  \n6. Cliquez sur le bouton **Sélectionner des frameworks**.  \n7. Sélectionnez le ou les frameworks de votre choix dans la liste.  \n8. Cliquez sur le bouton **Appliquer**.\n\n![Écran du Centre de conformité avec la liste déroulante affichant le framework SOC 2](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097114/Blog/Content%20Images/Blog/Content%20Images/image5_aHR0cHM6_1750097114260.png)\n\nUne fois cette opération effectuée, le framework sélectionné est associé aux projets choisis. Les exigences définies sont alors visibles et peuvent être vérifiées directement dans l'interface GitLab.\n\n**Étape 4 : surveillez et générez des rapports de conformité**\n\nUne fois votre framework de conformité en place, GitLab vous offre un suivi continu et centralisé dans le **Centre de conformité** :\n\n1. Suivez le statut de conformité de vos projets, y compris les détails sur les contrôles appliqués, ainsi que des correctifs suggérés pour les contrôles ayant échoué.\n2. Générez des **rapports de conformité** pour les audits et l'examen par les parties prenantes.  \n3. Configurez des **alertes de conformité** pour informer les parties prenantes des problèmes de conformité potentiels. \n4. Consultez les **événements d'audit** pour une vue d'ensemble des mesures prises concernant les paramètres de conformité.\n\n![Écran du Centre de conformité affichant le framework de test SOC 2](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097114/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750097114263.png)\n\n## Exemple : mise en œuvre d'un framework de conformité SOC 2\n\nLe SOC 2 (System and Organization Controls 2), développée par l'American Institute of Certified Public Accountants, est une norme d'audit rigoureuse qui évalue les contrôles mis en œuvre par les prestataires de services en matière de sécurité, de disponibilité, d'intégrité du traitement des données, de confidentialité et de protection des données personnelles. Pour en savoir plus, consultez le [guide sur le respect des exigences de sécurité SOC 2 avec GitLab](https://about.gitlab.com/blog/guide-to-fulfilling-soc-2-security-requirements-with-gitlab/).\n\nVoici un exemple concret d'implémentation d'un framework de conformité personnalisé GitLab dont l'objectif est de vérifier la conformité à la norme de sécurité SOC 2 à l’aide des contrôles GitLab préconfigurés suivants :\n\n* Contrôles contre les accès non autorisés  \n* Procédures d'identification et d'atténuation des risques  \n* Systèmes de détection et de gestion des incidents de sécurité\n\n**Avertissement :** il ne s'agit là que d'un exemple qui illustre certains des contrôles possibles pour vérifier l'adhésion à la norme SOC 2. Avant toute mise en production, validez votre configuration avec votre équipe sécurité ou conformité.\n\nCe framework se présentera comme suit :\n\n* **Nom :** Exigences de sécurité SOC 2  \n* **Description :** Ajout des exigences de sécurité pour la conformité au framework SOC 2  \n* **Exigences :**  \n\n  * **Contrôles contre les accès non autorisés**  \n\n    * Authentification SSO activée  \n    * Portée des tokens pour les jobs CI/CD activée \n    * Authentification multifacteur requise au niveau de l'entreprise\n* **Procédures d'identification et d'atténuation des risques**   \n\n  * Au moins deux approbations requises avant tout merge \n  * Merge request approuvée par l'auteur      \n  * Merge request approuvée par les validateurs \n  * Branche par défaut protégée    \n* **Systèmes de détection et de gestion des incidents de sécurité**  \n\n  * Analyse des dépendances activée  \n  * SAST activé \n  * DAST activé\n\nLorsqu'il est appliqué à vos projets, ce framework vous permet de surveiller toute erreur de conformité et d'identifier les corrections envisageables. Notez que vous pouvez associer plusieurs frameworks de conformité à vos projets, par exemple, pour couvrir les exigences d'intégrité des processus SOC 2.\n\n## Comment définir des stratégies de sécurité en accord avec les exigences de conformité ?\n\nBien que cet aspect ne soit pas obligatoire, il est fortement recommandé d'appliquer des stratégies de sécurité aux projets associés à un framework de conformité personnalisé. Cette approche garantit que les exigences de conformité critiques sont correctement appliquées de manière automatisée et cohérente dans les [pipelines CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline CI/CD ?\"). Par exemple, si votre framework de conformité personnalisé impose que des scans de sécurité soient exécutés sur chaque pipeline, une stratégie de sécurité peut en forcer l’exécution.\n\nGitLab fournit différentes stratégies de sécurité pour répondre aux différents objectifs de sécurité et de conformité :\n\n* [Stratégie d'exécution des scans](https://docs.gitlab.com/user/application_security/policies/scan_execution_policies/) : impose l'exécution de scans de sécurité dans les pipelines ou selon un calendrier précis.  \n* [Politique d'approbation des merge requests](https://docs.gitlab.com/user/application_security/policies/merge_request_approval_policies/) : définit des paramètres et règles d'approbation au niveau du projet en fonction des résultats des scans.  \n* [Stratégie d'exécution de pipeline](https://docs.gitlab.com/user/application_security/policies/pipeline_execution_policies/) : force l'exécution de jobs CI/CD spécifiques dans les pipelines. \n* [Stratégie de gestion des vulnérabilités](https://docs.gitlab.com/user/application_security/policies/vulnerability_management_policy/) : corrige automatiquement les vulnérabilités afin qu’elles soient supprimées de la branche par défaut.\n\nSi votre framework de conformité personnalisé exige l'exécution de scans SAST, voici comment créer une stratégie de sécurité pour en garantir l’exécution automatique :\n\n1. Accédez à un projet qui dispose d'un framework de conformité personnalisé incluant les **scans SAST**. \n2. Dans la barre latérale du projet, sélectionnez **Sécurisation > Politiques**.\n3. Cliquez sur le bouton **Nouvelle stratégie**.  \n4. Dans la section **Stratégie d'exécution des scans**, cliquez sur le bouton **Sélectionner une stratégie**. \n5. Renseignez le **Nom** et la **Description**. \n6. Dans la section **Actions**, sélectionnez **SAST** comme type de scan à exécuter.\n\n![Écran des actions](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097114/Blog/Content%20Images/Blog/Content%20Images/image8_aHR0cHM6_1750097114264.png)\n\n7. Dans la section **Conditions**, sélectionnez tous les pipelines, quelle que soit la branche.\n\n![Écran des conditions](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097114/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097114265.png)\n\n8. Cliquez sur le bouton **Configurer avec une merge request**.  \n9. Une merge request est alors créée dans un projet distinct dédié aux stratégies de sécurité appliquées à ce projet.\n10. Cliquez sur le bouton **Fusionner**.\n\nDésormais, les scans SAST s'exécuteront automatiquement sur toutes les branches du projet afin de garantir le respect continu des exigences de conformité. Nous vous conseillons de parcourir les autres types de stratégies de sécurité pour identifier celles qui répondent le mieux à vos besoins.\n\n## 5 bonnes pratiques pour des frameworks de conformité efficaces\n\nPour tirer pleinement parti des frameworks de conformité personnalisés de GitLab, nous vous conseillons de suivre les principes suivants :\n\n1. **Avancez pas à pas :** commencez par une seule réglementation ou norme critique avant d'aller plus loin.  \n2. **Impliquez les principales parties prenantes :** incluez les équipes de conformité, de sécurité et de développement dans la création du framework.  \n3. **Automatisez dans la mesure du possible :** utilisez GitLab CI/CD pour automatiser les contrôles de conformité.  \n4. **Documentez minutieusement votre approche :** conservez une documentation claire du lien entre chaque exigence réglementaire et les contrôles GitLab mis en place.  \n5. **Révisez régulièrement vos frameworks :** mettez à jour vos frameworks à mesure que les réglementations évoluent ou que de nouvelles exigences sont nécessaires.\n\n## Lancez-vous dès aujourd'hui\n\nLes frameworks de conformité personnalisés de GitLab marquent une avancée majeure pour intégrer la conformité directement dans le workflow de développement DevSecOps. En les adoptant, vous réduisez les frais liés à la conformité, améliorez votre gestion des risques et accélérez vos cycles de développement logiciel, tout en garantissant la meilleure conformité possible aux exigences réglementaires.\n\nGrâce à cette approche, vos équipes bénéficient à la fois de la flexibilité dont elles ont besoin pour répondre aux exigences réglementaires et de la structure indispensable pour garantir des pratiques de conformité cohérentes dans l'ensemble de l'entreprise.\n\nDans un contexte réglementaire de plus en plus exigeant, des outils comme les frameworks de conformité personnalisés de GitLab sont essentiels pour traiter la conformité comme un processus continu, sans compromettre la vélocité de développement.\n\n> Lancez-vous dès aujourd'hui avec un [essai gratuit de GitLab Ultimate](https://about.gitlab.com/fr-fr/free-trial/).\n\nPour en savoir plus, consultez nos ressources connexes :\n\n* [Documentation sur les frameworks de conformité personnalisés](https://docs.gitlab.com/user/compliance/compliance_center/compliance_status_report/)\n* [Epic sur les frameworks de conformité personnalisés](https://gitlab.com/groups/gitlab-org/-/epics/13295)\n* [Documentation sur les stratégies de sécurité](https://docs.gitlab.com/user/application_security/policies/)\n* [Solutions de sécurité et de conformité de GitLab](https://about.gitlab.com/fr-fr/solutions/security-compliance/)",[790,689,685,9,687],{"slug":1290,"featured":90,"template":691},"how-to-use-gitlabs-custom-compliance-frameworks-in-your-devsecops","content:fr-fr:blog:how-to-use-gitlabs-custom-compliance-frameworks-in-your-devsecops.yml","How To Use Gitlabs Custom Compliance Frameworks In Your Devsecops","fr-fr/blog/how-to-use-gitlabs-custom-compliance-frameworks-in-your-devsecops.yml","fr-fr/blog/how-to-use-gitlabs-custom-compliance-frameworks-in-your-devsecops",{"_path":1296,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1297,"content":1301,"config":1309,"_id":1311,"_type":13,"title":1312,"_source":15,"_file":1313,"_stem":1314,"_extension":18},"/fr-fr/blog/introducing-custom-compliance-frameworks-in-gitlab",{"config":1298,"title":1299,"description":1300},{"noIndex":6},"Les frameworks de conformité personnalisés de GitLab","Réduisez le suivi manuel, accélérez la préparation aux audits et appliquez les contrôles plus rapidement, directement depuis les workflows DevSecOps de GitLab.",{"heroImage":1302,"body":1303,"authors":1304,"updatedDate":1306,"date":1306,"title":1307,"tags":1308,"description":1300,"category":790},"https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1750099268/Blog/Hero%20Images/Blog/Hero%20Images/GitLab_Blog_Header_v4_YBzFAgt2EAkqQfqxNFEgj_1750099267940.svg","Maintenir plusieurs frameworks de conformité dans des pipelines DevSecOps en constante évolution n’a jamais été aussi difficile. À mesure que les normes évoluent et deviennent plus complexes, les entreprises croulent sous des exigences qui se chevauchent et des processus manuels, impactant ainsi le temps des développeurs et ralentissant les audits.\n\nPour résoudre ce problème, GitLab lance les frameworks de conformité personnalisés et 50 contrôles préconfigurés pour une large gamme de normes de conformité, notamment [ISO 27001](https://about.gitlab.com/fr-fr/blog/how-gitlab-can-support-your-iso-compliance-journey/ \"ISO 27001\"), le [benchmark CIS](https://about.gitlab.com/blog/new-cis-gitlab-benchmark-scanner-boosts-security-and-compliance/) et [SOC 2](https://about.gitlab.com/fr-fr/the-source/security/how-gitlab-can-help-you-prepare-for-your-soc-2-exam/ \"SOC 2\").\n\nLes frameworks de conformité personnalisés permettent aux entreprises de mapper plusieurs contrôles qui se chevauchent, issus de différentes normes et réglementations, en un framework unique et unifié. Cette flexibilité apporte une efficacité indispensable, permettant aux entreprises d'adapter leurs programmes de conformité en fonction de leurs besoins. Comme ces politiques sont intégrées directement dans les [pipelines CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline CI/CD ?\") de GitLab, la conformité est appliquée automatiquement, sans perturber le développement.\n\nDe plus, avec les contrôles préconfigurés, les équipes peuvent accélérer l'adoption de la conformité, éliminant le besoin d'outils externes ou de configurations personnalisées complexes. En intégrant la conformité directement dans le cycle de développement logiciel, GitLab offre une visibilité en temps réel, une application automatisée et une préparation aux audits simplifiée pour que les équipes puissent livrer des logiciels sécurisés et conformes, plus rapidement.\n\nLes frameworks de conformité personnalisés et les contrôles préconfigurés sont disponibles dès maintenant dans [GitLab Ultimate](https://about.gitlab.com/fr-fr/pricing/ultimate/ \"GitLab Ultimate\").\n\n## Une pression croissante en matière de conformité\n\nLes entreprises doivent naviguer entre différents frameworks de conformité pour garantir le respect de nombreuses réglementations et fournir une assurance à leurs clients. Bien que ces frameworks partagent souvent des contrôles communs, ces derniers sont rarement alignés. Le résultat est une réalité que les équipes de conformité ne connaissent que trop bien : un suivi manuel via des feuilles de calcul qui génère le chaos, en particulier lors des examens d'audit.\n\nLes équipes de développement sont entraînées dans le tourbillon de la conformité car le développement de logiciels modernes est au cœur de la satisfaction de bon nombre de ces contrôles. Au lieu de créer et de livrer des logiciels sécurisés, ils se retrouvent à soutenir la collecte de preuves et les revues de conformité. Une étude « Total Economic Impact™ » sur GitLab Ultimate et menée par Forrester a révélé qu'avant GitLab, [les équipes de développement consacraient jusqu'à 80 heures par an de leur temps sur des tâches d'audit et de conformité](https://tei.forrester.com/go/GitLab/GitLabUltimate/?lang=en-us#Appendixes), du temps détourné de l'écriture de code et de la création de valeur commerciale.\n\nEn plus d'être inefficace, cette approche fragmentée est également coûteuse. Les [coûts liés à la conformité ont augmenté de 60 % au cours des cinq dernières années](https://www.cato.org/sites/cato.org/files/2024-01/research-brief367.pdf), selon le CATO Institute. Sans un système qui connecte l'application de la conformité à l'endroit où les logiciels sont créés, la conformité restera une réflexion après coup contraignante qui creuse un fossé entre les équipes de développement et de sécurité. \n\n## Pourquoi les frameworks de conformité personnalisés sont-ils importants ?\n\nNos clients nous ont demandé une plus grande flexibilité en matière de suivi et d’application de la conformité dans les workflows DevSecOps. Avec cette version, nous sommes heureux de donner à nos clients les moyens suivants :\n\n### Une conformité qui s'adapte à l'entreprise, et non l'inverse\n\nLes exigences réglementaires se chevauchent entre plusieurs frameworks, ce qui entraîne une complexité dans le suivi et l'application. Les frameworks de conformité personnalisés permettent aux entreprises de créer un framework unifié qui associe les exigences et les contrôles de plusieurs normes, réduisant l'effort manuel et la dépendance à des consultants souvent coûteux.\n\n### Une conformité plus rapide, de la configuration jusqu'aux audits\n\nCommencez à surveiller la conformité instantanément avec des contrôles préconfigurés alignés sur les normes de conformité clés, telles que SOC 2, ISO 27001 et les benchmarks CIS. La surveillance automatisée de la conformité et la collecte de preuves réduisent la préparation des audits de plusieurs semaines à quelques jours, permettant aux équipes de développement de rester concentrées sur la livraison de logiciels sécurisés.\n\n### Une conformité intégrée à la vitesse du développement\n\nContrairement aux outils GRC traditionnels qui fonctionnent de manière isolée, GitLab applique la conformité directement dans les pipelines CI/CD. Cette intégration signifie que la validation de la conformité se produit automatiquement lorsque le code progresse dans le pipeline, éliminant la friction traditionnelle entre la rapidité de développement et les exigences de sécurité.\n\nVoici un exemple de création d’un framework de conformité personnalisé dans GitLab :\n\n![custom compliance frameworks - edit requirement screen](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099291/Blog/Content%20Images/Blog/Content%20Images/image6_aHR0cHM6_1750099291312.png)\n\n![custom compliance frameworks - screen showing requirements](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099291/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750099291312.png)\n\n## Ce qu'il faut savoir sur le déploiement des frameworks de conformité personnalisés\n\nCette version comporte deux aspects critiques : \n\n* À partir de GitLab 18.0, les frameworks de conformité personnalisés seront activés par défaut. \n* Depuis GitLab 18.0, nous avons activé les frameworks de conformité personnalisés par défaut. Nous avons également supprimé les « Normes » du Centre de conformité pour simplifier l'expérience. Mais ne vous inquiétez pas, vos contrôles de conformité existants s'appliquent toujours. Nous avons converti les normes GitLab Standard et SOC 2 en labels de framework de conformité et transformé leurs vérifications de conformité en contrôles (notre nouveau terme à l'avenir). \n* Seuls les clients GitLab Ultimate peuvent définir des exigences, mapper des contrôles et appliquer des frameworks de conformité. Les utilisateurs de GitLab Premium peuvent toujours utiliser des labels de conformité, mais ils n'auront pas accès à l'ensemble des fonctionnalités. \n\nPour en savoir plus sur les frameworks de conformité personnalisés, découvrez cette vidéo d'introduction :\n\n\u003C!-- blank line -->\n\n\u003Cfigure class=\"video_container\">\n      \u003Ciframe src=\"https://www.youtube.com/embed/yfJ0oHCIn-8?si=z_Rt_ikry4RhjEAC\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n    \u003C/figure>\n\n\u003C!-- blank line -->\n\n## Déplacez la conformité en amont avec GitLab\n\nSimilaire à la sécurité, déplacer la conformité en amont signifie aborder les exigences de conformité plus tôt dans le cycle de vie du développement logiciel. Étant donné que les logiciels sont essentiels à la conformité d'une entreprise, l'intégration de contrôles là où les logiciels sont créés est cruciale. Avec GitLab, les équipes de sécurité et de conformité peuvent définir des frameworks, mapper des contrôles et automatiser l'application directement dans les pipelines CI/CD. Les équipes de développement restent concentrées sur la livraison de fonctionnalités, tandis que les équipes de conformité bénéficient d'une visibilité en temps réel et d'une collecte automatisée de preuves pour être prêtes pour l'audit. Cette approche unifiée comble le fossé entre le développement et la conformité, aidant les entreprises à atteindre une conformité continue dans le cadre de leur pratique DevSecOps.\n\nEn conséquence, les entreprises utilisant GitLab peuvent réduire de 90 % le temps passé par les équipes de développement sur les tâches d'audit et de conformité, et accélérer les audits externes de plusieurs semaines à moins d'une semaine, selon Forrester.\n\nSi vous êtes déjà un client GitLab Ultimate et que vous souhaitez en savoir plus sur la façon dont les frameworks de conformité personnalisés peuvent contribuer à améliorer votre programme de conformité et de sécurité, consultez notre documentation du [Centre de conformité](https://docs.gitlab.com/user/compliance/compliance_center/) où nous couvrons les exigences de mise en œuvre, les cas d'utilisation et plus encore.\n\nNote : « Total Economic Impact™ » sur GitLab Ultimate est une étude réalisée par Forrester Consulting en 2024 pour le compte de GitLab. Les résultats sont basés sur une organisation composite représentative des clients interrogés.",[1305,795],"Ian Khor","2025-07-31","Présentation des frameworks de conformité personnalisés dans GitLab",[790,687,9],{"featured":6,"template":691,"slug":1310},"introducing-custom-compliance-frameworks-in-gitlab","content:fr-fr:blog:introducing-custom-compliance-frameworks-in-gitlab.yml","Introducing Custom Compliance Frameworks In Gitlab","fr-fr/blog/introducing-custom-compliance-frameworks-in-gitlab.yml","fr-fr/blog/introducing-custom-compliance-frameworks-in-gitlab",{"_path":1316,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1317,"content":1323,"config":1330,"_id":1332,"_type":13,"title":1333,"_source":15,"_file":1334,"_stem":1335,"_extension":18},"/fr-fr/blog/introducing-gitlabs-new-planner-role-for-agile-planning-teams",{"ogTitle":1318,"schema":1319,"ogImage":1320,"ogDescription":1321,"ogSiteName":673,"noIndex":6,"ogType":674,"ogUrl":1322,"title":1318,"canonicalUrls":1322,"description":1321},"Comment le rôle de planificateur aide les équipes Agile","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"GitLab inclut désormais un rôle de planificateur pour aider les équipes de planification Agile\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Amanda Rueda\"}],\n        \"datePublished\": \"2024-11-25\",\n      }","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662488/Blog/Hero%20Images/blog-image-template-1800x945__3_.png","Découvrez comment le nouveau rôle de planificateur dans GitLab aide les équipes Agile à gérer les workflows de planification.","https://about.gitlab.com/blog/introducing-gitlabs-new-planner-role-for-agile-planning-teams",{"heroImage":1320,"body":1324,"authors":1325,"updatedDate":1326,"date":1327,"title":1328,"tags":1329,"description":1321,"category":776},"GitLab a créé un nouveau rôle au sein de sa plateforme [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que DevSecOps ?\") : le planificateur. Cette nouveauté s'aligne avec la stratégie de GitLab, qui consiste à fournir des contrôles d'accès flexibles et basés sur les rôles, comme en témoignent les [rôles personnalisés](https://docs.gitlab.com/ee/user/custom_roles.html). Le rôle de planificateur permet aux équipes de développement logiciel et aux utilisateurs spécialisés dans la planification d'accéder aux outils dont ils ont besoin pour gérer leurs workflows Agile, tout en limitant les autorisations trop étendues susceptibles d'introduire des risques inutiles. En adaptant l'accès aux besoins spécifiques des utilisateurs, le rôle de planificateur garantit la productivité des équipes, tout en maintenant la sécurité et la conformité, conformément au [principe de moindre privilège](https://about.gitlab.com/blog/the-ultimate-guide-to-least-privilege-access-with-gitlab/).\n\n## Pourquoi avons-nous créé le rôle de planificateur ?\n\nL'idée nous est venue des retours de nos clients et de nos équipes internes. Il est souvent mentionné que, malgré ses outils complets pour la planification et la gestion des [cycles de développement Agile](https://about.gitlab.com/fr-fr/solutions/agile-delivery/ \"Livraison agile\"), GitLab pouvait manquer de contrôles d'accès plus spécifiques basés sur les rôles. Les chefs de produit, les responsables de projet et les autres utilisateurs impliqués dans la planification ont souvent besoin d'accéder aux fonctionnalités de planification, sans nécessiter des autorisations de développement complètes. Au contraire, il n'est pas souhaitable d'étendre cet accès, car il entraîne une augmentation des risques de sécurité et d'erreurs, telles que des modifications involontaires du code ou des configurations contenant des données sensibles. \n\nNous avons donc mené des entretiens avec des utilisateurs, des analyses concurrentielles et des recherches approfondies, et validé l'intérêt d'un rôle qui accorde un accès complet aux outils de planification, tout en limitant l'accès aux fonctionnalités de développement pour garantir la sécurité.\n\n## Que propose le rôle de planificateur ?\n\nLe rôle de planificateur est un rôle hybride à mi-chemin entre [l'invité et le rapporteur](https://docs.gitlab.com/ee/user/permissions.html#roles). Il est toutefois conçu spécifiquement pour les membres d'équipe qui ont besoin d'accéder aux workflows de planification. \n\nVoici ses particularités :\n\n* L'accès aux principaux outils de planification tels que les epics, les roadmaps, les tableaux des tickets et les [OKR](https://docs.gitlab.com/ee/user/okrs.html) (*certaines fonctionnalités peuvent nécessiter une licence GitLab Premium ou Ultimate*)\n* Une sécurité renforcée qui limite l'accès non requis aux fonctionnalités de développement sensibles\n* Une compatibilité avec le module d'extension GitLab Enterprise Agile Planning, permettant aux équipes de bénéficier d'un accès personnalisé aux outils de planification sans compromettre la sécurité et le contrôle. (*Ce rôle est néanmoins disponible avec toutes les licences*)\n\nLe rôle de planificateur est disponible avec toutes les solutions GitLab, y compris l'édition SaaS de GitLab, GitLab Dedicated et GitLab Auto-géré. Tous les clients bénéficient ainsi de cet accès personnalisé.\n\nCe rôle donne aux équipes la possibilité d'aligner les autorisations sur les fonctions du poste afin d'équilibrer accessibilité et sécurité.\n\n## Comment le rôle de planificateur facilite-t-il les pratiques Agile ?\n\nDans le [développement logiciel Agile](https://about.gitlab.com/fr-fr/blog/gitlab-for-agile-software-development/), il est essentiel de s'assurer que chaque membre de l'équipe dispose des outils et des autorisations adéquates pour optimiser l'efficacité du workflow. Le rôle de planificateur facilite cette approche : il permet la pleine participation aux étapes de planification du cycle de développement logiciel des membres de l'équipe qui en sont responsables, sans affecter des domaines tels que le développement ou le déploiement.\n\nDe la création et de la gestion des epics à la définition des roadmaps, il fournit aux équipes agiles les outils nécessaires pour maintenir leur alignement et leur productivité.\n\n## Une approche centrée sur les clients\n\nCe rôle n'a pas été créé en vase clos. Nous avons impliqué notre communauté à chaque étape du processus. Grâce à des enquêtes, des entretiens et des tests, nous avons ajusté les autorisations pour qu'elles répondent aux besoins réels des chefs de produit et des responsables de projet.\n\nLe rôle de planificateur s'inscrit également dans la mission de longue date de GitLab, qui vise à être une plateforme de référence pour les équipes agiles, en offrant aux entreprises la flexibilité et le contrôle nécessaires pour mettre en œuvre des [méthodologies agiles](https://about.gitlab.com/fr-fr/topics/agile-delivery/agile-methodology/ \"Qu'est-ce que la méthodologie Agile ?\") à grande échelle.\n\n## Les retours et l'engagement de la communauté\n\nNous apprécions votre contribution et vous encourageons à nous donner votre avis sur le nouveau rôle de planificateur. Vos retours sont essentiels pour nous aider à affiner et à améliorer votre expérience sur la plateforme DevSecOps de GitLab. N'hésitez pas à consulter notre [ticket dédié aux retours d'expérience](https://gitlab.com/gitlab-org/gitlab/-/issues/503817) pour nous faire part de vos réflexions et suggestions.\n\n## Commencez à planifier avec GitLab dès aujourd'hui !\n\nLe rôle de planificateur n'est qu'une des nombreuses façons dont GitLab permet aux équipes de développement logiciel de planifier, de collaborer et de livrer des logiciels efficacement. Que vous cherchiez à optimiser vos workflows de gestion de produits, à renforcer la collaboration au sein de votre équipe ou à uniformiser vos pratiques Agile, GitLab vous fournit les outils nécessaires pour votre réussite.\n\n> Vous souhaitez découvrir toute la puissance de GitLab ? [Essayez GitLab Ultimate gratuitement](https://about.gitlab.com/fr-fr/free-trial/) et planifiez vos futurs projets avec notre nouveau rôle de planificateur.",[769],"2024-12-03","2024-11-25","GitLab inclut désormais un rôle de planificateur pour aider les équipes de planification Agile",[774,685,9,687],{"slug":1331,"featured":90,"template":691},"introducing-gitlabs-new-planner-role-for-agile-planning-teams","content:fr-fr:blog:introducing-gitlabs-new-planner-role-for-agile-planning-teams.yml","Introducing Gitlabs New Planner Role For Agile Planning Teams","fr-fr/blog/introducing-gitlabs-new-planner-role-for-agile-planning-teams.yml","fr-fr/blog/introducing-gitlabs-new-planner-role-for-agile-planning-teams",{"_path":1337,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1338,"content":1342,"config":1349,"_id":1351,"_type":13,"title":1352,"_source":15,"_file":1353,"_stem":1354,"_extension":18},"/fr-fr/blog/migrating-by-direct-transfer-is-generally-available",{"config":1339,"title":1340,"description":1341},{"noIndex":6},"La migration par transfert direct est désormais disponible","Découvrez comment migrer efficacement vos groupes et projets GitLab entre instances GitLab grâce à la migration par transfert direct, performante et sécurisée.",{"title":1340,"description":1341,"authors":1343,"heroImage":1345,"date":1346,"body":1347,"category":687,"tags":1348},[1344],"Magdalena Frankiewicz","https://res.cloudinary.com/about-gitlab-com/image/upload/v1753898687/nlxenzmbdk62dlylt3ey.png","2025-08-04","La migration des groupes et projets GitLab par transfert direct est désormais disponible dans la version GitLab 18.3. Il s'agit d'une méthode simple et automatisée pour migrer des ressources GitLab entre instances GitLab vers un public encore plus large.\n\nLe [transfert direct](https://docs.gitlab.com/user/group/import/) vous permet de créer facilement une copie des ressources GitLab de votre choix sur la même instance ou sur une autre instance GitLab. Vous pouvez utiliser l'interface utilisateur (intuitive et simple d'utilisation), ou [l'API](https://docs.gitlab.com/ee/api/bulk_imports.html) qui offre une flexibilité supplémentaire pour choisir les ressources à copier.\n\nLa migration par transfert direct représente une amélioration majeure par rapport à la [migration de groupes et de projets via l'exportation de fichiers](https://docs.gitlab.com/ee/user/project/settings/import_export.html#migrate-projects-by-uploading-an-export-file) pour les raisons suivantes :\n\n* Vous n'avez plus besoin d'exporter manuellement chaque groupe et projet individuel vers un fichier, puis d'importer tous ces fichiers vers un nouvel emplacement. Désormais, il vous suffit de migrer directement tout groupe de niveau supérieur dont vous avez le rôle de propriétaire avec tous ses sous-groupes et projets.\n* La migration par transfert direct permet le [mappage des contributions utilisateur après l'importation](https://about.gitlab.com/blog/streamline-migrations-with-user-contribution-and-membership-mapping/) (comme la paternité des tickets ou des commentaires), pour plus de flexibilité et de contrôle.\n* Elle fonctionne de manière fiable avec des projets volumineux. Grâce au traitement par lots des ressources et à l'exécution simultanée des processus d'importation et d'exportation, les risques d'interruption ou de délai d'attente dépassé sont considérablement réduits.\n* Elle offre une meilleure visibilité sur la migration pendant son exécution ainsi qu'après sa finalisation. Dans l'interface utilisateur, vous pouvez observer l'augmentation du nombre de fichiers à mesure que de nouveaux éléments sont importés. Ensuite, vous pouvez [vérifier les résultats de l'importation](https://docs.gitlab.com/user/group/import/direct_transfer_migrations/#review-results-of-the-import). Les éléments importés sont indiqués par le badge `Imported` dans l'interface utilisateur GitLab.\n\nNous avons parcouru un long chemin depuis GitLab 14.3, lorsque nous avons commencé à prendre en charge la migration directe des ressources de groupe. Dans GitLab 15.8, nous avons [étendu cette fonctionnalité aux projets en version bêta](https://about.gitlab.com/blog/2023/01/18/try-out-new-way-to-migrate-projects/). Depuis, nous avons travaillé à améliorer l'efficacité et la fiabilité de l'importation, en particulier pour les projets volumineux. Nous avons également minutieusement testé la sécurité et la stabilité des instances de cette nouvelle fonctionnalité.\n\nVoici deux exemples d'importations réussies qui illustrent la taille des groupes et des projets que nous avons testés, ainsi que leur durée d'importation :\n\n* 100 projets (19 900 tickets, 83 000 merge requests, plus de 100 000 pipelines) migrés en 8 heures\n* 1 926 projets (22 000 tickets, 160 000 merge requests, 1,1 million de pipelines) migrés en 34 heures\n\nSur GitLab.com, la migration par transfert direct est activée par défaut, tandis que sur GitLab Self-Managed et sur GitLab Dedicated, un administrateur doit [activer la fonctionnalité dans les paramètres de l'application](https://docs.gitlab.com/ee/administration/settings/import_and_export_settings.html#enable-migration-of-groups-and-projects-by-direct-transfer).\n\n## Quand utiliser la migration par transfert direct et comment obtenir les meilleurs résultats ?\n\nLa migration par transfert direct nécessite une connexion réseau entre les instances ou GitLab.com. Par conséquent, les clients qui utilisent des réseaux air-gapped sans connectivité entre leurs instances GitLab doivent toujours utiliser l'exportation de fichiers pour copier leurs données GitLab. Ils pourront utiliser la migration de groupes et de projets par transfert direct lorsque cette solution [prendra en charge les instances hors ligne](https://gitlab.com/groups/gitlab-org/-/epics/8985).\n\nAvant toute migration, consultez notre [documentation](https://docs.gitlab.com/user/group/import/), y compris les [prérequis](https://docs.gitlab.com/user/group/import/direct_transfer_migrations/#prerequisites), les [éléments de groupe](https://docs.gitlab.com/ee/user/group/import/#migrated-group-items) et les [éléments de projet](https://docs.gitlab.com/ee/user/group/import/#migrated-project-items) qui sont migrés. Certains éléments sont exclus de la migration ou ne sont pas encore pris en charge.\n\n### Migrez entre les versions les plus récentes possibles\n\nNous recommandons de migrer entre des versions aussi récentes que possible. Mettez à jour les instances source et destination pour profiter de toutes les améliorations et corrections de bogues que nous avons ajoutées au fil du temps.\n\n### Préparez-vous au mappage des contributions utilisateur après la migration\n\nFamiliarisez-vous avec le [processus de mappage des contributions et des appartenances utilisateur](https://docs.gitlab.com/user/project/import/#user-contribution-and-membership-mapping) afin de connaître les prochaines étapes à suivre une fois la migration terminée.\n\n### Examinez les options pour réduire la durée de migration\n\nSelon l'endroit où vous migrez (GitLab.com, une instance Self-Managed ou Dedicated) vous pouvez appliquer [diverses stratégies pour réduire la durée de migration](https://docs.gitlab.com/ee/user/group/import/#reducing-migration-duration).\n\n## Comment puis-je examiner les résultats ?\n\nVous pouvez consulter tous les groupes et projets que vous avez migrés par transfert direct sur la [page d'historique d'importation de groupe](https://docs.gitlab.com/user/group/import/direct_transfer_migrations/#group-import-history). Pour chaque groupe et projet, vous avez la possibilité d'afficher les statistiques des éléments importés et d'examiner plus en détails les éléments qui n'ont pas été importés. Vous pouvez également utiliser les [points de terminaison API](https://docs.gitlab.com/ee/api/bulk_imports.html#list-all-group-or-project-migrations-entities) pour faire de même.\n\nDans les cas où la plupart de vos projets se sont terminés avec succès, mais que certaines relations manquent encore dans un ou deux projets, comme des merge requests ou des tickets, nous vous recommandons d'essayer de réimporter ces projets [avec l'API](https://docs.gitlab.com/ee/api/bulk_imports.html#start-a-new-group-or-project-migration).\n\n![](https://res.cloudinary.com/about-gitlab-com/image/upload/v1753961409/ja8agmwarwxxlo9vmqbo.gif)\n\n## Quelle est la prochaine étape pour la migration par transfert direct ?\n\nNous sommes ravis de proposer la migration par transfert direct et espérons que cette amélioration vous plaira ! Nous souhaitons connaître votre avis. Quelle est la fonctionnalité qui, selon vous, manque encore ? Que pouvons-nous améliorer ? Faites-le nous savoir dans [ce ticket](https://gitlab.com/gitlab-org/gitlab/-/issues/284495) et nous continuerons à itérer !",[913,687,9],{"featured":90,"template":691,"slug":1350},"migrating-by-direct-transfer-is-generally-available","content:fr-fr:blog:migrating-by-direct-transfer-is-generally-available.yml","Migrating By Direct Transfer Is Generally Available","fr-fr/blog/migrating-by-direct-transfer-is-generally-available.yml","fr-fr/blog/migrating-by-direct-transfer-is-generally-available",{"_path":1356,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1357,"content":1363,"config":1370,"_id":1372,"_type":13,"title":1373,"_source":15,"_file":1374,"_stem":1375,"_extension":18},"/fr-fr/blog/monitor-application-performance-with-distributed-tracing",{"title":1358,"description":1359,"ogTitle":1358,"ogDescription":1359,"noIndex":6,"ogImage":1360,"ogUrl":1361,"ogSiteName":673,"ogType":674,"canonicalUrls":1361,"schema":1362},"Surveillez les performances de vos applications avec le traçage distribué","Découvrez comment le traçage distribué résout les problèmes de performance des applications en offrant une visibilité de bout en bout et en favorisant une collaboration fluide.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098000/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%288%29_5x6kH5vwjz8cwKgSBh1w11_1750098000511.png","https://about.gitlab.com/blog/monitor-application-performance-with-distributed-tracing","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Surveillez les performances de vos applications avec le traçage distribué\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Sacha Guyon\"}],\n        \"datePublished\": \"2024-06-13\",\n      }",{"title":1358,"description":1359,"authors":1364,"heroImage":1360,"date":1366,"body":1367,"category":687,"tags":1368,"updatedDate":1369},[1365],"Sacha Guyon","2024-06-13","Les temps d'arrêt, qu'ils soient causés par des dysfonctionnements ou des problèmes de performance des applications, peuvent avoir des conséquences financières désastreuses pour les entreprises. En effet, l'enquête « Global Server Hardware and Server OS Reliability » publiée en 2022 par [Information Technology Intelligence Consulting](https://itic-corp.com/server-and-application-by-the-numbers-understanding-the-nines/), révèle qu’un temps d'arrêt d’une heure coûterait aux entreprises 301 000 dollars ou plus. Bien souvent, ces problèmes proviennent d'erreurs humaines qui se produisent lors de modifications liées au code ou à la configuration logicielle.\n\nLa résolution de ces incidents exige une collaboration étroite entre les équipes chargées du développement et des opérations. Ces dernières doivent analyser les différents composants du système pour identifier la cause profonde du changement rencontré et rétablir rapidement le système pour qu’il fonctionne à nouveau normalement.\n\nCependant, il n'est pas rare que ces équipes utilisent des outils différents pour concevoir, gérer et surveiller leurs services applicatifs et leur infrastructure. Cela n'est pas sans conséquences, car cette approche entraîne un cloisonnement des données, des changements de contexte inefficaces et une mauvaise communication entre les équipes. Tout ceci allonge ainsi le temps nécessaire à la détection et à la résolution des incidents.\n\nDécouvrez dans cet article tout ce que vous devez savoir sur le traçage distribué, sans oublier notre fonctionnalité de « [Distributed Tracing](https://docs.gitlab.com/ee/development/tracing.html) » (disponible en version bêta), une nouvelle étape vers une offre complète d’[observabilité](https://about.gitlab.com/fr-fr/blog/observability-vs-monitoring-in-devops/ \"DevOps : de la surveillance à l'observabilité\"), intégrée de manière transparente à la plateforme [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que DevSecOps ?\") de GitLab.\n\n## Une nouvelle ère avec GitLab Observability\n\nGitLab Observability permet aux équipes chargées du développement et des opérations de visualiser et d'analyser les erreurs, les traces, les journaux, ainsi que les indicateurs de performance de leurs applications et de leur infrastructure.\n\nEn intégrant la surveillance des performances des applications directement dans les workflows de livraison de logiciels, nous réduisons les interruptions liées aux changements de contexte, augmentant ainsi la productivité des équipes qui peuvent alors collaborer efficacement au sein d'une plateforme unifiée.\n\nDe plus, GitLab Observability comble le fossé entre le développement et les opérations en fournissant des informations précieuses sur les performances des applications en phase de production. Cela favorise la transparence, le partage d'informations et une meilleure communication entre les équipes. Elles peuvent alors détecter et résoudre plus rapidement et efficacement les bogues et problèmes de performance liés aux changements de code ou de configuration. Ainsi, cela évite que ces problèmes ne se transforment en incidents majeurs susceptibles de nuire aux activités de l'entreprise.\n\n## Qu'est-ce que le traçage distribué ?\n\nAvec le traçage distribué, les ingénieurs peuvent identifier l'origine des problèmes liés à la performance des applications. Une trace correspond à une requête d’un utilisateur unique qui chemine à travers différents services et systèmes. Cela permet aux ingénieurs d'analyser la chronologie de chaque opération et de détecter les erreurs éventuelles au fur et à mesure qu’elles se produisent.\n\nChaque trace est composée d'un ou de plusieurs spans (qui sont des opérations individuelles ou des unités de travail spécifiques). Ces spans contiennent un large éventail de métadonnées telles que le nom, les horodatages, le statut, ainsi que des tags ou des journaux pertinents. En examinant les relations entre les spans, les équipes de développement peuvent comprendre le parcours des requêtes, identifier les goulots d'étranglement en termes de performance, et localiser précisément les problèmes.\n\n### Le traçage distribué dans les microservices\n\nLe traçage distribué est particulièrement utile pour l'[architecture de microservices](https://about.gitlab.com/fr-fr/blog/what-are-the-benefits-of-a-microservices-architecture/ \"Architecture de microservices\"). Dans ce type d'architecture, une seule requête peut impliquer de nombreux appels de services à travers un système complexe. Grâce au traçage distribué, les équipes obtiennent un maximum de visibilité sur cette interaction et peuvent rapidement diagnostiquer et résoudre les problèmes.\n\n![Exemple de traçage distribué (distributed tracing)](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098009/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750098009139.png)\n\nPar exemple, cette trace illustre la manière dont une requête utilisateur passe par différents services pour obtenir des recommandations de produits sur un site e-commerce :\n\n- __Action de l’utilisateur.__ Cela correspond à l'action initiale de l'utilisateur. Par exemple, un clic sur un bouton pour demander des recommandations de produits sur une page produit.\n- __Frontend.__ Le frontend envoie une requête au service de recommandation pour obtenir une liste de produits recommandés.\n- __Service de recommandation.__ La requête provenant du frontend est traitée par le service de recommandation, qui génère une liste de produits recommandés.\n- __Service de catalogue.__ Le service de recommandation appelle le service de catalogue pour récupérer les détails des produits recommandés. Une icône d'alerte signale un problème ou un ralentissement à cette étape (par exemple, une réponse lente ou une erreur lors de la récupération des détails des produits).\n- __Base de données.__ Le service de catalogue interroge la base de données pour récupérer les informations détaillées des produits. Ce span montre la requête SQL effectuée dans la base de données.\n\nEn visualisant cette trace de bout en bout, les équipes de développement peuvent identifier les problèmes de performance (comme ici, une erreur au niveau du service de catalogue) et diagnostiquer puis résoudre rapidement les problèmes à travers l'ensemble du système distribué.\n\n![Exemple de trace du parcours utilisateur](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098009/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750098009140.png)\n\n## Comment fonctionne le traçage distribué ?\n\nDécouvrez ci-dessous une explication détaillée du fonctionnement du traçage distribué.\n\n### Collectez des données en provenance de n'importe quelle application avec OpenTelemetry\n\nLes traces et les spans peuvent être collectés avec [OpenTelemetry](https://opentelemetry.io/docs/what-is-opentelemetry/ \"Qu'est-ce qu'OpenTelemetry ?\") (un framework d’observabilité open source). Ce dernier prend en charge un large éventail de SDK et de bibliothèques dans les principaux [langages de programmation et frameworks](https://opentelemetry.io/docs/languages/). Ce framework propose une approche indépendante pour la collecte et l'exportation des données de télémétrie, permettant ainsi aux équipes de développement :\n- d'éviter toute dépendance vis-à-vis d’un fournisseur,\n- de choisir librement les outils les plus adaptés à leurs besoins.\n\nDe cette façon, si vous utilisez déjà OpenTelemetry avec un autre fournisseur et que vous souhaitez essayer les fonctionnalités de GitLab, il vous suffit d'ajouter notre point de terminaison à votre fichier de configuration pour nous envoyer vos données.\n\n![Diagramme représentant le workflow du traçage distribué](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098009/Blog/Content%20Images/Blog/Content%20Images/image5_aHR0cHM6_1750098009141.png)\n\n### Ingérez et conservez des données à grande échelle avec des requêtes rapides et en temps réel\n\nL'observabilité implique de stocker et d'interroger d'importants volumes de données, tout en assurant une faible latence pour les analyses en temps réel.\n\nPour répondre à ces exigences, nous avons développé, grâce à ClickHouse et [Kubernetes](https://about.gitlab.com/fr-fr/blog/kubernetes-the-container-orchestration-solution/ \"Qu'est-ce que Kubernetes ?\"), une [solution de stockage à long terme qui se met à l'échelle horizontalement](https://gitlab.com/gitlab-org/opstrace/opstrace).\n\nCette plateforme open source assure une performance rapide des requêtes et une évolutivité de niveau entreprise, tout en réduisant les coûts.\n\n### Explorez et analysez les traces en toute simplicité\n\nUne interface utilisateur native avancée est essentielle pour une exploration efficace des données. Pour cela, nous avons construit une interface, en commençant par notre Trace Explorer, permettant aux utilisateurs d'examiner les traces et de mieux comprendre les performances de leurs applications :\n\n- __Filtrage avancé.__ Filtrez par service, nom d'opération, statut et intervalle de temps. L'autocomplétion facilite la création des requêtes.\n- __Mise en évidence des erreurs.__ Identifiez facilement les spans contenant des erreurs dans les résultats de recherche.\n- __Métriques RED.__ Visualisez le taux de requêtes, le taux d'erreurs et la durée moyenne depuis un graphique de série temporelle pour toute recherche en temps réel.\n- __Vue chronologique.__ Les traces individuelles sont affichées sous forme de diagramme en cascade, garantissant une vue complète d'une requête distribuée entre les différents services et opérations.\n- __Données historiques.__ Les utilisateurs peuvent interroger les traces remontant jusqu'à 30 jours en arrière.\n\n![Exploration de traces sous forme de graphique de série temporelle](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098009/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750098009141.png)\n\n## Comment nous utilisons le traçage distribué chez GitLab\n\nL'utilisation de nos propres fonctionnalités en interne (aussi appelé Dogfooding) est une valeur fondamentale et une pratique essentielle chez GitLab.\n\nC'est pourquoi, pour répondre aux besoins de nos équipes d'ingénierie et d'opérations, nous avons déjà commencé à utiliser les premières versions du traçage distribué.\n\nÀ travers ces exemples, découvrez comment nos équipes utilisent le traçage distribué :\n\n### Déboguez les erreurs et les problèmes de performance dans GitLab Agent pour Kubernetes\n\nLe groupe « [Environments](https://handbook.gitlab.com/handbook/engineering/development/ops/deploy/environments/) » (équipe responsable des environnements dans la phase de déploiement du cycle de vie DevOps) utilise le traçage distribué pour identifier et résoudre divers problèmes liés à [GitLab Agent pour Kubernetes](https://gitlab.com/gitlab-org/cluster-integration/gitlab-agent \"GitLab Agent pour Kubernetes\") (comme les délais d'attente ou les problèmes de latence élevée).\n\nLes vues « Trace List » et « Trace Timeline » fournissent des informations précieuses permettant aux équipes de traiter ces problèmes efficacement. Ces traces sont ensuite partagées et discutées dans les tickets correspondants, favorisant ainsi une collaboration efficace entre les équipes pour la résolution des problèmes.\n\n### Optimisez le temps d'exécution des pipelines en identifiant les goulots d'étranglement\n\nNotre dépôt principal [exécute plus de 100 000 pipelines chaque mois](https://gitlab.com/gitlab-org/gitlab/-/pipelines/charts). Si le temps d'exécution de ces pipelines variait ne serait-ce que d'une minute, cela pourrait ajouter plus de 2 000 heures de travail, soit l'équivalent de 87 jours supplémentaires. C'est pourquoi, lorsque le code source de GitLab se déploie lentement, son impact est considérable, tant sur notre productivité que sur nos coûts d'exploitation.\n\nPour optimiser le temps d'exécution des pipelines, les [équipes d'ingénierie de la plateforme GitLab](https://handbook.gitlab.com/handbook/engineering/infrastructure/) utilisent un [outil personnalisé](https://gitlab.com/gitlab-com/gl-infra/gitlab-pipeline-trace) qui convertit les pipelines de déploiement GitLab en traces.\n\nAinsi, la vue « Trace Timeline » leur permet de :\n- visualiser en détail la chronologie d'exécution des pipelines complexes\n- repérer les jobs qui ralentissent l'ensemble du processus.\n\nEn identifiant ces goulots d'étranglement, nos équipes peuvent optimiser l'exécution des jobs (par exemple, en accélérant l'échec du job, ou en exécutant davantage de jobs en parallèle), afin d'améliorer l'efficacité globale du pipeline. [Notre script est disponible gratuitement](https://gitlab.com/gitlab-com/gl-infra/gitlab-pipeline-trace), vous pouvez donc l'adapter à vos propres pipelines.\n\n## Testez le traçage distribué sur GitLab\n\n[Participez à notre bêta privée](https://docs.gitlab.com/operations/observability/ \"Testez le traçage distribué sur GitLab\") et testez nos fonctionnalités. Votre contribution nous aidera à développer des outils qui répondent parfaitement à vos besoins et à vos défis. Aidez- nous à façonner l'avenir de l'observabilité au sein de GitLab !\n",[890,9,1075,685,1205],"2025-02-04",{"slug":1371,"featured":90,"template":691},"monitor-application-performance-with-distributed-tracing","content:fr-fr:blog:monitor-application-performance-with-distributed-tracing.yml","Monitor Application Performance With Distributed Tracing","fr-fr/blog/monitor-application-performance-with-distributed-tracing.yml","fr-fr/blog/monitor-application-performance-with-distributed-tracing",{"_path":1377,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1378,"content":1384,"config":1390,"_id":1392,"_type":13,"title":1393,"_source":15,"_file":1394,"_stem":1395,"_extension":18},"/fr-fr/blog/quickly-resolve-broken-ci-cd-pipelines-with-ai",{"title":1379,"description":1380,"ogTitle":1379,"ogDescription":1380,"noIndex":6,"ogImage":1381,"ogUrl":1382,"ogSiteName":673,"ogType":674,"canonicalUrls":1382,"schema":1383},"Échecs de pipelines CI/CD : comment les corriger rapidement avec l'IA","Découvrez comment l'analyse des causes profondes alimentée par l'IA résout les problèmes d'exécution de pipelines CI/CD de façon plus intelligente et plus rapidement.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097355/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2811%29_78Dav6FR9EGjhebHWuBVan_1750097355230.png","https://about.gitlab.com/blog/quickly-resolve-broken-ci-cd-pipelines-with-ai","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Échecs de pipelines CI/CD : comment les corriger rapidement avec l'IA\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Itzik Gan Baruch\"}],\n        \"datePublished\": \"2024-12-03\",\n      }",{"title":1379,"description":1380,"authors":1385,"heroImage":1381,"date":1326,"body":1387,"category":682,"tags":1388,"updatedDate":1389},[1386],"Itzik Gan Baruch","Les pipelines CI/CD sont essentiels à l'efficacité dans le développement logiciel, car ils aident les équipes à tester, compiler et déployer le code rapidement. Cependant, lorsque ces pipelines échouent, c'est tout le cycle de développement qui se trouve ralenti : les délais ne sont pas respectés et les équipes doivent corriger le code tout en faisant avancer les projets en cours.\n\n![Pipeline CI/CD avec plusieurs jobs en échec](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097362/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750097362772.png)\n\n\u003Ccenter>\u003Ci>Pipeline CI/CD avec plusieurs jobs en échec\u003C/i>\u003C/center>\u003Cbr>\u003C/br>\n\n**Mais quelles sont les raisons pour lesquelles les pipelines ne s'exécutent-ils pas ?** Analysons cela ensemble.\n\n## Pourquoi les pipelines CI/CD échouent-ils ? \n\nOn parle d'échec lorsque le workflow automatisé de votre [pipeline CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/), comprenant généralement des étapes telles que la compilation, les tests et le déploiement du code, ne s'exécute pas comme prévu et génère un message d'erreur. Par conséquent, le code n'est pas correctement compilé, testé ou déployé, ce qui retarde la livraison du logiciel et nécessite d'identifier et de résoudre le problème rencontré. \n\nLes échecs de pipelines CI/CD peuvent survenir pour diverses raisons. Voici les causes les plus fréquentes :\n- __Erreurs de syntaxe :__ une petite erreur dans le code, comme un point-virgule manquant ou un nom de variable incorrect, peut faire échouer le pipeline.\n- __Échec des tests :__ les tests unitaires ou d'intégration peuvent échouer en raison d'un code défectueux, de configurations incorrectes ou de dépendances incompatibles.\n- __Configurations erronées :__ des paramètres incorrects du pipeline ou des configurations d'environnement peuvent provoquer l'échec des compilations ou des déploiements.\n\nD'autres problèmes plus complexes peuvent également s'ajouter comme :\n- Des problèmes d'Infrastructure as Code ([IaC](https://about.gitlab.com/fr-fr/topics/gitops/infrastructure-as-code/)) : des erreurs lors du provisionnement de l'infrastructure cloud, telles que des fautes dans les scripts Terraform ou les templates CloudFormation, peuvent empêcher le déploiement.\n- Les défis que posent Kubernetes et GitOps : des configurations erronées dans les [clusters Kubernetes](https://about.gitlab.com/fr-fr/blog/kubernetes-the-container-orchestration-solution/) ou des problèmes affectant les workflows [GitOps](https://about.gitlab.com/fr-fr/topics/gitops/) (par exemple, la synchronisation de l'état des ressources Kubernetes avec les dépôts [Git](https://about.gitlab.com/fr-fr/blog/what-is-git/ \"Qu'est-ce que Git ? \")) peuvent causer l'échec des pipelines et rendre difficile le diagnostic.\n- Des traces de piles d'appels longues et désordonnées : lorsqu'une erreur se produit dans les profondeurs du système, les traces de piles d'appels peuvent devenir longues et difficiles à déchiffrer, en particulier lorsqu'elles couvrent plusieurs composants ou services.\n\nCes obstacles compliquent et ralentissent le dépannage, car les équipes de développement doivent souvent passer au crible des logs détaillés et complexes, examiner les fichiers de configuration et tester différentes solutions afin d'identifier la cause profonde.\n\n## Quel est l’impact réel des pipelines en échec ? \n\nEn plus de retarder votre déploiement, un pipeline qui échoue devient une source de stress et de frustration. Les équipes sont obligées d'interrompre leur travail pour s'atteler à la résolution du problème, ce qui multiplie les perturbations. Alors que le respect des délais est compromis, l'équipe est soumise à une pression accrue. Mais pourquoi le dépannage manuel est-il si stressant ?\n\n### Dépannage manuel \n\nLe temps nécessaire pour corriger un pipeline défaillant peut varier en fonction de différents critères, tels que :\n- La connaissance du projet par l’équipe de développement\n- Son expérience avec des problèmes similaires\n- Ses compétences globales en matière de résolution de problèmes\n\nIl est à la fois éprouvant et fastidieux d'analyser manuellement les logs pour comprendre ce qui s'est passé. Les logs proviennent généralement de diverses sources, y compris d'erreurs d'application et de messages système. Ils sont en outre souvent mal structurés et donc difficiles à interpréter. Les équipes doivent alors constamment basculer entre les nombreuses tâches pour corriger le pipeline, ce qui ralentit encore le processus.\n\nAvec [GitLab Duo](https://about.gitlab.com/fr-fr/gitlab-duo/), les équipes de développement peuvent passer au crible toutes ces données éparpillées et repérer les problèmes beaucoup plus rapidement. Grâce à ce processus simplifié, vous n'avez pas besoin d'une expertise approfondie pour comprendre ce qui s'est passé. Avec l'IA, la réparation de vos pipelines devient plus rapide, plus facile et beaucoup moins stressante.\n\n\u003Cimg src=\"https://res.cloudinary.com/about-gitlab-com/image/upload/v1752176104/Blog/zxvvu7p9vc3qpmwl32ya.png\" alt=\"broken pipeline\">\n\n\u003Cimg src=\"https://res.cloudinary.com/about-gitlab-com/image/upload/v1752176108/Blog/bpx6dqilfhltzboyp8k8.png\" alt=\"fix suggestions for broken pipelines\">\n\n## L'analyse des causes profondes de GitLab Duo avec l'IA générative\n\nSi votre pipeline CI/CD échoue, vous n'avez plus besoin de consacrer des heures à le dépanner manuellement. Recourez simplement à l'[analyse des causes profondes (Root Cause Analysis) de GitLab Duo](https://docs.gitlab.com/user/gitlab_duo_chat/examples/#troubleshoot-failed-cicd-jobs-with-root-cause-analysis). Cette fonctionnalité, alimentée par l'IA, identifie rapidement la cause exacte de l'échec de votre pipeline CI/CD et suggère des correctifs, directement au sein de la plateforme [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que DevSecOps ?\") de GitLab. Peu importe la longueur ou la complexité de vos traces de piles d'appels, la fonctionnalité  d’analyse des causes profondes de GitLab Duo analyse toutes les données en détail, puis vous fournit des informations claires et exploitables.\n\n**Cette fonctionnalité vous indique la cause exacte de l'échec, propose des corrections et identifie même les fichiers et les lignes de code spécifiques qui nécessitent une attention particulière.** Pour vous faciliter encore plus la tâche, il suggère des correctifs de code pour rendre votre pipeline de nouveau fonctionnel. Le dépannage devient ainsi beaucoup plus rapide et plus simple.\n\n\u003Cimg src=\"https://res.cloudinary.com/about-gitlab-com/image/upload/v1752176111/Blog/nmagby9hoksskogve53m.png\" alt=\"root cause of failure\">\n\n\u003Cimg src=\"https://res.cloudinary.com/about-gitlab-com/image/upload/v1752176115/Blog/dndis1cedwbmbnj33q3v.png\" alt=\"example fix\">\n\nEn plus de vous apporter des réponses, l'analyse des causes profondes de GitLab Duo vous permet également de poser des questions complémentaires pour en savoir plus sur les raisons de cet échec. Vous souhaitez explorer des solutions alternatives ? Aucun problème. Il vous suffit d'[ajouter du contexte](https://docs.gitlab.com/ee/user/gitlab_duo_chat/index.html#the-context-chat-is-aware-of) à votre requête en faisant référence à d'autres fichiers, tickets ou epics de votre dépôt. Par exemple, vous pouvez ouvrir votre fichier `.gitlab-ci.yml` dans l'IDE et poser la question suivante dans le chat : « Sur la base de ce fichier et du pipeline CI/CD analysé, comment proposeriez-vous d'optimiser le pipeline ? »\n\n## La confidentialité avant tout : vos données restent dans GitLab\nLa fonctionnalité d'analyse des causes profondes de GitLab Duo est prête à l'emploi sur la plateforme, ce qui représente un atout majeur. Vous n'avez pas à basculer vers un autre outil ou à chercher de l'aide extérieure. De plus, vos [logs et vos données sensibles restent sécurisés](https://about.gitlab.com/fr-fr/privacy/), car vous n'avez pas besoin de les envoyer à des solutions d'IA externes. Parfaitement intégrée à la plateforme GitLab, l'analyse des causes profondes de GitLab Duo offre des informations précieuses sans jamais compromettre la confidentialité de vos données.\n\n![pipelines en échec - image 6](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097363/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750097362773.png)\n\n## Lancez-vous dès aujourd'hui\n\nDécouvrez comment l'IA peut optimiser et accélérer votre processus de développement logiciel. Suivez notre présentation produit de GitLab Duo Enterprise ci-dessous et découvrez comment les informations générées par l'IA à l'aide de GitLab Duo peuvent transformer chaque étape de votre cycle de développement logiciel, de la planification au déploiement, en passant par le codage et le dépannage. Cliquez sur l'image ci-dessous pour lancer la démo !\n\n[![Présentation de GitLab Duo Enterprise](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097363/Blog/Content%20Images/Blog/Content%20Images/Screenshot_2024-12-02_at_12.41.10_PM_aHR0cHM6_1750097362774.png)](https://gitlab.navattic.com/duo-enterprise)\n\n> [Commencez votre essai gratuit de GitLab Duo dès aujourd'hui !](https://about.gitlab.com/fr-fr/solutions/gitlab-duo-pro/sales/)",[684,685,689,9],"2025-02-17",{"slug":1391,"featured":6,"template":691},"quickly-resolve-broken-ci-cd-pipelines-with-ai","content:fr-fr:blog:quickly-resolve-broken-ci-cd-pipelines-with-ai.yml","Quickly Resolve Broken Ci Cd Pipelines With Ai","fr-fr/blog/quickly-resolve-broken-ci-cd-pipelines-with-ai.yml","fr-fr/blog/quickly-resolve-broken-ci-cd-pipelines-with-ai",{"_path":1397,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1398,"content":1404,"config":1410,"_id":1412,"_type":13,"title":1413,"_source":15,"_file":1414,"_stem":1415,"_extension":18},"/fr-fr/blog/safe-without-silos-in-gitlab",{"title":1399,"description":1400,"ogTitle":1399,"ogDescription":1400,"noIndex":6,"ogImage":1401,"ogUrl":1402,"ogSiteName":673,"ogType":674,"canonicalUrls":1402,"schema":1403},"Scaled Agile Framework : adoptez le framework SAFe avec GitLab ","Découvrez comment intégrer le Scaled Agile Framework (SAFe) aux fonctionnalités natives de la plateforme DevSecOps de GitLab.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097569/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2811%29_2hcwWx49wQ7CHfvhhkVH6S_1750097569126.png","https://about.gitlab.com/blog/safe-without-silos-in-gitlab","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Scaled Agile Framework : adoptez le framework SAFe avec GitLab \",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Amanda Rueda\"}],\n        \"datePublished\": \"2025-04-08\",\n      }",{"title":1399,"description":1400,"authors":1405,"heroImage":1401,"date":1406,"body":1407,"category":776,"tags":1408,"updatedDate":1409},[769],"2025-04-08","Lorsqu'une entreprise décide d'adopter le Scaled Agile Framework (SAFe) pour s'adapter à ses nouveaux besoins, coordonner les équipes qui travaillent sur des produits complexes devient rapidement un enjeu de taille. Elle doit couramment faire face à un défi majeur : la planification s'effectue dans un outil, tandis que le travail de développement proprement dit est géré dans un autre.\n\nCette séparation crée des silos entre les équipes et entraîne une multitude de problèmes au quotidien : les équipes de développement passent constamment d'un système à l'autre, les chefs de produit peinent à obtenir une image précise de l'avancement des projets, et au final, ce sont tous les contributeurs aux projets qui perdent un temps précieux à transférer manuellement des informations entre les différents systèmes. Or, SAFe a précisément été conçu pour résoudre ce type d'expérience fragmentée.\n\nSi vos équipes de développement utilisent déjà GitLab pour la [gestion du code source](https://about.gitlab.com/fr-fr/solutions/source-code-management/ \"Gestion du code source\"), les processus [CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/ \"Qu'est-ce que le CI/CD ?\") et la sécurité des logiciels, vous vous demandez peut-être s'il est possible d'y intégrer également la planification SAFe. La réponse est oui. Grâce à ses solides capacités de gestion de projets Agile, GitLab prend en charge le framework SAFe à chaque étape du développement logiciel. \n\nDans cet article, découvrez comment GitLab vous aide à mettre en place les concepts et les cérémonies SAFe, le tout au sein d'une seule et même plateforme [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que DevSecOps ?\").\n\n## Qu'est-ce que le Scaled Agile Framework (SAFe) ?\n\nLe Scaled Agile Framework (SAFe) est une approche de gestion conçue pour appliquer les principes Agile à l'échelle des grandes entreprises. Il optimise la livraison de valeur, assure un alignement constant entre les équipes et se concentre sur les besoins des clients. \n\nSAFe transpose le modèle collaboratif et itératif des petites équipes aux environnements complexes des grandes entreprises impliquant de nombreuses équipes, parties prenantes et roadmaps. \n\nCette approche permet d'harmoniser tous les efforts de planification et d'exécution vers un objectif commun. Pour les chefs de produit, le Scaled Agile Framework (SAFe) fait le lien entre la stratégie et l'exécution : il ne s'agit pas uniquement de livrer rapidement, mais de livrer les bons produits, en s'appuyant sur des priorités claires et une coordination transversales entre les différentes équipes.\n\nSAFe réduit les silos, encourage la collaboration et aide les équipes à se mobiliser autour des résultats attendus par les clients, et non plus uniquement autour des tâches à accomplir. Une fois intégré à GitLab, la magie opère : visibilité, traçabilité et livraison sont réunies au sein d'une seule et même plateforme.\n\n## Correspondance de la terminologie SAFe dans GitLab\n\nVoici un aperçu des concepts SAFe et leur correspondance dans GitLab :\n\n| SAFe | GitLab |\n| :---- | :---- |\n| Epic | Epic principal |\n| Capability | Sous-epic (niveau 1) |\n| Feature | Sous-epic (niveau 2) |\n| User story | Ticket |\n| Task | Tâche |\n| Team | Champ personnalisé / Label à portée limitée |\n| Sprint | Itération |\n| Program Increment (PI) | Jalon |\n| Value Stream | Groupe principal |\n| Agile Release Train (ART) | Groupe principal |\n\n\u003Cbr>\u003C/br>\n\nEn vous basant sur cette correspondance, vous pouvez configurer GitLab pour refléter fidèlement votre implémentation SAFe. La structure des groupes vous permet d'organiser vos équipes autour de vos chaînes de valeur (Value Stream) et de vos Agile Release Trains (ART), tandis que la hiérarchie des éléments de travail (avec jusqu'à sept niveaux d'epics imbriqués) vous offre toute la profondeur nécessaire pour gérer des portefeuilles produits complexes. Que vous travailliez au niveau du portefeuille (groupes principaux), du programme (sous-groupes) ou de l'équipe (projets), la structure organisationnelle de GitLab s'aligne parfaitement avec la hiérarchie SAFe.\n\n## Les cérémonies SAFe dans GitLab\n\nDécouvrez maintenant comment organiser vos cérémonies SAFe dans GitLab. Voici comment procéder, étape par étape.\n\n### Planification PI (Program Increment)\n\nPour faciliter l'alignement entre les équipes et la gestion des dépendances qui font le succès de la planification PI, GitLab offre plusieurs fonctionnalités :\n\n* La vue [Roadmap](https://docs.gitlab.com/user/group/roadmap/) :  visualisez les fonctionnalités par équipe et sur plusieurs périodes.\n* Les [jalons](https://docs.gitlab.com/user/project/milestones/) : associez chaque fonctionnalité au jalon correspondant à votre PI. \n* Les [dépendances](https://docs.gitlab.com/user/project/issues/related_issues/#blocking-issues) : documentez et visualisez les dépendances entre équipes dès qu'elles sont identifiées.\n\nGitLab vous offre une grande flexibilité pour la planification PI grâce à deux vues principales : les tableaux des epics (qui peuvent être configurés pour afficher les affectations par équipe) et la vue Roadmap (qui affiche les fonctionnalités au fil du temps, façon diagramme de Gantt). Vous pouvez facilement passer d'une vue à l'autre pendant votre session de planification, selon que vous souhaitez vous concentrer sur la chronologie ou l'organisation des équipes.\n\n![Vue Roadmap et tableau des epics](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097577/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750097576746.gif)\n\n\u003Cbr>\u003C/br>\n\n![Vue Roadmap avec diagramme de Gantt](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097577/Blog/Content%20Images/Blog/Content%20Images/image5_aHR0cHM6_1750097576747.png)\n\n### Affinement\n\nEn tant que chef de produit, animer des sessions d'affinement efficaces repose sur une visibilité complète de votre backlog de fonctionnalités. Vous pouvez exécuter votre session d'affinement directement dans GitLab. Il n'est plus nécessaire de mettre à jour un outil pendant la réunion, puis un autre après coup. \n\nGitLab facilite les sessions d'affinement grâce aux éléments suivants :\n\n* Les [tableaux des epics](https://docs.gitlab.com/user/group/epics/epic_boards/) : regroupez les fonctionnalités en fonction de leur statut.  \n* Les story points : visualisez-les directement dans l'[aperçu](https://docs.gitlab.com/user/group/epics/epic_boards/#view-count-of-issues-weight-and-progress-of-an-epic).  \n* Les [vues dans un volet latéral](https://docs.gitlab.com/user/group/epics/manage_epics/#open-epics-in-a-drawer) : interagissez avec vos éléments de travail sans jamais perdre de vue le contexte.   \n* Les [tickets enfants](https://docs.gitlab.com/user/group/epics/manage_epics/#add-an-issue-to-an-epic) : créez et associez des tickets directement à partir des epics.\n\n![SAFe - image 3](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097577/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750097576749.gif)\n\n### Planification de sprint\n\nGitLab vous offre tous les outils nécessaires pour planifier vos sprints sans frictions :\n\n* Les [tableaux des tickets](https://docs.gitlab.com/user/project/issue_board/) : visualisez clairement l'ensemble de votre backlog.  \n* Le [poids total](https://docs.gitlab.com/user/project/issue_board/#sum-of-issue-weights) des user stories : visualisez-le directement dans les tableaux.  \n* L'ordonnancement des tickets : déplacez les tickets entre les différentes itérations, par simple glisser-déposer. \n* Une vue repliable : simplifiez le réordonnancement des stories d'un sprint à l'autre.\n\nPlus besoin de jongler entre plusieurs outils, toute la planification se fait dans GitLab. Vous pouvez ainsi consacrer vos réunions de planification à prendre les bonnes décisions.\n\n![Planification de sprint avec GitLab](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097577/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750097576751.gif)\n\n*💡 Consultez [ce tutoriel dédié à la mise en œuvre de la méthode Scrum avec GitLab](https://docs.gitlab.com/tutorials/scrum_events/) et découvrez en détail la puissance de GitLab dans la planification Agile et le suivi des sprints.*\n\n### Points quotidiens\n\nVotre équipe peut se réunir autour du tableau de bord lors de vos points quotidiens, plus besoin de naviguer entre plusieurs outils ou de deviner l'avancement des projets : tout est visible en un clin d'œil dans GitLab. Votre équipe voit instantanément qui travaille sur quoi, ce qui bloque, et ce qui est prêt pour la revue. GitLab vous permet d'effectuer les actions suivantes lors de vos points quotidiens :\n\n* Les tableaux [filtrés par itération](https://docs.gitlab.com/user/project/issue_board/#iteration-lists) : affichez le travail du sprint en cours.\n* Les story points : affichez le poids des stories directement sur les cartes. \n* La [vue du volet latéral](https://docs.gitlab.com/user/project/issues/managing_issues/#open-issues-in-a-drawer) : accédez aux détails sans quitter le contexte. \n* Les [indicateurs de progression](https://docs.gitlab.com/user/project/issues/managing_issues/#health-status) : mettez en évidence les tâches à risque.\n\n![Tableau de réunions debout quotidiennes](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097577/Blog/Content%20Images/Blog/Content%20Images/image6_aHR0cHM6_1750097576755.png)\n\n### Revue de sprint\n\nPour avoir une vision claire des performances de votre équipe au fil des sprints, GitLab met à votre disposition des indicateurs puissants avec les éléments suivants :\n\n* Des [graphiques d'avancement burndown et burnup](https://docs.gitlab.com/user/group/iterations/#iteration-burndown-and-burnup-charts) : visualisez facilement l'avancement des itérations. \n* Le suivi de la vélocité : mesurez l'efficacité de votre équipe.  \n* Les [délais d'exécution et la durée de cycle](https://docs.gitlab.com/user/group/value_stream_analytics/#lifecycle-metrics) : obtenez des indicateurs précis pour évaluer vos workflows.  \n* Des tableaux de bord personnalisables : créez des vues adaptées à chaque équipe.\n\nCes indicateurs vous aident à comprendre si votre équipe gagne en rapidité, à détecter les goulots d'étranglement et les points de friction à aborder lors de votre prochaine rétrospective.\n\n![Graphiques d'avancement burndown et burnup](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097577/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097576758.png)\n\n## 5 bonnes raisons d'adopter une plateforme unifiée\n\nIl existe de nombreux outils de planification capables de gérer les cérémonies SAFe. Mais GitLab se distingue véritablement de ses concurrents pour les raisons suivantes :\n\n1. **Plus de changement de contexte** : la planification, le développement, les tests et la sécurité s'effectuent tous sur une seule plateforme.\n2. **Une traçabilité totale** : de l'épic stratégique et prioritaire jusqu'au déploiement, en passant par l'écriture du code, chaque élément est relié et facile à suivre.\n3. **Une collaboration efficace** : toutes les équipes (développement, produit, sécurité) collaborent dans le même outil.\n4. **Une visibilité instantanée** : toutes les parties prenantes accèdent aux informations clés mises à jour, sur une seule plateforme.\n5. **Une vue d'ensemble** : les indicateurs de planification et de développement sont regroupés pour comprendre exactement où en est le projet.\n\nSi vos équipes de développement apprécient déjà GitLab, pourquoi leur imposer un nouvel outil de planification ou créer des intégrations complexes et disparates ? En intégrant votre planification SAFe à GitLab, vous offrez à tous les contributeurs une expérience unifiée, cohérente et bien plus efficace.\n\n## Principes de mise en œuvre\n\nAprès avoir accompagné plusieurs équipes dans leur transition depuis des outils SAFe traditionnels vers GitLab, voici ce qu'il faut retenir : concentrez-vous sur **les objectifs propres à chaque cérémonie SAFe** plutôt que d'essayer de reproduire les processus de vos anciens outils.\n\nLes équipes qui tirent pleinement parti des fonctionnalités natives de GitLab sont plus performantes que celles qui essaient de les contourner. Cela demande un peu de travail au départ pour comprendre comment associer vos concepts SAFe et configurer vos workflows. Mais une fois cette étape franchie, vous constaterez rapidement que vos processus sont en réalité bien plus simples.\n\nLa clé du succès réside dans la définition de conventions partagées entre tous les contributeurs : quels labels utiliser ? Comment suivre les équipes ? Quelle différence entre un epic et un ticket ? En investissant un minimum d'effort dans cette phase de clarification, vous créez un système intuitif qui éliminera toute la charge de travail liée à la coordination entre les différents outils.\n\n## Mise en place du framework SAFe dans GitLab\n\nEnvie de vous lancer ? Voici les étapes pour mettre en œuvre un Scaled Agile Framework (SAFe) dans GitLab :\n\n1. **Structurez votre environnement** : créez des groupes et des sous-groupes qui [s'alignent sur l'organisation de vos équipes](https://about.gitlab.com/fr-fr/blog/best-practices-to-set-up-organizational-hierarchies-that-scale/).\n2. **Définissez la répartition de votre travail** : décidez comment vous allez utiliser les [epics](https://about.gitlab.com/fr-fr/blog/unlocking-agile-excellence-gitlab-epics-for-seamless-portfolio-management/), les [tickets](https://docs.gitlab.com/user/project/issues/managing_issues/) et les [tâches](https://docs.gitlab.com/user/tasks/). \n3. **Créez vos itérations** : configurez votre [calendrier de sprints](https://docs.gitlab.com/user/group/iterations/#create-an-iteration-cadence).  \n4. **Ajoutez vos jalons** : les [jalons](https://docs.gitlab.com/user/project/milestones/#create-a-milestone) représentent vos Program Increments (PI) SAFe dans GitLab. \n5. **Personnalisez vos tableaux** : créez des vues dédiées à chaque cérémonie SAFe. \n6. **Accordez-vous sur des conventions** : documentez la façon dont vous utiliserez les labels et les champs personnalisés.\n\nPrendre le temps de bien poser ces bases dès le départ vous évitera bien des tracas par la suite. Votre configuration n'a pas besoin d'être parfaite dès le premier jour : vous pourrez faire des ajustements au fur et à mesure.\n\n## Rassemblez toutes les pièces du puzzle\n\nGitLab vous offre une base solide pour exécuter le Scaled Agile Framework (SAFe), en particulier si vos équipes de développement sont déjà adeptes de GitLab. En centralisant la planification et le développement dans un seul et même outil, vous éliminez les silos et les transferts fastidieux, facilitez la collaboration et accélérez la livraison de vos produits.\n\nLa flexibilité des outils de planification de GitLab vous permet d'adapter l'approche SAFe à vos besoins spécifiques. Vos équipes ne sont pas soumises à des workflows rigides : vous pouvez faire évoluer votre approche à mesure que vos équipes gagnent en maturité et que vos besoins changent.\n\n> Découvrez à quel point la planification sans effet de silo peut être plus simple et plus efficace. [Essayez GitLab Ultimate gratuitement](https://about.gitlab.com/fr-fr/free-trial/?hosted=saas) et simplifiez l'implémentation de votre approche SAFe.\n\n*💡 Pour en savoir plus à ce sujet, n'hésitez pas à consulter également cet article : [Comment utiliser GitLab pour le développement logiciel agile](https://about.gitlab.com/fr-fr/blog/gitlab-for-agile-software-development/)*\n",[774,685,9,687,689],"2025-05-12",{"slug":1411,"featured":90,"template":691},"safe-without-silos-in-gitlab","content:fr-fr:blog:safe-without-silos-in-gitlab.yml","Safe Without Silos In Gitlab","fr-fr/blog/safe-without-silos-in-gitlab.yml","fr-fr/blog/safe-without-silos-in-gitlab",{"_path":1417,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1418,"content":1424,"config":1431,"_id":1433,"_type":13,"title":1434,"_source":15,"_file":1435,"_stem":1436,"_extension":18},"/fr-fr/blog/seamlessly-migrate-from-jira-to-gitlab-with-jira2lab-at-scale",{"title":1419,"description":1420,"ogTitle":1419,"ogDescription":1420,"noIndex":6,"ogImage":1421,"ogUrl":1422,"ogSiteName":673,"ogType":674,"canonicalUrls":1422,"schema":1423},"Jira vers GitLab : migrer facilement à grande échelle avec Jira2Lab","Découvrez comment Jira2GitLab simplifie les migrations à grande échelle de Jira vers GitLab en gérant des transferts de données complexes, en améliorant l'évolutivité et en assurant une intégration efficace.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663129/Blog/Hero%20Images/blog-image-template-1800x945__28_.png","https://about.gitlab.com/blog/seamlessly-migrate-from-jira-to-gitlab-with-jira2lab-at-scale","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Jira vers GitLab : migrer facilement à grande échelle avec Jira2Lab\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Maximilien Belinga\"}],\n        \"datePublished\": \"2024-10-10\",\n      }",{"title":1419,"description":1420,"authors":1425,"heroImage":1421,"date":1427,"body":1428,"category":776,"tags":1429,"updatedDate":1430},[1426],"Maximilien Belinga","2024-10-10","[Atlassian Server n'est plus disponible depuis février](https://about.gitlab.com/fr-fr/move-to-gitlab-from-atlassian/), ce qui a incité de nombreux clients à explorer des alternatives telles qu'Atlassian Cloud ou Data Center. Cependant, les entreprises qui utilisaient Atlassian Server recherchent de plus en plus des solutions de planification Agile offrant une flexibilité améliorée, une rentabilité plus élevée et une intégration DevSecOps robuste. Elles doivent également relever des défis liés au volume de données, à la personnalisation, au mappage utilisateur, aux performances et à l'intégrité des données pendant la migration. C'est là qu'intervient [Jira2Lab de GitLab](https://gitlab.com/gitlab-org/professional-services-automation/tools/migration/jira2lab). Jira2Lab apporte une solution qui permet des migrations à grande échelle de Jira vers GitLab, tout en offrant une intégration [CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/ \"Qu'est-ce que le CI/CD ?\") complète.\n\n## Quels sont les principaux défis des migrations Jira à grande échelle ? \n\nLa migration de Jira vers GitLab peut représenter un obstacle majeur, en particulier lorsque les entreprises ont des workflows complexes et doivent déplacer des milliers de tickets. \n\nVoici les défis les plus courants rencontrés lors de ces migrations :\n\n- **Migration massive de données :** la complexité de la migration qui doit être effectuée sans problèmes de performance ni perte de données augmente proportionnellement avec le nombre de tickets, de pièces jointes, de commentaires et de projets qu'elle inclut.\n\n- **Champs et workflows personnalisés :** les instances Jira contiennent souvent des workflows, des champs et des types de tickets personnalisés qui n'ont pas de mappage individuel dans GitLab. Cet écart crée des frictions lors de la migration, car les outils existants nécessitent souvent une intervention manuelle pour déplacer ces éléments.\n\n- **Absence d'intégration DevSecOps complète :** bien que de nombreux outils de migration gèrent les données de gestion des projets, ils n'intègrent pas toutes les fonctionnalités [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que DevSecOps ?\") de GitLab. En conséquence, les équipes doivent configurer manuellement leurs [pipelines CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline CI/CD ?\") et leurs systèmes de [contrôle de version](https://about.gitlab.com/fr-fr/topics/version-control/ \"Qu'est-ce que le contrôle de version ?\") après la migration.\n\n## Présentation de Jira2Lab\n\nJira2Lab a été entièrement conçu pour résoudre les défis spécifiques à la migration de Jira vers GitLab à grande échelle. Il ne s'agit pas seulement de déplacer des données, mais aussi de permettre aux équipes de passer sans accroc au puissant environnement DevSecOps de GitLab sans temps d’arrêt ni perte de données.\n\n### Quelles sont les principales fonctionnalités de Jira2Lab ? \n\n1. Traitement efficace des données à grande échelle : Jira2Lab est optimisé pour gérer des milliers de tickets, de pièces jointes, de commentaires et de champs personnalisés sur plusieurs projets sans sacrifier les performances. Il s'adapte à tous les besoins, même pour les plus grandes migrations d'entreprise.\n\n2. Workflow personnalisé et mappage des champs : l'une des fonctionnalités de Jira2Lab est sa capacité à associer automatiquement des workflows et des champs personnalisés entre Jira et GitLab. L'outil fournit une configuration de mappage flexible qui élimine les interventions manuelles pendant le processus de migration, en veillant à ce que toutes les données passent sans accroc de Jira vers GitLab.\n\n3. Intégration du pipeline CI/CD : Jira2Lab ne se contente pas de migrer vos tickets et vos projets. L'outil intègre le pipeline CI/CD complet de GitLab dans le processus de migration. Les équipes de développement peuvent ainsi commencer à utiliser les fonctionnalités DevSecOps de GitLab, telles que les tests automatisés et les pipelines de déploiement, immédiatement après la migration.\n\n4. Migrations pilotes : notre outil prend en charge les migrations pilotes pour permettre aux équipes de tester leurs configurations et leurs workflows avant de migrer l'ensemble des données. Tous les problèmes sont détectés rapidement, ce qui évite les interruptions pendant la migration complète.\n\n5. Surveillance en temps réel : l'outil fournit une surveillance et des journaux en temps réel pendant la migration. Cette transparence totale assure que chaque étape est effectuée correctement et sans erreurs.\n\n6. Personnalisation et flexibilité : même si votre instance Jira dispose de configurations ou de workflows uniques, Jira2Lab vous permet de personnaliser la migration en fonction de vos besoins spécifiques, en veillant à ce que rien ne soit perdu au cours de la transition.\n\n### Comparaison des fonctionnalités : Jira et GitLab\n\nLa migration de Jira vers GitLab permet de consolider les workflows et d'accéder aux fonctionnalités avancées natives de GitLab. Voici une comparaison rapide des principales fonctionnalités des deux plateformes :\n\n| **Fonctionnalité**             | **Jira**                        | **GitLab**                    |\n|-------------------------|----------------------------------|-------------------------------|\n| **Suivi des tickets**       | Oui (Hautement personnalisable)       | Oui (Intégré au DevSecOps)   |\n| **Tableaux Agile**         | Oui (tableau Kanban, Scrum)             | Oui (Tableaux des tickets, jalons) |\n| **CI/CD**                | Non (Requiert des outils externes)    | Oui (CI/CD intégré)           |\n| **Contrôle de version**       | Non (Requiert GitHub/Bitbucket)  | Oui (Prise en charge native de [Git](https://about.gitlab.com/fr-fr/blog/what-is-git/ \"Qu'est-ce que Git ? \"))       |\n| **Outils DevSecOps**         | Intégrations limitées            | Cycle de vie DevSecOps complet          |\n\nAvec Jira2Lab, nous veillons à ce que tous les aspects critiques, de la gestion des tickets aux pipelines CI/CD, soient transférés sans heurts. Pour ce faire, nous tirons parti de l'approche intégrée de GitLab en matière de développement et d’opérations.\n\n## La méthodologie de migration\n\nJira2Lab suit une méthodologie de migration structurée en cinq étapes. Cette approche garantit une transition fluide avec un minimum de perturbations :\n\n### 1. Découverte et planification\n\nNous commençons par bien comprendre la configuration Jira du client en identifiant tous les workflows, champs et projets personnalisés qui doivent être migrés. Cette étape implique également une analyse des lacunes pour comparer les fonctionnalités de Jira et de GitLab et planifier le processus de migration.\n\n### 2. Configuration\nAu cours de cette étape, nous configurons l'outil de migration et mettons en place les environnements nécessaires pour Jira et GitLab. Nous vérifions toutes les autorisations et configurons la sauvegarde des données Jira avant le début de la migration.\n\n### 3. Migrations pilotes\nAvant de migrer l'ensemble des données, nous exécutons des migrations pilotes sur des projets sélectionnés afin de tester le processus de migration, les workflows et l'intégrité des données. Nous avons ainsi l'opportunité d'identifier et de résoudre tout problème dès le début du processus.\n\n### 4. Migrations à l'échelle\nAprès avoir validé la migration pilote, nous effectuons la migration de tous les projets, en garantissant des temps d'arrêt minimaux et des transitions en douceur pour les équipes de développement.\n\n### 5. Finalisation et assistance post-migration\nUne fois la migration terminée, nous fournissons une assistance continue afin de garantir que toutes les équipes sont pleinement opérationnelles dans GitLab. Cette étape comprend également la formation des utilisateurs et la désactivation de l'instance Jira, si nécessaire.\n\n## Étude de cas : migration à grande échelle avec Jira2Lab\n\nLors d'une migration récente, une grande entreprise a dû relever le défi de migrer plus de 20 000 tickets sur 50 projets de Jira vers GitLab. Le projet comportait des workflows hautement personnalisés et des milliers de commentaires et de pièces jointes à transférer.\n\nAvec Jira2Lab, nous avons pu :\n\n- Migrer toutes les données, y compris les champs personnalisés, sans aucune perte de données.\n- Configurer des pipelines CI/CD dans GitLab afin que les équipes puissent immédiatement poursuivre leur travail après la migration.\n- Effectuer une migration pilote de deux projets, ce qui nous a permis d'identifier et de corriger des écarts mineurs dans les workflows avant d'effectuer la migration pour l'ensemble de l'entreprise.\n\nEn conséquence, la transition vers GitLab s'est déroulée en toute fluidité. L'ensemble du processus s'est effectué dans les délais prévus et sans temps d'arrêt significatif.\n\n## Commencez dès aujourd'hui avec Jira2Lab\n\nL'outil Jira2Lab apporte une solution aux limitations que d'autres outils de migration ne peuvent pas gérer. Il est conçu spécifiquement pour les migrations à grande échelle et peut s'intégrer au cycle de vie DevSecOps complet de GitLab, contrairement à la plupart des outils qui ne gèrent que les données de gestion de projet. La capacité de l'outil à cartographier des workflows personnalisés et à intégrer des pipelines CI/CD en fait la solution idéale pour les entreprises qui souhaitent améliorer leurs workflows de développement tout en migrant vers GitLab.\n\n> Vous souhaitez faire évoluer vos processus de développement avec GitLab ? Explorez notre [catalogue de services professionnels](https://about.gitlab.com/services/catalog/) pour découvrir comment nous pouvons aider votre équipe à migrer de manière efficace et efficiente. Contactez-nous via le formulaire en bas de page pour planifier une démonstration personnalisée de Jira2Lab de GitLab.\n",[774,108,913,9,687],"2025-01-02",{"slug":1432,"featured":90,"template":691},"seamlessly-migrate-from-jira-to-gitlab-with-jira2lab-at-scale","content:fr-fr:blog:seamlessly-migrate-from-jira-to-gitlab-with-jira2lab-at-scale.yml","Seamlessly Migrate From Jira To Gitlab With Jira2lab At Scale","fr-fr/blog/seamlessly-migrate-from-jira-to-gitlab-with-jira2lab-at-scale.yml","fr-fr/blog/seamlessly-migrate-from-jira-to-gitlab-with-jira2lab-at-scale",{"_path":1438,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1439,"content":1444,"config":1448,"_id":1450,"_type":13,"title":1451,"_source":15,"_file":1452,"_stem":1453,"_extension":18},"/fr-fr/blog/speed-up-code-reviews-let-ai-handle-the-feedback-implementation",{"title":1440,"description":1441,"ogTitle":1440,"ogDescription":1441,"noIndex":6,"ogImage":1155,"ogUrl":1442,"ogSiteName":673,"ogType":674,"canonicalUrls":1442,"schema":1443},"Accélérez vos revues de code : l'IA gère les commentaires","Découvrez comment GitLab Duo combiné à Amazon Q automatise les commentaires de revues de code avec l'IA et simplifie ainsi les workflows fastidieux.","https://about.gitlab.com/blog/speed-up-code-reviews-let-ai-handle-the-feedback-implementation","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Accélérez vos revues de code : l'IA gère les commentaires\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Cesar Saavedra\"}],\n        \"datePublished\": \"2025-06-10\",\n      }",{"title":1440,"description":1441,"authors":1445,"heroImage":1155,"date":1041,"body":1446,"category":682,"tags":1447},[679],"Vous connaissez cette sensation juste après avoir soumis votre merge request, quand les commentaires commencent à affluer ? Labels à revoir, privilégier un agencement côte à côte, passer le texte en gras, couleur du bouton à corriger… Très vite, vous passez des heures à appliquer des commentaires certes utiles, mais qui freinent le développement de nouvelles fonctionnalités. Un travail répétitif, bien connu des équipes de développement… Mais s'il existait une meilleure solution ?\n\nEt si un assistant d'IA pouvait comprendre les commentaires de revue de code et appliquer les modifications à votre place ? C'est exactement ce qu'apporte [GitLab Duo combiné à Amazon Q](https://about.gitlab.com/fr-fr/blog/gitlab-duo-with-amazon-q-agentic-ai-optimized-for-aws/) à votre workflow de développement. Cette intégration fluide combine la plateforme DevSecOps complète de GitLab avec les fonctionnalités d'IA avancées d'Amazon Q, créant ainsi un assistant intelligent capable de lire les commentaires des relecteurs et de les convertir directement en modifications de code. Au lieu de traiter manuellement chaque commentaire, confiez cette tâche à l'IA et concentrez-vous sur l'essentiel.\n\n## Comment utiliser GitLab Duo combiné à Amazon Q ?\n\nLes commentaires des relecteurs sont intégrés là où ils s'appliquent, au cœur de votre merge request. Reprenons les exemples mentionnés plus tôt : vous avez reçu une demande pour modifier un label de formulaire, une autre pour afficher des champs côte à côte, ou encore pour mettre certains textes en gras. Chaque commentaire représente une tâche que vous devriez normalement gérer manuellement.\n\n![commentaires dans une MR](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749673634/Blog/Content%20Images/1-show-comment.png)\n\nAvec GitLab Duo combiné à Amazon Q, il vous suffit de saisir l'action rapide `/q dev` dans un commentaire. Amazon Q analyse alors tous les commentaires et commence à modifier votre code automatiquement. L'agent d'IA comprend le contexte de chaque commentaire et implémente les modifications demandées directement dans votre code source.\n\n![fonction /q dev demandant à Amazon Q d'analyser les commentaires](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749673634/Blog/Content%20Images/2-invoke-q-dev.png)\n\nAmazon Q applique les commentaires, et vous pouvez ensuite visualiser l'ensemble des modifications dans l'onglet « Modifications », pour vérifier que tout a bien été pris en compte. Il ne vous reste plus qu'à lancer l'application mise à jour pour tester que tout fonctionne : le label est modifié, les champs sont affichés côte à côte, le texte est en gras et le bouton est bien bleu.\n\nDécouvrez notre démonstration du processus d'intégration de commentaires dans la revue de code dans cette vidéo :\n\n\u003C!-- blank line -->\n\u003Cfigure class=\"video_container\"> \u003Ciframe src=\"https://www.youtube.com/embed/31E9X9BrK5s?si=ThFywR34V3Bfj1Z-\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe> \u003C/figure>\n\u003C!-- blank line -->\n\nLa gestion des commentaires de revue de code est indispensable, mais souvent laborieuse.  GitLab Duo combiné à Amazon Q transforme cette étape en un workflow fluide et automatisé, pour gagner un temps précieux. En confiant ces ajustements répétitifs à l'IA, vous gagnez du temps pour ce qui compte vraiment : innover et résoudre des problèmes complexes.\n\nAvec GitLab Duo combiné à Amazon Q, vous pouvez :\n- Économiser des heures passées à intégrer manuellement des commentaires\n- Accélérer vos cycles de revue de code\n- Assurer une gestion cohérente des commentaires de revue\n- Réduire le changement de contexte entre la revue des commentaires et l'écriture du code\n- Livrer des fonctionnalités plus rapidement avec des temps de déploiement simplifiés\n\n> #### Pour approfondir vos connaissances sur GitLab Duo combiné à Amazon Q, participez à un [AWS Summit dans votre région](https://about.gitlab.com/fr-fr/events/aws-summits/) ou [contactez votre représentant GitLab](https://about.gitlab.com/fr-fr/partners/technology-partners/aws/).\n\n## Ressources dédiées à GitLab Duo combiné à Amazon Q\n\n- [GitLab Duo combiné à Amazon Q : l'IA agentique optimisée pour AWS est désormais disponible à tous les utilisateurs](https://about.gitlab.com/fr-fr/blog/gitlab-duo-with-amazon-q-agentic-ai-optimized-for-aws/)\n- [Page des solutions communes GitLab et AWS](https://about.gitlab.com/fr-fr/partners/technology-partners/aws/)\n- [Documentation dédiée à GitLab Duo combiné à Amazon Q](https://docs.gitlab.com/user/duo_amazon_q/)\n- [Qu'est-ce que l'IA agentique ?](https://about.gitlab.com/fr-fr/topics/agentic-ai/)\n- [L'IA agentique : guides et ressources](https://about.gitlab.com/fr-fr/blog/agentic-ai-guides-and-resources/)",[687,9,685,688,686,689],{"slug":1449,"featured":90,"template":691},"speed-up-code-reviews-let-ai-handle-the-feedback-implementation","content:fr-fr:blog:speed-up-code-reviews-let-ai-handle-the-feedback-implementation.yml","Speed Up Code Reviews Let Ai Handle The Feedback Implementation","fr-fr/blog/speed-up-code-reviews-let-ai-handle-the-feedback-implementation.yml","fr-fr/blog/speed-up-code-reviews-let-ai-handle-the-feedback-implementation",{"_path":1455,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1456,"content":1461,"config":1469,"_id":1471,"_type":13,"title":1472,"_source":15,"_file":1473,"_stem":1474,"_extension":18},"/fr-fr/blog/the-gitlab-ai-security-framework-for-security-leaders",{"config":1457,"title":1458,"description":1459,"ogTitle":1458,"ogDescription":1459,"ogImage":1460},{"noIndex":6},"Sécurité et IA : tout savoir sur le framework de GitLab","Découvrez comment les contrôles de sécurité, intégrations tierces et les politiques de rétention de GitLab Duo aident à implémenter l'IA en toute sécurité.\n","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1749664299/Blog/Hero%20Images/AdobeStock_887599633.jpg",{"tags":1462,"heroImage":1460,"authors":1463,"title":1458,"description":1466,"date":1467,"body":1468,"category":682},[684,9,685,790],[1464,1465],"Kyle Smith","Ayoub Fandi","Découvrez comment les contrôles de sécurité, les intégrations tierces et les politiques de rétention de GitLab Duo aident les équipes à implémenter l'IA en toute sécurité dans leur workflow de développement.","2025-09-11","Alors que les entreprises adoptent rapidement les technologies d'IA, les responsables de la sécurité des systèmes d'information (RSSI) font face à de nouveaux défis en matière de sécurité. De nombreux RSSI sont en effet confrontés à des questions inédites : comment évaluer les fournisseurs d'IA par rapport aux fournisseurs de logiciels traditionnels ? Quels sont les contrôles de sécurité les plus importants ? Où s'arrête la responsabilité du fournisseur et où commence celle du client ? Comment évaluer les risques de sécurité liés à l'IA dans le contexte du service fourni ? \n\nPour répondre à ces questions, nous avons créé le [framework de sécurité relatif à l'IA de GitLab](https://trust.gitlab.com/?itemUid=ad3d92c1-889e-49fc-b19c-2434f70071ee&source=click) afin de montrer aux responsables de la sécurité comment GitLab et ses clients peuvent garantir un développement sécurisé alimenté par l'IA avec [GitLab Duo](https://about.gitlab.com/fr-fr/gitlab-duo/ \" Qu'est-ce que GitLab Duo ?\").\n\n## La genèse des défis de sécurité liés à l'IA\n\nLes responsables sécurité de divers secteurs mentionnent tous le même schéma : leurs organisations adoptent rapidement les technologies d'IA pour améliorer la livraison logicielle, alors que leurs équipes sécurité peinent à établir des contrôles adéquats.\n\nCette problématique n'est pas simplement une question de ressources ou d'expertise, elle représente un changement fondamental dans la façon dont les organisations doivent aborder la sécurité à l'ère de l'IA. Les responsables sécurité assistent à une adoption rapide et sans précédent de l'IA dans leurs organisations, des équipes de développement aux départements marketing.\n\nLes organisations intègrent l'IA dans leurs propres logiciels, et nombre de leurs applications SaaS actuelles ont également des fonctionnalités d'IA. Bien que cette adoption favorise l'innovation et l'efficacité, elle crée également un ensemble complexe de problématiques de sécurité que les frameworks traditionnels n'étaient pas conçus pour traiter. \n\nVoici quelques-uns des défis spécifiques que nous avons identifiés.\n\n## Les défis de sécurité à l'ère de l'IA\n\n**1. Incertitudes concernant la responsabilité et le contrôle**\n\nEn raison du rythme rapide d'adoption de l'IA, de nombreuses organisations se retrouvent sans stratégie cohérente de gouvernance de sécurité. Les équipes de sécurité doivent alors essayer d'adapter les frameworks de sécurité existants pour répondre aux préoccupations spécifiques à l'IA. Quant aux responsables sécurité, ils tentent de comprendre où commencent et s’arrêtent leurs responsabilités en matière de sécurité liée à l'IA. La traditionnelle relation fournisseur-client se complexifie avec les systèmes d'IA, car les flux de données, l'entraînement des modèles et les processus d'inférence créent de nouveaux types d'interactions et de dépendances.\n\n**2. Évolution de l'évaluation des risques**\n\nLes modèles de risques de sécurité traditionnels peinent à capturer les caractéristiques uniques des systèmes d'IA. Les responsables sécurité constatent que les frameworks standards d'évaluation des risques ne traitent pas correctement les risques de sécurité spécifiques à l'IA, qui diffèrent selon l'implémentation et le contexte d'utilisation. Plus difficile encore, les organisations doivent évaluer les fournisseurs d'IA alors que leurs équipes de sécurité ne disposent pas forcément d'une expertise technique approfondie sur ce sujet.\n\n**3. Complexification de la protection des données**\n\nLes systèmes d'IA présentent des défis uniques en matière de protection des données. La façon dont ces systèmes traitent, apprennent et génèrent des données crée de nouveaux problèmes de confidentialité et de sécurité que les organisations doivent évaluer soigneusement. Les RSSI sont tenus de s'assurer que leurs frameworks de gouvernance des données évoluent afin de pouvoir s'adapter à la façon dont les systèmes d'IA utilisent et protègent les informations sensibles. Implémenter l'IA sans mesures de protection adéquates pourrait révéler par inadvertance des informations confidentielles dans les résultats générés par l'IA.\n\n**4. Conformité et normes**\n\nLe paysage réglementaire relatif à la sécurité de l'IA évolue rapidement : de nouvelles normes, notamment la [norme ISO 42001](https://about.gitlab.com/fr-fr/blog/gitlab-achieves-iso-iec-42001-certification-for-ai-governance/), sont mises en place en parallèle des frameworks existants. Les responsables sécurité doivent apprendre à gérer cet environnement complexe et s'assurer que leurs implémentations d'IA restent conformes aux réglementations actuelles et futures. Ils doivent trouver un équilibre entre adoption de l'IA et contrôles de sécurité robustes qui répondent aux exigences réglementaires.\n\n## Comment relever ces défis ?\n\nPour répondre aux préoccupations des RSSI, nous avons développé un framework complet pour aider les organisations à gérer la sécurité de l'IA dans le contexte de notre plateforme [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que le DevSecOps ?\") alimentée par l'IA. Notre framework de sécurité relatif à l'IA détaille notre implémentation axée sur la confidentialité de l'IA dans GitLab Duo et les procédures de validation de sécurité de nos fournisseurs d'IA. Il comprend également une matrice de responsabilités pour aider les responsables sécurité à gérer leurs tâches liées à la sécurité de l'IA et à innover dans un environnement sécurisé. Nous avons également compilé une sélection de risques de sécurité spécifiques à l'IA à garder à l'esprit et mis en évidence la façon dont les fonctionnalités de GitLab comme les [garde-fous relatifs aux prompts](https://about.gitlab.com/blog/how-gitlab-uses-prompt-guardrails-to-help-protect-customers/) peuvent aider à les atténuer.\n\n> Vous souhaitez en savoir plus sur nos contrôles de sécurité ? Consultez notre [framework de sécurité relatif à l'IA](https://trust.gitlab.com/?itemUid=ad3d92c1-889e-49fc-b19c-2434f70071ee&source=click).\n\n## En savoir plus\n\n* [Centre pour la transparence de l'IA de GitLab](https://about.gitlab.com/fr-fr/ai-transparency-center/)\n* [Améliorer la sécurité de l'IA dans GitLab avec des identités composites](https://about.gitlab.com/blog/improve-ai-security-in-gitlab-with-composite-identities/)\n* [Sécurité, conformité et IA : découvrez 3 nouvelles fonctionnalités GitLab](https://about.gitlab.com/blog/secure-compliant-and-ai-powered-get-to-know-3-new-gitlab-features/)\n* [Informations clés sur l'IA et sécurité de notre communauté de développeurs](https://about.gitlab.com/blog/icymi-key-ai-and-security-insights-from-our-developer-community/)",{"featured":6,"template":691,"slug":1470},"the-gitlab-ai-security-framework-for-security-leaders","content:fr-fr:blog:the-gitlab-ai-security-framework-for-security-leaders.yml","The Gitlab Ai Security Framework For Security Leaders","fr-fr/blog/the-gitlab-ai-security-framework-for-security-leaders.yml","fr-fr/blog/the-gitlab-ai-security-framework-for-security-leaders",{"_path":1476,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1477,"content":1483,"config":1490,"_id":1492,"_type":13,"title":1493,"_source":15,"_file":1494,"_stem":1495,"_extension":18},"/fr-fr/blog/the-ultimate-guide-to-token-management-at-gitlab",{"ogTitle":1478,"schema":1479,"ogImage":1480,"ogDescription":1481,"ogSiteName":673,"noIndex":6,"ogType":674,"ogUrl":1482,"title":1478,"canonicalUrls":1482,"description":1481},"Gestion des tokens sur GitLab : guide complet","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Guide complet pour la gestion des tokens sur GitLab\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Hakeem Abdul-Razak\"}],\n        \"datePublished\": \"2025-02-25\",\n      }","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097408/Blog/Hero%20Images/Blog/Hero%20Images/AdobeStock_1097303277_6gTk7M1DNx0tFuovupVFB1_1750097407860.jpg","Découvrez le processus de gestion, d'identification et de sécurisation des tokens et renforcez votre sécurité tout au long du cycle de développement logiciel.","https://about.gitlab.com/blog/the-ultimate-guide-to-token-management-at-gitlab",{"heroImage":1480,"body":1484,"authors":1485,"updatedDate":1487,"date":1488,"title":1478,"tags":1489,"description":1481,"category":790},"Imaginez le scénario suivant : un ingénieur travaille dans une entreprise technologique en pleine croissance et reçoit un appel urgent à 2 heures du matin. Un pipeline de déploiement critique a échoué, et son équipe essaie de comprendre les raisons de cet échec. Après des heures d'investigation, il réalise qu'un utilisateur a révoqué le jeton d'accès personnel d'un ingénieur qui a quitté l'entreprise une semaine plus tôt. Ce token étant lié à plusieurs processus d'automatisation clés, votre système est maintenant dans un état catastrophique. Comment faire en sorte que cette situation ne se reproduise plus ?\n\nDécouvrez dans cet article toutes les étapes de la gestion des tokens, de leur identification à leur sécurisation. Ce guide complète notre [documentation officielle sur les tokens](https://docs.gitlab.com/ee/security/tokens) et s'adresse aux administrateurs GitLab, aux équipes de développement et de sécurité qui doivent garantir une gestion efficace et sécurisée des tokens dans le cadre de leurs projets.\n\n## Sélection du token adapté au job\n\nChoisir le bon token garantit à la fois la sécurité et des fonctionnalités optimales selon votre cas d'utilisation. Les tokens peuvent servir à authentifier des requêtes API, à automatiser des [pipelines CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline CI/CD ?\"), à intégrer des outils tiers, à gérer des déploiements, à accéder aux dépôts et bien plus encore.\n\n![Guide de gestion des tokens - organigramme des jetons](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097435/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750097434869.png)\n\nLe graphique ci-dessus illustre un cas d'utilisation classique lié à la propriété d'un seul utilisateur. Pour plus d'informations, consultez notre documentation sur les rôles et autorisations des utilisateurs dans chaque [espace de nommage](https://docs.gitlab.com/ee/user/permissions.html) (utilisateur/groupe) au sein de votre instance ou groupe principal.\n\nVoici quelques exemples d'utilisation :\n\n* Les **jetons d'accès personnel** ([PAT](https://docs.gitlab.com/user/profile/personal_access_tokens/#personal-access-token-scopes)) peuvent être utilisés lorsque l'accès personnel et les autorisations d'un utilisateur sont requis. Dans ce cas, les identifiants de connexion suivent le statut et les autorisations du compte de l'utilisateur, y compris sa révocation si le compte perd l'accès à un projet ou à un groupe spécifique (ou est entièrement bloqué).\n\n* Les **tokens d'accès au projet/groupe** ([PrAT](https://docs.gitlab.com/user/project/settings/project_access_tokens/#scopes-for-a-project-access-token) / [GrAT](https://docs.gitlab.com/user/group/settings/group_access_tokens/#scopes-for-a-group-access-token)) sont recommandés lorsque l'accès doit être limité aux ressources d'un projet/groupe spécifique. Ainsi, tout utilisateur disposant d'un PrAT/GrAT peut accéder à ces ressources via des mécanismes gérés par des portées attribuées.\n\n## Types de tokens\n\nVoici la liste des tokens GitLab, avec leurs préfixes par défaut et le principal cas d'utilisation associé. Pour plus de détails, consultez la [page de présentation des tokens GitLab](https://docs.gitlab.com/ee/security/tokens/#available-scopes).\n\n| Tokens                            | Préfixe | Description |\n| --------------------------------- | ------- | ----------- |\n| Jeton d'accès personnel           | glpat   | Accès aux données propres à l'utilisateur |\n| Token OAuth 2.0                   | gloas   | Authentification à l'aide du protocole OAuth2.0 pour des intégrations tierces |\n| Token d'emprunt d'identité        | glpat   | Possibilité d'agir au nom d'un autre utilisateur à des fins d'administration |\n| Token d'accès au projet           | glpat   | Accès aux données d'un projet spécifique |\n| Token d'accès au groupe           | glpat   | Accès aux données d'un groupe spécifique |\n| Token de déploiement              | gldt    | Accès aux images d'un registre de conteneurs pour cloner ou effectuer un push/pull sans identifiants utilisateur ni mot de passe |\n| Clés de déploiement               | N/A     | Accès en lecture seule ou en lecture-écriture aux dépôts |\n| Token d'accès au runner           | glrt    | Authentification des GitLab Runners |\n| Token de job CI/CD                | glcbt   | Automatisation des processus CI/CD |\n| Token de déclenchement            | glptt   | Déclenchement manuel ou automatique des pipelines |\n| Token de flux                     | glft    | Authentification de l'accès aux flux de paquets/RSS |\n| Token d'e-mail entrant            | glimt   | Traitement des e-mails entrants |\n| Token GitLab Agent for Kubernetes | glagent | Gestion des clusters [Kubernetes](https://about.gitlab.com/fr-fr/blog/kubernetes-the-container-orchestration-solution/ \"Qu'est-ce que Kubernetes ?\") via GitLab Agent |\n| Tokens SCIM                       | glsoat  | Activation des intégrations SCIM pour le provisionnement des utilisateurs |\n| Token client pour feature flags   | glffct  | Activation automatisée des feature flags |\n| Token de webhook                  | N/A     | Token de secret défini par l'utilisateur pour sécuriser les charges utiles des webhooks et vérifier que les requêtes proviennent de GitLab |\n\n## Identification des tokens utilisés\n\n### Inventaire des identifiants de connexion\n\nAvec GitLab Ultimate, les administrateurs (GitLab Self-Managed) et les propriétaires de groupe principal (GitLab.com, à partir de la version 17.5) peuvent surveiller les identifiants de connexion dans leur espace de nommage.\n\nCet inventaire permet de suivre les détails des tokens, notamment :\n\n* Le type de tokens\n* Les tokens disponibles sur [GitLab.com](https://docs.gitlab.com/ee/user/group/credentials_inventory.html)\n* Les tokens disponibles sur [GitLab Self-Managed](https://docs.gitlab.com/ee/administration/credentials_inventory.html)\n* Les comptes utilisateurs associés\n* Les portées des tokens, ainsi que leur date de création et d'expiration\n* Les adresses IP des derniers tokens utilisés (à partir de GitLab 17.10)\n* Le filtrage des tokens en fonction des paramètres définis par l'utilisateur\n* La possibilité de révoquer et de procéder à une rotation de ces tokens\n\nTenir correctement un inventaire des identifiants de connexion permet d'identifier les tokens avec des autorisations excessives et ceux dont la rotation est requise, ce qui garantit un workflow sécurisé et efficace.\n\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/A9ONfnwswd0?si=4VIEUgJaD4daj81b&amp;start=105\" frameborder=\"0\" allowfullscreen=\"true\">\u003C/iframe>\n\u003C/figure>\n\n#### API dédiée pour l'inventaire des identifiants\n\nEn complément de l'interface utilisateur, une API d'inventaire des identifiants de connexion permet d’accéder à cet inventaire via le nouveau [point de terminaison](https://docs.gitlab.com/ee/api/members.html#list-all-members-of-a-group-or-project) /group/:id/manage. Les identifiants de connexion accessibles sous ce point de terminaison sont réservés aux [comptes utilisateurs Entreprise](https://docs.gitlab.com/ee/user/enterprise_user/) ayant souscrit un abonnement GitLab. Ils ne peuvent être consultés que par le propriétaire du groupe principal du projet de l'entreprise concernée.\n\nVoici à quoi pourrait ressembler un appel API à l'avenir :\n\n```console\ncurl --header \"PRIVATE-TOKEN: \u003Cpat>\"\ncurl --header \"PRIVATE-TOKEN: \u003Cpat>\" \"https://verified_domain.com/api/v4/groups/\u003Cgroup_id>/manage/personal_access_tokens\"\n```\n\n### API GitLab\n\nL'API GitLab vous permet de répertorier et de gérer les tokens automatiquement (à l'aide de scripts ou d'applications) au sein de votre entreprise. Les points de terminaison clés liés à l'authentification prennent en charge [différents types de tokens](https://docs.gitlab.com/ee/api/rest/authentication.html), notamment les jetons d'accès personnel, les tokens d'accès au groupe, les tokens de job CI/CD, entre autres. Voici un exemple d'utilisation d'un jeton d'accès personnel qui répertorie tous les projets visibles sur GitLab pour l'utilisateur authentifié :\n\n```console\ncurl --header \"PRIVATE-TOKEN: \u003Cyour_access_token>\" \"https://gitlab.example.com/api/v4/projects\"\n```\n\nRegardez cette vidéo et découvrez comment effectuer des appels à l'API GitLab.\n\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/0LsMC3ZiXkA?si=vj871YH610jwQdFc\" frameborder=\"0\" allowfullscreen=\"true\">\u003C/iframe>\n\u003C/figure>\n\n### Identification de l’utilisation des tokens\n\nVous pouvez identifier de différentes manières les emplacements ou les contextes dans lesquels les tokens sont utilisés :\n\n* Depuis **Paramètres utilisateur > [Jetons d'accès](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html#view-the-time-at-and-ips-where-a-token-was-last-used)**\n* Dans l'inventaire des identifiants de connexion\n* Dans les événements d'audit\n* Via l'API\n\nLes informations sur l'utilisation des tokens sont mises à jour toutes les 10 minutes pour **last_used** et toutes les minutes pour **last_used_ip**.\n\nLa possibilité d'afficher les adresses IP a été introduite dans GitLab 17.9 et est contrôlée par le feature flag **:pat_ip**. Suivez ces [étapes pour afficher la dernière fois où un token a été utilisé](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html#view-the-time-at-and-ips-where-a-token-was-last-used), ainsi que ses cinq dernières adresses IP distinctes.\n\n![Guide de gestion des tokens - paramètres des jetons d'accès personnels](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097435/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097434870.png)\n\n## Gestion des tokens dans l'API et l'interface utilisateur de GitLab\n\nLe tableau suivant répertorie des vidéos qui présentent plusieurs créations de tokens dans l'interface utilisateur et leur utilisation via l'API.\n\n| Tokens                  | UI GitLab | API GitLab |\n| ----------------------- | --------- | ---------- |\n| Jeton d'accès personnel | [Documentation](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html#create-a-personal-access-token) et [vidéo](https://youtu.be/v5Nj3Jy4vaI?t=3) | [Documentation](https://docs.gitlab.com/ee/api/personal_access_tokens.html) et [vidéo](https://youtu.be/v5Nj3Jy4vaI?t=43) |\n| Token d'accès au groupe | [Documentation](https://docs.gitlab.com/ee/user/group/settings/group_access_tokens.html#group-access-tokens) et [vidéo](https://youtu.be/v5Nj3Jy4vaI?t=120) | [Documentation](https://docs.gitlab.com/ee/api/group_access_tokens.html) et [vidéo](https://youtu.be/v5Nj3Jy4vaI?t=157) |\n| Token d'accès au projet | [Documentation](https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html#project-access-tokens) et [vidéo](https://youtu.be/v5Nj3Jy4vaI?t=254) | [Documentation](https://docs.gitlab.com/ee/api/project_access_tokens.html) et [vidéo](https://youtu.be/v5Nj3Jy4vaI?t=285) |\n\n## Gestion de la rotation et de l'expiration des tokens\n\nLa mise en œuvre d'une rotation des tokens et de règles d'expiration strictes permet de réduire les risques de compromission et de garantir la conformité aux normes de sécurité. Une rotation régulière et des expirations contrôlées empêchent que les identifiants de connexion obsolètes ne deviennent des failles de sécurité.\n\nAuparavant, les tokens d'accès au groupe et au projet arrivés à expiration étaient automatiquement supprimés, ce qui compliquait les audits et les analyses de résultats des scans de sécurité en raison de l'absence d'historique de ces tokens inactifs. Pour remédier à ce problème, une [fonctionnalité](https://gitlab.com/gitlab-org/gitlab/-/issues/462217) a introduit la conservation dans l'interface utilisateur des enregistrements de tokens d'accès au groupe et au projet inactifs pendant 30 jours après leur expiration. Cette amélioration permet aux équipes de suivre l'utilisation, l'expiration et la révocation des tokens et offre ainsi une meilleure conformité et un meilleur contrôle.\n\nPour gérer de manière proactive la rotation et l'expiration de vos tokens, procédez comme suit :\n\n* Régénérez activement vos tokens via l'interface utilisateur ou l'API. Si vous utilisez l'API, tenez compte du mécanisme de sécurité de [détection automatique de la réutilisation des tokens](https://docs.gitlab.com/ee/api/personal_access_tokens.html#automatic-reuse-detection).\n\n* Définissez une [limite de durée de validité maximale](https://docs.gitlab.com/ee/administration/settings/account_and_limit_settings.html#limit-the-lifetime-of-access-tokens) à l'échelle de l'instance pour les tokens d'accès.\n\n### API de rotation des tokens\n\nJusqu'à la version GitLab 17.7, les utilisateurs devaient effectuer une rotation automatique des tokens d'accès exclusivement via l'API. Cette fonctionnalité est maintenant disponible dans l'interface utilisateur. Pour en savoir plus, regardez les vidéos dans le tableau ci-dessous ou consultez notre [documentation](https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html#use-the-ui).\n\n### Extraits de code pour la rotation des tokens\n\nLe tableau suivant regroupe des vidéos expliquant le processus de rotation des tokens dans GitLab.\n\n| Tokens                  | Prérequis | UI GitLab | API GitLab |\n| ----------------------- | --------- | --------- | ---------- |\n| Jeton d'accès personnel | Portée : API | [Documentation](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html#create-a-personal-access-token) et [vidéo](https://youtu.be/v5Nj3Jy4vaI?t=76) | [Documentation](https://docs.gitlab.com/ee/api/personal_access_tokens.html#rotate-a-personal-access-token) et [vidéo](https://youtu.be/v5Nj3Jy4vaI?t=92) |\n| Token d'accès au groupe | Portée : API et rôle(s) : propriétaire | [Documentation](https://docs.gitlab.com/ee/user/group/settings/group_access_tokens.html#create-a-group-access-token-using-ui) et [vidéo](https://youtu.be/v5Nj3Jy4vaI?t=203) | [Documentation](https://docs.gitlab.com/ee/api/group_access_tokens.html) et [vidéo](https://youtu.be/v5Nj3Jy4vaI?t=214) |\n| Token d'accès au projet | Portée : API et rôle(s) : propriétaire, chargé de maintenance | [Documentation](https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html#create-a-project-access-token) et [vidéo](https://youtu.be/v5Nj3Jy4vaI?t=335) | [Documentation](https://docs.gitlab.com/ee/api/project_access_tokens.html) et [vidéo](https://youtu.be/v5Nj3Jy4vaI?t=349) |\n\n## Bonnes pratiques de gestion des tokens\n\n### Principe de moindre privilège\n\nAtténuez les risques en limitant les autorisations attribuées aux tokens à celles strictement nécessaires à leurs tâches respectives. Vous pourrez ainsi anticiper et résoudre de manière proactive les points de défaillance de vos systèmes.\n\nPour ce faire, procédez comme suit :\n\n* Sélectionnez le token adapté au job. Consultez l'organigramme en cas de besoin.\n* Attribuez uniquement les portées nécessaires lors de la création d'un token. Par exemple, utilisez des portées en lecture seule pour les tokens employés à des fins d'audit. Consultez notre documentation sur les [rôles](https://docs.gitlab.com/ee/user/permissions.html#roles).\n* Évitez d'accorder des privilèges d'administrateur, sauf si cela est explicitement requis.\n* Appliquez une [durée de validité](https://docs.gitlab.com/ee/administration/settings/account_and_limit_settings.html#set-a-lifetime-1) par défaut à l'échelle de l'instance.\n* Examinez et auditez régulièrement les autorisations octroyées aux tokens pour vous assurer de leur adéquation avec les besoins opérationnels actuels.\n* Révoquez les tokens une fois leur tâche terminée.\n\n\n\n### Comptes de service\n\nLes [comptes de service](https://docs.gitlab.com/ee/user/profile/service_accounts.html) associent les tokens à des entités non humaines, ce qui permet de les distinguer des comptes d'utilisateurs et de réduire la dépendance à des utilisateurs spécifiques. Au lieu d'utiliser des comptes personnels pour générer des tokens à des fins d'automatisation, créez des comptes de service avec des portées limitées.\n\nVoici les principaux avantages :\n\n* Utilisation de tokens de compte de service dans les pipelines CI/CD pour éviter les perturbations causées par les modifications de compte d'utilisateur\n* Automatisation des processus de rotation, sans impact sur les comptes personnels\n* Suivi ciblé et piste d'audit plus clairs des actions entreprises par les comptes de service\n* Comptes de service [sans date d'expiration](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html#create-a-service-account-personal-access-token-with-no-expiry-date)\n* Aucun [siège de licence](https://docs.gitlab.com/user/profile/service_accounts/#create-a-service-account) consommé\n\nGitLab a lancé une nouvelle [interface utilisateur dédiée aux comptes de service](https://gitlab.com/groups/gitlab-org/-/epics/9965) en complément de leur [création via l'API](https://docs.gitlab.com/ee/api/user_service_accounts.html#create-a-service-account-user), afin de simplifier leur gestion et celle des tokens associés. Regardez la démo ci-dessous sur l'utilisation automatique des comptes de service.\n\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/oZvjg0SCsqY?si=cj-0LjfeonLGXv9u\" frameborder=\"0\" allowfullscreen=\"true\">\u003C/iframe>\n\u003C/figure>\n\n### Outils de détection des vulnérabilités\n\nTirez parti des outils de sécurité intégrés à la plateforme GitLab pour détecter et atténuer les vulnérabilités associées à l'utilisation des tokens. Pour une protection optimale, il est recommandé d'utiliser l'ensemble de ces outils de manière combinée.\n\n* [Détection des secrets](https://docs.gitlab.com/ee/user/application_security/secret_detection/) : analyse votre dépôt à la recherche de secrets codés en dur, tels que les tokens d'API, les mots de passe et d'autres informations contenant des données sensibles. Consultez la [liste des secrets détectés](https://docs.gitlab.com/ee/user/application_security/secret_detection/detected_secrets.html).\n* [Tests statiques de sécurité des applications (SAST)](https://docs.gitlab.com/ee/user/application_security/sast/) : analyse votre code source à la recherche de failles de sécurité et [fournit des rapports intégrés aux merge requests contenant les résultats de l'interface utilisateur](https://docs.gitlab.com/ee/user/application_security/sast/#features), entre autres fonctionnalités.\n* [Analyse des dépendances](https://docs.gitlab.com/ee/user/application_security/dependency_scanning/) : assure que les bibliothèques tierces utilisées dans votre projet ne présentent pas de vulnérabilités liées aux tokens.\n\n### Journaux d'audit et surveillance\n\nVeillez à l'intégrité de vos tokens en examinant régulièrement les journaux d'audit et les données d'utilisation des tokens au niveau de l'instance et/ou du groupe.\n\n* [Événements d'audit](https://docs.gitlab.com/ee/user/compliance/audit_events.html) : activez la journalisation des événements d'audit dans GitLab pour suivre les activités liées aux tokens, telles que la création, l'utilisation, la révocation et les appels API suspects (paramètres non autorisés dans les journaux, déclenchements répétés du limiteur de débit).\n* [Liste des adresses IP autorisées](https://docs.gitlab.com/ee/administration/reporting/ip_addr_restrictions.html#configure-ip-address-restrictions) : permet d'empêcher qu'un utilisateur malveillant masque ses activités derrière plusieurs adresses IP.\n* [Alertes](https://docs.gitlab.com/ee/operations/incident_management/alerts.html) : configurez des alertes pour les activités inhabituelles (déclenchement d'une remontée d'alerte d'incident lors des rotations d'astreinte ou création d'incidents).\n* [Inventaire des identifiants de connexion](https://docs.gitlab.com/ee/administration/credentials_inventory.html) : contrôlez l'ensemble des tokens d'accès disponibles avec la possibilité de les révoquer si nécessaire.\n* [Notifications](https://docs.gitlab.com/ee/user/profile/notifications.html) : gérez de manière proactive tous les e-mails de notification d'expiration de tokens (d'accès au groupe/projet et personnel) que vous recevez. Suite aux retours de nos clients, cette fonctionnalité a été étendue pour inclure des notifications à 30 jours et 60 jours, en plus de la notification par défaut à 7 jours.\n* [Webhooks](https://docs.gitlab.com/ee/user/project/integrations/webhooks.html#create-a-webhook) : les webhooks de tokens d'accès peuvent être configurés sur les groupes et les projets pour envoyer des événements d'expiration de tokens à sept jours. Cette fonctionnalité a également été étendue pour inclure des notifications à 30 jours et 60 jours via le feature flag **:extended_expiry_webhook_execution_setting** (désactivé par défaut).\n\n## Perspectives\n\nCompte tenu du vaste catalogue de tokens de GitLab, nous avons [prévu](https://gitlab.com/gitlab-org/gitlab/-/issues/502630) une consolidation axée sur la durée de validité, les portées affinées, la gestion cohérente et l'utilisation. En ce qui concerne les fonctionnalités liées aux tokens, nous avons identifié les priorités suivantes : une interface utilisateur complète pour les comptes de service, l'ajout de nouveaux types d'identifiants dans l'inventaire des identifiants de connexion et une amélioration de l'audit des tokens et comptes de service.\n\n> [Essayez GitLab Ultimate gratuitement](https://about.gitlab.com/free-trial/) et commencez à utiliser les fonctionnalités de gestion des tokens.\n",[1486],"Hakeem Abdul-Razak","2025-07-01","2025-02-25",[689,790,685,9,687],{"slug":1491,"featured":90,"template":691},"the-ultimate-guide-to-token-management-at-gitlab","content:fr-fr:blog:the-ultimate-guide-to-token-management-at-gitlab.yml","The Ultimate Guide To Token Management At Gitlab","fr-fr/blog/the-ultimate-guide-to-token-management-at-gitlab.yml","fr-fr/blog/the-ultimate-guide-to-token-management-at-gitlab",{"_path":1497,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1498,"content":1504,"config":1510,"_id":1512,"_type":13,"title":1513,"_source":15,"_file":1514,"_stem":1515,"_extension":18},"/fr-fr/blog/top-10-gitlab-workflow-hacks-you-need-to-know",{"title":1499,"description":1500,"ogTitle":1499,"ogDescription":1500,"noIndex":6,"ogImage":1501,"ogUrl":1502,"ogSiteName":673,"ogType":674,"canonicalUrls":1502,"schema":1503},"Workflows GitLab : top 10 des hacks à connaître","Amanda Rueda, notre Sr. Product Manager partage ses astuces pour naviguer rapidement et efficacement sur la plateforme DevSecOps de GitLab et améliorer la collaboration en équipe.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099361/Blog/Hero%20Images/Blog/Hero%20Images/lightvisibility_lightvisibility.png_1750099361252.png","https://about.gitlab.com/blog/top-10-gitlab-workflow-hacks-you-need-to-know","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Workflows GitLab : top 10 des hacks à connaître\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Amanda Rueda\"}],\n        \"datePublished\": \"2024-04-09\",\n      }",{"title":1499,"description":1500,"authors":1505,"heroImage":1501,"date":1506,"body":1507,"category":1508,"tags":1509},[769],"2024-04-09","Dans le monde du développement logiciel, être efficace n'est pas seulement une question de rapidité, c'est aussi une question de navigation intelligente. En tant que Sr. Product Manager, je comprends parfaitement la valeur de l'efficacité lorsque l'on travaille au sein d’une plateforme DevSecOps.\n\nVoici mes 10 fonctionnalités GitLab préférées et il se peut que ce soit celles dont vous ayez vraiment besoin pour améliorer votre workflow.\n\n## 1. La résolution des commentaires\n\nLa résolution des commentaires est utile pour les merge requests, mais elle l’est également pour les tickets, car elle permet de réduire considérablement le bruit et de rationaliser la gestion des tâches. \n\n> **Pourquoi est-ce que j'aime cette fonctionnalité ?** Non seulement la résolution des commentaires permet de réduire le bruit autour d'un ticket, mais c'est aussi un excellent moyen de gérer les tâches.\n> \n> **Cas d'utilisation.** La résolution des commentaires est un excellent outil pour les tickets sur lesquels vous recueillez des retours. Répondez aux commentaires et fournissez un lien, résolvez le commentaire et passez au suivant.\n> \n> __[Documentation pratique](https://docs.gitlab.com/ee/user/discussions/#resolve-a-thread)__\n\n![exemple de résolution de commentaires - image 1](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099376/Blog/Content%20Images/Blog/Content%20Images/image5_aHR0cHM6_1750099376147.gif)\n\n\u003Cp>\u003C/p>\n\n## 2. Les commentaires internes\n\nAdressez-vous directement à votre équipe. Gardez les discussions privées au sein d'un ticket ou d'une merge request, les commentaires n'étant visibles que par les membres de votre équipe. C'est l'équilibre parfait entre transparence et confidentialité.\n\n> **Pourquoi est-ce que j'aime cette fonctionnalité ?** Elle permet d'équilibrer la confidentialité et la transparence, tout en permettant à la communauté d'avoir accès à une discussion plus large.\n> \n> **Cas d'utilisation.** Lorsqu'elle coordonne le lancement d'un produit, votre équipe marketing peut utiliser les commentaires internes pour discuter et affiner le message et la stratégie. Cela permet de centraliser vos discussions et de les rendre facilement accessibles à l'équipe lors de la phase de réflexion.\n> \n> **[Documentation pratique](https://docs.gitlab.com/ee/user/discussions/#add-an-internal-note)**\n\n![exemple de commentaires internes](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099376/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750099376148.png)\n\n\u003Cp>\u003C/p>\n\n## 3. Les filtres\n\nLorsque vous recherchez des informations, l'utilisation de filtres et/ou vous aide à trouver exactement ce que vous recherchez, rapidement et efficacement.\n\n> **Pourquoi est-ce que j'aime cette fonctionnalité ?** Cette fonctionnalité est idéale pour trouver exactement ce dont vous avez besoin et avoir des workflows efficaces et rationalisés.\n> \n> **Cas d'utilisation.** Recherchez des tickets relatifs à une initiative en particulier qui sont assignés à des groupes spécifiques.\n>\n> __[Documentation pratique](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#filter-with-the-or-operator)__\n\n![exemple de filtre et/ou](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099376/Blog/Content%20Images/Blog/Content%20Images/and_or__1__aHR0cHM6_1750099376152.gif)\n\n\u003Cp>\u003C/p>\n\n## 4. Les URL\n\nL'ajout de « + » ou de « +s » à la fin d'une URL GitLab la transforme en un extrait informatif, ce qui vous permet de partager vos progrès sans obliger vos collaborateurs à quitter la page.\n\n> **Pourquoi est-ce que j'aime cette fonctionnalité ?** C'est comme avoir une vision à rayons X pour les URL : vous voyez ce qui est important sans même avoir à cliquer !\n> \n> **Cas d'utilisation.** Vous souhaitez partager vos progrès dans les commentaires ? Ajoutez simplement « +s » au lien et tout le monde est instantanément sur la même longueur d'onde.\n> \n> __[Documentation pratique](https://docs.gitlab.com/ee/user/markdown.html#show-the-issue-merge-request-or-epic-title-in-the-reference)__\n\n![exemple de développement automatique d'URL](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099376/Blog/Content%20Images/Blog/Content%20Images/image7_aHR0cHM6_1750099376154.gif)\n\n\u003Cp>\u003C/p>\n\n## 5. Les actions rapides\n\nGrâce à de simples commandes textuelles, les actions rapides vous permettent d'effectuer des tâches telles que l'assignation d'utilisateurs, l'ajout de labels, etc., directement à partir de la description ou de la zone de commentaire.\n\n> **Pourquoi est-ce que j'aime cette fonctionnalité ?** Elle permet d’économiser des clics et du temps.\n> \n> **Cas d'utilisation.** Lorsque je crée un nouveau ticket, j'utilise des actions rapides pour ajouter automatiquement des labels et me connecter à l'epic lors de l'enregistrement. \n> \n> __[Documentation pratique](https://docs.gitlab.com/ee/user/project/quick_actions.html)__\n\n![exemple d'actions rapides](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099376/Blog/Content%20Images/Blog/Content%20Images/image6_aHR0cHM6_1750099376156.gif)\n\n\u003Cp>\u003C/p>\n\n## 6. La modification en masse\n\nAppliquez des labels ou changez les assignés sur plusieurs tickets à la fois. Cette fonctionnalité transforme des mises à jour potentiellement fastidieuses en un jeu d'enfant, permettant d'ajuster rapidement de nombreux tickets.\n\n> **Pourquoi est-ce que j'aime cette fonctionnalité ?** Parce qu'elle transforme les mises à jour fastidieuses en un véritable gain de temps.\n> \n> **Cas d'utilisation.** Vous souhaitez taguer l’ensemble des tickets d’un sprint, car ils nécessitent une révision ? Pour cela, il vous suffit de filtrer, de tout sélectionner et d'ajouter votre label en masse, en toute simplicité.\n> \n> __[Documentation pratique](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#bulk-edit-issues-from-a-project)__\n\n![exemple de modification en bloc](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099376/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750099376157.gif)\n\n\u003Cp>\u003C/p>\n\n## 7. Les epics\n\nRegroupez les tickets sous forme d'epics sur votre tableau afin de suivre visuellement les progrès et d'en discuter. C'est un moyen efficace de contextualiser le travail lors des révisions ou des réunions.\n\n> **Pourquoi est-ce que j'aime cette fonctionnalité ?** Vous comprenez facilement le contexte du travail lorsque vous consultez le tableau.\n> \n> **Cas d'utilisation.** Lors des réunions, regroupez votre travail par epics afin de pouvoir plus facilement visualiser le travail effectué.\n> \n> __[Documentation pratique](https://docs.gitlab.com/ee/user/project/issue_board.html#group-issues-in-swimlanes)__\n\n![exemple de couloirs epic](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099376/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750099376158.gif)\n\n\u003Cp>\u003C/p>\n\n## 8. Les diagrammes Wiki\n\nIllustrez des idées et des workflows directement dans vos pages wiki grâce à des diagrammes faciles à créer. Cette fonctionnalité prend en charge l'apprentissage visuel et simplifie les concepts complexes.\n\n> **Pourquoi est-ce que j'aime cette fonctionnalité ?** Elle est intuitive et flexible.\n> \n> **Cas d'utilisation.** Lorsque vous définissez le workflow d'une nouvelle fonctionnalité, dessinez-le directement sur la page wiki, afin que tout le monde au sein de l'équipe puisse le visualiser.\n> \n> __[Documentation pratique](https://docs.gitlab.com/ee/administration/integration/diagrams_net.html)__\n\n![exemple de diagrammes wiki](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099376/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750099376159.gif)\n\n\u003Cp>\u003C/p>\n\n## 9. La création de tableaux\n\nOubliez les difficultés liées au markdown pour la création de tableaux. L'éditeur de texte enrichi vous permet d'insérer et de mettre en forme des tableaux sans effort, ce qui rend la documentation plus claire et plus structurée.\n\n> **Pourquoi est-ce que j'aime cette fonctionnalité ?** Elle facilite la création de tableaux en permettant de rendre les mises à jour propres et structurées en quelques clics.\n> \n> **Cas d'utilisation.** Vous compilez la rétro d'un sprint ? Ajoutez rapidement un tableau pour organiser les commentaires, les mesures à prendre et les responsables, afin de faciliter le processus de révision pour tout le monde.\n> \n> __[Documentation pratique](https://docs.gitlab.com/ee/user/rich_text_editor.html#tables)__ \n\n![exemple de création de tableau](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099376/Blog/Content%20Images/Blog/Content%20Images/image8_aHR0cHM6_1750099376160.gif)\n\n\u003Cp>\u003C/p>\n\n## 10. L'intégration de vidéos et de GIF\n\nAméliorez les descriptions ou les commentaires de vos tickets et de vos epics en y intégrant des GIF et des vidéos YouTube, afin d'ajouter une couche dynamique à votre communication.\n\n> **Pourquoi est-ce que j'aime cette fonctionnalité ?** Parfois, un GIF ou une vidéo sont plus parlants que des mots.\n> \n> **Cas d'utilisation.** Vous essayez d'expliquer un bug UI ? Intégrez une vidéo YouTube pour une présentation rapide de l'amélioration des fonctionnalités proposées.\n\n![exemple d'incorporation vidéo et gif](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099376/Blog/Content%20Images/Blog/Content%20Images/gif__1__aHR0cHM6_1750099376161.gif)\n\n\u003Cp>\u003C/p>\n\n## Explorez ces fonctionnalités\n\nCes fonctionnalités ne représentent qu'un aperçu de la plateforme DevSecOps de GitLab, conçue pour accroître l'efficacité et favoriser une meilleure collaboration. Bien qu'elles soient peut-être sous-utilisées, leur impact sur votre workflow pourrait être considérable. Nous vous encourageons à explorer davantage ces fonctionnalités et à les intégrer dans vos habitudes quotidiennes.\n\n> Vous souhaitez dynamiser votre workflow DevSecOps à l'aide de GitLab ? [Essayez GitLab Ultimate gratuitement pendant 30 jours](https://gitlab.com/-/trial_registrations/new). \n","devsecops",[689,685,9,935],{"slug":1511,"featured":6,"template":691},"top-10-gitlab-workflow-hacks-you-need-to-know","content:fr-fr:blog:top-10-gitlab-workflow-hacks-you-need-to-know.yml","Top 10 Gitlab Workflow Hacks You Need To Know","fr-fr/blog/top-10-gitlab-workflow-hacks-you-need-to-know.yml","fr-fr/blog/top-10-gitlab-workflow-hacks-you-need-to-know",{"_path":1517,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1518,"content":1524,"config":1531,"_id":1533,"_type":13,"title":1534,"_source":15,"_file":1535,"_stem":1536,"_extension":18},"/fr-fr/blog/unveiling-a-new-epic-experience-for-improved-agile-planning",{"ogTitle":1519,"schema":1520,"ogImage":1521,"ogDescription":1522,"ogSiteName":673,"noIndex":6,"ogType":674,"ogUrl":1523,"title":1519,"canonicalUrls":1523,"description":1522},"Epics : améliorez la planification Agile avec GitLab","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Epics : une nouvelle expérience pour une meilleure planification Agile avec GitLab\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Amanda Rueda\"}],\n        \"datePublished\": \"2024-07-03\",\n      }","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749660011/Blog/Hero%20Images/blog-image-template-1800x945__21_.png","La nouvelle expérience des epics améliore la planification de vos workflows et offre une migration fluide pour une meilleure gestion de projet.","https://about.gitlab.com/blog/unveiling-a-new-epic-experience-for-improved-agile-planning",{"heroImage":1521,"body":1525,"authors":1526,"updatedDate":1527,"date":1528,"title":1529,"tags":1530,"description":1522,"category":776},"Dans notre démarche continue d'amélioration de l'expérience de planification Agile dans GitLab, nous avons [dévoilé il y a quelques mois un nouveau design](https://about.gitlab.com/blog/first-look-the-new-agile-planning-experience-in-gitlab/). Cette mise à jour contribue à notre effort global visant à vous proposer un outil de planification unifié, flexible et adapté à vos besoins. \n\nCet article explore un élément clé de ce projet : la nouvelle expérience des epics. Examinons ensemble cette nouvelle expérience, ainsi que les raisons derrière ces changements visant à améliorer vos capacités de gestion de projet.\n\n## Quels sont les avantages de cette nouvelle expérience ?\n\n### À l'écoute de nos utilisateurs\n\nNotre mission est de vous offrir une expérience de planification Agile complète. C'est pourquoi nous restons constamment à votre écoute. Certains utilisateurs nous ont signalé des difficultés liées à la mise en œuvre actuelle des epics, telles que des fonctionnalités incohérentes entre les epics et les tickets, ou encore des problèmes de flexibilité avec divers workflows. Certains points de friction concernent les outils de workflow, notamment l'absence de personnes assignées au niveau des epics et le manque de modèles réutilisables. Notre nouvelle expérience élimine ces points de friction et offre une planification Agile plus intuitive et efficace.\n\n### Un framework unifié pour les éléments de travail\n\nPour résoudre ces problèmes, nous avons mis en place un framework unifié pour les éléments de travail. Cette nouvelle architecture assure la cohérence entre tous les objets liés à la planification (epics, tickets et tâches) et permet de simplifier l'expérience utilisateur et de la rendre plus fonctionnelle. En consolidant le code sous-jacent, nous pouvons fournir de nouvelles fonctionnalités et des améliorations plus rapidement, pour un processus de planification plus fluide et plus fiable.\n\n> Découvrez [toutes les nouveautés de la planification Agile dans GitLab](https://about.gitlab.com/blog/first-look-the-new-agile-planning-experience-in-gitlab/).\n\n## Quelles sont les caractéristiques clés de cette nouvelle expérience ?\n\n### Une page de détails améliorée\n\nL'un des changements les plus importants est la refonte de la page de détails des epics. Son nouveau design offre une interface plus propre et plus intuitive, ce qui facilite la gestion et le suivi de vos epics.\n\nVoici quelques-unes des nouvelles fonctionnalités clés :\n\n* **Assignés** : attribuez des epics aux membres de votre équipe pour améliorer la responsabilisation et la supervision.\n* **Indicateurs de progression** : évaluez en un coup d'œil le statut de vos epics grâce à ces nouveaux indicateurs.\n* **Suivi du temps** : profitez d'une meilleure visibilité sur le temps consacré aux projets et favorisez une utilisation plus efficace des ressources.\n* **Ascendance** : consultez l'origine hiérarchique complète de vos epics.\n* **Description condensée** : consultez facilement de longues descriptions d'éléments de travail sans perdre de temps à parcourir toutes les informations. Les descriptions sont tronquées par défaut mais peuvent être affichées complètement à l'aide du lien « Afficher plus ». Votre workflow est ainsi simplifié : vous pouvez rapidement consulter les descriptions et les développer uniquement en cas de besoin, ce qui permet de réduire l'encombrement et d'améliorer la lisibilité.\n* **Couleur personnalisée** : vous pouvez désormais personnaliser la couleur des epics qui apparaissent sur la roadmap en définissant une couleur personnalisée, en utilisant des codes hexadécimaux ou RVB, ou en choisissant une couleur dans une palette prédéfinie étendue. \n\n![capture d'écran de la nouvelle expérience épique](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674437/Blog/Content%20Images/Screenshot_2024-07-10_at_4.22.45_p.m..png)\n\n### Une cohérence entre les objets de planification\n\nLa nouvelle expérience des epics s'aligne étroitement avec la nouvelle expérience des tickets et des tâches, offrant ainsi une expérience utilisateur homogène et cohérente. Cette cohérence permet de simplifier les workflows et d'accélérer la prise en main de l'outil pour les nouveaux utilisateurs.\n\n### Des fonctionnalités supplémentaires\n\nNous prévoyons d'ajouter de manière itérative de nouvelles fonctionnalités qui amélioreront vos capacités de planification. Notre objectif est de vous permettre d'adapter les processus de planification dans GitLab pour répondre au mieux aux besoins spécifiques de votre entreprise. La nouvelle expérience des epics n'est qu'un début ! Vous pouvez vous attendre à découvrir des fonctionnalités supplémentaires à chaque nouvelle version. Voici quelques exemples de fonctionnalités à venir :\n\n* [Modèles](https://gitlab.com/gitlab-org/gitlab/-/issues/428690)\n* [Champs personnalisés](https://gitlab.com/groups/gitlab-org/-/epics/235)\n* [Statuts configurables](https://gitlab.com/groups/gitlab-org/-/epics/5099)\n* [Epics au niveau du projet](https://gitlab.com/gitlab-org/gitlab/-/issues/31840)\n* [Clonage](https://gitlab.com/gitlab-org/gitlab/-/issues/339768)\n* [Passage à un autre groupe/projet](https://gitlab.com/gitlab-org/gitlab/-/issues/339766)\n* [Jalons](https://gitlab.com/groups/gitlab-org/-/epics/329)\n\n## Déroulement de la migration\n\nNous comprenons que tout changement peut être perturbant. C'est la raison pour laquelle nous avons conçu une migration aussi simple que possible vers la nouvelle expérience des epics. Toutes les données, API et URL existantes liées aux epics continueront de fonctionner comme prévu. Aucune mesure ne sera donc nécessaire pour se préparer à cette transition. Les utilisateurs de l'édition GitLab Self-Managed peuvent découvrir la nouvelle expérience en avant-première dans un environnement de test : [en savoir plus](https://docs.gitlab.com/ee/user/group/epics/epic_work_items.html).\n\n## Retours et engagement de la communauté\n\nComme toujours, nous apprécions votre contribution et vous encourageons à nous faire part de votre avis sur la nouvelle expérience des epics. Vos retours sont essentiels pour nous aider à affiner et à améliorer nos outils. N'hésitez pas à consulter notre [ticket regroupant les retours sur l'expérience des epics](https://gitlab.com/gitlab-org/gitlab/-/issues/463598) pour nous faire part de vos réflexions et suggestions.\n\n## Ce qui vous attend\n\nLa nouvelle expérience des epics dans GitLab représente une avancée importante dans le cadre de nos capacités de planification Agile. Grâce à des fonctionnalités avancées, une cohérence améliorée et une approche centrée sur l'utilisateur, nous sommes convaincus que ces changements seront un atout clé pour vos processus de gestion de projet. Nous vous invitons à explorer les nouvelles fonctionnalités et à nous faire part de vos retours. Retrouvez-nous bientôt pour découvrir d'autres innovations et améliorations.",[769],"2024-11-07","2024-07-03","Epics : une nouvelle expérience pour une meilleure planification Agile avec GitLab",[774,685,9,687,935],{"slug":1532,"featured":6,"template":691},"unveiling-a-new-epic-experience-for-improved-agile-planning","content:fr-fr:blog:unveiling-a-new-epic-experience-for-improved-agile-planning.yml","Unveiling A New Epic Experience For Improved Agile Planning","fr-fr/blog/unveiling-a-new-epic-experience-for-improved-agile-planning.yml","fr-fr/blog/unveiling-a-new-epic-experience-for-improved-agile-planning",{"_path":1538,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1539,"content":1545,"config":1551,"_id":1553,"_type":13,"title":1554,"_source":15,"_file":1555,"_stem":1556,"_extension":18},"/fr-fr/blog/use-gitlab-duo-workflow-to-improve-application-quality-assurance",{"title":1540,"description":1541,"ogTitle":1540,"ogDescription":1541,"noIndex":6,"ogImage":1542,"ogUrl":1543,"ogSiteName":673,"ogType":674,"canonicalUrls":1543,"schema":1544},"GitLab Duo Workflow : améliorez l'assurance qualité de vos applications ","Découvrez étape par étape comment ajouter des tests unitaires à une application Java à l'aide de l'IA agentique.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097617/Blog/Hero%20Images/Blog/Hero%20Images/Workflow%201800x945_2gQoQIbY9NvjLFpXtsxtXy_1750097616649.png","https://about.gitlab.com/blog/use-gitlab-duo-workflow-to-improve-application-quality-assurance","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"GitLab Duo Workflow : améliorez l'assurance qualité de vos applications \",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Cesar Saavedra\"}],\n        \"datePublished\": \"2025-04-10\",\n      }\n                  ",{"title":1540,"description":1541,"authors":1546,"heroImage":1542,"date":1547,"body":1548,"category":682,"tags":1549,"updatedDate":1550},[679],"2025-04-10","Garantir la qualité de vos applications en vous appuyant sur une approche de conception pilotée par les tests, une bonne couverture de code et une détection précoce des anomalies est essentiel pour vos clients et pour votre réputation. Pourtant, ces processus peuvent rapidement devenir chronophages. Avec [GitLab Duo Workflow](https://about.gitlab.com/fr-fr/gitlab-duo/agent-platform/), l'IA agentique développée sur la plateforme [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que le DevSecOps ? \") la plus complète, vous pouvez réaliser rapidement des tâches clés au cours de votre cycle de développement logiciel. Découvrez dans ce tutoriel comment ajouter des tests unitaires à une application Java sur la base de ce [projet Java](https://gitlab.com/gitlab-da/playground/csaavedra/gdw/prodmgr-gdw) qui nous servira d'exemple.\n\n> GitLab Duo Workflow est actuellement proposé en version bêta privée. Inscrivez-vous sur la [liste d'attente](https://about.gitlab.com/fr-fr/gitlab-duo/agent-platform/) pour découvrir ce qu'il est possible de faire avec des agents d'IA qui comprennent l'ensemble de votre cycle de développement logiciel.\n\n## Ouverture de votre projet dans VS Code\n\n1. Commencez par cloner votre projet Java sur votre ordinateur local, puis ouvrez-le dans Visual Studio Code. Assurez-vous d'utiliser une branche de fonctionnalité (et non pas la branche principale ou par défaut). Si vous travaillez déjà sur une merge request, celle-ci doit être associée à sa propre branche de fonctionnalité.\n\n2. (Étape facultative.) Accédez au fichier contenant la classe Java pour laquelle vous souhaitez que GitLab Duo Workflow crée des tests unitaires. Inspectez-le afin de pouvoir confirmer ultérieurement que les tests unitaires générés couvrent bien les éléments de cette classe. Voici ce que vous verrez :\n\n![Fichier qui définit la classe Java pour laquelle vous souhaitez que GitLab Duo Workflow crée des tests unitaires](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097627/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750097627482.png)\n\n**Remarque** : ce tutoriel suppose que vous avez déjà installé l'extension GitLab Duo Workflow et que vous l'avez activée dans votre VS Code. Si ce n'est pas le cas, veuillez vous référer à la [documentation d'installation](https://docs.gitlab.com/user/duo_workflow/#use-workflow-in-vs-code).\n\n3. Lancez GitLab Duo Workflow en ouvrant la palette de commandes de VS Code [Ctrl + Shift + P]. Saisissez « GitLab Duo Workflow », puis sélectionnez **GitLab : afficher GitLab Duo Workflow**. Un onglet apparaîtra alors, comme suit :\n\n![Lancement de GitLab Duo Workflow avec VS Code](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097628/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097627483.png)\n\n4. L'étape suivante consiste à ajouter des tests pour tester le constructeur par défaut, vérifier la création de l'objet et tester l'état initial des propriétés de la classe « Product » Java. Pour ce faire, saisissez le prompt suivant dans la zone de texte de GitLab Duo Workflow :\n\n```unset\nCreate unit tests for class defined in the Product.java file and store the unit tests in its own file titled ProductTest.java\n```\n\n![Zone du prompt dans GitLab Duo Workflow](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097628/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750097627484.png)\n\n5. Cliquez sur le bouton **Démarrer** dans la fenêtre GitLab Duo Workflow. Deux nouvelles fenêtres apparaissent alors : une au centre de l'écran et une à droite. Celle de droite affiche l'analyse que GitLab Duo Workflow a effectuée pour proposer un plan d'action qui permettra d'atteindre l'objectif spécifié dans votre prompt. Le plan d'action détaillé est affiché dans la fenêtre centrale. Une fois l'analyse terminée et le plan d'action élaboré, vous obtenez les données de sortie suivantes :\n\n![Analyse et plan d'action générés par GitLab Duo Workflow](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097627/Blog/Content%20Images/Blog/Content%20Images/image8_aHR0cHM6_1750097627486.png)\n\n6. Si l'analyse et le plan d'action vous conviennent, cliquez sur **Approuver le plan** en bas de la fenêtre.\n\n7. Une fois votre plan d'action approuvé, GitLab Duo Workflow exécute les modifications nécessaires dans votre projet.\n\n8. Vous voyez alors s'afficher un nouveau répertoire `src/test/java/csaa/jspring/ProductManager` contenant un nouveau fichier nommé `ProductTest.java`, lequel regroupe tous les tests unitaires pour la classe `Product.java`.\n\n![Nouveau répertoire dans le projet avec un nouveau nom de fichier `ProductTest.java`](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097628/Blog/Content%20Images/Blog/Content%20Images/image7_aHR0cHM6_1750097627488.png)\n\n9. En consultant ce fichier `ProductTest.java`, vous remarquerez qu'il contient des déclarations d'importation soulignées en rouge indiquant des erreurs d'importation :\n\n![`ProductTest.java` inclut des déclarations d'importation en rouge indiquant des erreurs](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097628/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750097627489.png)\n\nDemandons alors à GitLab Duo Workflow de les corriger à notre place.\n\n**Remarque** : nous aurions également pu demander à GitLab Duo Workflow dans notre premier prompt de mettre à jour le fichier `pom.xml`. Comme nous ne l'avons pas fait, nous allons donc corriger ces erreurs dans un nouveau workflow.\n\n## Correction des erreurs dans le code généré avec GitLab Duo Workflow\n\n10. Démarrez un nouveau workflow en cliquant sur le bouton **Nouveau workflow** en bas de la fenêtre d'analyse sur le côté droit de votre écran.\n\n![Bouton Nouveau workflow](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097628/Blog/Content%20Images/Blog/Content%20Images/image6_aHR0cHM6_1750097627491.png)\n\n11. Saisissez le prompt suivant :\n\n```unset\nThe file ProductTest.java has an error “The import org.junit cannot be resolved”. Please fix it\n```\n\n12. Approuvez le plan d'action proposé pour que GitLab Duo Workflow commence son analyse en lisant votre fichier `pom.xml` actuel, puis l'édite et supprime la dépendance JUnit obsolète en la remplaçant par la dépendance et la version correctes de JUnit. Enfin, GitLab Duo Workflow élimine toutes les erreurs de dépendance dans le fichier `ProductTest.java`.\n\n![GitLab Duo Workflow effectuant une analyse en lisant le fichier pom.xml](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097627/Blog/Content%20Images/Blog/Content%20Images/image5_aHR0cHM6_1750097627492.png)\n\n## Tutoriel vidéo\n\nEn exécutant le plan d'action proposé, GitLab Duo Workflow met concrètement à jour votre projet afin de réaliser ce que vous lui avez demandé dans le prompt. Il vous aide à gagner un temps précieux, en toute simplicité, et augmente la productivité de votre équipe : vos équipes de développement peuvent ainsi consacrer plus de temps à innover et à créer de la valeur.\n\nPour découvrir ce guide étape par étape en action, regardez la vidéo du tutoriel :\n\n\u003C!-- blank line -->\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/Tuj7TgqY81Q?si=RReuL1pUsLafvAzs\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n\u003C/figure>\n\u003C!-- blank line -->\n\n> Inscrivez-vous à la [version bêta privée de GitLab Duo Workflow](https://about.gitlab.com/fr-fr/gitlab-duo/agent-platform/ \"Version bêta privée de GitLab Duo Workflow\") pour découvrir ce qu'il est possible de faire avec des agents d'IA qui comprennent l'ensemble de votre cycle de développement logiciel.\n\n## En savoir plus sur GitLab Duo Workflow et l'IA agentique\n\n- [GitLab Duo Workflow : une IA agentique offrant visibilité et contrôle à l'échelle de l'entreprise](https://about.gitlab.com/fr-fr/blog/gitlab-duo-workflow-enterprise-visibility-and-control-for-agentic-ai/)\n- [Documentation GitLab Duo Workflow]( https://docs.gitlab.com/user/duo_workflow/)\n- [GitLab Duo](https://about.gitlab.com/fr-fr/gitlab-duo/)\n- [IA agentique : libérez le potentiel des développeurs à grande échelle (The Source)](https://about.gitlab.com/the-source/ai/agentic-ai-unlocking-developer-potential-at-scale/)\n",[684,685,689,687,9],"2025-04-29",{"slug":1552,"featured":6,"template":691},"use-gitlab-duo-workflow-to-improve-application-quality-assurance","content:fr-fr:blog:use-gitlab-duo-workflow-to-improve-application-quality-assurance.yml","Use Gitlab Duo Workflow To Improve Application Quality Assurance","fr-fr/blog/use-gitlab-duo-workflow-to-improve-application-quality-assurance.yml","fr-fr/blog/use-gitlab-duo-workflow-to-improve-application-quality-assurance",{"_path":1558,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1559,"content":1565,"config":1573,"_id":1575,"_type":13,"title":1576,"_source":15,"_file":1577,"_stem":1578,"_extension":18},"/fr-fr/blog/what-are-the-benefits-of-a-microservices-architecture",{"title":1560,"description":1561,"ogTitle":1560,"ogDescription":1561,"noIndex":6,"ogImage":1562,"ogUrl":1563,"ogSiteName":673,"ogType":674,"canonicalUrls":1563,"schema":1564},"Architecture de microservices : définition, avantages et bonnes pratiques","Une architecture de microservices permet de moderniser votre approche informatique. Découvrez ses avantages et les bonnes pratiques pour démarrer.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662898/Blog/Hero%20Images/microservices-explosion.jpg","https://about.gitlab.com/blog/what-are-the-benefits-of-a-microservices-architecture","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Architecture de microservices : définition, avantages et bonnes pratiques\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"GitLab\"}],\n        \"datePublished\": \"2022-09-29\",\n      }",{"title":1560,"description":1561,"authors":1566,"heroImage":1562,"date":1568,"body":1569,"category":1508,"tags":1570,"updatedDate":1572},[1567],"GitLab","2022-09-29","Vous n'avez pas encore d'avis tranché sur les architectures de microservices et sur ce qu'elles peuvent apporter à vos équipes ? Les équipes de développement sont pourtant de plus en plus nombreuses à adopter cette approche pour développer de nouveaux logiciels. Leur objectif ? Profiter de la flexibilité des microservices pour travailler et livrer des logiciels de façon toujours plus agile. Voici ce que vous devez savoir sur les architectures de microservices, et comment vous lancer.\n\n__Sommaire__\n- Architecture de microservices : définition\n- Quels sont les avantages d’une architecture de microservices ?\n- Quels sont les inconvénients d’une architecture de microservices ?\n- Comment construire une architecture de microservices ?\n- Architecture de microservices et DevOps\n\n## Architecture de microservices : définition\n\nUne architecture de microservices est une approche dans laquelle une application est divisée en petits services autonomes, appelés [microservices](https://about.gitlab.com/fr-fr/topics/microservices/ \"Qu'est-ce qu'un microservice ? \"). \n\n### Qu’est-ce qu’un microservice ?\n\nUn microservice est un service qui __exécute un processus unique__ et qui gère sa propre base de données, tout en interagissant avec les autres. Ce qui permet aux équipes de développement de bénéficier d’une meilleure agilité pour développer, mettre à jour ou tester de nouvelles fonctionnalités plus rapidement. \n\n![Microservices vs monolithique](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749687528/Blog/Content%20Images/monolith-vs-microservices.png)\n\n> [Essayez GitLab Ultimate gratuitement.](https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/blog&glm_content=default-saas-trial \"Essai gratuit de GitLab. \") \n\n## Quels sont les avantages d’une architecture de microservices ?\n\n### Des applications plus évolutives\n\nComme les microservices fonctionnent de manière indépendante, chaque microservice peut donc être facilement ajouté, supprimé, ou mis à jour, sans perturber le fonctionnement des autres microservices. Les entreprises peuvent aussi les faire évoluer en fonction de leurs besoins. Cela permet par exemple d'allouer plus de ressources à un microservice lors d'un pic d'achat saisonnier, et de les économiser en basse saison, pour les réallouer à d'autres domaines. \n\n### Une meilleure isolation des pannes\n\nToute architecture monolithique est susceptible de s'effondrer en cas de défaillance d'un seul élément de l’architecture. Ce risque est moins élevé dans le cas d’une architecture de microservices, où chaque service fonctionne de manière indépendante. Si l'un d'entre eux échoue, il est beaucoup moins probable que les autres cessent de fonctionner. Il faut cependant garder en tête que de grands volumes de trafic peuvent toujours submerger une application.\n\nAvec une architecture de microservices, les équipes de développement peuvent limiter les risques de défaillances en cascade. Divers outils sont disponibles, notamment sur [GitLab](https://about.gitlab.com/fr-fr/ \"Plateforme DevSecOps de GitLab\"), pour créer des microservices résistants aux pannes, et améliorer la résilience de l'infrastructure.\n\n### Une compatibilité avec tous les langages de programmation et toutes les technologies\n\nUne application de microservices peut être programmée dans n'importe quel langage. Les équipes de développement peuvent ainsi choisir le langage de programmation le plus adapté à leur projet et utiliser au mieux leurs compétences, sans avoir besoin d’apprendre un nouveau langage de programmation. En outre, l'utilisation de microservices basés sur le cloud permet aux équipes d'accéder à une application à partir de n'importe quel appareil connecté à Internet, quelle que soit sa plateforme.\n\n### Un déploiement simplifié\n\nUne architecture de microservices permet aux équipes de __déployer des applications indépendantes__ sans affecter les autres services de l'architecture. Cet avantage donne la possibilité aux équipes d'ajouter de nouveaux modules, sans devoir repenser la structure complète du système. L'architecture de microservices permet donc aux entreprises d'intégrer efficacement de nouvelles fonctionnalités en fonction de leurs besoins. \n\n### Une mise sur le marché plus rapide\n\nCette approche permet de minimiser les conflits de langage et les interruptions de service en chaîne sur un site web. Les équipes de développement travaillant sur différents microservices n'ont pas besoin d'attendre que les autres aient terminé pour avancer sur leurs tâches. De cette manière, les entreprises peuvent développer et déployer de nouvelles fonctionnalités rapidement et mettre à niveau les anciens composants au fur et à mesure des avancées technologiques.\n\n### Une expérimentation facilité \n\nUne architecture de microservices facilite les expérimentations. Comme chaque service fonctionne indépendamment, il est plus facile de tester et de déployer de nouvelles fonctionnalités sur l'un d’entre eux, sans impacter l’ensemble de l’application. Ainsi, les architectures de microservices permettent de gagner un temps précieux pour faire évoluer progressivement une application.\n\n### Une sécurité des données renforcée\n\nUne architecture de microservices se définit aussi par une sécurité renforcée. Lorsque l'architecture des systèmes informatiques est divisée en éléments plus petits, les données sensibles sont mieux protégées contre les intrusions provenant d’autres zones. Les équipes de développement peuvent utiliser des __API sécurisées__ pour connecter les microservices entre eux. Les API sécurisées protègent les données en veillant à ce qu’elles ne soient accessibles qu’aux utilisateurs, applications et serveurs spécifiquement autorisés. Les entreprises peuvent ainsi plus aisément se conformer aux normes de sécurité des données, telles que le [Règlement général sur la protection des données (RGPD)](https://www.cnil.fr/fr/reglement-europeen-protection-donnees \"Règlement général sur la protection des données \"). \n\n### Une flexibilité de l’externalisation\n\nLes entreprises doivent parfois confier certaines fonctionnalités à des partenaires tiers, ce qui peut représenter un __risque pour la protection de la propriété intellectuelle__. Avec une architecture de microservices, ces dernières peuvent segmenter les zones réservées aux partenaires, sans compromettre les services principaux et les données sensibles. \n\n### Une optimisation des équipes\n\nAmazon, pionnier des microservices, avait instauré l'idée qu'une équipe chargée d'une application ne devrait pas compter plus d'une poignée de développeurs et de développeuses en son sein. Les experts expliquent que cette approche améliore l'efficacité du travail, permet aux entreprises d’__atteindre leurs objectifs plus rapidement__, facilite la gestion des équipes, et favorise une plus grande concentration au sein du groupe. Adopter une architecture de microservices au moment de dimensionner vos équipes vous aidera à livrer des logiciels de meilleure qualité.\n\n### Un moyen d’attirer de nouveaux talents\n\nLes microservices s'appuient sur les pratiques d'ingénierie et les outils de développement les plus récents. L’occasion pour les entreprises d’attirer de nouveaux talents souhaitant travailler sur ce type d’architecture. \n\n## Quels sont les inconvénients d’une architecture de microservices ?\n\nSi les microservices présentent un grand nombre d'avantages, il faut aussi tenir compte de certains inconvénients avant d’adopter cette approche. \n\n### Des coûts initiaux plus élevés\n\nLes microservices cloud permettent de faire des économies sur le long terme, mais les coûts associés à leur déploiement initial restent élevés. Une entreprise doit disposer d'une infrastructure d'hébergement suffisante, avec une assistance en matière de sécurité et de maintenance. Plus important encore, elle aura besoin d'équipes qualifiées pour gérer tous les services.\n\n### L’importance du contrôle de l’interface\n\nComme chaque microservice possède sa propre API, toute application utilisant ce service sera affectée si vous modifiez l’API. Ce changement __n'étant pas rétrocompatible__. Avec une architecture de microservices, les opérations de grande envergure font appel à des centaines, voire des milliers d'API. Le contrôle de ces interfaces est donc essentiel au bon fonctionnement de l'entreprise, ce qui constitue un challenge possible pour adopter ce type d’architecture.\n\n### Autres types de complexité\n\nLe débogage peut s'avérer plus complexe avec une architecture de microservices, car chaque microservice dispose de son propre ensemble de journaux (logs). Ce qui peut compliquer légèrement la recherche pour remonter à la source d'un problème dans le code. \n\n### Des tests d'intégration\n\nLes tests unitaires sont plus faciles à gérer avec une architecture de microservices, ce qui n’est pas le cas des tests d'intégration. Comme l'architecture de microservices est distribuée en différents microservices, les équipes de développement ne peuvent pas tester l'ensemble du système depuis leur ordinateur.\n\n## Une architecture orientée services (AOS) vs microservices\n\nSi vous travaillez dans le cloud computing, vous avez probablement entendu parler du débat entre les architectures orientées services (Service-Oriented Architecture ou SOA en anglais) et les architectures de microservices. Ces deux architectures sont similaires à bien des égards, car elles impliquent toutes deux le cloud computing, le développement agile, et divisent les grands composants monolithiques en unités plus petites et plus faciles à gérer. \n\nCependant, la plus grande différence entre ces deux architectures réside dans leur champ d’application. L’AOS est une approche à l'échelle de l’entreprise pour développer des composants logiciels. Les microservices, quant à eux, construisent des applications autonomes qui remplissent une fonction spécifique. Cette approche cloud-native du développement et du déploiement les rend plus évolutifs, agiles et résistants. Les architectures de microservices se situent donc à une échelle plus restreinte, celle des applications.\n\n## Comment construire une architecture de microservices ?\n\nPour les équipes [DevOps](https://about.gitlab.com/fr-fr/topics/devops/ \"Que signifie DevOps ?\") prêtes à franchir une nouvelle étape, l'adoption d'une architecture de microservices est un choix judicieux. Voici comment vous lancer. \n\n### Identifier les aspects décomposables de l'application\n\nL’une des principales caractéristiques d’un microservice est son fonctionnement autonome. Il faut donc commencer par identifier quelles parties de l'application peuvent fonctionner de manière indépendante. Une définition erronée des limites d'un service pourrait entraîner des modifications indésirables sur d’autres services. Vous devez donc envisager le système dans sa globalité.\n\nDans de nombreux cas, cette répartition correspond aux domaines d'activité, et se reflète dans l'organisation des équipes de développement.\n\n### Définir les indicateurs à surveiller\n\nAvec une application de microservices, il faut impérativement surveiller l'état de chaque service pour pouvoir réagir à l'évolution des demandes dans l’environnement de production. Parmi les indicateurs courants à surveiller, nous retrouvons : l'utilisation du processeur, le niveau de mémoire de chaque instance, le temps de réponse de l'API ou encore le taux d'erreur. \n\nEn l'absence de surveillance, les équipes peuvent ne pas détecter certains problèmes lorsqu’ils surviennent. Par exemple, lorsqu'un serveur fait face à un pic de trafic, d'autres services peuvent ne pas répondre, car ils essaient de communiquer avec un service surchargé.\n\nEn détectant ces problèmes potentiels au sein de votre architecture de microservices, vous prévenez ainsi les temps d'arrêt. Ces indicateurs doivent être définis au début du projet pour pouvoir être surveillés et faire l’objet d’ajustements en cas d'événement anormal détecté. Cela peut s'avérer difficile, mais il existe heureusement des outils qui simplifient la surveillance, et fournissent une visualisation complète.\n\n### Automatiser l'infrastructure\n\nLorsque le nombre de microservices augmente, une application peut devenir difficile à gérer, puisque chaque microservice a son propre calendrier de déploiement. Certaines fonctionnalités sont cachées derrière des feature flags, d'autres collectent des données d’utilisation via des tests A/B, et certains services utilisent des déploiements Canary dans le cadre d’un déploiement progressif. Il est donc essentiel d'automatiser les tests pour que les équipes puissent stopper ou annuler un déploiement si nécessaire.\n\n### Créer des tests de contrat axés sur le consommateur\n\nIl est recommandé de mettre en œuvre des tests de contrat axés sur le consommateur (Consumer-Driven Contract Tests, ou CDCT) pour garantir la compatibilité entre les versions. Traditionnellement, les équipes de développement créent d'abord les API côté serveur, le point d'entrée du test étant déterminé par les clients. Cela signifie que lorsque la signature d’un API change, cela peut entraîner des dysfonctionnements côté consommateur. \n\nAvec les tests de contrat axés sur le consommateur cette situation ne peut pas se produire, car avant de déployer un microservice en production, les consommateurs déterminent le contrat requis (la signature de l’API) et effectuent des tests pour s’assurer qu’ils sont toujours valides. \n\n## Architecture de microservices et DevOps\n\nEn décomposant un système logiciel en parties autonomes, l'architecture de microservices permet aux entreprises d'appliquer le principe de responsabilité unique (Single Responsibility Principle) aux équipes de développement.\n\nTous les aspects d'un service peuvent ainsi se gérer de façon indépendante : la stack technique de l'équipe, la composition de l'équipe, les stratégies de déploiement, et même les calendriers de release. \n\nAssociée à une livraison continue, l’architecture de microservices permet aux entreprises de prendre des décisions basées sur des données de production en temps réel, accélérant ainsi les boucles de rétroaction et réduisant le délai de mise sur le marché.\n\nVotre équipe est-elle prête à se lancer dans l'architecture de microservices ? Commencez par développer une compréhension fine du découpage possible de votre système, et acquérir de solides connaissances sur les pratiques [CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/ \"Qu'est-ce que le CI/CD ?\"). Ces compétences vous seront d'ailleurs utiles quelle que soit l'approche architecturale que vous choisirez.\n\n> [Essayez GitLab Ultimate gratuitement.](https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/blog&glm_content=default-saas-trial \"Essai gratuit de GitLab. \")\n",[1571,1571,9],"DevOps","2024-10-01",{"slug":1574,"featured":90,"template":691},"what-are-the-benefits-of-a-microservices-architecture","content:fr-fr:blog:what-are-the-benefits-of-a-microservices-architecture.yml","What Are The Benefits Of A Microservices Architecture","fr-fr/blog/what-are-the-benefits-of-a-microservices-architecture.yml","fr-fr/blog/what-are-the-benefits-of-a-microservices-architecture",{"_path":1580,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1581,"content":1586,"config":1595,"_id":1597,"_type":13,"title":1598,"_source":15,"_file":1599,"_stem":1600,"_extension":18},"/fr-fr/blog/why-enterprise-independence-matters-more-than-ever-in-devsecops",{"config":1582,"title":1583,"description":1584,"ogTitle":1583,"ogDescription":1584,"ogImage":1585},{"noIndex":6},"Indépendance des entreprises et DevSecOps","Découvrez les avantages de GitLab pour renforcer l'indépendance et la transparence de votre infrastructure DevSecOps.","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1756500636/wmey6kqzzuhirk88w2de.png",{"title":1587,"description":1588,"authors":1589,"heroImage":1585,"date":1591,"body":1592,"category":682,"tags":1593},"L'indépendance des entreprises : un sujet plus important que jamais en DevSecOps","Dans un contexte où le contrôle des infrastructures de développement soulève de plus en plus d'interrogations, les avantages de GitLab en matière d'indépendance et de transparence n'ont jamais été aussi pertinents.",[1590],"Robin Schulman","2025-09-03","Depuis plus de dix ans, GitLab s'engage en faveur de la transparence, de l'indépendance et d'une approche axée sur les développeurs. Au vu de l'évolution actuelle du secteur, ces aspects sont plus importants que jamais. Dans les entreprises, trois questions sont au cœur des discussions : qui contrôle réellement l'infrastructure de développement ? Comment le code est-il utilisé dans les systèmes d'IA ? Que se passe-t-il lorsque les priorités des fournisseurs ne répondent plus tout à fait aux exigences ?\n\nLe mois dernier, [nous avons annoncé la sortie de GitLab 18.3](https://about.gitlab.com/fr-fr/blog/gitlab-18-3-expanding-ai-orchestration-in-software-engineering/), la dernière version de notre plateforme [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que le DevSecOps ?\") avec l’IA native. Agent Insights, qui fait partie de GitLab Duo Agent Platform, offre une visibilité sur les processus décisionnels des agents. La prise en charge étendue des modèles d'IA signifie qu'il n'y a aucune dépendance vis-à-vis d'un fournisseur. Par ailleurs, des contrôles de gouvernance améliorés permettent d’assurer la conformité dans plusieurs juridictions.\n\nCes nouveautés sont plus que de simples fonctionnalités. Elles témoignent de la transparence, de l'indépendance et de l'approche axée sur les équipes de développement qui caractérisent GitLab. Voici comment cette stratégie se traduit en pratique.\n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1115249475?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Who is GitLab_Robin_090225_FINAL\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n## Transparence de l'IA à chaque étape du cycle de développement DevSecOps\n\n**Chez GitLab, notre engagement de longue date en faveur de la transparence répond directement à ces préoccupations.** À mesure que l'intelligence artificielle s'intègre dans les workflows de développement, les entreprises s'inquiètent à juste titre de la façon dont leur code et leurs données sont utilisés pour entraîner l'IA.\n\nLancé en avril 2024, le [Centre pour la transparence de l'IA](https://about.gitlab.com/fr-fr/ai-transparency-center/) de GitLab fournit une documentation claire sur nos pratiques en matière de gouvernance des données, de protection de la vie privée et de principes éthiques relatifs à l'IA. Contrairement aux plateformes qui exploitent des fonctionnalités d'IA avec des politiques d'utilisation des données peu claires, GitLab privilégie la transparence pour que ses clients puissent comprendre [exactement comment leurs données sont traitées](https://docs.gitlab.com/fr/user/gitlab_duo/data_usage/), stockées et protégées, et garantit que la plateforme ne les utilise pas pour entraîner l'IA.\n\nNotre approche se distingue également par la flexibilité des modèles et notre indépendance vis-à-vis des fournisseurs. Tandis que certaines plateformes obligent leurs clients à utiliser un seul fournisseur de [grands modèles de langage (LLM)](https://about.gitlab.com/fr-fr/blog/large-language-model/ \"Qu’est-ce qu’un LLM ?\") et créent des dépendances supplémentaires vis-à-vis des fournisseurs et des points de défaillance potentiels, les fonctionnalités d'IA de GitLab s'appuient sur une variété de modèles. Cette approche nous permet de prendre en charge un large éventail de cas d'utilisation et d'offrir à nos clients la flexibilité nécessaire pour s'aligner sur leurs priorités stratégiques.\n\nÀ mesure que nous développons GitLab Duo Agent Platform, nous continuons à prioriser le contrôle des données et le maintien de contrôles humains complets. Par ailleurs, GitLab Duo Self-Hosted offre une souveraineté complète des données avec des options de déploiement air-gapped, des politiques de conservation des données zero-day et la possibilité de traiter toutes les requêtes d'IA au sein de votre propre infrastructure.\n\nEn mai 2024, nous avons élaboré un [plan de continuité IA](https://handbook.gitlab.com/handbook/product/ai/continuity-plan/) que nous mettons régulièrement à jour. Ce dernier contient un engagement de premier plan dans le secteur comme la capacité d'évaluer et de passer à un nouveau modèle dans les 30 jours si un fournisseur modifie ses pratiques en matière de données client. Cette approche proactive de la gestion des risques liés aux fournisseurs d'IA reflète notre engagement en faveur du contrôle client.\n\n## Choix du déploiement et du fournisseur cloud\n\n**Vous devez pouvoir choisir comment et où déployer votre environnement DevSecOps.** Dans ce domaine, GitLab offre une véritable flexibilité de déploiement. Les entreprises peuvent utiliser leurs propres serveurs, le SaaS multilocataire ou GitLab Dedicated, notre solution SaaS monolocataire entièrement gérée, sans compromettre les fonctionnalités ni subir des restrictions artificielles conçues pour favoriser le verrouillage de l'écosystème. GitLab est également compatible avec toutes les solutions cloud, ce qui permet aux clients d'utiliser le fournisseur qui convient le mieux à leurs besoins et à leur environnement.\n\nCette flexibilité s'avère inestimable face à des exigences juridictionnelles complexes et des défis réglementaires toujours plus nombreux. Lorsque de nouvelles lois sur la localisation des données apparaissent, comme nous l'avons vu dans l'Union européenne et d'autres régions, les entreprises qui utilisent GitLab peuvent rapidement adapter leurs stratégies de déploiement sans être limitées par des dépendances liées à leur écosystème.\n\nDu point de vue des achats et de la gestion des risques, l'indépendance de la plateforme offre également un levier crucial dans les négociations de contrat. Les entreprises ne sont pas contraintes de signer des accords de licence restrictifs qui privilégient les intérêts des fournisseurs au détriment des besoins des clients. Cette indépendance devient particulièrement décisive à mesure que les entreprises se montrent plus vigilantes quant au contrôle de leur pile IA.\n\n## Sécurité et conformité : intégrées et toujours prioritaires\n\n**La sécurité et la conformité sont désormais tout aussi importantes que les fonctionnalités de développement et doivent être intégrées à la plateforme, et non ajoutées après coup.** L'approche  de GitLab, basée sur une plateforme unique, offre des avantages significatifs par rapport aux plateformes fragmentées qui s'appuient sur des modules complémentaires tiers pour proposer des fonctionnalités de sécurité et de gouvernance rudimentaires. Cette différence architecturale a des implications importantes en matière de risques juridiques potentiels, d’efficacité opérationnelle et de conformité réglementaire. Chaque outil supplémentaire représente un point de défaillance potentiel supplémentaire, un nouvel ensemble de conditions générales à négocier et une source de risque additionnelle.\n\nGitLab fournit des fonctionnalités intégrées complètes en matière de sécurité et de conformité, y compris des frameworks de conformité personnalisés, des tests dynamiques de sécurité des applications (DAST), des tests d’API par injection de données aléatoires, des tests à données aléatoires guidé par la couverture de code et des tests d'Infrastructure as Code. Ces fonctionnalités sont intégrées en natif à la plateforme, ce qui permet une application cohérente des politiques et réduit la complexité de la conformité et les coûts supplémentaires liés à la gestion de plusieurs outils tiers.\n\nNotre [Centre de conformité](https://docs.gitlab.com/fr/user/compliance/compliance_center/) offre aux équipes un espace centralisé pour gérer les normes et rapports de conformité, les rapports de violations et les frameworks de conformité de leur groupe. Cette approche unifiée de la gestion de la conformité est particulièrement précieuse pour les entreprises qui opèrent dans des secteurs hautement réglementés où les pistes d'audit et la documentation relative à la conformité sont essentielles.\n\n## À l'écoute de notre communauté open source\n\n**Les meilleurs outils sont façonnés par les personnes qui les utilisent.** Notre engagement envers l'[open source](https://about.gitlab.com/fr-fr/blog/what-is-open-source/ \"Qu’est-ce que l’open source ?\") et notre communauté sont au cœur de GitLab depuis notre création. Par exemple, notre [programme Co-Create](https://about.gitlab.com/community/co-create/) est une initiative collaborative qui permet à nos clients de travailler directement avec les équipes d'ingénierie de GitLab afin d’apporter des améliorations à la plateforme, comme des fonctionnalités ou des correctifs.\n\nNotre engagement en faveur de la transparence reste fondamental pour notre activité. Notre [système de suivi des tickets ouverts](https://gitlab.com/groups/gitlab-org/-/issues), qui permet aux utilisateurs de suivre nos progrès et d'échanger directement avec les équipes de GitLab sur les améliorations produit en est un bon exemple. Nous avons récemment lancé notre [initiative « Healthy Backlog »](https://about.gitlab.com/fr-fr/blog/inside-gitlabs-healthy-backlog-initiative/) pour donner à nos clients une visibilité encore plus grande sur notre calendrier et traiter leurs retours plus efficacement.\n\nNotre approche permet non seulement aux entreprises de contribuer à l'innovation open source et d'en tirer parti, mais aussi d'assurer la gouvernance, les pistes d'audit et les contrôles de sécurité requis pour les environnements réglementés.\n\n## Gouvernance des données : vos données, vos règles\n\n**Vous conservez un contrôle total sur vos données et leur traitement.** La gouvernance des données est devenue un facteur de plus en plus critique dans les décisions technologiques des entreprises, en raison d’un ensemble complexe de lois nationales et régionales sur la protection des données et d’une préoccupation croissante concernant le contrôle des données sensibles, comme le code source, les informations client, les initiatives stratégiques et la veille concurrentielle.\n\nAvec GitLab, vous pouvez gérer le niveau d’accès aux fonctionnalités alimentées par l'IA au sein de la plateforme, qui vont au-delà des simples contrôles d'accès pour inclure des normes de chiffrement et des fonctionnalités d'audit conformes aux cadres réglementaires. De plus, le code et les données clients ne sont jamais utilisés pour entraîner des modèles d'IA.\n\n## Le choix est clair\n\nGitLab continue d'être à la pointe de l'innovation en matière de plateforme DevSecOps avec l'IA native, comment en témoigne notre dernière [version 18.3](https://about.gitlab.com/fr-fr/blog/gitlab-18-3-expanding-ai-orchestration-in-software-engineering/), tout en restant fidèle aux engagements d'indépendance et de transparence qui nous ont toujours guidés.\n\nContrôle total ou dépendance vis-à-vis d'un fournisseur ? Transparence ou incertitude ? Engagement envers l'innovation ou simple rouage dans un écosystème plus large ? Pour les clients, le choix est clair.\n\nGitLab fournit les bases d'une transformation numérique durable qui trouve le juste équilibre entre innovation et indépendance afin d'aider les entreprises à créer de la valeur commerciale pour leurs clients.\n\n[Essayez GitLab Ultimate gratuitement avec GitLab Duo dès aujourd'hui.](https://about.gitlab.com/fr-fr/free-trial/)",[684,913,687,9,1594],"open source",{"featured":6,"template":691,"slug":1596},"why-enterprise-independence-matters-more-than-ever-in-devsecops","content:fr-fr:blog:why-enterprise-independence-matters-more-than-ever-in-devsecops.yml","Why Enterprise Independence Matters More Than Ever In Devsecops","fr-fr/blog/why-enterprise-independence-matters-more-than-ever-in-devsecops.yml","fr-fr/blog/why-enterprise-independence-matters-more-than-ever-in-devsecops",{"_path":1602,"_dir":246,"_draft":6,"_partial":6,"_locale":7,"seo":1603,"content":1609,"config":1615,"_id":1617,"_type":13,"title":1618,"_source":15,"_file":1619,"_stem":1620,"_extension":18},"/fr-fr/blog/10-best-practices-for-using-ai-powered-gitlab-duo-chat",{"title":1604,"description":1605,"ogTitle":1604,"ogDescription":1605,"noIndex":6,"ogImage":1606,"ogUrl":1607,"ogSiteName":673,"ogType":674,"canonicalUrls":1607,"schema":1608},"GitLab Duo Chat : 10 bonnes pratiques à connaître","Découvrez nos conseils et astuces pour intégrer GitLab Duo Chat à vos workflows DevSecOps alimentés par l'IA. ","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097639/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%281%29_77JeTV9gAmbXM0224acirV_1750097638765.png","https://about.gitlab.com/blog/10-best-practices-for-using-ai-powered-gitlab-duo-chat","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"GitLab Duo Chat : 10 bonnes pratiques à connaître\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Michael Friedrich\"}],\n        \"datePublished\": \"2024-04-02\",\n      }",{"title":1604,"description":1605,"authors":1610,"heroImage":1606,"date":1611,"body":1612,"category":682,"tags":1613,"updatedDate":1614},[909],"2024-04-02","Entamer une conversation avec l'IA peut s'avérer difficile. Par quelle question commencer ? Comment la formuler ? Quel degré de contexte est nécessaire ? La conversation fournira-t-elle des résultats optimaux et efficaces ?\n\nDans ce tutoriel, découvrez 10 conseils et bonnes pratiques pour intégrer GitLab Duo Chat dans vos workflows DevSecOps alimentés par l'IA et affiner vos prompts afin d'obtenir des résultats optimaux.\n\n## Première étape : ouvrez GitLab Duo Chat \n\n[GitLab Duo Chat](https://docs.gitlab.com/ee/user/gitlab_duo_chat.html) est disponible dans l'interface utilisateur (UI) de GitLab, dans le Web IDE et dans les IDE de programmation pris en charge, comme VS Code. \n\nDans VS Code, vous pouvez ouvrir GitLab Duo Chat dans le volet de gauche par défaut. Vous pouvez également glisser-déposer l'icône dans le volet de droite. Ainsi, GitLab Duo Chat reste ouvert pendant que vous écrivez du code et que vous naviguez dans l'arborescence des fichiers, que vous effectuez des actions Git et plus encore. Pour réinitialiser l'emplacement de Chat, ouvrez la palette de commandes (en appuyant sur le raccourci clavier `Command+Maj+P` (sous macOS) ou `Ctrl+Maj+P` (sous Windows/Linux), puis saisissez `View: Reset View Locations`. La procédure à suivre est illustrée dans cette courte vidéo.\n\n\u003C!-- blank line -->\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/foZpUvWPRJQ\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n\u003C/figure>\n\u003C!-- blank line -->\n\nLe Web IDE et VS Code partagent le même framework : la même méthode fonctionne dans le Web IDE pour proposer des workflows plus efficaces.\n\n![Chat dans le Web IDE](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097645344.png)\n\n## 10 bonnes pratiques à suivre pour une utilisation optimale de GitLab Duo Chat\n\n### 1. Discutez\n\nLes chats sont des conversations, pas des formulaires de recherche.\n\nPour lancer la conversation, commencez avec les termes de recherche que vous utiliseriez lors d'une recherche sur un navigateur et expérimentez en fonction de la réponse et des données de sortie. Dans cet exemple, commençons par un projet C# et les bonnes pratiques associées. \n\n> c# start project best practices \n\n![Prompt demandant les bonnes pratiques de démarrage d'un projet C# et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097646/Blog/Content%20Images/Blog/Content%20Images/image11_aHR0cHM6_1750097645345.png)\n\nLa réponse est utile pour comprendre un large champ d'application du langage C#, mais ne propose pas immédiatement de bonnes pratiques. Poursuivons avec une question plus ciblée dans le même contexte. \n\n> Please show the project structure for the C# project. \n\n![Prompt demandant la structure du projet C# et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image9_aHR0cHM6_1750097645346.png)\n\nCette réponse est utile. Poursuivons avec une question relative à [Git](https://about.gitlab.com/fr-fr/blog/what-is-git/ \"Qu'est-ce que Git ? \") et utilisons la même structure : demandons directement à l'IA de nous montrer un exemple.\n\n> Show an example for a .gitignore for C# \n\n![Prompt demandant un exemple de fichier .gitignore en langage C# et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image25_aHR0cHM6_1750097645347.png)\n\nPoursuivons avec GitLab CI/CD et demandons à l'IA comment créer le projet C#.\n\n> Show a GitLab CI/CD configuration for building the C# project \n\n![Prompt demandant un exemple de configuration de GitLab CI/CD pour la création du projet C# et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image16_aHR0cHM6_1750097645349.png)\n\nDans cet exemple, GitLab Duo Chat nous encourage à demander des modifications spécifiques. Demandons-lui d'utiliser le SDK .NET 8.0 au lieu du SDK .NET 6.0. \n\n> In the above example, please use the .NET SDK 8.0 image \n\n![Prompt demandant à GitLab Duo Chat d'utiliserl'image du SDK .NET 8.0 et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image32_aHR0cHM6_1750097645350.png)\n\nLa configuration CI/CD utilise l'interface de ligne de commande (CLI) .NET. Essayons de suivre cette bonne pratique pour générer des commandes plus efficaces afin de créer la structure des projets et des tests. \n\n> Explain how to create projects and test structure on the CLI \n\n![Prompt demandant d'expliquer comment créer des projets et tester la structure sur l'interface CLI et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image14_aHR0cHM6_1750097645351.png)\n\nNous pourrions exécuter ces commandes dans le terminal, mais, pour cet exemple, imaginons que nous souhaitions rester dans VS Code. Posons la question à Chat.\n\n> Explain how to open a new terminal in VS Code \n\n![Prompt demandant d'expliquer comment ouvrir un nouveau terminal dans VS Code et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image5_aHR0cHM6_1750097645351.png)\n\n### 2. Affinez le prompt pour gagner en productivité\n\nConsidérez GitLab Duo Chat comme un être humain et employez des phrases complètes qui fournissent suffisamment de contexte à vos pensées et à vos questions. \n\nSi vous êtes un utilisateur expérimenté de la recherche par navigateur, vous connaissez peut-être l'approche qui consiste à concevoir la question, à ajouter plus de termes pour affiner sa portée et redémarrer la recherche après avoir ouvert de nombreux onglets. \n\nDans le cas d'une recherche par navigateur, vous obtiendriez probablement quatre à cinq fenêtres de recherche différentes. \n\n```markdown\nc# start project best practices\nc# .gitignore\nc# gitlab cicd \nc# gitlab security scanning \nc# solutions and projects, application and tests\n``` \n\nVous pouvez également suivre cette stratégie lors d'une conversation avec GitLab Duo Chat. Cela nécessite d'ajouter plus de contexte afin de la transformer en une approche conversationnelle. GitLab Duo Chat vous permet de poser plusieurs questions dans une même conversation. \n\nExemple : vous devez commencer par un nouveau projet C#, appliquer les bonnes pratiques, ajouter un fichier `.gitignore` et configurer CI/CD ainsi qu'un scanning de sécurité, comme dans la recherche ci-dessus. Dans Chat, vous pouvez regrouper plusieurs questions dans une même demande.\n\n> How can I get started creating an empty C# console application in VS Code? Please show a .gitignore and .gitlab-ci.yml configuration with steps for C#, and add security scanning for GitLab. Explain how solutions and projects in C# work, and how to add a test project on the CLI. \n\n![Prompt demandant d'ajouter plus de contexte et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image37_aHR0cHM6_1750097645352.png)\n\nDans cette réponse, Chat suggère de demander des exemples de configuration spécifiques dans les questions de suivi de la conversation. Pratique asynchrone : créez des questions de suivi. Vous pouvez omettre `C# ` comme contexte dans la même session de chat.\n\n> Please show an example for a .gitignore. Please show a CI/CD configuration. Include the SAST template. \n\n### 3. Suivez des patterns de prompt \n\nSuivez le pattern : `Énoncer le problème, demander de l'aide, fournir des demandes supplémentaires`. Vous ne pouvez pas penser à tout lorsque vous posez la première question. Commencez par `énoncer le problème, demander de l'aide` lors de la première itération. \n\n> I need to fulfill compliance requirements. How can I get started with Codeowners and approval rules ?\n\n![Prompt demandant de l'aide au sujet des Codeowners et des règles d'approbation et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image19_aHR0cHM6_1750097645352.png)\n\nMême si la réponse est utile, elle reste générique. Il se peut que vous souhaitiez obtenir une aide spécifique pour la configuration de votre équipe. \n\n> Please show an example for Codeowners with different teams : backend, frontend, release managers. \n\n![Prompt demandant un exemple de fichier Codeowners pour différentes équipes (backend, frontend, managers de release) et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image31_aHR0cHM6_1750097645353.png)\n\nUne alternative consiste à décrire la situation dans laquelle vous vous trouvez et à demander de l'aide. Suivez le modèle STAR (Situation, Tâche, Action et Résultat) pour construire votre conversation. \n\n> I have a Kubernetes cluster integrated in GitLab. Please generate a Yaml configuration for a Kubernetes service deployment. Explain how GitOps works as a second step. How to verify the results? \n\n![Prompt incluant plusieurs questions et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image27_aHR0cHM6_1750097645354.png)\n\n### 4. Utilisez une communication à contexte faible \n\nFournissez autant de contexte que nécessaire pour obtenir une réponse. L'historique précédent ou le code source ouvert ne fournit parfois pas de contexte utile. Pour obtenir une réponse plus adaptée, appliquez un pattern de [communication à contexte faible](https://handbook.gitlab.com/handbook/company/culture/all-remote/effective-communication/#understanding-low-context-communication), qui est utilisé dans les communications 100 % à distance chez GitLab.\n\nLa question suivante ne fournit pas suffisamment de contexte dans le cadre d'un projet C++.\n\n> Should I use virtual override instead of just override? \n\n![Prompt demandant si les utilisateurs doivent utiliser le remplacement virtuel au lieu d'un simple remplacement et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image34_aHR0cHM6_1750097645354.png)\n\nEssayez plutôt d'ajouter davantage de contexte :\n\n> When implementing a pure virtual function in an inherited class, should I use virtual function override, or just function override? Context is C++. \n\n![Prompt offrant plus de détails et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image36_aHR0cHM6_1750097645355.png)\n\nVous pouvez également consulter l'exemple dans la vidéo [GitLab Duo Coffee Chat : Refactor C++ functions into OOP classes for abstract database handling](https://youtu.be/Z9EJh0J9358?t=2190). \n\n### 5. Répétez la question\n\nL'IA n'est pas prévisible. Sa réponse peut parfois différer des résultats attendus, ou elle ne produit pas d'exemples de code source ni d'extraits de code de configuration en raison du manque de contexte. Il est recommandé de répéter la question et de préciser les conditions requises.\n\nDans l'exemple suivant, nous voulons créer une application C#. Lors de la première tentative, nous n'avons pas spécifié le type d'application alors que le langage C# peut servir à créer une console/un terminal ou des applications d'interface utilisateur. Le résultat ne fournit pas non plus d'exemple de code source vide. Le second prompt répété ajoute deux mots supplémentaires : `console` et `empty`. \n\n> How can I get started creating an C# application in VS Code? \n> \n> How can I get started creating an empty C# console application in VS Code? \n\nLes résultats du prompt diffèrent. La première réponse est utile pour commencer en suivant les instructions dans la fenêtre VS Code, mais elle ne nous indique pas où se trouve le code source et comment le modifier. La réponse obtenue suite à la répétition et à l'amélioration du prompt fournit des instructions sur la façon de remplacer le template par défaut par un code de type « hello world ».\n\n![Répétition/modification du prompt et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image28_aHR0cHM6_1750097645355.png)\n\nVous pouvez également combiner des stratégies de répétition et d'affinement, et demander à Chat de montrer un exemple de code d'application et de tests.\n\n> How can I get started creating an empty C# console application in VSCode? Please show an example for application and tests. \n\n![Prompt demandant un exemple d'application et de tests et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750097645356.png)\n\n#### Répétez la question après avoir posé des questions génériques \n\nLorsque vous posez des questions génériques sur la technologie, GitLab Duo Chat peut ne pas être en mesure de vous aider. Dans le scénario suivant, nous n'avons pas pu obtenir de suggestion de framework et d'outils de compilation Java. Les possibilités de réponse sont trop nombreuses : elles peuvent concerner des outils de compilation tels que Maven et Gradle et [plus de 100 frameworks Java](https://fr.wikipedia.org/wiki/Liste_de_frameworks_Java), selon la pile technologique et les conditions requises.\n\n![Prompt demandant un framework et des outils de compilation Java et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750097645356.png)\n\nNous souhaitons maintenant nous concentrer sur un environnement client avec [Java Spring Boot](https://spring.io/projects/spring-boot). \n\n> I want to create a Java Spring Boot application. Please explain the project structure and show a hello world example. \n\n![Prompt demandant des informations supplémentaires (notamment un exemple hello world) et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image26_aHR0cHM6_1750097645357.png)\n\nCe prompt donne déjà d'excellents résultats. Effectuez l'exercice asynchrone suivant : répétez le prompt et demandez comment déployer l'application, en ajoutant plus de détails à chaque étape. Vous pouvez également transformer le prompt en conversation de suivi.\n\n> I want to create a Java Spring Boot application. Please explain the project structure and show a hello world example. Show how to build and deploy the application in CI/CD. \n>\n> I want to create a Java Spring Boot application. Please explain the project structure and show a hello world example. Show how to build and deploy the application in CI/CD, using container images. \n>\n> I want to create a Java Spring Boot application. Please explain the project structure and show a hello world example. Show how to build and deploy the application in CI/CD, using container images. Use Kubernetes and GitOps in GitLab. \n\n### 6. Faites preuve de patience\n\nLes mots simples ou les phrases courtes peuvent ne pas générer les résultats souhaités, [comme le montre cet exemple vidéo](https://youtu.be/JketELxLNEw?t=1220). GitLab Duo Chat peut parfois deviner correctement à partir des données disponibles, mais peut également demander plus de contexte.\n\nExemple : le terme `labels` qui apparaît dans la documentation GitLab.\n\n![Prompt portant sur les labels et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image12_aHR0cHM6_1750097645357.png)\n\nLimitez la question aux énoncés de problèmes et ciblez l'utilisation du tableau des tickets.\n\n> Explain labels in GitLab. Provide an example for efficient usage with issue boards.\n\n![Prompt demandant d'inclure un exemple et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image21_aHR0cHM6_1750097645358.png)\n\nVous pouvez également formuler un énoncé de problème suivi d'une question et demander des exemples supplémentaires.\n\n> I don't know how to use labels in GitLab. Please provide examples, and how to use them for filters in different views. Explain these views with examples.\n\n![Prompt énonçant un problème et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image10_aHR0cHM6_1750097645358.png)\n\nDe plus, évitez les questions fermées et précisez le contexte.\n\n> Can you help me fix performance regressions? \n\n![Prompt demandant de l'aide pour corriger les régressions affectant les performances et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image18_aHR0cHM6_1750097645359.png)\n\nFournissez plutôt davantage de contexte sur la régression affectant les performances, y compris les langages de programmation, les frameworks, la pile technologique et les environnements. L'exemple suivant utilise un environnement datant d'il y a plusieurs années, qui peut encore être utile aujourd'hui.\n\n> My PHP application encounters performance regressions using PHP 5.6 and MySQL 5.5. Please explain potential root causes, and how to address them. The app is deployed on Linux VMs. \n\n![Prompt plus détaillé et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image24_aHR0cHM6_1750097645360.png)\n\n### 7. Réinitialisez la conversation et lancez-en une nouvelle\n\nIl peut arriver que l'historique du chat montre une courbe d'apprentissage différente et ne fasse pas appel au contexte adéquat pour les questions de suivi. Il est également possible que GitLab Duo Chat ne puisse pas répondre aux questions spécifiques que vous avez posées. L'IA générative n'est pas prévisible et peut donc parfois ne pas être en mesure de fournir certains exemples à l'instant précis. Cependant, elle peut les fournir dans sa réponse à une future question (ce comportement a été observé dans la version bêta de GitLab Duo Chat). Les grands modèles de langage (LLM) sous-jacents peuvent parfois insister pour donner une réponse spécifique, créant une boucle sans fin.\n\n> How can I get started creating an empty C# console application in VSCode? Please show a .gitignore and .gitlab-ci.yml configuration with steps for C#, and add security scanning for GitLab. Explain how solutions and projects in C# work, and how to add a test project on the CLI.\n\nAprès avoir posé la question ci-dessus et demandé un exemple de configuration, nous avons tenté de réduire la portée de la question afin d'obtenir une réponse plus adaptée. Nous n'avons pas obtenu le résultat escompté, car Chat prend en compte le contexte de l'historique du chat et fait référence aux réponses précédentes.\n\n> How can I get started creating an empty C# console application in VSCode? Please show a .gitignore and .gitlab-ci.yml configuration with steps for C#. \n\n![Prompt demandant des exemples de configuration et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image23_aHR0cHM6_1750097645360.png)\n\nPour forcer GitLab Duo Chat à utiliser un nouveau contexte, utilisez la commande slash `/reset` pour remettre la session à zéro. Répétez ensuite la question pour obtenir de meilleurs résultats. Vous pouvez également utiliser `/clean` ou `/clear` pour supprimer tous les messages de la conversation.\n\n### 8. Gagnez en productivité en utilisant les commandes slash dans l'IDE \n\n#### Explication du code\n\n- Q : Code généré ? Code existant ? Code hérité ?\n- R : Utilisez la [commande slash `/explain` dans l'IDE](https://docs.gitlab.com/ee/user/gitlab_duo_chat.html#explain-code-in-the-ide).\n- R2 : Affinez le prompt pour obtenir des réponses plus ciblées, par exemple : `/explain focus on potential shortcomings or bugs`.\n\n![Prompt utilisant la commande slash /explain](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/gitlab_duo_chat_slash_commands_explain_01_aHR0cHM6_1750097645361.png)\n\n![Prompt affiné](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image6_aHR0cHM6_1750097645361.png)\n\n#### Refactorisation du code\n\n- Q : Code illisible ? Code spaghetti trop long ? Aucune couverture de test ?\n- R : Utilisez la [commande slash `/refactor` dans l'IDE](https://docs.gitlab.com/ee/user/gitlab_duo_chat.html#refactor-code-in-the-ide).\n- R2 : Affinez le prompt pour effectuer des actions plus ciblées, par exemple refactoriser du code pour obtenir des patterns orientés objet : `/refactor into object-oriented classes with methods and attributes`. \n\n![Prompt utilisant la commande slash /refactor](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image35_aHR0cHM6_1750097645362.png)\n\n![Prompt affiné](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image30_aHR0cHM6_1750097645362.png)\n\n#### Génération de tests\n\n- Q : Le code peut être testé, mais créer les tests prend trop de temps ?\n- R : Utilisez la [commande slash `/tests` dans l'IDE](https://docs.gitlab.com/ee/user/gitlab_duo_chat.html#write-tests-in-the-ide).\n\n- R2 : Affinez le prompt pour utiliser des frameworks de test spécifiques ou des cibles de test. Vous pouvez également demander à GitLab Duo Chat de se concentrer sur la refactorisation du code, puis de générer des tests : `/tests focus on refactoring the code into functions, and generate tests`.\n\n![Prompt utilisant la commande slash /tests](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image29_aHR0cHM6_1750097645363.png)\n\n![Prompt affiné](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750097645363.png)\n\nDécouvrez d'autres cas pratiques de workflows de développement complets dans notre [documentation](https://docs.gitlab.com/ee/user/gitlab_duo_examples.html).\n\n### 9. Affinez le prompt pour les commandes slash\n\nVous trouverez dans cet article de nombreux conseils pour rendre vos prompts plus spécifiques. Cette approche contribue à améliorer la productivité d'un workflow alimenté par l'IA. De la même manière, les commandes slash permettent d'obtenir de meilleurs résultats dans GitLab Duo Chat.\n\nRécemment, un client a posé la question suivante : « L'explication de code utilisant `/explain` peut-elle générer des commentaires intégrés au code ? ». La réponse est non. Vous pouvez cependant poser des questions de suivi à l'aide de prompts dans Chat et demander un résumé sous la forme d'un commentaire de code. Le langage de programmation doit être indiqué.\n\nDans l'exemple suivant, un [code client HTTP C++ utilisant la bibliothèque cURL](https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-prompts/-/blob/5cc9bdd65ee8ee16c548bea0402c18f8209d4d06/chat/slash-commands/c++/cli.cpp) nécessite plus de documentation. Vous pouvez affiner le prompt `/explain` en fournissant des instructions plus précises en demandant à GitLab Duo Chat d'expliquer le code en ajoutant des commentaires au code, puis copier-coller le prompt ainsi obtenu dans l'éditeur.\n\n> /explain add documentation, rewrite the code snippet \n\n![Prompt demandant d'ajouter de la documentation/de réécrire l'extrait de code et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image13_aHR0cHM6_1750097645363.png)\n\nVous pouvez également demander à GitLab Duo Chat de refactoriser le code source (via la commande `/refactor`) et de générer des commentaires au code via un prompt personnalisé.\n\n> /refactor add code comments and documentation\n\n![Prompt demandant de réusiner le code source et de générer des commentaires de code](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image15_aHR0cHM6_1750097645364.png)\n\n### 10. Utilisez les commandes slash de manière créative\n\nLorsque l'IA ne connaît pas la réponse à une question sur le code source ou le langage de programmation, réfléchissez à la manière dont les commandes slash `/explain`, `/refactor` et `/tests` peuvent vous aider.\n\nDans l'exemple suivant, une chaîne de requête SQL en C++ est créée sur une seule ligne. Pour améliorer la lisibilité et avoir la possibilité d'ajouter plus de colonnes de base de données à l'avenir, il peut être utile de choisir une chaîne multiligne.\n\n> std::string sql = \"CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, email TEXT NOT NULL)\";\n\nVous pouvez demander à GitLab Duo Chat des précisions à ce sujet, par exemple en posant la question suivante :\n\n> How to create a string in C++ using multiple lines? \n\nChat peut répondre avec une explication et éventuellement un exemple de code source. Dans ce contexte, il peut proposer de créer une valeur de chaîne C++ sur plusieurs lignes, par exemple en utilisant le caractère `\\n`, affectée à une variable. \n\nLa condition requise est plutôt de formater uniquement le code écrit et d'affecter des valeurs de variable dans plusieurs lignes. Il n'est pas nécessaire que la valeur de chaîne elle-même contienne une représentation de chaîne multiligne. \n\nVous disposez d'une alternative pour fournir un contexte supplémentaire dans VS Code et le Web IDE : sélectionnez le code source en question, effectuez un clic droit et accédez au menu `GitLab Duo Chat > Refactor`. Cela permet d'ouvrir la fenêtre de prompt de GitLab  Duo Chat et de déclencher immédiatement la tâche de code `/refactor`.\n\nCette dernière peut toutefois ne pas produire les résultats attendus. La refactorisation d'une chaîne SQL sur une seule ligne peut signifier beaucoup de choses : utiliser plusieurs lignes pour plus de lisibilité, créer des constantes et plus encore.\n\nLes tâches de code fournissent une option pour rendre le prompt plus spécifique. Vous pouvez ajouter plus de texte après la commande `/refactor` et demander à GitLab Duo Chat d'utiliser un type de code, un algorithme ou un design pattern spécifique. \n\nRéessayons en sélectionnant le code source, en affichant la fenêtre du chat, en saisissant le prompt suivant et en appuyant sur Entrée. \n\n> /refactor into a multi-line written string. Show different approaches for all C++ standards. \n\n![Prompt demandant de réusiner le code en une chaîne écrite multiligne et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image17_aHR0cHM6_1750097645364.png)\n\n**Astuce :** vous pouvez utiliser la fonctionnalité de suggestions de code de GitLab Duo pour affiner encore plus le code source après la refactorisation, ou utiliser d'autres affinements de prompt `/refactor`.\n\n>/refactor into a multi-line written string, show different approaches \n>\n> /refactor into multi-line string, not using raw string literals\n>\n> /refactor into a multi-line written string. (/refactor en une chaîne écrite multiligne.) Faites en sorte que le nom de la table soit paramétrable\n\nDécouvrez une autre approche avec le type `stringstream` dans la vidéo « [GitLab Duo Coffee Chat : Refactor C++ functions into OOP classes for abstract database handling](https://www.youtube.com/watch?v=Z9EJh0J9358) ». \n\n#### Explication des vulnérabilités\n\nLe résultat peut être aléatoire, mais vous pouvez également exécuter la commande slash `/explain` pour obtenir des explications sur les failles de sécurité. Dans cet exemple, le [code C](https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-prompts/-/blob/5a5f293dfbfac7222ca4013d8f9ce9b462e4cd3a/chat/slash-commands/c/vuln.c) contient plusieurs vulnérabilités liées notamment à des dépassements de mémoire tampon strcpy(), à des fichiers modifiables par tout le monde et à des attaques de type « race condition ».\n\n> /explain why this code has multiple vulnerabilities \n\n![Prompt demandant des explications sur les multiples vulnérabilités du code](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image20_aHR0cHM6_1750097645365.png)\n\n#### Refactorisation du code C  en langage Rust\n\nLe langage Rust garantit la sécurité de la mémoire. Vous pouvez demander à GitLab Duo Chat de refactoriser le [code C](https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-prompts/-/blob/5a5f293dfbfac7222ca4013d8f9ce9b462e4cd3a/chat/slash-commands/c/vuln.c)  vulnérable en Rust, en utilisant la commande `/refactor`. Entraînez-vous avec des prompts plus précis afin d'obtenir de meilleurs résultats.\n\n> /refactor into Rust and use high level libraries \n\n![Prompt dans Chat](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image8_aHR0cHM6_1750097645366.png)\n\n### Raccourcis \n\nEssayez ces raccourcis dans votre environnement et entraînez-vous de manière asynchrone avec GitLab Duo Chat.\n\n1. Inspectez le code vulnérable des CVE et demandez le problème rencontré et comment y remédier, en utilisant le prompt `/explain why is this code vulnerable`. \n**Astuce :** importez des projets open source dans GitLab pour tirer parti des explications de code de GitLab Duo Chat.\n1. Essayez de refactoriser le code dans de nouveaux langages de programmation pour faciliter la migration du code hérité.\n1. Vous pouvez également essayer de réusiner le code d'une configuration Jenkins dans GitLab CI/CD, en utilisant le prompt `/refactor into GitLab CI/CD configuration`. \n\n### En savoir plus\n\nIl existe de nombreux environnements et défis différents à relever. Consultez notre [documentation sur GitLab Duo Chat](https://docs.gitlab.com/ee/user/gitlab_duo_chat.html) pour découvrir plus d'exemples pratiques, ainsi qu'une section contenant des [exemples de cas d'utilisation de GitLab Duo](https://docs.gitlab.com/ee/user/gitlab_duo_examples.html) contenant des informations sur les workflows DevSecOps alimentés par l'IA, notamment à l'aide de GitLab Duo Chat. \n\n> Vous souhaitez utiliser GitLab Duo Chat ? [Commencez votre essai gratuit dès aujourd'hui](https://about.gitlab.com/fr-fr/solutions/gitlab-duo-pro/sales/).\n",[684,689,685,9],"2025-03-12",{"slug":1616,"featured":90,"template":691},"10-best-practices-for-using-ai-powered-gitlab-duo-chat","content:fr-fr:blog:10-best-practices-for-using-ai-powered-gitlab-duo-chat.yml","10 Best Practices For Using Ai Powered Gitlab Duo Chat","fr-fr/blog/10-best-practices-for-using-ai-powered-gitlab-duo-chat.yml","fr-fr/blog/10-best-practices-for-using-ai-powered-gitlab-duo-chat",5,[667,697,716,738,758,783,803,825,850],1758326318861]