[{"data":1,"prerenderedAt":708},["ShallowReactive",2],{"/fr-fr/blog/what-is-rest-api/":3,"navigation-fr-fr":35,"banner-fr-fr":455,"footer-fr-fr":467,"GitLab France Team":679,"next-steps-fr-fr":693},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":8,"content":16,"config":25,"_id":28,"_type":29,"title":30,"_source":31,"_file":32,"_stem":33,"_extension":34},"/fr-fr/blog/what-is-rest-api","blog",false,"",{"title":9,"description":10,"ogTitle":9,"ogDescription":10,"noIndex":6,"ogImage":11,"ogUrl":12,"ogSiteName":13,"ogType":14,"canonicalUrls":12,"schema":15},"API REST : définition et présentation complète","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.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662858/Blog/Hero%20Images/API-REST.jpg","https://about.gitlab.com/blog/what-is-rest-api","https://about.gitlab.com","article","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"API REST : définition et présentation complète\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"GitLab France Team\"}],\n        \"datePublished\": \"2024-09-04\",\n      }",{"title":9,"description":10,"authors":17,"heroImage":11,"date":19,"body":20,"category":21,"tags":22},[18],"GitLab France Team","2024-09-04","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.\n\n__Sommaire__\n- Qu’est-ce qu’une API REST ?\n- Comment fonctionne une API REST ?\n- Quels sont les principes de l'API REST ?\n- Quels sont les avantages d’une API REST ?\n- Utilisations d'une API REST\n\n## Qu’est-ce qu’une API REST ?\n\nL’API REST est une __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. \n\nUne 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. \n\nPour 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 (*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.\n\nConçu en 2000 par l'informaticien américain __Roy Fielding__ au cours de sa thèse de doctorat, REST (*REpresentational State Transfer*) est devenu le modèle dominant de création des APIs, et un jalon incontournable dans le développement du *World Wide Web*. Aujourd'hui, la grande majorité des APIs sont basées sur REST, particulièrement pour offrir des __services Web, interactifs ou mobiles__. Découvrons le fonctionnement des API RESTful, leurs avantages, et leurs applications très variées.\n\n## Comment fonctionne une API REST ? \n\nDans 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). \n\nQuelques notions clés permettent de saisir le fonctionnement d'une API RESTful. __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. __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. __Le serveur__ traite les requêtes. Dans le cas présent, il renverra la liste des produits correspondant aux critères de recherche.\n\nLes requêtes du client sont formulées à travers le __protocole HTTP__ (*HyperText Transfer Protocol*). Voici les principales méthodes et tâches qu'il permet d'accomplir : \n\n- GET : récupérer des données envoyées par le serveur.\n\n- POST : envoyer et publier des informations vers le serveur (les données d'un formulaire d'inscription par exemple).\n\n- PUT : mettre à jour les informations du serveur.\n\n- PATCH : modifier partiellement une ressource existante.\n\n- DELETE : supprimer des informations du serveur.\n\nLes formats de données pour utiliser une API REST sont divers. Le format JSON (*JavaScript Object Notation*) est un format léger, facile à comprendre, et utilisable par de nombreux langages de programmation. XML (*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.\n\n## Quels sont les principes de l'API REST ?\n\nUne API REST suit les principes de REST en termes d'__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. \n\nVoici les six principes architecturaux qui régissent une interface REST : \n\n- __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.\n\n- __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.\n\n- __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.\n\n- __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.\n\n- __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.\n\n- __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.\n\n## Quels sont les avantages d’une API REST ?\n\nEn 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 : \n\n- __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.)\n\n- __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).\n\n- __Portabilité :__ la séparation client-serveur facilite l'échange de données entre les plateformes.\n\n- __Flexibilité :__ cette API n'a pas les lourdeurs d'un protocole, c'est un style architectural.\n\n- __Indépendance :__ les développeurs peuvent travailler séparément sur la partie client ou serveur. \n\nLes 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.\n\n### Des contraintes de sécurité\n\nLa création et la gestion d'une API Web RESTful ne sont pas exemptes de défis. L'__authentification__ des utilisateurs peut devenir complexe lorsqu'elle fait appel à plusieurs méthodes différentes, par HTTP, clés API, ou OAuth (*Open Authorization*). Sur des applications larges et complexes, la __multiplication des points de terminaison__ (*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. \n\nD'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 (*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.\n\n## Utilisations d'une API REST\n\nLes 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. \n\nVoici des exemples d'application d'une API REST au sein de sociétés reconnues : \n\n- __Google Search.__ Cette API fournit en temps réel des millions de résultats de recherche sur Google Web et Google Image.\n\n- __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.\n\nActualiser les prix d'un site e-commerce, modifier un champ dans le code source, automatiser des publications, [orchestrer des clusters Kubernetes](https://about.gitlab.com/fr-fr/blog/kubernetes-the-container-orchestration-solution/ \"Kubernetes, la solution d’orchestration des conteneurs\"), 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.\n\n### L'API REST de GitLab\n\nGitLab 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 [documentation complète de l'API REST de GitLab](https://docs.gitlab.com/ee/api/rest/index.html \"Documentation sur l'API REST de GitLab\").  \n\n## FAQ sur l'API REST\n\n### REST vs SOAP\n\n__REST et SOAP__ sont deux standards d'API. L'API REST (*REpresentational State Transfer*) 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 (*Simple Object Access Protocol*) 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é.\n\n### Quelle est la différence entre REST et API REST ?\n\nREST 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. \n\n### Quelle est la différence entre REST et RESTful ?\n\nREST 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.\n\n### Quels sont les principes d'une API REST ?\n\nUne 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.\n","devsecops",[23,24],"DevOps","DevSecOps",{"slug":26,"featured":6,"template":27},"what-is-rest-api","BlogPost","content:fr-fr:blog:what-is-rest-api.yml","yaml","What Is Rest Api","content","fr-fr/blog/what-is-rest-api.yml","fr-fr/blog/what-is-rest-api","yml",{"_path":36,"_dir":37,"_draft":6,"_partial":6,"_locale":7,"data":38,"_id":451,"_type":29,"title":452,"_source":31,"_file":453,"_stem":454,"_extension":34},"/shared/fr-fr/main-navigation","fr-fr",{"logo":39,"freeTrial":44,"sales":49,"login":54,"items":59,"search":392,"minimal":428,"duo":442},{"config":40},{"href":41,"dataGaName":42,"dataGaLocation":43},"/fr-fr/","gitlab logo","header",{"text":45,"config":46},"Commencer un essai gratuit",{"href":47,"dataGaName":48,"dataGaLocation":43},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":50,"config":51},"Contacter l'équipe commerciale",{"href":52,"dataGaName":53,"dataGaLocation":43},"/fr-fr/sales/","sales",{"text":55,"config":56},"Connexion",{"href":57,"dataGaName":58,"dataGaLocation":43},"https://gitlab.com/users/sign_in/","sign in",[60,104,203,208,313,373],{"text":61,"config":62,"cards":64,"footer":87},"Plateforme",{"dataNavLevelOne":63},"platform",[65,71,79],{"title":61,"description":66,"link":67},"La plateforme DevSecOps alimentée par l'IA la plus complète",{"text":68,"config":69},"Découvrir notre plateforme",{"href":70,"dataGaName":63,"dataGaLocation":43},"/fr-fr/platform/",{"title":72,"description":73,"link":74},"GitLab Duo (IA)","Créez des logiciels plus rapidement en tirant parti de l'IA à chaque étape du développement",{"text":75,"config":76},"Découvrez GitLab Duo",{"href":77,"dataGaName":78,"dataGaLocation":43},"/fr-fr/gitlab-duo/","gitlab duo ai",{"title":80,"description":81,"link":82},"Choisir GitLab","10 raisons pour lesquelles les entreprises choisissent GitLab",{"text":83,"config":84},"En savoir plus",{"href":85,"dataGaName":86,"dataGaLocation":43},"/fr-fr/why-gitlab/","why gitlab",{"title":88,"items":89},"Démarrer avec",[90,95,100],{"text":91,"config":92},"Ingénierie de plateforme",{"href":93,"dataGaName":94,"dataGaLocation":43},"/fr-fr/solutions/platform-engineering/","platform engineering",{"text":96,"config":97},"Expérience développeur",{"href":98,"dataGaName":99,"dataGaLocation":43},"/fr-fr/developer-experience/","Developer experience",{"text":101,"config":102},"MLOps",{"href":103,"dataGaName":101,"dataGaLocation":43},"/fr-fr/topics/devops/the-role-of-ai-in-devops/",{"text":105,"left":106,"config":107,"link":109,"lists":113,"footer":185},"Produit",true,{"dataNavLevelOne":108},"solutions",{"text":110,"config":111},"Voir toutes les solutions",{"href":112,"dataGaName":108,"dataGaLocation":43},"/fr-fr/solutions/",[114,140,163],{"title":115,"description":116,"link":117,"items":122},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":118},{"icon":119,"href":120,"dataGaName":121,"dataGaLocation":43},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[123,127,131,136],{"text":124,"config":125},"CI/CD",{"href":126,"dataGaLocation":43,"dataGaName":124},"/fr-fr/solutions/continuous-integration/",{"text":128,"config":129},"Développement assisté par l'IA",{"href":77,"dataGaLocation":43,"dataGaName":130},"AI assisted development",{"text":132,"config":133},"Gestion du code source",{"href":134,"dataGaLocation":43,"dataGaName":135},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":137,"config":138},"Livraison de logiciels automatisée",{"href":120,"dataGaLocation":43,"dataGaName":139},"Automated software delivery",{"title":141,"description":142,"link":143,"items":148},"Securité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":144},{"href":145,"dataGaName":146,"dataGaLocation":43,"icon":147},"/fr-fr/solutions/security-compliance/","security and compliance","ShieldCheckLight",[149,153,158],{"text":150,"config":151},"Sécurité et conformité",{"href":145,"dataGaLocation":43,"dataGaName":152},"Security & Compliance",{"text":154,"config":155},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":156,"dataGaLocation":43,"dataGaName":157},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":159,"config":160},"Conformité et gouvernance",{"href":161,"dataGaLocation":43,"dataGaName":162},"/fr-fr/solutions/continuous-software-compliance/","Compliance and governance",{"title":164,"link":165,"items":170},"Mesures",{"config":166},{"icon":167,"href":168,"dataGaName":169,"dataGaLocation":43},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[171,175,180],{"text":172,"config":173},"Visibilité et mesures",{"href":168,"dataGaLocation":43,"dataGaName":174},"Visibility and Measurement",{"text":176,"config":177},"Gestion de la chaîne de valeur",{"href":178,"dataGaLocation":43,"dataGaName":179},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":181,"config":182},"Données d'analyse et informations clés",{"href":183,"dataGaLocation":43,"dataGaName":184},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":186,"items":187},"GitLab pour",[188,193,198],{"text":189,"config":190},"Entreprises",{"href":191,"dataGaLocation":43,"dataGaName":192},"/fr-fr/enterprise/","enterprise",{"text":194,"config":195},"PME",{"href":196,"dataGaLocation":43,"dataGaName":197},"/fr-fr/small-business/","small business",{"text":199,"config":200},"Secteur public",{"href":201,"dataGaLocation":43,"dataGaName":202},"/fr-fr/solutions/public-sector/","public sector",{"text":204,"config":205},"Tarifs",{"href":206,"dataGaName":207,"dataGaLocation":43,"dataNavLevelOne":207},"/fr-fr/pricing/","pricing",{"text":209,"config":210,"link":212,"lists":216,"feature":300},"Ressources",{"dataNavLevelOne":211},"resources",{"text":213,"config":214},"Afficher toutes les ressources",{"href":215,"dataGaName":211,"dataGaLocation":43},"/fr-fr/resources/",[217,250,272],{"title":218,"items":219},"Premiers pas",[220,225,230,235,240,245],{"text":221,"config":222},"Installation",{"href":223,"dataGaName":224,"dataGaLocation":43},"/fr-fr/install/","install",{"text":226,"config":227},"Guides de démarrage rapide",{"href":228,"dataGaName":229,"dataGaLocation":43},"/fr-fr/get-started/","quick setup checklists",{"text":231,"config":232},"Apprentissage",{"href":233,"dataGaLocation":43,"dataGaName":234},"https://university.gitlab.com/","learn",{"text":236,"config":237},"Documentation sur le produit",{"href":238,"dataGaName":239,"dataGaLocation":43},"https://docs.gitlab.com/","product documentation",{"text":241,"config":242},"Vidéos sur les bonnes pratiques",{"href":243,"dataGaName":244,"dataGaLocation":43},"/fr-fr/getting-started-videos/","best practice videos",{"text":246,"config":247},"Intégrations",{"href":248,"dataGaName":249,"dataGaLocation":43},"/fr-fr/integrations/","integrations",{"title":251,"items":252},"Découvrir",[253,258,262,267],{"text":254,"config":255},"Histoires de succès client",{"href":256,"dataGaName":257,"dataGaLocation":43},"/fr-fr/customers/","customer success stories",{"text":259,"config":260},"Blog",{"href":261,"dataGaName":5,"dataGaLocation":43},"/fr-fr/blog/",{"text":263,"config":264},"Travail à distance",{"href":265,"dataGaName":266,"dataGaLocation":43},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":268,"config":269},"TeamOps",{"href":270,"dataGaName":271,"dataGaLocation":43},"/fr-fr/teamops/","teamops",{"title":273,"items":274},"Connecter",[275,280,285,290,295],{"text":276,"config":277},"Services GitLab",{"href":278,"dataGaName":279,"dataGaLocation":43},"/fr-fr/services/","services",{"text":281,"config":282},"Communauté",{"href":283,"dataGaName":284,"dataGaLocation":43},"/community/","community",{"text":286,"config":287},"Forum",{"href":288,"dataGaName":289,"dataGaLocation":43},"https://forum.gitlab.com/","forum",{"text":291,"config":292},"Événements",{"href":293,"dataGaName":294,"dataGaLocation":43},"/events/","events",{"text":296,"config":297},"Partenaires",{"href":298,"dataGaName":299,"dataGaLocation":43},"/fr-fr/partners/","partners",{"backgroundColor":301,"textColor":302,"text":303,"image":304,"link":308},"#2f2a6b","#fff","L'avenir du développement logiciel. Tendances et perspectives.",{"altText":305,"config":306},"carte promo The Source",{"src":307},"/images/navigation/the-source-promo-card.svg",{"text":309,"config":310},"Lire les articles les plus récents",{"href":311,"dataGaName":312,"dataGaLocation":43},"/fr-fr/the-source/","the source",{"text":314,"config":315,"lists":317},"Société",{"dataNavLevelOne":316},"company",[318],{"items":319},[320,325,331,333,338,343,348,353,358,363,368],{"text":321,"config":322},"À propos",{"href":323,"dataGaName":324,"dataGaLocation":43},"/fr-fr/company/","about",{"text":326,"config":327,"footerGa":330},"Emplois",{"href":328,"dataGaName":329,"dataGaLocation":43},"/jobs/","jobs",{"dataGaName":329},{"text":291,"config":332},{"href":293,"dataGaName":294,"dataGaLocation":43},{"text":334,"config":335},"Leadership",{"href":336,"dataGaName":337,"dataGaLocation":43},"/company/team/e-group/","leadership",{"text":339,"config":340},"Équipe",{"href":341,"dataGaName":342,"dataGaLocation":43},"/company/team/","team",{"text":344,"config":345},"Manuel",{"href":346,"dataGaName":347,"dataGaLocation":43},"https://handbook.gitlab.com/","handbook",{"text":349,"config":350},"Relations avec les investisseurs",{"href":351,"dataGaName":352,"dataGaLocation":43},"https://ir.gitlab.com/","investor relations",{"text":354,"config":355},"Centre de confiance",{"href":356,"dataGaName":357,"dataGaLocation":43},"/fr-fr/security/","trust center",{"text":359,"config":360},"Centre pour la transparence de l'IA",{"href":361,"dataGaName":362,"dataGaLocation":43},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":364,"config":365},"Newsletter",{"href":366,"dataGaName":367,"dataGaLocation":43},"/company/contact/","newsletter",{"text":369,"config":370},"Presse",{"href":371,"dataGaName":372,"dataGaLocation":43},"/press/","press",{"text":374,"config":375,"lists":376},"Nous contacter",{"dataNavLevelOne":316},[377],{"items":378},[379,382,387],{"text":50,"config":380},{"href":52,"dataGaName":381,"dataGaLocation":43},"talk to sales",{"text":383,"config":384},"Aide",{"href":385,"dataGaName":386,"dataGaLocation":43},"/support/","get help",{"text":388,"config":389},"Portail clients GitLab",{"href":390,"dataGaName":391,"dataGaLocation":43},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":393,"login":394,"suggestions":401},"Fermer",{"text":395,"link":396},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":397,"config":398},"gitlab.com",{"href":57,"dataGaName":399,"dataGaLocation":400},"search login","search",{"text":402,"default":403},"Suggestions",[404,407,412,414,419,424],{"text":72,"config":405},{"href":77,"dataGaName":406,"dataGaLocation":400},"GitLab Duo (AI)",{"text":408,"config":409},"Suggestions de code (IA)",{"href":410,"dataGaName":411,"dataGaLocation":400},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":124,"config":413},{"href":126,"dataGaName":124,"dataGaLocation":400},{"text":415,"config":416},"GitLab sur AWS",{"href":417,"dataGaName":418,"dataGaLocation":400},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":420,"config":421},"GitLab sur Google Cloud ",{"href":422,"dataGaName":423,"dataGaLocation":400},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":425,"config":426},"Pourquoi utiliser GitLab ?",{"href":85,"dataGaName":427,"dataGaLocation":400},"Why GitLab?",{"freeTrial":429,"mobileIcon":434,"desktopIcon":439},{"text":430,"config":431},"Commencer votre essai gratuit",{"href":432,"dataGaName":48,"dataGaLocation":433},"https://gitlab.com/-/trials/new/","nav",{"altText":435,"config":436},"Icône GitLab",{"src":437,"dataGaName":438,"dataGaLocation":433},"/images/brand/gitlab-logo-tanuki.svg","gitlab icon",{"altText":435,"config":440},{"src":441,"dataGaName":438,"dataGaLocation":433},"/images/brand/gitlab-logo-type.svg",{"freeTrial":443,"mobileIcon":447,"desktopIcon":449},{"text":444,"config":445},"En savoir plus sur GitLab Duo",{"href":77,"dataGaName":446,"dataGaLocation":433},"gitlab duo",{"altText":435,"config":448},{"src":437,"dataGaName":438,"dataGaLocation":433},{"altText":435,"config":450},{"src":441,"dataGaName":438,"dataGaLocation":433},"content:shared:fr-fr:main-navigation.yml","Main Navigation","shared/fr-fr/main-navigation.yml","shared/fr-fr/main-navigation",{"_path":456,"_dir":37,"_draft":6,"_partial":6,"_locale":7,"title":457,"titleMobile":457,"button":458,"config":462,"_id":464,"_type":29,"_source":31,"_file":465,"_stem":466,"_extension":34},"/shared/fr-fr/banner","La plateforme GitLab Duo Agent est maintenant en bêta publique !",{"text":83,"config":459},{"href":460,"dataGaName":461,"dataGaLocation":43},"/fr-fr/gitlab-duo/agent-platform/","duo banner",{"layout":463},"release","content:shared:fr-fr:banner.yml","shared/fr-fr/banner.yml","shared/fr-fr/banner",{"_path":468,"_dir":37,"_draft":6,"_partial":6,"_locale":7,"data":469,"_id":675,"_type":29,"title":676,"_source":31,"_file":677,"_stem":678,"_extension":34},"/shared/fr-fr/main-footer",{"text":470,"source":471,"edit":477,"contribute":482,"config":487,"items":492,"minimal":666},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence",{"text":472,"config":473},"Afficher le code source de la page",{"href":474,"dataGaName":475,"dataGaLocation":476},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":478,"config":479},"Modifier cette page",{"href":480,"dataGaName":481,"dataGaLocation":476},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":483,"config":484},"Veuillez contribuer",{"href":485,"dataGaName":486,"dataGaLocation":476},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":488,"facebook":489,"youtube":490,"linkedin":491},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[493,516,570,603,637],{"title":61,"links":494,"subMenu":499},[495],{"text":496,"config":497},"Plateforme DevSecOps",{"href":70,"dataGaName":498,"dataGaLocation":476},"devsecops platform",[500],{"title":204,"links":501},[502,506,511],{"text":503,"config":504},"Voir les forfaits",{"href":206,"dataGaName":505,"dataGaLocation":476},"view plans",{"text":507,"config":508},"Pourquoi choisir GitLab Premium ?",{"href":509,"dataGaName":510,"dataGaLocation":476},"/fr-fr/pricing/premium/","why premium",{"text":512,"config":513},"Pourquoi choisir GitLab Ultimate ?",{"href":514,"dataGaName":515,"dataGaLocation":476},"/fr-fr/pricing/ultimate/","why ultimate",{"title":517,"links":518},"Solutions",[519,524,527,529,534,539,543,546,549,554,556,558,560,565],{"text":520,"config":521},"Transformation digitale",{"href":522,"dataGaName":523,"dataGaLocation":476},"/fr-fr/topics/digital-transformation/","digital transformation",{"text":150,"config":525},{"href":145,"dataGaName":526,"dataGaLocation":476},"security & compliance",{"text":137,"config":528},{"href":120,"dataGaName":121,"dataGaLocation":476},{"text":530,"config":531},"Développement agile",{"href":532,"dataGaName":533,"dataGaLocation":476},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":535,"config":536},"Transformation cloud",{"href":537,"dataGaName":538,"dataGaLocation":476},"/fr-fr/topics/cloud-native/","cloud transformation",{"text":540,"config":541},"SCM",{"href":134,"dataGaName":542,"dataGaLocation":476},"source code management",{"text":124,"config":544},{"href":126,"dataGaName":545,"dataGaLocation":476},"continuous integration & delivery",{"text":176,"config":547},{"href":178,"dataGaName":548,"dataGaLocation":476},"value stream management",{"text":550,"config":551},"GitOps",{"href":552,"dataGaName":553,"dataGaLocation":476},"/fr-fr/solutions/gitops/","gitops",{"text":189,"config":555},{"href":191,"dataGaName":192,"dataGaLocation":476},{"text":194,"config":557},{"href":196,"dataGaName":197,"dataGaLocation":476},{"text":199,"config":559},{"href":201,"dataGaName":202,"dataGaLocation":476},{"text":561,"config":562},"Formation",{"href":563,"dataGaName":564,"dataGaLocation":476},"/fr-fr/solutions/education/","education",{"text":566,"config":567},"Services financiers",{"href":568,"dataGaName":569,"dataGaLocation":476},"/fr-fr/solutions/finance/","financial services",{"title":209,"links":571},[572,574,576,578,581,583,587,589,591,593,595,597,599,601],{"text":221,"config":573},{"href":223,"dataGaName":224,"dataGaLocation":476},{"text":226,"config":575},{"href":228,"dataGaName":229,"dataGaLocation":476},{"text":231,"config":577},{"href":233,"dataGaName":234,"dataGaLocation":476},{"text":236,"config":579},{"href":238,"dataGaName":580,"dataGaLocation":476},"docs",{"text":259,"config":582},{"href":261,"dataGaName":5},{"text":584,"config":585},"Histoires de réussite client",{"href":586,"dataGaLocation":476},"/customers/",{"text":254,"config":588},{"href":256,"dataGaName":257,"dataGaLocation":476},{"text":263,"config":590},{"href":265,"dataGaName":266,"dataGaLocation":476},{"text":276,"config":592},{"href":278,"dataGaName":279,"dataGaLocation":476},{"text":268,"config":594},{"href":270,"dataGaName":271,"dataGaLocation":476},{"text":281,"config":596},{"href":283,"dataGaName":284,"dataGaLocation":476},{"text":286,"config":598},{"href":288,"dataGaName":289,"dataGaLocation":476},{"text":291,"config":600},{"href":293,"dataGaName":294,"dataGaLocation":476},{"text":296,"config":602},{"href":298,"dataGaName":299,"dataGaLocation":476},{"title":314,"links":604},[605,607,609,611,613,615,617,621,626,628,630,632],{"text":321,"config":606},{"href":323,"dataGaName":316,"dataGaLocation":476},{"text":326,"config":608},{"href":328,"dataGaName":329,"dataGaLocation":476},{"text":334,"config":610},{"href":336,"dataGaName":337,"dataGaLocation":476},{"text":339,"config":612},{"href":341,"dataGaName":342,"dataGaLocation":476},{"text":344,"config":614},{"href":346,"dataGaName":347,"dataGaLocation":476},{"text":349,"config":616},{"href":351,"dataGaName":352,"dataGaLocation":476},{"text":618,"config":619},"Sustainability",{"href":620,"dataGaName":618,"dataGaLocation":476},"/sustainability/",{"text":622,"config":623},"Diversité, inclusion et appartenance (DIB)",{"href":624,"dataGaName":625,"dataGaLocation":476},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":354,"config":627},{"href":356,"dataGaName":357,"dataGaLocation":476},{"text":364,"config":629},{"href":366,"dataGaName":367,"dataGaLocation":476},{"text":369,"config":631},{"href":371,"dataGaName":372,"dataGaLocation":476},{"text":633,"config":634},"Déclaration de transparence sur l'esclavage moderne",{"href":635,"dataGaName":636,"dataGaLocation":476},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":374,"links":638},[639,642,644,646,651,656,661],{"text":640,"config":641},"Échanger avec un expert",{"href":52,"dataGaName":53,"dataGaLocation":476},{"text":383,"config":643},{"href":385,"dataGaName":386,"dataGaLocation":476},{"text":388,"config":645},{"href":390,"dataGaName":391,"dataGaLocation":476},{"text":647,"config":648},"Statut",{"href":649,"dataGaName":650,"dataGaLocation":476},"https://status.gitlab.com/","status",{"text":652,"config":653},"Conditions d'utilisation",{"href":654,"dataGaName":655},"/terms/","terms of use",{"text":657,"config":658},"Déclaration de confidentialité",{"href":659,"dataGaName":660,"dataGaLocation":476},"/fr-fr/privacy/","privacy statement",{"text":662,"config":663},"Préférences en matière de cookies",{"dataGaName":664,"dataGaLocation":476,"id":665,"isOneTrustButton":106},"cookie preferences","ot-sdk-btn",{"items":667},[668,670,673],{"text":652,"config":669},{"href":654,"dataGaName":655,"dataGaLocation":476},{"text":671,"config":672},"Politique de confidentialité",{"href":659,"dataGaName":660,"dataGaLocation":476},{"text":662,"config":674},{"dataGaName":664,"dataGaLocation":476,"id":665,"isOneTrustButton":106},"content:shared:fr-fr:main-footer.yml","Main Footer","shared/fr-fr/main-footer.yml","shared/fr-fr/main-footer",[680],{"_path":681,"_dir":682,"_draft":6,"_partial":6,"_locale":7,"content":683,"config":687,"_id":689,"_type":29,"title":690,"_source":31,"_file":691,"_stem":692,"_extension":34},"/en-us/blog/authors/gitlab-france-team","authors",{"name":18,"config":684},{"headshot":685,"ctfId":686},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","1gfblqN0ibYIuWGk7MOTny",{"template":688},"BlogAuthor","content:en-us:blog:authors:gitlab-france-team.yml","Gitlab France Team","en-us/blog/authors/gitlab-france-team.yml","en-us/blog/authors/gitlab-france-team",{"_path":694,"_dir":37,"_draft":6,"_partial":6,"_locale":7,"header":695,"eyebrow":696,"blurb":697,"button":698,"secondaryButton":702,"_id":704,"_type":29,"title":705,"_source":31,"_file":706,"_stem":707,"_extension":34},"/shared/fr-fr/next-steps","Commencez à livrer des logiciels de meilleurs qualité plus rapidement","Plus de 50 % des entreprises du classement Fortune 100 font confiance à GitLab","Découvrez comment la plateforme DevSecOps intelligente\n\n\npeut aider votre équipe.\n",{"text":45,"config":699},{"href":700,"dataGaName":48,"dataGaLocation":701},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":50,"config":703},{"href":52,"dataGaName":53,"dataGaLocation":701},"content:shared:fr-fr:next-steps.yml","Next Steps","shared/fr-fr/next-steps.yml","shared/fr-fr/next-steps",1753475405777]