[{"data":1,"prerenderedAt":834},["ShallowReactive",2],{"/fr-fr/blog/4-ways-to-accelerate-embedded-development-with-gitlab":3,"navigation-fr-fr":38,"banner-fr-fr":454,"footer-fr-fr":464,"blog-post-authors-fr-fr-Matt DeLaney|Darwin Sanoy":702,"blog-related-posts-fr-fr-4-ways-to-accelerate-embedded-development-with-gitlab":731,"next-steps-fr-fr":772,"blog-promotions-fr-fr":781},{"id":4,"title":5,"authorSlugs":6,"authors":9,"body":12,"category":13,"categorySlug":13,"config":14,"content":18,"date":22,"description":19,"extension":24,"externalUrl":25,"featured":16,"heroImage":21,"isFeatured":16,"meta":26,"navigation":27,"path":28,"publishedDate":22,"rawbody":29,"seo":30,"slug":15,"stem":35,"tagSlugs":36,"tags":25,"template":17,"updatedDate":25,"__hash__":37},"blogPosts/fr-fr/blog/4-ways-to-accelerate-embedded-development-with-gitlab.yml","Accélérez le développement de systèmes embarqués avec GitLab",[7,8],"matt-delaney","darwin-sanoy",[10,11],"Matt DeLaney","Darwin Sanoy","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 [650 millions](https://www.statista.com/statistics/1370978/automotive-software-average-lines-of-codes-per-vehicle-globally/) 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 [doublé tous les quatre ans](https://www.mckinsey.com/industries/aerospace-and-defense/our-insights/debugging-the-software-talent-gap-in-aerospace-and-defense) au cours des dernières décennies. \n\nLes 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 : \n\n* [Les goulots d'étranglement lors des tests matériels](#challenge-1-hardware-testing-bottlenecks) \n* [Les environnements de compilation incohérents](#challenge-2-inconsistent-build-environments)\n* [Les pratiques de développement cloisonnées](#challenge-3-siloed-development-practices)\n* [Les processus manuels de conformité à la sécurité fonctionnelle](#challenge-4-manual-functional-safety-compliance-processes)\n\nLes é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. \n\nDé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é.\n\n## Défi 1 : les goulots d'étranglement lors des tests matériels\n\nContrairement 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 :\n\n1. Un développeur écrit le code d'un système embarqué (par exemple, une unité de commande électronique).  \n2. 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).  \n3. Il patiente plusieurs jours, voire des semaines, avant d'obtenir cet accès.  \n4. Puis il déploie et teste manuellement le code directement sur son poste de travail.\n5. 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.\n\nCe 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. \n\n### Solution : allocation automatisée du matériel et intégration continue\n\nVous pouvez rationaliser les tests matériels grâce à l'automatisation en utilisant le composant CI/CD [On-Premises Device Cloud](https://gitlab.com/guided-explorations/embedded/ci-components/device-cloud) 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.\n\nLe composant On-Premises Device Cloud procède comme suit :\n\n1. Il crée des pools de ressources matérielles partagées.  \n2. 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é.  \n3. Il déploie et exécute les tests sans intervention manuelle.  \n4. Il collecte les résultats des tests et les partage via des [pipelines CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline CI/CD ?\") intégrés.  \n5. Il libère automatiquement le matériel dans le pool de ressources « disponibles ».\n\nUne 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.\n\nDé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 :\n\n\u003C!-- blank line -->\n\n\u003Cfigure class=\"video_container\"> \u003Ciframe src=\"https://www.youtube.com/embed/ltr2CIM9Zag?si=NOij3t1YYz4zKajC\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe> \u003C/figure>\n\u003C!-- blank line -->\n\nVous 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 :\n\n* **Software-in-the-Loop (SIL) :** tests effectués sur des simulateurs de matériel virtuels pour obtenir plus rapidement les tout premiers retours sur le code.  \n* **Processor-in-the-Loop (PIL) :** tests réalisés sur un processeur proche du contexte final pour obtenir des retours sur le code plus rapidement et à moindre coût.  \n* **Hardware-in-the-Loop (HIL) :** 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é.\n\nEn 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é.\n\n## Défi 2 : les environnements de compilation incohérents\n\nL'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é.\n\nCette approche entraîne plusieurs problèmes :\n\n* **Résultats incohérents :** basées sur le même code source, les compilations produisent des résultats différents selon les machines utilisées.  \n* **Syndrome du « Ça fonctionne sur ma machine » :** le code compilé localement échoue dans les environnements partagés.  \n* **Mauvaise traçabilité :** piste d'audit limitée pour connaître l'auteur, la date et le motif de la compilation.  \n* **Compartimentation des connaissances :** seuls quelques experts maîtrisent le processus de compilation.\n\nCette approche accroît le risque d'erreurs, crée des goulots d'étranglement et peut générer des retards coûteux. \n\n### Solution : automatisation standardisée des compilations\n\nVous 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.\n\nVoici les points clés de cette solution :\n\n* **Environnements gérés par le cycle de vie :** 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.  \n* **Conteneurisation :** utilisez des conteneurs [Docker](https://about.gitlab.com/fr-fr/blog/what-is-docker-comprehensive-guide/ \"Qu'est-ce que Docker ?\") pour garantir des environnements de compilation homogènes et reproductibles.  \n* **Gestion automatisée des dépendances :** assurez un contrôle et un versionnage rigoureux de toutes les dépendances.  \n* **Compilations centralisée :** exécutez les compilations sur une infrastructure partagée, plutôt que sur des machines locales.\n\n> Suivez ce tutoriel et découvrez [comment automatiser les compilations de logiciels embarqués dans un pipeline GitLab CI](https://gitlab.com/guided-explorations/embedded/workshops/embedded-devops-workshop-refactoring-to-ci/-/blob/main/TUTORIAL2.md%20).\n\nEn 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.\n\n## Défi 3 : les pratiques de développement cloisonnées\n\nAlors que les équipes de développement ont largement adopté des pratiques collaboratives telles que [DevOps](https://about.gitlab.com/fr-fr/topics/devops/ \"Qu'est-ce que l'approche DevOps ?\"), en s'appuyant sur la gestion partagée du code source (SCM) et les systèmes d'intégration et de livraison continues ([CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce que le CI/CD ?\")), les développeurs de systèmes embarqués travaillent encore souvent seuls à leur bureau. Cette situation s'explique par plusieurs contraintes techniques légitimes. \n\nPar 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.\n\nAujourd'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 : \n\n* **Une fragmentation des connaissances** : les informations critiques restent dispersées entre différents membres de l'équipe et entre différentes équipes.  \n* **Un développement redondant** : plusieurs équipes résolvent les mêmes problèmes, ce qui crée des incohérences.  \n* **Une découverte tardive lors des intégrations massives (big-bang)** : 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.  \n* **Un ralentissement de l'innovation** : 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.\n\n### Solution : ingénierie collaborative via une plateforme unifiée\n\nUne étape importante pour briser ces silos consiste à standardiser le développement de systèmes embarqués sur la plateforme [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que le DevSecOps ?\") 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. \n\nLa plateforme GitLab offre notamment les avantages suivants :\n\n* **Une visibilité partagée :** l'ensemble du code, des tickets et de la documentation sont accessibles à toutes les équipes.  \n* **Des workflows collaboratifs :** favorisez la revue par les pairs et le partage des connaissances par le biais de merge requests.  \n* **Des connaissances centralisées :** maintenez une source unique de vérité pour tous les artefacts de développement.  \n* **Une collaboration asynchrone :** les équipes sont en mesure de collaborer efficacement, quel que soit leur localisation ou leur fuseau horaire.\n\nLa 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.\n\nRegardez 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.\n\n\u003C!-- blank line -->\n\n\u003Cfigure class=\"video_container\"> \u003Ciframe src=\"https://www.youtube.com/embed/F_rlOyq0hzc?si=eF4alDY6HK98uZPj\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe> \u003C/figure>\n\u003C!-- blank line -->\n\nPlus 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, [une étude](https://www.sciencedirect.com/science/article/abs/pii/S0749597800928887) 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. \n\n## Défi 4 : les processus manuels de conformité à la sécurité fonctionnelle\n\nDans 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. \n\nVoici les principaux défis à relever : \n\n* **Détection tardive des problèmes de conformité** : les anomalies sont découvertes une fois le développement terminé.  \n* **Charge de travail liée à la documentation** : effort manuel important pour créer et maintenir des preuves de conformité.  \n* **Goulots d'étranglement relatifs aux processus** : étapes de conformité réalisées de manière séquentielle, qui bloquent la progression du développement.\n* **Dépendance à l'expertise** : un nombre limité de spécialistes sont sollicités pour les activités de contrôle de la conformité.\n\nEn 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é.\n\n### Solution : un workflow automatisé de contrôle de la conformité en matière de sécurité fonctionnelle\n\nPlutô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 [des frameworks personnalisables dans GitLab](https://about.gitlab.com/blog/introducing-custom-compliance-frameworks-in-gitlab/). 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. \n\nVoici les composants de cette approche intégrée :\n\n* **Compliance-as-Code :** définissez les exigences de conformité sous forme de contrôles automatisés.  \n* **Intégration d'outils spécialisés :** connectez des outils tels que CodeSonar à la plateforme DevSecOps pour valider les exigences de conformité propres au secteur automobile.  \n* **Vérification continue de la conformité :** évaluez la conformité tout au long du cycle de développement.  \n* **Collecte automatisée des preuves :** rassemblez les artefacts de conformité comme un sous-produit du développement.\n\nDé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.\n\n\u003C!-- blank line -->\n\n\u003Cfigure class=\"video_container\"> \u003Ciframe src=\"https://www.youtube.com/embed/S-FQjzSyVJw?si=0UdtGNuugLPG0SLL\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe> \u003C/figure>\n\u003C!-- blank line -->\n\nEn 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.\n\n## Accélérez la livraison de vos logiciels avec les systèmes embarqués \n\nLe 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.\n\nPour vous lancer, explorez notre [atelier DevOps dédié aux systèmes embarqués](https://gitlab.com/guided-explorations/embedded/workshops/embedded-devops-workshop-refactoring-to-ci) et commencez à automatiser vos workflows de développement de systèmes embarqués avec GitLab. Vous pouvez également [regarder cette présentation par le Field Chief Cloud Architect de GitLab](https://content.gitlab.com/viewer/0a35252831bd130f879b0725738f70ed) 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.","product",{"slug":15,"featured":16,"template":17},"4-ways-to-accelerate-embedded-development-with-gitlab",false,"BlogPost",{"title":5,"description":19,"authors":20,"heroImage":21,"date":22,"body":12,"category":13,"tags":23},"Découvrez comment les tests matériels automatisés, les compilations standardisées, les workflows collaboratifs, et la conformité intégrée éliminent les goulots d’étranglement dans le développement de micrologiciels.",[10,11],"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659756/Blog/Hero%20Images/REFERENCE_-_display_preview_for_blog_images.png","2025-07-29",[],"yml",null,{},true,"/fr-fr/blog/4-ways-to-accelerate-embedded-development-with-gitlab","seo:\n  ogTitle: Accélérez le développement de systèmes embarqués avec GitLab\n  ogImage: https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659756/Blog/Hero%20Images/REFERENCE_-_display_preview_for_blog_images.png\n  ogDescription: Découvrez 4 façons d’accélérer le développement de systèmes\n    embarqués avec GitLab.\n  ogSiteName: https://about.gitlab.com\n  noIndex: false\n  ogType: article\n  ogUrl: https://about.gitlab.com/fr-fr/blog/4-ways-to-accelerate-embedded-development-with-gitlab\n  title: Accélérez le développement de systèmes embarqués avec GitLab\n  canonicalUrls: https://about.gitlab.com/fr-fr/blog/4-ways-to-accelerate-embedded-development-with-gitlab\n  description: Découvrez 4 façons d’accélérer le développement de systèmes\n    embarqués avec GitLab.\ncontent:\n  title: Accélérez le développement de systèmes embarqués avec GitLab\n  description: Découvrez comment les tests matériels automatisés, les compilations\n    standardisées, les workflows collaboratifs, et la conformité intégrée\n    éliminent les goulots d’étranglement dans le développement de\n    micrologiciels.\n  authors:\n    - Matt DeLaney\n    - Darwin Sanoy\n  heroImage: https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659756/Blog/Hero%20Images/REFERENCE_-_display_preview_for_blog_images.png\n  date: 2025-07-29\n  body: >-\n    Les logiciels présents dans les systèmes embarqués, autrefois perçus comme\n    de simples composants techniques, constituent désormais un facteur de\n    différenciation essentiel. Les micrologiciels qui optimisent le\n    fonctionnement de nos véhicules, avions et équipements industriels\n    atteignent aujourd’hui un niveau de complexité remarquable. D'ici fin 2025,\n    chaque véhicule contiendra en moyenne\n    [650 millions](https://www.statista.com/statistics/1370978/automotive-software-average-lines-of-codes-per-vehicle-globally/)\n    de lignes de code, contre 200 millions il y a seulement cinq ans. Dans\n    l’aérospatial, la complexité des logiciels embarqués a presque [doublé tous\n    les quatre\n    ans](https://www.mckinsey.com/industries/aerospace-and-defense/our-insights/debugging-the-software-talent-gap-in-aerospace-and-defense)\n    au cours des dernières décennies. \n\n\n    Les approches traditionnelles de développement de systèmes embarqués\n    ralentissent le travail des ingénieurs, qui peinent à gérer efficacement la\n    complexité croissante des composants logiciels des machines modernes,\n    notamment : \n\n\n    * [Les goulots d'étranglement lors des tests\n    matériels](#challenge-1-hardware-testing-bottlenecks) \n\n    * [Les environnements de compilation\n    incohérents](#challenge-2-inconsistent-build-environments)\n\n    * [Les pratiques de développement\n    cloisonnées](#challenge-3-siloed-development-practices)\n\n    * [Les processus manuels de conformité à la sécurité\n    fonctionnelle](#challenge-4-manual-functional-safety-compliance-processes)\n\n\n    Les équipes chargées de développer des systèmes embarqués doivent adopter\n    une nouvelle approche pour faire face à l'augmentation rapide de la taille\n    des dépôts de code. \n\n\n    Découvrez dans cet article quatre façons de tirer parti des capacités d'IA\n    native de la plateforme DevSecOps de GitLab, afin de raccourcir les boucles\n    de rétroaction, favoriser un travail collaboratif et itératif, et\n    rationaliser la gestion de la conformité.\n\n\n    ## Défi 1 : les goulots d'étranglement lors des tests matériels\n\n\n    Contrairement aux logiciels d'entreprise qui peuvent s'exécuter sur\n    pratiquement n'importe quel serveur cloud, les logiciels embarqués du\n    secteur automobile doivent être testés sur du matériel spécialisé\n    reproduisant fidèlement les environnements de production. Les processus de\n    test HIL (Hardware-In-the-Loop) traditionnels suivent souvent ce workflow :\n\n\n    1. Un développeur écrit le code d'un système embarqué (par exemple, une\n    unité de commande électronique).  \n\n    2. Il sollicite l'accès à des bancs d'essai matériels limités et onéreux (le\n    prix peut varier entre 500 000 $ et 10 millions de dollars chacun).  \n\n    3. Il patiente plusieurs jours, voire des semaines, avant d'obtenir cet\n    accès.  \n\n    4. Puis il déploie et teste manuellement le code directement sur son poste\n    de travail.\n\n    5. Enfin, il documente les résultats des tests, transmet le matériel à un\n    autre membre de l'équipe de développement pour la suite du projet, et attend\n    de pouvoir effectuer à nouveau d'autres tests matériels.\n\n\n    Ce processus s'avère particulièrement inefficace. Une fois leur code écrit,\n    les développeurs de systèmes embarqués peuvent attendre plusieurs semaines\n    avant de pouvoir le tester sur une cible matérielle. Entre temps, ils sont\n    déjà passés à d'autres tâches, ce qui entraîne un changement de contexte\n    préjudiciable à leur productivité. Pire encore, ils peuvent découvrir au\n    bout de plusieurs semaines qu'une simple erreur de calcul s'est glissée dans\n    leur code. \n\n\n    ### Solution : allocation automatisée du matériel et intégration continue\n\n\n    Vous pouvez rationaliser les tests matériels grâce à l'automatisation en\n    utilisant le composant CI/CD [On-Premises Device\n    Cloud](https://gitlab.com/guided-explorations/embedded/ci-components/device-cloud)\n    de GitLab. Ce composant permet d'automatiser l'orchestration de ressources\n    matérielles limitées en transformant un processus manuel et fastidieux en un\n    workflow rationalisé et continu.\n\n\n    Le composant On-Premises Device Cloud procède comme suit :\n\n\n    1. Il crée des pools de ressources matérielles partagées.  \n\n    2. Il alloue automatiquement (et exclusivement) du matériel aux tâches de\n    test matériel du pipeline d'un développeur en fonction de la\n    disponibilité.  \n\n    3. Il déploie et exécute les tests sans intervention manuelle.  \n\n    4. Il collecte les résultats des tests et les partage via des\n    [pipelines CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/\n    \"Qu'est-ce qu'un pipeline CI/CD ?\") intégrés.  \n\n    5. Il libère automatiquement le matériel dans le pool de ressources\n    « disponibles ».\n\n\n    Une fois que vous avez soumis le code, vous recevez les résultats en\n    quelques heures, au lieu de plusieurs jours auparavant, souvent sans jamais\n    toucher physiquement le matériel de test.\n\n\n    Découvrez dans cette vidéo comment le composant CI/CD On-Premises Device\n    Cloud de GitLab permet d'orchestrer à distance l'allocation de matériel\n    partagé pour les tests HIL :\n\n\n    \u003C!-- blank line -->\n\n\n    \u003Cfigure class=\"video_container\"> \u003Ciframe\n    src=\"https://www.youtube.com/embed/ltr2CIM9Zag?si=NOij3t1YYz4zKajC\"\n    frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe> \u003C/figure>\n\n    \u003C!-- blank line -->\n\n\n    Vous pouvez également adopter des stratégies de test multi-niveaux, qui\n    offrent un compromis optimal entre rapidité d'exécution et qualité des\n    résultats. Pour cela, intégrez les modèles et environnements de test de\n    systèmes embarqués suivants dans vos pipelines automatisés GitLab CI :\n\n\n    * **Software-in-the-Loop (SIL) :** tests effectués sur des simulateurs de\n    matériel virtuels pour obtenir plus rapidement les tout premiers retours sur\n    le code.  \n\n    * **Processor-in-the-Loop (PIL) :** tests réalisés sur un processeur proche\n    du contexte final pour obtenir des retours sur le code plus rapidement et à\n    moindre coût.  \n\n    * **Hardware-in-the-Loop (HIL) :** tests sur du matériel complet équivalent\n    à celui de l'environnement de production, utilisés comme bancs d'essai pour\n    vérification à un stade avancé.\n\n\n    En automatisant l'orchestration de ces différents tests dans vos\n    pipelines CI, vous serez en mesure d'identifier les problèmes plus tôt,\n    d'itérer plus rapidement et d'accélérer les délais de mise sur le marché.\n\n\n    ## Défi 2 : les environnements de compilation incohérents\n\n\n    L'hétérogénéité des environnements de compilation constitue un problème\n    majeur dans le développement de systèmes embarqués. Les équipes chargées de\n    développer des systèmes embarqués exécutent souvent manuellement des\n    compilations sur leurs machines locales avec des configurations, versions de\n    compilateur et dépendances parfois très différentes. Elles intègrent ensuite\n    les binaires issus de leurs compilations locales dans le code source\n    partagé.\n\n\n    Cette approche entraîne plusieurs problèmes :\n\n\n    * **Résultats incohérents :** basées sur le même code source, les\n    compilations produisent des résultats différents selon les machines\n    utilisées.  \n\n    * **Syndrome du « Ça fonctionne sur ma machine » :** le code compilé\n    localement échoue dans les environnements partagés.  \n\n    * **Mauvaise traçabilité :** piste d'audit limitée pour connaître l'auteur,\n    la date et le motif de la compilation.  \n\n    * **Compartimentation des connaissances :** seuls quelques experts\n    maîtrisent le processus de compilation.\n\n\n    Cette approche accroît le risque d'erreurs, crée des goulots d'étranglement\n    et peut générer des retards coûteux. \n\n\n    ### Solution : automatisation standardisée des compilations\n\n\n    Vous pouvez relever ces défis en mettant en œuvre une automatisation\n    standardisée de la compilation au sein de vos pipelines CI/CD dans GitLab.\n    Cette approche garantit des environnements de compilation cohérents,\n    reproductibles et basés sur des conteneurs, éliminant ainsi les variations\n    spécifiques de configuration entre les différentes machines. En combinant\n    cette standardisation avec des scripts de provisionnement Embedded Gateway\n    Runner spécifiques, les conteneurs peuvent s'interfacer avec le matériel\n    pour y déployer du code et surveiller les ports dans le cadre de tests\n    automatisés.\n\n\n    Voici les points clés de cette solution :\n\n\n    * **Environnements gérés par le cycle de vie :** définissez vos\n    environnements de simulation de systèmes embarqués complexes sous forme de\n    code, déployez-les automatiquement pour les tests, puis détruisez-les une\n    fois les tests terminés.  \n\n    * **Conteneurisation :** utilisez des conteneurs\n    [Docker](https://about.gitlab.com/fr-fr/blog/what-is-docker-comprehensive-guide/\n    \"Qu'est-ce que Docker ?\") pour garantir des environnements de compilation\n    homogènes et reproductibles.  \n\n    * **Gestion automatisée des dépendances :** assurez un contrôle et un\n    versionnage rigoureux de toutes les dépendances.  \n\n    * **Compilations centralisée :** exécutez les compilations sur une\n    infrastructure partagée, plutôt que sur des machines locales.\n\n\n    > Suivez ce tutoriel et découvrez [comment automatiser les compilations de\n    logiciels embarqués dans un pipeline\n    GitLab CI](https://gitlab.com/guided-explorations/embedded/workshops/embedded-devops-workshop-refactoring-to-ci/-/blob/main/TUTORIAL2.md%20).\n\n\n    En standardisant et en automatisant le processus de compilation, vous vous\n    assurez que chaque compilation suit les mêmes étapes avec des dépendances\n    identiques, produisant ainsi des résultats cohérents, quelle que soit la\n    personne qui l'a initiée. Cette approche améliore non seulement la qualité,\n    mais rend aussi le processus accessible à toute l'équipe, même aux membres\n    ne possédant pas une expertise approfondie dans ce domaine.\n\n\n    ## Défi 3 : les pratiques de développement cloisonnées\n\n\n    Alors que les équipes de développement ont largement adopté des pratiques\n    collaboratives telles que\n    [DevOps](https://about.gitlab.com/fr-fr/topics/devops/ \"Qu'est-ce que\n    l'approche DevOps ?\"), en s'appuyant sur la gestion partagée du code source\n    (SCM) et les systèmes d'intégration et de livraison\n    continues ([CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/\n    \"Qu'est-ce que le CI/CD ?\")), les développeurs de systèmes embarqués\n    travaillent encore souvent seuls à leur bureau. Cette situation s'explique\n    par plusieurs contraintes techniques légitimes. \n\n\n    Par exemple, la virtualisation matérielle est un pilier de l'automatisation\n    DevOps. Toutefois, le secteur a été plus lent à virtualiser la vaste gamme\n    de processeurs et de cartes spécialisés utilisés dans les systèmes\n    embarqués, en grande partie en raison des difficultés liées à la\n    virtualisation des systèmes de production en temps réel et d'un manque\n    d'incitations économiques. Nous pouvons comparer cela à la virtualisation\n    cloud, qui s'est largement démocratisée et a profité au développement SaaS\n    depuis plus d'une décennie.\n\n\n    Aujourd'hui, de nombreux fournisseurs adoptent désormais la virtualisation\n    afin d'accélérer le développement des systèmes embarqués. Cependant, si les\n    équipes ne parviennent pas à adopter des options de test virtuel, l'effet de\n    silo persistera, avec des impacts négatifs sur l'entreprise, notamment les\n    suivants : \n\n\n    * **Une fragmentation des connaissances** : les informations critiques\n    restent dispersées entre différents membres de l'équipe et entre différentes\n    équipes.  \n\n    * **Un développement redondant** : plusieurs équipes résolvent les mêmes\n    problèmes, ce qui crée des incohérences.  \n\n    * **Une découverte tardive lors des intégrations massives (big-bang)** : les\n    problèmes ne sont détectés qu'aux dernières étapes du processus, lorsque\n    plusieurs développeurs intègrent leur code en même temps, rendant la\n    correction des erreurs plus coûteuses.  \n\n    * **Un ralentissement de l'innovation** : les solutions développées dans un\n    domaine ont peu d'impact sur les autres, ce qui entrave le développement de\n    nouvelles idées de produits.\n\n\n    ### Solution : ingénierie collaborative via une plateforme unifiée\n\n\n    Une étape importante pour briser ces silos consiste à standardiser le\n    développement de systèmes embarqués sur la plateforme\n    [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que\n    le DevSecOps ?\") unifiée de GitLab. GitLab joue un rôle central dans\n    l’évolution des systèmes embarqués vers des plateformes consolidées et\n    partagées, adaptées aux contraintes des appareils embarqués. \n\n\n    La plateforme GitLab offre notamment les avantages suivants :\n\n\n    * **Une visibilité partagée :** l'ensemble du code, des tickets et de la\n    documentation sont accessibles à toutes les équipes.  \n\n    * **Des workflows collaboratifs :** favorisez la revue par les pairs et le\n    partage des connaissances par le biais de merge requests.  \n\n    * **Des connaissances centralisées :** maintenez une source unique de vérité\n    pour tous les artefacts de développement.  \n\n    * **Une collaboration asynchrone :** les équipes sont en mesure de\n    collaborer efficacement, quel que soit leur localisation ou leur fuseau\n    horaire.\n\n\n    La collaboration entre les humains et les agents d'IA est un ingrédient\n    fondamental pour stimuler les innovations orientées client, tant pour les\n    générations nées à l'ère du numérique que pour les marques établies\n    proposant des systèmes embarqués. GitLab facilite cette synergie en\n    favorisant la transparence tout au long du cycle de développement,\n    transformant ainsi le développement de systèmes embarqués en une pratique\n    collaborative plutôt qu'une activité isolée. Les équipes de développement\n    peuvent suivre le travail de leurs collègues, apprendre des expériences\n    collectives et s'appuyer sur des solutions partagées.\n\n\n    Regardez cette présentation d'Embedded World Germany 2025 et découvrez le\n    potentiel des équipes chargées de développer des systèmes embarqués qui\n    collaborent et partagent leur travail en cours en temps réel. La partie\n    démonstration (de 24:42 à 36:51) illustre comment intégrer les tests HIL\n    dans un pipeline GitLab CI afin de favoriser un développement collaboratif\n    efficace.\n\n\n    \u003C!-- blank line -->\n\n\n    \u003Cfigure class=\"video_container\"> \u003Ciframe\n    src=\"https://www.youtube.com/embed/F_rlOyq0hzc?si=eF4alDY6HK98uZPj\"\n    frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe> \u003C/figure>\n\n    \u003C!-- blank line -->\n\n\n    Plus important encore, en renforçant leur collaboration grâce à l'approche\n    DevSecOps, les équipes parviennent à concevoir des systèmes embarqués\n    totalement novateurs. En effet, la collaboration alimente l'innovation. Par\n    exemple, [une\n    étude](https://www.sciencedirect.com/science/article/abs/pii/S0749597800928887)\n    a démontré que le brainstorming de groupe, lorsqu'il est correctement\n    structuré, génère des idées plus innovantes et créatives que le travail\n    individuel. Dans la course au développement de produits définis par\n    logiciel, le développement collaboratif est donc un facteur clé de succès. \n\n\n    ## Défi 4 : les processus manuels de conformité à la sécurité fonctionnelle\n\n\n    Dans les secteurs de l'automobile et de l'aérospatiale, les systèmes\n    embarqués doivent respecter des normes strictes de sécurité fonctionnelle,\n    telles que les ISO 26262, MISRA C/C++, DO-178C et DO-254. Les approches\n    traditionnelles de conformité impliquent des revues manuelles, une\n    documentation volumineuse et plusieurs étapes de vérification tardives dans\n    le cycle de développement. Elles créent souvent des goulots d'étranglement\n    lors de la recherche de failles de sécurité. Par exemple, lorsque des\n    scanners spécialisés dans la sécurité et la qualité du code des systèmes\n    embarqués détectent des vulnérabilités, le ticket associé vient s'ajouter à\n    la pile de tickets non résolus. Les développeurs ne peuvent pas intégrer\n    leur code et les équipes de sécurité doivent traiter un important backlog de\n    violations des exigences de conformité. Cette situation ralentit\n    considérablement les délais de mise en conformité et freine l'avancement\n    global du projet. \n\n\n    Voici les principaux défis à relever : \n\n\n    * **Détection tardive des problèmes de conformité** : les anomalies sont\n    découvertes une fois le développement terminé.  \n\n    * **Charge de travail liée à la documentation** : effort manuel important\n    pour créer et maintenir des preuves de conformité.  \n\n    * **Goulots d'étranglement relatifs aux processus** : étapes de conformité\n    réalisées de manière séquentielle, qui bloquent la progression du\n    développement.\n\n    * **Dépendance à l'expertise** : un nombre limité de spécialistes sont\n    sollicités pour les activités de contrôle de la conformité.\n\n\n    En conséquence, les équipes doivent souvent choisir entre vélocité et\n    conformité, un compromis risqué lorsqu'il s'agit de systèmes critiques pour\n    la sécurité.\n\n\n    ### Solution : un workflow automatisé de contrôle de la conformité en\n    matière de sécurité fonctionnelle\n\n\n    Plutôt que de traiter la sécurité et la conformité comme des étapes de\n    vérification post-développement, vous pouvez codifier les exigences de\n    conformité et les appliquer automatiquement via [des frameworks\n    personnalisables dans\n    GitLab](https://about.gitlab.com/blog/introducing-custom-compliance-frameworks-in-gitlab/).\n    Pour ce faire, en particulier pour les normes de sécurité fonctionnelle,\n    vous pouvez intégrer GitLab à des outils spécialisés, capables d’analyser en\n    profondeur les micrologiciels conformément aux normes en vigueur dans ce\n    domaine. Parallèlement, GitLab propose des contrôles de conformité\n    automatisés, des pistes d'audit complètes et un contrôle rigoureux des merge\n    requests : autant de fonctionnalités essentielles pour prendre en charge un\n    programme de conformité logicielle continue robuste. \n\n\n    Voici les composants de cette approche intégrée :\n\n\n    * **Compliance-as-Code :** définissez les exigences de conformité sous forme\n    de contrôles automatisés.  \n\n    * **Intégration d'outils spécialisés :** connectez des outils tels que\n    CodeSonar à la plateforme DevSecOps pour valider les exigences de conformité\n    propres au secteur automobile.  \n\n    * **Vérification continue de la conformité :** évaluez la conformité tout au\n    long du cycle de développement.  \n\n    * **Collecte automatisée des preuves :** rassemblez les artefacts de\n    conformité comme un sous-produit du développement.\n\n\n    Découvrez dans cette vidéo comment tirer parti des frameworks de conformité\n    personnalisés dans GitLab afin de créer vos propres politiques de conformité\n    adaptées aux normes en vigueur (par exemple, ISO 26262) et comment les\n    appliquer automatiquement à vos projets dans GitLab.\n\n\n    \u003C!-- blank line -->\n\n\n    \u003Cfigure class=\"video_container\"> \u003Ciframe\n    src=\"https://www.youtube.com/embed/S-FQjzSyVJw?si=0UdtGNuugLPG0SLL\"\n    frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe> \u003C/figure>\n\n    \u003C!-- blank line -->\n\n\n    En contrôlant la conformité en amont et en l'intégrant naturellement dans\n    vos workflows de développement existants, vous pouvez maintenir les normes\n    de sécurité sans compromettre la vélocité. Les contrôles automatisés\n    détectent les problèmes à un stade précoce, lorsqu'ils sont plus faciles et\n    moins coûteux à résoudre, tandis que la collecte continue de preuves réduit\n    la charge de travail liée à la gestion de la documentation.\n\n\n    ## Accélérez la livraison de vos logiciels avec les systèmes embarqués \n\n\n    Le développement de systèmes embarqués connaît une transformation rapide.\n    Les équipes qui s'en tiennent à des processus manuels et des workflows\n    isolés seront de plus en plus à la traîne, tandis que celles qui adoptent\n    des pratiques automatisées et collaboratives dessineront l'avenir des\n    systèmes intelligents définis par logiciel.\n\n\n    Pour vous lancer, explorez notre [atelier DevOps dédié aux systèmes\n    embarqués](https://gitlab.com/guided-explorations/embedded/workshops/embedded-devops-workshop-refactoring-to-ci)\n    et commencez à automatiser vos workflows de développement de systèmes\n    embarqués avec GitLab. Vous pouvez également [regarder cette présentation\n    par le Field Chief Cloud Architect de\n    GitLab](https://content.gitlab.com/viewer/0a35252831bd130f879b0725738f70ed)\n    pour découvrir comment les entreprises leader intègrent les tests matériels\n    dans leurs workflows d'intégration continue afin d'accélérer la livraison de\n    leurs systèmes embarqués.\n  category: product\n  tags: []\nconfig:\n  slug: 4-ways-to-accelerate-embedded-development-with-gitlab\n  featured: false\n  template: BlogPost\n",{"ogTitle":5,"ogImage":21,"ogDescription":31,"ogSiteName":32,"noIndex":16,"ogType":33,"ogUrl":34,"title":5,"canonicalUrls":34,"description":31},"Découvrez 4 façons d’accélérer le développement de systèmes embarqués avec GitLab.","https://about.gitlab.com","article","https://about.gitlab.com/fr-fr/blog/4-ways-to-accelerate-embedded-development-with-gitlab","fr-fr/blog/4-ways-to-accelerate-embedded-development-with-gitlab",[],"OULuDYjn78bJbVsG3Rc_eP4nAFiYJsnU6sSxSUYrQEE",{"data":39},{"logo":40,"freeTrial":45,"sales":50,"login":55,"items":60,"search":370,"minimal":405,"duo":424,"switchNav":433,"pricingDeployment":444},{"config":41},{"href":42,"dataGaName":43,"dataGaLocation":44},"/fr-fr/","gitlab logo","header",{"text":46,"config":47},"Commencer un essai gratuit",{"href":48,"dataGaName":49,"dataGaLocation":44},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr&glm_content=default-saas-trial/","free trial",{"text":51,"config":52},"Contacter l'équipe commerciale",{"href":53,"dataGaName":54,"dataGaLocation":44},"/fr-fr/sales/","sales",{"text":56,"config":57},"Connexion",{"href":58,"dataGaName":59,"dataGaLocation":44},"https://gitlab.com/users/sign_in/","sign in",[61,88,185,190,291,351],{"text":62,"config":63,"cards":65},"Plateforme",{"dataNavLevelOne":64},"platform",[66,72,80],{"title":62,"description":67,"link":68},"La plateforme d'orchestration intelligente pour le DevSecOps",{"text":69,"config":70},"Explorer notre plateforme",{"href":71,"dataGaName":64,"dataGaLocation":44},"/fr-fr/platform/",{"title":73,"description":74,"link":75},"GitLab Duo Agent Platform","L'IA agentique pour l'ensemble du cycle de développement logiciel",{"text":76,"config":77},"Découvrir GitLab Duo",{"href":78,"dataGaName":79,"dataGaLocation":44},"/fr-fr/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":81,"description":82,"link":83},"Pourquoi GitLab ?","Découvrez les principales raisons pour lesquelles les entreprises choisissent GitLab",{"text":84,"config":85},"En savoir plus",{"href":86,"dataGaName":87,"dataGaLocation":44},"/fr-fr/why-gitlab/","why gitlab",{"text":89,"left":27,"config":90,"link":92,"lists":96,"footer":167},"Produit",{"dataNavLevelOne":91},"solutions",{"text":93,"config":94},"Voir toutes les solutions",{"href":95,"dataGaName":91,"dataGaLocation":44},"/fr-fr/solutions/",[97,122,145],{"title":98,"description":99,"link":100,"items":105},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":101},{"icon":102,"href":103,"dataGaName":104,"dataGaLocation":44},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[106,110,113,118],{"text":107,"config":108},"CI/CD",{"href":109,"dataGaLocation":44,"dataGaName":107},"/fr-fr/solutions/continuous-integration/",{"text":73,"config":111},{"href":78,"dataGaLocation":44,"dataGaName":112},"gitlab duo agent platform - product menu",{"text":114,"config":115},"Gestion du code source",{"href":116,"dataGaLocation":44,"dataGaName":117},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":119,"config":120},"Livraison de logiciels automatisée",{"href":103,"dataGaLocation":44,"dataGaName":121},"Automated software delivery",{"title":123,"description":124,"link":125,"items":130},"Sécurité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":126},{"href":127,"dataGaName":128,"dataGaLocation":44,"icon":129},"/fr-fr/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[131,135,140],{"text":132,"config":133},"Tests de sécurité des applications",{"href":127,"dataGaName":134,"dataGaLocation":44},"Application security testing",{"text":136,"config":137},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":138,"dataGaLocation":44,"dataGaName":139},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":141,"config":142},"Conformité logicielle",{"href":143,"dataGaName":144,"dataGaLocation":44},"/fr-fr/solutions/software-compliance/","software compliance",{"title":146,"link":147,"items":152},"Mesures",{"config":148},{"icon":149,"href":150,"dataGaName":151,"dataGaLocation":44},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[153,157,162],{"text":154,"config":155},"Visibilité et mesures",{"href":150,"dataGaLocation":44,"dataGaName":156},"Visibility and Measurement",{"text":158,"config":159},"Gestion de la chaîne de valeur",{"href":160,"dataGaLocation":44,"dataGaName":161},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":163,"config":164},"Données d'analyse et informations clés",{"href":165,"dataGaLocation":44,"dataGaName":166},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":168,"items":169},"GitLab",[170,175,180],{"text":171,"config":172},"Pour les entreprises",{"href":173,"dataGaLocation":44,"dataGaName":174},"/fr-fr/enterprise/","enterprise",{"text":176,"config":177},"Pour les PME",{"href":178,"dataGaLocation":44,"dataGaName":179},"/fr-fr/small-business/","small business",{"text":181,"config":182},"Pour le secteur public",{"href":183,"dataGaLocation":44,"dataGaName":184},"/fr-fr/solutions/public-sector/","public sector",{"text":186,"config":187},"Tarifs",{"href":188,"dataGaName":189,"dataGaLocation":44,"dataNavLevelOne":189},"/fr-fr/pricing/","pricing",{"text":191,"config":192,"link":194,"lists":198,"feature":278},"Ressources",{"dataNavLevelOne":193},"resources",{"text":195,"config":196},"Afficher toutes les ressources",{"href":197,"dataGaName":193,"dataGaLocation":44},"/fr-fr/resources/",[199,232,250],{"title":200,"items":201},"Premiers pas",[202,207,212,217,222,227],{"text":203,"config":204},"Installation",{"href":205,"dataGaName":206,"dataGaLocation":44},"/fr-fr/install/","install",{"text":208,"config":209},"Guides de démarrage",{"href":210,"dataGaName":211,"dataGaLocation":44},"/fr-fr/get-started/","quick setup checklists",{"text":213,"config":214},"Apprentissage",{"href":215,"dataGaLocation":44,"dataGaName":216},"https://university.gitlab.com/","learn",{"text":218,"config":219},"Documentation",{"href":220,"dataGaName":221,"dataGaLocation":44},"https://docs.gitlab.com/","product documentation",{"text":223,"config":224},"Vidéos sur les bonnes pratiques",{"href":225,"dataGaName":226,"dataGaLocation":44},"/fr-fr/getting-started-videos/","best practice videos",{"text":228,"config":229},"Intégrations",{"href":230,"dataGaName":231,"dataGaLocation":44},"/fr-fr/integrations/","integrations",{"title":233,"items":234},"Découvrir",[235,240,245],{"text":236,"config":237},"Témoignages clients",{"href":238,"dataGaName":239,"dataGaLocation":44},"/fr-fr/customers/","customer success stories",{"text":241,"config":242},"Blog",{"href":243,"dataGaName":244,"dataGaLocation":44},"/fr-fr/blog/","blog",{"text":246,"config":247},"Travail à distance",{"href":248,"dataGaName":249,"dataGaLocation":44},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":251,"items":252},"Connecter",[253,258,263,268,273],{"text":254,"config":255},"Services GitLab",{"href":256,"dataGaName":257,"dataGaLocation":44},"/fr-fr/services/","services",{"text":259,"config":260},"Communauté",{"href":261,"dataGaName":262,"dataGaLocation":44},"/community/","community",{"text":264,"config":265},"Forum",{"href":266,"dataGaName":267,"dataGaLocation":44},"https://forum.gitlab.com/","forum",{"text":269,"config":270},"Événements",{"href":271,"dataGaName":272,"dataGaLocation":44},"/events/","events",{"text":274,"config":275},"Partenaires",{"href":276,"dataGaName":277,"dataGaLocation":44},"/fr-fr/partners/","partners",{"background":279,"textColor":280,"text":281,"image":282,"link":286},"#2f2a6b","#fff","L'avenir du développement logiciel. Tendances et perspectives.",{"altText":283,"config":284},"carte promo The Source",{"src":285},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":287,"config":288},"Lire les articles les plus récents",{"href":289,"dataGaName":290,"dataGaLocation":44},"/fr-fr/the-source/","the source",{"text":292,"config":293,"lists":295},"Société",{"dataNavLevelOne":294},"company",[296],{"items":297},[298,303,309,311,316,321,326,331,336,341,346],{"text":299,"config":300},"À propos",{"href":301,"dataGaName":302,"dataGaLocation":44},"/fr-fr/company/","about",{"text":304,"config":305,"footerGa":308},"Carrières",{"href":306,"dataGaName":307,"dataGaLocation":44},"/jobs/","jobs",{"dataGaName":307},{"text":269,"config":310},{"href":271,"dataGaName":272,"dataGaLocation":44},{"text":312,"config":313},"Leadership",{"href":314,"dataGaName":315,"dataGaLocation":44},"/company/team/e-group/","leadership",{"text":317,"config":318},"Équipe",{"href":319,"dataGaName":320,"dataGaLocation":44},"/company/team/","team",{"text":322,"config":323},"Manuel",{"href":324,"dataGaName":325,"dataGaLocation":44},"https://handbook.gitlab.com/","handbook",{"text":327,"config":328},"Relations avec les investisseurs",{"href":329,"dataGaName":330,"dataGaLocation":44},"https://ir.gitlab.com/","investor relations",{"text":332,"config":333},"Trust Center",{"href":334,"dataGaName":335,"dataGaLocation":44},"/fr-fr/security/","trust center",{"text":337,"config":338},"Centre pour la transparence de l'IA",{"href":339,"dataGaName":340,"dataGaLocation":44},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":342,"config":343},"Newsletter",{"href":344,"dataGaName":345,"dataGaLocation":44},"/company/contact/#contact-forms","newsletter",{"text":347,"config":348},"Presse",{"href":349,"dataGaName":350,"dataGaLocation":44},"/press/","press",{"text":352,"config":353,"lists":354},"Nous contacter",{"dataNavLevelOne":294},[355],{"items":356},[357,360,365],{"text":51,"config":358},{"href":53,"dataGaName":359,"dataGaLocation":44},"talk to sales",{"text":361,"config":362},"Assistance GitLab",{"href":363,"dataGaName":364,"dataGaLocation":44},"https://support.gitlab.com","support portal",{"text":366,"config":367},"Portail clients GitLab",{"href":368,"dataGaName":369,"dataGaLocation":44},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":371,"login":372,"suggestions":379},"Fermer",{"text":373,"link":374},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":375,"config":376},"GitLab.com",{"href":58,"dataGaName":377,"dataGaLocation":378},"search login","search",{"text":380,"default":381},"Suggestions",[382,384,389,391,396,401],{"text":73,"config":383},{"href":78,"dataGaName":73,"dataGaLocation":378},{"text":385,"config":386},"Suggestions de code (IA)",{"href":387,"dataGaName":388,"dataGaLocation":378},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":107,"config":390},{"href":109,"dataGaName":107,"dataGaLocation":378},{"text":392,"config":393},"GitLab sur AWS",{"href":394,"dataGaName":395,"dataGaLocation":378},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":397,"config":398},"GitLab sur Google Cloud",{"href":399,"dataGaName":400,"dataGaLocation":378},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":402,"config":403},"Pourquoi utiliser GitLab ?",{"href":86,"dataGaName":404,"dataGaLocation":378},"Why GitLab?",{"freeTrial":406,"mobileIcon":411,"desktopIcon":416,"secondaryButton":419},{"text":407,"config":408},"Commencer votre essai gratuit",{"href":409,"dataGaName":49,"dataGaLocation":410},"https://gitlab.com/-/trials/new/","nav",{"altText":412,"config":413},"Icône GitLab",{"src":414,"dataGaName":415,"dataGaLocation":410},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":412,"config":417},{"src":418,"dataGaName":415,"dataGaLocation":410},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":420,"config":421},"Commencer",{"href":422,"dataGaName":423,"dataGaLocation":410},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/get-started/","get started",{"freeTrial":425,"mobileIcon":429,"desktopIcon":431},{"text":426,"config":427},"En savoir plus sur GitLab Duo",{"href":78,"dataGaName":428,"dataGaLocation":410},"gitlab duo",{"altText":412,"config":430},{"src":414,"dataGaName":415,"dataGaLocation":410},{"altText":412,"config":432},{"src":418,"dataGaName":415,"dataGaLocation":410},{"button":434,"mobileIcon":439,"desktopIcon":441},{"text":435,"config":436},"/switch",{"href":437,"dataGaName":438,"dataGaLocation":410},"#contact","switch",{"altText":412,"config":440},{"src":414,"dataGaName":415,"dataGaLocation":410},{"altText":412,"config":442},{"src":443,"dataGaName":415,"dataGaLocation":410},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":445,"mobileIcon":450,"desktopIcon":452},{"text":446,"config":447},"Retour aux tarifs",{"href":188,"dataGaName":448,"dataGaLocation":410,"icon":449},"back to pricing","GoBack",{"altText":412,"config":451},{"src":414,"dataGaName":415,"dataGaLocation":410},{"altText":412,"config":453},{"src":418,"dataGaName":415,"dataGaLocation":410},{"title":455,"button":456,"config":461},"Découvrez comment l'IA agentique transforme la livraison logicielle",{"text":457,"config":458},"Regarder GitLab Transcend maintenant",{"href":459,"dataGaName":460,"dataGaLocation":44},"/fr-fr/events/transcend/virtual/","transcend event",{"layout":462,"icon":463,"disabled":27},"release","AiStar",{"data":465},{"text":466,"source":467,"edit":473,"contribute":478,"config":483,"items":488,"minimal":693},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence.",{"text":468,"config":469},"Afficher le code source de la page",{"href":470,"dataGaName":471,"dataGaLocation":472},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":474,"config":475},"Modifier cette page",{"href":476,"dataGaName":477,"dataGaLocation":472},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":479,"config":480},"Veuillez contribuer",{"href":481,"dataGaName":482,"dataGaLocation":472},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":484,"facebook":485,"youtube":486,"linkedin":487},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[489,534,587,631,658],{"title":186,"links":490,"subMenu":505},[491,495,500],{"text":492,"config":493},"Voir les forfaits",{"href":188,"dataGaName":494,"dataGaLocation":472},"view plans",{"text":496,"config":497},"GitLab Premium",{"href":498,"dataGaName":499,"dataGaLocation":472},"/fr-fr/pricing/premium/","why premium",{"text":501,"config":502},"GitLab Ultimate",{"href":503,"dataGaName":504,"dataGaLocation":472},"/fr-fr/pricing/ultimate/","why ultimate",[506],{"title":352,"links":507},[508,510,512,514,519,524,529],{"text":51,"config":509},{"href":53,"dataGaName":54,"dataGaLocation":472},{"text":361,"config":511},{"href":363,"dataGaName":364,"dataGaLocation":472},{"text":366,"config":513},{"href":368,"dataGaName":369,"dataGaLocation":472},{"text":515,"config":516},"Statut",{"href":517,"dataGaName":518,"dataGaLocation":472},"https://status.gitlab.com/","status",{"text":520,"config":521},"Conditions d'utilisation",{"href":522,"dataGaName":523,"dataGaLocation":472},"/terms/","terms of use",{"text":525,"config":526},"Politique de confidentialité",{"href":527,"dataGaName":528,"dataGaLocation":472},"/fr-fr/privacy/","privacy statement",{"text":530,"config":531},"Gérer vos cookies",{"dataGaName":532,"dataGaLocation":472,"id":533,"isOneTrustButton":27},"cookie preferences","ot-sdk-btn",{"title":89,"links":535,"subMenu":544},[536,540],{"text":537,"config":538},"Plateforme DevSecOps",{"href":71,"dataGaName":539,"dataGaLocation":472},"devsecops platform",{"text":541,"config":542},"Développement assisté par l'IA",{"href":78,"dataGaName":543,"dataGaLocation":472},"ai-assisted development",[545],{"title":546,"links":547},"Thèmes",[548,552,557,562,567,572,577,582],{"text":107,"config":549},{"href":550,"dataGaName":551,"dataGaLocation":472},"/fr-fr/topics/ci-cd/","cicd",{"text":553,"config":554},"GitOps",{"href":555,"dataGaName":556,"dataGaLocation":472},"/fr-fr/topics/gitops/","gitops",{"text":558,"config":559},"DevOps",{"href":560,"dataGaName":561,"dataGaLocation":472},"/fr-fr/topics/devops/","devops",{"text":563,"config":564},"Contrôle de version",{"href":565,"dataGaName":566,"dataGaLocation":472},"/fr-fr/topics/version-control/","version control",{"text":568,"config":569},"DevSecOps",{"href":570,"dataGaName":571,"dataGaLocation":472},"/fr-fr/topics/devsecops/","devsecops",{"text":573,"config":574},"Cloud-native",{"href":575,"dataGaName":576,"dataGaLocation":472},"/fr-fr/topics/cloud-native/","cloud native",{"text":578,"config":579},"IA pour la programmation",{"href":580,"dataGaName":581,"dataGaLocation":472},"/fr-fr/topics/devops/ai-for-coding/","ai for coding",{"text":583,"config":584},"IA agentique",{"href":585,"dataGaName":586,"dataGaLocation":472},"/fr-fr/topics/agentic-ai/","agentic ai",{"title":588,"links":589},"Solutions",[590,593,595,600,603,606,609,612,615,618,621,626],{"text":132,"config":591},{"href":127,"dataGaName":592,"dataGaLocation":472},"Application Security Testing",{"text":119,"config":594},{"href":103,"dataGaName":104,"dataGaLocation":472},{"text":596,"config":597},"Développement Agile",{"href":598,"dataGaName":599,"dataGaLocation":472},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":114,"config":601},{"href":116,"dataGaName":602,"dataGaLocation":472},"source code management",{"text":107,"config":604},{"href":109,"dataGaName":605,"dataGaLocation":472},"continuous integration & delivery",{"text":158,"config":607},{"href":160,"dataGaName":608,"dataGaLocation":472},"value stream management",{"text":553,"config":610},{"href":611,"dataGaName":556,"dataGaLocation":472},"/fr-fr/solutions/gitops/",{"text":613,"config":614},"Entreprises",{"href":173,"dataGaName":174,"dataGaLocation":472},{"text":616,"config":617},"PME",{"href":178,"dataGaName":179,"dataGaLocation":472},{"text":619,"config":620},"Secteur public",{"href":183,"dataGaName":184,"dataGaLocation":472},{"text":622,"config":623},"Éducation",{"href":624,"dataGaName":625,"dataGaLocation":472},"/fr-fr/solutions/education/","education",{"text":627,"config":628},"Services financiers",{"href":629,"dataGaName":630,"dataGaLocation":472},"/fr-fr/solutions/finance/","financial services",{"title":191,"links":632},[633,635,637,639,642,644,646,648,650,652,654,656],{"text":203,"config":634},{"href":205,"dataGaName":206,"dataGaLocation":472},{"text":208,"config":636},{"href":210,"dataGaName":211,"dataGaLocation":472},{"text":213,"config":638},{"href":215,"dataGaName":216,"dataGaLocation":472},{"text":218,"config":640},{"href":220,"dataGaName":641,"dataGaLocation":472},"docs",{"text":241,"config":643},{"href":243,"dataGaName":244,"dataGaLocation":472},{"text":236,"config":645},{"href":238,"dataGaName":239,"dataGaLocation":472},{"text":246,"config":647},{"href":248,"dataGaName":249,"dataGaLocation":472},{"text":254,"config":649},{"href":256,"dataGaName":257,"dataGaLocation":472},{"text":259,"config":651},{"href":261,"dataGaName":262,"dataGaLocation":472},{"text":264,"config":653},{"href":266,"dataGaName":267,"dataGaLocation":472},{"text":269,"config":655},{"href":271,"dataGaName":272,"dataGaLocation":472},{"text":274,"config":657},{"href":276,"dataGaName":277,"dataGaLocation":472},{"title":292,"links":659},[660,662,664,666,668,670,672,677,682,684,686,688],{"text":299,"config":661},{"href":301,"dataGaName":294,"dataGaLocation":472},{"text":304,"config":663},{"href":306,"dataGaName":307,"dataGaLocation":472},{"text":312,"config":665},{"href":314,"dataGaName":315,"dataGaLocation":472},{"text":317,"config":667},{"href":319,"dataGaName":320,"dataGaLocation":472},{"text":322,"config":669},{"href":324,"dataGaName":325,"dataGaLocation":472},{"text":327,"config":671},{"href":329,"dataGaName":330,"dataGaLocation":472},{"text":673,"config":674},"Développement durable",{"href":675,"dataGaName":676,"dataGaLocation":472},"/sustainability/","Sustainability",{"text":678,"config":679},"Diversité, inclusion et appartenance (DIB)",{"href":680,"dataGaName":681,"dataGaLocation":472},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":332,"config":683},{"href":334,"dataGaName":335,"dataGaLocation":472},{"text":342,"config":685},{"href":344,"dataGaName":345,"dataGaLocation":472},{"text":347,"config":687},{"href":349,"dataGaName":350,"dataGaLocation":472},{"text":689,"config":690},"Déclaration de transparence sur l'esclavage moderne",{"href":691,"dataGaName":692,"dataGaLocation":472},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":694},[695,697,700],{"text":520,"config":696},{"href":522,"dataGaName":523,"dataGaLocation":472},{"text":698,"config":699},"Gestion des cookies",{"dataGaName":532,"dataGaLocation":472,"id":533,"isOneTrustButton":27},{"text":525,"config":701},{"href":527,"dataGaName":528,"dataGaLocation":472},[703,717],{"id":704,"title":705,"body":25,"config":706,"content":708,"description":25,"extension":24,"meta":712,"navigation":27,"path":713,"seo":714,"stem":715,"__hash__":716},"blogAuthors/en-us/blog/authors/matt-delaney.yml","Matt Delaney",{"template":707},"BlogAuthor",{"name":10,"config":709},{"headshot":710,"ctfId":711},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659749/Blog/Author%20Headshots/matt_delaney_headshot.png","6apeWdrqrZlMIdaxzV5NvZ",{},"/en-us/blog/authors/matt-delaney",{},"en-us/blog/authors/matt-delaney","b9xB1BL3BNCvt-L4rxruJhCY6gCxTN4uuajDY6T9djU",{"id":718,"title":11,"body":25,"config":719,"content":720,"description":25,"extension":24,"meta":726,"navigation":27,"path":727,"seo":728,"stem":729,"__hash__":730},"blogAuthors/en-us/blog/authors/darwin-sanoy.yml",{"template":707},{"role":721,"name":11,"config":722},"Field Chief Cloud Architect",{"headshot":723,"linkedin":724,"ctfId":725},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659751/Blog/Author%20Headshots/Darwin-Sanoy-headshot-395-square-gitlab-teampage-avatar.png","https://linkedin.com/in/darwinsanoy","DarwinJS",{},"/en-us/blog/authors/darwin-sanoy",{},"en-us/blog/authors/darwin-sanoy","UkMMwmU5o2e6Y-wBltA9E_z96LvHuB-bG6VW9DsLzIY",[732,745,760],{"content":733,"config":743},{"title":734,"description":735,"body":736,"category":13,"tags":737,"date":739,"heroImage":740,"authors":741},"Changements majeurs dans GitLab 19.0 : guide complet","GitLab 19.0 supprime plusieurs fonctionnalités dépréciées. Découvrez les impacts sur votre déploiement et comment vous préparer avant la mise à niveau.","GitLab 17.0 comportait 80 changements cassants. GitLab 18.0 en comptait 27. La prochaine release GitLab 19.0 devrait en inclure 15.\n\nNous savons que la gestion des changements cassants lors d'une mise à niveau est une opération chronophage : elle exige une analyse approfondie et une coordination entre les différentes équipes de votre organisation. C'est pourquoi nous avons introduit une [procédure d'approbation des changements cassants](https://docs.gitlab.com/development/deprecation_guidelines/#how-do-i-get-approval-to-move-forward-with-a-breaking-change) qui impose une atténuation de l'impact et une validation de la direction avant toute mise en œuvre. Ce processus porte ses fruits, et nous nous engageons à continuer de réduire ce nombre.\n\n\nVous trouverez ci-dessous l'ensemble des changements cassants de GitLab 19.0, classés par type de déploiement et niveau d'impact, accompagnés des mesures d'atténuation nécessaires pour effectuer votre mise à niveau en toute confiance.\n\n\n## Fenêtres de déploiement\n\n\nVoici les fenêtres de déploiement à connaître.\n\n### GitLab.com\n\nLes changements cassants pour GitLab.com seront limités à ces deux fenêtres :\n\n- **4-6 mai 2026** (09 h 00-22 h 00 UTC) – fenêtre principale\n\n- **11-13 mai 2026** (09 h 00-22 h 00 UTC) – fenêtre de secours\n\nDe nombreux autres changements continueront d'être déployés tout au long du mois. Pour en savoir plus sur les changements prévus dans chacune de ces fenêtres, consultez notre [documentation](https://docs.gitlab.com/update/breaking_windows/).\n\n**Remarque :** dans des circonstances exceptionnelles, certains changements cassants peuvent être déployés légèrement en dehors de ces fenêtres.\n\n### GitLab Self-Managed\n\nGitLab 19.0 sera disponible à partir du 21 mai 2026.\n\n\n> Pour en savoir plus, consultez le [calendrier des releases](https://about.gitlab.com/fr-fr/releases/whats-new/).\n\n### GitLab Dedicated\n\nLa mise à niveau vers GitLab 19.0 aura lieu pendant la fenêtre de maintenance qui vous a été attribuée. Vous pouvez en savoir plus et consulter votre fenêtre de maintenance attribuée dans votre portail Switchboard. Les instances GitLab Dedicated sont maintenues en release N-1 : la mise à niveau vers GitLab 19.0 aura donc lieu pendant la fenêtre de maintenance de la semaine du 22 juin 2026.\n\n\nConsultez la [page des dépréciations](https://docs.gitlab.com/update/deprecations/?removal_milestone=19.0&breaking_only=true) pour voir la liste complète des éléments dont la suppression est prévue dans GitLab 19.0. Poursuivez votre lecture pour découvrir les changements à venir et savoir comment vous préparer en fonction de votre type de déploiement.\n\n## Changements cassants\n\n\nVoici les changements à impact élevé.\n\n### Impact élevé\n\n**1. Prise en charge de NGINX Ingress remplacée par la passerelle API avec Envoy Gateway**\n\n_GitLab Self-Managed (chart Helm)_\n\nLe chart Helm de GitLab intégrait NGINX Ingress comme composant réseau par défaut. NGINX Ingress a atteint sa fin de vie en mars 2026, et GitLab effectue désormais la transition vers la passerelle API avec Envoy Gateway comme nouvelle configuration par défaut.\n\nÀ partir de GitLab 19.0, la passerelle API et avec Envoy Gateway intégré deviennent la configuration réseau par défaut. Si la migration vers Envoy Gateway n'est pas immédiatement possible pour votre déploiement, vous pouvez réactiver explicitement NGINX Ingress, qui reste disponible jusqu'à sa suppression prévue dans GitLab 20.0.\n\nCe changement n'affecte pas :\n\n- NGINX utilisé dans le paquet Linux\n\n- Les instances chart Helm GitLab et GitLab Operator qui utilisent un contrôleur Ingress ou une passerelle API géré en externe\n\nGitLab assurera une maintenance de sécurité au mieux de ses capacités pour le chart et les builds NGINX Ingress dupliqués jusqu'à leur suppression définitive. Pour garantir une transition fluide, planifiez votre migration vers la passerelle API fournie ou vers un contrôleur Ingress géré de manière externe avant la mise à niveau vers GitLab 19.0.\n\n[Avis de dépréciation](https://gitlab.com/gitlab-org/gitlab/-/work_items/590800)\n\n\n**2. Suppression de PostgreSQL, Redis et MinIO intégrés du chart Helm GitLab**\n\n_GitLab Self-Managed (chart Helm)_\n\nLe chart Helm GitLab intégrait depuis longtemps Bitnami PostgreSQL, Bitnami Redis et une duplication du chart MinIO officiel afin de simplifier la mise en place de GitLab dans les environnements de test et les études de faisabilité. En raison de modifications de licences, de la maintenance des projets et de la disponibilité des images publiques, ces composants seront supprimés du chart Helm GitLab et de GitLab Operator sans remplacement.\n\nCes charts sont explicitement documentés comme non recommandés pour un usage en production. Leur seul objectif était de permettre la mise en place rapide d'environnements de test.\n\nSi vous exécutez une instance avec PostgreSQL, Redis ou MinIO intégrés, suivez le [guide de migration](https://docs.gitlab.com/charts/installation/migration/bundled_chart_migration/) pour configurer des services externes avant la mise à niveau vers GitLab 19.0. Redis et PostgreSQL, fournis par le paquet Linux, ne sont pas concernés par ce changement.\n\n[Avis de dépréciation](https://gitlab.com/gitlab-org/gitlab/-/work_items/590797)\n\n\n**3. Suppression de l'autorisation OAuth Resource Owner Password Credentials (ROPC)**\n\n_GitLab.com | GitLab Self-Managed | GitLab Dedicated_\n\nLa prise en charge de l'autorisation Resource Owner Password Credentials (ROPC) en tant que flux OAuth sera entièrement supprimée dans GitLab 19.0. Cette décision est conforme à la norme OAuth RFC Version 2.1, qui supprime le ROPC en raison de ses limitations de sécurité inhérentes.\n\nGitLab exigeait déjà l'authentification du client pour le ROPC sur GitLab.com depuis le 8 avril 2025. Un paramètre administrateur a été ajouté dans GitLab 18.0 pour permettre une désactivation contrôlée avant la suppression.\n\nAprès la mise à niveau vers GitLab 19.0, le ROPC ne pourra plus être utilisé en aucune circonstance, même avec des identifiants client. Toute application ou intégration utilisant ce type d'autorisation doit migrer vers un flux OAuth pris en charge, tel que le flux Authorization Code, avant la mise à niveau.\n\n[Avis d'obsolescence](https://gitlab.com/gitlab-org/gitlab/-/issues/457353)\n\n**4. Fin de la prise en charge de PostgreSQL 16 – PostgreSQL 17 devient la version minimale requise**\n\n_GitLab Self-Managed_\n\nGitLab suit une [cadence annuelle de mise à niveau pour PostgreSQL](https://handbook.gitlab.com/handbook/engineering/infrastructure-platforms/data-access/database-framework/postgresql-upgrade-cadence/). Dans GitLab 19.0, PostgreSQL 17 devient la version minimale requise, et la prise en charge de PostgreSQL 16 est supprimée.\n\nPostgreSQL 17 est disponible depuis GitLab 18.9, vous pouvez donc effectuer la mise à niveau à tout moment avant la sortie de GitLab 19.0.\n\nPour les instances exécutant une seule instance PostgreSQL installée via le paquet Linux, une mise à niveau automatique vers PostgreSQL 17 pourra être tentée lors de la mise à niveau vers GitLab 18.11. Assurez-vous de disposer d'un espace disque suffisant pour cette opération.\n\nPour les instances utilisant PostgreSQL Cluster, ou celles ayant refusé la mise à niveau automatique, une mise à niveau manuelle vers PostgreSQL 17 est nécessaire avant de passer à GitLab 19.0.\n\n[Avis d'obsolescence](https://gitlab.com/gitlab-org/gitlab/-/issues/589774) | [Guide de mise à niveau](https://docs.gitlab.com/omnibus/settings/database/#upgrade-packaged-postgresql-server)\n\n\n\n### Impact moyen\n\n\nVoici les changements cassants à impact moyen.\n\n**1. Fin de la prise en charge d'Ubuntu 20.04 par le paquet Linux**\n\n_GitLab Self-Managed_\n\nLa prise en charge standard d'Ubuntu 20.04 a pris fin en mai 2025. Conformément à la [politique de plateformes prises en charge par le paquet Linux](https://docs.gitlab.com/install/package/#supported-platforms) de GitLab, les paquets sont retirés lorsque l'éditeur cesse de prendre en charge le système d'exploitation.\n\nÀ partir de GitLab 19.0, les paquets ne seront plus fournis pour Ubuntu 20.04. GitLab 18.11 sera la dernière release avec des paquets Linux pour cette distribution.\n\nSi vous exécutez actuellement GitLab sur Ubuntu 20.04, vous devez effectuer la mise à niveau vers Ubuntu 22.04 ou un autre [système d'exploitation pris en charge](https://docs.gitlab.com/install/package/#supported-platforms) avant de passer à GitLab 19.0. Canonical fournit un [guide de mise à niveau](https://documentation.ubuntu.com/server/how-to/software/upgrade-your-release/) pour faciliter la migration.\n\n[Avis d'obsolescence](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/8915)\n\n\n**2. Suppression de la prise en charge de Redis 6**\n\n_GitLab Self-Managed_\n\nDans GitLab 19.0, la prise en charge de Redis 6 est supprimée. Avant la mise à niveau, les instances utilisant un déploiement Redis 6 externe doivent migrer vers Redis 7.2 ou Valkey 7.2, disponible en version bêta depuis GitLab 18.9 avec une disponibilité générale prévue pour GitLab 19.0.\n\nLe Redis intégré au paquet Linux utilise Redis 7 depuis GitLab 16.2 et n'est pas concerné. Seules les instances utilisant un déploiement Redis 6 externe doivent agir.\n\nDes ressources de migration sont disponibles pour les principales plateformes :\n\n- **AWS ElastiCache :** mise à niveau vers [Redis 7.2 ou Valkey 7.2](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/supported-engine-versions.html)\n\n- **GCP Memorystore :** mise à niveau vers [Redis 7.2 ou Valkey 7.2](https://cloud.google.com/memorystore/docs/redis/supported-versions)\n\n- **Azure Cache pour Redis :** Redis 7.2 ou Valkey 7.2 Managed n'est pas encore disponible sur Azure. Vous pouvez opter pour l'auto-hébergement sur des machines virtuelles Azure ou AKS, ou utiliser l'installation par paquet Linux, qui prendra en charge Valkey 7.2 avec la disponibilité générale de GitLab 19.0.\n\n- **Auto-hébergé :** effectuez la mise à niveau de votre instance Redis 6 vers Redis 7.2 ou Valkey 7.2.\n\n[Avis d'obsolescence](https://gitlab.com/gitlab-org/gitlab/-/work_items/585839) | [Documentation des prérequis](https://docs.gitlab.com/install/requirements/)\n\n\n**3. Remplacement de l'image `heroku/builder:22` par `heroku/builder:24`**\n\n_GitLab.com | GitLab Self-Managed | GitLab Dedicated_\n\nL'image builder cloud-native buildpack (CNB) utilisée dans la fonctionnalité Auto DevOps a été mise à jour vers `heroku/builder:24`. Ce changement concerne les pipelines qui utilisent l'[`auto-build-image`](https://gitlab.com/gitlab-org/cluster-integration/auto-build-image) fournie par l'[étape Auto Build de la fonctionnalité Auto DevOps](https://docs.gitlab.com/topics/autodevops/stages/#auto-build).\n\nBien que la plupart des charges de travail ne soient pas concernées, cette évolution peut constituer un changement cassant pour certains utilisateurs. Avant la mise à niveau, consultez les [notes de release de la pile Heroku-24](https://devcenter.heroku.com/articles/heroku-24-stack#what-s-new) et les [notes de mise à niveau](https://devcenter.heroku.com/articles/heroku-24-stack#upgrade-notes) pour évaluer l'impact sur votre environnement.\n\nSi vous devez continuer à utiliser `heroku/builder:22` après GitLab 19.0, définissez la variable CI/CD `AUTO_DEVOPS_BUILD_IMAGE_CNB_BUILDER` sur `heroku/builder:22`.\n\n[Avis d'obsolescence](https://gitlab.com/gitlab-org/cluster-integration/auto-build-image/-/issues/79)\n\n\n\n**4. Suppression de Mattermost du paquet Linux**\n\n_GitLab Self-Managed_\n\nDans GitLab 19.0, Mattermost est supprimé du paquet Linux. Mattermost a été intégré à GitLab pour la première fois en 2015, mais a depuis développé ses propres options de déploiement autonome. De plus, avec Mattermost v11, [le SSO GitLab a été rendu obsolète dans l'offre gratuite](https://forum.mattermost.com/t/mattermost-v11-changes-in-free-offerings/25126), ce qui réduit la valeur de l'intégration fournie.\n\nLes clients qui n'utilisent pas le paquet Mattermost ne seront pas concernés. Si vous l'utilisez actuellement, consultez la documentation Mattermost relative à la [migration de GitLab Omnibus vers Mattermost Standalone](https://docs.mattermost.com/administration-guide/onboard/migrate-gitlab-omnibus.html) pour obtenir les instructions de migration.\n\n[Avis d'obsolescence](https://gitlab.com/gitlab-org/gitlab/-/work_items/590798)\n\n\n**5. Fin de la prise en charge des distributions SUSE par le paquet Linux**\n\n_GitLab Self-Managed_\n\nDans GitLab 19.0, la prise en charge des distributions SUSE par le paquet Linux prend fin. Cela concerne :\n\n- openSUSE Leap 15.6\n\n- SUSE Linux Enterprise Server 12.5\n\n- SUSE Linux Enterprise Server 15.6\n\nGitLab 18.11 sera la dernière release avec des paquets Linux pour ces distributions. La solution recommandée consiste à migrer vers un [déploiement Docker de GitLab](https://docs.gitlab.com/install/docker/installation/) sur votre distribution existante, ce qui évite de devoir changer de système d'exploitation pour continuer à profiter des mises à niveau.\n\n[Avis d'obsolescence](https://gitlab.com/gitlab-org/gitlab/-/work_items/590801)\n\n\n### Impact faible\n\n\nVoici les changements cassants à impact faible.\n\n**1. Suppression de Spamcheck du paquet Linux et du chart Helm GitLab**\n\n_GitLab Self-Managed_\n\nDans GitLab 19.0, [Spamcheck](https://docs.gitlab.com/administration/reporting/spamcheck/) est supprimé du paquet Linux et du chart Helm GitLab. Son utilisation concerne principalement les grandes instances publiques, ce qui constitue un cas marginal dans la base de clients GitLab. Cette suppression réduit la taille du paquet et l'empreinte des dépendances pour la majorité des clients.\n\nLes clients qui n'utilisent pas actuellement Spamcheck ne seront pas concernés. Si vous utilisez le paquet Spamcheck, vous pouvez le déployer séparément à l'aide de [Docker](https://gitlab.com/gitlab-org/gl-security/security-engineering/security-automation/spam/spamcheck). Aucune migration de données n'est nécessaire.\n\n[Avis d'obsolescence](https://gitlab.com/gitlab-org/gitlab/-/work_items/590796)\n\n\n**2. Suppression de l'intégration pour les commandes slash Slack**\n\n_GitLab Self-Managed | GitLab Dedicated_\n\nL'[intégration pour les commandes slash Slack](https://docs.gitlab.com/user/project/integrations/slack_slash_commands/) a été rendue obsolète au profit de l'[application GitLab pour Slack](https://docs.gitlab.com/user/project/integrations/gitlab_slack_application/), qui offre une intégration plus sécurisée avec les mêmes fonctionnalités.\n\nÀ partir de GitLab 19.0, les utilisateurs ne pourront plus configurer ni utiliser les commandes slash Slack. Cette intégration n'existe que sur GitLab Self-Managed et GitLab Dedicated – les utilisateurs de GitLab.com ne sont pas concernés.\n\nPour vérifier si votre instance est concernée, consultez les [instructions de vérification d'impact](https://gitlab.com/gitlab-org/gitlab/-/work_items/569345#am-i-impacted).\n\n[Avis d'obsolescence](https://gitlab.com/gitlab-org/gitlab/-/work_items/569345)\n\n\n**3. Fin de la prise en charge des mots de passe d'application de l'importation Bitbucket Cloud via l'API**\n\n_GitLab.com | GitLab Self-Managed | GitLab Dedicated_\n\nAtlassian a rendu obsolètes les mots de passe d'application (authentification par nom d'utilisateur et mot de passe) pour Bitbucket Cloud et a annoncé que cette méthode d'authentification cessera de fonctionner le 9 juin 2026.\n\nÀ partir de GitLab 19.0, l'importation de dépôts depuis Bitbucket Cloud via l'API GitLab nécessite des [tokens d'API utilisateur](https://support.atlassian.com/organization-administration/docs/understand-user-api-tokens/) au lieu des mots de passe d'application. Les utilisateurs qui importent depuis Bitbucket Server, ou depuis Bitbucket Cloud via l'interface GitLab, ne sont pas concernés.\n\n[Avis d'obsolescence](https://gitlab.com/gitlab-org/gitlab/-/work_items/588961) | [Vérification d'impact](https://gitlab.com/gitlab-org/gitlab/-/work_items/588961#am-i-impacted)\n\n**4. Suppression de l'onglet Tendance de la page Explorer les projets**\n\n_GitLab.com | GitLab Self-Managed | GitLab Dedicated_\n\nL'onglet **Tendance** dans **Explorer > Projets** et les arguments GraphQL associés sont supprimés dans GitLab 19.0. L'algorithme de tendances ne prend en compte que les projets publics, ce qui le rend inefficace pour les instances GitLab Self-Managed qui utilisent principalement une visibilité de projet interne ou privée.\n\nAu cours du mois précédant la sortie de GitLab 19.0, l'onglet **Tendance** sur GitLab.com redirigera vers l'onglet **Actif**, qui sera trié par étoiles par ordre décroissant.\n\nSont également supprimés : l'argument `trending` dans les types GraphQL `Query.adminProjects`, `Query.projects` et `Organization.projects`.\n\n[Avis d'obsolescence](https://gitlab.com/groups/gitlab-org/-/work_items/18493)\n\n\n**5. Mises à jour des pilotes de stockage du registre de conteneurs**\n\n_GitLab Self-Managed_\n\nDeux pilotes de stockage legacy du registre de conteneurs sont remplacés dans GitLab 19.0 :\n\n- **Pilote de stockage Azure :** le pilote legacy `azure` devient un alias pour le nouveau pilote `azure_v2`. Aucune action manuelle n'est requise, mais une migration proactive est recommandée pour une fiabilité et des performances améliorées. Consultez la [documentation du stockage objet](https://docs.gitlab.com/administration/packages/container_registry/#use-object-storage) pour les étapes de migration. [Avis d'obsolescence](https://gitlab.com/gitlab-org/gitlab/-/issues/523096)\n\n- **Pilote de stockage S3 (AWS SDK v1) :** le pilote legacy `s3` devient un alias pour le nouveau pilote `s3_v2`. Le pilote `s3_v2` ne prend pas en charge Signature Version 2 : toute configuration `v4auth: false` sera ignorée de manière transparente. Migrez vers Signature Version 4 avant la mise à niveau. [Avis d'obsolescence](https://gitlab.com/gitlab-org/gitlab/-/issues/523095)\n\n\n**6. Suppression de la mutation GraphQL `ciJobTokenScopeAddProject`**\n\n_GitLab.com | GitLab Self-Managed | GitLab Dedicated_\n\nLa mutation GraphQL `ciJobTokenScopeAddProject` a été rendue obsolète au profit de `ciJobTokenScopeAddGroupOrProject`, introduite avec les changements de portée des jetons de jobs CI/CD dans GitLab 18.0. Mettez à jour toute automatisation ou tout outil utilisant la mutation obsolète avant la mise à niveau.\n\n[Avis d'obsolescence](https://gitlab.com/gitlab-org/gitlab/-/issues/474175)\n\n\n**7. Suppression de l'attribut `ci_job_token_scope_enabled` de l'API Projects**\n\n_GitLab.com | GitLab Self-Managed | GitLab Dedicated_\n\nL'attribut `ci_job_token_scope_enabled` de l'[API REST Projects](https://docs.gitlab.com/api/projects/) est supprimé dans GitLab 19.0. Cet attribut a été rendu obsolète dans GitLab 18.0 lorsque le paramètre sous-jacent a été supprimé, et renvoie depuis toujours la valeur `false`.\n\nPour contrôler l'accès des jetons de jobs CI/CD, utilisez les [paramètres de projet des jetons de jobs CI/CD](https://docs.gitlab.com/ci/jobs/ci_job_token/#control-job-token-access-to-your-project).\n\n[Avis d'obsolescence](https://gitlab.com/gitlab-org/gitlab/-/issues/423091)\n\n\n**8. Application de la limite de pagination pour les requêtes non authentifiées sur l'API Projects de GitLab.com**\n\n_GitLab.com_\n\nAfin de maintenir la stabilité de la plateforme et de garantir des performances homogènes, une limite d'offset maximale de 50 000 sera appliquée à toutes les requêtes non authentifiées sur l'API REST Projects List de GitLab.com. Par exemple, le paramètre `page` sera limité à 2 500 pages lors de la récupération de 20 résultats par page.\n\nLes workflows nécessitant l'accès à davantage de données doivent utiliser des paramètres de pagination par clé. Cette limite s'applique uniquement à GitLab.com. Sur GitLab Self-Managed et GitLab Dedicated, la limite d'offset sera désactivée par défaut avec un feature flag.\n\n[Avis d'obsolescence](https://gitlab.com/gitlab-org/gitlab/-/work_items/585176)\n\n## Ressources pour gérer l'impact\n\nNous avons développé des outils spécifiques pour aider les clients à comprendre l'impact de ces changements prévus sur leur(s) instance(s) GitLab. Une fois que vous avez évalué votre impact, nous vous recommandons de consulter les mesures d'atténuation fournies dans la documentation relative à chaque changement afin de garantir une transition fluide vers GitLab 19.0.\n\n**[GitLab Detective](https://gitlab.com/gitlab-com/support/toolbox/gitlab-detective) (GitLab Self-Managed uniquement) :** cet outil expérimental vérifie automatiquement une installation GitLab à la recherche de problèmes connus en examinant les fichiers de configuration et les valeurs de la base de données. Remarque : il doit être exécuté directement sur vos nœuds GitLab.\n\nSi vous disposez d'un abonnement payant et avez des questions ou besoin d'assistance concernant ces changements, veuillez ouvrir un ticket sur le [portail d'assistance GitLab](https://support.gitlab.com/).\n\nSi vous utilisez la version gratuite de GitLab.com, vous pouvez accéder à une assistance supplémentaire via les ressources communautaires telles que la [documentation GitLab](https://docs.gitlab.com/), le [forum GitLab](https://forum.gitlab.com/) et [Stack Overflow](https://stackoverflow.com/questions/tagged/gitlab).",[13,738],"news","2026-04-24","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1775561395/bhe1as7ttjvzltxwgo5m.png",[742],"Martin Brümmer",{"featured":16,"template":17,"slug":744},"a-guide-to-the-breaking-changes-in-gitlab-19-0",{"content":746,"config":758},{"title":747,"description":748,"body":749,"category":13,"tags":750,"date":753,"authors":754,"heroImage":757},"GitLab + Amazon : l'orchestration de plateforme portée par une IA fiable","Associez GitLab Duo Agent Platform à Amazon Bedrock pour un développement logiciel agentique et une orchestration sécurisée.","Si votre équipe utilise GitLab et dispose d'une solide pratique AWS, la combinaison de GitLab Duo Agent Platform et d'Amazon Bedrock a été conçue pour vous. Le principe est simple : GitLab joue le rôle de couche d'orchestration pour accélérer l'ensemble de votre cycle de vie logiciel grâce à l'[IA agentique](https://about.gitlab.com/fr-fr/topics/agentic-ai/ \"Qu'est-ce que l'IA agentique ?\"), tandis qu'Amazon Bedrock fournit une couche de modèles de fondation sécurisée et conforme, avec l'inférence IA en arrière-plan.\n\nGitLab Duo Agent Platform vous permet de gérer la planification, les merge de pipelines, les scans de sécurité, la remédiation des vulnérabilités et bien plus encore dans le cadre de vos workflows GitLab, tandis que la passerelle d'IA de GitLab achemine les appels de modèles vers Amazon Bedrock (ou vers des points de terminaison gérés par GitLab et adossés à Bedrock, selon votre configuration). Vous pouvez ainsi vous appuyer sur les politiques de gestion des identités et des accès (IAM), les périmètres de cloud privé virtuel (VPC), les contrôles régionaux et les engagements de dépenses cloud que vous avez déjà définis dans AWS.\n\nSi vous utilisez déjà Amazon Bedrock et souhaitez que l'IA intervienne directement dans vos activités GitLab, et non dans un autre outil de chat autonome, cette combinaison est faite pour vous.\n\n\nDans cet article, nous abordons le problème concret auquel de nombreuses équipes sont confrontées aujourd'hui : l'IA est fragmentée, les flux de données sont flous et l'investissement dans Amazon Bedrock est sous-exploité lorsque l'IA se trouve en dehors du cycle de développement logiciel. \n\nNous détaillerons ensuite vos options de déploiement pour GitLab Duo Agent Platform :\n\n* Intégration avec des modèles auto-hébergés sur Amazon Bedrock pour les déploiements GitLab Self-Managed et la passerelle d'IA auto-hébergée\n* Intégration avec des modèles opérés par GitLab sur Amazon Bedrock (avec des clés appartenant à GitLab) pour les déploiements GitLab Self-Managed et la passerelle d'IA hébergée par GitLab\n* Intégration avec des modèles opérés par GitLab sur Amazon Bedrock (avec des clés appartenant à GitLab) pour les instances GitLab.com et la passerelle d'IA hébergée par GitLab\n\nEnfin, nous conclurons par un résumé expliquant comment cette approche permet d'éviter le Shadow AI et la multiplication d'outils spécialisés, sans créer de pile technologique parallèle dédiée à l'IA.\n\n## IA omniprésente, contrôle inexistant\n\nEn ce moment même, des équipes de développement au sein de votre entreprise utilisent peut-être un outil d'IA que votre équipe de sécurité n'a pas approuvé. Des données de prompt quittent peut-être votre environnement par un chemin que personne n'a entièrement cartographié. Et l'investissement de votre organisation dans Amazon Bedrock est peut-être sous-exploité, tandis que d'autres équipes financent séparément des outils d'IA, détournant ainsi les charges de travail et les dépenses cloud des plateformes auxquelles vous vous êtes déjà engagés.\n\nPlutôt qu'un problème humain, il s'agit peut-être d'un problème d'architecture. Et il fait ressortir les trois mêmes contraintes dans presque toutes les entreprises :\n\n**Fragmentation opérationnelle.** Chaque équipe, voire chaque développeur, choisit ses propres outils de développement, y compris les outils d'IA et les modèles. Cette fragmentation rend la gouvernance de bout en bout au sein du cycle de vie du développement logiciel quasiment impossible.\n\n**Sécurité et souveraineté.** Où circulent réellement les données de prompt et de code ? Qui est propriétaire des logs ?\n\n**Optimisation des dépenses cloud.** Les engagements envers des fournisseurs cloud majeurs comme AWS se diluent à mesure que les charges de travail et l'utilisation de l'IA migrent vers des outils ponctuels en dehors des accords existants des clients.\n\nGitLab Duo Agent Platform et Amazon Bedrock contribuent ensemble à résoudre ces problèmes. La répartition des responsabilités est claire : GitLab Duo Agent Platform prend en charge l'orchestration des workflows avec l'IA agentique pour le développement logiciel, Amazon Bedrock gère la couche d'inférence et héberge les modèles de fondation approuvés, et votre organisation conserve un contrôle total sur les périmètres de données et de politiques déjà définis dans AWS. Trois missions, trois responsables, aucune fragmentation.\n\n## GitLab Duo Agent Platform : le plan de contrôle agentique\n\nGitLab Duo Agent Platform est la couche d'IA agentique de GitLab : un framework d'agents et de flows spécialisés qui opèrent simultanément et en parallèle, dépassant les transferts traditionnels par étapes et contribuant à automatiser les tâches sur l'ensemble du cycle de vie logiciel. Plutôt qu'un assistant unique répondant à des prompts, GitLab Duo Agent Platform permet aux équipes d'orchestrer de nombreux agents d'IA de manière asynchrone, en s'appuyant sur des données unifiées et le contexte du projet, tickets, merge requests, pipelines et résultats de sécurité inclus. Les workflows linéaires se transforment en une collaboration coordonnée et continue entre les équipes de développement et leurs agents d'IA, à grande échelle.\n\nUne fois ce plan de contrôle mis en place, la question qui se pose naturellement est de savoir quelle infrastructure d'IA devrait alimenter ces agents. Pour les clients qui exécutent GitLab Self-Managed sur AWS et ont besoin que le trafic d'inférence, les données de prompt et les logs restent également dans leur environnement AWS avec leurs données de cycle de vie logiciel, Amazon Bedrock en tant que couche d'inférence IA est la solution idéale.\n\n## Amazon Bedrock : une base fiable pour l'IA\n\nAmazon Bedrock est une couche de modèles de fondation entièrement gérée et sans serveur, qui s'exécute intégralement dans votre environnement AWS. Les données clients restent dans leur compte AWS : les entrées et sorties sont chiffrées en transit et au repos, ne sont jamais partagées avec les fournisseurs de modèles et ne sont jamais utilisées pour entraîner des modèles de base. Amazon Bedrock est certifié pour la conformité RGPD, HIPAA et FedRAMP High, couvrant de nombreuses exigences des secteurs réglementés sans configuration supplémentaire. Les équipes peuvent également importer des modèles affinés depuis d'autres sources via Custom Model Import et les déployer aux côtés des modèles Amazon Bedrock natifs via la même infrastructure, sans gérer de pipelines de déploiement séparés. Bedrock Guardrails ajoute des protections configurables sur tous les modèles pour le filtrage de contenu, la détection des hallucinations et la protection des données sensibles.\n\nEnsemble, GitLab Duo Agent Platform et Amazon Bedrock consolident l'orchestration [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que le DevSecOps ?\") et la gouvernance des modèles d'IA, contribuant à éliminer la fragmentation qui survient lorsque les équipes déploient des outils d'IA de manière indépendante.\n\n## Choisir votre modèle de déploiement\n\nL'intégration offre les mêmes fonctionnalités principales de GitLab Duo Agent Platform, quel que soit le mode de déploiement. Ce qui varie, c'est qui gère GitLab, qui opère la passerelle d'IA et dans quel compte Amazon Bedrock l'inférence s'exécute. Le bon modèle dépend de l'environnement dans lequel votre organisation opère déjà.\n\nÀ un niveau général, l'intégration comporte trois composants principaux :\n\n* **GitLab Duo Agent Platform :** workflows agentiques intégrés tout au long du cycle de vie du développement logiciel\n* **Passerelle d'IA (gérée par GitLab ou auto-hébergée) :** la couche d'abstraction entre GitLab Duo Agent Platform et le backend de modèles de fondation\n* **Amazon Bedrock :** le substrat de modèles d'IA et d'inférence\n\n![Déploiement de GitLab et AWS Bedrock](https://res.cloudinary.com/about-gitlab-com/image/upload/v1776362365/udmvmv2efpmwtkxgydch.png)\n\nLe choix d'un modèle de déploiement est guidé par l'endroit où une organisation souhaite placer les leviers de contrôle. Les modèles présentés ci-dessous sont conçus pour s'adapter à la situation actuelle des équipes, qu'elles privilégient une approche SaaS, optent pour une gestion autonome à des fins de conformité ou misent entièrement sur AWS en tirant parti de leurs investissements existants dans Amazon Bedrock.\n\n| Modèle de déploiement | Instance GitLab.com avec passerelle d'IA hébergée par GitLab et modèles Amazon Bedrock opérés par GitLab | GitLab Self-Managed avec passerelle d'IA hébergée par GitLab et modèles Bedrock opérés par GitLab | GitLab Self-Managed avec passerelle d'IA auto-hébergée et modèles Bedrock opérés par le client |\n| :---- | :---- | :---- | :---- |\n| **Idéal si vous :** | Utilisez principalement GitLab.com et ne souhaitez pas auto-héberger la passerelle d'IA et les modèles Bedrock | Avez besoin de GitLab Self-Managed pour des raisons de conformité et opérationnelles, mais ne souhaitez pas gérer la couche d'IA | Êtes centré sur AWS avec une utilisation Bedrock existante et des besoins stricts en matière de données et de contrôle |\n| **Principaux avantages** | La solution la plus rapide et clé en main pour accéder aux workflows de GitLab Duo Agent Platform : GitLab gère GitLab.com, la passerelle d'IA, intégrée aux modèles d'IA Bedrock. | Conservez GitLab déployé dans votre propre environnement tout en consommant les modèles Bedrock via une passerelle d'IA gérée par GitLab, alliant contrôle du déploiement et simplification des opérations d'IA. | Exécutez GitLab et la passerelle d'IA dans votre compte AWS, réutilisez vos configurations IAM/VPC/régions existantes, conservez les logs et les données dans votre environnement, et imputez l'utilisation de Bedrock à vos engagements de dépenses AWS existants. |\n\n## Comment les clients utilisent GitLab Duo Agent Platform avec Amazon Bedrock\n\nLes équipes plateforme peuvent utiliser GitLab Duo Agent Platform avec Amazon Bedrock pour standardiser les modèles chargés des suggestions de code, de l'analyse de sécurité et de la remédiation des pipelines. Cela permet d'appliquer des garde-fous et une journalisation de manière centralisée, plutôt que de laisser chaque équipe adopter des outils séparés de façon indépendante.\n\nLes workflows de sécurité bénéficient d'avantages particuliers. Les agents de GitLab Duo Agent Platform peuvent proposer et valider des correctifs pour les résultats de sécurité au sein de GitLab, contribuant à réduire le travail de triage manuel que les développeurs devraient autrement effectuer en dehors de la plateforme.\n\nPour les entreprises déjà engagées envers AWS, le routage des charges de travail d'IA via Bedrock depuis GitLab vous permet de maintenir l'utilisation de l'IA par les développeurs en cohérence avec les accords cloud existants, plutôt que de générer des dépenses séparées et non planifiées.\n\n## En résumé\n\nLes contraintes qui freinent l'adoption de l'IA en entreprise ne sont souvent pas d'ordre technique, elles sont organisationnelles : fragmentation des outils, flux de données non gouvernés et dépenses cloud qui ne se consolident jamais. Ce sont ces problèmes qui peuvent bloquer les programmes d'IA même après la réussite des projets pilotes.\n\nGitLab Duo Agent Platform et Amazon Bedrock permettent de s'attaquer directement à chacun de ces problèmes. Les équipes plateforme bénéficient d'une gouvernance cohérente, d'une auditabilité et de chemins standardisés pour l'utilisation de l'IA tout au long du cycle de vie du développement logiciel. Les équipes de développement disposent de workflows agentiques rationalisés qui s'intègrent naturellement à GitLab. Et les organisations centrées sur AWS peuvent étendre leur investissement Bedrock existant plutôt que de construire une infrastructure d'IA parallèle.\n\nLe résultat est un programme d'IA qui évolue sans se fragmenter. Gouvernance et vélocité sur la même pile, au service des mêmes équipes, sous des politiques que l'organisation maîtrise déjà.\n\n\n> Pour déterminer quel modèle de déploiement convient à votre organisation et comment aligner GitLab Duo Agent Platform et Amazon Bedrock avec votre stratégie AWS existante, [contactez l'équipe commerciale de GitLab](https://about.gitlab.com/sales/?utm_medium=blog&utm_source=blog&utm_campaign=eg_emea_x_trial_x_fr_blog_fr), qui vous aidera à concevoir et à mettre en œuvre la meilleure architecture pour votre environnement. Vous pouvez également [consulter notre page partenaire AWS](https://about.gitlab.com/fr-fr/partners/technology-partners/aws/) pour en savoir plus.",[277,751,752],"AWS","AI/ML","2026-04-22",[755,756],"Joe Mann","Mark Kriaf","https://res.cloudinary.com/about-gitlab-com/image/upload/v1776362275/ozbwn9tk0dditpnfddlz.png",{"featured":27,"template":17,"slug":759},"gitlab-amazon-platform-orchestration-on-a-trusted-ai-foundation",{"content":761,"config":770},{"title":762,"description":763,"authors":764,"heroImage":766,"date":767,"body":768,"category":13,"tags":769},"GitLab 18.11 : garde-fous budgétaires pour les GitLab Credits","Découvrez comment les plafonds de dépenses et les limites de crédits par utilisateur offrent aux organisations les garde-fous budgétaires nécessaires pour déployer GitLab Duo Agent Platform à grande échelle.",[765],"Bryan Rothwell","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1776259080/cakqnwo5ecp255lo8lzo.png","2026-04-17","Les équipes qui utilisent GitLab Duo Agent Platform avec des crédits GitLab à la demande livrent plus rapidement, détectent les bogues plus tôt et automatisent des tâches qui mobilisaient auparavant des sprints entiers. Mais à mesure que l'adoption progresse, les équipes finances, achats et plateforme exigent des preuves que les dépenses liées à l'IA sont encadrées, prévisibles et maîtrisables.\n\nL'un des principaux freins à une adoption plus large de l'IA n'est pas le scepticisme vis-à-vis de la technologie : c'est l'incertitude quant à la maîtrise des dépenses. Sans plafond budgétaire, un mois particulièrement chargé pourrait engendrer des dépenses imprévues. Sans limites par utilisateur, une poignée d'utilisateurs intensifs pourrait épuiser les crédits de l'équipe avant la fin du mois. Et sans aucun de ces mécanismes, les responsables techniques qui souhaitent étendre l'utilisation de l'IA agentique pour le développement logiciel doivent multiplier les démarches pour obtenir les validations budgétaires.\n\nDepuis sa [disponibilité générale](https://about.gitlab.com/fr-fr/blog/gitlab-duo-agent-platform-is-generally-available/), GitLab Duo Agent Platform offre des fonctionnalités de gouvernance et de visibilité sur l'utilisation. Avec GitLab 18.11, nous introduisons des contrôles d'utilisation pour [GitLab Credits](https://about.gitlab.com/fr-fr/blog/introducing-gitlab-credits/) : des plafonds de dépenses et des garde-fous budgétaires qui donnent à votre organisation encore plus de contrôle et de transparence sur la consommation des crédits.\n\n## Gestion de GitLab Credits\n\nGitLab 18.11 ajoute trois niveaux de contrôle sur la consommation des GitLab Credits : un plafond de dépenses au niveau de l'abonnement, des limites de crédits par utilisateur et une visibilité sur l'état et l'application des plafonds.\n\n### Plafond de dépenses au niveau de l'abonnement\n\nLes responsables de facturation peuvent désormais définir un plafond mensuel strict pour la consommation de crédits GitLab à la demande sur l'ensemble de leur abonnement.\n\nVoici comment cela fonctionne :\n\n* **Définissez un plafond** dans le `portail clients`, dans les paramètres de votre abonnement relatifs à GitLab Credits.\n\n* **Appliquez automatiquement les limites de dépenses.** Lorsque la consommation à la demande atteint le plafond, l'accès à GitLab Duo Agent Platform est suspendu pour tous les utilisateurs de l'abonnement jusqu'au début de la période mensuelle suivante.\n\n* **Ajustez en cours de route.** Augmentez ou désactivez le plafond en cours de mois pour rétablir l'accès.\n\nLe plafond se réinitialise à chaque période mensuelle et la limite configurée est reconduite automatiquement, sauf si vous la modifiez. Étant donné que les données d'utilisation sont synchronisées périodiquement plutôt qu'en temps réel, un léger dépassement peut survenir après que le plafond est atteint, avant que l'application ne prenne effet. Consultez la [documentation relative à GitLab Credits](https://docs.gitlab.com/subscriptions/gitlab_credits/) pour plus de détails.\n\n### Plafonds de dépenses par utilisateur\n\nIl est naturel que tous les utilisateurs ne consomment pas les crédits au même rythme. Mais lorsqu'un ou deux utilisateurs intensifs consomment une part disproportionnée du pool, le reste de l'équipe peut perdre son accès à l'IA avant la fin du mois.\n\nLes plafonds de crédits par utilisateur empêchent qu'un seul utilisateur consomme plus que la part qui lui est allouée :\n\n* **Plafond forfaitaire par utilisateur.** Définissez une limite de crédits forfaitaire qui s'applique de manière égale à chaque utilisateur de l'abonnement via l'API GraphQL de GitLab. Contrairement au plafond au niveau de l'abonnement, le plafond par utilisateur s'applique à la consommation totale d'un utilisateur, toutes sources de crédits confondues.\n\n* **Limites personnalisées par utilisateur.** Pour les organisations qui ont besoin de limites différenciées, vous pouvez définir des plafonds de crédits individuels pour des utilisateurs spécifiques via l'API GraphQL. Par exemple, vous pourriez accorder une allocation plus élevée à vos staff engineers tout en appliquant une limite standard au reste de l'équipe.\n\n* **Application individuelle.** Lorsqu'un utilisateur atteint son plafond, il conserve un accès complet à GitLab. Seule sa consommation de crédits GitLab Duo Agent Platform est suspendue jusqu'au prochain cycle de facturation. Tous les autres membres de l'équipe continuent à travailler sans interruption jusqu'à atteindre leur propre limite ou le plafond au niveau de l'abonnement, selon la première éventualité.\n\n### Visibilité et notifications\n\nLorsqu'un plafond au niveau de l'abonnement est atteint, GitLab envoie une notification par e-mail aux responsables de facturation afin qu'ils puissent agir : augmenter le plafond, attendre la période suivante ou redistribuer les crédits.\n\nDans GitLab, les propriétaires de groupe (GitLab.com) et les administrateurs d'instance (GitLab Self-Managed) peuvent consulter les utilisateurs bloqués en raison de l'atteinte de leur plafond par utilisateur et rétablir l'accès en ajustant le plafond via l'API GraphQL.\n\n## Comment les garde-fous budgétaires aident les organisations à déployer l'IA à grande échelle\n\nLes garde-fous sont essentiels à mesure que les organisations accélèrent leur adoption de l'IA. Voici pourquoi :\n\n### Des budgets d'IA prévisibles\n\nLes contrôles d'utilisation de GitLab Duo Agent Platform transforment l'IA en un poste budgétaire encadré et prévisible grâce aux crédits GitLab à la demande. Il devient ainsi plus facile de déployer des agents sur l'ensemble du cycle de développement logiciel, d'obtenir la validation des équipes financières, de justifier les renouvellements et de planifier les dépenses trimestrielles.\n\n### Gouvernance et refacturation interne\n\nLes grandes organisations doivent souvent aligner la consommation d'IA sur leurs budgets internes, centres de coûts ou politiques de départements. Les plafonds par utilisateur offrent aux équipes plateforme un mécanisme simple pour répartir les crédits équitablement et suivre la consommation au niveau individuel. Les options d'importation par API facilitent la gestion des plafonds à l'échelle de l'entreprise. En combinant les plafonds par utilisateur aux données d'utilisation par utilisateur du tableau de bord GitLab Credits, les organisations peuvent analyser les tendances de consommation pour alimenter leurs propres processus de refacturation interne ou d'allocation budgétaire.\n\n### La confiance pour passer à l'échelle\n\nDe nombreux clients commencent à utiliser GitLab Duo Agent Platform avec un petit groupe pilote. Les contrôles d'utilisation éliminent les risques associés à l'extension de ce pilote à l'ensemble de l'organisation. Vous pouvez déployer GitLab Duo Agent Platform auprès de centaines, voire de milliers de développeurs, en sachant qu'un plafond strict protège votre budget. Si la consommation augmente plus vite que prévu, vous atteindrez le plafond, sans facture inattendue.\n\n## Dépasser le dilemme de la tarification par siège et du manque de visibilité\n\nDe nombreux outils de programmation assistée par l'IA adoptent une approche par siège pour la gestion des coûts. Vous achetez un nombre fixe de sièges à un prix forfaitaire par utilisateur, et c'est votre budget. L'approche est simple, mais rigide. Vous payez le même montant, qu'un développeur utilise l'outil dix fois par jour ou n'y touche jamais. Et à mesure que les éditeurs introduisent des modèles premium et des dépassements basés sur l'utilisation en plus de la tarification par siège, la prévisibilité des coûts promise par ce modèle commence à s'éroder.\n\nGitLab adopte une approche différente : une tarification à l'usage avec des plafonds stricts et un tableau de bord de gouvernance unifié. Vous profitez d'une véritable flexibilité : vous ne payez que ce que vos équipes consomment réellement et pouvez prévoir un budget grâce aux limites de dépenses appliquées automatiquement.\n\n## Exemples concrets de contrôles d'utilisation\n\n**Prenons l'exemple d'une entreprise cliente SaaS de taille moyenne qui souhaite respecter son budget mensuel.** Une entreprise d'ingénierie de 200 personnes définit un plafond au niveau de l'abonnement correspondant à sa consommation à la demande prévue. Le VP Engineering peut affirmer avec certitude aux équipes financières que les dépenses liées à GitLab Duo Agent Platform ne dépasseront jamais le montant approuvé, même lors de l'intégration de nouvelles équipes. Si l'organisation approche du plafond en cours de mois, le responsable de facturation reçoit une notification et peut décider d'augmenter la limite ou d'attendre la période suivante.\n\n**Chez GitLab, nous travaillons également avec de grandes entreprises qui souhaitent garantir une utilisation équitable entre les équipes.** Une société de services financiers internationale comptant 2 000 développeurs utilise les plafonds par utilisateur pour assurer un accès équitable. Les ingénieurs seniors travaillant sur des projets de refactorisation complexes bénéficient d'une allocation individuelle plus élevée via l'API, tandis que la majorité des développeurs profite d'un plafond forfaitaire standard. Aucun utilisateur ne peut épuiser le pool à lui seul, et l'équipe plateforme utilise les données d'utilisation par utilisateur du tableau de bord GitLab Credits pour analyser les tendances de consommation et concevoir la planification budgétaire trimestrielle.\n\n## Premiers pas\n\nLes contrôles d'utilisation sont disponibles pour les clients GitLab.com et GitLab Self-Managed dès la version GitLab 18.11. Les contrôles sont configurés à différents emplacements selon la portée et votre rôle.\n\n**Plafond au niveau de l'abonnement**\n\nLes responsables de facturation définissent le plafond à la demande au niveau de l'abonnement dans le portail client :\n\n1. Connectez-vous au `Portail clients`.\n\n2. Sur la carte de votre abonnement, accédez aux paramètres de **GitLab Credits**.\n\n3. Activez le plafond mensuel de crédits à la demande et saisissez la limite souhaitée.\n\n**Plafond forfaitaire par utilisateur**\n\nLe plafond forfaitaire par utilisateur peut être défini via l'API GraphQL de GitLab par les propriétaires d'espace de nommage (GitLab.com) ou les administrateurs d'instance (GitLab Self-Managed). Consultez la [documentation relative à GitLab Credits](https://docs.gitlab.com/subscriptions/gitlab_credits/) pour les dernières informations sur les interfaces de configuration disponibles.\n\n**Limites personnalisées par utilisateur**\n\nPour des limites différenciées, les propriétaires d'espace de nommage (GitLab.com) et les administrateurs d'instance (Self-Managed) peuvent définir des plafonds individuels par programmation. Cette option est particulièrement utile pour les workflows d'automatisation et d'Infrastructure as Code.\n\n**Suivi de l'utilisation et de l'état des plafonds**\n\n* **Portail client :** consultez l'utilisation détaillée et l'état des plafonds.\n\n* **GitLab.com :** les propriétaires de groupe peuvent consulter les utilisateurs bloqués sous **Paramètres > GitLab Credits**.\n\n* **GitLab Self-Managed :** les administrateurs d'instance peuvent consulter l'état des plafonds et les utilisateurs bloqués sous **Admin > GitLab Credits**.\n\n## GitLab Duo Agent Platform est prêt à passer à l'échelle\n\nLes contrôles d'utilisation sont disponibles dès maintenant dans GitLab 18.11. Si vous attendiez les bons garde-fous avant de déployer GitLab Duo Agent Platform à l'échelle de votre organisation, c'est le moment. Définissez vos plafonds, déployez GitLab Duo Agent Platform auprès de davantage d'équipes et accélérez vos livraisons !\n\n> [En savoir plus sur GitLab Credits et les contrôles d'utilisation](https://docs.gitlab.com/subscriptions/gitlab_credits/).",[13,752,738],{"featured":16,"template":17,"slug":771},"gitlab-18-11-budget-guardrails-for-gitlab-credits",{"header":773,"blurb":774,"button":775,"secondaryButton":779},"Commencez à développer plus rapidement dès aujourd'hui","Découvrez ce que votre équipe peut accomplir avec la plateforme d'orchestration intelligente pour le DevSecOps.\n",{"text":46,"config":776},{"href":777,"dataGaName":49,"dataGaLocation":778},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/fr-fr/","feature",{"text":51,"config":780},{"href":53,"dataGaName":54,"dataGaLocation":778},{"promotions":782},[783,797,808,820],{"id":784,"categories":785,"header":787,"text":788,"button":789,"image":794},"ai-modernization",[786],"ai-ml","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":790,"config":791},"Get your AI maturity score",{"href":792,"dataGaName":793,"dataGaLocation":244},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":795},{"src":796},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":798,"categories":799,"header":800,"text":788,"button":801,"image":805},"devops-modernization",[13,571],"Are you just managing tools or shipping innovation?",{"text":802,"config":803},"Get your DevOps maturity score",{"href":804,"dataGaName":793,"dataGaLocation":244},"/assessments/devops-modernization-assessment/",{"config":806},{"src":807},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":809,"categories":810,"header":812,"text":788,"button":813,"image":817},"security-modernization",[811],"security","Are you trading speed for security?",{"text":814,"config":815},"Get your security maturity score",{"href":816,"dataGaName":793,"dataGaLocation":244},"/assessments/security-modernization-assessment/",{"config":818},{"src":819},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":821,"paths":822,"header":825,"text":826,"button":827,"image":832},"github-azure-migration",[823,824],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Is your team ready for GitHub's Azure move?","GitHub is already rebuilding around Azure. Find out what it means for you.",{"text":828,"config":829},"See how GitLab compares to GitHub",{"href":830,"dataGaName":831,"dataGaLocation":244},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":833},{"src":807},1777493641067]