<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://about.gitlab.com/blog</id>
    <title>GitLab</title>
    <updated>2025-10-20T19:25:36.353Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <author>
        <name>The GitLab Team</name>
    </author>
    <link rel="alternate" href="https://about.gitlab.com/blog"/>
    <link rel="self" href="https://about.gitlab.com/fr-fr/atom.xml"/>
    <subtitle>GitLab Blog RSS feed</subtitle>
    <icon>https://about.gitlab.com/favicon.ico</icon>
    <rights>All rights reserved 2025</rights>
    <entry>
        <title type="html"><![CDATA[Qu'est-ce que l'approche FinOps ?]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/what-is-finops/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/what-is-finops/"/>
        <updated>2025-10-15T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Le <strong>FinOps</strong> est la discipline qui transforme la gestion des coûts liés au cloud, passant d'un paiement réactif des factures à une optimisation proactive de la valeur, en réunissant les équipes financières, techniques et métiers autour d’un langage commun.</p>
<p>À mesure que l’usage du cloud s’intensifie, les organisations peinent à maîtriser leurs dépenses, comme en témoigne ce rapport de Gartner qui indique que <strong><a href="https://www.gartner.com/peer-community/oneminuteinsights/omi-keeping-cloud-costs-check-it-leader-perspectives-rfz" title="Etude Gartner 2023">69 % des organisations ont dépassé leur budget cloud en 2023</a>.</strong></p>
<p>Cette imprévisibilité fragilise la confiance des directions financières et accroît la pression sur les équipes IT. L’approche FinOps apporte une réponse structurée : rendre les coûts visibles en temps réel, instaurer une culture de responsabilité partagée et aligner chaque dépense sur la valeur métier qu’elle génère.</p>
<p>Plus qu’une simple stratégie de réduction des coûts, le FinOps est un cadre opérationnel et culturel. Il permet aux organisations de reprendre le contrôle de leurs budgets cloud sans sacrifier ni l’agilité ni l’innovation. Une approche d’autant plus pertinente lorsqu’elle s’intègre directement dans les pratiques <a href="https://about.gitlab.com/fr-fr/topics/devops/" title="Qu'est-ce que le DevOps?">DevOps</a> et <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/" title="Qu'est-ce que le CI/CD ?">CI/CD</a> disponibles sur la <a href="https://about.gitlab.com/fr-fr/why-gitlab/" title="Qu'est-ce que la plateforme GitLab ?">plateforme de GitLab</a>.</p>
<blockquote>
<p><strong><a href="https://about.gitlab.com/fr-fr/free-trial/devsecops/?utm_medium=blog&amp;utm_source=blog&amp;utm_campaign=eg_emea_x_trial_x_fr_blog_fr">→ Essayez GitLab Ultimate et GitLab Duo Enterprise gratuitement.</a></strong></p>
</blockquote>
<h2>Définition du FinOps</h2>
<p>Le terme <strong>FinOps</strong>, contraction de <em>Financial Operations</em>, désigne une discipline née d’un constat simple : l’explosion des usages cloud exige une gouvernance financière nouvelle. Les méthodes budgétaires classiques ne suffisent plus, car elles ne tiennent pas compte de la variabilité et de la complexité propres au cloud.</p>
<p>Le FinOps dépasse largement la notion de <strong>réduction des coûts</strong>. Il ne s’agit pas seulement de traquer le gaspillage ou de négocier des remises avec les fournisseurs. C’est une <strong>approche culturelle et organisationnelle</strong> qui réunit les équipes financières, technologiques et métiers. Son objectif est de canaliser l’innovation sans la freiner, en donnant à chacun une vision claire des impacts financiers de ses choix d’<strong>infrastructure</strong> et d’<strong>opérations</strong>.</p>
<p>Une organisation FinOps ne cherche pas à dépenser moins, mais à <strong>dépenser mieux</strong> : investir dans les bonnes ressources, au bon moment, avec un retour métier mesurable.</p>
<h2>Pourquoi le FinOps est devenu incontournable ?</h2>
<p>Le multicloud s’impose dans la plupart des organisations. AWS, Azure, Google Cloud et les solutions privées cohabitent, chacun avec ses modèles tarifaires et ses remises. Cette diversité rend le suivi budgétaire fragmenté et renforce la complexité de gouvernance.</p>
<p>À cette diversité s’ajoute la <strong>variabilité des coûts</strong>. Dans un système auto-hébergé (on-premise), le budget était fixé à l’avance. Dans le cloud, chaque pic de charge, projet de test ou déploiement accéléré peut alourdir la facture du jour au lendemain. Cette imprévisibilité met à mal les méthodes financières classiques et crée un besoin urgent de nouvelles pratiques de gestion.</p>
<p>Les services financiers exigent désormais plus qu'une facture cloud mensuelle incompréhensible. Ils attendent des prévisions fiables, une répartition claire des dépenses et une logique de gestion comparable à celle des autres investissements de l’entreprise.</p>
<p>C’est pourquoi l’alignement entre coûts et valeur métier est devenu central. Chaque dépense doit pouvoir être reliée à un produit ou une expérience client. L’approche FinOps apporte ce langage commun qui transforme une facture technique en tableau de bord business.</p>
<p>C’est dans ce contexte qu’est né le FinOps, pensé comme un cadre structuré pour maîtriser cette complexité.</p>
<h2>Les principes fondamentaux de l’approche FinOps</h2>
<p>Le FinOps repose sur une culture partagée, structurée autour de plusieurs principes clés :</p>
<ul>
<li><strong>La collaboration entre différentes équipes</strong> : aucun acteur ne peut piloter seul. La finance apporte la maîtrise budgétaire, l’ingénierie la réalité technique, et les équipes métiers la perspective de valeur. Ensemble, ils construisent une <strong>organisation</strong> capable de prendre des décisions équilibrées, mais cette logique de partage ne suffit pas à elle seule.</li>
<li><strong>La répartition de la responsabilité et de la gouvernance</strong> : chaque équipe assume le coût de ses choix techniques (<em>you build it, you run it, you pay it</em>), mais une fonction centrale définit les standards, fixe les indicateurs clés de performance (KPI) et fournit les outils pour maintenir la cohérence globale. Cette gouvernance ne se limite pas aux coûts : elle concerne aussi la <strong>gestion</strong> des environnements et des ressources.</li>
<li><strong>La valeur métier comme boussole</strong> : une dépense cloud n’a de sens que si elle contribue à un produit, un service ou une expérience client. L’approche FinOps mesure ce lien direct entre coûts et retour sur investissement.</li>
<li><strong>La transparence et la réactivité grâce à la donnée</strong> : les coûts doivent être visibles en temps réel, avec un reporting clair et actionnable, idéalement au sein même des workflows où les équipes travaillent déjà. C’est la condition pour corriger vite et instaurer la confiance.</li>
<li><strong>La prise de décision décentralisée avec une gouvernance centralisée</strong> : les équipes prennent des décisions en temps réel concernant leurs ressources dans le cadre de garde-fous établis, plutôt que d'attendre des chaînes d'approbation.</li>
<li><strong>Le modèle variable du cloud</strong> : plutôt que de subir la variabilité, le FinOps en fait un atout. Adapter les ressources aux besoins, automatiser la scalabilité et anticiper via des réservations permettent de transformer la flexibilité en levier stratégique.</li>
<li><strong>La culture de l’optimisation continue</strong> : FinOps est une pratique permanente, et non un projet ponctuel. Les équipes identifient continuellement le gaspillage, optimisent les ressources et affinent les processus à mesure que l'utilisation du cloud évolue.</li>
</ul>
<p>Ces principes forment le socle culturel. Pour les mettre en œuvre, il faut un cadre clair et un cycle de vie défini, capable d’accompagner les organisations dans le temps.</p>
<h2>Le cadre et cycle de vie FinOps</h2>
<p>Pour transformer ces principes en pratiques durables, la FinOps Foundation propose un <strong>framework</strong> reconnu. Il décrit les domaines d’action, les rôles impliqués et les étapes de maturité.</p>
<h3>Les trois domaines du framework FinOp</h3>
<p>Le framework de la FinOps Foundation repose sur trois domaines permanents :</p>
<ul>
<li><strong>Informer</strong> : rendre les coûts visibles et compréhensibles, en partageant la donnée financière en temps réel.</li>
<li><strong>Optimiser</strong> : identifier les inefficiences, ajuster les ressources et introduire une logique d’optimisation continue.</li>
<li><strong>Opérer</strong> : installer une gouvernance durable et piloter sur le long terme.</li>
</ul>
<p>Ces domaines ne sont pas séquentiels : ils forment un cycle continu. Plus on informe, mieux on optimise, et plus la gouvernance s’ancre dans l’organisation.</p>
<h3>Rôles et maturité des organisations</h3>
<p>Chaque domaine mobilise des acteurs spécifiques : la finance pour le contrôle budgétaire, l’ingénierie pour la traduction technique, les équipes métiers pour la valeur business, et la gouvernance pour les standards communs.</p>
<p>L’adoption d’une approche FinOps se mesure aussi par des niveaux de maturité (<em>crawl, walk, run</em>) qui traduisent le cheminement progressif d’une organisation vers une gestion cloud pleinement maîtrisée.</p>
<h3>Les étapes « crawl, walk, run » pour progresser</h3>
<p>Le modèle <strong>crawl, walk, run</strong> décrit la maturité des organisations de la manière suivante :</p>
<ul>
<li><strong>Crawl</strong> : premiers pas, reporting basique, quelques KPIs suivis.</li>
<li><strong>Walk</strong> : intégration des pratiques, optimisation régulière, premiers rituels et automatisations.</li>
<li><strong>Run</strong> : maturité avancée, automatisation complète, gouvernance robuste, FinOps intégré à la stratégie d’entreprise.</li>
</ul>
<p>Ce cadre donne une boussole aux organisations : il permet de savoir où elles se situent et comment progresser vers une maîtrise durable de leurs dépenses cloud.</p>
<h2>Pourquoi et comment déployer un modèle FinOps ?</h2>
<p>Mettre en place une démarche FinOps, c’est répondre à ces enjeux : variabilité des coûts, pression budgétaire, besoin de transparence et recherche d’efficacité. Pour réussir, le déploiement doit être progressif et ancré dans des usages réels.</p>
<h3>Maîtriser la variabilité et l’imprévisibilité des coûts cloud</h3>
<p>Le cloud fonctionne à l’usage, ce qui rend ses coûts naturellement fluctuants. Pour éviter que cette instabilité ne devienne un risque budgétaire, le FinOps impose de cartographier les pics de consommation, de fixer des règles de pilotage budgétaire et de modéliser les scénarios d’infrastructure. L’objectif est de transformer une dépense imprévisible en une dépense maîtrisée.</p>
<h3>Aligner coûts et valeur métier</h3>
<p>Une fois la transparence obtenue, la question devient : <em>chaque dépense crée-t-elle réellement de la valeur ?</em> Le FinOps relie les coûts aux produits et services, et les mesure via des indicateurs unitaires comme le coût par utilisateur ou par transaction. Cette approche permet de prioriser les investissements selon leur ROI métier et de donner du sens aux coûts liés au cloud.</p>
<h3>Mettre en place une gouvernance et des règles partagées</h3>
<p>Pour que cette logique tienne dans le temps, une gouvernance claire est nécessaire. Standards de tagging, définition de propriétaires pour chaque ressource et attribution de budgets par équipe assurent la traçabilité. Des processus d’arbitrage complètent ce cadre, validé au plus haut niveau de l’entreprise. La gouvernance devient alors la colonne vertébrale du modèle.</p>
<h3>S’appuyer sur des outils et métriques dédiés</h3>
<p>La gouvernance ne fonctionne pas sans données fiables. Les fournisseurs cloud proposent leurs propres outils de suivi, mais ils restent souvent fragmentés et difficiles à comparer. L’enjeu est de centraliser l’information et de la rendre actionnable dans un même environnement. Des KPIs simples comme le coût par charge de travail, par utilisateur, ou efficacité par équipe permettent déjà de matérialiser le lien entre usage et valeur. Intégrés directement aux workflows existants, ils deviennent des leviers concrets de pilotage quotidien.</p>
<h3>Adopter une démarche progressive</h3>
<p>Le FinOps n’est pas un big bang. La réussite passe par une adoption incrémentale : lancer un produit minimum viable (MVP) FinOps, comme un <a href="https://about.gitlab.com/fr-fr/solutions/devops-platform/" title="Plateforme DevOps">projet DevOps</a>, engranger des gains rapides et élargir progressivement le périmètre. Le but n’est pas la perfection immédiate, mais la construction d’une dynamique durable qui s’installe dans la culture.</p>
<h3>Exemples d’actions rapides pour développer une stratégie FinOps</h3>
<p>Une stratégie FinOps doit démontrer sa valeur rapidement. Trois actions simples suffisent souvent à générer des économies visibles et à crédibiliser la démarche :</p>
<ul>
<li><strong>Éliminer les ressources orphelines</strong> : volumes de stockage oubliés, IP inutilisées ou environnements de test inactifs. Ces fuites discrètes représentent souvent plusieurs points de la facture mensuelle.</li>
<li><strong>Redimensionner les instances surprovisionnées</strong> : beaucoup de ressources tournent à une fraction de leur capacité. Ajuster leur taille réduit les coûts immédiatement, sans perte de performance de l’infrastructure.</li>
<li><strong>Automatiser l’arrêt des environnements non critiques</strong> : couper la nuit et le week-end ce qui n’a pas besoin de tourner en continu génère des économies récurrentes, simples et durables.</li>
</ul>
<p>Ces gestes rapides donnent un signal clair : le FinOps produit des résultats immédiats et prépare le terrain à une adoption durable.</p>
<blockquote>
<p><strong>La FinOps Foundation</strong> : créée en 2019 et rattachée à la Linux Foundation, la FinOps Foundation définit les standards de la discipline et fédère une communauté mondiale. Elle diffuse un framework reconnu (informer, optimiser, opérer), propose des formations et certifications, et organise des échanges entre praticiens. C’est aujourd’hui la référence pour structurer et faire progresser les pratiques FinOps.</p>
</blockquote>
<h2>Les défis et limites du FinOps</h2>
<p>Adopter une démarche FinOps n’est pas un long fleuve tranquille. Si la discipline séduit par sa promesse de transparence et de maîtrise, sa mise en œuvre confronte les organisations à plusieurs obstacles récurrents.</p>
<h3>Un changement culturel difficile à impulser</h3>
<p>Le premier défi est culturel. Le FinOps ne se réduit pas à déployer un outil ou un tableau de bord : c’est avant tout une <strong>nouvelle façon de travailler ensemble</strong>. Les équipes financières, technologiques et métiers doivent partager leurs responsabilités, ce qui bouscule les habitudes. Comme dans toute transformation, la <strong>résistance au changement</strong> est souvent le premier obstacle.</p>
<p>Cette difficulté culturelle en entraîne une autre.</p>
<h3>Les silos organisationnels qui freinent la collaboration</h3>
<p>Dans beaucoup d’organisations, les équipes restent enfermées dans leurs silos : finance d’un côté, IT de l’autre, équipes métier à part. Sans communication fluide, impossible d’aligner coûts et valeur métier. La gouvernance FinOps cherche justement à briser ces cloisons, mais cela suppose un <strong>soutien fort de la direction</strong> pour changer les réflexes organisationnels.</p>
<p>Et même quand les équipes coopèrent, un autre frein apparaît : la donnée elle-même.</p>
<h3>Une visibilité partielle et des données complexes à exploiter</h3>
<p>Les coûts liés au cloud sont notoirement difficiles à lire, surtout en environnement multi-cloud. La donnée existe, mais elle reste souvent <strong>dispersée, brute et difficile à interpréter</strong>. Les équipes n’ont pas toujours les bons outils pour la centraliser et la rendre actionnable. La transparence promise par le FinOps peut donc se heurter à des limites techniques et analytiques.</p>
<p>Ce manque de clarté se double d’un manque de compétences spécialisées.</p>
<h3>Le manque de compétences et d’outils adaptés</h3>
<p>Le FinOps est encore une discipline jeune, et les profils expérimentés sont rares. Beaucoup d’organisations doivent former leurs équipes en interne, ce qui rend l’adoption progressive mais parfois lente. Cette montée en compétence est essentielle, car la réussite repose autant sur la culture que sur la technique.</p>
<p>Les outils représentent un autre défi. Les organisations disposent de nombreux outils pour analyser leurs coûts cloud, mais ces solutions sont souvent dispersées et difficiles à intégrer dans une vision unique. Le résultat est paradoxal : plus de données, mais pas nécessairement plus de clarté.</p>
<p>Le véritable enjeu est donc de bâtir une approche outillée qui reste simple et alignée sur la maturité de l’organisation. Avancer par étapes, en privilégiant la lisibilité et l’efficacité, permet d’éviter de transformer un problème de gouvernance en un problème d’outils.</p>
<h3>Un budget cloud par nature instable</h3>
<p>Même avec une gouvernance solide et des outils performants, les coûts liés au cloud restent par nature instable. Les pics de charge, les environnements hybrides ou les workloads liés à l’IA créent des fluctuations difficiles à anticiper. Les prévisions budgétaires doivent donc être révisées en permanence, car une consommation inattendue peut faire dérailler les estimations les plus rigoureuses.</p>
<p>Ces obstacles n’invalident pas le FinOps, ils montrent pourquoi la discipline doit continuer à évoluer.</p>
<h2>Les tendances et perspectives FinOps</h2>
<p>L’approche FinOps n’en est qu’au début de son histoire. La discipline continue d’évoluer pour répondre à de nouveaux enjeux, qui dépassent largement la seule question des coûts.</p>
<p>La première tendance est la <strong>durabilité</strong>. De plus en plus d’organisations veulent optimiser leurs dépenses cloud tout en réduisant leur empreinte carbone. Le FinOps s’ouvre ainsi au <strong>GreenOps</strong>, où performance économique et responsabilité environnementale avancent de concert.</p>
<p>La deuxième évolution est l’<strong>automatisation</strong>. La complexité croissante du cloud rend impossible un pilotage manuel. Les pratiques de type FinOps as Code et l’usage de l’IA pour analyser les consommations ou ajuster automatiquement les ressources vont devenir la norme.</p>
<p>Troisième transformation : l’impact de la <strong>charge de travail liée à IA</strong>. Ces charges massives et imprévisibles redéfinissent la gouvernance financière du cloud. Elles imposent de nouvelles méthodes de prévision, de nouveaux indicateurs et une collaboration encore plus étroite entre finance et ingénierie.</p>
<p>Enfin, la maturité reste encore faible. Beaucoup d’organisations en sont à leurs premiers pas, souvent au stade du “crawl”. Le défi des prochaines années sera de <strong>monter collectivement en maturité</strong>, pour que le FinOps devienne non pas une initiative ponctuelle, mais une compétence organisationnelle intégrée.</p>
<p>Le FinOps n’est donc pas une fin en soi, mais une démarche évolutive. Il permet de transformer le cloud d’un centre de coûts imprévisible en un levier stratégique. Intégré directement aux pratiques DevSecOps et CI/CD, il rapproche encore plus les équipes financières, technologiques et métiers autour d’objectifs communs.</p>
<p>Le FinOps n’est donc pas une fin en soi, mais une démarche évolutive. Il permet de transformer le cloud d’un centre de coûts imprévisible en un levier stratégique. Intégré directement aux pratiques <a href="https://about.gitlab.com/fr-fr/topics/devsecops/" title="Qu'est-ce que le DevSecOps ?">DevSecOps</a> et CI/CD, il rapproche encore plus les équipes financières, technologiques et métiers autour d’objectifs communs.</p>
<p>Ce parcours commence par l'intégration des pratiques FinOps directement dans les workflows de développement existants. C'est là que des plateformes comme GitLab entrent en jeu.</p>
<h2>GitLab et l’approche FinOps</h2>
<p>GitLab contribue à l’approche FinOps en offrant une visibilité sur l'utilisation des ressources de développement. La plateforme permet de suivre la consommation des minutes de calcul par projet et espace de nommage, facilitant ainsi l'attribution des coûts aux équipes. Par ailleurs, les administrateurs peuvent configurer des quotas d'utilisation et surveiller les tendances de consommation via les tableaux de bord d'usage. Cette approche aide les organisations à mieux comprendre leurs dépenses liées aux <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/" title="Qu'est-ce qu'un pipeline CI/CD ?">pipelines CI/CD</a> et à optimiser l'utilisation de leurs runners. En intégrant ces métriques dans les workflows de développement, GitLab sensibilise les équipes techniques à l'impact de leurs pratiques sur les coûts opérationnels.</p>
<blockquote>
<p><strong><a href="https://about.gitlab.com/fr-fr/free-trial/devsecops/?utm_medium=blog&amp;utm_source=blog&amp;utm_campaign=eg_emea_x_trial_x_fr_blog_fr">→ Essayez GitLab Ultimate et GitLab Duo Enterprise gratuitement.</a></strong></p>
</blockquote>
]]></content>
        <author>
            <name>GitLab France Team</name>
            <uri>https://about.gitlab.com/blog/authors/gitlab-france team</uri>
        </author>
        <published>2025-10-15T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Qu’est-ce que Docker ? Notre guide complet]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/what-is-docker-comprehensive-guide/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/what-is-docker-comprehensive-guide/"/>
        <updated>2025-10-10T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Docker a révolutionné la façon dont les équipes de développement créent, déploient et exécutent leurs applications grâce à une approche innovante : la conteneurisation. Cette approche est devenue incontournable dans le développement logiciel, car elle simplifie considérablement la gestion des environnements et accélère le cycle de développement logiciel.</p>
<p>Dans ce guide complet, découvrez tout ce qu'il faut savoir sur Docker : sa définition, son fonctionnement, ses avantages et son application dans un environnement <a href="https://about.gitlab.com/fr-fr/topics/devsecops/" title="Qu'est-ce que le DevSevOps ?">DevSecOps</a> avec la plateforme de GitLab.</p>
<blockquote>
<p><a href="https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/blog&amp;glm_content=default-saas-trial" title="Essai gratuit de GitLab.">Essayez GitLab Ultimate gratuitement.</a></p>
</blockquote>
<h2>Docker : définition</h2>
<p>Docker est une plateforme de conteneurisation <a href="https://about.gitlab.com/fr-fr/blog/what-is-open-source/" title="Qu'est-ce que l'open source ?">open source</a> qui permet aux équipes de développement d'empaqueter leurs applications et toutes leurs dépendances dans des conteneurs légers et portables. Lancé en 2013, Docker a démocratisé l'utilisation des conteneurs en proposant une solution simple et accessible pour créer des environnements d'exécution isolés.</p>
<h3>Qu’est-ce qu’un conteneur Docker ?</h3>
<p>Un conteneur Docker représente un environnement d'exécution léger qui encapsule une application avec l'ensemble de ses composants : code source, bibliothèques, dépendances système, variables d'environnement et fichiers de configuration. Il peut parfois être comparé à une machine virtuelle dans le sens où il permet d’héberger des services sur un même serveur physique tout en les isolant les uns des autres. Néanmoins, le fonctionnement d’un conteneur diffère légèrement d’une simple machine virtuelle.</p>
<p>Moins figés qu'une machine virtuelle, en matière de taille de disque et de ressources allouées, les conteneurs partagent le noyau de la machine hôte et isolent les processus, les utilisateurs, etc. Cela les rend très légers et leur permet de fonctionner comme s'ils étaient des machines distinctes. Par conséquent, les applications peuvent être démarrées et arrêtées rapidement.</p>
<h2>Comment fonctionne Docker ?</h2>
<p>Docker révolutionne la virtualisation en exploitant les capacités natives du noyau Linux pour créer des environnements d'exécution légers et isolés. Contrairement à la virtualisation traditionnelle qui nécessite des machines virtuelles complètes avec leur propre système d'exploitation, Docker utilise la conteneurisation pour partager le noyau de l'hôte tout en maintenant une isolation parfaite entre les applications.</p>
<p>La philosophie de Docker repose sur des technologies Linux avancées telles que les namespaces (qui isolent les processus, le réseau et le système de fichiers) et les cgroups (qui limitent et contrôlent l'utilisation des ressources). Docker encapsule ces fonctionnalités complexes dans une interface simple et portable, permettant aux équipes de développement de créer des environnements cohérents sur n'importe quelle plateforme.</p>
<p>Le processus de conteneurisation avec Docker suit un cheminement précis :</p>
<ol>
<li><strong>Création d'un Dockerfile :</strong> ce fichier texte contient les instructions pour construire l'environnement</li>
<li><strong>Construction d’une image docker</strong> : Docker assemble les composants selon les spécifications du Dockerfile</li>
<li><strong>Instanciation du conteneur</strong> : l'image devient un conteneur exécutable</li>
<li><strong>Gestion du cycle de vie</strong> : démarrage, arrêt, surveillance et mise à jour des conteneurs</li>
</ol>
<p>Pour comprendre pleinement le fonctionnement de Docker, il est essentiel de maîtriser les quatre composants fondamentaux suivants, qui contribuent à créer un écosystème de conteneurisation complet et efficace.</p>
<h3>Docker Engine : le cœur du système</h3>
<p><a href="https://docs.docker.com/engine/">Docker Engine</a> est le moteur qui orchestre toutes les opérations de conteneurisation. Cette architecture client-serveur se compose de trois éléments interconnectés qui travaillent en harmonie :</p>
<p><strong>Docker Daemon (<a href="https://docs.docker.com/reference/cli/dockerd/">dockerd</a>)</strong> constitue le service central qui s'exécute en permanence sur le système hôte et gère l'ensemble du cycle de vie des conteneurs. Il supervise la création, l'exécution, la surveillance et la destruction des conteneurs, tout en gérant les images, les réseaux virtuels et les volumes de stockage. Ce daemon écoute en permanence les requêtes et exécute les opérations demandées.</p>
<p><strong>L'API REST Docker</strong> est le mode de communication principal avec Docker Daemon. Concrètement, quand vous lancez <code>docker run</code> ou <a href="https://docs.gitlab.com/ci/docker/using_docker_build/"><code>docker build</code></a>, votre commande est transformée en requête HTTP qui est envoyée au daemon. Cette API permet également aux équipes de développement de créer leurs propres outils ou d'automatiser Docker dans leurs scripts et applications.</p>
<p><strong>Le client Docker CLI</strong> représente l'interface en ligne de commande que les utilisateurs emploient quotidiennement. Chaque commande <code>docker</code> (run, build, push, pull) transite par ce client qui communique avec le daemon via l'<a href="https://about.gitlab.com/fr-fr/blog/2024/09/04/what-is-rest-api/" title="Qu'est-ce qu'une API REST ?">API REST</a>.</p>
<h3>Images Docker : les modèles d'exécution</h3>
<p>Une <strong>image Docker</strong> constitue un modèle immuable et en lecture seule qui encapsule l'ensemble des éléments nécessaires à l'exécution d'une application. Cette image contient le système de fichiers complet, incluant le code source, les bibliothèques système, les dépendances, les variables d'environnement et les métadonnées de configuration.</p>
<p>L'architecture en couches des images Docker représente l'une des innovations les plus importantes de cette technologie. Chaque instruction dans un Dockerfile crée une nouvelle couche et Docker utilise un système de cache intelligent pour réutiliser les couches communes entre différentes images. Cette approche optimise considérablement l'espace de stockage et accélère les processus de construction et de téléchargement.</p>
<p>Les images sont identifiées par des tags qui combinent un nom et une version (comme <code>nginx:latest</code>, <code>ubuntu:20.04</code> ou <code>node:18-alpine</code>). Ces tags permettent aux équipes de développement de spécifier précisément quelle version d'une image utiliser dans leurs déploiements.</p>
<h3>Dockerfile : automatiser la construction</h3>
<p>Le <strong>Dockerfile</strong> représente bien plus qu'un simple script d'instructions : il constitue la recette complète pour reproduire fidèlement un environnement d'exécution. Ce fichier texte utilise une syntaxe déclarative simple pour définir chaque étape de la construction d'une image.</p>
<p>Un Dockerfile typique commence par spécifier une image de base (instruction FROM), puis enchaîne les opérations : installation de dépendances (<code>RUN</code>), copie de fichiers (<code>COPY</code> ou <code>ADD</code>), configuration d'environnement (<code>ENV</code>), exposition de ports (<code>EXPOSE</code>), et définition de la commande par défaut (<code>CMD</code> ou <code>ENTRYPOINT</code>).</p>
<p>Cette approche Infrastructure as Code garantit la reproductibilité parfaite des environnements et s'inscrit parfaitement dans les pratiques <a href="https://about.gitlab.com/fr-fr/topics/devops/" title="Qu'est-ce que le DevOps ?">DevOps</a> actuelles. En documentant explicitement toutes les étapes de configuration dans un fichier versionable, le Dockerfile facilite la collaboration entre les équipes de développement et les opérateurs.</p>
<h3>Docker Registry : partager et distribuer</h3>
<p>Les registres Docker fonctionnent comme des dépôts centralisés qui permettent de stocker, versioner et distribuer des images Docker de manière sécurisée. Ils constituent l'épine dorsale de l'écosystème Docker en facilitant la collaboration et le partage d'images.</p>
<p><strong><a href="https://www.docker.com/products/docker-hub/">Docker Hub</a></strong> demeure le registre public officiel, hébergeant des millions d'images communautaires et officielles. Les équipes de développement peuvent y trouver des images prêtes à l'emploi : bases de données, serveurs web, etc.</p>
<p>Les entreprises peuvent également déposer leurs images dans des <strong>registres privés</strong> garantissant la sécurité et le contrôle des accès. Ces registres privés peuvent être auto hébergés (on-premise) ou dans le cloud.</p>
<h2>Pourquoi utiliser Docker ?</h2>
<p>Le développement d'applications fait face à des défis croissants : multiplication des environnements de déploiement, diversité des technologies utilisées, cycles de livraison accélérés et exigences de fiabilité toujours plus élevées. Les équipes de développement jonglent quotidiennement avec des problématiques complexes qui ralentissent leur productivité et augmentent les risques d'erreur.</p>
<p>En ce sens, Docker répond directement ou indirectement à ces problématiques récurrentes dans le développement logiciel.</p>
<p><strong>Uniformisation des environnements</strong> : Docker élimine le fameux « ça marche sur ma machine » en garantissant que l'application s'exécute de manière identique sur tous les environnements, du poste de développement à la production.</p>
<p><strong>Simplification des déploiements</strong> : l'empaquetage de l'application et de ses dépendances dans un conteneur unique simplifie considérablement les processus de déploiement et réduit les risques d'erreur.</p>
<p><strong>Isolation des applications</strong> : chaque conteneur dispose de son propre espace d'exécution, évitant les conflits entre différentes versions de bibliothèques ou de dépendances.</p>
<p><strong>Accélération du développement</strong> : les équipes de développement peuvent rapidement lancer des environnements complexes sans configuration manuelle fastidieuse.</p>
<p><strong>Optimisation des ressources informatiques</strong> : Docker permet une utilisation plus efficace des ressources serveur comparé aux machines virtuelles traditionnelles. Plusieurs conteneurs peuvent partager le même noyau système tout en maintenant leur isolation, réduisant ainsi l'empreinte mémoire et CPU.</p>
<p>Cette efficacité se traduit par :</p>
<ul>
<li>Des temps de démarrage considérablement réduits</li>
<li>Une densité d'applications plus élevée par serveur</li>
<li>Une consommation énergétique optimisée</li>
<li>Des coûts d'infrastructure réduits</li>
</ul>
<h2>Quels sont les avantages de Docker ?</h2>
<p>Maintenant que nous avons vu pourquoi Docker est si populaire, intéressons-nous davantage aux avantages qu'il apporte concrètement aux équipes de développement.</p>
<h3>Portabilité et cohérence</h3>
<p>Docker garantit que les applications fonctionnent de manière identique quel que soit l'environnement d'exécution. Cette portabilité facilite :</p>
<ul>
<li>La migration d'applications entre différents fournisseurs cloud</li>
<li>Le déploiement sur des architectures hybrides (on-premise et cloud)</li>
<li>La création d'environnements de test fidèles à la production</li>
<li>La distribution d'applications complexes</li>
</ul>
<h3>Scalabilité et performance</h3>
<p>Les conteneurs Docker offrent une flexibilité exceptionnelle pour adapter les ressources aux besoins applicatifs :</p>
<ul>
<li><strong>Montée en charge horizontale</strong> : ajout rapide de nouvelles instances de conteneurs selon la demande</li>
<li><strong>Optimisation des ressources</strong> : allocation précise des ressources CPU et mémoire par conteneur</li>
<li><strong>Démarrage instantané</strong> : les conteneurs se lancent en quelques secondes contre plusieurs minutes pour les machines virtuelles</li>
<li><strong>Efficacité réseau</strong> : gestion sophistiquée des réseaux virtuels entre conteneurs</li>
</ul>
<h3>Facilitation du DevOps</h3>
<p>Docker s'intègre naturellement dans les pratiques DevOps en :</p>
<ul>
<li>Automatisant les processus de compilation et de déploiement</li>
<li>Facilitant l'intégration et le déploiement continus (<a href="https://about.gitlab.com/fr-fr/topics/ci-cd/" title="Qu'est-ce que le CI/CD ?">CI/CD</a>)</li>
<li>Permettant des tests reproductibles dans des environnements isolés</li>
<li>Accélérant les cycles de développement et de livraison</li>
</ul>
<h3>Écosystème et communauté</h3>
<p>L'écosystème Docker bénéficie d'une communauté active qui développe :</p>
<ul>
<li>Des milliers d'images officielles et communautaires sur Docker Hub</li>
<li>Des outils d'orchestration de conteneurs comme Docker Swarm (natif à Docker) et Kubernetes</li>
<li>Des solutions de monitoring et de logging adaptées aux conteneurs</li>
<li>Des intégrations avec les principales plateformes cloud</li>
</ul>
<h2>Quelles sont les limites de Docker ?</h2>
<p>Comme nous venons de le voir, Docker présente de nombreux avantages, mais aussi certains inconvénients, dont il convient de prendre connaissance avec de plonger dans l’écosystème Docker.</p>
<h3>Limitation à un seul système d'exploitation</h3>
<p>Docker crée plusieurs conteneurs sur un seul système d'exploitation. Si cette approche offre des avantages en termes de vitesse de démarrage et de traitement, elle peut également présenter des inconvénients. Par exemple, si vous souhaitez tester votre application dans un environnement Windows alors que votre machine hôte fonctionne sous Linux, vous devrez préparer une machine ou une machine virtuelle séparée.</p>
<h3>Surcharge lors du développement à grande échelle</h3>
<p>Docker est léger en lui-même, mais lorsqu'il est étendu à un système de grande envergure, la charge de gestion de Docker entre en jeu. Docker peut faire fonctionner de nombreux conteneurs sur un seul serveur, mais d'un autre côté, cela nécessite une gestion et une orchestration qui peuvent générer une surcharge. Il peut également devenir difficile de tout gérer en utilisant Docker seul sans recourir à des outils d’orchestration comme Docker Swarm ou encore <a href="https://about.gitlab.com/fr-fr/blog/2024/07/25/kubernetes-the-container-orchestration-solution/" title="Qu'est-ce que Kubernetes ?">Kubernetes</a>.</p>
<h3>Courbe d'apprentissage exigeante</h3>
<p>Docker utilise une méthode différente pour créer des environnements virtuels par rapport aux autres machines virtuelles. Cela signifie que les équipes de développement doivent apprendre et appréhender tous ces nouveaux concepts. Utiliser Docker sans bien comprendre son fonctionnement peut entraîner des problèmes par la suite. Il est important d'étudier Docker de manière approfondie avant de commencer à l'utiliser.</p>
<h3>Vulnérabilités de sécurité potentielles</h3>
<p>Docker utilise une architecture basée sur les conteneurs. Comme plusieurs conteneurs fonctionnent sur une seule machine, il faut faire attention aux vulnérabilités qui peuvent en découler. Par exemple, s'il y a une vulnérabilité dans un conteneur, elle pourrait affecter tous les autres conteneurs qui partagent les ressources du système d'exploitation hôte et le noyau.</p>
<h3>Difficultés dans la coopération entre conteneurs</h3>
<p>Lorsque vous envisagez l'intégration entre plusieurs conteneurs, diverses configurations peuvent être difficiles, ce qui peut conduire à des problèmes opérationnels. Par exemple, si vous créez une application et une base de données dans des conteneurs séparés et souhaitez les faire fonctionner ensemble, vous devez configurer les paramètres de communication au sein du même hôte. L'ouverture de ports et de sockets pose des risques de sécurité. Si vous rendez les paramètres trop compliqués pour éviter cela, vous risquez alors de rencontrer des problèmes en production. Lors de l'intégration de conteneurs, il est important de bien réfléchir dès la phase de conception.</p>
<h3>Comment GitLab résout les défis de Docker ?</h3>
<p>GitLab transforme Docker d'un simple outil de conteneurisation en une solution DevSecOps complète et sécurisée. Cette plateforme intégrée résout les principaux défis auxquels font face les organisations utilisant Docker à grande échelle.</p>
<p>L'approche &quot;shift-left&quot; de GitLab intègre les contrôles de sécurité directement dans le pipeline de développement. Plutôt que de traiter la sécurité comme une étape finale, GitLab analyse automatiquement les images Docker dès leur construction, détectant les vulnérabilités, les configurations dangereuses et les dépendances obsolètes avant le déploiement. Cette détection précoce réduit considérablement les coûts de remédiation et élimine les risques de sécurité en production.</p>
<p>GitLab Runner et ses pipelines CI/CD transforment la gestion des conteneurs Docker en automatisant l'ensemble du cycle de vie DevSecOps. Cette infrastructure d'exécution permet la construction automatisée d'images Docker optimisées, la validation automatique de la sécurité et des performances et l'orchestration sécurisée vers différents environnements.</p>
<h2>Le rôle de Docker dans l’approche DevSecOps de GitLab</h2>
<p>Docker joue également un rôle très important dans l'intégration DevSecOps avec GitLab.</p>
<h3>Conteneurisation des jobs CI/CD</h3>
<p>GitLab CI/CD vous permet d'utiliser des conteneurs Docker dans vos <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/" title="Qu'est-ce qu'un pipeline CI/CD ?">pipelines CI/CD</a>, vous apportant :</p>
<ul>
<li><strong>Cohérence</strong> : les jobs CI/CD s'exécutent dans des conteneurs, éliminant les erreurs dues aux différences de dépendances et d'environnements</li>
<li><strong>Scalabilité</strong> : les conteneurs sont légers, rapides à démarrer et efficaces pour exécuter de larges pipelines</li>
<li><strong>Flexibilité d'environnement</strong> : vous pouvez spécifier différentes images Docker pour chaque job, facilitant la mise à disposition de l'environnement requis</li>
</ul>
<p>L'image Docker GitLab Runner est basée sur Ubuntu ou Alpine Linux et inclut les commandes standard <code>gitlab-runner</code> qui la font fonctionner comme si vous aviez installé GitLab Runner directement sur l'hôte.</p>
<h3>Scanning de sécurité automatisé</h3>
<p>La sécurité est un composant clé de l’approche DevSecOps. GitLab la prend en charge dans les applications conteneurisées avec Docker à l’aide des scannings suivants :</p>
<ul>
<li><strong>Scanning de sécurité des images de conteneurs</strong> : fournit la capacité de scanner les images Docker dans vos pipelines CI/CD, vérifiant les vulnérabilités des packages OS afin d'évaluer la sûreté des images avant qu’elles n’atteignent l’environnement de production</li>
<li><strong><a href="https://docs.gitlab.com/user/application_security/continuous_vulnerability_scanning/">Scanning en continue des vulnérabilités de conteneurs</a></strong> : recherche les failles de sécurité dans les dépendances existantes des applications en se basant sur leur SBOM et en comparant les noms et les versions des composants aux informations contenues dans les derniers avis de sécurité.</li>
<li><strong><a href="https://about.gitlab.com/blog/improve-security-auditing-with-gitlab-operational-container-scanning/">Scanning opérationnel de conteneurs</a></strong> : exécute les analyses de vulnérabilités sur les conteneurs déployés dans un environnement Kubernetes. Cela comprend l'analyse régulière des images à la recherche de nouvelles vulnérabilités découvertes et le suivi des environnements dans lesquels ces vulnérabilités sont déployées.</li>
</ul>
<h3>Infrastructure as Code (IaC) et gestion d'environnement</h3>
<ul>
<li><strong>Reproductibilité</strong> : l’utilisation de Docker dans les jobs GitLab CI/CD assure la cohérence entre les environnements de développement et de production.</li>
<li><strong>Création instantanée d'environnements de staging et de test</strong> : en s'intégrant avec Docker Compose et Kubernetes, GitLab vous permet de créer des environnements isolés pour des branches spécifiques ou des merge requests, permettant des tests efficaces et un scanning de sécurité.</li>
</ul>
<h3>Déploiement rationalisé</h3>
<p>GitLab supporte les modèles de déploiement suivants avec Docker :</p>
<ul>
<li><strong>Compilation et push d'images Docker</strong> : construisez votre application sous forme d’image de conteneur et effectuez un push vers le registre de conteneurs de GitLab ou d'autres registres Docker.</li>
<li><strong><a href="https://about.gitlab.com/fr-fr/topics/continuous-delivery/" title="Qu'est-ce que la livraison continue ?">Livraison continue</a></strong> : utilisez des images Docker et déployez vers des outils d'orchestration de conteneurs pour des releases rapides et sécurisées.</li>
</ul>
<h3>Prise en charge de l'architecture de microservices</h3>
<p>GitLab et Docker ensemble facilitent la construction d'<a href="https://about.gitlab.com/fr-fr/blog/what-are-the-benefits-of-a-microservices-architecture/" title="Qu'est-ce qu'une architecture de microservices ?">architectures de microservices</a>, où les <a href="https://about.gitlab.com/fr-fr/topics/microservices/" title="Qu'est-ce qu'un microservice ?">microservices</a> s'exécutent comme des conteneurs Docker séparés.</p>
<p>Avec les pipelines GitLab CI/CD, vous pouvez gérer :</p>
<ul>
<li>La configuration des dépendances entre services</li>
<li>Les scans de sécurité individuels</li>
<li>Le <a href="https://about.gitlab.com/fr-fr/topics/version-control/" title="Qu'est-ce que le contrôle de version ?">contrôle de version</a> (facilite les retours à une version précédente)</li>
</ul>
<h2>Conclusion</h2>
<p>Docker a transformé le paysage du développement logiciel en démocratisant la conteneurisation et en simplifiant la gestion des environnements d'exécution. Sa capacité à créer des applications portables, légères et facilement déployables en fait aujourd’hui un outil incontournable pour les équipes de développement.</p>
<p>L'intégration native avec GitLab renforce encore davantage sa valeur en proposant une plateforme DevSecOps complète. Cette synergie permet aux entreprises d'accélérer leurs cycles de développement logiciel tout en maintenant des standards élevés de sécurité et de qualité.</p>
<p>Pour les équipes souhaitant moderniser leurs pratiques de développement, l'adoption de Docker représente un investissement stratégique qui se traduit par une productivité accrue, des déploiements plus fiables, une meilleure évolutivité et un environnement flexible.</p>
<blockquote>
<p>Vous souhaitez installer GitLab dans un conteneur Docker ? Consultez notre <a href="https://docs.gitlab.com/install/docker/">documentation</a> pour en savoir plus.</p>
</blockquote>
<h2>FAQ sur Docker</h2>
<h3>Que peut-on faire avec Docker ?</h3>
<p>Docker est une technologie de virtualisation légère et autonome qui empaquette le code d'application, ses dépendances et ses bibliothèques. Docker vous permet de créer plusieurs conteneurs (environnements virtuels) sur une seule machine, vous permettant d'unifier vos environnements de développement et de test.</p>
<h3>À quoi sert Docker ?</h3>
<p>Docker est utilisé par les équipes de développement pour découpler les applications et leurs dépendances du reste du système. Les conteneurs regroupent les applications et leurs dépendances ensemble et fournissent un environnement d'exécution léger.</p>
<h3>Docker peut-il remplacer les machines virtuelles ?</h3>
<p>Docker ne remplace pas complètement les machines virtuelles, mais offre une alternative plus légère pour de nombreux cas d'usage. Les conteneurs partagent le noyau du système hôte, tandis que les machines virtuelles émulent un système complet. Le choix dépend de vos besoins en isolation, performance et compatibilité système.</p>
<p><em>Note : certaines parties de cet article proviennent de l'article japonais <a href="https://about.gitlab.com/ja-jp/blog/what-is-docker/">Dockerとは：超入門編</a>.</em></p>
]]></content>
        <author>
            <name>GitLab France Team</name>
            <uri>https://about.gitlab.com/blog/authors/gitlab-france team</uri>
        </author>
        <published>2025-10-10T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Atlassian met fin à son offre Data Center tandis que GitLab maintient ses options de déploiement]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/atlassian-ending-data-center-as-gitlab-maintains-deployment-choice/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/atlassian-ending-data-center-as-gitlab-maintains-deployment-choice/"/>
        <updated>2025-10-09T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Le changement n'est jamais facile, surtout s'il vous est imposé. <a href="https://www.atlassian.com/blog/announcements/atlassian-ascend">Atlassian a annoncé la fin de vie de tous ses produits Data Center pour le 28 mars 2029</a>. Conséquence : des milliers d'entreprises doivent désormais repenser leur déploiement et leur infrastructure <a href="https://about.gitlab.com/fr-fr/topics/devsecops/" title="Qu'est-ce que le DevSecOps ?">DevSecOps</a>. Mais vous n'avez pas à vous contenter d'options qui ne correspondent pas à vos besoins. GitLab vous laisse le choix, que vous ayez besoin d'une solution self-managed pour la conformité, d'une solution cloud pour la commodité ou d'une solution hybride pour la flexibilité. Le tout au sein d'une plateforme DevSecOps unique alimentée par l'IA qui respecte vos exigences.</p>
<p>Alors que d'autres fournisseurs imposent des migrations vers des architectures exclusivement cloud, GitLab reste déterminée à prendre en charge les choix de déploiement qui correspondent à vos besoins métier. Que vous gériez des données gouvernementales sensibles, que vous opériez dans des environnements air-gapped ou que vous préfériez simplement le contrôle des déploiements self-managed, nous savons qu'une solution unique ne vous convient pas forcément.</p>
<h2>Le cloud n'est pas toujours la solution</h2>
<p>Pour les nombreuses entreprises qui ont investi des millions de dollars dans des déploiements Data Center, y compris celles qui ont migré vers Data Center <a href="https://about.gitlab.com/blog/atlassian-server-ending-move-to-a-single-devsecops-platform/">après l'arrêt des produits Server</a>, cette annonce représente bien plus qu'un simple arrêt de produit. Elle marque un changement fondamental dans l'approche des choix d'architecture centrés sur le client et place les entreprises face à un dilemme difficile : accepter un modèle de déploiement qui ne correspond pas à leurs besoins, ou trouver un fournisseur qui respecte leurs exigences.</p>
<p>Bon nombre d'organisations qui ont besoin de déploiements self-managed comptent parmi les plus importantes au monde : il s'agit de systèmes de santé protégeant les données des patients, d'institutions financières gérant des milliers de milliards d'actifs, d'agences gouvernementales chargées de la sécurité nationale et de sous-traitants de la défense opérant dans des environnements air-gapped.</p>
<p>Ces organisations ne choisissent pas les déploiements self-managed par commodité. Elles les choisissent pour répondre à des exigences de conformité, de sécurité et de souveraineté auxquelles les architectures exclusivement basées sur le cloud ne peuvent tout simplement pas satisfaire. Les organisations opérant dans des environnements fermés avec un accès Internet restreint ou inexistant ne font pas exception. Elles représentent une part importante des entreprises clientes dans divers secteurs.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1759928476/ynl7wwmkh5xyqhszv46m.jpg" alt="GitLab vs. Atlassian comparison table"></p>
<blockquote>
<p><strong><a href="https://about.gitlab.com/fr-fr/free-trial/devsecops/?utm_medium=blog&amp;utm_source=blog&amp;utm_campaign=eg_emea_x_trial_x_fr_blog_fr">→ Essayez GitLab Ultimate et GitLab Duo Enterprise gratuitement.</a></strong></p>
</blockquote>
<h2>Le coût réel d'une migration forcée vers le cloud dépasse le simple aspect financier</h2>
<p>Alors que les fournisseurs cloud présentent les migrations obligatoires comme des « mises à niveau », les organisations sont confrontées à des défis considérables qui vont bien au-delà des simples coûts financiers :</p>
<ul>
<li>
<p><strong>Perte des capacités d'intégration :</strong> des années d'intégrations personnalisées avec des systèmes hérités, des workflows soigneusement élaborés et des automatisations spécifiques à l'organisation deviennent obsolètes. Les organisations fortement intégrées à des systèmes hérités estiment souvent que la migration vers le cloud est irréalisable d'un point de vue technique.</p>
</li>
<li>
<p><strong>Contraintes réglementaires :</strong> pour les organisations des secteurs réglementés, la migration vers le cloud n'est pas seulement complexe, elle est souvent interdite. Les exigences en matière de résidence des données, les environnements air-gapped et les frameworks réglementaires stricts ne s'adaptent pas aux préférences des fournisseurs. L'absence de solutions monolocataires dans de nombreuses approches exclusivement basées sur le cloud crée des obstacles insurmontables en matière de conformité.</p>
</li>
<li>
<p><strong>Impact sur la productivité :</strong> les architectures exclusivement cloud nécessitent souvent de jongler entre plusieurs produits : des outils distincts pour la planification, la gestion du code, le <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/" title="Qu'est-ce que le CI/CD ?">CI/CD</a> et la documentation. Chaque outil implique un nouveau changement de contexte, une nouvelle intégration à maintenir, ou encore un nouveau point de défaillance potentiel. Les recherches menées par GitLab montrent que <a href="https://about.gitlab.com/fr-fr/developer-survey/">30 % des équipes de développement consacrent au moins 50 % de leur temps à maintenir et/ou intégrer leur chaîne d'outils DevSecOps</a>. Les architectures fragmentées exacerbent ce problème au lieu de le résoudre.</p>
</li>
</ul>
<h2>GitLab offre choix, engagement et consolidation</h2>
<p>Les entreprises méritent un partenaire technologique fiable. C'est pourquoi nous nous sommes engagés à prendre en charge toute une gamme d'options de déploiement. Que vous ayez besoin d'une solution sur site pour la conformité, d'une solution hybride pour la flexibilité ou d'une solution cloud pour la commodité, le choix vous appartient. Cet engagement se reflète également dans <a href="https://about.gitlab.com/fr-fr/gitlab-duo/">GitLab Duo</a>, notre solution d'IA qui accompagne les équipes de développement à chaque étape de leur workflow.</p>
<p>Mais nous offrons plus qu'une simple flexibilité de déploiement. Alors que d'autres fournisseurs peuvent vous obliger à combiner leurs produits pour former une chaîne d'outils fragmentée, GitLab fournit tout ce dont vous avez besoin dans une <strong>plateforme DevSecOps complète avec l'IA native</strong>. La gestion du code source, le CI/CD, le scanning de sécurité, la <a href="https://about.gitlab.com/fr-fr/blog/how-gitlab-agile-planning-improves-collaborative-project-management/" title="Qu'est-ce que la planification agile ?">planification Agile</a> et la documentation sont tous gérés au sein d'une seule application et d'une seule relation fournisseur.</p>
<p>Lorsque <a href="https://about.gitlab.com/fr-fr/customers/airbus/">Airbus</a> et <a href="https://about.gitlab.com/fr-fr/customers/iron-mountain/">Iron Mountain</a> ont évalué leurs chaînes d'outils fragmentées existantes, ils ont systématiquement identifié les défis suivants : mauvaise expérience utilisateur, fonctionnalités manquantes comme le scanning de sécurité intégré et les environnements de test temporaires, et complexité de gestion liée au dépannage des plugins. <strong>Ce ne sont pas des défis mineurs, mais des obstacles majeurs à la livraison logicielle moderne.</strong></p>
<h2>Votre parcours de migration est plus simple que vous ne le pensez</h2>
<p>Nous avons aidé des milliers d'organisations à migrer depuis d'autres fournisseurs, et nous avons développé les outils et l'expertise nécessaires pour faciliter votre transition :</p>
<ul>
<li>
<p><strong>Outils de migration automatisés :</strong> notre <a href="https://docs.gitlab.com/user/project/import/bitbucket_server/">outil d'importation Bitbucket Server</a> transfère les dépôts, les pull requests, les commentaires et même les objets Large File Storage (LFS). Pour Jira, notre <a href="https://docs.gitlab.com/user/project/import/jira/">outil d'importation intégré</a> gère les tickets, les descriptions et les labels, avec des services professionnels disponibles pour les migrations complexes.</p>
</li>
<li>
<p><strong>Efficacité prouvée à grande échelle :</strong> un dépôt de 500 Gio avec 13 000 pull requests, 10 000 branches et 7 000 tags ne prendra probablement que <a href="https://docs.gitlab.com/user/project/import/bitbucket_server/">8 heures à migrer</a> de Bitbucket vers GitLab en utilisant le traitement parallèle.</p>
</li>
<li>
<p><strong>Retour sur investissement immédiat :</strong> une <a href="https://about.gitlab.com/fr-fr/blog/gitlab-ultimates-total-economic-impact-483-roi-over-3-years/">étude Total Economic Impact™ de Forrester Consulting commandée par GitLab</a> révèle qu'investir dans GitLab Ultimate permet de traduire ces avantages en un impact réel sur les résultats financiers, avec un ROI de 483 % sur trois ans, un gain de temps multiplié par 5 dans les activités liées à la sécurité et 25 % d'économies sur les coûts liés à la chaîne d'outils logiciels.</p>
</li>
</ul>
<h2>Commencez votre transition vers une plateforme DevSecOps unifiée</h2>
<p>Les organisations avant-gardistes n'attendent pas les échéances imposées par les fournisseurs. Elles évaluent les alternatives dès maintenant, pendant qu'elles ont encore le temps de migrer de manière réfléchie vers des plateformes qui protègent leurs investissements et tiennent leurs promesses.</p>
<p>Les organisations investissent dans des déploiements self-managed parce qu'elles ont besoin de contrôle, de conformité et de personnalisation. Lorsque les fournisseurs déprécient ces capacités, ils suppriment non seulement des fonctionnalités, mais aussi la possibilité fondamentale de choisir des environnements adaptés aux exigences métier.</p>
<p>Les plateformes DevSecOps modernes doivent offrir des fonctionnalités complètes qui respectent les besoins de déploiement, consolident les chaînes d'outils et accélèrent la livraison logicielle, sans imposer de compromis en matière de sécurité ou de souveraineté des données.</p>
<p><a href="https://about.gitlab.com/fr-fr/sales/">Contactez notre équipe commerciale</a> dès aujourd'hui pour discuter de vos options de migration, ou explorez nos <a href="https://about.gitlab.com/move-to-gitlab-from-atlassian/">ressources</a> et découvrez comment des milliers d'organisations ont déjà effectué leur transition vers GitLab.</p>
<blockquote>
<p><strong><a href="https://about.gitlab.com/fr-fr/free-trial/devsecops/?utm_medium=blog&amp;utm_source=blog&amp;utm_campaign=eg_emea_x_trial_x_fr_blog_fr">→ Essayez GitLab Ultimate et GitLab Duo Enterprise gratuitement.</a></strong></p>
</blockquote>
]]></content>
        <author>
            <name>Emilio Salvador</name>
            <uri>https://about.gitlab.com/blog/authors/emilio-salvador</uri>
        </author>
        <published>2025-10-09T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Vibe coding avec GitLab Duo Agent Platform : du ticket à la merge request]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/vibe-coding-with-gitlab-duo-agent-platform-issue-to-mr-flow/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/vibe-coding-with-gitlab-duo-agent-platform-issue-to-mr-flow/"/>
        <updated>2025-10-02T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p><a href="https://about.gitlab.com/fr-fr/gitlab-duo/agent-platform/">GitLab Duo Agent Platform</a> (disponible en version bêta) fournit un framework qui permet aux agents d'IA d'interagir avec les ressources de GitLab telles que les tickets et les merge requests et d'exécuter des tâches complexes en plusieurs étapes, du concept à la réalisation. GitLab Duo Agent Platform offre une expérience conversationnelle avec (<a href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-chat-gets-agentic-ai-makeover/">GitLab Duo Agentic Chat)</a> et automatisée avec les (<a href="https://about.gitlab.com/fr-fr/blog/gitlab-18-3-expanding-ai-orchestration-in-software-engineering/">flows)</a> pour aider à la génération de code, à la modernisation, à la résolution des vulnérabilités de sécurité et à l'analyse de projets avec une sécurité à l’échelle de l'entreprise et des contrôles personnalisables.</p>
<p>Le flow « ticket à merge request » simplifie la transformation d'un ticket détaillé en brouillon de merge request (MR). Le flow analyse la description et les exigences d'un ticket, ouvre une merge request liée au ticket, crée un plan de développement et propose une implémentation, directement depuis l'interface de GitLab.</p>
<h2>Le défi des équipes de développement</h2>
<p>Les mises à jour telles que la réorganisation d'une interface utilisateur, l'ajustement de la taille d'un composant ou la modification mineure d'un workflow ne devraient pas nécessiter des heures de configuration. Pourtant, les équipes de développement se retrouvent face à un cycle frustrant : elles doivent rechercher dans le code source pour localiser les bons fichiers, créer des branches, rassembler des modifications dispersées à travers de multiples composants et gérer des processus de revue complexes, avant même de pouvoir vérifier si leur solution fonctionne. Ce processus de développement trop complexe transforme ce qui devrait être des itérations rapides en tâches chronophages qui ralentissent les boucles de rétroaction et transforment des améliorations simples en projets majeurs.</p>
<h2>Comment utiliser le flow « ticket à merge request » pour accélérer une mise à jour d'application ?</h2>
<p>Vous devez d'abord remplir les conditions ci-dessous avant d'utiliser ce flow :</p>
<ul>
<li>Un ticket existant avec des exigences claires et des critères d'acceptation. GitLab Duo Agent Platform arrivera ainsi à mieux comprendre ce que vous essayez d'accomplir et à améliorer la qualité du résultat.</li>
<li>Un niveau d'accès Développeur ou plus au projet, car le flow apportera des modifications au code source de votre projet.</li>
<li>GitLab Duo Agent Platform activée pour votre groupe ou projet, avec les flows autorisés. Pour activer cette option, allez dans <strong>Paramètres &gt; Général &gt; GitLab Duo &gt; Autoriser l'exécution des flows</strong>. GitLab s'engage à fournir des garde-fous, c'est pourquoi les fonctionnalités d'IA agentique nécessitent l'activation de ces options pour protéger les projets sensibles et garantir que seuls les projets sélectionnés sont accessibles à GitLab Duo Agent Platform.</li>
</ul>
<p>Une fois que vous avez rempli toutes les conditions ci-dessus, suivez les étapes ci-dessous pour tirer parti de ce flow :</p>
<ol>
<li>Créez un ticket de projet qui décrit ce que vous souhaitez que GitLab Duo Agent Platform accomplisse pour vous. Fournissez autant de détails que possible dans la description. Si le ticket existe déjà, ouvrez-le en allant dans <strong>Programmation &gt; Tickets</strong> et cliquez sur le ticket qui décrit la mise à jour que vous souhaitez. Assurez-vous que le ticket soit précis et détaillé.</li>
<li>Sous l'en-tête du ticket, cliquez sur <strong>Générer une MR avec GitLab Duo</strong> pour lancer le flow.</li>
<li>Si vous souhaitez suivre la progression des agents qui travaillent sur l'implémentation de votre ticket, accédez à <strong>Automatisation &gt; Sessions d'agent</strong> pour voir le journal de session en direct pendant que les agents planifient et proposent des modifications.</li>
<li>Une fois le pipeline terminé, un lien vers la merge request apparaît dans l'activité du ticket. Ouvrez-le pour examiner le résumé et les modifications apportées au niveau des fichiers.</li>
<li>Si vous souhaitez valider localement les mises à jour proposées par GitLab Duo Agent Platform, vous pouvez effectuer un pull de la branche sur votre ordinateur, compiler et exécuter votre application, puis vérifier que la mise à jour fonctionne comme prévu. Si nécessaire, effectuez des modifications dans la merge request et procédez à la revue habituelle.</li>
<li>Si vous êtes satisfait de toutes les mises à jour de l'application proposées, fusionnez la merge request dans la branche principale.</li>
</ol>
<h2>Pourquoi utiliser le flow « ticket à merge request » pour modifier une application ?</h2>
<p>Ce flow propose des modifications de code et met à jour directement la merge request. Résultat : vous passez moins de temps à localiser des fichiers et n'avez qu'à évaluer et examiner le résultat. De plus, la merge request est automatiquement liée au ticket d'origine, ce qui maintient un contexte précis pour les relecteurs et les parties prenantes. Enfin, vous pouvez surveiller la session de l'agent afin de suivre toutes les étapes.</p>
<h2>Quels sont les avantages de GitLab Duo Agent Platform ?</h2>
<p>GitLab Duo Agent Platform est <a href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-agent-platform-public-beta/">une couche d'orchestration agentique</a> qui fournit <strong>un contexte complet au projet</strong>, notamment la planification, le codage, la compilation, la sécurisation, le déploiement et la surveillance, afin que les agents puissent aider tout au long du cycle de développement logiciel (SDLC), et pas seulement pour l'édition de code.</p>
<ul>
<li>Modèle de données unifié : les agents GitLab Duo opèrent sur les données unifiées du SDLC de GitLab afin de fournir des décisions de meilleure qualité et une collaboration entre les tâches, y compris celles qui ne concernent pas le codage.</li>
<li>Sécurité et conformité intégrées : les agents GitLab Duo fonctionnent avec des garde-fous à l’échelle de l'entreprise et peuvent être utilisés même dans des environnements hautement réglementés ou hors ligne/air-gapped.</li>
<li>Interopérabilité et extensibilité : orchestrez des flow entre fournisseurs et outils ; connectez des données externes via les protocoles <a href="https://about.gitlab.com/topics/ai/model-context-protocol/">MCP</a>/Agent2Agent pour un contexte plus riche.</li>
<li>Collaboration à grande échelle : les agents GitLab Duo fonctionnent dans l'interface utilisateur de GitLab et les IDE afin d'offrir une collaboration multiple entre humains et agents.</li>
<li>Découvrabilité et partages : trouvez et partagez des agents et des flows dans un catalogue d'IA centralisé.</li>
</ul>
<h2>Essayez le flow « ticket à merge request » dès maintenant</h2>
<p>Pour les mises à jour d'application, comme un ajustement mineur de l'interface utilisateur, le flow « ticket à merge request » vous aide à passer rapidement d'un ticket clair à une merge request à réviser : vous pouvez surveiller la progression et valider les modifications dans votre workflow standard. Le flow maintient le contexte, réduit les transferts et permet à votre équipe de se concentrer sur la qualité plutôt que sur des tâches fastidieuses.</p>
<p>Découvrez le flow en action :</p>
<p>&lt;!-- blank line --&gt;</p>
<p>&lt;figure class=&quot;video_container&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/BrrMHN4gXF4?si=J7beTgWOLxvS4hOw&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<blockquote>
<p>Essayez dès maintenant le flow « ticket à merge request » sur GitLab Duo Agent Platform en profitant d'un <a href="https://about.gitlab.com/fr-fr/free-trial/">essai gratuit de GitLab Ultimate avec GitLab Duo Enterprise</a>.</p>
</blockquote>
]]></content>
        <author>
            <name>Cesar Saavedra</name>
            <uri>https://about.gitlab.com/blog/authors/cesar-saavedra</uri>
        </author>
        <published>2025-10-02T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab Duo et Claude Sonnet 4.5 : plus de choix en matière d'IA]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/greater-ai-choice-in-gitlab-duo-claude-sonnet-4-5-arrives/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/greater-ai-choice-in-gitlab-duo-claude-sonnet-4-5-arrives/"/>
        <updated>2025-10-01T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>GitLab propose désormais Claude Sonnet 4.5, le modèle le plus avancé d'Anthropic pour le développement et les agents en conditions réelles, directement dans le sélecteur de modèles de GitLab Duo.</p>
<p>Les utilisateurs ont désormais la possibilité de choisir Claude Sonnet 4.5 aux côtés d'autres modèles de premier plan, améliorant ainsi leur expérience avec <a href="https://about.gitlab.com/gitlab-duo/">GitLab Duo</a> grâce à des avancées en matière d'orchestration d'outils, d'édition contextuelle et de capacités spécifiques à chaque domaine. Avec des performances de pointe sur <a href="https://www.anthropic.com/news/claude-sonnet-4-5">SWE-bench Verified (77,2 %</a>) et des atouts en matière de cybersécurité, de finance et de workflows nécessitant des recherches approfondies, les utilisateurs de GitLab peuvent exploiter Claude Sonnet 4.5 pour obtenir des informations plus précises et un contexte plus approfondi dans leurs travaux de développement.</p>
<p>« L’intégration de Claude Sonnet 4.5 dans GitLab représente une avancée majeure pour les équipes de développement. Il s'agit d'un modèle de développement particulièrement performant qui, associé à GitLab Duo Agent Platform, vous offre une assistance plus intelligente directement dans vos workflows. C'est le type d'évolution qui facilite le développement », déclare Taylor McCaslin, Principal, Strategy and Operations for AI Partnerships chez GitLab.</p>
<h2>GitLab Duo Agent Platform et Claude Sonnet 4.5</h2>
<p><a href="https://about.gitlab.com/gitlab-duo/agent-platform/">GitLab Duo Agent Platform</a> amplifie la valeur de Claude Sonnet 4.5 en orchestrant les agents, en les connectant aux systèmes internes et en les intégrant tout au long du cycle de développement logiciel. Cette combinaison crée une expérience unique, où le raisonnement avancé et la résolution de problèmes rencontrent le contexte et la sécurité à l'échelle de la plateforme. Le résultat : un développement plus rapide, des résultats plus précis et une couverture organisationnelle renforcée, le tout intégré dans le workflow de GitLab que les équipes de développement utilisent déjà au quotidien.</p>
<h2>Où utiliser Claude Sonnet 4.5 ?</h2>
<p>Claude Sonnet 4.5 est désormais disponible en tant qu'option de modèle dans GitLab Duo Agent Platform Agentic Chat sur GitLab.com. Vous pouvez sélectionner Claude Sonnet 4.5 dans le menu déroulant de sélection des modèles pour tirer parti de ses capacités de codage avancées dans vos tâches de développement.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1759180378/sopuv0msxrmhzt2dyxdi.png" alt="Sélection déroulante de Claude Sonnet 4.5 dans GitLab Duo"></p>
<p><strong>Remarque :</strong> La possibilité de sélectionner Claude Sonnet 4.5 dans les IDE pris en charge sera bientôt disponible.</p>
<h2>Premiers pas</h2>
<p>Les clients GitLab Duo Pro et GitLab Duo Enterprise peuvent accéder à Claude Sonnet 4.5 dès aujourd'hui. Consultez notre <a href="https://docs.gitlab.com/user/gitlab_duo/">documentation</a> pour en savoir plus sur les fonctionnalités et les modèles de GitLab Duo.</p>
<blockquote>
<p>Vous souhaitez essayer GitLab Ultimate avec GitLab Duo Enterprise ? <a href="https://about.gitlab.com/gitlab-duo/">Commencez un essai gratuit dès aujourd'hui.</a></p>
</blockquote>
]]></content>
        <author>
            <name>Tim Zallmann</name>
            <uri>https://about.gitlab.com/blog/authors/tim-zallmann</uri>
        </author>
        <published>2025-10-01T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Connexion et commits sécurisés avec GitLab et Yubico]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/secure-and-safe-login-and-commits-with-gitlab-yubico/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/secure-and-safe-login-and-commits-with-gitlab-yubico/"/>
        <updated>2025-10-01T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Nous vivons à une époque où les violations de données et les attaques de
phishing font quotidiennement la une des médias. Ces violations peuvent
nuire aux entreprises et entraîner des amendes réglementaires, des temps
d'arrêt ou, pire encore, des atteintes à la réputation. En matière
d'authentification, les mots de passe constituent la base de la sécurité en
ligne depuis des décennies, mais ils s'avèrent de plus en plus inadaptés
face aux cybermenaces sophistiquées.</p>
<p>GitLab et <a href="https://www.yubico.com/?lang=fr">Yubico</a> se sont associés pour renforcer la sécurité du développement logiciel au moyen de mesures d'authentification robustes. Yubico est l'inventeur de la YubiKey, une clé de sécurité qui offre une authentification multifacteur (MFA) résistante au phishing. En implémentant le protocole FIDO Universal 2nd Factor (U2F) et la protection matérielle YubiKey, GitLab offre aux équipes de développement une défense puissante contre les attaques de phishing et autres cybermenaces afin de garantir la sécurité de leur code et de leurs projets. Cette collaboration renforce l'authentification de niveau entreprise dans la plateforme GitLab et aide les équipes de développement à se concentrer sur la création de logiciels et à avoir confiance en l'intégrité de leur compte.</p>
<p>Découvrez dans cet article comment configurer GitLab pour utiliser les YubiKeys afin de protéger vos équipes contre les menaces en ligne. Vous apprendrez également comment prévenir davantage la falsification de code avec les commits vérifiés de GitLab.</p>
<h2>Comment fonctionnent les YubiKeys ?</h2>
<p>Les YubiKeys fonctionnent comme des tokens matériels cryptographiques qui génèrent et stockent des clés privées dans un environnement sécurisé. Ces clés implémentent les protocoles d'authentification FIDO2/WebAuthn, qui peuvent être utilisés comme facteur supplémentaire pour se connecter à GitLab.</p>
<p>Voici comment la connexion fonctionne :</p>
<ol>
<li>
<p>Vous saisissez votre nom d'utilisateur et votre mot de passe.</p>
</li>
<li>
<p>GitLab envoie un défi cryptographique à votre navigateur.</p>
</li>
<li>
<p>Votre navigateur demande à la YubiKey de signer ce défi.</p>
</li>
<li>
<p>Vous touchez physiquement la YubiKey pour approuver la connexion.</p>
</li>
<li>
<p>La YubiKey crée une signature cryptographique unique pour ce service et ce défi spécifiques.</p>
</li>
<li>
<p>GitLab vérifie la signature à l'aide de votre clé publique stockée lors de la configuration.</p>
</li>
</ol>
<p>La plupart des violations de sécurité majeures sont liées à des mots de passe compromis. Une clé YubiKey garantit la sécurité de votre compte contre une violation à distance. En cas de vol de votre mot de passe, votre compte GitLab reste sécurisé.</p>
<p>La clé YubiKey offre d'autres avantages pour l'authentification sur GitLab :</p>
<ul>
<li>
<p><strong>Protection contre le phishing :</strong> les sites frauduleux n'auront pas les bonnes clés cryptographiques pour vérifier la réponse.</p>
</li>
<li>
<p><strong>Aucun secret à voler :</strong> la clé privée ne quitte jamais la YubiKey.</p>
</li>
<li>
<p><strong>Sécurité physique :</strong> une présence physique est requise pour la connexion (vous devez toucher la YubiKey).</p>
</li>
</ul>
<h2>Configuration de l'authentification multifacteur YubiKey dans GitLab</h2>
<p>Voyons maintenant comment configurer une YubiKey pour l'authentification multifacteur dans GitLab. Assurez-vous d'utiliser un <a href="https://support.yubico.com/hc/en-us/articles/360016615020-Operating-system-and-web-browser-support-for-FIDO2-and-U2F">navigateur et un système d'exploitation pris en charge</a>, car ils offrent une meilleure compatibilité WebAuthn pour les clés de sécurité matérielles.</p>
<ol>
<li>
<p>Connectez-vous à votre compte GitLab et accédez à vos paramètres utilisateur (cliquez sur votre avatar dans le coin supérieur gauche et sélectionnez <strong>Préférences</strong>).</p>
</li>
<li>
<p>Dans la barre latérale gauche, cliquez sur <strong>Compte</strong> et accédez à la section <strong>Authentification à deux facteurs</strong>.</p>
</li>
<li>
<p>Si vous n'avez pas encore activé l'authentification à deux facteurs, faites-le maintenant.</p>
<p>a. Cliquez sur <strong>Activer l'authentification à deux facteurs</strong>.</p>
<p>b. Scannez le QR code avec votre application d'authentification.</p>
<p>c. Saisissez le code fourni par votre application d'authentification.</p>
<p>d. Saisissez votre mot de passe GitLab. Si vous avez besoin d’accéder à votre compte GitLab sans utiliser l'authentification Google, vous devrez peut-être :</p>
<ul>
<li>Utiliser l'option <strong>Mot de passe oublié</strong> sur la page de connexion GitLab pour configurer un mot de passe GitLab distinct.</li>
<li>Contacter votre administrateur GitLab pour configurer une autre méthode de connexion.</li>
</ul>
<p>e. Enregistrez vos codes de récupération dans un endroit sûr.</p>
</li>
<li>
<p>Une fois l'authentification à deux facteurs activée, revenez à l'écran précédent en cliquant sur <strong>Gérer l'authentification à deux facteurs</strong> et faites défiler jusqu'à la section <strong>Enregistrer un token matériel</strong>.</p>
</li>
<li>
<p>Cliquez sur le bouton <strong>Configurer un nouvel appareil</strong>.
a. Une fenêtre contextuelle de votre navigateur devrait apparaître. <strong>Remarque :</strong> cette image peut varier selon votre navigateur. Si des fenêtres contextuelles de vos gestionnaires de mots de passe s'affichent, ignorez-les.</p>
</li>
</ol>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674606/Blog/Content%20Images/browser_auth_request.png" alt="Demande d'authentification du navigateur (Brave)"></p>
<p>    b. Sélectionnez <strong>Utiliser un téléphone, une tablette ou une clé de sécurité</strong>.</p>
<ol start="6">
<li>Une nouvelle fenêtre contextuelle apparaîtra.</li>
</ol>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674607/Blog/Content%20Images/browser_security_key_request.png" alt="Demande de clé de sécurité du navigateur"></p>
<p>    a. Insérez votre YubiKey dans le port USB de votre ordinateur.</p>
<p>    b. Touchez le contact métallique/bouton sur votre YubiKey lorsque vous y êtes invité. Le champ se remplira automatiquement avec un code à usage unique.</p>
<ol start="7">
<li>
<p>Saisissez votre mot de passe GitLab et attribuez un nom à votre clé.</p>
</li>
<li>
<p>Cliquez sur <strong>Enregistrer</strong> pour ajouter la YubiKey à votre compte.</p>
</li>
</ol>
<p>Votre YubiKey est maintenant enregistrée et peut être utilisée comme second facteur d’authentification lors de votre connexion à GitLab. Vous pouvez enregistrer plusieurs YubiKeys sur votre compte à des fins de sauvegarde. <strong>Remarque :</strong> le processus peut légèrement varier selon les navigateurs.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674607/Blog/Content%20Images/yubikey_registered.png" alt="Yubikey enregistrée"></p>
<p>&lt;center&gt;&lt;i&gt;Enregistrement de la YubiKey&lt;/i&gt;&lt;/center&gt;</p>
<h2>Comment se connecter avec une YubiKey sur GitLab ?</h2>
<p>Maintenant que votre  YubiKey est configurée, vous pouvez vous connecter comme suit :</p>
<ol>
<li>Accédez à GitLab.com.</li>
</ol>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674607/Blog/Content%20Images/gitlab_login.png" alt="Connexion à GitLab"></p>
<ol start="2">
<li>
<p>Indiquez votre nom d'utilisateur et votre mot de passe, puis cliquez sur le bouton <strong>Se connecter</strong>.</p>
</li>
<li>
<p>Vous serez redirigé vers l'écran suivant.</p>
</li>
</ol>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674606/Blog/Content%20Images/2fa_login.png" alt="Connexion à l'authentification à deux facteurs GitLab"></p>
<p>    a. Une fenêtre contextuelle, comme celle ci-dessous, devrait apparaître. <strong>Remarque :</strong> cette image peut varier selon votre navigateur. Si des fenêtres contextuelles de vos gestionnaires de mots de passe s'affichent, ignorez-les.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674607/Blog/Content%20Images/browser_security_key_request.png" alt="Demande de clé de sécurité du navigateur"></p>
<p>    b. Insérez votre YubiKey dans le port USB de votre ordinateur.</p>
<p>    c. Touchez le contact métallique/bouton sur votre YubiKey lorsque vous y êtes invité. Le champ se remplira automatiquement avec un code à usage unique.</p>
<p>Vous devriez être désormais connecté. Vous serez ensuite redirigé vers votre page GitLab.</p>
<p><strong>Remarque :</strong> le processus peut légèrement varier selon les navigateurs.</p>
<h2>Que se passe-t-il si je perds ma YubiKey ?</h2>
<p>Yubico recommande d'utiliser et de conserver une YubiKey de secours. Pensez à votre maison, votre voiture ou votre bureau : vous possédez sûrement une clé de secours dans un endroit sûr. Votre identité numérique devrait bénéficier du même niveau d’attention. Une deuxième YubiKey garantit une sauvegarde rapide et sûre si vous perdez votre clé principale et vous permet également de désactiver facilement la clé perdue et d'ajouter une nouvelle clé principale ou secondaire.</p>
<p>Si vous n'avez pas ajouté de YubiKey supplémentaire, nous vous recommandons de configurer une autre forme d'authentification à deux facteurs à vos comptes. Dans les deux cas, vous devriez être en mesure d'accéder à votre compte et de retirer la clé perdue. Veuillez noter que sans une clé de sauvegarde ou une autre méthode d'authentification, vous devrez contacter le service/site web afin d'obtenir de l'aide pour récupérer votre compte.</p>
<h2>Commits vérifiés de GitLab</h2>
<p>Pour prévenir davantage la falsification de code, vous pouvez également configurer des commits vérifiés. Dans GitLab, ceux-ci utilisent des signatures GPG (GNU Privacy Guard) pour prouver qu’un commit provient réellement de vous. Ce processus ajoute une couche de sécurité en plus de l'authentification et garantit que non seulement votre compte est sécurisé, mais aussi que chaque modification de code peut être vérifiée de façon cryptographique comme provenant de vous.</p>
<p>Votre YubiKey peut stocker des clés GPG :</p>
<ul>
<li>
<p>La clé privée est stockée en toute sécurité sur la YubiKey.</p>
</li>
<li>
<p>La clé publique est partagée avec GitLab.</p>
</li>
<li>
<p>La paire de clés est utilisée pour signer vos commits.</p>
</li>
</ul>
<p>Une fois les clés GPG configurées :</p>
<ul>
<li>
<p>Lorsque vous effectuez un commit, <a href="https://about.gitlab.com/fr-fr/blog/what-is-git/">Git</a> utilise votre clé privée pour créer une signature.</p>
</li>
<li>
<p>La clé GPG est accessible depuis la YubiKey connectée.</p>
</li>
<li>
<p>La signature est stockée avec les métadonnées du commit.</p>
</li>
<li>
<p>GitLab vérifie la signature à l'aide de votre clé publique.</p>
</li>
</ul>
<h2>Configuration des commits vérifiés</h2>
<p>Voyons comment configurer les commits vérifiés. Dans cet exemple, la clé GPG est stockée dans votre YubiKey et offre une couche de sécurité supplémentaire.</p>
<ol>
<li>Installez le logiciel requis.</li>
</ol>
<pre><code class="language-bash">

# On macOS


brew install --cask yubico-yubikey-manager


brew install gnupg gpg yubikey-manager



# On Ubuntu/Debian


sudo apt install gnupg gpg yubikey-personalization



# On Windows


# Download and install Gpg4win from https://gpg4win.org


</code></pre>
<ol start="2">
<li>Vérifiez le statut GPG de la YubiKey.</li>
</ol>
<pre><code class="language-bash">

gpg --card-status


</code></pre>
<ol start="3">
<li>Générez des clés GPG directement sur la YubiKey (processus plus sécurisé).</li>
</ol>
<pre><code class="language-bash">

# Start GPG edit mode


gpg --card-edit



# Enter admin mode


admin



# Generate key directly on card


# PIN = '123456' | Admin PIN = '12345678'


generate



# Follow prompts


# See documentation for more info


#

https://support.yubico.com/hc/en-us/articles/360013790259-Using-Your-YubiKey-with-OpenPGP


</code></pre>
<ol start="4">
<li>Exportez votre clé publique.</li>
</ol>
<pre><code class="language-bash">

# Get your key ID


gpg --list-secret-keys --keyid-format LONG



# Export the public key


gpg --armor --export YOUR_KEY_ID


</code></pre>
<ol start="5">
<li>
<p>Ajoutez la clé publique à GitLab.</p>
<p>a. Cliquez sur votre Avatar GitLab et sélectionnez <strong>Préférences</strong>.</p>
<p>b. Dans l'onglet latéral, sélectionnez <strong>Clés GPG</strong>.</p>
<p>c. Cliquez sur <strong>Ajouter une nouvelle clé</strong>.</p>
<p>d. Collez votre clé publique.</p>
<p>e. Cliquez sur <strong>Ajouter la clé</strong>.</p>
</li>
<li>
<p>Configurez Git.</p>
</li>
</ol>
<pre><code class="language-bash">

# Set signing key


git config --global user.signingkey YOUR_KEY_ID



# Enable automatic signing


git config --global commit.gpgsign true



# Tell GPG which key to use


echo &quot;default-key YOUR_KEY_ID&quot; &gt;&gt; ~/.gnupg/gpg.conf


</code></pre>
<ol start="7">
<li>Testons maintenant la configuration en créant un commit test dans un projet :</li>
</ol>
<pre><code class="language-bash">

# Make a change in the project


# Add changes


git add .



# Make a test commit


git commit -S -m &quot;Test signed commit&quot;



# Verify signature


git verify-commit HEAD



# Push the change


git push


</code></pre>
<p>La commande <code>git verify-commit HEAD</code> devrait afficher la clé GPG utilisée :</p>
<pre><code class="language-bash">

gpg: Signature made Wed Feb 26 11:45:00 2025 CST


gpg:                using RSA key YOUR_KEY_ID


gpg: Good signature from “NAME (DESCRIPTION) &lt;EMAIL&gt;&quot; [ultimate]


</code></pre>
<p>Une fois le commit effectué dans GitLab, vous devriez voir qu'il est vérifiée comme suit :</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674607/Blog/Content%20Images/verified.png" alt="Le commit est vérifié"></p>
<p>&lt;center&gt;&lt;i&gt;Commit vérifié avec la clé GPG&lt;/i&gt;&lt;/center&gt;</p>
<p>Vous pouvez également utiliser l'<a href="https://docs.gitlab.com/api/commits/#get-signature-of-a-commit">API des commits</a> pour vérifier la signature d’un commit, ce qui vous permet d'opérationnaliser davantage le workflow de vérification.</p>
<h2>En savoir plus</h2>
<p>Pour en savoir plus sur GitLab et Yubico, consultez ces ressources :</p>
<ul>
<li>
<p><a href="https://about.gitlab.com/fr-fr/why-gitlab/">Pourquoi choisir GitLab ?</a></p>
</li>
<li>
<p><a href="https://www.yubico.com/pourquoi-yubico/?lang=fr">Pourquoi choisir Yubico ?</a></p>
</li>
<li>
<p><a href="https://about.gitlab.com/fr-fr/solutions/application-security-testing/">Solutions de sécurité et de conformité de
GitLab</a></p>
</li>
<li>
<p><a href="https://www.yubico.com/works-with-yubikey/catalog/gitlab/">Annonce concernant GitLab dans le catalogue des plateformes compatibles avec YubiKey</a></p>
</li>
<li>
<p><a href="https://docs.gitlab.com/ee/user/project/repository/signed_commits/">Documentation sur les commits verifiés de GitLab</a></p>
</li>
<li>
<p><a href="https://docs.gitlab.com/user/project/repository/push_rules/">Règles de push dans
GitLab</a></p>
</li>
<li>
<p><a href="https://docs.gitlab.com/user/project/repository/signed_commits/gpg/">Documentation relative à la signature de commits avec des clés GPG</a></p>
</li>
</ul>
]]></content>
        <author>
            <name>Fernando Diaz</name>
            <uri>https://about.gitlab.com/blog/authors/fernando-diaz</uri>
        </author>
        <published>2025-10-01T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab nommée Leader dans le Magic Quadrant 2025 de Gartner dédié aux plateformes DevOps]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/gitlab-named-a-leader-in-the-2025-gartner-magic-quadrant-for-devops-platforms/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/gitlab-named-a-leader-in-the-2025-gartner-magic-quadrant-for-devops-platforms/"/>
        <updated>2025-09-29T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Pour la troisième année consécutive, GitLab a été nommée <strong>Leader dans le Magic Quadrant™ 2025 de Gartner® dédié aux plateformes <a href="https://about.gitlab.com/fr-fr/topics/devops/" title="Qu'est-ce que le DevOps ?">DevOps</a></strong>, pour sa capacité d'exécution et l'exhaustivité de sa vision. Plus important encore, GitLab se classe en première position dans 4 des 6 cas d'utilisation : la livraison agile de logiciels, la livraison d'applications cloud-native, l’ingénierie de plateforme et la livraison réglementée, d'après le rapport Critical Capabilities 2025 de Gartner® dédié aux plateformes DevOps qui l'accompagne.</p>
<p>Cette reconnaissance valide, selon nous, notre stratégie de plateforme complète à un moment crucial pour le développement logiciel. Les organisations s'empressent d'adopter les capacités alimentées par l'IA tout en maintenant la sécurité, la conformité et l'excellence opérationnelle. Le succès exige une approche de plateforme unifiée qui transforme la façon dont les équipes collaborent et créent de la valeur.</p>
<p>Que nos clients livrent des logiciels agiles, développent des applications cloud-native ou conçoivent des plateformes, GitLab leur permet de collaborer étroitement avec des agents d’IA pour livrer des logiciels sécurisés et fiables, plus rapidement.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1758812615/sfchvkvtczmzqlaalk7y.png" alt="Magic Quadrant™ 2025 de Gartner® pour les plateformes DevOps"></p>
<p>&lt;p&gt;&lt;/p&gt;</p>
<blockquote>
<p><a href="https://about.gitlab.com/fr-fr/gartner-magic-quadrant/">Téléchargez les rapports</a> pour en savoir plus.</p>
</blockquote>
<h2>Une durée de création de valeur accélérée</h2>
<p>Notre mission est de permettre à chacun de contribuer et de co-créer des logiciels qui font fonctionner notre monde. <a href="https://about.gitlab.com/fr-fr/blog/gitlab-18-4-ai-native-development-with-automation-and-insight/">Le rythme rapide de notre programme d'innovation</a> démontre que nous sommes loin d'avoir terminé. Nous avons livré de nouvelles solutions à nos clients chaque mois pendant plus de 150 mois, et nous prévoyons de poursuivre cette tradition.</p>
<p>En tant que leader du secteur, nous restons déterminés à aider nos clients à transformer ces nouvelles capacités en valeur commerciale.</p>
<p>Nous sommes convaincus qu'à l'heure où l'innovation alimentée par l'IA s'accélère dans l'ensemble de l'écosystème technologique, il n'a jamais été aussi important qu'aujourd'hui d'adopter <a href="https://about.gitlab.com/fr-fr/blog/why-are-organizations-moving-to-a-unified-devsecops-platform/">une approche de plateforme unifiée</a> pour relever les défis d'ingénierie les plus complexes de nos clients. Cette approche permet aux organisations de réduire les coûts d'intégration, de combler les failles de sécurité et d'adopter l'innovation sans perturber les workflows de livraison de logiciels existants.</p>
<p>Voici quelques exemples :</p>
<ul>
<li><strong>Accélérez les releases avec l'IA agentique :</strong> les chaînes d'outils fragmentées ralentissent les revues de code et les tests. Les agents et les flows de <a href="https://about.gitlab.com/fr-fr/gitlab-duo/" title="Qu'est-ce que GitLab Duo ?">GitLab Duo</a> automatisent un certain nombre de tâches comme les revues de code, la génération de tests et le tri des vulnérabilités dans le contexte de la plateforme complète, aidant les équipes à réduire les temps de cycle et à améliorer la qualité des logiciels.</li>
<li><strong>Construisez de manière sécurisée dès le départ :</strong> de nombreuses organisations traitent la sécurité comme une réflexion après coup, ce qui entraîne des rectifications coûteuses et des lacunes en matière de conformité. GitLab intègre l'analyse, l'application des politiques et les contrôles de conformité dans les workflows quotidiens, détectant les risques le plus tôt possible sans ralentir les équipes de développement.</li>
<li><strong>Déployez avec flexibilité :</strong> les équipes soumises à des contraintes réglementaires ou opérationnelles strictes ont besoin d'options de déploiement allant au-delà du SaaS multilocataire. GitLab prend en charge les environnements SaaS, self-managed et air-gapped, afin de garantir aux clients un contrôle que les concurrents ne peuvent offrir.</li>
<li><strong>Offrez une innovation constante :</strong> la fragmentation des outils rend l'adoption de nouvelles fonctionnalités risquée et perturbatrice. Les releases mensuelles de GitLab offrent de nouvelles fonctionnalités, telles que <a href="https://about.gitlab.com/fr-fr/gitlab-duo/agent-platform/">GitLab Duo Agent Platform</a>, une gouvernance IA étendue et des intégrations cloud que les équipes peuvent adopter sans avoir à se rééquiper.</li>
</ul>
<h2>Les cas d'utilisation clients qui comptent le plus</h2>
<p>Tout comme le Magic Quadrant, nous pensons que le rapport Critical Capabilities 2025 de Gartner dédié aux plateformes DevOps évalue la capacité des plateformes à répondre aux besoins réels des clients. GitLab s'est classée en première position dans 4 des 6 cas d'utilisation présentés dans ce rapport.</p>
<p>GitLab prend en charge les domaines d'innovation suivants :</p>
<ul>
<li><strong><a href="https://about.gitlab.com/fr-fr/platform/">Ensemble d'outils intégrés</a></strong> pour une livraison cloud-native et à l'échelle de l’entreprise</li>
<li><strong><a href="https://about.gitlab.com/fr-fr/solutions/agile-delivery/">Outils de planification avancés</a></strong> et <strong><a href="https://about.gitlab.com/solutions/application-security-testing/">fonctionnalités de sécurité étendues</a></strong></li>
<li><strong><a href="https://about.gitlab.com/stages-devops-lifecycle/package/">Gestion des paquets</a></strong> et feature flags pour une livraison progressive</li>
<li><strong><a href="https://about.gitlab.com/fr-fr/solutions/analytics-and-insights/">Mesures de la chaîne de valeur</a></strong> pour une visibilité et une amélioration tout au long du cycle de développement logiciel.</li>
<li><strong><a href="https://about.gitlab.com/fr-fr/gitlab-duo/agent-platform/">Workflows avec l’IA native</a></strong>, intégrés directement dans les tâches quotidiennes</li>
</ul>
<p>Cette polyvalence se traduit par une réelle valeur ajoutée pour les clients, comme l'explique Bal Kang, Engineering Platform Lead chez NatWest :</p>
<p><em>« L'intégration des agents d’IA de GitLab Duo dans notre système d'enregistrement pour le code, les tests, le <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/">CI/CD</a> et l'ensemble du cycle de développement logiciel stimule la productivité, la vélocité et l'efficacité. Les agents comprennent l'intention, décomposent les problèmes et agissent, devenant de véritables collaborateurs pour nos équipes. »</em></p>
<p>Le passage à des plateformes unifiées représente un changement fondamental dans la façon dont les organisations abordent le développement logiciel. C'est pourquoi, selon nous, Gartner® nous a également récemment nommé <a href="https://about.gitlab.com/fr-fr/blog/gitlab-named-a-leader-in-the-2025-gartner-magic-quadrant-for-ai-code-assistants/">Leader dans le Magic Quadrant™ 2025 dédié aux assistants IA pour le code</a>.</p>
<p>Alors que les entreprises cherchent à maximiser la productivité des équipes de développement de manière sécurisée et à accélérer l'innovation, une approche de plateforme complète devient plus urgente que jamais.</p>
<blockquote>
<p><a href="https://about.gitlab.com/fr-fr/gartner-magic-quadrant/">Téléchargez les rapports</a> pour en savoir plus.</p>
</blockquote>
<p><em>Source : Gartner, Magic Quadrant for DevOps Platforms, Keith Mann, Thomas Murphy, Bill Holz, George Spafford, 22 septembre 2025</em></p>
<p><em>Source : Gartner, Critical Capabilities for DevOps Platforms, Thomas Murphy, Keith Mann, George Spafford, Bill Holz, 22 septembre 2025</em></p>
<p><em>GARTNER est une marque déposée et une marque de service de Gartner, Inc. et/ou de ses sociétés affiliées aux États-Unis et dans le monde, et MAGIC QUADRANT est une marque déposée de Gartner, Inc. et/ou de ses sociétés affiliées et sont utilisées ici avec autorisation. Tous droits réservés.</em></p>
<p><em>Gartner ne cautionne aucun fournisseur, produit ou service décrit dans ses publications de recherche et ne conseille pas aux utilisateurs de la technologie de sélectionner uniquement les fournisseurs ayant les notes les plus élevées ou toute autre désignation. Les publications de recherche de Gartner reflètent les opinions de l'organisation de recherche de Gartner et ne doivent pas être interprétées comme des déclarations de fait. Gartner décline toute garantie, expresse ou implicite, concernant cette recherche, y compris toute garantie de qualité marchande ou d'adéquation à un usage particulier.</em></p>
<p><em>Ce graphique a été publié par Gartner Inc. dans le cadre d'un rapport plus large et doit être évalué dans le contexte de l’ensemble du document. Le document Gartner est disponible sur demande auprès de Gartner B.V.</em></p>
]]></content>
        <author>
            <name>Manav Khurana</name>
            <uri>https://about.gitlab.com/blog/authors/manav-khurana</uri>
        </author>
        <published>2025-09-29T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Gestion des vulnérabilités : le guide complet pour sécuriser vos logiciels]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/what-is-vulnerability-management/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/what-is-vulnerability-management/"/>
        <updated>2025-09-26T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Dans un contexte où les équipes de développement doivent livrer toujours plus rapidement et où les équipes de sécurité découvrent toujours plus de failles, les entreprises font face à une tension permanente qui génère inévitablement des retards et multiplie les risques.</p>
<p>Face à ce défi, la gestion des vulnérabilités apporte une réponse concrète. En identifiant, priorisant et corrigeant les vulnérabilités de manière structurée, cette approche permet de maintenir la cadence de développement tout en renforçant la sécurité des logiciels.</p>
<p>Pour mettre en œuvre cette approche avec succès, ce guide vous présente les différents types de vulnérabilités et leurs risques, détaille chaque étape d'un processus de gestion efficace, et partage les meilleures pratiques en la matière. Vous découvrirez également comment la plateforme DevSecOps de GitLab peut optimiser cette démarche et sécuriser durablement vos développements logiciels.</p>
<h2>Qu’est-ce que la gestion des vulnérabilités ?</h2>
<p><strong>La gestion des vulnérabilités</strong>, appelée aussi <em>vulnerability management</em>, représente l'ensemble des processus destinés à identifier et à neutraliser les risques liés aux failles de sécurité dans les systèmes d'information.</p>
<p>Cette discipline essentielle de la cybersécurité s'articule autour d'un cycle qui comprend la détection proactive des vulnérabilités, leur classification selon leur niveau de sévérité, la définition des priorités de remédiation, le suivi des actions correctives et l’amélioration constante des pratiques de sécurité pour anticiper au mieux les futures menaces.</p>
<blockquote>
<p>Vous souhaitez renforcer la sécurité de vos logiciels ? Commencez un <a href="https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/&amp;glm_content=default-saas-trial">essai gratuit de GitLab Ultimate</a> dès aujourd'hui !</p>
</blockquote>
<h2>Quels sont les différents types de vulnérabilité ?</h2>
<p>Ces vulnérabilités, variées et en constante évolution, représentent une menace permanente pour les entreprises qui doivent s’adapter continuellement à un paysage de menaces en perpétuelle mutation. Dans une démarche de gestion structurée, il convient de distinguer deux grandes familles de vulnérabilités :</p>
<ul>
<li><strong>Les vulnérabilités techniques :</strong> elles sont liées aux logiciels, au matériel ou aux protocoles utilisés dans le système d'information. Les cyberattaques s'appuient le plus souvent sur des erreurs de programmation ou de configuration du code, des défauts conceptuels ou des versions obsolètes d'un logiciel. Les vulnérabilités des dépendances logicielles, les secrets exposés dans le code et les bogues non corrigés offrent aussi un angle d'attaque aux données du système.</li>
<li><strong>Le facteur humain :</strong> il constitue le second type de vulnérabilité que les outils de gestion des vulnérabilités cherchent à maîtriser. Il peut s’agir d’une erreur humaine comme des pratiques de codage non sécurisées, d’un manque de sensibilisation aux bonnes pratiques en matière de sécurisation logicielle, ou encore d’une mauvaise communication entre les services de l’entreprise.</li>
</ul>
<h2>Quelles sont les conséquences d'une mauvaise gestion des vulnérabilités ?</h2>
<p>Une vulnérabilité non corrigée peut avoir des effets désastreux, tant sur le plan financier qu'humain. C’est une menace potentielle pour les entreprises, avec des répercussions à de nombreux niveaux :</p>
<ul>
<li><strong>Atteinte aux actifs.</strong> La compromission de la sécurité peut entraîner la perte de ressources critiques, de données stratégiques et d'informations sensibles. Cela nuit aux processus internes, aux opérations commerciales et aux relations économiques de l'entreprise.</li>
<li><strong>Pertes financières.</strong> Une faille de protection peut engendrer des coûts financiers considérables pour l’entreprise. Aux frais liés aux interruptions de service et aux pertes de productivité, il faut aussi ajouter la mise à jour des systèmes et parfois même le paiement de rançon aux cybercriminels.</li>
<li><strong>Conformité et amendes.</strong> Les incidents de sécurité exposent l'entreprise à des poursuites judiciaires et à des amendes importantes en cas de non-conformité des systèmes, de préjudices subis par des tiers, et de manquement à des réglementations telles que le Règlement Général sur la Protection des Données (RGPD).</li>
<li><strong>Perte de réputation.</strong> La vulnérabilité d'une entreprise met aussi en danger sa réputation et son image de marque. Si des informations sensibles de clients ou partenaires sont exposées, la perte de confiance qui en résulte assombrit les perspectives commerciales de l'entreprise.</li>
<li><strong>Impact sur la vélocité de développement.</strong> Les vulnérabilités découvertes tardivement dans le cycle de développement ralentissent considérablement les déploiements et augmentent les coûts de correction.</li>
</ul>
<blockquote>
<p>D’après notre <a href="https://about.gitlab.com/fr-fr/developer-survey/2024/security-compliance/">rapport Global DevSecOps 2024 sur « La sécurité des applications à l'ère du numérique »</a>, 55 % des membres de l'équipe de sécurité affirment que les vulnérabilités sont principalement découvertes par la sécurité après le merge du code dans un environnement de test.</p>
</blockquote>
<p>Pour se défendre, les entreprises se doivent d'adopter une approche proactive en matière de gestion des vulnérabilités et réduire ainsi au maximum leur surface d’attaque.</p>
<h2>Comment mettre en place un processus de gestion des vulnérabilités ?</h2>
<p>La complexité et la diversité des menaces exigent une réponse structurée et continue de la part des équipes de développement et de sécurité. Un processus de gestion des vulnérabilités efficace repose sur plusieurs étapes rigoureuses :</p>
<ol>
<li><strong>Identification des composants logiciels.</strong> Avant d'identifier des vulnérabilités, il est essentiel de connaître l'étendue du code et des dépendances utilisées. Cette étape consiste à identifier les bibliothèques, frameworks et composants présents dans les logiciels, afin d'avoir une vision claire des éléments à surveiller.</li>
<li><strong>Analyse des vulnérabilités.</strong> Cette étape consiste à rechercher activement toutes les vulnérabilités présentes dans le code source et les dépendances, en les comparant aux bases de connaissance des vulnérabilités connues afin d'identifier les menaces. Pour cela, il est recommandé de mettre en place des tests de sécurité automatisés (SAST, DAST, analyse des dépendances) afin de corriger ces vulnérabilités le plus tôt possible.</li>
<li><strong>Hiérarchisation des risques.</strong> En gestion des vulnérabilités, toute faiblesse ne présente pas le même niveau de risque. L'étape d'évaluation des risques permet de prioriser les failles en fonction de leur facilité d'exploitation, de leur <a href="https://docs.gitlab.com/user/application_security/vulnerabilities/severities/">niveau de sévérité</a>, et de leur impact potentiel sur l’entreprise et ses clients.</li>
<li><strong>Correction et vérification.</strong> Une fois les vulnérabilités identifiées et hiérarchisées, les actions correctives interviennent à travers des corrections de code, des modifications architecturales ou des mises à jour de dépendances. Les corrections sont testées avant et après la mise en production pour garantir la résolution complète des vulnérabilités. Pour accélérer ce processus, GitLab permet notamment à ses utilisateurs de suggérer des corrections automatiques et de créer des merge requests à l’aide de l’IA.</li>
<li><strong>Surveillance continue.</strong> La surveillance en temps réel permet de détecter les nouvelles expositions aux menaces et de rester agile face à l'évolution des risques. Cette surveillance doit s’opérer tout au long du développement de logiciels, avant, pendant et après la mise en production.</li>
</ol>
<p>Enfin, les processus et outils de gestion des vulnérabilités incluent une réévaluation périodique. Chaque étape est régulièrement réévaluée à mesure que le panorama des menaces change et que les logiciels et les langages de programmation évoluent. Ce cycle itératif garantit un niveau de sécurité optimal et actualisé. Une approche continue et adaptative de la gestion des vulnérabilités différencie une entreprise bien protégée d'une autre à risque.</p>
<h3>Intégrez la sécurité à chaque étape du cycle de développement avec l’approche DevSecOps</h3>
<p>L'approche <a href="https://about.gitlab.com/fr-fr/topics/devsecops/" title="Qu'est-ce que le DevSecOps ?">DevSecOps</a> représente un changement fondamental dans la gestion des vulnérabilités. Plutôt que de traiter la sécurité comme une étape finale, elle l'intègre tout au long du cycle de développement logiciel.</p>
<p>Cette approche « shift left » permet :</p>
<ul>
<li><strong>D’anticiper les risques :</strong> l'identification précoce des vulnérabilités réduit drastiquement les coûts de correction et évite les retards de livraison.
Responsabiliser les équipes : la sécurité devient une responsabilité partagée, transformant chaque membre de l'équipe en gardien de la qualité du code.</li>
<li><strong>Automatiser les processus :</strong> l'automatisation des analyses libère les équipes des tâches répétitives et accélère la résolution des problèmes.</li>
<li><strong>Améliorer la collaboration entre les équipes :</strong> le rapprochement des équipes Dev et Sec favorise une communication fluide et une résolution plus rapide des vulnérabilités.</li>
</ul>
<p>Les entreprises comme <a href="https://about.gitlab.com/fr-fr/customers/airbus/">Airbus</a> qui utilisent GitLab bénéficient de cette approche pour protéger leur code, grâce à l’ajout de scans de sécurité et de vulnérabilité aux tests d'intégration. <em>« Auparavant, toute modification d'une portion du code affectait le fonctionnement d'une autre portion. Nous pouvons désormais identifier les problèmes éventuels dès qu'un développeur effectue un push du code »</em>, explique Logan Weber, Software Automation Engineer chez Airbus.</p>
<h2>Gestion des vulnérabilités : nos bonnes pratiques</h2>
<p>L'évolution rapide des technologies et l'augmentation constante des cybermenaces oblige chaque entreprise à mettre en place les meilleures pratiques de gestion des vulnérabilités (ou vulnerability management). Elles impliquent le changement des habitudes de travail, la modernisation des méthodes de communication, et la sensibilisation des équipes, y compris du management, à ces différents sujets.</p>
<p>Découvrez nos bonnes pratiques pour sécuriser vos logiciels :</p>
<ul>
<li><strong>Approche proactive.</strong> La prévention constitue le pilier d'une stratégie de sécurité efficace. Anticiper les vulnérabilités et déployer des mesures préventives s'avère infiniment plus rentable que de réagir après qu’une faille de sécurité ne soit exploitée. Cette démarche d'anticipation, associée à une capacité d'adaptation face aux évolutions technologiques, permet aux entreprises de transformer la gestion des vulnérabilités en avantage concurrentiel plutôt qu'en contrainte opérationnelle.</li>
<li><strong>Collaboration des équipes.</strong> Les processus bureaucratiques constituent un frein majeur à la résolution rapide des vulnérabilités, affectant plus de la moitié des équipes de sécurité selon notre <a href="https://about.gitlab.com/fr-fr/developer-survey/">Rapport Global DevSecOps 2024</a>. Face à ce constat, l'établissement d'une communication directe et efficace entre les équipes DevSecOps devient essentiel. Cette collaboration optimisée facilite le partage d'informations stratégiques, accélère l'intégration des correctifs en production et garantit une prise en compte continue des enjeux de sécurité à chaque étape du développement logiciel.</li>
<li><strong>Formation des employés.</strong> Des équipes bien formées aux pratiques de codage sécurisé peuvent significativement réduire les vulnérabilités introduites dans le code. La sensibilisation aux vulnérabilités courantes, ainsi que l'utilisation d'outils d'analyse automatisée, renforcent la sécurité à chaque étape du SDLC.</li>
<li><strong>Consolidation des outils.</strong> Remplacer une multitude d'outils disparates par une plateforme unifiée réduit les inefficacités causées par le changement de contexte et améliore la visibilité globale sur la sécurité au sein de l’entreprise.</li>
</ul>
<h3>Des défis toujours à relever</h3>
<p>Les bonnes pratiques en matière de gestion des vulnérabilités reposent avant tout sur l'implication et la collaboration de toutes les équipes autour de ces questions. Les défis sont d'autant plus grands que certaines difficultés accompagnent la sécurisation des logiciels dans les environnements de développement modernes :</p>
<ul>
<li>La complexité croissante des dépendances logicielles complique l'identification des vulnérabilités et la prise de décision.</li>
<li>Une approche continue peut être difficile à maintenir pendant les périodes de forte activité de développement.</li>
<li>Les processus manuels d'analyse des vulnérabilités rendent le travail des équipes fastidieux et peu fiable.</li>
<li>Le manque de collaboration entre les équipes de développement et de sécurité ralentit le processus de résolution des vulnérabilités.</li>
<li>La détection tardive des failles de sécurité dans le cycle de développement engendre des coûts supplémentaires à l’entreprise.</li>
<li>Les exigences réglementaires complexifient la gestion des vulnérabilités.</li>
</ul>
<p>Pour relever ces défis, les entreprises doivent s'appuyer sur des outils modernes, une meilleure intégration de la sécurité dans les processus de développement et une collaboration efficace entre les équipes.</p>
<h2>Comment améliorer votre gestion des vulnérabilités avec GitLab ?</h2>
<p>GitLab adopte une approche DevSecOps intégrée qui permet aux équipes d'identifier et de corriger les vulnérabilités le plus tôt possible dans le cycle de développement logiciel.</p>
<p>Pour cela, la plateforme propose les fonctionnalités suivantes :</p>
<ul>
<li><strong>Scanners de sécurité :</strong> ces scanners incluent les tests statiques de sécurité des applications (SAST) et les tests dynamiques de sécurité des applications (DAST), l’analyse des dépendances, l’analyse des conteneurs, la détection des secrets, l’analyse de l'Infrastructure as Code (IaC), ainsi que les tests à données aléatoires. Ils s'exécutent automatiquement dans les <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/" title="Qu'est-ce qu'un pipeline CI/CD ?">pipelines CI/CD</a>, garantissant une couverture de sécurité exhaustive sans ralentir le développement.</li>
<li><strong><a href="https://about.gitlab.com/fr-fr/gitlab-duo/" title="Qu'est-ce que GitLab Duo ?">GitLab Duo</a> :</strong> GitLab Duo assiste les équipes de développement tout au long de leur processus de développement logiciel. Cette suite de fonctionnalités alimentées par l’intelligence artificielle analyse les vulnérabilités détectées, fournit des explications contextuelles et propose des solutions de corrections adaptées, permettant une résolution plus rapide et plus efficace des problèmes de sécurité.</li>
<li><strong>Tableaux de bord et rapports :</strong> les tableaux de bord de sécurité et rapports de vulnérabilités offrent une vue d'ensemble en temps réel du niveau de sécurité des logiciels. Cette visibilité facilite le suivi des corrections, la priorisation des actions et la communication avec les parties prenantes.</li>
<li><strong>Processus d’approbation :</strong> la gestion des vulnérabilités commence aussi par une bonne gestion des droits de modifications. GitLab permet d’automatiser un processus d’approbation si des vulnérabilités sont détectées, garantissant une revue poussée des modifications introduisant des vulnérabilités potentielles.</li>
</ul>
<blockquote>
<p>Vous souhaitez renforcer la sécurité de vos logiciels ? Commencez un <a href="https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/&amp;glm_content=default-saas-trial">essai gratuit de GitLab Ultimate</a> dès aujourd'hui !</p>
</blockquote>
]]></content>
        <author>
            <name>GitLab France Team</name>
            <uri>https://about.gitlab.com/blog/authors/gitlab-france team</uri>
        </author>
        <published>2025-09-26T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[[Étude] L'innovation logicielle en France : plus de 12 milliards d'euros en jeu]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/software-innovation-study-france/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/software-innovation-study-france/"/>
        <updated>2025-09-24T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>GitLab, la plateforme <a href="https://about.gitlab.com/fr-fr/topics/devsecops/" title="Qu'est-ce que le DevSecOps ?">DevSecOps</a> la plus complète et intelligente, vient de publier une  nouvelle étude intitulée, « L'innovation logicielle en France, plus de 12 milliards d'euros en jeu ». Menée par The Harris Poll, cette étude a interrogé des cadres dirigeants basés en France sur le rôle de l'innovation logicielle dans la réussite des entreprises. Cette étude définit l'innovation logicielle comme « la création de nouveaux logiciels ou l'amélioration significative de logiciels existants afin d’introduire de nouvelles fonctionnalités, d’améliorer leur efficacité ou de résoudre des problèmes de manière innovante ».</p>
<p>Les cadres dirigeants reconnaissent que l'innovation logicielle améliorée par l'IA entraîne un changement économique significatif, servant de moteur de croissance et d’expansion des entreprises. Cependant, bien que l'adoption de l'IA génère un retour sur investissement mesurable et une productivité accrue, cette étude révèle également des tensions autour des lacunes en matière de compétences, de la collaboration homme-machine et du besoin de gouvernance formelle de l'IA agentique.</p>
<p>De plus, alors que les cadres dirigeants aspirent à atteindre une productivité optimale grâce à un partenariat 50/50 entre humain et IA, la réalité actuelle révèle que les humains gèrent les trois quarts des tâches, et que l'IA ne contribue uniquement qu'à hauteur d’un quart. Ce décalage s’accompagne de préoccupations persistantes concernant le déplacement d'emplois, la complexité perçue des systèmes d’intelligence artificielle et la cybersécurité.</p>
<blockquote>
<p>Pour accéder à notre étude complète GitLab C-Suite Insights - France 2025 « L'innovation logicielle en France, plus de 12 milliards d'euros en jeu », <a href="https://learn.gitlab.com/fr-csuite-software-innovation-report/report-fr-fr-fr-devsecops-report-csuite?utm_medium=blog&amp;utm_source=blog&amp;utm_campaign=eg_emea_comm_gated-content_painpoint_fr_ds25_fr">cliquez ici</a>.</p>
</blockquote>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1758724632/jznahiwr2wzbme6350lx.png" alt="Infographie sur l'innovation logicielle en France" title="Infographie sur l'innovation logicielle en France"></p>
<h2>Chiffres clés de notre étude</h2>
<p><strong>L'innovation logicielle alimentée par l'IA émerge comme nouveau moteur de croissance économique, générant des milliards de dollars de valeur</strong></p>
<ul>
<li>Les dirigeants interrogés déclarent économiser en moyenne 22 308,38 € par développeur annuellement grâce aux investissements dans l’IA, ce qui représente plus de 12 milliards d’euros de valeur économique potentielle lorsqu'appliqué aux 553 000 développeurs que compte la France.
86 % déclarent que l'innovation logicielle est désormais une priorité commerciale essentielle.
61 % rapportent que leur entreprise a connu une croissance liée aux efforts d'innovation logicielle au cours des 12 derniers mois.
Ils estiment une augmentation de 51 % du chiffre d’affaires et une augmentation de 54 % de la productivité des équipes de développement grâce à l'utilisation de l'IA.</li>
</ul>
<p><strong>L'IA agentique est en plein essor, mais les dirigeants estiment que la sécurité et la confiance doivent suivre le mouvement</strong></p>
<ul>
<li>88 % des cadres dirigeants s'attendent à ce que l'IA agentique devienne la norme pour le développement logiciel d’ici trois ans.</li>
<li>En tête de liste des préoccupations concernant l'adoption de l'IA agentique figurent la confidentialité et la sécurité des données (50 %), les menaces liées à la cybersécurité (49 %), et les erreurs introduites par les agents d’IA (42 %).</li>
<li>49 % mettent en œuvre des frameworks de gouvernance alignés sur la réglementation.</li>
<li>52 % développent des politiques internes d'IA, tandis que 51 % mettent en place des programmes pilotes ou des formations.</li>
</ul>
<p><strong>Les pénuries de talents à l'ère de l'IA rendent indispensable la mise à niveau des compétences</strong></p>
<ul>
<li>98 % des cadres dirigeants affirment que les contributions humaines sont précieuses pour le développement logiciel.</li>
<li>92 % estiment que les entreprises devraient prioriser la formation des employés afin qu'ils puissent utiliser l'IA agentique et combler ainsi leurs lacunes en matière de compétences.</li>
<li>75 % pensent que la contribution humaine dans le partenariat entre humain et IA devrait être d'au moins 50/50, avec seulement 25 % estimant que l'IA devrait effectuer la majorité des tâches.</li>
<li>La collaboration (42 %) et l’empathie (38 %) se classent comme les contributions humaines les plus précieuses au développement logiciel.</li>
</ul>
<p><strong>L'IA est une priorité pour les conseils d'administration, car l'innovation logicielle prouve son impact sur les résultats financiers</strong></p>
<ul>
<li>9 cadres dirigeants sur 10 déclarent que leur conseil d'administration adhère aux bénéfices de l'innovation logicielle.</li>
<li>86 % déclarent être prêts à investir plus de la moitié du budget informatique annuel de leur entreprise pour prioriser l'innovation logicielle.</li>
<li>87 % ont adopté des frameworks reliant les activités de développement logiciel aux résultats commerciaux clés.</li>
<li>Les indicateurs les plus couramment utilisés aujourd'hui pour mesurer le succès de l'innovation logicielle sont une meilleure rentabilité (49 %), une expérience client améliorée (39 %) et une productivité accrue des équipes de développement (38 %).</li>
</ul>
<p>Vous souhaitez en savoir plus ? Téléchargez notre étude complète <a href="https://learn.gitlab.com/fr-csuite-software-innovation-report/report-fr-fr-fr-devsecops-report-csuite?utm_medium=blog&amp;utm_source=blog&amp;utm_campaign=eg_emea_comm_gated-content_painpoint_fr_ds25_fr">GitLab C-Suite Insights - France 2025 « L'innovation logicielle en France, plus de 12 milliards d'euros en jeu »</a>.</p>
]]></content>
        <author>
            <name>GitLab France Team</name>
            <uri>https://about.gitlab.com/blog/authors/gitlab-france team</uri>
        </author>
        <published>2025-09-24T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab 18.4 : développement et automatisation avec l’IA native]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/gitlab-18-4-ai-native-development-with-automation-and-insight/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/gitlab-18-4-ai-native-development-with-automation-and-insight/"/>
        <updated>2025-09-23T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Toutes les équipes savent que le développement moderne ne se limite pas à l'écriture de code, et englobe au contraire la gestion des changements tout au long du cycle de développement logiciel.</p>
<p>Dans la version <a href="https://about.gitlab.com/fr-fr/blog/gitlab-18-3-expanding-ai-orchestration-in-software-engineering/">GitLab 18.3</a>, nous avons posé les bases d'une véritable collaboration entre humains et IA. Nous avons introduit des outils d'IA de premier plan tels que Claude Code, Codex CLI, Amazon Q CLI et Gemini CLI en tant qu'intégrations natives à GitLab, fourni notre premier aperçu du serveur GitLab Model Context Protocol (<a href="https://about.gitlab.com/topics/ai/model-context-protocol/">MCP</a>) en partenariat avec Cursor et lancé deux nouveaux flows : « ticket à MR » et « conversion de fichier CI pour les Flows Jenkins » afin de proposer des solutions à des problèmes quotidiens rencontrés par les équipes.</p>
<p>Avec <a href="https://about.gitlab.com/releases/2025/09/18/gitlab-18-4-released/">GitLab 18.4</a>, nous renforçons la sécurité et la gouvernance relatives à votre utilisation de l'IA. Par ailleurs, nous étendons aussi votre capacité à créer et à partager des agents personnalisés, à collaborer plus efficacement grâce à Agentic Chat, à naviguer dans le code source avec le graphe de connaissances et à maintenir vos pipelines opérationnels avec le flow « correction de pipelines en échec ».</p>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1120293274?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&quot; frameborder=&quot;0&quot; allow=&quot;autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot; title=&quot;18.4 Release video placeholder&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;</p>
<blockquote>
<p><a href="https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/blog&amp;glm_content=default-saas-trial" title="Essai gratuit de GitLab.">Essayez GitLab Ultimate avec GitLab Duo Enterprise gratuitement.</a></p>
</blockquote>
<h2>Construisez votre expérience</h2>
<p><em>Commencez votre journée en consultant GitLab Duo AI Catalog, une bibliothèque d'agents spécialisés qui mettent en avant les priorités, automatisent les tâches routinières et vous aident à rester concentré.</em></p>
<h3>GitLab Duo AI Catalog : une bibliothèque d'agents spécialisés</h3>
<p>Notre version GitLab 18.4 intègre GitLab Duo AI Catalog (actuellement en phase d'expérimentation), une bibliothèque centralisée où les équipes peuvent créer, partager et collaborer avec des agents personnalisés au sein de leur entreprise. Chaque équipe aime faire les choses à sa façon, c'est pourquoi il suffit de former des agents personnalisés pour que tout soit fait correctement.</p>
<p>Par exemple, un agent Planification de produit personnalisé peut signaler des bogues dans un format spécifique conformément à vos normes de labélisation, un agent Rédacteur technique peut rédiger une documentation concise en suivant vos conventions, ou un agent Securité peut s'assurer que chaque MR respecte vos normes de sécurité et de conformité. Au lieu de fonctionner comme des outils déconnectés, ces agents s'intègrent naturellement dans le workflow de GitLab et vous aident à terminer vos tâches plus rapidement sans perturber les processus établis.</p>
<p><strong>Note :</strong> cette fonctionnalité n'est actuellement disponible que sur GitLab.com à titre expérimental. Nous prévoyons de la mettre à la disposition de nos clients GitLab Self-Managed le mois prochain dans la version 18.5.</p>
<h2>Réduisez le changement de contexte</h2>
<p><em>GitLab Duo Agentic Chat garantit une collaboration fluide avec les agents.</em></p>
<h3>Agentic Chat : rationaliser la collaboration avec les agents (bêta)</h3>
<p>Pièce maîtresse de GitLab Duo Agent Platform (bêta), <a href="https://docs.gitlab.com/user/gitlab_duo_chat/agentic_chat/">Agentic Chat</a> vous offre un moyen transparent de collaborer avec les agents d'IA. La dernière mise à jour d'Agentic Chat dans la version GitLab 18.4 améliore l'expérience de chat ainsi que l'affichage et la gestion des sessions.</p>
<ul>
<li>
<p><strong>Chat avec agent personnalisé</strong>. Commençons par votre agent personnalisé que vous venez de créer. Vous pouvez immédiatement le mettre au travail via Agentic Chat. Par exemple, vous pourriez lui demander « donne-moi une liste de tâches » pour commencer à travailler sur les projets les plus urgents. De plus, vous avez maintenant la possibilité de démarrer de nouvelles conversations avec de nouveaux agents et de reprendre des conversations précédentes avec des agents sans perte de contexte.</p>
</li>
<li>
<p><a href="https://docs.gitlab.com/user/gitlab_duo/model_selection/#select-a-model-to-use-in-gitlab-duo-agentic-chat"><strong>Sélection du modèle par l'utilisateur</strong></a>. Avec les versions précédentes, vous pouviez sélectionner des modèles au niveau d'un espace de nommage, mais dans GitLab 18.4, vous pouvez maintenant choisir des modèles au niveau de l'utilisateur à chaque session de chat. Cela vous permet d'opter pour le <a href="https://about.gitlab.com/fr-fr/blog/large-language-model/" title="Qu'est-ce qu'un LLM ?">LLM</a> qui convient le mieux à la tâche à accomplir ou de tester différents LLM pour voir lequel fournit la meilleure réponse concernant votre tâche.</p>
</li>
<li>
<p><strong>Formatage et design améliorés</strong>. Nous espérons que vous apprécierez le nouveau design de GitLab Duo Agentic Chat, qui comprend également une meilleure gestion des approbations d'appels d'outils pour améliorer votre expérience.</p>
</li>
<li>
<p><strong>Sessions d'agents disponibles via Agentic Chat</strong>. Les sessions font désormais partie intégrante de l'expérience Agentic Chat. Toute utilisation d’agents ou de flow apparaît maintenant dans l'aperçu des sessions dans Agentic Chat. Chaque session fournit des informations détaillées comme les job logs, les informations utilisateur et les métadonnées d'outils afin de garantir une transparence essentielle sur la façon dont les agents travaillent pour vous.
<strong>Note :</strong> les sessions dans Agentic Chat sont disponibles uniquement sur GitLab.com. Nous prévoyons de les mettre à disposition de nos clients GitLab Self-Managed le mois prochain dans la version 18.5.</p>
</li>
</ul>
<h2>Exploitez pleinement votre code source</h2>
<p><em>Avec les agents, le contexte est primordial. Le graphe de connaissances vous permet de donner à vos agents plus de contexte pour qu'ils puissent travailler plus rapidement et vous donner de meilleurs résultats.</em></p>
<h3>Graphe de connaissances de GitLab (version bêta)</h3>
<p>Le <a href="https://gitlab-org.gitlab.io/rust/knowledge-graph/">graphe de connaissances</a> disponible dans la version 18.4 transforme la façon dont les équipes et les agents comprennent et naviguent dans les codes sources complexes. Il fournit une carte connectée de la totalité de votre projet et relie fichiers, routes et références tout au long du cycle de développement logiciel. Les outils tels que l'accès aux définitions, la recherche dans le code source et le suivi des références disponibles dans les requêtes de chat aident les équipes de développement à poser des questions précises comme « quels sont les autres éléments impactés par cette modification ? ».</p>
<p>Ce contexte approfondi aide les équipes à avancer plus rapidement et à se sentir plus en confiance, qu'il s'agisse d'intégrer de nouveaux contributeurs, d'effectuer des recherches approfondies sur un projet ou d'explorer l’impact d’une modification sur le code dépendant. Plus votre écosystème gravite dans GitLab, plus le graphe de connaissances devient puissant et donne aux équipes et aux agents d'IA les bases pour travailler avec précision, vitesse et plein accès aux informations du projet. Dans les futures versions, nous intégrerons toutes vos données GitLab dans le graphe de connaissances, y compris les plans, les merge requests, les vulnérabilités de sécurité et plus encore.</p>
<p>Cette version du graphe de connaissances se concentre sur l'indexation locale du code, où l'interface CLI <code>gkg</code> transforme votre code source en une base de données graphique dynamique et intégrable pour la génération augmentée par récupération (RAG). Vous pouvez l'installer à l’aide d’un simple script en une ligne, analyser des dépôts locaux et vous connecter via MCP pour interroger votre espace de travail.</p>
<p>Notre vision pour le graphe de connaissances est double : construire une édition communautaire dynamique que les équipes de développement peuvent exécuter localement dès aujourd'hui, qui servira de fondation pour un futur service de graphe de connaissances entièrement intégré au sein de GitLab.com et des instances auto-hébergées.</p>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1121017374?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&quot; frameborder=&quot;0&quot; allow=&quot;autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot; title=&quot;18.4 Knowledge Graph Demo&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;</p>
<blockquote>
<p><a href="https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/blog&amp;glm_content=default-saas-trial" title="Essai gratuit de GitLab.">Essayez GitLab Ultimate avec GitLab Duo Enterprise gratuitement.</a></p>
</blockquote>
<h2>Automatisez la maintenance de vos pipelines</h2>
<p><em>Corrigez les échecs de pipeline plus rapidement et restez concentré avec le flow « correction de pipelines en échec ».</em></p>
<h3>Corrigez des pipelines en échec en tenant compte du contexte métier</h3>
<p>Le maintien des pipelines est essentiel pour votre vélocité de développement, mais les approches traditionnelles se concentrent uniquement sur le dépannage technique sans considérer l'impact métier. Le <strong>flow « correction de pipelines en échec »</strong> adresse ce problème en combinant l'analyse technique avec le contexte stratégique. Par exemple, il peut automatiquement prioriser la correction d'un pipeline de déploiement en échec pour un service client avant un job de test nocturne, ou signaler différemment les problèmes de compilation dans une branche de release hautement prioritaire par rapport aux branches de fonctionnalités expérimentales.</p>
<ul>
<li>
<p><strong>La détection des échecs avec contexte métier</strong> surveille les exécutions de pipeline et comprend l'importance des différents workflows et cibles de déploiement.</p>
</li>
<li>
<p><strong>L'analyse des causes profondes en contexte</strong> analyse les journaux d'échec en parallèle des exigences métier, les modifications récentes et les dépendances entre projets pour identifier les causes sous-jacentes.</p>
</li>
<li>
<p><strong>La priorisation stratégique des correctifs</strong> génère des corrections appropriées tout en considérant l'impact métier, les échéances et les priorités d'allocation des ressources.</p>
</li>
<li>
<p><strong>La résolution intégrée au workflow</strong> crée automatiquement des merge requests avec des correctifs qui maintiennent des processus de revue appropriés et fournissent un contexte métier afin d'aider à prioriser les tâches.</p>
</li>
</ul>
<p>Ce flow assure l'exécution des pipelines et l'alignement stratégique. Ses corrections automatisées prennent en compte les objectifs métier et ne servent pas uniquement à résoudre des problèmes techniques de manière isolée.</p>
<h2>Personnalisez votre environnement IA</h2>
<p><em>L'automatisation ne fonctionne que si vous faites confiance aux modèles qui l'alimentent. C'est pourquoi la version 18.4 offre des fonctionnalités de gouvernance comme la sélection de modèles et les clés gérées par GitLab.</em></p>
<h3>Sélection de modèles GitLab Duo pour l'optimisation des performances</h3>
<p>La <a href="https://docs.gitlab.com/user/gitlab_duo/model_selection/">sélection de modèles</a> est maintenant proposée en disponibilité générale afin de contrôler directement les grands modèles de langage (LLM) qui alimentent GitLab Duo. Vous et votre équipe pouvez sélectionner les modèles de votre choix, les appliquer à l'ensemble de votre entreprise ou les adapter à chaque fonctionnalité. Vous pouvez définir des valeurs par défaut pour garantir la cohérence entre les espaces de nommage et les outils, dans le respect des exigences en matière de gouvernance, de conformité et de sécurité.</p>
<p>Pour les clients qui utilisent GitLab Duo Self-Hosted, la nouvelle prise en charge de GPT OSS et GPT‑5 offre une flexibilité supplémentaire pour les workflows de développement alimentés par l'IA.</p>
<p><strong>Note :</strong> GitLab Duo Self-Hosted n'est pas disponible pour les clients GitLab.com, et les modèles GPT ne sont pas pris en charge sur GitLab.com.</p>
<h2>Protégez vos données sensibles</h2>
<p><em>La gouvernance s’accompagne d’une protection des données afin de contrôler précisément ce que l'IA peut et ne peut pas voir.</em></p>
<h3>GitLab Duo Context Exclusion : une protection granulaire des données</h3>
<p>Un contrôle granulaire sur les informations auxquelles les agents d'IA peuvent accéder est nécessaire. Dans la version 18.4, <strong>GitLab Duo Context Exclusion</strong>  fournit des paramètres au niveau du projet qui permettent aux équipes d'interdire à l'IA d'accéder à des fichiers spécifiques ou des chemins d'accès de fichiers :</p>
<ul>
<li>
<p><strong>Exclusions spécifiques à certains fichiers</strong> pour aider à protéger les fichiers sensibles tels que les configurations de mots de passe, les secrets et les algorithmes propriétaires.</p>
</li>
<li>
<p><strong>Règles basées sur les chemins d’accès</strong> pour créer des modèles d'exclusion en fonction des structures de répertoires ou des conventions de nommage de fichiers.</p>
</li>
<li>
<p><strong>Configuration flexible</strong> pour appliquer des exclusions au niveau du projet tout en maintenant l'efficacité du workflow de développement.</p>
</li>
<li>
<p><strong>Visibilité d'audit</strong> pour suivre le contenu exclu et garantir la conformité aux politiques de gouvernance des données.</p>
</li>
</ul>
<p>GitLab Duo Context Exclusion vous aide à protéger vos données sensibles pendant que vous accélérez votre développement avec l'IA agentique.</p>
<h2>Renforcez vos fonctionnalités d'IA avec de nouveaux outils MCP</h2>
<p><em>Les outils MCP étendus font passer ces fonctionnalités à la vitesse supérieure en connectant votre environnement GitLab à un écosystème plus vaste d'agents intelligents.</em></p>
<h3>Nouveaux outils pour le serveur GitLab MCP</h3>
<p>Sur la base du serveur MCP initial introduit dans <a href="https://about.gitlab.com/fr-fr/blog/gitlab-18-3-expanding-ai-orchestration-in-software-engineering/">la version 18.3</a>, GitLab 18.4 ajoute plus d'outils MCP afin de définir la manière dont les clients MCP interagissent avec GitLab. Ces nouveaux outils augmentent les possibilités d'intégration et permettent aux agents d'IA de première partie et tiers de s'attaquer à des tâches plus détaillées telles que l'accès aux données de projet, l'exécution d'opérations de code ou la recherche dans des dépôts, le tout dans le respect des modèles de sécurité et d'autorisations existants. Pour une liste complète des outils MCP, y compris les nouveautés de la version 18.4, consultez notre <a href="https://docs.gitlab.com/user/gitlab_duo/model_context_protocol/mcp_server/">documentation dédiée au serveur MCP</a>.</p>
<h2>Découvrez l'avenir du développement logiciel intelligent</h2>
<p>Avec <a href="https://about.gitlab.com/fr-fr/gitlab-duo/agent-platform/">GitLab Duo Agent Platform</a>, les équipes n'ont plus à travailler sur un ticket à la fois dans un fil de discussion unique : la collaboration se déroule désormais dans plusieurs fils avec des agents asynchrones qui agissent comme des collègues pour accomplir des tâches plus rapidement. Nous donnons vie à cette vision unique en respectant les souhaits d'indépendance et de liberté de choix de nos clients : vous pouvez travailler dans vos environnements cloud préférés en utilisant les LLM et les outils d'IA qui vous conviennent le mieux, dans le respect des règles de sécurité et de conformité que vous avez définies.</p>
<p>En tant que partie intégrante de cette innovation, GitLab 18.4 est non seulement une mise à jour logicielle, mais aussi une version plus fluide, plus intelligente et plus sûre qui facilite le quotidien des équipes de développement. Des agents réutilisables aux corrections de pipeline adaptées aux enjeux métier, chaque fonctionnalité est conçue pour renforcer la concentration des équipes et assurer vitesse, sécurité et contrôle. Pour un aperçu plus approfondi de la façon dont ces fonctionnalités se combinent en pratique, consultez notre vidéo de démonstration.</p>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1120288083?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&quot; frameborder=&quot;0&quot; allow=&quot;autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot; title=&quot;A day in the life with GitLab Duo Agent Platform&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;</p>
<p>&lt;p&gt;&lt;/p&gt;</p>
<p>Les utilisateurs de GitLab Premium et GitLab Ultimate peuvent commencer à utiliser ces fonctionnalités dès aujourd'hui sur GitLab.com et GitLab Self-Managed, tandis que les clients <a href="https://about.gitlab.com/dedicated/">GitLab Dedicated</a> pourront y accéder le mois prochain.</p>
<blockquote>
<p><strong>Activez les fonctionnalités bêta et expérimentales dans GitLab Duo Agent Platform dès aujourd'hui</strong> et découvrez comment l'IA, avec un accès complet au contexte, peut transformer la façon dont vos équipes développent des logiciels. Nouveau sur GitLab ? <a href="https://about.gitlab.com/fr-fr/free-trial/devsecops/">Commencez votre essai gratuit</a> et découvrez pourquoi l'avenir du développement est alimenté par l'IA, sécurisé et orchestré sur la plateforme <a href="https://about.gitlab.com/fr-fr/topics/devsecops/" title="Qu'est-ce que le DevSecOps ?">DevSecOps</a> la plus complète au monde.</p>
</blockquote>
<h2>Maintenez votre instance GitLab à jour</h2>
<p>Pour vous assurer d'obtenir les dernières fonctionnalités, mises à jour de sécurité et améliorations de performances, nous vous recommandons de maintenir votre instance GitLab à jour. Les ressources suivantes peuvent vous aider à planifier et terminer votre mise à niveau :</p>
<ul>
<li>
<p><a href="https://gitlab-com.gitlab.io/support/toolbox/upgrade-path/">Outil de chemin d’accès de mise à niveau</a>  indiquez votre version actuelle pour consulter les étapes à suivre afin de mettre à niveau votre instance.</p>
</li>
<li>
<p><a href="https://docs.gitlab.com/fr-fr/update/upgrade_paths/">Documentation de mise à niveau</a> : guides détaillés pour chaque version prise en charge, y compris les exigences, les instructions étape par étape et les meilleures pratiques.</p>
</li>
</ul>
<p>En effectuant régulièrement des mises à niveau, vous vous assurez que votre équipe bénéficie des dernières fonctionnalités de GitLab ainsi que d'une sécurité et d’une prise en charge optimales.</p>
<p>Pour les entreprises qui privilégient une approche autonome, pourquoi ne pas faire appel à <a href="https://content.gitlab.com/viewer/d1fe944dddb06394e6187f0028f010ad#1">GitLab Managed Maintenance</a> ? Avec GitLab Managed Maintenance, votre équipe se concentre sur l'innovation tandis que les experts GitLab gèrent les mises à niveau de votre instance GitLab Self-Managed afin d'assurer la fiabilité, la sécurité et l'efficacité de vos processus DevSecOps. Contactez votre gestionnaire de compte pour obtenir plus d'informations.</p>
<blockquote>
<p><a href="https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/blog&amp;glm_content=default-saas-trial" title="Essai gratuit de GitLab.">Essayez GitLab Ultimate avec GitLab Duo Enterprise gratuitement.</a></p>
</blockquote>
<p><em>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 qui peuvent entraîner des résultats ou des conséquences sensiblement différents. De plus amples informations sur ces risques et autres facteurs sont incluses sous la rubrique « Facteurs de risque » dans nos documents déposés auprès de la SEC. Nous ne nous engageons pas à mettre à jour ou à réviser ces déclarations après la date de publication de cet article, sauf si la loi l'exige.</em></p>
]]></content>
        <author>
            <name>Bill Staples</name>
            <uri>https://about.gitlab.com/blog/authors/bill-staples</uri>
        </author>
        <published>2025-09-23T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab nommée Leader dans le Magic Quadrant 2025 de Gartner dédié aux assistants IA pour le code]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/gitlab-named-a-leader-in-the-2025-gartner-magic-quadrant-for-ai-code-assistants/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/gitlab-named-a-leader-in-the-2025-gartner-magic-quadrant-for-ai-code-assistants/"/>
        <updated>2025-09-17T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Pour la deuxième fois consécutive, GitLab se distingue comme Leader dans le rapport Magic Quadrant™ 2025 de Gartner® dédié aux assistants IA pour le code. Cette distinction confirme un pilier essentiel de notre stratégie d'IA globale : l'évolution de l'assistance intelligente dédiée au code vers une IA complète qui transforme la façon dont les équipes planifient, développent, sécurisent et déploient leurs logiciels.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1758121248/jfkmhddve6qvlg79xico.png" alt="Rapport Magic Quadrant™ 2025 de Gartner® dédié aux assistants IA pour le code"></p>
<blockquote>
<p><a href="https://about.gitlab.com/gartner-mq-ai-code-assistants/">Téléchargez le rapport complet.</a></p>
</blockquote>
<h2>De l'IA à une collaboration intelligente</h2>
<p>L'évaluation de Gartner s'est concentrée sur les capacités d'assistance pour le code par IA générative de <a href="https://about.gitlab.com/fr-fr/gitlab-duo/" title="GitLab Duo">GitLab Duo</a>. Initialement conçu comme un module d'IA complémentaire à la plateforme <a href="https://about.gitlab.com/fr-fr/topics/devsecops/" title="Qu'est-ce que le DevSecOps ?">DevSecOps</a> de GitLab, GitLab Duo a posé les fondations de notre vision actuelle : une IA agentique intégrée nativement à la plateforme DevSecOps de GitLab.</p>
<p><a href="https://about.gitlab.com/fr-fr/gitlab-duo/agent-platform/">GitLab Duo Agent Platform</a> permet aux équipes de développement de collaborer avec plusieurs agents d'IA qui automatisent des tâches tout au long du cycle de développement logiciel. Ces agents interagissent entre eux et avec les équipes de développement à l'aide du graphe de connaissances de GitLab afin d'avoir une compréhension complète du contexte du projet. Les équipes gagnent ainsi en rapidité tout en conservant visibilité et contrôle sur leurs processus.</p>
<ul>
<li><strong>Des agents spécialisés</strong> prennent en charge simultanément diverses tâches : génération de code, analyse de sécurité et recherche.</li>
<li><strong>Le graphe de connaissances</strong> connecte les agents à un système de référence unifié qui couvre le code, les tickets, les pipelines et les données de conformité.</li>
<li><strong>La collaboration entre humains et agents</strong> s'effectue par le biais d'un chat en langage naturel et de flows personnalisables, avec validation et supervision intégrées.</li>
<li><strong>L'interopérabilité avec les outils et les systèmes externes</strong> est assurée grâce au Model Context Protocol (MCP) et aux frameworks Agent2Agent (A2A).</li>
</ul>
<p>Étant donné que les agents gèrent les tâches routinières sous supervision humaine, les équipes peuvent accélérer leur cadence, se concentrer sur les activités à forte valeur ajoutée et maintenir la sécurité et la conformité de leurs projets.</p>
<h2>Conception sécurisée et pratique flexible</h2>
<p>GitLab Duo Agent Platform place la <a href="https://about.gitlab.com/fr-fr/solutions/application-security-testing/">sécurité et la conformité</a> au premier plan. Les agents s'exécutent dans l'environnement DevSecOps sécurisé de GitLab, et chaque action peut être suivie et vérifiée avant application des modifications. Les intégrations sécurisées garantissent une gestion sûre des identifiants et données sensibles, tandis que l'interopérabilité via des standards ouverts connecte les agents aux outils externes sans exposer l'entreprise à des risques.</p>
<p>La plateforme donne aux équipes l'assurance que l'IA améliore leur productivité sans nuire à la gouvernance.</p>
<p>Voici comment chaque partie prenante en bénéficie :</p>
<ul>
<li><strong>Les équipes de développement</strong> se concentrent sur les tâches complexes à fort impact et délèguent les tâches routinières aux agents pour des résultats plus rapides et un contexte plus précis directement dans leurs workflows existants.</li>
<li><strong>Les responsables en ingénierie</strong> gagnent en visibilité sur l'évolution des tâches tout au long du cycle de développement logiciel, car les agents opèrent dans un cadre clairement défini. Ils s'assurent que leurs équipes se concentrent sur les priorités et simplifient l'intégration des nouveaux arrivants à l'aide des agents, qui ont accès au contexte et aux workflows.</li>
<li><strong>Les entreprises informatiques</strong> conservent le contrôle sur l'activité des agents grâce aux fonctionnalités de gouvernance qui appliquent les politiques de codage et de sécurité, offrent une flexibilité dans le choix des modèles et assurent une interopérabilité sécurisée avec une supervision humaine de bout en bout.</li>
</ul>
<h2>À la pointe du développement avec l’IA native</h2>
<p>GitLab poursuit le développement de GitLab Duo et ajoutera de nouveaux agents, des workflows avancés et des capacités d'orchestration étendues à GitLab Duo Agent Platform. Cet engagement en faveur de l'innovation renforce la productivité de vos équipes sur la plateforme que vous connaissez et en laquelle vous avez confiance. Suivez les mises à jour de notre roadmap et découvrez comment nous révolutionnons le DevSecOps avec l'IA native.</p>
<blockquote>
<p><a href="https://about.gitlab.com/gartner-mq-ai-code-assistants/">Téléchargez le rapport Magic Quadrant™ 2025 de Gartner® dédié aux assistants IA pour le code</a> et <a href="https://about.gitlab.com/fr-fr/gitlab-duo/agent-platform/">essayez GitLab Duo Agent Platform dès aujourd'hui</a>.</p>
</blockquote>
<p><em>Source : Gartner, Magic Quadrant for AI Code Assistants, Philip Walsh, Haritha Khandabattu, Matt Brasier, Keith Holloway, Arun Batchu, 15 septembre 2025</em></p>
<p><em>GARTNER est une marque déposée et une marque de service de Gartner, Inc. et/ou de ses sociétés affiliées aux États-Unis et à l'étranger, et MAGIC QUADRANT est une marque déposée de Gartner Inc. et/ou de ses sociétés affiliées. Elles sont utilisées ici avec autorisation. Tous droits réservés.</em></p>
<p><em>Gartner ne cautionne aucun fournisseur, produit ou service décrit dans ses publications de recherche, et ne conseille pas aux utilisateurs de la technologie de sélectionner uniquement les fournisseurs ayant les notes les plus élevées ou une autre désignation. Les publications de recherche de Gartner reflètent les opinions de l'organisation de recherche de Gartner et ne doivent pas être interprétées comme des déclarations de fait. Gartner décline toute garantie, expresse ou implicite, à l'égard de cette recherche, y compris toute garantie de qualité marchande ou d'adéquation à un usage particulier.</em></p>
<p><em>Ce graphique a été publié par Gartner Inc. dans le cadre d'un rapport plus vaste et doit être évalué dans le contexte de l'ensemble du document. Le document Gartner est disponible sur demande auprès de Gartner B.V.</em></p>
]]></content>
        <author>
            <name>Manav Khurana</name>
            <uri>https://about.gitlab.com/blog/authors/manav-khurana</uri>
        </author>
        <published>2025-09-17T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab et Accenture annoncent un accord mondial de distribution]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/gitlab-and-accenture-announce-global-reseller-agreement/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/gitlab-and-accenture-announce-global-reseller-agreement/"/>
        <updated>2025-09-15T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Nous sommes ravis d'annoncer que GitLab et Accenture ont signé un accord de distribution mondial, faisant d'Accenture un distributeur agréé GitLab et un fournisseur de services professionnels. Cet accord permet à Accenture de proposer la plateforme DevSecOps complète de GitLab directement à ses clients via plusieurs canaux de distribution, y compris AWS Marketplace.</p>
<h2>Une étape importante dans notre collaboration</h2>
<p>Cette collaboration associe la plateforme DevSecOps complète et intelligente de GitLab à l'expertise approfondie d'Accenture en matière de transformation numérique et de services de mise en œuvre, permettant aux organisations de créer et de livrer des logiciels sécurisés à grande échelle. Cet accord mondial fournit un cadre global qui peut être facilement adapté localement.</p>
<p>Cette collaboration se concentrera dans un premier temps sur plusieurs domaines clés :</p>
<ul>
<li><strong>La transformation DevSecOps à l'échelle de l'entreprise :</strong> aider les organisations à moderniser leurs pratiques de développement et à rationaliser leur cycle de livraison de logiciels</li>
<li><strong>La modernisation des mainframes :</strong> accompagner les organisations à migrer depuis leurs systèmes hérités</li>
<li><strong>GitLab Duo combiné à Amazon Q :</strong> proposer le développement logiciel piloté par l'IA aux organisations qui cherchent à accélérer leur vitesse de développement tout en maintenant la sécurité et la conformité de bout en bout</li>
</ul>
<h2>Perspectives d'avenir</h2>
<p>Nous sommes impatients d'aider nos clients communs à accélérer l'innovation, à rationaliser leurs processus de développement et à renforcer leur posture de sécurité afin d’atteindre plus efficacement leurs objectifs commerciaux.</p>
<p>Pour plus d'informations sur la façon dont GitLab et Accenture peuvent aider votre organisation, consultez <a href="https://about.gitlab.com/partners/channel-partners/#/2328213">notre site partenaire</a> ou contactez votre représentant Accenture ou GitLab.</p>
]]></content>
        <author>
            <name>GitLab</name>
            <uri>https://about.gitlab.com/blog/authors/gitlab</uri>
        </author>
        <author>
            <name>GitLab France Team</name>
            <uri>https://about.gitlab.com/blog/authors/gitlab-france team</uri>
        </author>
        <published>2025-09-15T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Mesurez le ROI de l'IA à grande échelle avec GitLab Duo Analytics]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/measuring-ai-roi-at-scale-a-practical-guide-to-gitlab-duo-analytics/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/measuring-ai-roi-at-scale-a-practical-guide-to-gitlab-duo-analytics/"/>
        <updated>2025-09-15T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>L'investissement dans l'IA commence par la mesure. Pour construire une plateforme de développement alimentée par l'IA, il faut tout d'abord comprendre l'utilisation réelle, les modèles d'adoption et la valeur métier quantifiable, notamment le retour sur investissement (ROI) de <a href="https://about.gitlab.com/fr-fr/gitlab-duo/">GitLab Duo Enterprise</a>.</p>
<p>Pour aider nos clients à maximiser leurs investissements dans l'IA, nous avons développé la solution GitLab Duo Analytics dans le cadre de notre programme d'accélération GitLab Duo. GitLab Duo Analytics est une solution complète et orientée client qui transforme les données d'utilisation brutes en données métiers exploitables et mesure le ROI. Il s’agit d’un outil d'accompagnement spécialisé que nous avons créé pour répondre aux besoins d'analyse immédiats des entreprises, qui calculent de plus en plus la productivité de l'IA dans son ensemble.</p>
<p>Ces données de base aident à transformer l'IA en profondeur. Par exemple, les entreprises peuvent les utiliser pour optimiser l’attribution des licences, identifier les cas d’utilisation à forte valeur ajoutée et élaborer des business cases convaincants pour renforcer l'adoption de l'IA au sein des équipes de développement.</p>
<p>Une grande entreprise du secteur financier a collaboré avec l’un de nos Customer Success Architect dans le cadre du programme d'accélération GitLab Duo afin d’obtenir une visibilité sur son investissement <a href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-enterprise-is-now-available/">GitLab Duo Enterprise</a>. Ensemble, ils ont mis en œuvre une solution d'analyse hybride qui combine la collecte mensuelle de données avec une intégration API en temps réel, afin de créer une base évolutive pour mesurer les gains de productivité de l'IA et optimiser l'utilisation des licences à l'échelle de l'entreprise.</p>
<h2>Mesurer le ROI de l'IA dans le développement d'entreprise</h2>
<p>Avant de mettre en œuvre une solution d'analyse, il est essentiel de comprendre comment vous évaluez votre utilisation de l'IA.</p>
<p>Posez-vous les questions suivantes :</p>
<ul>
<li><strong>Quelles fonctionnalités de GitLab Duo doivent être évaluées ?</strong> (Suggestions de code, assistance par chat, scanning de sécurité) ?</li>
<li><strong>Qui utilise l'IA au sein de votre entreprise ?</strong> (Développeurs, équipes de sécurité, ingénieurs DevOps) ?</li>
<li><strong>Quels indicateurs métiers sont importants pour votre entreprise ?</strong> (Gain de temps, gains de productivité, optimisation des coûts) ?</li>
<li><strong>Comment fonctionne votre collecte de données actuelle</strong> (Exports manuels, intégration API, outils existants) ?</li>
</ul>
<p>Utilisez cette étape pour définir les éléments suivants :</p>
<ul>
<li>Votre framework de calcul du ROI</li>
<li>Vos indicateurs clés de performance (KPI)</li>
<li>Votre stratégie de collecte de données</li>
<li>Vos exigences de reporting des parties prenantes</li>
</ul>
<h3>Exemple de framework de calcul du ROI</h3>
<p><img src="https://gitlab.com/-/project/54775568/uploads/06da2f5c3a75197cd272aedb3d67a347/image.png" alt="Exemple de framework de calcul du ROI"></p>
<h2>Guide de mise en œuvre étape par étape</h2>
<p>Veuillez noter que la solution ci-dessous décrit une approche <a href="https://about.gitlab.com/fr-fr/blog/what-is-open-source/">open source</a> que vous pouvez déployer gratuitement dans votre propre environnement. Téléchargez, personnalisez et exécutez cette solution dès maintenant !</p>
<h3>Prérequis</h3>
<p><strong>Avant de commencer, assurez-vous de disposer des éléments suivants :</strong></p>
<ul>
<li>Instance GitLab avec GitLab Duo activé</li>
<li>Token API GitLab avec autorisations de lecture</li>
<li>Accès pour configurer les variables CI/CD de GitLab</li>
<li>Connaissances de base des pipelines CI/CD de GitLab</li>
</ul>
<h3>1. Configurer et paramétrer l'environnement initial</h3>
<p>Configurez l'environnement du projet en clonant d'abord le dépôt.</p>
<pre><code class="language-bash">git clone https://gitlab.com/gitlab-org/professional-services-automation/tools/utilities/gitlab-graphql-api.git
cd gitlab-graphql-api
</code></pre>
<p>Effectuez un push vers votre propre instance GitLab ou votre espace de nommage, puis accédez à votre projet dans GitLab pour configurer les <a href="https://about.gitlab.com/fr-fr/blog/demystifying-ci-cd-variables/">variables CI/CD</a>.</p>
<h3>2. Configurer les variables de contrôle du pipeline</h3>
<p>Contrôlez quels pipelines d’analyse s'exécutent en définissant les variables CI/CD du projet. Allez dans <strong>Paramètres du projet → CI/CD → Variables</strong> et ajoutez :</p>
<table>
<thead>
<tr>
<th>Variable</th>
<th>Défaut</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>ENABLE_DUO_METRICS</code></td>
<td>&quot;true&quot;</td>
<td>Activer/désactiver le pipeline de métriques GitLab Duo AI</td>
</tr>
<tr>
<td><code>ENABLE_PROJECT_METRICS</code></td>
<td>&quot;false&quot;</td>
<td>Activer/désactiver le pipeline de métriques de projet traditionnel</td>
</tr>
</tbody>
</table>
<h4>Exemples de configurations :</h4>
<ul>
<li><strong>Configurer GitLab Duo uniquement</strong> : <code>ENABLE_DUO_METRICS=&quot;true&quot;</code>, <code>ENABLE_PROJECT_METRICS=&quot;false&quot;</code></li>
<li><strong>Configurer les deux tableaux de bord</strong> : <code>ENABLE_DUO_METRICS=&quot;true&quot;</code>, <code>ENABLE_PROJECT_METRICS=&quot;true&quot;</code></li>
<li><strong>Tout désactiver</strong> : <code>ENABLE_DUO_METRICS=&quot;false&quot;</code>, <code>ENABLE_PROJECT_METRICS=&quot;false&quot;</code></li>
</ul>
<h3>3. Configurer l’ingestion des données</h3>
<p>Configurez l'ingestion des données dans votre fichier <code>.gitlab-ci.yml</code>. Cette action crée des métadonnées de projet brutes partagées entre les métriques.</p>
<h4>Variables de configuration de base :</h4>
<pre><code class="language-yaml">variables:
  GROUP_PATH: &quot;gitlab-org/professional-services-automation&quot;  # Your group path
  INCLUDE_SIMPLE_FIELDS: &quot;fullPath,name,description&quot;  # Fields to fetch
  ARGUMENT_FIELDS: &quot;mergeRequests&quot;  # Argument fields requiring additional config
  LIMIT: &quot;100&quot;  # Projects per API call
  MAX_ITERATIONS: &quot;2&quot;  # Maximum API calls (for testing)
  GITLAB_GRAPHQL_API_VERSION: &quot;0.1.0&quot;  # API version from Package Registry
</code></pre>
<h4>Configurer les champs d'argument pour des métriques spécifiques :</h4>
<p>Pour chaque métrique que vous souhaitez collecter, définissez des variables de champ d'argument :</p>
<pre><code class="language-yaml"># Example: Merged Merge Requests
ARGUMENT_FIELD_1_NAME: &quot;mergeRequests&quot;
ARGUMENT_FIELD_1_FILTER_NAME: &quot;state&quot;
ARGUMENT_FIELD_1_FILTER_VALUE: &quot;merged&quot;
ARGUMENT_FIELD_1_RETURN_VALUES: &quot;count totalTimeToMerge&quot;

# Example: Packages Count
ARGUMENT_FIELD_2_NAME: &quot;packages&quot;
ARGUMENT_FIELD_2_RETURN_VALUES: &quot;count&quot;
</code></pre>
<h3>4. Configurer l'agrégation des métriques</h3>
<p>Après l'ingestion des données, configurez les règles d'agrégation dans <code>.gitlab/Schedule.gitlab-ci.yml</code> pour chaque métrique que vous souhaitez générer.</p>
<h4>Exemple de configuration de job de métrique :</h4>
<pre><code class="language-yaml">process_average_time_to_merge:
  &lt;&lt;: *process_data_template
  stage: process_data
  variables:
    METRIC_NAME: &quot;9_Average_Time_To_Merge&quot;
    BUSINESS_LEVEL_START: 2
    BUSINESS_LEVEL_END: 4
    AGGREGATE_COLUMNS: &quot;mergeRequests_state_merged_totalTimeToMerge:sum mergeRequests_state_merged_count:sum&quot;
    NEW_COLUMN_NAME: &quot;average_time_to_merge_days&quot;
    NEW_COLUMN_FORMULA: &quot;mergeRequests_state_merged_totalTimeToMerge / mergeRequests_state_merged_count / (24 * 60 * 60)&quot;
    SORT_BY: &quot;average_time_to_merge_days&quot;
    FILTER_CONDITION: &quot;mergeRequests_state_merged_count &gt;= 5&quot;
</code></pre>
<h4>Variables requises pour chaque métrique :</h4>
<table>
<thead>
<tr>
<th>Variable</th>
<th>Description</th>
<th>Exemple</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>METRIC_NAME</code></td>
<td>Nom de la métrique (utilisé dans le nommage des fichiers)</td>
<td>&quot;9_Average_Time_To_Merge&quot;</td>
</tr>
<tr>
<td><code>BUSINESS_LEVEL_START</code></td>
<td>Niveau de départ pour la hiérarchie métier</td>
<td>1</td>
</tr>
<tr>
<td><code>BUSINESS_LEVEL_END</code></td>
<td>Niveau final pour la hiérarchie métier</td>
<td>3</td>
</tr>
<tr>
<td><code>AGGREGATE_COLUMNS</code></td>
<td>Colonnes à agréger avec fonction</td>
<td>&quot;mergeRequests_state_merged_count:sum&quot;</td>
</tr>
<tr>
<td><code>SORT_BY</code></td>
<td>Colonne pour trier les résultats</td>
<td>&quot;average_time_to_merge_days&quot;</td>
</tr>
</tbody>
</table>
<h3>5. Exécuter le pipeline planifié pour configurer l’analyse</h3>
<p>Une fois configuré, exécutez un pipeline planifié pour générer votre analyse :</p>
<ol>
<li>Allez dans <strong>CI/CD → Planifications</strong></li>
<li>Créez une nouvelle planification ou exécutez-en une existante</li>
<li>Le pipeline va automatiquement :</li>
</ol>
<ul>
<li>Ingérer les données selon votre configuration</li>
<li>Agréger les métriques selon vos règles</li>
<li>Déployer les tableaux de bord sur GitLab Pages</li>
</ul>
<h3>6. Accéder à vos tableaux de bord d’analyse</h3>
<p>Après l'exécution réussie du pipeline planifié, GitLab Pages déploie automatiquement vos tableaux de bord :</p>
<ul>
<li><strong>Tableau de bord des métriques de projet</strong>: <code>https://your-username.gitlab.io/project-name/existing-metrics/</code></li>
<li><strong>Tableau de bord des métriques GitLab Duo</strong>: <code>https://your-username.gitlab.io/project-name/duo-metrics/</code></li>
<li><strong>Page d'accueil principale</strong>: <code>https://your-username.gitlab.io/project-name/</code></li>
</ul>
<p>La page d'accueil principale détecte automatiquement quels tableaux de bord sont disponibles et affiche les liens appropriés.</p>
<p>Vous verrez les éléments suivants :</p>
<ul>
<li>Utilisation des licences : nombre total d’utilisateurs sous licence par rapport au nombre d’utilisateurs actifs (avec analyse des suggestions de code)</li>
</ul>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1754478265/nhbukcflhmghs5jatrip.png" alt="Tableau de bord de GitLab Duo Analytics"></p>
<ul>
<li>
<p>Analyse de GitLab Duo Chat : utilisateurs uniques de GitLab Duo Chat, moyenne des événements du chat sur 90 jours et taux d'adoption du chat</p>
</li>
<li>
<p>Analyse d'engagement de GitLab Duo : catégorisation de l'utilisation de GitLab Duo pour un groupe d'utilisateurs comme Fort (10+ suggestions), Moyen (5-9) ou Faible (1-4) selon les modèles d'utilisation</p>
</li>
</ul>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1754478265/xgq05hh2ybzb8ugsxqza.png" alt="Analyse de GitLab Duo Chat sur les 90 derniers jours"></p>
<ul>
<li>Analyse de l'utilisation : suggestions de code par langage de programmation (répartition par langage), analyse des performances des langages de suggestions de code (taux d'acceptation et de rejet)</li>
</ul>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1754478265/mu3dx5g2l2lki2ehlr2g.png" alt="Vue d'adoption de l'analyse de l'utilisation de GitLab Duo"></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1754478267/xf0thn8sm4dlhoyyqg9i.png" alt="Analyse des performances par langage"></p>
<ul>
<li>Tendances hebdomadaires de GitLab Duo Chat : modèles d'utilisation de GitLab Duo Chat</li>
</ul>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1754478265/plhycnmewye3vp6vitqj.png" alt="Tendances d'utilisation quotidienne de GitLab Duo Chat"></p>
<h4>Les fonctionnalités du tableau de bord incluent :</h4>
<ul>
<li><strong>L’analyse de l'utilisation des licences</strong> - Suivi des utilisateurs sous licence par rapport aux utilisateurs actifs</li>
<li><strong>Analyse des suggestions de code</strong> - Suivi des taux d'acceptation et de la répartition des langages</li>
<li><strong>Analyse de GitLab Duo Chat</strong> - Affichage des interactions par chat et des taux d'adoption</li>
<li><strong>Analyse de l’engagement des utilisateurs</strong> - Catégorisation des utilisateurs par niveau d'activité</li>
<li><strong>Analyse des performance par langage</strong> - Analyse des taux d'acceptation par langage de programmation</li>
</ul>
<h3>7. Comprendre les API utilisées</h3>
<p>La solution exploite plusieurs API GitLab pour collecter des données d'utilisation complètes :</p>
<h4>API pour collecter les données d'utilisation de l'IA (aiUsageData)</h4>
<pre><code class="language-graphql"># Fetches individual code suggestion events
query: |
  {
    group(fullPath: &quot;your-group&quot;) {
      aiUsageData {
        codeSuggestionEvents {
          event         # ACCEPTED or SHOWN
          timestamp     # When it happened
          language      # Programming language
          suggestionSize # SINGLE_LINE or MULTI_LINE
          user { username }
        }
      }
    }
  }
# Purpose: Tracks every code suggestion shown or accepted by developers
</code></pre>
<h4>API pour collecter les utilisateurs du module d'extension GitLab Self-Managed</h4>
<pre><code class="language-graphql"># Gets licensed user information
query: |
  {
    selfManagedAddOnEligibleUsers(
      addOnType: DUO_ENTERPRISE
      filterByAssignedSeat: &quot;Yes&quot;
    ) {
      user {
        username
        lastDuoActivityOn
      }
    }
  }
# Purpose: Identifies who has licenses and when they last used Duo
</code></pre>
<h4>API pour collecter les métriques d'IA</h4>
<pre><code class="language-graphql">query: |
  {
    aiMetrics(from: &quot;2024-01-01&quot;, to: &quot;2024-06-30&quot;) {
      codeSuggestions {
        shownCount
        acceptedCount
      }
      duoChatContributorsCount
      duoAssignedUsersCount
    }
  }
# Purpose: Gets pre-calculated metrics for trend analysis
</code></pre>
<h4>API pour collecter le Ping de Service (REST)</h4>
<pre><code class="language-bash">url: &quot;{GITLAB_URL}/api/v4/usage_data/service_ping&quot; 
# Purpose: Collects instance-wide usage statistics 
</code></pre>
<h2>Mise en pratique complète</h2>
<p>Pour démontrer la puissance de cette solution d'analyse intégrée, parcourons ensemble toutes les étapes d'une implémentation complète, du déploiement initial au calcul automatisé du ROI.</p>
<p>Commencez par déployer la solution conteneurisée dans votre environnement avec la configuration Docker fournie. En quelques minutes, l'API d'analyse et le tableau de bord React seront opérationnels localement.</p>
<p>L'architecture de données hybride commence immédiatement à collecter des métriques à partir de vos exports CSV mensuels existants et établit des connexions GraphQL en temps réel vers votre instance GitLab.</p>
<p><strong>Automatisation via les scripts Python</strong></p>
<p>Cette approche déploie toute sa puissance lorsque vous exploitez les scripts Python pour automatiser l'ensemble du workflow de collecte et de traitement des données. La solution comprend des scripts Python complets qui peuvent être facilement personnalisés et planifiés.</p>
<p><strong>Intégration GitLab CI/CD</strong></p>
<p>Pour une automatisation à l'échelle de l'entreprise, intégrez ces scripts Python dans des <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/">pipelines CI/CD</a> planifiés. Cette approche exploite votre infrastructure GitLab existante et garantit une collecte de données cohérente et fiable :</p>
<pre><code class="language-yaml">
# .gitlab-ci.yml example

duo_analytics_collection:
  stage: analytics
  script:
    - python scripts/enhanced_duo_data_collection.py
    - python scripts/metric_aggregations.py
    - ./deploy_dashboard_updates.sh
  schedule:
    - cron: &quot;0 2 1 * *&quot;  # Monthly on 1st at 2 AM
  only:
    - schedules
</code></pre>
<p>Cette stratégie d'automatisation transforme la collecte manuelle de données en un moteur d'analyse autonome. Vos scripts Python s'exécutent mensuellement via les pipelines <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/">CI/CD</a> de GitLab, collectent automatiquement les données d'utilisation, calculent les métriques de ROI et mettent à jour les tableaux de bord, le tout sans intervention manuelle.</p>
<p>Une fois automatisée, la solution fonctionne de manière fluide : les pipelines planifiés exécutent les scripts de collecte de données Python, traitent les réponses GraphQL en indicateurs commerciaux et mettent à jour les données du tableau de bord. Vous découvrirez ainsi de véritables modèles d'utilisation dans le tableau de bord comme les volumes de suggestions de code par langage de programmation, les tendances d'adoption des utilisateurs entre les équipes et le taux d'utilisation des licences.</p>
<p>Dans le tableau de bord, la vue d'ensemble du ROI est ici le véritable atout. Vous y trouverez des métriques d'engagement concrètes qui peuvent être converties en impact commercial pour votre entreprise : vous découvrirez peut-être que vos utilisateurs actifs de GitLab Duo génèrent un ROI mensuel de 127 % grâce à des gains de temps et de productivité, tandis que 23 % de vos licences restent sous-utilisées.</p>
<p>Ces informations se traduisent immédiatement en recommandations concrètes : vous pouvez ainsi fournir des licences aux équipes les plus performantes, mettre en place une formation ciblée pour les utilisateurs avec des licences sous-utilisées et élaborer des arguments commerciaux basés sur les données pour une adoption plus large de l'IA.</p>
<h2>Pourquoi choisir GitLab ?</h2>
<p>La plateforme <a href="https://about.gitlab.com/fr-fr/topics/devsecops/">DevSecOps</a> complète de GitLab fournit la base idéale pour l'analyse et l'évaluation de l'IA en entreprise. Avec des API GraphQL natives, un accès flexible aux données et des capacités d’IA intégrées via GitLab Duo, les entreprises peuvent centraliser l'évaluation de l'IA tout au long du cycle de développement logiciel sans perturber les workflows existants.</p>
<p>L'architecture ouverte de la solution permet des solutions d'analyse personnalisées comme celle développée dans le cadre de notre programme d'accélération GitLab Duo. L'engagement de GitLab en faveur d’une conception API-first signifie que vous pouvez extraire des données d'utilisation détaillées, intégrer avec les systèmes d'entreprise existants et élaborer des calculs de ROI sophistiqués qui s'alignent sur des métriques spécifiques et les exigences de création de rapports de votre organisation.</p>
<p>Au-delà des capacités techniques, notre approche garantit que vous ne faites pas que mettre en œuvre des outils, vous élaborez également des stratégies d'adoption de l'IA durables. Cette solution conçue spécialement dans le cadre du programme d'accélération GitLab Duo illustre parfaitement cette approche avec des conseils pratiques, des frameworks éprouvés et des solutions personnalisées qui répondent à de véritables défis comme le calcul du ROI et l'optimisation des licences.</p>
<p>À mesure que GitLab continue d'améliorer ses capacités d'analyse avec l'IA native, cette approche n'en est que plus précieuse. Les frameworks de calcul, les indicateurs clés de performance et les processus de collecte de données établis via des solutions d'analyse personnalisées s'intègrent de manière transparente aux fonctionnalités natives améliorées et garantissent que votre investissement dans l'évaluation de l'IA évolue au même rythme que GitLab.</p>
<h2>Essayez GitLab Duo dès aujourd'hui</h2>
<p>Le calcul du ROI de l'IA n'est qu’un début. Avec les fonctionnalités de GitLab Duo, vous pouvez obtenir une analyse complète qui suit non seulement l'utilisation de l'IA, mais sert aussi de base pour une optimisation basée sur les données. Cette base peut ensuite évoluer avec la croissance de votre entreprise et avec les capacités d'IA en pleine expansion de GitLab.</p>
<p>La solution d'analyse développée dans le cadre du programme d'accélération de GitLab Duo démontre comment les partenariats axés sur la réussite client peuvent apporter une valeur immédiate et des avantages stratégiques à long terme. Du déploiement initial au calcul du ROI à l'échelle de l'entreprise, cette solution offre la visibilité et les données nécessaires pour maximiser les investissements dans l’IA et favoriser son adoption durable.</p>
<p>La combinaison de l'automatisation Python, de l'intégration GitLab CI/CD et de l'analyse sur mesure crée un avantage concurrentiel qui s'étend bien au-delà de la productivité individuelle des équipes de développement. Elle permet une prise de décision stratégique, optimise l'allocation des ressources et fournit des arguments commerciaux convaincants pour un investissement et une expansion continus de l'IA.</p>
<p>L'avenir du développement alimenté par l'IA est basé sur les données, et commence par une évaluation approfondie. Que vous commenciez votre parcours dans l’IA ou que vous optimisiez des investissements existants, GitLab fournit à la fois la plateforme et la base du partenariat nécessaires pour réussir.</p>
<blockquote>
<p>Lancez-vous dès aujourd'hui avec GitLab Duo et profitez d'un <a href="https://about.gitlab.com/fr-fr/gitlab-duo/">essai gratuit de GitLab Ultimate avec GitLab Duo Enterprise</a>.</p>
</blockquote>
]]></content>
        <author>
            <name>Paul Meresanu</name>
            <uri>https://about.gitlab.com/blog/authors/paul-meresanu</uri>
        </author>
        <published>2025-09-15T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Sécurité et IA : tout savoir sur le framework de GitLab]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/the-gitlab-ai-security-framework-for-security-leaders/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/the-gitlab-ai-security-framework-for-security-leaders/"/>
        <updated>2025-09-11T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>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 ?</p>
<p>Pour répondre à ces questions, nous avons créé le <a href="https://trust.gitlab.com/?itemUid=ad3d92c1-889e-49fc-b19c-2434f70071ee&amp;source=click">framework de sécurité relatif à l'IA de GitLab</a> 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 <a href="https://about.gitlab.com/fr-fr/gitlab-duo/" title=" Qu'est-ce que GitLab Duo ?">GitLab Duo</a>.</p>
<h2>La genèse des défis de sécurité liés à l'IA</h2>
<p>Les 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.</p>
<p>Cette 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.</p>
<p>Les 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.</p>
<p>Voici quelques-uns des défis spécifiques que nous avons identifiés.</p>
<h2>Les défis de sécurité à l'ère de l'IA</h2>
<p><strong>1. Incertitudes concernant la responsabilité et le contrôle</strong></p>
<p>En 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.</p>
<p><strong>2. Évolution de l'évaluation des risques</strong></p>
<p>Les 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.</p>
<p><strong>3. Complexification de la protection des données</strong></p>
<p>Les 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.</p>
<p><strong>4. Conformité et normes</strong></p>
<p>Le paysage réglementaire relatif à la sécurité de l'IA évolue rapidement : de nouvelles normes, notamment la <a href="https://about.gitlab.com/fr-fr/blog/gitlab-achieves-iso-iec-42001-certification-for-ai-governance/">norme ISO 42001</a>, 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.</p>
<h2>Comment relever ces défis ?</h2>
<p>Pour 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 <a href="https://about.gitlab.com/fr-fr/topics/devsecops/" title="Qu'est-ce que le DevSecOps ?">DevSecOps</a> 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 <a href="https://about.gitlab.com/blog/how-gitlab-uses-prompt-guardrails-to-help-protect-customers/">garde-fous relatifs aux prompts</a> peuvent aider à les atténuer.</p>
<blockquote>
<p>Vous souhaitez en savoir plus sur nos contrôles de sécurité ? Consultez notre <a href="https://trust.gitlab.com/?itemUid=ad3d92c1-889e-49fc-b19c-2434f70071ee&amp;source=click">framework de sécurité relatif à l'IA</a>.</p>
</blockquote>
<h2>En savoir plus</h2>
<ul>
<li><a href="https://about.gitlab.com/fr-fr/ai-transparency-center/">Centre pour la transparence de l'IA de GitLab</a></li>
<li><a href="https://about.gitlab.com/blog/improve-ai-security-in-gitlab-with-composite-identities/">Améliorer la sécurité de l'IA dans GitLab avec des identités composites</a></li>
<li><a href="https://about.gitlab.com/blog/secure-compliant-and-ai-powered-get-to-know-3-new-gitlab-features/">Sécurité, conformité et IA : découvrez 3 nouvelles fonctionnalités GitLab</a></li>
<li><a href="https://about.gitlab.com/blog/icymi-key-ai-and-security-insights-from-our-developer-community/">Informations clés sur l'IA et sécurité de notre communauté de développeurs</a></li>
</ul>
]]></content>
        <author>
            <name>Kyle Smith</name>
            <uri>https://about.gitlab.com/blog/authors/kyle-smith</uri>
        </author>
        <author>
            <name>Ayoub Fandi</name>
            <uri>https://about.gitlab.com/blog/authors/ayoub-fandi</uri>
        </author>
        <published>2025-09-11T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab Duo : optimiser les suggestions de code de l'IA]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/top-tips-for-efficient-ai-powered-code-suggestions-with-gitlab-duo/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/top-tips-for-efficient-ai-powered-code-suggestions-with-gitlab-duo/"/>
        <updated>2025-09-10T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p><a href="https://about.gitlab.com/fr-fr/gitlab-duo/">GitLab Duo</a>, notre suite de fonctionnalités alimentées par l'IA, offre une occasion unique d'optimiser vos workflows DevSecOps. Pour en tirer pleinement parti, rien ne vaut la pratique et l'apprentissage collaboratif en situation réelle. Ce tutoriel se concentre sur les suggestions de code de GitLab Duo. Il fournit des conseils et des bonnes pratiques ainsi que quelques bonus (notamment comment combiner les suggestions de code avec nos autres fonctionnalités d'IA pour gagner encore en efficacité). Vous découvrirez également comment l'IA améliore considérablement l'expérience développeur.</p>
<p>Les bonnes pratiques, conseils et exemples présentés dans cet article ont été conçus sur mesure par l'équipe Developer Relations de GitLab. Ils sont intégrés à la <a href="https://docs.gitlab.com/ee/user/gitlab_duo/index.html">documentation dédiée à GitLab Duo</a> ainsi qu'au <a href="https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-prompts">projet GitLab Duo Prompts</a> associé. N'hésitez pas à ajouter cette page à vos favoris et revenez-y dès que vous en ressentirez le besoin.</p>
<h2>Pourquoi utiliser les suggestions de code de GitLab Duo ?</h2>
<p>Prenons comme exemple deux scénarios :</p>
<ol>
<li>
<p>En tant que développeur senior, vous maîtrisez différents langages de programmation pour pouvoir écrire du nouveau code source, réviser celui de vos pairs, concevoir des architectures résilientes et lancer de nouveaux projets. Cependant, se former sur les nouvelles fonctionnalités des langages de programmation nécessite du temps, des recherches et un réel effort d'adaptation. Alors, comment apprendre rapidement celles qui pourraient rendre votre code encore plus performant ou utiliser les ressources de manière plus durable ?</p>
<ul>
<li>Personnellement, j'ai appris la norme C++03, puis adopté C++11 sans jamais vraiment m'approprier les versions C++14/17/20/23. Entre-temps, de nouveaux langages tels que <a href="https://about.gitlab.com/blog/learning-rust-with-a-little-help-from-ai-code-suggestions-getting-started/">Rust</a> sont apparus, et ils offrent une expérience développeur bien plus moderne. Que faire dans ce contexte ?</li>
</ul>
</li>
<li>
<p>En tant qu'ingénieur junior, il peut être difficile d'appréhender de nouveaux projets, d'apprendre un nouveau langage de programmation, de comprendre certains algorithmes spécifiques et de trouver la documentation sur les structures, les interfaces et d'autres composants techniques. Le tout, souvent sous pression, ce qui augmente le risque d'erreurs et entraîne des blocages. Le temps manque pour se pencher sur les bonnes pratiques.</p>
<ul>
<li>Moi-même, je n'ai jamais réellement appris le développement frontend. J'ai quelques notions en HTML, CSS et JavaScript acquises en autodidacte. Et après dix ans, j'ai du mal à m'adapter à des frameworks frontend tels que VueJS. Et le temps pour apprendre se fait rare.</li>
</ul>
</li>
</ol>
<p>Ces scénarios illustrent à quel point il est difficile de suivre l'évolution constante des langages de programmation, bonnes pratiques et autres informations importantes. Mais les <a href="https://about.gitlab.com/fr-fr/solutions/code-suggestions/">suggestions de code de GitLab Duo</a> peuvent vous aider : elles prédisent et complètent vos blocs de code, définissent la logique de vos fonctions, génèrent des tests automatisés et proposent du code courant, comme des motifs regex, le tout directement dans votre environnement de développement. Alimentée par l'IA, cette fonctionnalité vous aide à approfondir vos connaissances sans quitter votre workflow.</p>
<h2>Commencer avec des prompts simples, puis les affiner</h2>
<p>J'ai commencé mon parcours d'adoption de GitLab Duo par des prompts simples tenant sur une ligne, souvent avec des résultats peu convaincants.</p>
<pre><code># Generate a webserver

// Create a database backend

/* Use multi-threaded data access here */
</code></pre>
<p>Après avoir testé différents contextes et styles de rédaction de prompts, j'ai rapidement constaté que la génération de code était beaucoup plus pertinente à partir de requêtes affinées.</p>
<pre><code># Generate a webserver, using the Flask framework. Implement the / URL endpoint with example output.

// Create a database backend. Abstract data handlers and SQL queries into function calls.

/* Use multi-threaded data access here. Create a shared locked resource, and focus on supporting Linux pthreads. */
</code></pre>
<p>Cependant, les prompts et commentaires seuls ne suffisent pas. Explorons d'autres bonnes pratiques.</p>
<h2>Pratiquer continuellement</h2>
<p>Dans vos workflows quotidiens, identifiez des cas d'utilisation et des défis spécifiques, et utilisez exclusivement GitLab Duo pour les traiter. Bien qu'il soit tentant d'ouvrir des onglets de recherche dans votre navigateur, vous pouvez souvent résoudre le problème directement dans votre IDE avec GitLab Duo. Voici quelques exemples :</p>
<ol>
<li>Corrigez des dépendances manquantes, souvent responsables d'échecs lors de la compilation ou de l'exécution.</li>
<li>Laissez les suggestions de code compléter automatiquement les appels de fonction lorsque le contexte de journalisation est manquant, y compris les instructions <code>print</code>.</li>
<li>Générez des méthodes et des attributs courants pour les design patterns orientés objet (par exemple, les accesseurs/mutateurs getter/setter, les méthodes <code>toString()</code>, les opérateurs de comparaison d'objets, l'héritage d'objets, et bien plus encore).</li>
<li>Identifiez la fonction à l'origine de plantages aléatoires et implémentez-en une nouvelle avec un algorithme différent à l'aide des suggestions de code.</li>
<li>En cas d'erreur cryptique empêchant la compilation ou l'exécution, demandez à GitLab Duo Chat de vous aider.</li>
<li>Analysez le code (hérité) existant et les stratégies pour documenter et refactoriser le code vers des bibliothèques modernes. Lancez une version v2 de l'application avec un nouveau framework ou langage afin de réduire la dette technique.</li>
<li>Prévenez les problèmes d'opérations et de sécurité dans l'historique Git en les détectant en amont (performances, plantages, failles de sécurité).</li>
</ol>
<p>Enfin, pensez à la tâche de codage la plus ennuyeuse (voire celle que vous détestez le plus) et ajoutez-la à cette liste. Personnellement, je redoute les tâches impliquant les accesseurs/mutateurs getter/setter d'attributs dans les classes C++ (comme le montre la vidéo ci-dessous), juste avant les expressions régulières d'analyse du format des adresses e-mail.</p>
<p>&lt;!-- blank line --&gt;
&lt;figure class=&quot;video_container&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/Z9EJh0J9358?si=QGvQ6mXxPPz4WpM0&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;
&lt;!-- blank line -&gt;</p>
<p>Il peut également être utile d'utiliser les suggestions de code dans différents langages de programmation, par exemple en alternant entre langages backend et frontend. Si vous maîtrisez plusieurs d'entre eux, réutilisez ceux que vous n'avez pas pratiqués depuis un certain temps, ou envisagez d'en apprendre un nouveau, tel que <a href="https://about.gitlab.com/blog/learning-python-with-a-little-help-from-ai-code-suggestions/">Python</a> ou <a href="https://about.gitlab.com/blog/learning-rust-with-a-little-help-from-ai-code-suggestions-getting-started/">Rust</a>.</p>
<p>Une fois intégrées dans un workflow d'auto-complétion rapide, les suggestions de code ne souffrent d'aucune interruption. Le code suggéré s'affiche en grisé et reste facultatif, selon l'interface utilisateur, par exemple VS Code, ce qui ne vous empêchera pas de continuer à écrire du code source sans distraction. Prenez le temps de vous familiariser avec la façon dont les suggestions de code s'affichent et la manière de les accepter entièrement ou partiellement. Vous verrez qu'elles deviendront très vite une aide discrète mais précieuse pour écrire du code de meilleure qualité.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749677063/Blog/Content%20Images/duo_code_suggestions_java_springboot_class_methods_tostring.png" alt="Image avec suggestions de code grisées"></p>
<h3>Corriger les dépendances manquantes</h3>
<p>Il n'est pas rare que la compilation ou l'exécution du code source échoue à cause de dépendances non déclarées, qui peuvent être journalisées et empêcher toute exécution et tout test ultérieurs. Prenons l'exemple suivant en Go : une erreur générée par <code>go build</code> signale que le code source n'a pas encore importé les dépendances nécessaires. L'approche manuelle consisterait à collecter toutes les dépendances répertoriées, à les trier de manière unique et à les ajouter dans le fichier de code source, comme illustré ci-dessous.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749677063/Blog/Content%20Images/duo_code_suggestions_go_build_failed_missing_deps.png" alt="Échec de la compilation Go – dépendances manquantes"></p>
<p>Mais si GitLab Duo connaît déjà le contexte du fichier et peut identifier les dépendances manquantes, pourquoi ne pas en profiter ? Dans la section située tout en haut du fichier, il suffit d'ajouter un commentaire indiquant <code>// add missing imports</code>, puis de patienter un instant : les suggestions de code proposeront automatiquement les lignes à importer.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749677063/Blog/Content%20Images/duo_code_suggestions_go_build_failed_missing_deps_suggested_fix.png" alt="Suggestions de code de GitLab Duo – correction suggérée pour les dépendances manquantes ayant entraîné l'échec de la commande go build"></p>
<p>Ensuite, relancez <code>go build</code>, et si tout se passe bien, le code source pourra être testé et s'exécutera correctement.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749677063/Blog/Content%20Images/duo_code_suggestions_go_build_failed_missing_deps_fixed.png" alt="Échec de la commande go build – correction des dépendances manquantes"></p>
<h3>Générer du code standardisé avec une journalisation optimisée</h3>
<p><em>Défi : mettre en place un système de journalisation, et d'autres mécanismes d'observabilité incluant des indicateurs et traces, peut s'avérer fastidieux et complexe. Quel est le moyen le plus efficace de les mettre en œuvre sans affecter les performances de l'application ni introduire de bogues ?</em></p>
<p><em>Solution : utilisez les suggestions de code pour générer les appels de fonction de journalisation et refactorisez le code en vous appuyant sur des abstractions robustes via des bibliothèques d'instrumentation dédiées à l'observabilité. Cette approche peut par exemple vous aider à préparer le code pour une intégration ultérieure avec <a href="https://docs.gitlab.com/ee/development/stage_group_observability/gitlab_instrumentation_for_opentelemetry.html">OpenTelemetry</a>.</em></p>
<p>Exemple d'une classe de journalisation en Ruby :</p>
<pre><code class="language-ruby"># Create Logging utility class
# Define default log level as attribute
# Add method for logging, inputs: level, app, message
# Print the data with formatted date and time in syslog format

# Potential AI-generated code below
class Logging
  attr_accessor :log_level

  def log(level, app, message)
    time = Time.now.strftime(&quot;%b %d %H:%M:%S&quot;)
    puts &quot;#{time} #{app}[#{Process.pid}]: #{level} - #{message}&quot;
  end
end

# Instantiate class and test the log method

# Potential AI-generated code below
logger = Logging.new
logger.log_level = :debug

logger.log(:info, 'MyApp', 'Application started - info')
logger.log(:debug, 'MyApp', 'Application started - debug')
logger.log(:error, 'MyApp', 'Application started - error')
logger.log(:fatal, 'MyApp', 'Application started - fatal')
logger.log(:warn, 'MyApp', 'Application started - warn')
</code></pre>
<h3>Créer des tests pour les fonctions d'assistance utilitaires</h3>
<p><em>Défi : le langage de programmation utilisé ne fournit pas certaines fonctions de base dans sa bibliothèque standard. L'envie est grande d'ouvrir un onglet de recherche dans mon navigateur pour trouver et ajouter des fonctions de manipulation de chaînes et d'analyse via des expressions régulières.</em></p>
<p><em>Solution : Créez un fichier nommé <code>utility.{language-suffix}</code> et ajoutez un commentaire en tête de fichier. Demandez ensuite aux suggestions de code de générer la fonction de manipulation de chaîne ().</em></p>
<p>Exemple de méthode de manipulation de chaîne en Python :</p>
<pre><code class="language-python"># Create a function to search for a string in a string, return the index
# Optionally remove search string, and return modified string
# Test the function on the string &quot;Cool programming languages: C++, Rust, Python&quot; - Remove the string &quot;C++&quot;

# Potential AI-generated code below
def search_and_remove(text, search):
    index = text.find(search)
    if index != -1:
        return index, text[:index] + text[index+len(search):]
    else:
        return None, text

text = &quot;Cool programming languages: C++, Rust, Python&quot;
index, new_text = search_and_remove(text, &quot;C++&quot;)
print(index, new_text)
</code></pre>
<p><strong>Exercice asynchrone :</strong> demandez à GitLab Duo Chat comment ajouter des tests en Python, sélectionnez le code source concerné et utilisez la commande slash <code>/tests</code>.</p>
<p>Exemple similaire en Go : créez des fonctions utilitaires pour obtenir les valeurs entières uniques dans un tableau, ou pour calculer la somme de toutes les valeurs paires. Commencez par définir la structure du projet via <code>go mod init gitlab.com/group/project</code>, puis créez un fichier <code>array.go</code>. Définissez le <code>package</code> et ajoutez un premier commentaire pour générer des fonctions.</p>
<pre><code class="language-go">package array 

// Create a function that returns unique values from an integer array

// Possible AI-generated code
func unique(ints []int) []int {
    occurred := map[int]bool{}
    result := []int{}
    for _, i := range ints {
        if !occurred[i] {
            occurred[i] = true
            result = append(result, i)
        }
    }
    return result
}

// Create a function that returns the sum of all even numbers in an integer array

// Possible AI-generated code
func sumEvens(ints []int) int {
    var sum int
    for _, i := range ints {
        if i%2 == 0 {
            sum += i
        }
    }
    return sum
}
</code></pre>
<p><strong>Exercice asynchrone</strong> : créez plus de fonctions utilitaires dans des bibliothèques dédiées et utilisez GitLab Duo Chat pour sélectionner et générer les tests via la commande <code>/tests</code>. Pour l'exemple en Go, vous pouvez consulter les solutions potentielles disponibles dans le fichier <code>go/utility/array_test.go</code> du <a href="https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-prompts">projet Prompts de GitLab Duo</a>. Compilez et testez ensuite le code à l'aide de <code>go build &amp;&amp; go test</code>.</p>
<h3>Générer des expressions régulières sur mesure</h3>
<p>Les expressions régulières sont des lignes de code, souvent sur une seule ligne (ou « one liners » en anglais), que les développeurs aiment écrire à la va-vite, qui fonctionnent et donc, qu'ils ne mettent jamais à jour. Il est possible d'utiliser <code>git blame</code> pour savoir qui l'a écrite et quand, mais le contexte de ces lignes reste souvent obscur. GitLab Duo peut vous aider à les créer, les expliquer et les refactoriser, comme dans l'exemple suivant :</p>
<p><em>Défi : certaines expressions régulières pour analyser des adresses IPv6 et IPv4 ne fonctionnent pas. Quelle est la meilleure approche pour résoudre ce problème ?</em></p>
<p><em>Solution : ajoutez les commentaires suggérés par les suggestions de code pour générer des exemples adaptés à ces types de regex. Utilisez également GitLab Duo Chat pour poser vos questions et demandez des variantes dans d'autres langages. Vous pouvez également sélectionner un extrait de code source et soumettre un prompt affiné avec <code>/refactor using regular expressions</code> via Chat.</em></p>
<p><strong>Exercice asynchrone</strong> : choisissez votre langage préféré, créez une fonction factice (stub) qui vérifie que format des chaînes d'adresses IPv6 et IPv4 est valide. Laissez les suggestions de code générer le code d'expression régulière de vérification à votre place. Vous pouvez également utiliser Chat pour affiner ou refactoriser cette regex pour bénéficier de meilleures performances.</p>
<p>Exemple pour ce tutoriel : j'ai choisi TypeScript, un langage qui figure sur ma liste d'apprentissage personnelle pour 2024. Voici mon prompt : '// Generate a TypeScript function which parses IPv6 and IPv4 address formats. Use regular expressions`.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749677063/Blog/Content%20Images/duo_code_suggestions_typescript_utility_parse_ip_address_regex.png" alt="Suggestions de code - utilitaire TypeScript pour les regex de vérification d'adresses IP"></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749677063/Blog/Content%20Images/duo_code_suggestions_typescript_utility_parse_ip_address_regex_tests.png" alt="Suggestions de code TypeScript - tests de l'utilitaire pour les regex de vérification d'adresses IP"></p>
<h2>Maîtriser les suggestions de code</h2>
<p>Vous pouvez activer les suggestions de code en appuyant sur la touche <code>Entrée</code> ou <code>Espace</code>, selon le contexte. Dans VS Code comme dans le Web IDE de GitLab, l'icône GitLab Duo s'affiche sur la même ligne que la suggestion, ainsi qu'en bas de la fenêtre.</p>
<p>Si vous avez accepté une suggestion, mais que vous souhaitez en fait en essayer une autre, sélectionnez la ligne de code concernée, supprimez-la et reprenez à zéro.</p>
<blockquote>
<p><strong>Astuce :</strong> cette vidéo présente des combinaisons de touches et des stratégies complémentaires pour mieux utiliser les suggestions de code :</p>
</blockquote>
<p>&lt;!-- blank line --&gt;
&lt;figure class=&quot;video_container&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/ORpRqp-A9hQ?si=CmA7PBJ9ckWsvjO3&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;
&lt;!-- blank line -&gt;</p>
<h3>Utiliser les raccourcis clavier pour relancer les suggestions de code</h3>
<p>En particulier dans la phase d'adoption initiale des suggestions de code, vous devrez vous entraîner pour obtenir des résultats optimaux à partir des commentaires, du style de code existant, etc., mis en contexte.</p>
<p>Voici quelques combinaisons de touches couramment utilisées pour déclencher des suggestions :</p>
<ol>
<li>Appuyez sur <code>Entrée</code> et attendez que la suggestion s'affiche.</li>
<li>Appuyez sur <code>Espace</code>, puis sur <code>Retour arrière</code> pour supprimer immédiatement l'espace.</li>
<li>Appuyez sur <code>Entrée</code> à nouveau pour déclencher une nouvelle suggestion, puis sur <code>Retour arrière</code> pour effacer les nouvelles lignes vides restantes.</li>
</ol>
<p>Lorsqu'une suggestion semble pertinente, ou que vous souhaitez tester jusqu'où elle peut vous mener :</p>
<ol>
<li>Continuez à appuyer sur la touche <code>Tab</code> pour l'accepter.</li>
<li>Ajoutez un espace ou appuyez sur <code>Entrée</code> pour ouvrir une nouvelle portée afin de déclencher une nouvelle suggestion.</li>
<li>Continuez à accepter les suggestions avec <code>Tab</code>.</li>
</ol>
<p>Notez que l'IA générative finit parfois par suggérer en boucle des chemins de code similaires, encore et encore. Vous pouvez déclencher ce comportement en insérant des données de test dans un tableau (par exemple, des chaînes et des nombres de manière ordonnée) ou en générant plusieurs points de terminaison d'API, car elle essaie alors d'anticiper les autres points de terminaison qui pourraient être utiles. Dans ce cas, interrompez le flux d'acceptation et continuez à écrire du code normalement.</p>
<h3>Gérer les suggestions de code incomplètes</h3>
<p>Parfois, les suggestions de code s'arrêtent au milieu d'une définition de variable, de fonction, ou d'une structure incomplète. Si vous avez un doute quant à la syntaxe ou souhaitez relancer les suggestions de code, voici quelques options possibles :</p>
<ol>
<li>Supprimez le ou les derniers caractères, voire la ligne dans son intégralité, avec la touche <code>Retour arrière</code>.</li>
<li>Vous pouvez également utiliser <code>Maj curseur gauche</code> (sélectionner les caractères) <code>cmd Maj curseur gauche</code> (sélectionner la ligne entière), puis appuyer sur <code>Retour arrière</code>.</li>
<li>Une autre option consiste à placer le curseur sur la ligne du dessus, puis appuyez sur <code>Entrée</code> pour forcer à nouveau le déclenchement des suggestions de code.</li>
</ol>
<h3>Gérer les suggestions de code qui s'interrompent</h3>
<p>Si les suggestions de code cessent de fonctionner, plusieurs raisons peuvent en être à l'origine :</p>
<ol>
<li>La portée du fichier actuel se termine, par exemple, une fonction <code>main()</code> a été entièrement générée et fermée.</li>
<li>Il peut s'agit d'un problème de connexion à l'instance GitLab (édition Self-Managed) ou à GitLab.com (SaaS, <a href="https://about.gitlab.com/dedicated/">Dedicated</a>). Dans ce cas, référez-vous à la <a href="https://docs.gitlab.com/ee/user/project/repository/code_suggestions/troubleshooting.html">documentation de dépannage</a>.</li>
</ol>
<h2>Différencier suggestions et génération de code</h2>
<p>Les suggestions de code s'affichent à mesure que vous écrivez du code pour vous aider à compléter une ou plusieurs lignes. La génération de code, quant à elle, nécessite davantage de contexte pour créer des blocs entiers, comme des fonctions, des algorithmes, des classes, et bien plus encore.</p>
<p>Les sections suivantes expliquent en détail les deux approches et comment commencer, avec un exemple pratique.</p>
<h3>Intégrer les commentaires au flux de suggestions de code</h3>
<p>Utilisez votre flux de programmation naturel et insérez des commentaires de code lorsque cela fournit du contexte afin d'obtenir de meilleures suggestions. Pour accepter les suggestions de code, appuyez sur la touche <code>Tab</code>, ou acceptez-les mot par mot à l'aide du raccourci <code>cmd + flèche droite</code>.</p>
<p>Le défi suivant consiste à implémenter un outil de statistiques Linux simple, en C, qui reproduit les fonctionnalités des commandes CLI <code>iostat</code>, <code>vmstat</code> et <code>du</code>. Parfois, ces indicateurs détaillés sont utiles pour présenter les statistiques de l'application, ou faciliter le débogage, notamment lors de la collecte de données d'assistance auprès des utilisateurs.</p>
<p>Créez un répertoire d'application nommé <code>linux_stat</code> ainsi qu'un fichier <code>main.c</code>, puis laissez les suggestions de code compléter le reste à partir d'un simple bloc de commentaires initial :</p>
<pre><code class="language-c">// Create a Linux statistic tool
// Collect IO, performance, disk usage, TCP latency
// Print summaries
</code></pre>
<p>Appuyez ensuite sur <code>Entrée</code> pour déclencher la création de la méthode <code>main()</code>. Si elle n'est pas créée automatiquement, ajoutez un nouveau commentaire explicite pour forcer sa création.</p>
<pre><code class="language-c">// Create main function to collect data
</code></pre>
<p>Lors de mes tentatives, l'IA générative n'a pas immédiatement implémenté toutes les fonctionnalités. Au lieu de cela, elle a ajouté un commentaire <code>TODO</code> dans le bloc de code suivant.</p>
<pre><code class="language-c">int main() {
    struct stat statbuf;

    if (stat(&quot;/etc&quot;, &amp;statbuf) != 0) {
        perror(&quot;stat&quot;);
        return 1;
    }

    printf(&quot;IO Block Size: %ld
&quot;, statbuf.st_blksize);

    // TODO: add CPU usage, disk usage, network latency measurements

    return 0;
}
</code></pre>
<p>Placez le curseur après le commentaire <code>TODO</code>, puis ajoutez un nouveau commentaire pour collecter les données sur l'utilisation du CPU :</p>
<pre><code class="language-c">    // Collect CPU usage

    // Example for AI-generated code below
    double cpu_usage;

    FILE* stat_file = fopen(&quot;/proc/stat&quot;, &quot;r&quot;);
    if (stat_file == NULL) {
        perror(&quot;fopen&quot;);
        return 1;
    }

    // Parse /proc/stat to get CPU usage
    fscanf(stat_file, &quot;cpu %lf&quot;, &amp;cpu_usage);

    printf(&quot;CPU Usage: %.2f%%
&quot;, cpu_usage * 100);

    fclose(stat_file);
</code></pre>
<p>Le code généré peut ne pas être précis à 100 %, car la mesure de l'utilisation du CPU sur Linux nécessite de prendre des échantillons sur une plage de temps définie. Il faudra donc calculer l'utilisation réelle du processeur à partir de toutes les valeurs dans <code>/proc/stat</code>, y compris <a href="https://www.kernel.org/doc/Documentation/filesystems/proc.txt"><code>system, nice, user, idle, iowait</code>, etc.</a>.</p>
<p><strong>Exercice asynchrone :</strong> optimisez le processus de collecte en ajoutant un calcul de moyenne.</p>
<p>Répétez les étapes pour mesurer l'utilisation du disque et la latence du réseau. Vous rédigez le commentaire, et GitLab Duo génère le code C.</p>
<pre><code class="language-c">    // Collect disk usage

    // Collect network latency

    // Example for AI-generated code below
    int sockfd = socket(AF_INET, SOCK_STREAM, 0);

    struct sockaddr_in servaddr;
    servaddr.sin_family = AF_INET;
    servaddr.sin_port = htons(80);
    inet_pton(AF_INET, &quot;8.8.8.8&quot;, &amp;servaddr.sin_addr);
</code></pre>
<p>Le code généré peut utiliser une adresse IP publique pour tester la latence du réseau. Remplacez-la par l'adresse actuelle de GitLab.com.</p>
<pre><code class="language-c">    inet_pton(AF_INET, &quot;172.65.251.78&quot;, &amp;servaddr.sin_addr);
</code></pre>
<p>Le code source généré a ajouté plus de dépendances d'en-tête. Accédez à la section supérieure du fichier et ajoutez un commentaire pour inclure tous les en-têtes nécessaires :</p>
<pre><code class="language-c">// Import required headers
</code></pre>
<p>Compilez et exécutez l'application sur Linux, par exemple sur Ubuntu 22 LTS :</p>
<pre><code class="language-shell"># Install compiler
apt install gcc

# Build
gcc main.c -o linux_stat

# Build: If the math.h header is included, linking against the library is needed, too
gcc linux_stat.c -o linux_stat -lm

# Run the tool
./linux_stat
</code></pre>
<p><strong>Bonus :</strong> modifiez le code pour utiliser IPv6 et récupérez l'adresse IPv6 de GitLab.com (<code>dig gitlab.com AAAA +short</code>).</p>
<pre><code class="language-c">    // Collect network latency

    // Use IPv6 

    // Example for AI-generated code below
    struct sockaddr_in6 servaddr;
    servaddr.sin6_family = AF_INET6;
    servaddr.sin6_port = htons(80);
    //inet_pton(AF_INET6, &quot;2001:db8::1&quot;, &amp;servaddr.sin6_addr);
    inet_pton(AF_INET6, &quot;2606:4700:90:0:f22e:fbec:5bed:a9b9&quot;, &amp;servaddr.sin6_addr);

    int sockfd = socket(AF_INET6, SOCK_STREAM, 0);
</code></pre>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749677063/Blog/Content%20Images/duo_code_suggestions_c_linux_stat_tests.png" alt="Tests Linux stat en C"></p>
<p>Le code source complet et fonctionnel est disponible dans le <a href="https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-prompts">projet GitLab Duo Prompts</a>, dans le répertoire dédié au code C.</p>
<p><strong>Exercice asynchrone :</strong> refactorisez le code C en code Rust, en utilisant uniquement GitLab Duo. Commencez par sélectionner le code source, puis saisissez le prompt <code>/refactor into Rust</code> dans GitLab Duo Chat.</p>
<blockquote>
<p><strong>Astuce :</strong> des commentaires de code bien rédigés améliorent la lisibilité du code source. Ils facilitent l'intégration de nouveaux membres dans l'équipe, aident les ingénieurs de la fiabilité des sites à déboguer les incidents en production et guident les contributeurs open source dans leurs <a href="https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#first-time-contributors">premières merge requests</a>.</p>
</blockquote>
<h3>Orienter la génération de code avec des commentaires explicites</h3>
<p>Le code source peut être structuré en plusieurs fichiers. Que vous conceviez une nouvelle architecture applicative ou refactorisiez un code existant, GitLab Duo vous aide à générer du code automatiquement.</p>
<p>Commencez par ajouter une section de commentaires en haut du fichier détaillant chaque étape. N'hésitez pas à diviser les commentaires les plus longs en plusieurs lignes, en reprenant les exemples de cet article. Ce modèle vous aide à réfléchir aux exigences du projet et à affiner vos prompts.</p>
<pre><code class="language-diff"># Generate a webserver, using the Flask framework. 
# Implement the / URL endpoint with example output.
+# Add an endpoint for Promtheus metrics

// Create a database backend. 
// Abstract data handlers and SQL queries into function calls.
+// Use PostgreSQL as default backend, and SQLite for developers as fallback.

/* 
Use multi-threaded data access here.
Create a shared locked resource, and focus on supporting Linux pthreads. 
+Abstract the thread creation/wait procedures into object-oriented classes and methods.
*/
</code></pre>
<p>Découvrez d'autres prompts de génération de code pour les <a href="https://docs.gitlab.com/ee/user/project/repository/code_suggestions/supported_extensions.html">langages de programmation pris en charge</a> dans la <a href="https://docs.gitlab.com/ee/user/gitlab_duo/use_cases.html#code-generation-prompts">documentation présentant les cas d'utilisation de GitLab Duo</a>.</p>
<h3>Définir l'intention de la requête</h3>
<p>En fonction du Language Server de GitLab que vous utilisez dans votre IDE, les suggestions de code analysent l'intention de votre saisie et proposent des suggestions de complétion de code en ligne ou des blocs de code.</p>
<p>La technologie en arrière-plan s'appuie sur TreeSitter pour analyser le code dans un <a href="https://fr.wikipedia.org/wiki/Arbre_de_la_syntaxe_abstraite">arbre de syntaxe abstraite (AST)</a> et déterminer si la portée se trouve dans une section de commentaires de code (génération) ou dans du code source (complétion). Cette détection doit être exécutée rapidement sur l'IDE client et s'avère être un excellent cas d'utilisation pour <a href="https://webassembly.org/">WebAssembly</a>. Pour en savoir plus, consultez <a href="https://gitlab.com/groups/gitlab-org/-/epics/11568">cet epic</a> et la vidéo suivante, qui présente le Language Server de GitLab qui alimente les suggestions de code :</p>
<p>&lt;!-- blank line --&gt;
&lt;figure class=&quot;video_container&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/VQlWz6GZhrs&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<h3>Structurer la requête comme une histoire</h3>
<p>La génération de code est un art. Formulez votre demande sous forme d'une histoire et GitLab Duo, alimenté par l'IA, pourra vous aider.</p>
<p>L'exemple suivant vise à implémenter un magasin clé-valeur en mémoire en Go, à la manière de Redis. Commencez par rédiger un commentaire descriptif, puis passez à la ligne suivante et appuyez sur <code>Entrée</code> pour déclencher les suggestions de code.</p>
<pre><code class="language-golang">// Create an in-memory key value store, similar to Redis 
// Provide methods to
// set/unset keys
// update values
// list/print with filters
</code></pre>
<p>Soyez explicite et précisez : quelles sont les méthodes nécessaires pour manipuler les données ? Demandez aux suggestions de code de générer des méthodes pour définir des clés, mettre à jour des valeurs et répertorier toutes les données stockées.</p>
<pre><code class="language-golang">// Create an in-memory key value store, similar to Redis 
// Provide methods to
// set/unset keys
// update values
// list/print with filters
</code></pre>
<p>Acceptez les suggestions à l'aide de la touche <code>Tab</code>. Ensuite, demandez aux suggestions de code de créer une fonction <code>main</code> accompagnée de code de test.</p>
<pre><code class="language-golang">// Create a main function and show how the code works
</code></pre>
<p>Si les données de test ne suffisent pas, affinez le code généré en vous concentrant sur les scénarios de test extrêmes.</p>
<blockquote>
<p><strong>Astuce :</strong> vous pouvez utiliser la même méthode pour affiner les <a href="https://docs.gitlab.com/ee/user/gitlab_duo_chat/examples.html#write-tests-in-the-ide">prompts et générer des tests avec GitLab Duo Chat</a> via <code>/tests focus on extreme test cases</code>.</p>
</blockquote>
<pre><code class="language-golang">// Add more random test data, focus on extreme test cases
</code></pre>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749677063/Blog/Content%20Images/duo_code_suggestions_go_kv_more_test_data.png" alt="Suggestions de code - plus de données de test clé-valeur Go"></p>
<p>L'exemple complet, y compris les dépendances corrigées, se trouve dans le <a href="https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-prompts">projet gitlab-duo-prompts</a> dans le répertoire <code>code-suggestions/go/key-value-store</code>. Mettez à jour le fichier <code>main.go</code>, puis compilez et exécutez le code à l'aide de la commande suivante :</p>
<pre><code class="language-shell">go build
./key-value-store
</code></pre>
<p>Cette première itération consiste à créer un binaire autonome et à tester différentes stratégies de mise en œuvre pour les magasins clé-valeur. Validez le code fonctionnel et passez à l'étape suivante de votre parcours d'adoption de GitLab Duo.</p>
<blockquote>
<p><strong>Astuce :</strong> les nouveaux projets tirent parti de la génération de code, mais requièrent de la pratique et des techniques avancées pour exploiter efficacement les commentaires de code en tant que prompts. Cette approche peut aussi optimiser les workflows des développeurs expérimentés. Les études de faisabilité, l'intégration de nouvelles bibliothèques ou les itérations ne sont pas toujours compatibles avec le framework ou le projet existant. Les développeurs expérimentés optent alors pour créer des projets temporaires en isolant ou simplifiant la portée de certaines fonctionnalités, par exemple, pour tester une nouvelle couche backend de base de données en comparant ses performances à celles de l'environnement de production. Ou pour remplacer une bibliothèque présentant des failles de sécurité ou des problèmes de licence par une alternative plus sûre ou une fonctionnalité intégrée au code.</p>
</blockquote>
<h3>Accélérer les itérations avec la génération de code</h3>
<p>Comme le dirait un développeur expérimenté : « Il existe forcément déjà une bibliothèque clé-valeur en Go, alors inutile de réinventer la roue. » Heureusement, Go est un langage de programmation mature doté d'un écosystème riche. Des projets comme la collection awesome-go — par exemple <a href="https://github.com/avelino/awesome-go">avelino/awesome-go</a> — recensent de nombreuses bibliothèques d'exemples, ce qui facilite grandement la recherche de solutions existantes. Remarque : cette option n'est pas forcément applicable à tous les langages de programmation et doit être évaluée au cas par cas.</p>
<p>Vous pouvez également poser la question à GitLab Duo Chat : <code>Quelles bibliothèques Go utiliser pour un stockage clé-valeur ?</code>:</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749677063/Blog/Content%20Images/duo_chat_ask_golang_libs_kv.png" alt="GitLab Duo Chat - demande bibliothèques clé-valeur Golang"></p>
<p>Ensuite, affinez le prompt des suggestions de code pour utiliser spécifiquement les bibliothèques suggérées, par exemple BoltDB.</p>
<pre><code class="language-diff">// Create an in-memory key value store, similar to Redis 
// Provide methods to
// set/unset keys
// update values
// list/print with filters
+// Use BoltDB as external library
</code></pre>
<p>Répétez le schéma ci-dessus : générez les fonctions du code, demandez à GitLab Duo de créer une fonction « main » avec des données de test, puis compilez le code. La principale différence réside dans les bibliothèques externes, qui doivent d'abord faire l'objet d'un pull à l'aide de la commande <code>go get</code>.</p>
<pre><code class="language-shell">go get
go build
</code></pre>
<p>En cas d'échec de la compilation due à des dépendances manquantes, comme <code>fmt</code>, profitez-en pour vous entraîner à nouveau avec GitLab Duo : placez le curseur sur l'instruction <code>import</code> et attendez la suggestion ajoute les dépendances nécessaires. Vous pouvez ajouter un commentaire tel que <code>Import all libraries</code>.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749677063/Blog/Content%20Images/duo_code_suggestions_go_kv_external_lib_boltdb_fix_deps.png" alt="Suggestions de code - correction dépendances bibliothèque externe BoltDB clé-valeur Go"></p>
<p>Vous pouvez également enrichir les tests avec de nouvelles données afin de vérifier le comportement des fonctions : <code>// Add more random test data, focus on extreme test cases</code>. Dans l'exemple suivant, une clé vide provoque un arrêt brutal du programme.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749677063/Blog/Content%20Images/duo_code_suggestions_go_kv_external_lib_boltdb_test_extreme_cases_panic.png" alt="Suggestions de code - scénario de test d'arrêt brutal du programme bibliothèque externe BoltDB clé-valeur Golang"></p>
<p>Cet exemple est une excellente préparation pour les scénarios de test ultérieurs.</p>
<h3>Appliquer la génération de code à des cas concrets : observabilité cloud-native</h3>
<p>Imaginez une application cliente en Go, chargée de répertorier l'état des conteneurs, pods et services dans un cluster Kubernetes, comme la ligne de commande <code>kubectl get pods</code>. Le projet Kubernetes fournit des <a href="https://pkg.go.dev/k8s.io/client-go/kubernetes">bibliothèques Go</a> permettant d'interagir par programmation avec les API, les interfaces et les structures d'objets Kubernetes.</p>
<p>Ouvrez votre IDE et créez un nouveau projet Go.</p>
<blockquote>
<p><strong>Astuce :</strong> vous pouvez demander à GitLab Duo Chat de vous expliquer la procédure à suivre avec ce prompt : <code>How to start a Go project? Please show CLI command examples</code>.</p>
</blockquote>
<p>Commencez par rédiger un commentaire simple en haut du fichier <code>main.go</code> qui décrit l'objectif de l'application : observabilité dans Kubernetes.</p>
<pre><code class="language-golang">// Create a client for Kubernetes observability
</code></pre>
<p>Réfléchissez aux principales exigences : accéder à Kubernetes, définir un contexte et un espace de nommage, et inspecter l'état des ressources. En outre, demandez aux suggestions de code d'importer les paquets nécessaires et de créer un paquet « main » dans le fichier <code>main.go</code>.</p>
<p>Première itération :</p>
<pre><code class="language-golang">// Create a client for Kubernetes observability
// Inspect container, pod, service status and print an overview
</code></pre>
<p>Vous pourriez obtenir des résultats inattendus, comme le codage en dur des identifiants d'accès, des contextes manquants ou l'échec de la compilation.</p>
<p>Deuxième itération :</p>
<pre><code class="language-golang">// Create a client for Kubernetes observability
// Create a function that
// Read the kubernetes configuration file from the KUBECONFIG env var
// Inspect container, pod, service status and print an overview
</code></pre>
<p>L'absence de contextes ou d'espaces de nommage Kubernetes connus peut entraîner l'échec de la compilation ou des comportements inattendus.</p>
<p>Troisième itération :</p>
<pre><code class="language-golang">// Create a client for Kubernetes observability
// Create a function that
// Read the kubernetes configuration file from the KUBECONFIG env var
// Create kubernetes context, namespace default
// Inspect container, pod, service status and print an overview
</code></pre>
<p>Cet exemple code en dur le contexte Kubernetes et l'espace de nommage par défaut pour générer une base initiale. Les itérations ultérieures peuvent lire la valeur de l'espace de nommage à partir d'un paramètre de ligne de commande ou d'un fichier de configuration.</p>
<p>Le dernier exemple peut ressembler à ce qui suit. En plus de la fonctionnalité de l'application, il demande également aux suggestions de code d'importer toutes les dépendances et de générer le paquet <code>main</code> dans <code>main.go</code>.</p>
<pre><code class="language-golang">// Create a client for Kubernetes observability
// Create a function that
// Read the kubernetes configuration file from the KUBECONFIG env var
// Create kubernetes context, namespace default
// Inspect container, pod, service status and print an overview
// Import necessary packages
// Create main package
</code></pre>
<p>&lt;details&gt; Solution
&lt;summary&gt;</p>
<pre><code class="language-golang">package main

import (
	&quot;context&quot;
	&quot;fmt&quot;
	&quot;os&quot;

	&quot;k8s.io/client-go/kubernetes&quot;
	&quot;k8s.io/client-go/tools/clientcmd&quot;
	metav1 &quot;k8s.io/apimachinery/pkg/apis/meta/v1&quot;
)

func main() {
	kubeconfig := os.Getenv(&quot;KUBECONFIG&quot;)
	config, err := clientcmd.BuildConfigFromFlags(&quot;&quot;, kubeconfig)
	if err != nil {
		panic(err)
	}

	clientset, err := kubernetes.NewForConfig(config)
	if err != nil {
		panic(err)
	}

	pods, err := clientset.CoreV1().Pods(&quot;&quot;).List(context.TODO(), metav1.ListOptions{})
	if err != nil {
		panic(err)
	}
	fmt.Printf(&quot;There are %d pods in the cluster
&quot;, len(pods.Items))

	// Additional code to inspect services, containers, etc
}
</code></pre>
<p>&lt;/summary&gt;
&lt;/details&gt;</p>
<p>Exemple de données de sortie :</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749677063/Blog/Content%20Images/duo_code_suggestions_go_k8s_o11y_output.png" alt="Suggestions de code GitLab Duo - données de sortie observabilité scénario k8s Go"></p>
<p><strong>Exercice asynchrone :</strong> complétez le projet avec du code pour vérifier les services, les conteneurs, etc., puis exportez les résultats vers <a href="https://opentelemetry.io/">OpenTelemetry</a>.</p>
<blockquote>
<p><strong>Astuce :</strong> entraînez-vous avec les <a href="https://docs.gitlab.com/ee/user/gitlab_duo/use_cases.html#code-generation-prompts">cas d'utilisation de GitLab Duo : utilisez les prompts de génération de code</a> dans la documentation ou envoyez des merge requests contenant vos propres prompts fonctionnels.</p>
</blockquote>
<p>Alors que nous enregistrions une courte démonstration vidéo illustrant la génération de code, une variante plus aboutie du code a été générée. N'hésitez pas à comparer les différences dans <a href="https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-prompts/-/commit/a1a46de9789d4791f04b4df9f1a35d05b8e67568">cette validation</a> et tirer parti des deux versions.</p>
<p>&lt;!-- blank line --&gt;
&lt;figure class=&quot;video_container&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/ORpRqp-A9hQ&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<h2>Tirer parti de toutes les fonctionnalités de GitLab Duo</h2>
<h3>Combiner GitLab Duo Chat avec les suggestions de code</h3>
<p>Utilisées avec <a href="https://docs.gitlab.com/ee/user/gitlab_duo_chat/index.html">GitLab Duo Chat</a>, les suggestions de code deviennent encore plus efficaces. Le workflow suivant illustre l'efficacité de cette synergie entre IA et développement logiciel :</p>
<p>Écrivez et générez du code à l'aide des suggestions de code. Le code source sera ensuite vérifié par le biais de l'automatisation CI/CD, de tests de qualité du code et d'un scanning de sécurité. Mais qu'en est-il des connaissances du développeur ?</p>
<ol>
<li>
<p>Dans votre IDE, sélectionnez les portions de code générées et utilisez la <a href="https://docs.gitlab.com/ee/user/gitlab_duo_chat/examples.html#explain-code-in-the-ide">commande slash <code>/explain</code></a> dans le prompt de GitLab Duo Chat. Vous pouvez même affiner le prompt en ajoutant <code>/explain with focus on algorithms</code> ou d'autres domaines utiles pour une explication centrée spécifiquement sur les problèmes de sécurité potentiels ou de performance, etc.</p>
<ul>
<li>Continuez à écrire et à maintenir votre code, mais gardez à l'esprit qu'à un certain stade, la qualité peut se dégrader et rendre la refactorisation plus complexe. Demandez de l'aide à GitLab Duo Chat.</li>
</ul>
</li>
<li>
<p>Dans votre IDE, sélectionnez le code source concerné et utilisez la <a href="https://docs.gitlab.com/ee/user/gitlab_duo_chat/examples.html#refactor-code-in-the-ide">commande slash <code>/refactor</code></a> dans le prompt de GitLab Duo Chat. Là encore, vous pouvez affiner le prompt pour cibler des design patterns spécifiques (fonctions, classes orientées objet, etc.), comme <code>/refactor into testable functions</code>._</p>
<ul>
<li>Après avoir rendu le code plus lisible, vous devez rédiger des tests. Quels sont les scénarios extrêmes ou les exemples de données aléatoires à utiliser pour les tests unitaires ? Ce type de recherche et la mise en œuvre dans différents frameworks peuvent prendre du temps.</li>
</ul>
</li>
<li>
<p>Dans votre IDE, sélectionnez le code source et utilisez la <a href="https://docs.gitlab.com/ee/user/gitlab_duo_chat/examples.html#write-tests-in-the-ide">commande slash <code>/tests</code></a> dans le prompt de GitLab Duo Chat. Vous pouvez affiner le prompt pour vous concentrer sur des frameworks de test, des scénarios, des méthodes fondées sur les données d'entrée spécifiques, etc.</p>
<ul>
<li>Une fois la qualité du code et la couverture des tests assurées, vous pouvez à nouveau vous concentrer sur l'optimisation de vos workflows DevSecOps avec les suggestions de code.</li>
</ul>
</li>
</ol>
<p>Découvrez d'autres scénarios dans la <a href="https://docs.gitlab.com/ee/user/gitlab_duo/use_cases.html">documentation présentant les cas d'utilisation de GitLab Duo</a>.</p>
<h3>Générer des configurations de compilation avec GitLab Duo Chat</h3>
<p>Les recherches nécessaires au démarrage d'un nouveau projet sont souvent fastidieuses. Entre les multiples approches possibles et les frameworks alternatifs, il est facile de se retrouver avec une charge de travail bien plus importante que prévue. Certains langages modernes comme Rust imposent une approche unifiée avec un seul outil (Cargo), tandis que d'autres comme Java ou C++ proposent plusieurs méthodes avec des langages de configuration supplémentaires comme Kotlin DSL ou CMake DSL, etc.</p>
<p>Avec GitLab Duo, demandez comment démarrer un projet, générez des configurations adaptées à vos outils de compilation (p. ex. <code>Please show a gradle.build example for Spring Boot</code>), et accélérez les premières étapes de développement, de compilation et de test du code source. Voici quelques exemples de prompts utiles :</p>
<ol>
<li>Java, Gradle, Spring Boot : <code>Please show a gradle.build example for Spring Boot</code></li>
<li>C++, CMake, clang : <code>Please show a basic CMake configuration file for C++17, using clang as compiler.</code></li>
<li>Python : <code>Please show how to initialize and configure a Python project on the CLI</code></li>
<li>Rust : <code>Please show how to initialize and configure a Rust project.</code>, suivi d'une question pour affiner le prompt telle que : <code>Explain the structure of Cargo.toml</code>.</li>
<li>Golang : <code>Please show how to initialize and configure a Go project</code>.</li>
</ol>
<h3>Demander des explications sur les vulnérabilités à GitLab Duo Chat</h3>
<p>Supposons qu'un code PHP a été généré pour créer un formulaire web. Il peut présenter des failles de sécurité potentielles.</p>
<pre><code class="language-php">&lt;?php 
// Create a feedback form for user name, email, and comments
// Render a HTML form

$name = $_POST['name'];
$email = $_POST['email'];
$comments = $_POST['comments'];

echo '&lt;form method=&quot;post&quot;&gt;';
echo '&lt;label for=&quot;name&quot;&gt;Name:&lt;/label&gt;';
echo '&lt;input type=&quot;text&quot; id=&quot;name&quot; name=&quot;name&quot;&gt;';

echo '&lt;label for=&quot;email&quot;&gt;Email:&lt;/label&gt;';
echo '&lt;input type=&quot;email&quot; id=&quot;email&quot; name=&quot;email&quot;&gt;';

echo '&lt;label for=&quot;comments&quot;&gt;Comments:&lt;/label&gt;';
echo '&lt;textarea id=&quot;comments&quot; name=&quot;comments&quot;&gt;&lt;/textarea&gt;';

echo '&lt;input type=&quot;submit&quot; value=&quot;Submit&quot;&gt;'; 
echo '&lt;/form&gt;';

?&gt;
</code></pre>
<p>Sélectionnez-le dans votre IDE, puis <a href="https://docs.gitlab.com/ee/user/gitlab_duo_chat/examples.html#explain-code-in-the-ide">demandez à GitLab Duo Chat d'expliquer le problème</a>, en utilisant un prompt affiné tel que <code>/explain why this code is vulnerable to bad security actors</code></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749677063/Blog/Content%20Images/duo_code_suggestions_chat_explain_potential_vulnerability.png" alt="Suggestions de code : GitLab Duo Chat explique la vulnérabilité potentielle"></p>
<blockquote>
<p><strong>Astuce</strong> : les vérifications et l'apprentissage s'effectuent dans l'environnement de développement local, ce qui permet d'identifier et de corriger les vulnérabilités en amont, avant même que le code ne fasse l'objet d'un push et qu'une merge request ne déclenche un scanning de sécurité capable d'identifier et de tracer les failles. Mieux comprendre les failles de sécurité contribue à améliorer l'expérience développeur.</p>
</blockquote>
<h3>Combiner la résolution des vulnérabilités avec les suggestions de code</h3>
<p>Prenons un nouvel exemple avec une <a href="https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-challenges/vulnerability-resolution/challenge-resolve-vulnerabilities">vulnérabilité simulée</a>, et voyons si les suggestions de code peuvent nous aider à la corriger efficacement. Le projet associé a été préconfiguré avec un test statique de sécurité des applications (SAST). Vous pouvez suivre ces étapes pour configurer le SAST GitLab à l'aide du <a href="https://gitlab.com/explore/catalog/components/sast">composant SAST CI/CD</a> du fichier de configuration CI/CD <code>.gitlab-ci.yml</code>.</p>
<pre><code class="language-yaml">include:
  # Security: SAST (for vulnerability resolution)
  - component: gitlab.com/components/sast/sast@1.1.0
</code></pre>
<p>Après avoir examiné le tableau de bord et les détails de la vulnérabilité, vous pouvez utiliser la fonctionnalité d'<a href="https://docs.gitlab.com/ee/user/application_security/vulnerabilities/#vulnerability-explanation">explication des vulnérabilités</a> pour mieux comprendre le contexte et les risques potentiels. La fonctionnalité de <a href="https://docs.gitlab.com/ee/user/application_security/vulnerabilities/index.html#vulnerability-resolution">résolution des vulnérabilités</a>, quant à elle, génère une merge request contenant une proposition de correction du code source pour la faille de sécurité détectée.</p>
<p>Parfois, il peut être nécessaire d'affiner le code suggéré. Accédez alors à la <a href="https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-challenges/vulnerability-resolution/challenge-resolve-vulnerabilities/-/merge_requests/1">MR générée</a>, puis copiez le chemin d'accès de la branche Git pour exécuter la commande git fetch en local, ou ouvrez directement le Web IDE à partir du bouton <code>Edit</code> pour continuer dans le navigateur. Accédez aux sections du code source contenant les correctifs et modifiez-les si besoin en ajoutant un commentaire :</p>
<pre><code>// refactor using safe buffers, null byte termination
</code></pre>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749677063/Blog/Content%20Images/duo_code_suggestions_with_vulnerability_resolution_proposal.png" alt="Suggestions de code de GitLab Duo - avec proposition de résolution des vulnérabilités"></p>
<p>Vous pouvez également ouvrir GitLab Duo Chat, sélectionner le code source et utiliser la commande slash <code>/refactor</code>.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749677063/Blog/Content%20Images/duo_code_suggestions_with_vulnerability_resolution_add_duo_chat_refactor.png" alt="Suggestions de code de GitLab Duo - avec résolution des vulnérabilités en ajoutant la commande refactor de GitLab Chat Duo"></p>
<p>Découvrez un exemple complet dans la <a href="https://docs.gitlab.com/ee/user/gitlab_duo/use_cases.html#explain-and-resolve-vulnerabilities">documentation présentant les cas d'utilisation de GitLab Duo</a>.</p>
<p>Voici un enregistrement de cet exemple :</p>
<p>&lt;!-- blank line --&gt;
&lt;figure class=&quot;video_container&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/Ypwx4lFnHP0&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<h2>Conseils supplémentaires</h2>
<h3>Vérifier la qualité et la sécurité du code</h3>
<p>La génération accrue de code implique davantage d'efforts en matière de qualité, de tests et de sécurité. Profitez de toutes les fonctionnalités qu'offre une plateforme DevSecOps complète :</p>
<ol>
<li><a href="https://docs.gitlab.com/ee/ci/components/">Composants CI/CD</a> et <a href="https://docs.gitlab.com/ee/ci/pipelines/pipeline_efficiency.html">efficacité des pipelines</a></li>
<li><a href="https://docs.gitlab.com/ee/ci/testing/code_quality.html">Qualité du code</a></li>
<li><a href="https://docs.gitlab.com/ee/ci/testing/code_coverage.html">Couverture des tests</a></li>
<li><a href="https://docs.gitlab.com/ee/user/application_security/">Sécurité applicative</a></li>
<li><a href="https://docs.gitlab.com/ee/operations/tracing.html">Observabilité</a></li>
</ol>
<h3>Apprendre en équipe et comprendre l'impact de l'IA</h3>
<p>Organisez des sessions collaboratives ciblées pour tester et itérer et enregistrez-les afin que d'autres équipes puissent s'en inspirer par la suite. Vous pouvez également suivre la <a href="https://www.youtube.com/playlist?list=PL05JrBw4t0Kp5uj_JgQiSvHw1jQu0mSVZ">playlist GitLab Duo Coffee Chat sur YouTube</a>.</p>
<p>Découvrez les indicateurs d'impact de l'IA dans nos articles, notamment celui intitulé <a href="https://about.gitlab.com/the-source/ai/how-to-put-generative-ai-to-work-in-your-devsecops-environment/">Utiliser l'IA générative dans votre environnement DevSecOps</a> et <a href="https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai/">GitLab Duo : mesurer le ROI de l’IA avec le tableau de bord d'analyse d'impact</a>. Consultez notre page dédiée au <a href="https://about.gitlab.com/fr-fr/ai-transparency-center/">Centre pour la transparence de l'IA</a> pour en savoir plus sur l'utilisation des données, la transparence et l'éthique de l'IA chez GitLab.</p>
<h3>Adopter une vision à long terme du développement</h3>
<p>Les suggestions de code peuvent parfois prendre plus de temps à charger que les fonctionnalités d'auto-complétion locales. Mettez à profit ce temps pour réfléchir à l'algorithme ou au problème que vous essayez de résoudre. Prendre un moment de recul permet de faire émerger des idées plus claires. Ou bien profitez-en pour savourer une gorgée de votre boisson préférée, puis reprenez le travail avec un regard neuf.</p>
<p>Certains algorithmes sont particulièrement complexes ou nécessitent des dépendances de code qui ne peuvent pas être résolues par auto-complétion. Le code propriétaire ou confidentiel offre souvent moins de contexte exploitable aux grands modèles de langage. Il peut donc être utile d'enrichir les commentaires pour améliorer la qualité des suggestions de code. Avancez à votre propre rythme et selon votre propre stratégie, et utilisez les suggestions de code là où elles apportent le plus de valeur, notamment pour générer des modèles standards ou des fonctions d'assistance.</p>
<blockquote>
<p><strong>Astuce :</strong> découvrez <a href="https://docs.gitlab.com/ee/user/project/repository/code_suggestions/repository_xray.html">Repository X-Ray</a> pour obtenir davantage de contexte sur les suggestions de code et tester des fonctionnalités expérimentales, par exemple, <a href="https://docs.gitlab.com/ee/user/project/repository/code_suggestions/supported_extensions.html#add-support-for-more-languages-for-code-suggestions-in-vs-code">la prise en charge élargie à d'autres langages dans VS Code</a>. Vous trouverez plus d'informations dans l'epic pour dédiée à l'<a href="https://gitlab.com/groups/gitlab-org/-/epics/13085">amélioration du taux d'acceptation des suggestions de code</a>.</p>
</blockquote>
<h3>Comment contribuer à GitLab Duo</h3>
<p>Utilisez GitLab Duo pour contribuer à des projets open source en tirant parti des suggestions de code, de la refactorisation du code, de la génération de tests et de la documentation automatisée avec des explications claires sur le fonctionnement du code.</p>
<p>Les clients de GitLab peuvent également <a href="https://docs.gitlab.com/ee/user/gitlab_duo/use_cases.html#use-gitlab-duo-to-contribute-to-gitlab">co-créer la plateforme GitLab à l'aide de GitLab Duo</a>. Suivez les directives récentes concernant les <a href="https://about.gitlab.com/community/contribute/dco-cla/#ai-generated-contributions">contributions générées par l'IA</a> et regardez cet exemple issu des sessions GitLab Duo Coffee Chat : Contribuer à GitLab à l'aide des suggestions de code et de GitLab Duo Chat :</p>
<p>&lt;!-- blank line --&gt;
&lt;figure class=&quot;video_container&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/TauP7soXj-E&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<h2>Comment partager vos retours</h2>
<p>GitLab Duo optimise les workflows de développement grâce à ses suggestions de code, mais une adoption efficace passe par des exercices concrets : tutoriels, ateliers en équipe et sessions de formation guidée. L'automatisation des workflows, l'amélioration de la qualité du code, l'ajout de scanning de sécurité et la mesure de l'observabilité permettent de relever les défis posés par l'introduction fréquente de nouveau code. Tirer pleinement parti de toutes les fonctionnalités de GitLab Duo, y compris GitLab Duo Chat, renforce considérablement l'expérience développeur sur la plateforme DevSecOps la plus complète alimentée par l'IA.</p>
<p>Pour bien commencer, suivez les bonnes pratiques de ce tutoriel, consultez la <a href="https://docs.gitlab.com/ee/user/gitlab_duo/index.html">documentation de GitLab Duo</a> et <a href="https://about.gitlab.com/fr-fr/solutions/gitlab-duo-pro/sales/">sollicitez nos équipes pour organiser des ateliers GitLab Duo dédiés à l'IA</a> (j'ai déjà assisté à des ateliers clients, et je vous les recommande vivement !). N'hésitez pas à partager vos retours sur les suggestions de code dans <a href="https://gitlab.com/gitlab-org/gitlab/-/issues/435783">ce ticket</a>, en incluant des captures d'écran et des vidéos (si possible).</p>
<blockquote>
<p><a href="https://about.gitlab.com/fr-fr/gitlab-duo/">Inscrivez-vous à un essai gratuit de GitLab Duo dès aujourd'hui !</a></p>
</blockquote>
]]></content>
        <author>
            <name>Michael Friedrich</name>
            <uri>https://about.gitlab.com/blog/authors/michael-friedrich</uri>
        </author>
        <published>2025-09-10T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Vues intégrées : l'avenir du suivi des tâches dans GitLab]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/embedded-views-the-future-of-work-tracking-in-gitlab/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/embedded-views-the-future-of-work-tracking-in-gitlab/"/>
        <updated>2025-09-09T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Vous arrive-t-il de basculer entre plusieurs onglets dans GitLab simplement pour suivre ce qui se passe dans votre projet ? Peut-être consultez-vous un ticket, puis passez à une merge request, et enfin à un epic pour avoir une vue d'ensemble. Sans vous en rendre compte, votre navigateur déborde d'onglets et vous avez perdu le fil.</p>
<p>Si cette situation vous semble familière, vous n'êtes certainement pas seul. De nombreuses équipes perdent du temps et de l'énergie à naviguer entre différents éléments dans leur logiciel de gestion de projet, alors qu'elles essaient simplement de suivre leur travail.</p>
<p>C'est justement pour répondre à ce problème que nous avons créé les <a href="https://docs.gitlab.com/user/glql/#embedded-views">vues intégrées</a>, alimentées par <a href="https://docs.gitlab.com/user/glql/">GitLab Query Language (GLQL)</a>. <a href="https://about.gitlab.com/fr-fr/blog/gitlab-18-3-expanding-ai-orchestration-in-software-engineering/">Disponible dans la version 18.3</a>, cette fonctionnalité fournit un aperçu des informations pertinentes en temps réel là où vous travaillez déjà dans GitLab. Fini le changement de contexte permanent et les rapports obsolètes : vous disposez des informations dont vous avez besoin, au moment précis où vous en avez besoin.</p>
<h2>Pourquoi utiliser les vues intégrées ?</h2>
<p>Les vues intégrées représentent bien plus qu'une nouvelle fonctionnalité : elles constituent un changement fondamental dans la façon dont les équipes comprennent et suivent leur travail au sein de GitLab. Avec les vues intégrées, les équipes ne changent pas de contexte et accèdent aux informations dont elles ont besoin en temps réel. Ainsi, elles profitent d'une vision commune sans jamais quitter leur workflow actuel et renforcent leur collaboration. Grâce à un suivi du travail facilité et sans effort, les équipes peuvent se concentrer sur l'essentiel.</p>
<h2>Des données en temps réel là où vous en avez besoin</h2>
<p>Les vues intégrées permettent d'insérer des requêtes GLQL dynamiques dans des blocs de code Markdown à travers des pages <a href="https://about.gitlab.com/fr-fr/blog/get-to-know-the-gitlab-wiki-for-effective-knowledge-management/">wiki</a>, des epics, des tickets et des merge requests.</p>
<p>Elles offrent de nombreux avantages :</p>
<h3>Mises à jour en continu</h3>
<p>Les requêtes GLQL sont dynamiques et extraient des données actualisées à chaque chargement de page. Ainsi, vos vues intégrées reflètent toujours l'état actuel de votre travail, et non le moment où vous avez ajouté cette vue. Lorsque des modifications sont apportées aux tickets, aux merge requests ou aux jalons, la page s'actualise et affiche ces mises à jour dans votre vue intégrée.</p>
<h3>Contexte</h3>
<p>Utilisez des fonctions comme <code>currentUser()</code> et <code>today()</code> pour que vos requêtes s'appliquent à un contexte spécifique. Vos vues intégrées s'adaptent automatiquement pour afficher les informations pertinentes en fonction de la personne qui les consulte et offrent ainsi une expérience personnalisée sans configuration manuelle.</p>
<h3>Filtrage puissant</h3>
<p>Vous avez à disposition des filtres comme l'assigné, l'auteur, le label, le jalon, l'indicateur de progression, la date de création et plus encore. Il vous suffit d'utiliser des expressions logiques pour obtenir exactement les données souhaitées. Nous prenons en charge plus de 30 champs de filtres depuis la version 18.3.</p>
<h3>Affichage personnalisable</h3>
<p>Vous pouvez afficher vos données sous forme de tableau, de liste ou de liste numérotée. Choisissez les champs à afficher, définissez une limite du nombre d'éléments et indiquez l'ordre de tri pour profiter d'un affichage ciblé et exploitable.</p>
<h3>Disponibilité</h3>
<p>Vous pouvez utiliser les vues intégrées dans les wikis de groupe et de projet, les descriptions d'epics et de tickets, les merge requests et les commentaires. GLQL est disponible sur la version gratuite de GitLab, GitLab Premium, GitLab Ultimate, GitLab.com, GitLab Self-Managed et GitLab Dedicated. Certaines fonctionnalités, telles que l'affichage des epics, du statut, des champs personnalisés, des itérations et des poids, sont disponibles uniquement pour les utilisateurs de GitLab Premium et GitLab Ultimate. L'affichage de l'indicateur de progression est disponible uniquement dans GitLab Ultimate.</p>
<h2>Découvrez les vues intégrées en action</h2>
<p>La syntaxe du code source d'une vue intégrée est un sur-ensemble de YAML qui comprend :</p>
<ul>
<li>
<p>Le paramètre <code>query</code> : des expressions reliées par un opérateur logique, tel que <code>and</code>.</p>
</li>
<li>
<p>Des paramètres liés à la couche de présentation, comme <code>display</code>, <code>limit</code>, ou <code>fields</code>, <code>title</code> et <code>description</code> représentés en YAML.</p>
</li>
</ul>
<p>Une vue est définie en Markdown comme un bloc de code, similaire à d'autres blocs de code comme Mermaid.</p>
<p>Par exemple :</p>
<ul>
<li>
<p>Afficher un tableau des 5 premiers tickets ouverts assignés à l'utilisateur authentifié dans <code>gitlab-org/gitlab</code>.</p>
</li>
<li>
<p>Afficher les colonnes <code>title</code>, <code>state</code>, <code>health</code>, <code>epic</code>, <code>milestone</code>, <code>weight</code> et <code>updated</code>.</p>
</li>
</ul>
<pre><code class="language-yaml">```glql
display: table
title: GLQL table 🎉
description: This view lists my open issues
fields: title, state, health, epic, milestone, weight, updated
limit: 5
query: project = &quot;gitlab-org/gitlab&quot; AND assignee = currentUser() AND state = opened
```
</code></pre>
<p>Le tableau généré devrait ressembler à celui ci-dessous :</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1755193172/ibzfopvpztpglnccwrjj.png" alt="Vue intégrée"></p>
<p>Pour créer votre première vue intégrée, accédez au menu déroulant <strong>Plus d'options</strong> dans la barre d'outils de l'éditeur de texte enrichi. Une fois dans cette barre d'outils, sélectionnez <strong>Vue intégrée</strong>.</p>
<p>La requête suivante sera insérée dans un bloc de code Markdown :</p>
<pre><code class="language-yaml">```glql
query: assignee = currentUser()
fields: title, createdAt, milestone, assignee
title: Issues assigned to current user
```
</code></pre>
<p>Enregistrez vos modifications dans le commentaire ou la description où le bloc de code apparaît, et c'est terminé : vous avez créé votre première vue intégrée !</p>
<h2>Comment GitLab utilise les vues intégrées</h2>
<p>Que ce soit pour suivre les merge requests relatives à des versions de sécurité, trier les bogues pour améliorer le backlog ou gérer l'intégration de l'équipe et la planification des jalons, nous nous servons des vues intégrées quotidiennement pour des processus essentiels. Il ne s'agit pas simplement d'une fonctionnalité que nous avons développée, c'est un outil dont nous dépendons pour gérer efficacement notre activité. Adopter les vues intégrées, c'est profiter d'une solution éprouvée qui aide déjà les équipes de GitLab à travailler plus efficacement, à prendre des décisions basées sur les données et à bénéficier d'une visibilité sur des workflows complexes.</p>
<p>Pour résumer, les vues intégrées peuvent transformer la façon dont votre équipe gère et analyse les tâches au cœur de votre travail.</p>
<p>Pour en savoir plus sur la façon dont GitLab utilise les vues intégrées en interne, consultez l’article <a href="https://about.gitlab.com/blog/how-gitlab-measures-red-team-impact-the-adoption-rate-metric/">« Comment GitLab mesure l'impact de la Red Team : la métrique du taux d'adoption »</a> et les tickets de planification concernant la version de recherche globale pour les jalons <a href="https://gitlab.com/gitlab-org/search-team/team-tasks/-/issues/239">18.1</a>, <a href="https://gitlab.com/gitlab-org/search-team/team-tasks/-/issues/241">18.2</a> et <a href="https://gitlab.com/gitlab-org/search-team/team-tasks/-/issues/245">18.3</a>.</p>
<h2>Prochaines étapes</h2>
<p>Les vues intégrées ne sont que le début de la vision du <a href="https://about.gitlab.com/direction/plan/knowledge/">groupe Knowledge</a> consacrée au suivi du travail. Découvrez nos futurs projets dans l'<a href="https://gitlab.com/groups/gitlab-org/-/epics/15249">epic post disponibilité générale des vues intégrées</a>. En ce qui concerne l'évolution de cette fonctionnalité, nous nous engageons à renforcer son efficacité et son <a href="https://gitlab.com/gitlab-org/gitlab/-/issues/548722">accessibilité</a>.</p>
<h2>Partagez votre expérience</h2>
<p>Partagez vos retours dans le <a href="https://gitlab.com/gitlab-org/gitlab/-/issues/509792">ticket dédié aux vues intégrées en disponibilité générale</a>. Que vous ayez découvert des cas d'utilisation innovants, rencontré des défis ou que vous ayez des idées d'amélioration, nous voulons connaître votre avis.</p>
]]></content>
        <author>
            <name>Matthew Macfarlane</name>
            <uri>https://about.gitlab.com/blog/authors/matthew-macfarlane</uri>
        </author>
        <author>
            <name>Himanshu Kapoor</name>
            <uri>https://about.gitlab.com/blog/authors/himanshu-kapoor</uri>
        </author>
        <author>
            <name>Alex Fracazo</name>
            <uri>https://about.gitlab.com/blog/authors/alex-fracazo</uri>
        </author>
        <published>2025-09-09T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[L'indépendance des entreprises : un sujet plus important que jamais en DevSecOps]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/why-enterprise-independence-matters-more-than-ever-in-devsecops/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/why-enterprise-independence-matters-more-than-ever-in-devsecops/"/>
        <updated>2025-09-03T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>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 ?</p>
<p>Le mois dernier, <a href="https://about.gitlab.com/fr-fr/blog/gitlab-18-3-expanding-ai-orchestration-in-software-engineering/">nous avons annoncé la sortie de GitLab 18.3</a>, la dernière version de notre plateforme <a href="https://about.gitlab.com/fr-fr/topics/devsecops/" title="Qu'est-ce que le DevSecOps ?">DevSecOps</a> 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.</p>
<p>Ces 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.</p>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1115249475?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&quot; frameborder=&quot;0&quot; allow=&quot;autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot; title=&quot;Who is GitLab_Robin_090225_FINAL&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;</p>
<h2>Transparence de l'IA à chaque étape du cycle de développement DevSecOps</h2>
<p><strong>Chez GitLab, notre engagement de longue date en faveur de la transparence répond directement à ces préoccupations.</strong> À 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.</p>
<p>Lancé en avril 2024, le <a href="https://about.gitlab.com/fr-fr/ai-transparency-center/">Centre pour la transparence de l'IA</a> 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 <a href="https://docs.gitlab.com/fr/user/gitlab_duo/data_usage/">exactement comment leurs données sont traitées</a>, stockées et protégées, et garantit que la plateforme ne les utilise pas pour entraîner l'IA.</p>
<p>Notre 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 <a href="https://about.gitlab.com/fr-fr/blog/large-language-model/" title="Qu’est-ce qu’un LLM ?">grands modèles de langage (LLM)</a> 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.</p>
<p>À 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.</p>
<p>En mai 2024, nous avons élaboré un <a href="https://handbook.gitlab.com/handbook/product/ai/continuity-plan/">plan de continuité IA</a> 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.</p>
<h2>Choix du déploiement et du fournisseur cloud</h2>
<p><strong>Vous devez pouvoir choisir comment et où déployer votre environnement DevSecOps.</strong> 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.</p>
<p>Cette 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.</p>
<p>Du 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.</p>
<h2>Sécurité et conformité : intégrées et toujours prioritaires</h2>
<p><strong>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.</strong> 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.</p>
<p>GitLab 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.</p>
<p>Notre <a href="https://docs.gitlab.com/fr/user/compliance/compliance_center/">Centre de conformité</a> 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.</p>
<h2>À l'écoute de notre communauté open source</h2>
<p><strong>Les meilleurs outils sont façonnés par les personnes qui les utilisent.</strong> Notre engagement envers l'<a href="https://about.gitlab.com/fr-fr/blog/what-is-open-source/" title="Qu’est-ce que l’open source ?">open source</a> et notre communauté sont au cœur de GitLab depuis notre création. Par exemple, notre <a href="https://about.gitlab.com/community/co-create/">programme Co-Create</a> 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.</p>
<p>Notre engagement en faveur de la transparence reste fondamental pour notre activité. Notre <a href="https://gitlab.com/groups/gitlab-org/-/issues">système de suivi des tickets ouverts</a>, 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 <a href="https://about.gitlab.com/fr-fr/blog/inside-gitlabs-healthy-backlog-initiative/">initiative « Healthy Backlog »</a> pour donner à nos clients une visibilité encore plus grande sur notre calendrier et traiter leurs retours plus efficacement.</p>
<p>Notre 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.</p>
<h2>Gouvernance des données : vos données, vos règles</h2>
<p><strong>Vous conservez un contrôle total sur vos données et leur traitement.</strong> 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.</p>
<p>Avec 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.</p>
<h2>Le choix est clair</h2>
<p>GitLab 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 <a href="https://about.gitlab.com/fr-fr/blog/gitlab-18-3-expanding-ai-orchestration-in-software-engineering/">version 18.3</a>, tout en restant fidèle aux engagements d'indépendance et de transparence qui nous ont toujours guidés.</p>
<p>Contrô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.</p>
<p>GitLab 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.</p>
<p><a href="https://about.gitlab.com/fr-fr/free-trial/">Essayez GitLab Ultimate gratuitement avec GitLab Duo dès aujourd'hui.</a></p>
]]></content>
        <author>
            <name>Robin Schulman</name>
            <uri>https://about.gitlab.com/blog/authors/robin-schulman</uri>
        </author>
        <published>2025-09-03T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab obtient la certification ISO/IEC 42001 pour la gouvernance de l'IA]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/gitlab-achieves-iso-iec-42001-certification-for-ai-governance/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/gitlab-achieves-iso-iec-42001-certification-for-ai-governance/"/>
        <updated>2025-09-02T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>L'intelligence artificielle (IA) transforme notre façon de travailler et de résoudre des problèmes dans tous les secteurs. Elle s'intègre de plus en plus aux processus métiers et à la prise de décision, et la nécessité de disposer de cadres de gouvernance solides en la matière n'a jamais été aussi importante. Les organisations doivent trouver un équilibre entre les opportunités offertes par l'IA et la mise en place de systèmes sûrs, éthiques et responsables.</p>
<p>Dans le cadre de notre engagement en faveur d’une gestion responsable de l'IA, nous sommes ravis d'annoncer que GitLab a obtenu la certification ISO/IEC 42001, la première norme reconnue au niveau international pour l'établissement, la mise en œuvre, la maintenance et l'amélioration continue d'un système de gestion de l'intelligence artificielle (AIMS) au sein des organisations.</p>
<p>Le champ d'application de cette certification englobe notre offre complète d'IA, GitLab Duo, ainsi que GitLab Duo Agent Platform et ses composants. En tant que leader du DevSecOps, GitLab propose des fonctionnalités alimentées par l'IA tout au long du cycle de développement logiciel, notamment :</p>
<ul>
<li>
<p><a href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-agent-platform-public-beta/">GitLab Duo Agent Platform</a> (actuellement en version bêta publique, disponibilité générale prévue en fin d’année) : permet une collaboration asynchrone entre les équipes de développement et les agents d’IA spécialisés tout au long du cycle de développement logiciel. GitLab Duo Agent Platform transforme ainsi les processus de développement linéaires en workflows dynamiques et parallèles, et fournit aux agents un accès à l'ensemble du contexte d'ingénierie logicielle stocké dans la plateforme unifiée de GitLab.</p>
</li>
<li>
<p><a href="https://docs.gitlab.com/user/project/repository/code_suggestions/">Suggestions de code</a> : permet aux équipes de développement de rester concentrées grâce à la génération prédictive de blocs de code, à la définition d'une logique fonctionnelle, à la génération de tests et à la suggestion d'un code commun comme des motifs regex, le tout sans quitter leur environnement de développement.</p>
</li>
<li>
<p><a href="https://docs.gitlab.com/user/application_security/vulnerabilities/#explaining-a-vulnerability">Explication des vulnérabilités</a> : aide les équipes de développement et les analystes en sécurité à comprendre les vulnérabilités, à les exploiter et à les corriger.</p>
</li>
<li>
<p><a href="https://docs.gitlab.com/user/gitlab_duo/">Génération de tests</a> : crée automatiquement des tests pour le code sélectionné, afin d’améliorer la couverture et de réduire les efforts manuels.</p>
</li>
</ul>
<h2>Qu’est-ce que cette certification signifie pour les utilisateurs de GitLab ?</h2>
<p><strong>Confiance et transparence accrues :</strong> nos fonctionnalités d’IA sont conçues et gérées conformément aux meilleures normes reconnues au niveau mondial en matière de gouvernance de l'IA, afin de garantir fiabilité et mise en œuvre éthique.</p>
<p><strong>Gestion stratégique des risques :</strong> nous avons mis en place des stratégies d'évaluation et de traitement des risques pour les composants d’IA au sein de notre plateforme. Nous prenons ainsi en considération des aspects tels que les risques liés à la continuité des activités opérationnelles, les risques techniques, les risques liés à la sécurité et à la confidentialité, ainsi que les conséquences sur la société au sens large. Cette approche proactive renforce la protection des données clients et facilite le développement de fonctionnalités fiables alimentées par l’IA.</p>
<p><strong>Amélioration continue :</strong> dans le cadre de la norme ISO/IEC 42001, nous nous engageons à évaluer et à améliorer continuellement nos capacités d’IA grâce à des audits de surveillance externes annuels, des évaluations internes régulières et des revues AIMS par un conseil composé de cadres dirigeants, tout en maintenant des normes de qualité et de responsabilité.</p>
<p><strong>Alignement réglementaire :</strong> alors que les réglementations sur l'IA continuent d'évoluer dans le monde, à l’instar du règlement sur l'intelligence artificielle de l'Union européenne, cette certification permet à GitLab de répondre aux exigences réglementaires émergentes.</p>
<p>Cette certification confirme la position de GitLab en tant que plateforme de confiance pour le DevSecOps alimenté par l'IA. Nous sommes ravis de continuer à montrer la voie en matière d'innovation responsable dans le domaine de l’IA.</p>
<h2>En savoir plus</h2>
<ul>
<li>
<p>Consultez le certificat ISO/IEC 42001 sur le <a href="https://trust.gitlab.com/">Trust Center de GitLab</a>.</p>
</li>
<li>
<p>Découvrez notre <a href="https://handbook.gitlab.com/handbook/security/isms/">système de gestion de l’IA dans notre manuel</a>.</p>
</li>
<li>
<p>Consultez le <a href="https://about.gitlab.com/fr-fr/ai-transparency-center/">Centre pour la transparence de l’IA de GitLab</a>.</p>
</li>
<li>
<p>Explorez toutes les <a href="https://docs.gitlab.com/user/gitlab_duo/">fonctionnalités et capacités de GitLab Duo</a> dans notre documentation.</p>
</li>
</ul>
]]></content>
        <author>
            <name>Davoud Tu</name>
            <uri>https://about.gitlab.com/blog/authors/davoud-tu</uri>
        </author>
        <published>2025-09-02T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[La documentation de GitLab fait peau neuve]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/docs-site-design-overhaul/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/docs-site-design-overhaul/"/>
        <updated>2025-09-01T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>La documentation de GitLab arbore désormais une toute nouvelle apparence. Ce qui a commencé comme une demande de corrections de design ciblées s'est transformé en une refonte complète avec cinq améliorations majeures :</p>
<p><strong>Un mode sombre</strong> : la fonctionnalité la plus demandée est enfin disponible. Alternez entre thème clair et thème sombre en cliquant dans le coin supérieur droit pour améliorer la lisibilité et réduire la fatigue oculaire.</p>
<p><strong>Un alignement de la marque</strong> : notre documentation reflète désormais les couleurs et le design de notre site web et de notre interface utilisateur afin de garantir une expérience cohérente à travers toutes les propriétés de GitLab.</p>
<p><strong>Des retours simplifiés</strong> : les utilisateurs peuvent désormais donner leur avis (positif ou négatif) et laisser des commentaires sur n'importe quelle page de la documentation.</p>
<p><strong>Une navigation repensée</strong> : nous avons déplacé la navigation principale vers le haut et restructuré notre barre latérale gauche pour rendre nos plus de 2 300 pages moins intimidantes et plus faciles à parcourir.</p>
<p><strong>Une dette technique résolue</strong> : des dizaines de corrections mineures ont été apportées à la typographie, à l'espacement, aux blocs de code et aux incohérences visuelles qui s'étaient accumulées au fil des ans.</p>
<h2>Pourquoi maintenant ?</h2>
<p>Au début de l'année, sous la direction de Sarah German, notre équipe d'ingénierie chargée de la documentation a mené à bien un projet crucial de refonte de la plateforme, migrant de Nanoc vers Hugo. Bien que largement invisible pour les utilisateurs, ce changement a permis d’améliorer considérablement les performances (avec des compilations locales 130 fois plus rapides et des compilations complètes 30 fois plus rapides ) et a fourni la base technique solide nécessaire à ces améliorations.</p>
<p>Cette refonte était une étape essentielle qui nous a permis de nous concentrer sur l’amélioration de l'expérience utilisateur. Examinons de plus près ces changements.</p>
<h3>Mode sombre</h3>
<p>Probablement la plus grande nouveauté parmi ces améliorations : le mode sombre est maintenant disponible sur l'ensemble de la documentation. Il vous suffit de modifier le paramètre dans le coin supérieur droit, et le site se souviendra de votre préférence. Pour de nombreux utilisateurs, le mode sombre rend le contenu plus lisible et réduit la fatigue oculaire.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1755617168/gz45eaygeb0nizf1kwyu.png" alt="image du mode sombre"></p>
<h3>Alignement de la marque avec le site web</h3>
<p>Le nouveau design crée une harmonie visuelle entre notre documentation et l'expérience GitLab au sens large. Nous avons intégré la palette de couleurs et les éléments de design modernes de GitLab tout en conservant l'aspect épuré et fonctionnel que les utilisateurs attendent d’une documentation technique.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1755617230/ialfadj3i3theizk08p5.png" alt="image de la nouvelle page d'accueil"></p>
<p>La page d'accueil mise à jour se concentre sur nos principaux domaines de documentation, y compris les tutoriels et les guides de démarrage qui aident les nouveaux utilisateurs à se familiariser avec GitLab.</p>
<h3>Mécanisme de retours simplifié</h3>
<p>Nous avons simplifié le processus des retours. Au lieu d'obliger les utilisateurs à quitter la documentation et à créer des tickets GitLab, ils peuvent désormais laisser des commentaires et rédiger des avis sans quitter le site. Faites défiler n'importe quelle page de la documentation vers le bas pour voir cette nouvelle fonctionnalité en action.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1755617289/rjocpkmqumacaw7thjqi.png" alt="image de la zone de commentaires"></p>
<h3>Refonte de la navigation</h3>
<p>L'un de nos plus grands défis consistait à organiser plus de 2 300 pages de manière à ne pas submerger les utilisateurs. Notre ancienne navigation à gauche, bien que complète, était plutôt intimidante :</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1755617332/k75fwr3rhjxfjyxmc49d.png" alt="image de l'ancienne navigation"></p>
<p>Dans cette refonte, la navigation principale a été déplacée vers le haut. Les sections de table des matières sont plus courtes, plus faciles à gérer et plus simples à parcourir :</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1755617366/wziabrijury9jl5j7ica.png" alt="image de la nouvelle navigation"></p>
<p>Cette structure reflète mieux les relations entre les fonctionnalités et rend les sections individuelles plus digestes.</p>
<h3>Mises à jour stylistiques et dette technique</h3>
<p>Au fil des ans, de petites incohérences de style s'étaient accumulées : remplissage irrégulier dans les listes, espacement supplémentaire autour des alertes et divers problèmes de typographie. Bien qu'elles puissent sembler mineures, ces incohérences créaient une expérience légèrement dérangeante pour les utilisateurs quotidiens.</p>
<p>Nous nous sommes tout particulièrement penchés sur nos onglets et blocs de code au cours du processus de refonte afin de mieux les définir.</p>
<p>Auparavant, les onglets contenant du code ressemblaient à ceci :</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1755617460/jsa2gz3b2slqu0udrg28.png" alt="image des anciens onglets avec bloc de code"></p>
<p>Maintenant, avec quelques petits ajustements, ils ressemblent à ceci :</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1755617493/jpxiybvnadsex39lyawu.png" alt="image des nouveaux onglets avec bloc de code"></p>
<p>Ces corrections « mineures » peuvent sembler insignifiantes individuellement, mais collectivement, elles créent une expérience beaucoup plus soignée et professionnelle.</p>
<h2>Et maintenant ?</h2>
<p>Cette refonte représente la façon dont nous itérons chez GitLab : nous apportons des améliorations significatives et construisons un avenir encore meilleur. Nous prévoyons de continuer à affiner la structure et à ajouter des fonctionnalités qui aideront les utilisateurs à trouver plus facilement ce dont ils ont besoin.</p>
<p>Les retours des utilisateurs guideront nos prochaines itérations, et avec notre nouveau mécanisme de retour simplifié, nous sommes mieux placés que jamais pour répondre directement aux attentes des utilisateurs de notre documentation.</p>
<h2>L'équipe</h2>
<p>Cette transformation a été le fruit d’un véritable travail d’équipe. Félicitations à UX Papercuts et Julia Miocene pour avoir transformé ce qui n'était au départ qu'une simple demande en une vision complète. Merci aux ingénieurs de l’équipe Technical Writing : Sarah German, Pearl Latteier, et Hiru Fernando, qui ont donné vie à ces améliorations.</p>
<p>Le nouveau design trouve le juste équilibre entre densité des informations et clarté visuelle, modernise notre site tout en conservant les normes d'utilisabilité et d'accessibilité et représente une étape importante en matière d'expérience utilisateur et de design visuel.</p>
]]></content>
        <author>
            <name>Suzanne Selhorn</name>
            <uri>https://about.gitlab.com/blog/authors/suzanne-selhorn</uri>
        </author>
        <author>
            <name>Julia Miocene</name>
            <uri>https://about.gitlab.com/blog/authors/julia-miocene</uri>
        </author>
        <author>
            <name>Sarah German</name>
            <uri>https://about.gitlab.com/blog/authors/sarah-german</uri>
        </author>
        <published>2025-09-01T00:00:00.000Z</published>
    </entry>
</feed>