[{"data":1,"prerenderedAt":1177},["ShallowReactive",2],{"/fr-fr/blog/what-is-rest-api":3,"navigation-fr-fr":393,"banner-fr-fr":828,"footer-fr-fr":836,"blog-post-authors-fr-fr-GitLab France Team":1072,"blog-related-posts-fr-fr-what-is-rest-api":1088,"blog-promotions-fr-fr":1114,"next-steps-fr-fr":1168},{"id":4,"title":5,"authors":6,"body":8,"category":372,"date":373,"description":374,"extension":375,"externalUrl":376,"faq":376,"featured":377,"heroImage":378,"meta":379,"navigation":380,"path":381,"seo":382,"slug":386,"stem":387,"tags":388,"template":391,"updatedDate":376,"__hash__":392},"blogPosts/fr-fr/blog/what-is-rest-api.md","API REST : définition et présentation complète",[7],"GitLab France Team",{"type":9,"value":10,"toc":352},"minimark",[11,15,21,40,44,51,54,62,81,84,87,102,113,130,141,144,151,154,192,195,198,230,233,238,256,263,266,269,272,286,297,301,311,315,319,331,335,338,342,345,349],[12,13,14],"p",{},"Qu'est-ce qu'une API REST ? Quels sont ses avantages et comment l'utiliser ? Cet article répond aux questions que vous pourriez vous poser sur l'API REST.",[12,16,17],{},[18,19,20],"strong",{},"Sommaire",[22,23,24,28,31,34,37],"ul",{},[25,26,27],"li",{},"Qu’est-ce qu’une API REST ?",[25,29,30],{},"Comment fonctionne une API REST ?",[25,32,33],{},"Quels sont les principes de l'API REST ?",[25,35,36],{},"Quels sont les avantages d’une API REST ?",[25,38,39],{},"Utilisations d'une API REST",[41,42,27],"h2",{"id":43},"quest-ce-quune-api-rest",[12,45,46,47,50],{},"L’API REST est une ",[18,48,49],{},"API (Interface de Programmation d’Application) qui adhère au standard de l'architecture REST (REpresentational State Transfer)",". D’autres appellations désignent l’API REST : API RESTful ou API Web Restful.",[12,52,53],{},"Une API, ou interface de programmation d'application, est un logiciel qui permet à deux applications de communiquer entre elles. En informatique, les APIs sont indispensables pour permettre à diverses applications de fonctionner ensemble.",[12,55,56,57,61],{},"Pour créer une API, les développeurs suivent des méthodes et des principes strictement définis, afin que l'ensemble puisse fonctionner. Avant les années 2000, les développeurs utilisaient SOAP (",[58,59,60],"em",{},"Simple Object Access Protocol","), un protocole bâti sur XML, complexe à coordonner et gourmand en ressources. Si SOAP est encore utilisé de nos jours, il a été en grande partie remplacé par l'API REST.",[12,63,64,65,68,69,72,73,76,77,80],{},"Conçu en 2000 par l'informaticien américain ",[18,66,67],{},"Roy Fielding"," au cours de sa thèse de doctorat, REST (",[58,70,71],{},"REpresentational State Transfer",") est devenu le modèle dominant de création des APIs, et un jalon incontournable dans le développement du ",[58,74,75],{},"World Wide Web",". Aujourd'hui, la grande majorité des APIs sont basées sur REST, particulièrement pour offrir des ",[18,78,79],{},"services Web, interactifs ou mobiles",". Découvrons le fonctionnement des API RESTful, leurs avantages, et leurs applications très variées.",[41,82,30],{"id":83},"comment-fonctionne-une-api-rest",[12,85,86],{},"Dans la pratique, l'API REST fonctionne sur le principe de l'environnement client-serveur. L'API RESTful récupère et transmet d'un côté les requêtes d'un utilisateur ou d'une application, et de l'autre les informations rendues par le serveur (application ou base de données).",[12,88,89,90,93,94,97,98,101],{},"Quelques notions clés permettent de saisir le fonctionnement d'une API RESTful. ",[18,91,92],{},"Le client"," est l'entité effectuant une demande. C'est le cas par exemple d'un utilisateur effectuant une recherche au sein d'un catalogue de produits sur son navigateur. ",[18,95,96],{},"L'API"," se charge de communiquer au serveur la requête, et de renvoyer vers le client les informations demandées. Les informations qui transitent par l'API sont les ressources. ",[18,99,100],{},"Le serveur"," traite les requêtes. Dans le cas présent, il renverra la liste des produits correspondant aux critères de recherche.",[12,103,104,105,108,109,112],{},"Les requêtes du client sont formulées à travers le ",[18,106,107],{},"protocole HTTP"," (",[58,110,111],{},"HyperText Transfer Protocol","). Voici les principales méthodes et tâches qu'il permet d'accomplir :",[22,114,115,118,121,124,127],{},[25,116,117],{},"GET : récupérer des données envoyées par le serveur.",[25,119,120],{},"POST : envoyer et publier des informations vers le serveur (les données d'un formulaire d'inscription par exemple).",[25,122,123],{},"PUT : mettre à jour les informations du serveur.",[25,125,126],{},"PATCH : modifier partiellement une ressource existante.",[25,128,129],{},"DELETE : supprimer des informations du serveur.",[12,131,132,133,136,137,140],{},"Les formats de données pour utiliser une API REST sont divers. Le format JSON (",[58,134,135],{},"JavaScript Object Notation",") est un format léger, facile à comprendre, et utilisable par de nombreux langages de programmation. XML (",[58,138,139],{},"Extensible Markup Language",") permet de gérer des structures de données complexes, et est compatible avec d'autres standards comme le RSS. YAML et HTML sont d'autres formats souvent utilisés pour communiquer les ressources.",[41,142,33],{"id":143},"quels-sont-les-principes-de-lapi-rest",[12,145,146,147,150],{},"Une API REST suit les principes de REST en termes d'",[18,148,149],{},"architecture logicielle",". Ces principes créent une ligne directrice permettant de créer des APIs flexibles et légères, parfaitement adaptées à la transmission de données sur internet.",[12,152,153],{},"Voici les six principes architecturaux qui régissent une interface REST :",[22,155,156,162,168,174,180,186],{},[25,157,158,161],{},[18,159,160],{},"Découplage client-serveur."," Le client connaît seulement l'URI (Uniform Resource Identifier) de la ressource à récupérer. Le serveur interagit uniquement en transmettant ses données via HTTP.",[25,163,164,167],{},[18,165,166],{},"Interface uniforme."," L'architecture REST uniformise la façon dont les informations sont identifiées, gérées et transmises, et fait appel aux hyperliens pour apporter des ressources supplémentaires au client.",[25,169,170,173],{},[18,171,172],{},"Code à la demande."," Le serveur peut transmettre du code au client pour étendre ses fonctionnalités, par exemple pour aider à repérer les erreurs d'un formulaire.",[25,175,176,179],{},[18,177,178],{},"Système en couches."," Une API RESTful peut s'exécuter sur plusieurs serveurs organisés de façon hiérarchique, pour fournir un service plus stable et performant au client.",[25,181,182,185],{},[18,183,184],{},"Mise en cache."," Le serveur REST peut mettre en cache des données pour mieux servir le client, en stockant par exemple les images d'un site pour les resservir ensuite.",[25,187,188,191],{},[18,189,190],{},"Absence d'état (Stateless)."," Chaque requête du client est isolée et traitée indépendamment par le serveur. Ainsi, chaque appel doit contenir tous les éléments nécessaires à son traitement.",[41,193,36],{"id":194},"quels-sont-les-avantages-dune-api-rest",[12,196,197],{},"En respectant les exigences du framework de l'API REST, les développeurs profitent des nombreux avantages des API RESTful pour développer des applications efficaces et puissantes :",[22,199,200,206,212,218,224],{},[25,201,202,205],{},[18,203,204],{},"Polyvalence :"," il n'y a aucune restriction sur le langage de programmation à utiliser, et un grand choix pour le format de données (XML, PYTHON, JSON, HTML, etc.)",[25,207,208,211],{},[18,209,210],{},"Légèreté :"," les formats de données légers d'une API REST la rendent idéale pour des applications mobiles ou l'Internet des objets (IoT).",[25,213,214,217],{},[18,215,216],{},"Portabilité :"," la séparation client-serveur facilite l'échange de données entre les plateformes.",[25,219,220,223],{},[18,221,222],{},"Flexibilité :"," cette API n'a pas les lourdeurs d'un protocole, c'est un style architectural.",[25,225,226,229],{},[18,227,228],{},"Indépendance :"," les développeurs peuvent travailler séparément sur la partie client ou serveur.",[12,231,232],{},"Les avantages de l'API REST se traduisent en gain de productivité et en évolutivité pour les équipes de développement. La mise à l'échelle des systèmes utilisant API REST est facilitée. Les fonctionnalités sont donc plus à même de soutenir une grande charge d'utilisateurs et d'opérations.",[234,235,237],"h3",{"id":236},"des-contraintes-de-sécurité","Des contraintes de sécurité",[12,239,240,241,244,245,248,249,108,252,255],{},"La création et la gestion d'une API Web RESTful ne sont pas exemptes de défis. L'",[18,242,243],{},"authentification"," des utilisateurs peut devenir complexe lorsqu'elle fait appel à plusieurs méthodes différentes, par HTTP, clés API, ou OAuth (",[58,246,247],{},"Open Authorization","). Sur des applications larges et complexes, la ",[18,250,251],{},"multiplication des points de terminaison",[58,253,254],{},"endpoints",") entre le serveur et le client peut nuire à la cohérence d'ensemble, de même que les mises à jour si elles laissent d'anciens points de contact encore actifs.",[12,257,258,259,262],{},"D'autre part, l'interface REST a une faiblesse, car elle transmet par l'URL des points de terminaison des données potentiellement sensibles, comme les identifiants. Sa sécurisation nécessite des mesures spécifiques comme un chiffrement TLS (",[58,260,261],{},"Transport Layer Security","), un modèle d'authentification des utilisateurs robuste, et un système de prise en charge des requêtes abusives et de limitation des débits.",[41,264,39],{"id":265},"utilisations-dune-api-rest",[12,267,268],{},"Les développeurs utilisent des API à l'architecture REST pour créer et maintenir de nombreux services. Ainsi, la plupart des applications web et mobiles utilisent des API REST pour accéder et partager des ressources et des informations. Dans le Cloud, cette API permet de connecter rapidement les services des architectures distribuées et hybrides. Au sein des grandes entreprises, elle facilite l'interopérabilité entre les composants des systèmes d'information.",[12,270,271],{},"Voici des exemples d'application d'une API REST au sein de sociétés reconnues :",[22,273,274,280],{},[25,275,276,279],{},[18,277,278],{},"Google Search."," Cette API fournit en temps réel des millions de résultats de recherche sur Google Web et Google Image.",[25,281,282,285],{},[18,283,284],{},"Deezer."," L'API REST de la plateforme de streaming musical permet de retrouver un album ou un artiste dans la base de données de millions de chansons.",[12,287,288,289,296],{},"Actualiser les prix d'un site e-commerce, modifier un champ dans le code source, automatiser des publications, ",[290,291,295],"a",{"href":292,"rel":293,"title":294},"https://about.gitlab.com/fr-fr/blog/kubernetes-the-container-orchestration-solution/",[],"Kubernetes, la solution d’orchestration des conteneurs","orchestrer des clusters Kubernetes",", etc. Le champ d'utilisation des APIs RESTful n'a de limites que celle de l'imagination des développeurs et des créateurs d'applications digitales.",[234,298,300],{"id":299},"lapi-rest-de-gitlab","L'API REST de GitLab",[12,302,303,304,310],{},"GitLab propose une suite complète d'outils et d'APIs pour l'intégration et l'automatisation d'applications externes. Elle comprend GraphQL, les webhooks, des extensions IDE, et naturellement, une API REST. L'authentification de l'API REST GitLab peut se faire de nombreuses manières, par jeton d'accès, OAuth, ou cookies de session par exemple. Les points de terminaisons sont disponibles pour les templates Dockerfile, .gitignore, GitLab CI/CD YAML et Open source. Pour profiter pleinement de toutes les possibilités de développement de vos applications agiles et cloud-natives, consultez la ",[290,305,309],{"href":306,"rel":307,"title":308},"https://docs.gitlab.com/api/rest/",[],"Documentation sur l'API REST de GitLab","documentation complète de l'API REST de GitLab",".",[41,312,314],{"id":313},"faq-sur-lapi-rest","FAQ sur l'API REST",[234,316,318],{"id":317},"rest-vs-soap","REST vs SOAP",[12,320,321,324,325,327,328,330],{},[18,322,323],{},"REST et SOAP"," sont deux standards d'API. L'API REST (",[58,326,71],{},") reprend les principes architecturaux de REST, qui permettent de faire communiquer un serveur et un client de façon légère et évolutive. L'API REST est le type d'API le plus répandu. Le protocole SOAP (",[58,329,60],{},") est plus ancien, plus rigide et disponible uniquement en format XML. Ce standard historique peut être encore utilisé pour des applications qui requirent un haut niveau de sécurité.",[234,332,334],{"id":333},"quelle-est-la-différence-entre-rest-et-api-rest","Quelle est la différence entre REST et API REST ?",[12,336,337],{},"REST est un style d'architecture logicielle destiné à faciliter la création de services web et l'échange de données sur internet, en assurant l'interopérabilité entre les ordinateurs et serveurs. L'API Web RESTful est un type d'API qui se base sur les grands principes de REST.",[234,339,341],{"id":340},"quelle-est-la-différence-entre-rest-et-restful","Quelle est la différence entre REST et RESTful ?",[12,343,344],{},"REST est un ensemble de principes architecturaux qui définissent comment les services web doivent être conçus pour être simples, évolutifs et performants. Une API est dite RESTful lorsqu'elle respecte ces principes, notamment l'utilisation des verbes HTTP standard (GET, POST, PUT, DELETE), l'organisation des ressources via des URLs claires et prévisibles, et l'absence d'état côté serveur. En d'autres termes, une API peut être basée sur REST sans être pleinement RESTful si elle ne respecte pas toutes les bonnes pratiques de cette architecture.",[234,346,348],{"id":347},"quels-sont-les-principes-dune-api-rest","Quels sont les principes d'une API REST ?",[12,350,351],{},"Une API REST respecte les six grands principes de l'architecture REST. Ces principes sont l'interface uniforme, le code à la demande, le système en couches, la mise en cache, l'absence d'état et le découplage client-serveur. Ce dernier principe constitue la base de la structure d'une API RESTful ; il est essentiel au succès de cette API dans le monde des applications Web.",{"title":353,"searchDepth":354,"depth":354,"links":355},"",2,[356,357,358,359,363,366],{"id":43,"depth":354,"text":27},{"id":83,"depth":354,"text":30},{"id":143,"depth":354,"text":33},{"id":194,"depth":354,"text":36,"children":360},[361],{"id":236,"depth":362,"text":237},3,{"id":265,"depth":354,"text":39,"children":364},[365],{"id":299,"depth":362,"text":300},{"id":313,"depth":354,"text":314,"children":367},[368,369,370,371],{"id":317,"depth":362,"text":318},{"id":333,"depth":362,"text":334},{"id":340,"depth":362,"text":341},{"id":347,"depth":362,"text":348},"devsecops","2024-09-04","Qu'il s'agisse de développer une application de réservation en ligne, une solution de paiement mobile, ou un service de messagerie, il est fort probable que votre équipe se serve d'une API REST.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662858/Blog/Hero%20Images/API-REST.jpg",{},true,"/fr-fr/blog/what-is-rest-api",{"title":5,"description":374,"ogTitle":5,"ogDescription":374,"noIndex":377,"ogImage":378,"ogUrl":383,"ogSiteName":384,"ogType":385,"canonicalUrls":383},"https://about.gitlab.com/blog/what-is-rest-api","https://about.gitlab.com","article","what-is-rest-api","fr-fr/blog/what-is-rest-api",[389,390],"DevOps","DevSecOps","BlogPost","etKTLRcwHl12tet5iSlmzd-yl6l4vqUnqr_28Ln7xRs",{"logo":394,"freeTrial":399,"sales":404,"login":409,"items":414,"search":743,"minimal":779,"duo":798,"switchNav":807,"pricingDeployment":818},{"config":395},{"href":396,"dataGaName":397,"dataGaLocation":398},"/fr-fr/","gitlab logo","header",{"text":400,"config":401},"Commencer un essai gratuit",{"href":402,"dataGaName":403,"dataGaLocation":398},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr&glm_content=default-saas-trial/","free trial",{"text":405,"config":406},"Demander une démo",{"href":407,"dataGaName":408,"dataGaLocation":398},"/fr-fr/sales/?contact-topic=request-demo","sales",{"text":410,"config":411},"Connexion",{"href":412,"dataGaName":413,"dataGaLocation":398},"https://gitlab.com/users/sign_in/","sign in",[415,444,546,551,665,721],{"text":416,"config":417,"menu":419},"Plateforme",{"dataNavLevelOne":418},"platform",{"type":420,"columns":421},"cards",[422,428,436],{"title":416,"description":423,"link":424},"La plateforme d'orchestration intelligente pour le DevSecOps",{"text":425,"config":426},"Explorer notre plateforme",{"href":427,"dataGaName":418,"dataGaLocation":398},"/fr-fr/platform/",{"title":429,"description":430,"link":431},"GitLab Duo Agent Platform","L'IA agentique pour l'ensemble du cycle de développement logiciel",{"text":432,"config":433},"Découvrir GitLab Duo",{"href":434,"dataGaName":435,"dataGaLocation":398},"/fr-fr/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":437,"description":438,"link":439},"Pourquoi GitLab ?","Découvrez les principales raisons pour lesquelles les entreprises choisissent GitLab",{"text":440,"config":441},"En savoir plus",{"href":442,"dataGaName":443,"dataGaLocation":398},"/fr-fr/why-gitlab/","why gitlab",{"text":445,"left":380,"config":446,"menu":448},"Produit",{"dataNavLevelOne":447},"solutions",{"type":449,"link":450,"columns":454,"feature":525},"lists",{"text":451,"config":452},"Voir toutes les solutions",{"href":453,"dataGaName":447,"dataGaLocation":398},"/fr-fr/solutions/",[455,480,503],{"title":456,"description":457,"link":458,"items":463},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":459},{"icon":460,"href":461,"dataGaName":462,"dataGaLocation":398},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[464,468,471,476],{"text":465,"config":466},"CI/CD",{"href":467,"dataGaLocation":398,"dataGaName":465},"/fr-fr/solutions/continuous-integration/",{"text":429,"config":469},{"href":434,"dataGaLocation":398,"dataGaName":470},"gitlab duo agent platform - product menu",{"text":472,"config":473},"Gestion du code source",{"href":474,"dataGaLocation":398,"dataGaName":475},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":477,"config":478},"Livraison de logiciels automatisée",{"href":461,"dataGaLocation":398,"dataGaName":479},"Automated software delivery",{"title":481,"description":482,"link":483,"items":488},"Sécurité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":484},{"href":485,"dataGaName":486,"dataGaLocation":398,"icon":487},"/fr-fr/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[489,493,498],{"text":490,"config":491},"Tests de sécurité des applications",{"href":485,"dataGaName":492,"dataGaLocation":398},"Application security testing",{"text":494,"config":495},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":496,"dataGaLocation":398,"dataGaName":497},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":499,"config":500},"Conformité logicielle",{"href":501,"dataGaName":502,"dataGaLocation":398},"/fr-fr/solutions/software-compliance/","software compliance",{"title":504,"link":505,"items":510},"Mesures",{"config":506},{"icon":507,"href":508,"dataGaName":509,"dataGaLocation":398},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[511,515,520],{"text":512,"config":513},"Visibilité et mesures",{"href":508,"dataGaLocation":398,"dataGaName":514},"Visibility and Measurement",{"text":516,"config":517},"Gestion de la chaîne de valeur",{"href":518,"dataGaLocation":398,"dataGaName":519},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":521,"config":522},"Analyses et informations",{"href":523,"dataGaLocation":398,"dataGaName":524},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":526,"type":449,"items":527},"GitLab",[528,534,540],{"text":529,"config":530},"Entreprises",{"icon":531,"href":532,"dataGaLocation":398,"dataGaName":533},"Building","/fr-fr/enterprise/","enterprise",{"text":535,"config":536},"Pour les PME",{"icon":537,"href":538,"dataGaLocation":398,"dataGaName":539},"Work","/fr-fr/small-business/","small business",{"text":541,"config":542},"Pour le secteur public",{"icon":543,"href":544,"dataGaLocation":398,"dataGaName":545},"Organization","/fr-fr/solutions/public-sector/","public sector",{"text":547,"config":548},"Tarifs",{"href":549,"dataGaName":550,"dataGaLocation":398,"dataNavLevelOne":550},"/fr-fr/pricing/","pricing",{"text":552,"config":553,"menu":555},"Ressources",{"dataNavLevelOne":554},"resources",{"type":449,"link":556,"columns":560,"feature":654},{"text":557,"config":558},"Afficher toutes les ressources",{"href":559,"dataGaName":554,"dataGaLocation":398},"/fr-fr/resources/",[561,594,621],{"title":562,"items":563},"Premiers pas",[564,569,574,579,584,589],{"text":565,"config":566},"Installation",{"href":567,"dataGaName":568,"dataGaLocation":398},"/fr-fr/install/","install",{"text":570,"config":571},"Guides de démarrage",{"href":572,"dataGaName":573,"dataGaLocation":398},"/fr-fr/get-started/","quick setup checklists",{"text":575,"config":576},"Apprentissage",{"href":577,"dataGaLocation":398,"dataGaName":578},"https://university.gitlab.com/","learn",{"text":580,"config":581},"Documentation",{"href":582,"dataGaName":583,"dataGaLocation":398},"https://docs.gitlab.com/","product documentation",{"text":585,"config":586},"Vidéos sur les bonnes pratiques",{"href":587,"dataGaName":588,"dataGaLocation":398},"/fr-fr/getting-started-videos/","best practice videos",{"text":590,"config":591},"Intégrations",{"href":592,"dataGaName":593,"dataGaLocation":398},"/fr-fr/integrations/","integrations",{"title":595,"items":596},"Découvrir",[597,602,607,612,616],{"text":598,"config":599},"Témoignages clients",{"href":600,"dataGaName":601,"dataGaLocation":398},"/fr-fr/customers/","customer success stories",{"text":603,"config":604},"Blog",{"href":605,"dataGaName":606,"dataGaLocation":398},"/fr-fr/blog/","blog",{"text":608,"config":609},"Demo Hub",{"href":610,"dataGaName":611,"dataGaLocation":398},"/fr-fr/demo-hub/","demo hub",{"text":613,"config":614},"The Source",{"href":615,"dataGaName":606,"dataGaLocation":398},"/fr-fr/the-source/",{"text":617,"config":618},"Travail à distance",{"href":619,"dataGaName":620,"dataGaLocation":398},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":622,"items":623},"Connecter",[624,629,634,639,644,649],{"text":625,"config":626},"Services GitLab",{"href":627,"dataGaName":628,"dataGaLocation":398},"/fr-fr/services/","services",{"text":630,"config":631},"Contribuer",{"href":632,"dataGaName":633,"dataGaLocation":398},"https://contributors.gitlab.com","contribute",{"text":635,"config":636},"Communauté",{"href":637,"dataGaName":638,"dataGaLocation":398},"/community/","community",{"text":640,"config":641},"Forum",{"href":642,"dataGaName":643,"dataGaLocation":398},"https://forum.gitlab.com/","forum",{"text":645,"config":646},"Événements",{"href":647,"dataGaName":648,"dataGaLocation":398},"/events/","events",{"text":650,"config":651},"Partenaires",{"href":652,"dataGaName":653,"dataGaLocation":398},"/fr-fr/partners/","partners",{"config":655,"title":658,"text":659,"link":660},{"background":656,"textColor":657},"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":661,"config":662},"Lire les articles les plus récents",{"href":663,"dataGaName":664,"dataGaLocation":398},"/fr-fr/whats-new/","whats new",{"text":666,"config":667,"menu":669},"Société",{"dataNavLevelOne":668},"company",{"type":449,"columns":670},[671],{"items":672},[673,678,684,686,691,696,701,706,711,716],{"text":674,"config":675},"À propos",{"href":676,"dataGaName":677,"dataGaLocation":398},"/fr-fr/company/","about",{"text":679,"config":680,"footerGa":683},"Carrières",{"href":681,"dataGaName":682,"dataGaLocation":398},"/jobs/","jobs",{"dataGaName":682},{"text":645,"config":685},{"href":647,"dataGaName":648,"dataGaLocation":398},{"text":687,"config":688},"Leadership",{"href":689,"dataGaName":690,"dataGaLocation":398},"/company/team/e-group/","leadership",{"text":692,"config":693},"Manuel",{"href":694,"dataGaName":695,"dataGaLocation":398},"https://handbook.gitlab.com/","handbook",{"text":697,"config":698},"Relations avec les investisseurs",{"href":699,"dataGaName":700,"dataGaLocation":398},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":702,"config":703},"Trust Center",{"href":704,"dataGaName":705,"dataGaLocation":398},"/fr-fr/security/","trust center",{"text":707,"config":708},"Centre pour la transparence de l'IA",{"href":709,"dataGaName":710,"dataGaLocation":398},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":712,"config":713},"Newsletter",{"href":714,"dataGaName":715,"dataGaLocation":398},"/company/contact/#contact-forms","newsletter",{"text":717,"config":718},"Presse",{"href":719,"dataGaName":720,"dataGaLocation":398},"/press/","press",{"text":722,"config":723,"menu":724},"Nous contacter",{"dataNavLevelOne":668},{"type":449,"columns":725},[726],{"items":727},[728,733,738],{"text":729,"config":730},"Contacter l'équipe commerciale",{"href":731,"dataGaName":732,"dataGaLocation":398},"/fr-fr/sales/","talk to sales",{"text":734,"config":735},"Assistance GitLab",{"href":736,"dataGaName":737,"dataGaLocation":398},"https://support.gitlab.com/hc/en-us","support portal",{"text":739,"config":740},"Portail clients GitLab",{"href":741,"dataGaName":742,"dataGaLocation":398},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":744,"login":745,"suggestions":752},"Fermer",{"text":746,"link":747},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":748,"config":749},"GitLab.com",{"href":412,"dataGaName":750,"dataGaLocation":751},"search login","search",{"text":753,"default":754},"Suggestions",[755,758,763,765,770,775],{"text":429,"config":756},{"href":434,"dataGaName":757,"dataGaLocation":751},"GitLab Duo Agent Platform",{"text":759,"config":760},"Suggestions de code (IA)",{"href":761,"dataGaName":762,"dataGaLocation":751},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":465,"config":764},{"href":467,"dataGaName":465,"dataGaLocation":751},{"text":766,"config":767},"GitLab sur AWS",{"href":768,"dataGaName":769,"dataGaLocation":751},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":771,"config":772},"GitLab sur Google Cloud",{"href":773,"dataGaName":774,"dataGaLocation":751},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":776,"config":777},"Pourquoi utiliser GitLab ?",{"href":442,"dataGaName":778,"dataGaLocation":751},"Why GitLab?",{"freeTrial":780,"mobileIcon":785,"desktopIcon":790,"secondaryButton":793},{"text":781,"config":782},"Commencer votre essai gratuit",{"href":783,"dataGaName":403,"dataGaLocation":784},"https://gitlab.com/-/trials/new/","nav",{"altText":786,"config":787},"Icône GitLab",{"src":788,"dataGaName":789,"dataGaLocation":784},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":786,"config":791},{"src":792,"dataGaName":789,"dataGaLocation":784},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":794,"config":795},"Commencer",{"href":796,"dataGaName":797,"dataGaLocation":784},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/get-started/","get started",{"freeTrial":799,"mobileIcon":803,"desktopIcon":805},{"text":800,"config":801},"En savoir plus sur GitLab Duo",{"href":434,"dataGaName":802,"dataGaLocation":784},"gitlab duo",{"altText":786,"config":804},{"src":788,"dataGaName":789,"dataGaLocation":784},{"altText":786,"config":806},{"src":792,"dataGaName":789,"dataGaLocation":784},{"button":808,"mobileIcon":813,"desktopIcon":815},{"text":809,"config":810},"/switch",{"href":811,"dataGaName":812,"dataGaLocation":784},"#contact","switch",{"altText":786,"config":814},{"src":788,"dataGaName":789,"dataGaLocation":784},{"altText":786,"config":816},{"src":817,"dataGaName":789,"dataGaLocation":784},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":819,"mobileIcon":824,"desktopIcon":826},{"text":820,"config":821},"Retour aux tarifs",{"href":549,"dataGaName":822,"dataGaLocation":784,"icon":823},"back to pricing","GoBack",{"altText":786,"config":825},{"src":788,"dataGaName":789,"dataGaLocation":784},{"altText":786,"config":827},{"src":792,"dataGaName":789,"dataGaLocation":784},{"title":829,"button":830,"config":834},"GitLab Orbit est arrivé : la couche de contexte pour les agents d'IA.",{"text":440,"config":831},{"href":832,"dataGaName":833,"dataGaLocation":398},"/fr-fr/gitlab-orbit/","orbit",{"layout":835,"disabled":377},"release",{"data":837},{"text":838,"source":839,"edit":845,"contribute":850,"config":854,"items":859,"minimal":1064},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence.",{"text":840,"config":841},"Afficher le code source de la page",{"href":842,"dataGaName":843,"dataGaLocation":844},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":846,"config":847},"Modifier cette page",{"href":848,"dataGaName":849,"dataGaLocation":844},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":630,"config":851},{"href":852,"dataGaName":853,"dataGaLocation":844},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":855,"facebook":856,"youtube":857,"linkedin":858},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[860,906,956,999,1031],{"title":547,"links":861,"subMenu":876},[862,866,871],{"text":863,"config":864},"Voir les forfaits",{"href":549,"dataGaName":865,"dataGaLocation":844},"view plans",{"text":867,"config":868},"GitLab Premium",{"href":869,"dataGaName":870,"dataGaLocation":844},"/fr-fr/pricing/premium/","why premium",{"text":872,"config":873},"GitLab Ultimate",{"href":874,"dataGaName":875,"dataGaLocation":844},"/fr-fr/pricing/ultimate/","why ultimate",[877],{"title":722,"links":878},[879,881,883,886,891,896,901],{"text":729,"config":880},{"href":731,"dataGaName":408,"dataGaLocation":844},{"text":734,"config":882},{"href":736,"dataGaName":737,"dataGaLocation":844},{"text":884,"config":885},"Portail clients",{"href":741,"dataGaName":742,"dataGaLocation":844},{"text":887,"config":888},"Statut",{"href":889,"dataGaName":890,"dataGaLocation":844},"https://status.gitlab.com/","status",{"text":892,"config":893},"Conditions d'utilisation",{"href":894,"dataGaName":895,"dataGaLocation":844},"/terms/","terms of use",{"text":897,"config":898},"Politique de confidentialité",{"href":899,"dataGaName":900,"dataGaLocation":844},"/fr-fr/privacy/","privacy statement",{"text":902,"config":903},"Gestion des cookies",{"dataGaName":904,"dataGaLocation":844,"id":905,"isOneTrustButton":380},"cookie preferences","ot-sdk-btn",{"title":445,"links":907,"subMenu":916},[908,912],{"text":909,"config":910},"Plateforme DevSecOps",{"href":427,"dataGaName":911,"dataGaLocation":844},"devsecops platform",{"text":913,"config":914},"Développement assisté par l'IA",{"href":434,"dataGaName":915,"dataGaLocation":844},"ai-assisted development",[917],{"title":918,"links":919},"Thèmes",[920,924,929,933,938,941,946,951],{"text":465,"config":921},{"href":922,"dataGaName":923,"dataGaLocation":844},"/fr-fr/topics/ci-cd/","cicd",{"text":925,"config":926},"GitOps",{"href":927,"dataGaName":928,"dataGaLocation":844},"/fr-fr/topics/gitops/","gitops",{"text":389,"config":930},{"href":931,"dataGaName":932,"dataGaLocation":844},"/fr-fr/topics/devops/","devops",{"text":934,"config":935},"Contrôle de version",{"href":936,"dataGaName":937,"dataGaLocation":844},"/fr-fr/topics/version-control/","version control",{"text":390,"config":939},{"href":940,"dataGaName":372,"dataGaLocation":844},"/fr-fr/topics/devsecops/",{"text":942,"config":943},"Cloud-native",{"href":944,"dataGaName":945,"dataGaLocation":844},"/fr-fr/topics/cloud-native/","cloud native",{"text":947,"config":948},"IA pour la programmation",{"href":949,"dataGaName":950,"dataGaLocation":844},"/fr-fr/topics/devops/ai-for-coding/","ai for coding",{"text":952,"config":953},"IA agentique",{"href":954,"dataGaName":955,"dataGaLocation":844},"/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":490,"config":960},{"href":485,"dataGaName":961,"dataGaLocation":844},"Application Security Testing",{"text":477,"config":963},{"href":461,"dataGaName":462,"dataGaLocation":844},{"text":965,"config":966},"Développement Agile",{"href":967,"dataGaName":968,"dataGaLocation":844},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":472,"config":970},{"href":474,"dataGaName":971,"dataGaLocation":844},"source code management",{"text":465,"config":973},{"href":467,"dataGaName":974,"dataGaLocation":844},"continuous integration & delivery",{"text":516,"config":976},{"href":518,"dataGaName":977,"dataGaLocation":844},"value stream management",{"text":925,"config":979},{"href":980,"dataGaName":928,"dataGaLocation":844},"/fr-fr/solutions/gitops/",{"text":529,"config":982},{"href":532,"dataGaName":533,"dataGaLocation":844},{"text":984,"config":985},"PME",{"href":538,"dataGaName":539,"dataGaLocation":844},{"text":987,"config":988},"Secteur public",{"href":544,"dataGaName":545,"dataGaLocation":844},{"text":990,"config":991},"Éducation",{"href":992,"dataGaName":993,"dataGaLocation":844},"/fr-fr/solutions/education/","education",{"text":995,"config":996},"Services financiers",{"href":997,"dataGaName":998,"dataGaLocation":844},"/fr-fr/solutions/finance/","financial services",{"title":552,"links":1000},[1001,1003,1005,1007,1010,1012,1015,1017,1019,1021,1023,1025,1027,1029],{"text":565,"config":1002},{"href":567,"dataGaName":568,"dataGaLocation":844},{"text":570,"config":1004},{"href":572,"dataGaName":573,"dataGaLocation":844},{"text":575,"config":1006},{"href":577,"dataGaName":578,"dataGaLocation":844},{"text":580,"config":1008},{"href":582,"dataGaName":1009,"dataGaLocation":844},"docs",{"text":603,"config":1011},{"href":605,"dataGaName":606,"dataGaLocation":844},{"text":1013,"config":1014},"Nouveautés",{"href":663,"dataGaName":664,"dataGaLocation":844},{"text":598,"config":1016},{"href":600,"dataGaName":601,"dataGaLocation":844},{"text":617,"config":1018},{"href":619,"dataGaName":620,"dataGaLocation":844},{"text":625,"config":1020},{"href":627,"dataGaName":628,"dataGaLocation":844},{"text":630,"config":1022},{"href":632,"dataGaName":633,"dataGaLocation":844},{"text":635,"config":1024},{"href":637,"dataGaName":638,"dataGaLocation":844},{"text":640,"config":1026},{"href":642,"dataGaName":643,"dataGaLocation":844},{"text":645,"config":1028},{"href":647,"dataGaName":648,"dataGaLocation":844},{"text":650,"config":1030},{"href":652,"dataGaName":653,"dataGaLocation":844},{"title":666,"links":1032},[1033,1035,1037,1039,1041,1043,1048,1053,1055,1057,1059],{"text":674,"config":1034},{"href":676,"dataGaName":668,"dataGaLocation":844},{"text":679,"config":1036},{"href":681,"dataGaName":682,"dataGaLocation":844},{"text":687,"config":1038},{"href":689,"dataGaName":690,"dataGaLocation":844},{"text":692,"config":1040},{"href":694,"dataGaName":695,"dataGaLocation":844},{"text":697,"config":1042},{"href":699,"dataGaName":700,"dataGaLocation":844},{"text":1044,"config":1045},"Développement durable",{"href":1046,"dataGaName":1047,"dataGaLocation":844},"/sustainability/","Sustainability",{"text":1049,"config":1050},"Diversité, inclusion et appartenance (DIB)",{"href":1051,"dataGaName":1052,"dataGaLocation":844},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":702,"config":1054},{"href":704,"dataGaName":705,"dataGaLocation":844},{"text":712,"config":1056},{"href":714,"dataGaName":715,"dataGaLocation":844},{"text":717,"config":1058},{"href":719,"dataGaName":720,"dataGaLocation":844},{"text":1060,"config":1061},"Déclaration de transparence sur l'esclavage moderne",{"href":1062,"dataGaName":1063,"dataGaLocation":844},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1065},[1066,1068,1070],{"text":892,"config":1067},{"href":894,"dataGaName":895,"dataGaLocation":844},{"text":902,"config":1069},{"dataGaName":904,"dataGaLocation":844,"id":905,"isOneTrustButton":380},{"text":897,"config":1071},{"href":899,"dataGaName":900,"dataGaLocation":844},[1073],{"id":1074,"title":1075,"body":376,"config":1076,"content":1078,"description":376,"extension":1082,"meta":1083,"navigation":380,"path":1084,"seo":1085,"stem":1086,"__hash__":1087},"blogAuthors/en-us/blog/authors/gitlab-france-team.yml","Gitlab France Team",{"template":1077},"BlogAuthor",{"name":7,"config":1079},{"headshot":1080,"ctfId":1081},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","1gfblqN0ibYIuWGk7MOTny","yml",{},"/en-us/blog/authors/gitlab-france-team",{},"en-us/blog/authors/gitlab-france-team","Eni-wcJbgxSvctiz4Yjf4UeRk6T6IWt1wK0KuHU907U",[1089,1098,1106],{"title":1090,"description":1091,"heroImage":1092,"category":372,"date":1093,"authors":1094,"slug":1097,"externalUrl":376},"Cloud et DevOps : pourquoi cette alliance transforme le développement logiciel","Cloud et DevOps convergent pour accélérer la livraison logicielle. Découvrez comment cette alliance transforme vos cycles de développement logiciel et renforce votre compétitivité.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1774465167/n5hlvrsrheadeccyr1oz.png","2026-05-28",[1095,1096],"Salahddine Aberkan","Maud Leuenberger","cloud-and-devops",{"title":1099,"description":1100,"heroImage":1101,"category":372,"date":1102,"authors":1103,"slug":1105,"externalUrl":376},"Consolidez votre pile GitLab avec Gitaly sur Kubernetes","Découvrez comment installer Gitaly sur Kubernetes, désormais en disponibilité générale.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1756500636/wmey6kqzzuhirk88w2de.png","2026-05-07",[1104],"Olivier Campeau","gitaly-on-kubernetes-generally-available",{"title":1107,"description":1108,"heroImage":1109,"category":372,"date":1110,"authors":1111,"slug":1113,"externalUrl":376},"Automatisez les étapes de votre cycle de développement avec GitLab CI/CD","GitLab CI/CD automatise vos builds, tests et déploiements depuis une plateforme DevSecOps unifiée. Découvrez son fonctionnement, ses composants clés et ses fonctionnalités avancées pour des cycles de livraison plus rapides et fiables.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1775561395/bhe1as7ttjvzltxwgo5m.png","2026-04-22",[1112,1096],"Charlotte Delbosc","what-is-gitlab-ci-cd",{"promotions":1115},[1116,1130,1142,1154],{"id":1117,"categories":1118,"header":1120,"text":1121,"button":1122,"image":1127},"ai-modernization",[1119],"ai","L'IA tient-elle ses promesses à grande échelle ?","Le questionnaire ne prendra pas plus de 5 minutes.",{"text":1123,"config":1124},"Obtenez votre score de maturité IA",{"href":1125,"dataGaName":1126,"dataGaLocation":606},"/fr-fr/assessments/ai-modernization-assessment/","modernization assessment",{"config":1128},{"src":1129},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1131,"categories":1132,"header":1134,"text":1121,"button":1135,"image":1139},"devops-modernization",[1133,372],"product","Vous contentez-vous de gérer des outils ou de livrer des innovations ?",{"text":1136,"config":1137},"Obtenez votre score de maturité DevOps",{"href":1138,"dataGaName":1126,"dataGaLocation":606},"/fr-fr/assessments/devops-modernization-assessment/",{"config":1140},{"src":1141},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1143,"categories":1144,"header":1146,"text":1121,"button":1147,"image":1151},"security-modernization",[1145],"security","Faut-il sacrifier la rapidité pour garantir la sécurité ?",{"text":1148,"config":1149},"Obtenez votre score de maturité en matière de sécurité",{"href":1150,"dataGaName":1126,"dataGaLocation":606},"/fr-fr/assessments/security-modernization-assessment/",{"config":1152},{"src":1153},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1155,"paths":1156,"header":1159,"text":1160,"button":1161,"image":1166},"github-azure-migration",[1157,1158],"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":1162,"config":1163},"Découvrez les différences entre GitLab et GitHub",{"href":1164,"dataGaName":1165,"dataGaLocation":606},"/fr-fr/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1167},{"src":1141},{"header":1169,"blurb":1170,"button":1171,"secondaryButton":1175},"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":400,"config":1172},{"href":1173,"dataGaName":403,"dataGaLocation":1174},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/fr-fr/","feature",{"text":729,"config":1176},{"href":731,"dataGaName":408,"dataGaLocation":1174},1786803765875]