[{"data":1,"prerenderedAt":1360},["ShallowReactive",2],{"/fr-fr/blog/confidential-ai-for-gitlab-self-hosted":3,"navigation-fr-fr":597,"banner-fr-fr":1031,"footer-fr-fr":1038,"blog-post-authors-fr-fr-Mathias Ewald|Martin Paloncy, Edgeless Systems":1288,"blog-related-posts-fr-fr-confidential-ai-for-gitlab-self-hosted":1316,"blog-share-wrapper-fr-fr":1341,"next-steps-fr-fr":1351},{"id":4,"title":5,"authors":6,"body":9,"category":579,"date":580,"description":581,"extension":582,"externalUrl":583,"faq":583,"featured":332,"heroImage":584,"meta":585,"navigation":332,"path":586,"seo":587,"slug":590,"stem":591,"tags":592,"template":595,"updatedDate":583,"__hash__":596},"blogPosts/fr-fr/blog/confidential-ai-for-gitlab-self-hosted.md","L'IA confidentielle pour GitLab Self-Hosted",[7,8],"Mathias Ewald","Martin Paloncy, Edgeless Systems",{"type":10,"value":11,"toc":567},"minimark",[12,16,26,31,40,43,47,50,53,68,72,75,169,172,175,178,188,192,204,212,219,222,225,228,247,255,258,262,265,279,428,430,433,456,460,463,469,475,481,487,491,513,517,525,529,563],[13,14,15],"p",{},"Vos équipes de développement veulent utiliser des agents d'IA pour le code. Cependant, votre code source est une propriété intellectuelle réglementée qui ne peut être transmise à un service d'IA tiers, comme indiqué par écrit par votre équipe de conformité. La solution de contournement habituelle, à savoir déployer votre propre cluster de GPU et exécuter les modèles vous-même, implique l'achat de matériel rare, le recrutement d'une équipe dédiée à son exploitation, et un retard structurel de plusieurs mois par rapport aux modèles de pointe. Résultat : vous ne faites rien, et vos équipes prennent du retard face à celles qui ont adopté l'IA il y a un an.",[13,17,18,19,25],{},"GitLab Duo Self-Hosted peut désormais utiliser ",[20,21,24],"a",{"href":22,"rel":23},"https://www.privatemode.ai/",[],"Privatemode AI"," comme fournisseur de modèles. Privatemode exécute des modèles de pointe dans du matériel d'informatique confidentielle, de sorte que les prompts, le code source et les complétions restent chiffrés de bout en bout, y compris pendant l'inférence. Il vous suffit de pointer la passerelle d'IA de GitLab Duo vers le proxy Privatemode pour que vos équipes de développement accèdent aux mêmes fonctionnalités de GitLab Duo qu'avec n'importe quel modèle, avec une différence déterminante pour une organisation soumise à des réglementations : le code ne quitte jamais un périmètre chiffré, et aucun tiers ne peut le lire.",[27,28,30],"h2",{"id":29},"la-productivité-que-la-plupart-des-équipes-réglementées-natteignent-pas","La productivité que la plupart des équipes réglementées n'atteignent pas",[13,32,33,34,39],{},"L'assistance d'IA pour le code a largement dépassé la simple autocomplétion. ",[20,35,38],{"href":36,"rel":37},"https://about.gitlab.com/fr-fr/gitlab-duo-agent-platform/",[],"GitLab Duo Agent Platform"," exécute des tâches en plusieurs étapes : revue de merge requests, refactorisation sur plusieurs fichiers, génération et exécution de tests, orchestration de flows agentiques sous forme de jobs CI, et bien plus encore. Il s'agit d'un véritable changement dans la manière dont les équipes livrent des logiciels, et ses effets sont cumulatifs. Les équipes qui l'utilisent effectuent des revues plus rapidement et consacrent moins de temps aux tâches répétitives.",[13,41,42],{},"Le problème, c'est que chacune de ces fonctionnalités envoie vos prompts et votre code source à un fournisseur de modèles. Pour une équipe travaillant sur du code propriétaire, des logiciels soumis à une réglementation ou une propriété intellectuelle sensible, ce scénario est rédhibitoire.",[27,44,46],{"id":45},"pourquoi-les-organisations-réglementées-optent-pour-des-environnements-auto-hébergés","Pourquoi les organisations réglementées optent pour des environnements auto-hébergés",[13,48,49],{},"Pour les organisations des secteurs réglementés, le code source est une propriété intellectuelle fondamentale, et la question de savoir où il est traité relève de considérations contractuelles, sectorielles et réglementaires, et non d'une simple question de commodité. Qu'il s'agisse des algorithmes de trading d'une banque, du micrologiciel d'un fabricant de dispositifs médicaux ou du logiciel de contrôle d'un sous-traitant du secteur de la défense : confier cette propriété intellectuelle à un service d'IA externe peut enfreindre les protections en matière de propriété intellectuelle, les accords de traitement des données et les règles sectorielles.",[13,51,52],{},"La pression vient de plusieurs fronts à la fois. La directive NIS 2 et le règlement Digital Operational Resilience Act (DORA) renforcent les exigences en matière de résilience opérationnelle et de risque lié aux tiers dans les infrastructures critiques et les services financiers. Le RGPD régit la manière dont les données à caractère personnel contenues dans le code et les logs sont traitées. Des réglementations sectorielles (supervision de la BaFin dans le secteur financier allemand, norme BSI C5 comme référentiel d'achat, règles relatives aux données de santé) viennent ajouter leurs propres contraintes. Par ailleurs, de nombreuses organisations européennes considèrent la souveraineté des données comme une exigence de premier ordre, indépendamment de toute réglementation spécifique.",[13,54,55,56,61,62,67],{},"Les secteurs les plus concernés sont les ",[20,57,60],{"href":58,"rel":59},"https://about.gitlab.com/fr-fr/solutions/finance/",[],"services financiers",", la santé, l'industrie pharmaceutique, la défense, le ",[20,63,66],{"href":64,"rel":65},"https://about.gitlab.com/fr-fr/solutions/public-sector/",[],"secteur public"," et les infrastructures essentielles. GitLab Self-Hosted existe précisément pour que ce code ne quitte jamais un périmètre de confiance. L'intégration de l'IA dans un workflow ne devrait pas remettre en cause cette garantie.",[27,69,71],{"id":70},"pourquoi-lia-est-difficile-à-intégrer-dans-les-environnements-auto-hébergés","Pourquoi l'IA est difficile à intégrer dans les environnements auto-hébergés",[13,73,74],{},"Une équipe évoluant dans un environnement auto-hébergé qui souhaite bénéficier d'une assistance d'IA pour le code dispose de trois options conventionnelles, chacune assortie de coûts que l'acheteur soumis à une réglementation ne peut pas facilement assumer.",[76,77,78,96],"table",{},[79,80,81],"thead",{},[82,83,84,87,90,93],"tr",{},[85,86],"th",{},[85,88,89],{},"IA SaaS publique",[85,91,92],{},"IA en VPC / cloud privé",[85,94,95],{},"Exécution de votre propre pile LLM",[97,98,99,114,128,142,156],"tbody",{},[82,100,101,105,108,111],{},[102,103,104],"td",{},"Le code source quitte votre périmètre",[102,106,107],{},"Oui",[102,109,110],{},"Oui (vers l'opérateur)",[102,112,113],{},"Non",[82,115,116,119,122,125],{},[102,117,118],{},"Type de garantie",[102,120,121],{},"Contractuelle (conditions d'utilisation)",[102,123,124],{},"Contractuelle (opérateur + cloud)",[102,126,127],{},"Auto-appliquée",[82,129,130,133,136,139],{},[102,131,132],{},"Accès au texte en clair",[102,134,135],{},"Fournisseur",[102,137,138],{},"Opérateur et fournisseur cloud",[102,140,141],{},"Vous seul",[82,143,144,147,150,153],{},[102,145,146],{},"Charge d'infrastructure",[102,148,149],{},"Aucune",[102,151,152],{},"Faible",[102,154,155],{},"Élevée : GPU, opérations sur les modèles, mises à jour",[82,157,158,161,163,166],{},[102,159,160],{},"Suivi des modèles de pointe",[102,162,107],{},[102,164,165],{},"Généralement",[102,167,168],{},"Rarement, vous prenez du retard",[170,171],"br",{},[13,173,174],{},"Le tableau comparatif montre que les options d'IA SaaS publique et VPC exposent le code et reposent sur des garanties contractuelles, tandis que l'exécution de votre propre pile préserve la confidentialité du code mais implique une lourde charge en termes de GPU et d'opérations sur les modèles.",[13,176,177],{},"En résumé : le SaaS public est écarté d'office, car le code quitte l'organisation. Un service isolé en VPC ou en cloud privé réduit l'exposition, mais transmet tout de même le texte en clair à l'opérateur et au fournisseur cloud sous-jacent. Par ailleurs, un contrat est une promesse, non une garantie cryptographique. Exécuter ses propres modèles préserve la confidentialité du code, mais implique des coûts d'acquisition et de personnel élevés, et ces modèles sont structurellement en retard par rapport aux meilleurs modèles du marché. Face à ce constat, la plupart des organisations réglementées adoptent l'IA de façon limitée, voire pas du tout.",[13,179,180,181,187],{},"La question devient alors de savoir comment offrir aux équipes de développement des agents d'IA modernes sans que le code source ne quitte le périmètre de sécurité, et sans avoir à gérer soi-même une pile ",[20,182,186],{"href":183,"rel":184,"title":185},"https://about.gitlab.com/fr-fr/blog/large-language-model/",[],"Qu'est-ce qu'un LLM ?","LLM",". La réponse exige un type de garantie différent de ce qu'un contrat peut offrir, à savoir une garantie assurée par le matériel.",[27,189,191],{"id":190},"linformatique-confidentielle-la-réponse-architecturale","L'informatique confidentielle : la réponse architecturale",[13,193,194,195,199,200,203],{},"L'informatique confidentielle maintient les données chiffrées ",[196,197,198],"em",{},"en mémoire",", pendant leur traitement, grâce à un environnement d'exécution de confiance (TEE) basé sur le matériel, une région isolée d'un CPU ou d'un GPU que même le système d'exploitation, l'hyperviseur et l'opérateur de la machine ne peuvent pas lire. Le matériel concerné est AMD SEV ou Intel TDX côté CPU, associé à NVIDIA Confidential Computing côté GPU. Les données sont chiffrées en transit et au repos avec AES-256, et ne sont déchiffrées qu'",[196,201,202],{},"à l'intérieur"," de l'environnement d'exécution de confiance.",[13,205,206,207,211],{},"L'élément qui transforme cette promesse en garantie est l'",[208,209,210],"strong",{},"attestation à distance",". Avant d'envoyer des données, le client demande au TEE de prouver son identité : le matériel produit une preuve cryptographique signée de ce qui s'exécute exactement dans l'enclave. Le client vérifie cette preuve par rapport à des valeurs de référence connues, puis établit le canal chiffré et envoie sa requête.",[13,213,214],{},[215,216],"img",{"alt":217,"src":218},"Schéma du flux de données","https://res.cloudinary.com/about-gitlab-com/image/upload/v1786033561/tjh50p5pliyu1oyftdtn.png",[13,220,221],{},"Le schéma du flux de données montre les prompts chiffrés côté client, transmis sous forme de texte chiffré, et déchiffrés uniquement à l'intérieur d'un TEE matériel que ni l'opérateur du service ni le fournisseur cloud ne peuvent lire.",[13,223,224],{},"La propriété de sécurité qui en découle est l'essentiel : ni l'opérateur du service d'IA ni le fournisseur cloud sous-jacent ne peuvent consulter vos prompts, vos complétions ou votre contexte. Non pas parce qu'ils se sont engagés à ne pas le faire, mais parce que le matériel ne le leur permet pas.",[27,226,24],{"id":227},"privatemode-ai",[13,229,230,234,235,240,241,246],{},[20,231,24],{"href":232,"rel":233},"https://docs.privatemode.ai/",[]," a été développé par ",[20,236,239],{"href":237,"rel":238},"https://edgeless.systems/",[],"Edgeless Systems",", une entreprise allemande spécialisée dans les logiciels d'informatique confidentielle. ",[20,242,245],{"href":243,"rel":244},"https://images.nvidia.com/aem-dam/Solutions/Data-Center/confidential-computing/hpc-solution-brief-edgeless-systems-3427281.pdf?ncid=no-ncid",[],"Selon NVIDIA",", Privatemode est le « framework d'IA de première génération qui maintient en permanence le chiffrement des prompts ».",[13,248,249,250,254],{},"Pour les équipes de développement, les mécanismes sont invisibles. Privatemode expose une API compatible avec OpenAI, et un proxy côté client gère l'attestation et le chiffrement de manière transparente, de sorte que les outils et SDK qui utilisent l'API standard ",[251,252,253],"code",{},"/v1"," fonctionnent sans modification. Le modèle phare actuel pour le développement est Kimi K2.6 avec un contexte de 256 000 tokens. D'autres modèles comme Kimi K3 et GLM seront prochainement disponibles.",[13,256,257],{},"Il ne s'agit pas d'une expérience de laboratoire. Privatemode est déjà en production dans des organisations confrontées aux contraintes décrites ci-dessus. Capgemini l'utilise pour ses clients dans des secteurs réglementés, notamment pour le développement confidentiel. L'Agence fédérale allemande pour l'emploi l'utilise dans le secteur public. Des banques, des assureurs et des organismes de défense y ont recours lorsque le code source et les données ne peuvent pas quitter un périmètre de confiance. Sa cryptographie est résistante à l'ère post-quantique, ce qui protège également contre les attaques de type « harvest now, decrypt later » (collecter maintenant, déchiffrer plus tard). Un adversaire qui capturerait les textes chiffrés actuels dans l'espoir de les déchiffrer avec le matériel de demain n'obtiendrait rien d'exploitable.",[27,259,261],{"id":260},"fonctionnement-de-lintégration","Fonctionnement de l'intégration",[13,263,264],{},"GitLab Duo Self-Hosted vous permet d'utiliser les fonctionnalités d'IA de GitLab Duo depuis un modèle que vous contrôlez, plutôt que depuis une passerelle gérée par GitLab. Privatemode peut justement jouer le rôle de ce modèle.",[13,266,267,268,271,272,275,276,278],{},"Le processus est simple. GitLab Duo communique avec une ",[208,269,270],{},"passerelle d'IA"," auto-hébergée, qui transfère l'inférence vers n'importe quel point de terminaison compatible avec OpenAI. Le proxy Privatemode ",[196,273,274],{},"est"," ce point de terminaison : il expose une API standard ",[251,277,253],{}," et gère le chiffrement ainsi que l'attestation vis-à-vis du service Privatemode. Lorsqu'une requête arrive, le proxy la chiffre avant qu'elle ne quitte votre réseau, vérifie le TEE distant par attestation, puis la transfère. Le déchiffrement s'effectue exclusivement dans l'environnement d'informatique confidentielle. Au sein de GitLab Duo (Code Suggestions, Chat, Code Review et les flows agentiques), l'expérience des équipes de développement reste inchangée.",[280,281,286],"pre",{"className":282,"code":283,"language":284,"meta":285,"style":285},"language-mermaid shiki shiki-themes github-light","sequenceDiagram\n    autonumber\n    actor Dev as Développeur /\u003Cbr>GitLab Duo Agent Platform\n    participant GW as Passerelle d'IA\u003Cbr>auto-hébergée GitLab\n    participant Proxy as Proxy\u003Cbr>Privatemode\n    participant TEE as TEE distant\u003Cbr>(CPU + GPU)\n\n    Dev->>GW: Requête d'inférence (Code\u003Cbr>Suggestions, Chat,\u003Cbr>Code Review, flows)\n    GW->>Proxy: Transfert de la requête\u003Cbr>vers un point de terminaison OpenAI\u003Cbr>compatible\n\n    rect rgb(255, 244, 214)\n        Note over Proxy,TEE: Attestation avant tout envoi de code\n        Proxy->>TEE: Demande de preuve d'attestation\n        TEE-->>Proxy: Preuve signée du code de l'enclave\n        Proxy->>Proxy: Vérification de preuve face à des valeurs connues\n        Proxy->>TEE: Établissement d'un canal chiffré (AES-256, résistant à l'ère post-quantique)\n    end\n\n    Proxy->>TEE: Transfert de la requête chiffrée\n    Note over TEE: Déchiffrement + inférence\u003Cbr>(seulement dans l'enclave)\n    TEE-->>Proxy: Réponse chiffrée\n    Proxy-->>GW: Réponse chiffrée\n    GW-->>Dev: Complétion (expérience du développeur\u003Cbr>inchangée)\n","mermaid","",[251,287,288,297,303,309,315,321,327,334,340,346,351,357,363,369,375,381,387,393,398,404,410,416,422],{"__ignoreMap":285},[289,290,293],"span",{"class":291,"line":292},"line",1,[289,294,296],{"class":295},"sgsFI","sequenceDiagram\n",[289,298,300],{"class":291,"line":299},2,[289,301,302],{"class":295},"    autonumber\n",[289,304,306],{"class":291,"line":305},3,[289,307,308],{"class":295},"    actor Dev as Développeur /\u003Cbr>GitLab Duo Agent Platform\n",[289,310,312],{"class":291,"line":311},4,[289,313,314],{"class":295},"    participant GW as Passerelle d'IA\u003Cbr>auto-hébergée GitLab\n",[289,316,318],{"class":291,"line":317},5,[289,319,320],{"class":295},"    participant Proxy as Proxy\u003Cbr>Privatemode\n",[289,322,324],{"class":291,"line":323},6,[289,325,326],{"class":295},"    participant TEE as TEE distant\u003Cbr>(CPU + GPU)\n",[289,328,330],{"class":291,"line":329},7,[289,331,333],{"emptyLinePlaceholder":332},true,"\n",[289,335,337],{"class":291,"line":336},8,[289,338,339],{"class":295},"    Dev->>GW: Requête d'inférence (Code\u003Cbr>Suggestions, Chat,\u003Cbr>Code Review, flows)\n",[289,341,343],{"class":291,"line":342},9,[289,344,345],{"class":295},"    GW->>Proxy: Transfert de la requête\u003Cbr>vers un point de terminaison OpenAI\u003Cbr>compatible\n",[289,347,349],{"class":291,"line":348},10,[289,350,333],{"emptyLinePlaceholder":332},[289,352,354],{"class":291,"line":353},11,[289,355,356],{"class":295},"    rect rgb(255, 244, 214)\n",[289,358,360],{"class":291,"line":359},12,[289,361,362],{"class":295},"        Note over Proxy,TEE: Attestation avant tout envoi de code\n",[289,364,366],{"class":291,"line":365},13,[289,367,368],{"class":295},"        Proxy->>TEE: Demande de preuve d'attestation\n",[289,370,372],{"class":291,"line":371},14,[289,373,374],{"class":295},"        TEE-->>Proxy: Preuve signée du code de l'enclave\n",[289,376,378],{"class":291,"line":377},15,[289,379,380],{"class":295},"        Proxy->>Proxy: Vérification de preuve face à des valeurs connues\n",[289,382,384],{"class":291,"line":383},16,[289,385,386],{"class":295},"        Proxy->>TEE: Établissement d'un canal chiffré (AES-256, résistant à l'ère post-quantique)\n",[289,388,390],{"class":291,"line":389},17,[289,391,392],{"class":295},"    end\n",[289,394,396],{"class":291,"line":395},18,[289,397,333],{"emptyLinePlaceholder":332},[289,399,401],{"class":291,"line":400},19,[289,402,403],{"class":295},"    Proxy->>TEE: Transfert de la requête chiffrée\n",[289,405,407],{"class":291,"line":406},20,[289,408,409],{"class":295},"    Note over TEE: Déchiffrement + inférence\u003Cbr>(seulement dans l'enclave)\n",[289,411,413],{"class":291,"line":412},21,[289,414,415],{"class":295},"    TEE-->>Proxy: Réponse chiffrée\n",[289,417,419],{"class":291,"line":418},22,[289,420,421],{"class":295},"    Proxy-->>GW: Réponse chiffrée\n",[289,423,425],{"class":291,"line":424},23,[289,426,427],{"class":295},"    GW-->>Dev: Complétion (expérience du développeur\u003Cbr>inchangée)\n",[170,429],{},[13,431,432],{},"Dans le diagramme de séquence, une requête GitLab Duo transite par la passerelle d'IA auto-hébergée pour atteindre le proxy Privatemode, qui atteste l'enclave distante et établit un canal chiffré avant de transmettre la requête pour inférence à l'intérieur de l'environnement d'exécution de confiance.",[13,434,435,436,442,443,449,450,455],{},"Vous gérez vous-même la passerelle d'IA et le proxy, et la configuration est indépendante du mode de déploiement (paquet Linux, ",[20,437,441],{"href":438,"rel":439,"title":440},"https://about.gitlab.com/fr-fr/blog/what-is-docker-comprehensive-guide/",[],"Qu'est-ce que Docker ?","Docker"," ou ",[20,444,448],{"href":445,"rel":446,"title":447},"https://about.gitlab.com/fr-fr/blog/kubernetes-the-container-orchestration-solution/",[],"Qu'est-ce que Kubernetes ?","Kubernetes","). Les étapes sont documentées et spécifiques à chaque version ; plutôt que de les reproduire ici, consultez le ",[20,451,454],{"href":452,"rel":453},"https://www.privatemode.ai/coding-tool/gitlab-duo",[],"guide d'intégration GitLab Duo de Privatemode",".",[27,457,459],{"id":458},"les-compromis","Les compromis",[13,461,462],{},"Aucune architecture n'est gratuite, et un lecteur averti mérite que les coûts soient exposés clairement.",[13,464,465,468],{},[208,466,467],{},"Vous gérez la passerelle et le proxy."," Il s'agit d'un véritable travail d'infrastructure : déployer la passerelle d'IA sur un nom d'hôte approprié, faire correspondre la version de son image à votre release GitLab à chaque mise à jour, configurer les clés et certificats JWT, et maintenir le proxy accessible. Il s'agit d'une opération d'infrastructure courante, et non l'achat de GPU ni l'exploitation de modèles. Cette distinction est fondamentale. L'alternative qui préserve la confidentialité du code, à savoir l'exécution de votre propre pile LLM, implique l'achat de GPU rares et le recrutement d'une équipe pour exécuter et mettre à jour les modèles, avec un retard structurel sur les modèles de pointe. Privatemode est un SaaS hébergé qui prend en charge les opérations sur les modèles à votre place ; la seule charge qui vous incombe est la gestion d'un proxy et d'une passerelle.",[13,470,471,474],{},[208,472,473],{},"Les modèles génériques compatibles avec OpenAI sont encore en cours de maturation"," dans GitLab Duo Self-Hosted. À l'heure actuelle, ces modèles sont disponibles en mode bêta, de sorte que la prise en charge de problèmes spécifiques aux modèles n'est pas encore garantie. La roadmap prévoit de consolider ce point, mais si vous avez besoin d'une configuration entièrement prise en charge dès maintenant, tenez compte de ce calendrier dans votre déploiement.",[13,476,477,480],{},[208,478,479],{},"L'attestation et le chiffrement entraînent une certaine surcharge."," L'aller-retour supplémentaire et les opérations cryptographiques rallongent le temps de traitement de chaque requête. Lors de nos tests, cela n'a pas posé de problème pratique, mais le guide d'intégration recommande d'augmenter le délai d'expiration de la passerelle d'IA pour les backends auto-hébergés plus lents. Il vaut donc la peine de mesurer ce délai par rapport à votre budget de latence.",[13,482,483,486],{},[208,484,485],{},"Votre confiance repose sur un élément délimité."," La garantie repose sur la fiabilité du TEE matériel et de la chaîne d'attestation. Il s'agit d'une hypothèse de confiance plus restreinte et plus vérifiable que celle qui part du principe que l'opérateur ne consultera pas vos données, et vous pouvez vérifier vous-même les preuves d'attestation. Cependant, cette hypothèse n'est pas infaillible. L'informatique confidentielle ne supprime pas la confiance requise, elle la limite au matériel sous-jacent.",[27,488,490],{"id":489},"ce-que-cela-signifie-en-pratique","Ce que cela signifie en pratique",[492,493,494,501,507],"ul",{},[495,496,497,500],"li",{},[208,498,499],{},"Pour les organisations réglementées :"," une solution permettant de mettre en œuvre des agents d'IA pour le code modernes, conforme aux politiques existantes en matière de propriété intellectuelle et de protection des données, car le code reste dans un périmètre chiffré par le matériel, sans achat de GPU ni mise en place d'opérations sur les modèles.",[495,502,503,506],{},[208,504,505],{},"Pour les équipes de développement :"," la même expérience GitLab Duo, des modèles identiques ou améliorés, sans nouvel outil à adopter. La sélection du modèle étant gérée au niveau de l'instance, le Chat et GitLab Duo Code Suggestions via l'extension GitLab Workflow héritent des mêmes paramètres de configuration confidentielle.",[495,508,509,512],{},[208,510,511],{},"Pour les équipes de conformité et de sécurité :"," l'architecture s'aligne sur la norme BSI C5:2026 concernant l'informatique confidentielle et l'attestation distante, et vous fournit des preuves techniques concrètes, à savoir des données chiffrées en cours d'utilisation et une exécution attestée, à présenter lors des discussions relatives à la directive NIS 2, au règlement DORA et au RGPD. L'architecture n'offre pas de conformité en elle-même, car la conformité est organisationnelle et continue. Elle élimine d'emblée le principal frein à l'adoption de l'IA : la crainte que le code ne quitte le périmètre.",[27,514,516],{"id":515},"découvrez-privatemode","Découvrez Privatemode",[13,518,519,520,455],{},"Privatemode en tant que fournisseur de modèles auto-hébergé pour GitLab Duo nécessite GitLab Self-Managed, GitLab Premium ou GitLab Ultimate, version 17.9 ou ultérieure, avec le module d'extension GitLab Duo Enterprise. Les flows agentiques nécessitent en outre GitLab Duo Agent Platform (en disponibilité générale à partir de la version 18.8). L'utilisation consomme des GitLab Credits selon les règles et multiplicateurs Bring Your Own Model décrits dans la ",[20,521,524],{"href":522,"rel":523},"https://docs.gitlab.com/subscriptions/gitlab_credits/",[],"documentation relative aux GitLab Credits",[27,526,528],{"id":527},"en-savoir-plus","En savoir plus",[492,530,531,537,543,550,557],{},[495,532,533],{},[20,534,536],{"href":232,"rel":535},[],"Documentation Privatemode",[495,538,539],{},[20,540,542],{"href":452,"rel":541},[],"Guide d'intégration de GitLab Duo",[495,544,545],{},[20,546,549],{"href":547,"rel":548},"https://docs.privatemode.ai/guides/coding-assistants/",[],"Guide des assistants pour le code",[495,551,552],{},[20,553,556],{"href":554,"rel":555},"https://www.privatemode.ai/case-studies/capgemini-case-study",[],"Étude de cas Capgemini",[495,558,559],{},[20,560,562],{"href":243,"rel":561},[],"Note de solution NVIDIA",[564,565,566],"style",{},"html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":285,"searchDepth":299,"depth":299,"links":568},[569,570,571,572,573,574,575,576,577,578],{"id":29,"depth":299,"text":30},{"id":45,"depth":299,"text":46},{"id":70,"depth":299,"text":71},{"id":190,"depth":299,"text":191},{"id":227,"depth":299,"text":24},{"id":260,"depth":299,"text":261},{"id":458,"depth":299,"text":459},{"id":489,"depth":299,"text":490},{"id":515,"depth":299,"text":516},{"id":527,"depth":299,"text":528},"engineering","2026-08-24","Proposez à vos équipes de développement des agents d'IA pour le code avec GitLab Duo sans que le code source ne quitte un périmètre protégé par chiffrement matériel, et sans GPU requis.","md",null,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773866173/vte9qh8rriznvyclhkes.png",{},"/fr-fr/blog/confidential-ai-for-gitlab-self-hosted",{"title":5,"description":581,"config":588},{"noIndex":589},false,"confidential-ai-for-gitlab-self-hosted","fr-fr/blog/confidential-ai-for-gitlab-self-hosted",[593,594],"AI","product","BlogPost","9hJ5k-sUdMB26kWuj0I87Zl1W3JKam1xBDcU4zNu2Yw",{"logo":598,"freeTrial":603,"sales":608,"login":613,"items":618,"search":948,"minimal":982,"duo":1001,"switchNav":1010,"pricingDeployment":1021},{"config":599},{"href":600,"dataGaName":601,"dataGaLocation":602},"/fr-fr/","gitlab logo","header",{"text":604,"config":605},"Commencer un essai gratuit",{"href":606,"dataGaName":607,"dataGaLocation":602},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr&glm_content=default-saas-trial/","free trial",{"text":609,"config":610},"Demander une démo",{"href":611,"dataGaName":612,"dataGaLocation":602},"/request-a-demo/","sales",{"text":614,"config":615},"Connexion",{"href":616,"dataGaName":617,"dataGaLocation":602},"https://gitlab.com/users/sign_in/","sign in",[619,704,792,797,872,926],{"text":620,"left":332,"config":621,"menu":623},"Plateforme",{"dataNavLevelOne":622},"platform",{"type":624,"link":625,"columns":629,"feature":694},"lists",{"text":626,"config":627},"Explorer la plateforme",{"href":628,"dataGaName":622,"dataGaLocation":602},"/fr-fr/platform/",[630,653,676],{"title":631,"items":632},"Exécution et workflows",[633,638,643,648],{"text":634,"config":635},"CI/CD",{"href":636,"dataGaLocation":602,"dataGaName":637},"/fr-fr/solutions/continuous-integration/","ci/cd",{"text":639,"config":640},"Gestion du code source",{"href":641,"dataGaLocation":602,"dataGaName":642},"/fr-fr/solutions/source-code-management/","source code management",{"text":644,"config":645},"Méthode de livraison selon les principes Agile",{"href":646,"dataGaLocation":602,"dataGaName":647},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":649,"config":650},"Gestion des artefacts",{"href":651,"dataGaLocation":602,"dataGaName":652},"/fr-fr/artifact-central/","artifact management",{"title":654,"items":655},"Sécurité et gouvernance",[656,661,666,671],{"text":657,"config":658},"Test de sécurité des applications",{"href":659,"dataGaLocation":602,"dataGaName":660},"/fr-fr/solutions/application-security-testing/","application security testing",{"text":662,"config":663},"Gouvernance et conformité",{"href":664,"dataGaLocation":602,"dataGaName":665},"/fr-fr/solutions/software-compliance/","governance and compliance",{"text":667,"config":668},"Gestion des secrets",{"href":669,"dataGaLocation":602,"dataGaName":670},"/fr-fr/gitlab-secrets-manager/","secrets management",{"text":672,"config":673},"Sécurité de la chaîne d'approvisionnement",{"href":674,"dataGaLocation":602,"dataGaName":675},"/fr-fr/solutions/supply-chain/","supply chain security",{"title":677,"items":678},"Contexte et IA",[679,684,689],{"text":680,"config":681},"Orchestration agentique",{"href":682,"dataGaLocation":602,"dataGaName":683},"/fr-fr/gitlab-duo-agent-platform/","agentic orchestration",{"text":685,"config":686},"Graphe de contexte",{"href":687,"dataGaLocation":602,"dataGaName":688},"/fr-fr/gitlab-orbit/","context graph",{"text":690,"config":691},"Visibilité et mesures",{"href":692,"dataGaLocation":602,"dataGaName":693},"/fr-fr/solutions/visibility-measurement/","visibility and measurement",{"config":695,"title":698,"text":699,"link":700},{"background":696,"textColor":697},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1790185102/o7dn32anqcb6z8dgd3as.jpg')","#000","Pourquoi utiliser GitLab","Une plateforme unique offrant une rapidité maîtrisée tout au long du cycle de développement logiciel.",{"text":528,"config":701},{"href":702,"dataGaName":703,"dataGaLocation":602},"/fr-fr/why-gitlab/","why gitlab",{"text":705,"left":332,"config":706,"menu":708},"Solutions",{"dataNavLevelOne":707},"solutions",{"type":624,"link":709,"columns":713,"feature":783},{"text":710,"config":711},"Voir toutes les solutions",{"href":712,"dataGaName":707,"dataGaLocation":602},"/fr-fr/solutions/",[714,732,750],{"title":715,"items":716},"Résultats",[717,722,727],{"text":718,"config":719},"Modernisation DevOps",{"href":720,"dataGaLocation":602,"dataGaName":721},"/fr-fr/assessments/devops-modernization-assessment/","devops modernization",{"text":723,"config":724},"Modernisation de la sécurité",{"href":725,"dataGaLocation":602,"dataGaName":726},"/fr-fr/assessments/security-modernization-assessment/","security modernization",{"text":728,"config":729},"Modernisation de l'IA",{"href":730,"dataGaLocation":602,"dataGaName":731},"/fr-fr/assessments/ai-modernization-assessment/","ai modernization",{"title":733,"items":734},"Par taille",[735,740,745],{"text":736,"config":737},"Entreprises",{"href":738,"dataGaLocation":602,"dataGaName":739},"/fr-fr/enterprise/","enterprise",{"text":741,"config":742},"PME",{"href":743,"dataGaLocation":602,"dataGaName":744},"/fr-fr/small-business/","small business",{"text":746,"config":747},"Start-up",{"href":748,"dataGaLocation":602,"dataGaName":749},"/fr-fr/solutions/startups/","startups",{"title":751,"items":752},"Secteurs",[753,758,763,768,773,778],{"text":754,"config":755},"Services financiers",{"href":756,"dataGaLocation":602,"dataGaName":757},"/fr-fr/solutions/finance/","financial services",{"text":759,"config":760},"Secteur public",{"href":761,"dataGaLocation":602,"dataGaName":762},"/fr-fr/solutions/public-sector/","public sector",{"text":764,"config":765},"Télécommunications",{"href":766,"dataGaLocation":602,"dataGaName":767},"/fr-fr/solutions/telecommunications/","telecommunications",{"text":769,"config":770},"Automobile",{"href":771,"dataGaLocation":602,"dataGaName":772},"/fr-fr/solutions/automotive/","automotive",{"text":774,"config":775},"Éducation",{"href":776,"dataGaLocation":602,"dataGaName":777},"/fr-fr/solutions/education/","education",{"text":779,"config":780},"Aérospatiale",{"href":781,"dataGaLocation":602,"dataGaName":782},"/fr-fr/solutions/aerospace/","aerospace",{"config":784,"title":785,"text":786,"link":787},{"background":696,"textColor":697},"GitLab Security Standard","Découvrez comment renforcer votre usine logicielle et permettre aux agents d'IA de gagner en autonomie sans sacrifier la sécurité.",{"text":788,"config":789},"Découvrir GitLab Security Standard",{"href":790,"dataGaName":791,"dataGaLocation":602},"/fr-fr/gitlab-security-standard/","gitlab security standard",{"text":793,"config":794},"Tarifs",{"href":795,"dataGaName":796,"dataGaLocation":602,"dataNavLevelOne":796},"/fr-fr/pricing/","pricing",{"text":798,"config":799,"menu":801},"Ressources",{"dataNavLevelOne":800},"resources",{"type":624,"link":802,"columns":806,"feature":863},{"text":803,"config":804},"Afficher toutes les ressources",{"href":805,"dataGaName":800,"dataGaLocation":602},"/fr-fr/resources/",[807,835],{"title":808,"items":809},"Découvrir",[810,815,820,825,830],{"text":811,"config":812},"Documentation",{"href":813,"dataGaName":814,"dataGaLocation":602},"https://docs.gitlab.com/","docs",{"text":816,"config":817},"GitLab University",{"href":818,"dataGaName":819,"dataGaLocation":602},"https://university.gitlab.com/","university",{"text":821,"config":822},"Démos",{"href":823,"dataGaName":824,"dataGaLocation":602},"/fr-fr/gitlab-technical-demo-series/","demo series",{"text":826,"config":827},"Centre de démos",{"href":828,"dataGaName":829,"dataGaLocation":602},"/fr-fr/demo-hub/","demo hub",{"text":831,"config":832},"Services",{"href":833,"dataGaName":834,"dataGaLocation":602},"/fr-fr/services/","services",{"title":836,"items":837},"Connecter",[838,843,848,853,858],{"text":839,"config":840},"Blog",{"href":841,"dataGaName":842,"dataGaLocation":602},"/fr-fr/blog/","blog",{"text":844,"config":845},"Communauté",{"href":846,"dataGaName":847,"dataGaLocation":602},"/community/","community",{"text":849,"config":850},"Clients",{"href":851,"dataGaName":852,"dataGaLocation":602},"/fr-fr/customers/","customers",{"text":854,"config":855},"Partenaires",{"href":856,"dataGaName":857,"dataGaLocation":602},"/fr-fr/partners/","partners",{"text":859,"config":860},"Événements",{"href":861,"dataGaName":862,"dataGaLocation":602},"/events/","events",{"config":864,"title":865,"text":866,"link":867},{"background":696,"textColor":697},"Nouveautés de GitLab","Découvrez les dernières fonctionnalités et améliorations.",{"text":868,"config":869},"Lire les articles les plus récents",{"href":870,"dataGaName":871,"dataGaLocation":602},"/fr-fr/whats-new/","whats new",{"text":873,"config":874,"menu":876},"Société",{"dataNavLevelOne":875},"company",{"type":624,"columns":877},[878],{"items":879},[880,885,891,896,901,906,911,916,921],{"text":881,"config":882},"À propos",{"href":883,"dataGaName":884,"dataGaLocation":602},"/fr-fr/company/","about",{"text":886,"config":887,"footerGa":890},"Carrières",{"href":888,"dataGaName":889,"dataGaLocation":602},"/jobs/","jobs",{"dataGaName":889},{"text":892,"config":893},"Presse",{"href":894,"dataGaName":895,"dataGaLocation":602},"/press/","press",{"text":897,"config":898},"Manuel",{"href":899,"dataGaName":900,"dataGaLocation":602},"https://handbook.gitlab.com/","handbook",{"text":902,"config":903},"Leadership",{"href":904,"dataGaName":905,"dataGaLocation":602},"/company/team/e-group/","leadership",{"text":907,"config":908},"Relations avec les investisseurs",{"href":909,"dataGaName":910,"dataGaLocation":602},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":912,"config":913},"Trust Center",{"href":914,"dataGaName":915,"dataGaLocation":602},"/fr-fr/security/","trust center",{"text":917,"config":918},"Centre pour la transparence de l'IA",{"href":919,"dataGaName":920,"dataGaLocation":602},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":922,"config":923},"Newsletter",{"href":924,"dataGaName":925,"dataGaLocation":602},"/company/contact/#contact-forms","newsletter",{"text":927,"config":928,"menu":929},"Nous contacter",{"dataNavLevelOne":875},{"type":624,"columns":930},[931],{"items":932},[933,938,943],{"text":934,"config":935},"Contacter l'équipe commerciale",{"href":936,"dataGaName":937,"dataGaLocation":602},"/fr-fr/sales/","talk to sales",{"text":939,"config":940},"Assistance GitLab",{"href":941,"dataGaName":942,"dataGaLocation":602},"https://support.gitlab.com/hc/en-us","support portal",{"text":944,"config":945},"Portail clients GitLab",{"href":946,"dataGaName":947,"dataGaLocation":602},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":949,"login":950,"suggestions":957},"Fermer",{"text":951,"link":952},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":953,"config":954},"GitLab.com",{"href":616,"dataGaName":955,"dataGaLocation":956},"search login","search",{"text":958,"default":959},"Suggestions",[960,963,967,969,974,979],{"text":961,"config":962},"GitLab Duo Agent Platform",{"href":682,"dataGaName":38,"dataGaLocation":956},{"text":964,"config":965},"Suggestions de code (IA)",{"href":682,"dataGaName":966,"dataGaLocation":956},"Code Suggestions (AI)",{"text":634,"config":968},{"href":636,"dataGaName":634,"dataGaLocation":956},{"text":970,"config":971},"GitLab sur AWS",{"href":972,"dataGaName":973,"dataGaLocation":956},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":975,"config":976},"GitLab sur Google Cloud",{"href":977,"dataGaName":978,"dataGaLocation":956},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":698,"config":980},{"href":702,"dataGaName":981,"dataGaLocation":956},"Why GitLab?",{"freeTrial":983,"mobileIcon":988,"desktopIcon":993,"secondaryButton":996},{"text":984,"config":985},"Commencer votre essai gratuit",{"href":986,"dataGaName":607,"dataGaLocation":987},"https://gitlab.com/-/trials/new/","nav",{"altText":989,"config":990},"Icône GitLab",{"src":991,"dataGaName":992,"dataGaLocation":987},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":989,"config":994},{"src":995,"dataGaName":992,"dataGaLocation":987},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":997,"config":998},"Commencer",{"href":999,"dataGaName":1000,"dataGaLocation":987},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/get-started/","get started",{"freeTrial":1002,"mobileIcon":1006,"desktopIcon":1008},{"text":1003,"config":1004},"En savoir plus sur GitLab Duo",{"href":682,"dataGaName":1005,"dataGaLocation":987},"gitlab duo",{"altText":989,"config":1007},{"src":991,"dataGaName":992,"dataGaLocation":987},{"altText":989,"config":1009},{"src":995,"dataGaName":992,"dataGaLocation":987},{"button":1011,"mobileIcon":1016,"desktopIcon":1018},{"text":1012,"config":1013},"/switch",{"href":1014,"dataGaName":1015,"dataGaLocation":987},"#contact","switch",{"altText":989,"config":1017},{"src":991,"dataGaName":992,"dataGaLocation":987},{"altText":989,"config":1019},{"src":1020,"dataGaName":992,"dataGaLocation":987},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":1022,"mobileIcon":1027,"desktopIcon":1029},{"text":1023,"config":1024},"Retour aux tarifs",{"href":795,"dataGaName":1025,"dataGaLocation":987,"icon":1026},"back to pricing","GoBack",{"altText":989,"config":1028},{"src":991,"dataGaName":992,"dataGaLocation":987},{"altText":989,"config":1030},{"src":995,"dataGaName":992,"dataGaLocation":987},{"title":1032,"button":1033,"config":1036},"GitLab Orbit est arrivé : la couche de contexte pour les agents d'IA.",{"text":528,"config":1034},{"href":687,"dataGaName":1035,"dataGaLocation":602},"orbit",{"layout":1037,"disabled":589},"release",{"data":1039},{"text":1040,"source":1041,"edit":1047,"contribute":1052,"config":1057,"items":1062,"minimal":1280},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence.",{"text":1042,"config":1043},"Afficher le code source de la page",{"href":1044,"dataGaName":1045,"dataGaLocation":1046},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":1048,"config":1049},"Modifier cette page",{"href":1050,"dataGaName":1051,"dataGaLocation":1046},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":1053,"config":1054},"Contribuer",{"href":1055,"dataGaName":1056,"dataGaLocation":1046},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":1058,"facebook":1059,"youtube":1060,"linkedin":1061},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1063,1108,1165,1206,1247],{"title":793,"links":1064,"subMenu":1079},[1065,1069,1074],{"text":1066,"config":1067},"Voir les forfaits",{"href":795,"dataGaName":1068,"dataGaLocation":1046},"view plans",{"text":1070,"config":1071},"GitLab Premium",{"href":1072,"dataGaName":1073,"dataGaLocation":1046},"/fr-fr/pricing/premium/","why premium",{"text":1075,"config":1076},"GitLab Ultimate",{"href":1077,"dataGaName":1078,"dataGaLocation":1046},"/fr-fr/pricing/ultimate/","why ultimate",[1080],{"title":927,"links":1081},[1082,1084,1086,1088,1093,1098,1103],{"text":934,"config":1083},{"href":936,"dataGaName":612,"dataGaLocation":1046},{"text":939,"config":1085},{"href":941,"dataGaName":942,"dataGaLocation":1046},{"text":944,"config":1087},{"href":946,"dataGaName":947,"dataGaLocation":1046},{"text":1089,"config":1090},"Statut",{"href":1091,"dataGaName":1092,"dataGaLocation":1046},"https://status.gitlab.com/","status",{"text":1094,"config":1095},"Conditions d'utilisation",{"href":1096,"dataGaName":1097,"dataGaLocation":1046},"/terms/","terms of use",{"text":1099,"config":1100},"Politique de confidentialité",{"href":1101,"dataGaName":1102,"dataGaLocation":1046},"/fr-fr/privacy/","privacy statement",{"text":1104,"config":1105},"Gestion des cookies",{"dataGaName":1106,"dataGaLocation":1046,"id":1107,"isOneTrustButton":332},"cookie preferences","ot-sdk-btn",{"title":620,"links":1109,"subMenu":1122},[1110,1112,1114,1116,1118,1120],{"text":626,"config":1111},{"href":628,"dataGaName":622,"dataGaLocation":1046},{"text":680,"config":1113},{"href":682,"dataGaName":683,"dataGaLocation":1046},{"text":634,"config":1115},{"href":636,"dataGaName":637,"dataGaLocation":1046},{"text":685,"config":1117},{"href":687,"dataGaName":688,"dataGaLocation":1046},{"text":667,"config":1119},{"href":669,"dataGaName":670,"dataGaLocation":1046},{"text":698,"config":1121},{"href":702,"dataGaName":703,"dataGaLocation":1046},[1123],{"title":1124,"links":1125},"Thèmes",[1126,1130,1135,1140,1145,1150,1155,1160],{"text":634,"config":1127},{"href":1128,"dataGaName":1129,"dataGaLocation":1046},"/fr-fr/topics/ci-cd/","cicd",{"text":1131,"config":1132},"GitOps",{"href":1133,"dataGaName":1134,"dataGaLocation":1046},"/fr-fr/topics/gitops/","gitops",{"text":1136,"config":1137},"DevOps",{"href":1138,"dataGaName":1139,"dataGaLocation":1046},"/fr-fr/topics/devops/","devops",{"text":1141,"config":1142},"Contrôle de version",{"href":1143,"dataGaName":1144,"dataGaLocation":1046},"/fr-fr/topics/version-control/","version control",{"text":1146,"config":1147},"DevSecOps",{"href":1148,"dataGaName":1149,"dataGaLocation":1046},"/fr-fr/topics/devsecops/","devsecops",{"text":1151,"config":1152},"Cloud-native",{"href":1153,"dataGaName":1154,"dataGaLocation":1046},"/fr-fr/topics/cloud-native/","cloud native",{"text":1156,"config":1157},"IA pour la programmation",{"href":1158,"dataGaName":1159,"dataGaLocation":1046},"/fr-fr/topics/devops/ai-for-coding/","ai for coding",{"text":1161,"config":1162},"IA agentique",{"href":1163,"dataGaName":1164,"dataGaLocation":1046},"/fr-fr/topics/agentic-ai/","agentic ai",{"title":705,"links":1166},[1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1194,1198,1202],{"text":718,"config":1168},{"href":720,"dataGaName":721,"dataGaLocation":1046},{"text":723,"config":1170},{"href":725,"dataGaName":726,"dataGaLocation":1046},{"text":728,"config":1172},{"href":730,"dataGaName":731,"dataGaLocation":1046},{"text":754,"config":1174},{"href":756,"dataGaName":757,"dataGaLocation":1046},{"text":759,"config":1176},{"href":761,"dataGaName":762,"dataGaLocation":1046},{"text":764,"config":1178},{"href":766,"dataGaName":767,"dataGaLocation":1046},{"text":769,"config":1180},{"href":771,"dataGaName":772,"dataGaLocation":1046},{"text":774,"config":1182},{"href":776,"dataGaName":777,"dataGaLocation":1046},{"text":779,"config":1184},{"href":781,"dataGaName":782,"dataGaLocation":1046},{"text":736,"config":1186},{"href":738,"dataGaName":739,"dataGaLocation":1046},{"text":741,"config":1188},{"href":743,"dataGaName":744,"dataGaLocation":1046},{"text":746,"config":1190},{"href":748,"dataGaName":749,"dataGaLocation":1046},{"text":1131,"config":1192},{"href":1193,"dataGaName":1134,"dataGaLocation":1046},"/fr-fr/solutions/gitops/",{"text":1195,"config":1196},"Analyse de la composition logicielle",{"href":674,"dataGaName":1197,"dataGaLocation":1046},"software composition analysis",{"text":1199,"config":1200},"Gestion de la chaîne de valeur",{"href":692,"dataGaName":1201,"dataGaLocation":1046},"value stream management",{"text":1203,"config":1204},"Toutes les solutions",{"href":712,"dataGaName":1205,"dataGaLocation":1046},"all solutions",{"title":798,"links":1207},[1208,1213,1218,1220,1222,1224,1226,1228,1230,1232,1234,1236,1238,1240,1243],{"text":1209,"config":1210},"Installation",{"href":1211,"dataGaName":1212,"dataGaLocation":1046},"/fr-fr/install/","install",{"text":1214,"config":1215},"Guides de démarrage",{"href":1216,"dataGaName":1217,"dataGaLocation":1046},"/fr-fr/get-started/","quick setup checklists",{"text":811,"config":1219},{"href":813,"dataGaName":814,"dataGaLocation":1046},{"text":816,"config":1221},{"href":818,"dataGaName":819,"dataGaLocation":1046},{"text":821,"config":1223},{"href":823,"dataGaName":824,"dataGaLocation":1046},{"text":826,"config":1225},{"href":828,"dataGaName":829,"dataGaLocation":1046},{"text":831,"config":1227},{"href":833,"dataGaName":834,"dataGaLocation":1046},{"text":839,"config":1229},{"href":841,"dataGaName":842,"dataGaLocation":1046},{"text":844,"config":1231},{"href":846,"dataGaName":847,"dataGaLocation":1046},{"text":849,"config":1233},{"href":851,"dataGaName":852,"dataGaLocation":1046},{"text":854,"config":1235},{"href":856,"dataGaName":857,"dataGaLocation":1046},{"text":859,"config":1237},{"href":861,"dataGaName":862,"dataGaLocation":1046},{"text":922,"config":1239},{"href":924,"dataGaName":925,"dataGaLocation":1046},{"text":1241,"config":1242},"Nouveautés",{"href":870,"dataGaName":871,"dataGaLocation":1046},{"text":1244,"config":1245},"Toutes les ressources",{"href":805,"dataGaName":1246,"dataGaLocation":1046},"all resources",{"title":873,"links":1248},[1249,1251,1253,1255,1257,1259,1261,1263,1265,1270,1275],{"text":881,"config":1250},{"href":883,"dataGaName":875,"dataGaLocation":1046},{"text":886,"config":1252},{"href":888,"dataGaName":889,"dataGaLocation":1046},{"text":892,"config":1254},{"href":894,"dataGaName":895,"dataGaLocation":1046},{"text":897,"config":1256},{"href":899,"dataGaName":900,"dataGaLocation":1046},{"text":902,"config":1258},{"href":904,"dataGaName":905,"dataGaLocation":1046},{"text":907,"config":1260},{"href":909,"dataGaName":910,"dataGaLocation":1046},{"text":912,"config":1262},{"href":914,"dataGaName":915,"dataGaLocation":1046},{"text":917,"config":1264},{"href":919,"dataGaName":920,"dataGaLocation":1046},{"text":1266,"config":1267},"Développement durable",{"href":1268,"dataGaName":1269,"dataGaLocation":1046},"/sustainability/","Sustainability",{"text":1271,"config":1272},"Diversité, inclusion et appartenance (DIB)",{"href":1273,"dataGaName":1274,"dataGaLocation":1046},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":1276,"config":1277},"Déclaration de transparence sur l'esclavage moderne",{"href":1278,"dataGaName":1279,"dataGaLocation":1046},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1281},[1282,1284,1286],{"text":1094,"config":1283},{"href":1096,"dataGaName":1097,"dataGaLocation":1046},{"text":1104,"config":1285},{"dataGaName":1106,"dataGaLocation":1046,"id":1107,"isOneTrustButton":332},{"text":1099,"config":1287},{"href":1101,"dataGaName":1102,"dataGaLocation":1046},[1289,1303],{"id":1290,"title":7,"body":583,"config":1291,"content":1293,"description":583,"extension":1297,"meta":1298,"navigation":332,"path":1299,"seo":1300,"stem":1301,"__hash__":1302},"blogAuthors/en-us/blog/authors/mathias-ewald.yml",{"template":1292},"BlogAuthor",{"name":7,"config":1294},{"headshot":1295,"ctfId":1296},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664526/Blog/Author%20Headshots/mathias_ewald_headshot.png","7vLTPhU3yvh4xTToXcLpg9","yml",{},"/en-us/blog/authors/mathias-ewald",{},"en-us/blog/authors/mathias-ewald","6h3mh_Isl2z7n-akRG5H9ijs9YS5wqTMLWKfyPjjDyQ",{"id":1304,"title":1305,"body":583,"config":1306,"content":1307,"description":583,"extension":1297,"meta":1311,"navigation":332,"path":1312,"seo":1313,"stem":1314,"__hash__":1315},"blogAuthors/en-us/blog/authors/martin-paloncy.yml","Martin Paloncy",{"template":1292},{"name":8,"config":1308},{"headshot":1309,"ctfId":1310},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1785326039/hwas3seqhkctvhkj8ef7.jpg","4vZLX2E8BoR3LCNoYdooCY",{},"/en-us/blog/authors/martin-paloncy",{},"en-us/blog/authors/martin-paloncy","lP6L0Yy34oAq9nOHHCrtZUp0OkRpvnwh33V8M10Qv0Y",[1317,1326,1334],{"title":1318,"description":1319,"heroImage":1320,"category":579,"date":1321,"authors":1322,"slug":1325,"externalUrl":583},"Git a été pensé pour les humains, il est temps de l'adapter aux agents","Découvrez comment la gestion du code source de nouvelle génération de GitLab s'adapte aux agents, et pourquoi un nouveau backend doit répondre aux défis liés à la traçabilité et au cycle de vie.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1773856365/gsx2c0vqlswox3ldmq88.jpg","2026-10-05",[1323,1324],"Kranthi Erusu","Jessica Taylor","gitlab-next-gen-scm",{"title":1327,"description":1328,"heroImage":1329,"category":579,"date":1330,"authors":1331,"slug":1333,"externalUrl":583},"Programme Co-Create : développer GitLab avec nos utilisateurs","Comment nous avons collaboré avec les utilisateurs de GitLab pour développer des améliorations produit au cours du premier semestre de l'année 2026.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099203/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2820%29_2bJGC5ZP3WheoqzlLT05C5_1750099203484.png","2026-09-29",[1332],"Isa Huerga","co-create-h1-2026",{"title":1335,"description":1336,"heroImage":1329,"category":579,"date":1337,"authors":1338,"slug":1340,"externalUrl":583},"Du chaos au contexte : comment construire un workflow de développement assisté par l'IA","Découvrez un retour d'expérience de l'itération sur les directives d'IA, la création d'un système de mémoire et ce que l'IA ne peut toujours pas remplacer dans le développement logiciel.","2026-09-14",[1339],"Gregory Havenga","building-an-ai-dev-workflow",{"header":1342,"text":1343,"button":1347,"disclaimer":1350},"Commencez votre essai gratuit\n\nde 30 jours\n",[1344,1345,1346],"Accédez à GitLab Duo Agent Platform","Essayez nos fonctionnalités les plus avancées","Automatisez les tâches complexes avec l'IA",{"text":604,"config":1348},{"href":1349,"dataGaName":607,"dataGaLocation":842},"https://gitlab.com/-/trials/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/fr-fr/blog/","Aucune carte de crédit requise.",{"header":1352,"blurb":1353,"button":1354,"secondaryButton":1358},"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":604,"config":1355},{"href":1356,"dataGaName":607,"dataGaLocation":1357},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/fr-fr/","feature",{"text":934,"config":1359},{"href":936,"dataGaName":612,"dataGaLocation":1357},1791952248211]