[{"data":1,"prerenderedAt":1175},["ShallowReactive",2],{"/fr-fr/blog/monitor-application-performance-with-distributed-tracing":3,"navigation-fr-fr":391,"banner-fr-fr":826,"footer-fr-fr":834,"blog-post-authors-fr-fr-Sacha Guyon":1072,"blog-related-posts-fr-fr-monitor-application-performance-with-distributed-tracing":1087,"blog-promotions-fr-fr":1113,"next-steps-fr-fr":1166},{"id":4,"title":5,"authors":6,"body":8,"category":366,"date":367,"description":368,"extension":369,"externalUrl":370,"faq":370,"featured":371,"heroImage":372,"meta":373,"navigation":371,"path":374,"seo":375,"slug":380,"stem":381,"tags":382,"template":388,"updatedDate":389,"__hash__":390},"blogPosts/fr-fr/blog/monitor-application-performance-with-distributed-tracing.md","Surveillez les performances de vos applications avec le traçage distribué",[7],"Sacha Guyon",{"type":9,"value":10,"toc":347},"minimark",[11,22,25,28,51,56,59,62,65,69,72,75,80,90,97,100,135,138,144,148,151,155,171,179,182,188,192,195,211,214,218,221,253,259,263,266,269,272,276,285,288,292,301,316,319,327,335,339],[12,13,14,15,21],"p",{},"Les temps d'arrêt, qu'ils soient causés par des dysfonctionnements ou des problèmes de performance des applications, peuvent avoir des conséquences financières désastreuses pour les entreprises. En effet, l'enquête « Global Server Hardware and Server OS Reliability » publiée en 2022 par ",[16,17,20],"a",{"href":18,"rel":19},"https://itic-corp.com/server-and-application-by-the-numbers-understanding-the-nines/",[],"Information Technology Intelligence Consulting",", révèle qu’un temps d'arrêt d’une heure coûterait aux entreprises 301 000 dollars ou plus. Bien souvent, ces problèmes proviennent d'erreurs humaines qui se produisent lors de modifications liées au code ou à la configuration logicielle.",[12,23,24],{},"La résolution de ces incidents exige une collaboration étroite entre les équipes chargées du développement et des opérations. Ces dernières doivent analyser les différents composants du système pour identifier la cause profonde du changement rencontré et rétablir rapidement le système pour qu’il fonctionne à nouveau normalement.",[12,26,27],{},"Cependant, il n'est pas rare que ces équipes utilisent des outils différents pour concevoir, gérer et surveiller leurs services applicatifs et leur infrastructure. Cela n'est pas sans conséquences, car cette approche entraîne un cloisonnement des données, des changements de contexte inefficaces et une mauvaise communication entre les équipes. Tout ceci allonge ainsi le temps nécessaire à la détection et à la résolution des incidents.",[12,29,30,31,36,37,43,44,50],{},"Découvrez dans cet article tout ce que vous devez savoir sur le traçage distribué, sans oublier notre fonctionnalité de « ",[16,32,35],{"href":33,"rel":34},"https://docs.gitlab.com/development/",[],"Distributed Tracing"," » (disponible en version bêta), une nouvelle étape vers une offre complète d’",[16,38,42],{"href":39,"rel":40,"title":41},"https://about.gitlab.com/fr-fr/blog/observability-vs-monitoring-in-devops/",[],"DevOps : de la surveillance à l'observabilité","observabilité",", intégrée de manière transparente à la plateforme ",[16,45,49],{"href":46,"rel":47,"title":48},"https://about.gitlab.com/fr-fr/topics/devsecops/",[],"Qu'est-ce que DevSecOps ?","DevSecOps"," de GitLab.",[52,53,55],"h2",{"id":54},"une-nouvelle-ère-avec-gitlab-observability","Une nouvelle ère avec GitLab Observability",[12,57,58],{},"GitLab Observability permet aux équipes chargées du développement et des opérations de visualiser et d'analyser les erreurs, les traces, les journaux, ainsi que les indicateurs de performance de leurs applications et de leur infrastructure.",[12,60,61],{},"En intégrant la surveillance des performances des applications directement dans les workflows de livraison de logiciels, nous réduisons les interruptions liées aux changements de contexte, augmentant ainsi la productivité des équipes qui peuvent alors collaborer efficacement au sein d'une plateforme unifiée.",[12,63,64],{},"De plus, GitLab Observability comble le fossé entre le développement et les opérations en fournissant des informations précieuses sur les performances des applications en phase de production. Cela favorise la transparence, le partage d'informations et une meilleure communication entre les équipes. Elles peuvent alors détecter et résoudre plus rapidement et efficacement les bogues et problèmes de performance liés aux changements de code ou de configuration. Ainsi, cela évite que ces problèmes ne se transforment en incidents majeurs susceptibles de nuire aux activités de l'entreprise.",[52,66,68],{"id":67},"quest-ce-que-le-traçage-distribué","Qu'est-ce que le traçage distribué ?",[12,70,71],{},"Avec le traçage distribué, les ingénieurs peuvent identifier l'origine des problèmes liés à la performance des applications. Une trace correspond à une requête d’un utilisateur unique qui chemine à travers différents services et systèmes. Cela permet aux ingénieurs d'analyser la chronologie de chaque opération et de détecter les erreurs éventuelles au fur et à mesure qu’elles se produisent.",[12,73,74],{},"Chaque trace est composée d'un ou de plusieurs spans (qui sont des opérations individuelles ou des unités de travail spécifiques). Ces spans contiennent un large éventail de métadonnées telles que le nom, les horodatages, le statut, ainsi que des tags ou des journaux pertinents. En examinant les relations entre les spans, les équipes de développement peuvent comprendre le parcours des requêtes, identifier les goulots d'étranglement en termes de performance, et localiser précisément les problèmes.",[76,77,79],"h3",{"id":78},"le-traçage-distribué-dans-les-microservices","Le traçage distribué dans les microservices",[12,81,82,83,89],{},"Le traçage distribué est particulièrement utile pour l'",[16,84,88],{"href":85,"rel":86,"title":87},"https://about.gitlab.com/fr-fr/blog/what-are-the-benefits-of-a-microservices-architecture/",[],"Architecture de microservices","architecture de microservices",". Dans ce type d'architecture, une seule requête peut impliquer de nombreux appels de services à travers un système complexe. Grâce au traçage distribué, les équipes obtiennent un maximum de visibilité sur cette interaction et peuvent rapidement diagnostiquer et résoudre les problèmes.",[12,91,92],{},[93,94],"img",{"alt":95,"src":96},"Exemple de traçage distribué (distributed tracing)","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098009/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750098009139.png",[12,98,99],{},"Par exemple, cette trace illustre la manière dont une requête utilisateur passe par différents services pour obtenir des recommandations de produits sur un site e-commerce :",[101,102,103,111,117,123,129],"ul",{},[104,105,106,110],"li",{},[107,108,109],"strong",{},"Action de l’utilisateur."," Cela correspond à l'action initiale de l'utilisateur. Par exemple, un clic sur un bouton pour demander des recommandations de produits sur une page produit.",[104,112,113,116],{},[107,114,115],{},"Frontend."," Le frontend envoie une requête au service de recommandation pour obtenir une liste de produits recommandés.",[104,118,119,122],{},[107,120,121],{},"Service de recommandation."," La requête provenant du frontend est traitée par le service de recommandation, qui génère une liste de produits recommandés.",[104,124,125,128],{},[107,126,127],{},"Service de catalogue."," Le service de recommandation appelle le service de catalogue pour récupérer les détails des produits recommandés. Une icône d'alerte signale un problème ou un ralentissement à cette étape (par exemple, une réponse lente ou une erreur lors de la récupération des détails des produits).",[104,130,131,134],{},[107,132,133],{},"Base de données."," Le service de catalogue interroge la base de données pour récupérer les informations détaillées des produits. Ce span montre la requête SQL effectuée dans la base de données.",[12,136,137],{},"En visualisant cette trace de bout en bout, les équipes de développement peuvent identifier les problèmes de performance (comme ici, une erreur au niveau du service de catalogue) et diagnostiquer puis résoudre rapidement les problèmes à travers l'ensemble du système distribué.",[12,139,140],{},[93,141],{"alt":142,"src":143},"Exemple de trace du parcours utilisateur","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098009/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750098009140.png",[52,145,147],{"id":146},"comment-fonctionne-le-traçage-distribué","Comment fonctionne le traçage distribué ?",[12,149,150],{},"Découvrez ci-dessous une explication détaillée du fonctionnement du traçage distribué.",[76,152,154],{"id":153},"collectez-des-données-en-provenance-de-nimporte-quelle-application-avec-opentelemetry","Collectez des données en provenance de n'importe quelle application avec OpenTelemetry",[12,156,157,158,164,165,170],{},"Les traces et les spans peuvent être collectés avec ",[16,159,163],{"href":160,"rel":161,"title":162},"https://opentelemetry.io/docs/what-is-opentelemetry/",[],"Qu'est-ce qu'OpenTelemetry ?","OpenTelemetry"," (un framework d’observabilité open source). Ce dernier prend en charge un large éventail de SDK et de bibliothèques dans les principaux ",[16,166,169],{"href":167,"rel":168},"https://opentelemetry.io/docs/languages/",[],"langages de programmation et frameworks",". Ce framework propose une approche indépendante pour la collecte et l'exportation des données de télémétrie, permettant ainsi aux équipes de développement :",[101,172,173,176],{},[104,174,175],{},"d'éviter toute dépendance vis-à-vis d’un fournisseur,",[104,177,178],{},"de choisir librement les outils les plus adaptés à leurs besoins.",[12,180,181],{},"De cette façon, si vous utilisez déjà OpenTelemetry avec un autre fournisseur et que vous souhaitez essayer les fonctionnalités de GitLab, il vous suffit d'ajouter notre point de terminaison à votre fichier de configuration pour nous envoyer vos données.",[12,183,184],{},[93,185],{"alt":186,"src":187},"Diagramme représentant le workflow du traçage distribué","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098009/Blog/Content%20Images/Blog/Content%20Images/image5_aHR0cHM6_1750098009141.png",[76,189,191],{"id":190},"ingérez-et-conservez-des-données-à-grande-échelle-avec-des-requêtes-rapides-et-en-temps-réel","Ingérez et conservez des données à grande échelle avec des requêtes rapides et en temps réel",[12,193,194],{},"L'observabilité implique de stocker et d'interroger d'importants volumes de données, tout en assurant une faible latence pour les analyses en temps réel.",[12,196,197,198,204,205,210],{},"Pour répondre à ces exigences, nous avons développé, grâce à ClickHouse et ",[16,199,203],{"href":200,"rel":201,"title":202},"https://about.gitlab.com/fr-fr/blog/kubernetes-the-container-orchestration-solution/",[],"Qu'est-ce que Kubernetes ?","Kubernetes",", une ",[16,206,209],{"href":207,"rel":208},"https://gitlab.com/gitlab-org/opstrace/opstrace",[],"solution de stockage à long terme qui se met à l'échelle horizontalement",".",[12,212,213],{},"Cette plateforme open source assure une performance rapide des requêtes et une évolutivité de niveau entreprise, tout en réduisant les coûts.",[76,215,217],{"id":216},"explorez-et-analysez-les-traces-en-toute-simplicité","Explorez et analysez les traces en toute simplicité",[12,219,220],{},"Une interface utilisateur native avancée est essentielle pour une exploration efficace des données. Pour cela, nous avons construit une interface, en commençant par notre Trace Explorer, permettant aux utilisateurs d'examiner les traces et de mieux comprendre les performances de leurs applications :",[101,222,223,229,235,241,247],{},[104,224,225,228],{},[107,226,227],{},"Filtrage avancé."," Filtrez par service, nom d'opération, statut et intervalle de temps. L'autocomplétion facilite la création des requêtes.",[104,230,231,234],{},[107,232,233],{},"Mise en évidence des erreurs."," Identifiez facilement les spans contenant des erreurs dans les résultats de recherche.",[104,236,237,240],{},[107,238,239],{},"Métriques RED."," Visualisez le taux de requêtes, le taux d'erreurs et la durée moyenne depuis un graphique de série temporelle pour toute recherche en temps réel.",[104,242,243,246],{},[107,244,245],{},"Vue chronologique."," Les traces individuelles sont affichées sous forme de diagramme en cascade, garantissant une vue complète d'une requête distribuée entre les différents services et opérations.",[104,248,249,252],{},[107,250,251],{},"Données historiques."," Les utilisateurs peuvent interroger les traces remontant jusqu'à 30 jours en arrière.",[12,254,255],{},[93,256],{"alt":257,"src":258},"Exploration de traces sous forme de graphique de série temporelle","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098009/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750098009141.png",[52,260,262],{"id":261},"comment-nous-utilisons-le-traçage-distribué-chez-gitlab","Comment nous utilisons le traçage distribué chez GitLab",[12,264,265],{},"L'utilisation de nos propres fonctionnalités en interne (aussi appelé Dogfooding) est une valeur fondamentale et une pratique essentielle chez GitLab.",[12,267,268],{},"C'est pourquoi, pour répondre aux besoins de nos équipes d'ingénierie et d'opérations, nous avons déjà commencé à utiliser les premières versions du traçage distribué.",[12,270,271],{},"À travers ces exemples, découvrez comment nos équipes utilisent le traçage distribué :",[76,273,275],{"id":274},"déboguez-les-erreurs-et-les-problèmes-de-performance-dans-gitlab-agent-pour-kubernetes","Déboguez les erreurs et les problèmes de performance dans GitLab Agent pour Kubernetes",[12,277,278,279,284],{},"Le groupe « Environments » (équipe responsable des environnements dans la phase de déploiement du cycle de vie DevOps) utilise le traçage distribué pour identifier et résoudre divers problèmes liés à ",[16,280,283],{"href":281,"rel":282,"title":283},"https://gitlab.com/gitlab-org/cluster-integration/gitlab-agent",[],"GitLab Agent pour Kubernetes"," (comme les délais d'attente ou les problèmes de latence élevée).",[12,286,287],{},"Les vues « Trace List » et « Trace Timeline » fournissent des informations précieuses permettant aux équipes de traiter ces problèmes efficacement. Ces traces sont ensuite partagées et discutées dans les tickets correspondants, favorisant ainsi une collaboration efficace entre les équipes pour la résolution des problèmes.",[76,289,291],{"id":290},"optimisez-le-temps-dexécution-des-pipelines-en-identifiant-les-goulots-détranglement","Optimisez le temps d'exécution des pipelines en identifiant les goulots d'étranglement",[12,293,294,295,300],{},"Notre dépôt principal ",[16,296,299],{"href":297,"rel":298},"https://gitlab.com/gitlab-org/gitlab/-/pipelines/charts",[],"exécute plus de 100 000 pipelines chaque mois",". Si le temps d'exécution de ces pipelines variait ne serait-ce que d'une minute, cela pourrait ajouter plus de 2 000 heures de travail, soit l'équivalent de 87 jours supplémentaires. C'est pourquoi, lorsque le code source de GitLab se déploie lentement, son impact est considérable, tant sur notre productivité que sur nos coûts d'exploitation.",[12,302,303,304,309,310,315],{},"Pour optimiser le temps d'exécution des pipelines, les ",[16,305,308],{"href":306,"rel":307},"https://handbook.gitlab.com/handbook/engineering/infrastructure/",[],"équipes d'ingénierie de la plateforme GitLab"," utilisent un ",[16,311,314],{"href":312,"rel":313},"https://gitlab.com/gitlab-com/gl-infra/gitlab-pipeline-trace",[],"outil personnalisé"," qui convertit les pipelines de déploiement GitLab en traces.",[12,317,318],{},"Ainsi, la vue « Trace Timeline » leur permet de :",[101,320,321,324],{},[104,322,323],{},"visualiser en détail la chronologie d'exécution des pipelines complexes",[104,325,326],{},"repérer les jobs qui ralentissent l'ensemble du processus.",[12,328,329,330,334],{},"En identifiant ces goulots d'étranglement, nos équipes peuvent optimiser l'exécution des jobs (par exemple, en accélérant l'échec du job, ou en exécutant davantage de jobs en parallèle), afin d'améliorer l'efficacité globale du pipeline. ",[16,331,333],{"href":312,"rel":332},[],"Notre script est disponible gratuitement",", vous pouvez donc l'adapter à vos propres pipelines.",[52,336,338],{"id":337},"testez-le-traçage-distribué-sur-gitlab","Testez le traçage distribué sur GitLab",[12,340,341,346],{},[16,342,345],{"href":343,"rel":344,"title":338},"https://docs.gitlab.com/operations/observability/",[],"Participez à notre bêta privée"," et testez nos fonctionnalités. Votre contribution nous aidera à développer des outils qui répondent parfaitement à vos besoins et à vos défis. Aidez- nous à façonner l'avenir de l'observabilité au sein de GitLab !",{"title":348,"searchDepth":349,"depth":349,"links":350},"",2,[351,352,356,361,365],{"id":54,"depth":349,"text":55},{"id":67,"depth":349,"text":68,"children":353},[354],{"id":78,"depth":355,"text":79},3,{"id":146,"depth":349,"text":147,"children":357},[358,359,360],{"id":153,"depth":355,"text":154},{"id":190,"depth":355,"text":191},{"id":216,"depth":355,"text":217},{"id":261,"depth":349,"text":262,"children":362},[363,364],{"id":274,"depth":355,"text":275},{"id":290,"depth":355,"text":291},{"id":337,"depth":349,"text":338},"product","2024-06-13","Découvrez comment le traçage distribué résout les problèmes de performance des applications en offrant une visibilité de bout en bout et en favorisant une collaboration fluide.","md",null,true,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098000/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%288%29_5x6kH5vwjz8cwKgSBh1w11_1750098000511.png",{},"/fr-fr/blog/monitor-application-performance-with-distributed-tracing",{"title":5,"description":368,"ogTitle":5,"ogDescription":368,"noIndex":376,"ogImage":372,"ogUrl":377,"ogSiteName":378,"ogType":379,"canonicalUrls":377},false,"https://about.gitlab.com/blog/monitor-application-performance-with-distributed-tracing","https://about.gitlab.com","article","monitor-application-performance-with-distributed-tracing","fr-fr/blog/monitor-application-performance-with-distributed-tracing",[383,384,385,386,387],"performance","features","news","DevSecOps platform","collaboration","BlogPost","2025-02-04","efX5IVVxtGYiF_KCaKokN9yYiNXFYG_uwTgDYbVlheM",{"logo":392,"freeTrial":397,"sales":402,"login":407,"items":412,"search":741,"minimal":777,"duo":796,"switchNav":805,"pricingDeployment":816},{"config":393},{"href":394,"dataGaName":395,"dataGaLocation":396},"/fr-fr/","gitlab logo","header",{"text":398,"config":399},"Commencer un essai gratuit",{"href":400,"dataGaName":401,"dataGaLocation":396},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr&glm_content=default-saas-trial/","free trial",{"text":403,"config":404},"Demander une démo",{"href":405,"dataGaName":406,"dataGaLocation":396},"/fr-fr/sales/?contact-topic=request-demo","sales",{"text":408,"config":409},"Connexion",{"href":410,"dataGaName":411,"dataGaLocation":396},"https://gitlab.com/users/sign_in/","sign in",[413,442,544,549,663,719],{"text":414,"config":415,"menu":417},"Plateforme",{"dataNavLevelOne":416},"platform",{"type":418,"columns":419},"cards",[420,426,434],{"title":414,"description":421,"link":422},"La plateforme d'orchestration intelligente pour le DevSecOps",{"text":423,"config":424},"Explorer notre plateforme",{"href":425,"dataGaName":416,"dataGaLocation":396},"/fr-fr/platform/",{"title":427,"description":428,"link":429},"GitLab Duo Agent Platform","L'IA agentique pour l'ensemble du cycle de développement logiciel",{"text":430,"config":431},"Découvrir GitLab Duo",{"href":432,"dataGaName":433,"dataGaLocation":396},"/fr-fr/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":435,"description":436,"link":437},"Pourquoi GitLab ?","Découvrez les principales raisons pour lesquelles les entreprises choisissent GitLab",{"text":438,"config":439},"En savoir plus",{"href":440,"dataGaName":441,"dataGaLocation":396},"/fr-fr/why-gitlab/","why gitlab",{"text":443,"left":371,"config":444,"menu":446},"Produit",{"dataNavLevelOne":445},"solutions",{"type":447,"link":448,"columns":452,"feature":523},"lists",{"text":449,"config":450},"Voir toutes les solutions",{"href":451,"dataGaName":445,"dataGaLocation":396},"/fr-fr/solutions/",[453,478,501],{"title":454,"description":455,"link":456,"items":461},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":457},{"icon":458,"href":459,"dataGaName":460,"dataGaLocation":396},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[462,466,469,474],{"text":463,"config":464},"CI/CD",{"href":465,"dataGaLocation":396,"dataGaName":463},"/fr-fr/solutions/continuous-integration/",{"text":427,"config":467},{"href":432,"dataGaLocation":396,"dataGaName":468},"gitlab duo agent platform - product menu",{"text":470,"config":471},"Gestion du code source",{"href":472,"dataGaLocation":396,"dataGaName":473},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":475,"config":476},"Livraison de logiciels automatisée",{"href":459,"dataGaLocation":396,"dataGaName":477},"Automated software delivery",{"title":479,"description":480,"link":481,"items":486},"Sécurité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":482},{"href":483,"dataGaName":484,"dataGaLocation":396,"icon":485},"/fr-fr/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[487,491,496],{"text":488,"config":489},"Tests de sécurité des applications",{"href":483,"dataGaName":490,"dataGaLocation":396},"Application security testing",{"text":492,"config":493},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":494,"dataGaLocation":396,"dataGaName":495},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":497,"config":498},"Conformité logicielle",{"href":499,"dataGaName":500,"dataGaLocation":396},"/fr-fr/solutions/software-compliance/","software compliance",{"title":502,"link":503,"items":508},"Mesures",{"config":504},{"icon":505,"href":506,"dataGaName":507,"dataGaLocation":396},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[509,513,518],{"text":510,"config":511},"Visibilité et mesures",{"href":506,"dataGaLocation":396,"dataGaName":512},"Visibility and Measurement",{"text":514,"config":515},"Gestion de la chaîne de valeur",{"href":516,"dataGaLocation":396,"dataGaName":517},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":519,"config":520},"Analyses et informations",{"href":521,"dataGaLocation":396,"dataGaName":522},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":524,"type":447,"items":525},"GitLab",[526,532,538],{"text":527,"config":528},"Entreprises",{"icon":529,"href":530,"dataGaLocation":396,"dataGaName":531},"Building","/fr-fr/enterprise/","enterprise",{"text":533,"config":534},"Pour les PME",{"icon":535,"href":536,"dataGaLocation":396,"dataGaName":537},"Work","/fr-fr/small-business/","small business",{"text":539,"config":540},"Pour le secteur public",{"icon":541,"href":542,"dataGaLocation":396,"dataGaName":543},"Organization","/fr-fr/solutions/public-sector/","public sector",{"text":545,"config":546},"Tarifs",{"href":547,"dataGaName":548,"dataGaLocation":396,"dataNavLevelOne":548},"/fr-fr/pricing/","pricing",{"text":550,"config":551,"menu":553},"Ressources",{"dataNavLevelOne":552},"resources",{"type":447,"link":554,"columns":558,"feature":652},{"text":555,"config":556},"Afficher toutes les ressources",{"href":557,"dataGaName":552,"dataGaLocation":396},"/fr-fr/resources/",[559,592,619],{"title":560,"items":561},"Premiers pas",[562,567,572,577,582,587],{"text":563,"config":564},"Installation",{"href":565,"dataGaName":566,"dataGaLocation":396},"/fr-fr/install/","install",{"text":568,"config":569},"Guides de démarrage",{"href":570,"dataGaName":571,"dataGaLocation":396},"/fr-fr/get-started/","quick setup checklists",{"text":573,"config":574},"Apprentissage",{"href":575,"dataGaLocation":396,"dataGaName":576},"https://university.gitlab.com/","learn",{"text":578,"config":579},"Documentation",{"href":580,"dataGaName":581,"dataGaLocation":396},"https://docs.gitlab.com/","product documentation",{"text":583,"config":584},"Vidéos sur les bonnes pratiques",{"href":585,"dataGaName":586,"dataGaLocation":396},"/fr-fr/getting-started-videos/","best practice videos",{"text":588,"config":589},"Intégrations",{"href":590,"dataGaName":591,"dataGaLocation":396},"/fr-fr/integrations/","integrations",{"title":593,"items":594},"Découvrir",[595,600,605,610,614],{"text":596,"config":597},"Témoignages clients",{"href":598,"dataGaName":599,"dataGaLocation":396},"/fr-fr/customers/","customer success stories",{"text":601,"config":602},"Blog",{"href":603,"dataGaName":604,"dataGaLocation":396},"/fr-fr/blog/","blog",{"text":606,"config":607},"Demo Hub",{"href":608,"dataGaName":609,"dataGaLocation":396},"/fr-fr/demo-hub/","demo hub",{"text":611,"config":612},"The Source",{"href":613,"dataGaName":604,"dataGaLocation":396},"/fr-fr/the-source/",{"text":615,"config":616},"Travail à distance",{"href":617,"dataGaName":618,"dataGaLocation":396},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":620,"items":621},"Connecter",[622,627,632,637,642,647],{"text":623,"config":624},"Services GitLab",{"href":625,"dataGaName":626,"dataGaLocation":396},"/fr-fr/services/","services",{"text":628,"config":629},"Contribuer",{"href":630,"dataGaName":631,"dataGaLocation":396},"https://contributors.gitlab.com","contribute",{"text":633,"config":634},"Communauté",{"href":635,"dataGaName":636,"dataGaLocation":396},"/community/","community",{"text":638,"config":639},"Forum",{"href":640,"dataGaName":641,"dataGaLocation":396},"https://forum.gitlab.com/","forum",{"text":643,"config":644},"Événements",{"href":645,"dataGaName":646,"dataGaLocation":396},"/events/","events",{"text":648,"config":649},"Partenaires",{"href":650,"dataGaName":651,"dataGaLocation":396},"/fr-fr/partners/","partners",{"config":653,"title":656,"text":657,"link":658},{"background":654,"textColor":655},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","Nouveautés de GitLab","Découvrez les dernières fonctionnalités et améliorations.",{"text":659,"config":660},"Lire les articles les plus récents",{"href":661,"dataGaName":662,"dataGaLocation":396},"/fr-fr/whats-new/","whats new",{"text":664,"config":665,"menu":667},"Société",{"dataNavLevelOne":666},"company",{"type":447,"columns":668},[669],{"items":670},[671,676,682,684,689,694,699,704,709,714],{"text":672,"config":673},"À propos",{"href":674,"dataGaName":675,"dataGaLocation":396},"/fr-fr/company/","about",{"text":677,"config":678,"footerGa":681},"Carrières",{"href":679,"dataGaName":680,"dataGaLocation":396},"/jobs/","jobs",{"dataGaName":680},{"text":643,"config":683},{"href":645,"dataGaName":646,"dataGaLocation":396},{"text":685,"config":686},"Leadership",{"href":687,"dataGaName":688,"dataGaLocation":396},"/company/team/e-group/","leadership",{"text":690,"config":691},"Manuel",{"href":692,"dataGaName":693,"dataGaLocation":396},"https://handbook.gitlab.com/","handbook",{"text":695,"config":696},"Relations avec les investisseurs",{"href":697,"dataGaName":698,"dataGaLocation":396},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":700,"config":701},"Trust Center",{"href":702,"dataGaName":703,"dataGaLocation":396},"/fr-fr/security/","trust center",{"text":705,"config":706},"Centre pour la transparence de l'IA",{"href":707,"dataGaName":708,"dataGaLocation":396},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":710,"config":711},"Newsletter",{"href":712,"dataGaName":713,"dataGaLocation":396},"/company/contact/#contact-forms","newsletter",{"text":715,"config":716},"Presse",{"href":717,"dataGaName":718,"dataGaLocation":396},"/press/","press",{"text":720,"config":721,"menu":722},"Nous contacter",{"dataNavLevelOne":666},{"type":447,"columns":723},[724],{"items":725},[726,731,736],{"text":727,"config":728},"Contacter l'équipe commerciale",{"href":729,"dataGaName":730,"dataGaLocation":396},"/fr-fr/sales/","talk to sales",{"text":732,"config":733},"Assistance GitLab",{"href":734,"dataGaName":735,"dataGaLocation":396},"https://support.gitlab.com/hc/en-us","support portal",{"text":737,"config":738},"Portail clients GitLab",{"href":739,"dataGaName":740,"dataGaLocation":396},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":742,"login":743,"suggestions":750},"Fermer",{"text":744,"link":745},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":746,"config":747},"GitLab.com",{"href":410,"dataGaName":748,"dataGaLocation":749},"search login","search",{"text":751,"default":752},"Suggestions",[753,756,761,763,768,773],{"text":427,"config":754},{"href":432,"dataGaName":755,"dataGaLocation":749},"GitLab Duo Agent Platform",{"text":757,"config":758},"Suggestions de code (IA)",{"href":759,"dataGaName":760,"dataGaLocation":749},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":463,"config":762},{"href":465,"dataGaName":463,"dataGaLocation":749},{"text":764,"config":765},"GitLab sur AWS",{"href":766,"dataGaName":767,"dataGaLocation":749},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":769,"config":770},"GitLab sur Google Cloud",{"href":771,"dataGaName":772,"dataGaLocation":749},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":774,"config":775},"Pourquoi utiliser GitLab ?",{"href":440,"dataGaName":776,"dataGaLocation":749},"Why GitLab?",{"freeTrial":778,"mobileIcon":783,"desktopIcon":788,"secondaryButton":791},{"text":779,"config":780},"Commencer votre essai gratuit",{"href":781,"dataGaName":401,"dataGaLocation":782},"https://gitlab.com/-/trials/new/","nav",{"altText":784,"config":785},"Icône GitLab",{"src":786,"dataGaName":787,"dataGaLocation":782},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":784,"config":789},{"src":790,"dataGaName":787,"dataGaLocation":782},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":792,"config":793},"Commencer",{"href":794,"dataGaName":795,"dataGaLocation":782},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/get-started/","get started",{"freeTrial":797,"mobileIcon":801,"desktopIcon":803},{"text":798,"config":799},"En savoir plus sur GitLab Duo",{"href":432,"dataGaName":800,"dataGaLocation":782},"gitlab duo",{"altText":784,"config":802},{"src":786,"dataGaName":787,"dataGaLocation":782},{"altText":784,"config":804},{"src":790,"dataGaName":787,"dataGaLocation":782},{"button":806,"mobileIcon":811,"desktopIcon":813},{"text":807,"config":808},"/switch",{"href":809,"dataGaName":810,"dataGaLocation":782},"#contact","switch",{"altText":784,"config":812},{"src":786,"dataGaName":787,"dataGaLocation":782},{"altText":784,"config":814},{"src":815,"dataGaName":787,"dataGaLocation":782},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":817,"mobileIcon":822,"desktopIcon":824},{"text":818,"config":819},"Retour aux tarifs",{"href":547,"dataGaName":820,"dataGaLocation":782,"icon":821},"back to pricing","GoBack",{"altText":784,"config":823},{"src":786,"dataGaName":787,"dataGaLocation":782},{"altText":784,"config":825},{"src":790,"dataGaName":787,"dataGaLocation":782},{"title":827,"button":828,"config":832},"GitLab Orbit est arrivé : la couche de contexte pour les agents d'IA.",{"text":438,"config":829},{"href":830,"dataGaName":831,"dataGaLocation":396},"/fr-fr/gitlab-orbit/","orbit",{"layout":833,"disabled":376},"release",{"data":835},{"text":836,"source":837,"edit":843,"contribute":848,"config":852,"items":857,"minimal":1064},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence.",{"text":838,"config":839},"Afficher le code source de la page",{"href":840,"dataGaName":841,"dataGaLocation":842},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":844,"config":845},"Modifier cette page",{"href":846,"dataGaName":847,"dataGaLocation":842},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":628,"config":849},{"href":850,"dataGaName":851,"dataGaLocation":842},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":853,"facebook":854,"youtube":855,"linkedin":856},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[858,904,956,999,1031],{"title":545,"links":859,"subMenu":874},[860,864,869],{"text":861,"config":862},"Voir les forfaits",{"href":547,"dataGaName":863,"dataGaLocation":842},"view plans",{"text":865,"config":866},"GitLab Premium",{"href":867,"dataGaName":868,"dataGaLocation":842},"/fr-fr/pricing/premium/","why premium",{"text":870,"config":871},"GitLab Ultimate",{"href":872,"dataGaName":873,"dataGaLocation":842},"/fr-fr/pricing/ultimate/","why ultimate",[875],{"title":720,"links":876},[877,879,881,884,889,894,899],{"text":727,"config":878},{"href":729,"dataGaName":406,"dataGaLocation":842},{"text":732,"config":880},{"href":734,"dataGaName":735,"dataGaLocation":842},{"text":882,"config":883},"Portail clients",{"href":739,"dataGaName":740,"dataGaLocation":842},{"text":885,"config":886},"Statut",{"href":887,"dataGaName":888,"dataGaLocation":842},"https://status.gitlab.com/","status",{"text":890,"config":891},"Conditions d'utilisation",{"href":892,"dataGaName":893,"dataGaLocation":842},"/terms/","terms of use",{"text":895,"config":896},"Politique de confidentialité",{"href":897,"dataGaName":898,"dataGaLocation":842},"/fr-fr/privacy/","privacy statement",{"text":900,"config":901},"Gestion des cookies",{"dataGaName":902,"dataGaLocation":842,"id":903,"isOneTrustButton":371},"cookie preferences","ot-sdk-btn",{"title":443,"links":905,"subMenu":914},[906,910],{"text":907,"config":908},"Plateforme DevSecOps",{"href":425,"dataGaName":909,"dataGaLocation":842},"devsecops platform",{"text":911,"config":912},"Développement assisté par l'IA",{"href":432,"dataGaName":913,"dataGaLocation":842},"ai-assisted development",[915],{"title":916,"links":917},"Thèmes",[918,922,927,932,937,941,946,951],{"text":463,"config":919},{"href":920,"dataGaName":921,"dataGaLocation":842},"/fr-fr/topics/ci-cd/","cicd",{"text":923,"config":924},"GitOps",{"href":925,"dataGaName":926,"dataGaLocation":842},"/fr-fr/topics/gitops/","gitops",{"text":928,"config":929},"DevOps",{"href":930,"dataGaName":931,"dataGaLocation":842},"/fr-fr/topics/devops/","devops",{"text":933,"config":934},"Contrôle de version",{"href":935,"dataGaName":936,"dataGaLocation":842},"/fr-fr/topics/version-control/","version control",{"text":49,"config":938},{"href":939,"dataGaName":940,"dataGaLocation":842},"/fr-fr/topics/devsecops/","devsecops",{"text":942,"config":943},"Cloud-native",{"href":944,"dataGaName":945,"dataGaLocation":842},"/fr-fr/topics/cloud-native/","cloud native",{"text":947,"config":948},"IA pour la programmation",{"href":949,"dataGaName":950,"dataGaLocation":842},"/fr-fr/topics/devops/ai-for-coding/","ai for coding",{"text":952,"config":953},"IA agentique",{"href":954,"dataGaName":955,"dataGaLocation":842},"/fr-fr/topics/agentic-ai/","agentic ai",{"title":957,"links":958},"Solutions",[959,962,964,969,972,975,978,981,983,986,989,994],{"text":488,"config":960},{"href":483,"dataGaName":961,"dataGaLocation":842},"Application Security Testing",{"text":475,"config":963},{"href":459,"dataGaName":460,"dataGaLocation":842},{"text":965,"config":966},"Développement Agile",{"href":967,"dataGaName":968,"dataGaLocation":842},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":470,"config":970},{"href":472,"dataGaName":971,"dataGaLocation":842},"source code management",{"text":463,"config":973},{"href":465,"dataGaName":974,"dataGaLocation":842},"continuous integration & delivery",{"text":514,"config":976},{"href":516,"dataGaName":977,"dataGaLocation":842},"value stream management",{"text":923,"config":979},{"href":980,"dataGaName":926,"dataGaLocation":842},"/fr-fr/solutions/gitops/",{"text":527,"config":982},{"href":530,"dataGaName":531,"dataGaLocation":842},{"text":984,"config":985},"PME",{"href":536,"dataGaName":537,"dataGaLocation":842},{"text":987,"config":988},"Secteur public",{"href":542,"dataGaName":543,"dataGaLocation":842},{"text":990,"config":991},"Éducation",{"href":992,"dataGaName":993,"dataGaLocation":842},"/fr-fr/solutions/education/","education",{"text":995,"config":996},"Services financiers",{"href":997,"dataGaName":998,"dataGaLocation":842},"/fr-fr/solutions/finance/","financial services",{"title":550,"links":1000},[1001,1003,1005,1007,1010,1012,1015,1017,1019,1021,1023,1025,1027,1029],{"text":563,"config":1002},{"href":565,"dataGaName":566,"dataGaLocation":842},{"text":568,"config":1004},{"href":570,"dataGaName":571,"dataGaLocation":842},{"text":573,"config":1006},{"href":575,"dataGaName":576,"dataGaLocation":842},{"text":578,"config":1008},{"href":580,"dataGaName":1009,"dataGaLocation":842},"docs",{"text":601,"config":1011},{"href":603,"dataGaName":604,"dataGaLocation":842},{"text":1013,"config":1014},"Nouveautés",{"href":661,"dataGaName":662,"dataGaLocation":842},{"text":596,"config":1016},{"href":598,"dataGaName":599,"dataGaLocation":842},{"text":615,"config":1018},{"href":617,"dataGaName":618,"dataGaLocation":842},{"text":623,"config":1020},{"href":625,"dataGaName":626,"dataGaLocation":842},{"text":628,"config":1022},{"href":630,"dataGaName":631,"dataGaLocation":842},{"text":633,"config":1024},{"href":635,"dataGaName":636,"dataGaLocation":842},{"text":638,"config":1026},{"href":640,"dataGaName":641,"dataGaLocation":842},{"text":643,"config":1028},{"href":645,"dataGaName":646,"dataGaLocation":842},{"text":648,"config":1030},{"href":650,"dataGaName":651,"dataGaLocation":842},{"title":664,"links":1032},[1033,1035,1037,1039,1041,1043,1048,1053,1055,1057,1059],{"text":672,"config":1034},{"href":674,"dataGaName":666,"dataGaLocation":842},{"text":677,"config":1036},{"href":679,"dataGaName":680,"dataGaLocation":842},{"text":685,"config":1038},{"href":687,"dataGaName":688,"dataGaLocation":842},{"text":690,"config":1040},{"href":692,"dataGaName":693,"dataGaLocation":842},{"text":695,"config":1042},{"href":697,"dataGaName":698,"dataGaLocation":842},{"text":1044,"config":1045},"Développement durable",{"href":1046,"dataGaName":1047,"dataGaLocation":842},"/sustainability/","Sustainability",{"text":1049,"config":1050},"Diversité, inclusion et appartenance (DIB)",{"href":1051,"dataGaName":1052,"dataGaLocation":842},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":700,"config":1054},{"href":702,"dataGaName":703,"dataGaLocation":842},{"text":710,"config":1056},{"href":712,"dataGaName":713,"dataGaLocation":842},{"text":715,"config":1058},{"href":717,"dataGaName":718,"dataGaLocation":842},{"text":1060,"config":1061},"Déclaration de transparence sur l'esclavage moderne",{"href":1062,"dataGaName":1063,"dataGaLocation":842},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1065},[1066,1068,1070],{"text":890,"config":1067},{"href":892,"dataGaName":893,"dataGaLocation":842},{"text":900,"config":1069},{"dataGaName":902,"dataGaLocation":842,"id":903,"isOneTrustButton":371},{"text":895,"config":1071},{"href":897,"dataGaName":898,"dataGaLocation":842},[1073],{"id":1074,"title":7,"body":370,"config":1075,"content":1077,"description":370,"extension":1081,"meta":1082,"navigation":371,"path":1083,"seo":1084,"stem":1085,"__hash__":1086},"blogAuthors/en-us/blog/authors/sacha-guyon.yml",{"template":1076},"BlogAuthor",{"name":7,"config":1078},{"headshot":1079,"ctfId":1080},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664566/Blog/Author%20Headshots/sacha_guyon_headshot.png","24pBtwb7WTU9fJB9qfqJYu","yml",{},"/en-us/blog/authors/sacha-guyon",{},"en-us/blog/authors/sacha-guyon","ArrkSOttSU6u8-HHVl-cuDbowVMAdckhtczK3HErflo",[1088,1097,1105],{"title":1089,"description":1090,"heroImage":1091,"category":366,"date":1092,"authors":1093,"slug":1096,"externalUrl":370},"Maîtrisez vos sièges GitLab avec l'accès restreint","Découvrez comment la fonctionnalité d'accès restreint de GitLab permet d'éviter les dépassements de sièges, s'intègre à votre fournisseur d'identité et garantit des coûts de licence prévisibles.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1774375772/kpaaaiqhokevxxeoxvu0.png","2026-07-15",[1094,1095],"Magdalena Frankiewicz","Priyanka Palanikumar","gitlab-restricted-access-improvements",{"title":1098,"description":1099,"heroImage":1100,"category":366,"date":1101,"authors":1102,"slug":1104,"externalUrl":370},"Feature flags de GitLab en Python : guide de démarrage","Découvrez comment intégrer les feature flags de GitLab dans une application Flask en Python avec le SDK Unleash pour contrôler le déploiement progressif de fonctionnalités sans redéployer votre application.","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1774465167/n5hlvrsrheadeccyr1oz.png","2026-06-01",[1103],"Omid Khan","getting-started-with-gitlab-feature-flags-in-python",{"title":1106,"description":1107,"heroImage":1108,"category":366,"date":1109,"authors":1110,"slug":1112,"externalUrl":370},"Suivez l'utilisation des composants CI dans votre organisation","Avec GitLab 19.0, visualisez comment vos composants CI partagés sont utilisés dans votre organisation, afin de pouvoir prendre les mesures qui s'imposent en fonction de vos observations.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1779189265/iqzyhhiwagxzwywvjzow.png","2026-05-22",[1111],"Corinne Dent","track-ci-component-usage",{"promotions":1114},[1115,1129,1140,1152],{"id":1116,"categories":1117,"header":1119,"text":1120,"button":1121,"image":1126},"ai-modernization",[1118],"ai","L'IA tient-elle ses promesses à grande échelle ?","Le questionnaire ne prendra pas plus de 5 minutes.",{"text":1122,"config":1123},"Obtenez votre score de maturité IA",{"href":1124,"dataGaName":1125,"dataGaLocation":604},"/fr-fr/assessments/ai-modernization-assessment/","modernization assessment",{"config":1127},{"src":1128},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1130,"categories":1131,"header":1132,"text":1120,"button":1133,"image":1137},"devops-modernization",[366,940],"Vous contentez-vous de gérer des outils ou de livrer des innovations ?",{"text":1134,"config":1135},"Obtenez votre score de maturité DevOps",{"href":1136,"dataGaName":1125,"dataGaLocation":604},"/fr-fr/assessments/devops-modernization-assessment/",{"config":1138},{"src":1139},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1141,"categories":1142,"header":1144,"text":1120,"button":1145,"image":1149},"security-modernization",[1143],"security","Faut-il sacrifier la rapidité pour garantir la sécurité ?",{"text":1146,"config":1147},"Obtenez votre score de maturité en matière de sécurité",{"href":1148,"dataGaName":1125,"dataGaLocation":604},"/fr-fr/assessments/security-modernization-assessment/",{"config":1150},{"src":1151},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1153,"paths":1154,"header":1157,"text":1158,"button":1159,"image":1164},"github-azure-migration",[1155,1156],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Votre équipe est-elle prête pour la migration de GitHub vers Azure ?","GitHub a déjà commencé sa migration vers Azure. Découvrez ce que cela signifie pour vous.",{"text":1160,"config":1161},"Découvrez les différences entre GitLab et GitHub",{"href":1162,"dataGaName":1163,"dataGaLocation":604},"/fr-fr/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1165},{"src":1139},{"header":1167,"blurb":1168,"button":1169,"secondaryButton":1173},"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":398,"config":1170},{"href":1171,"dataGaName":401,"dataGaLocation":1172},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/fr-fr/","feature",{"text":727,"config":1174},{"href":729,"dataGaName":406,"dataGaLocation":1172},1786803747133]