[{"data":1,"prerenderedAt":352},["ShallowReactive",2],{"menu-featured-themes":3,"course-rest-api-conception-robuste-bonnes-pratiques-et-securite":323},[4,26,93,105,132,184,196,218,255,267,304],{"_id":5,"name":6,"slug":7,"metadata":8,"courses":10},"b00f0fff-150d-444f-aced-509768f8da96","Bases de données","bases-de-donnees",{"theme-icon-name":9},"solar:database-linear",[11,16,21],{"name":12,"slug":13,"metadata":14,"theme":15},"Langage SQL : fondations, requêtes avancées et optimisation","langage-sql-fondations-requetes-avancees-et-optimisation",[],{"_id":5},{"name":17,"slug":18,"metadata":19,"theme":20},"MongoDB","mongodb",[],{"_id":5},{"name":22,"slug":23,"metadata":24,"theme":25},"MySQL","mysql",[],{"_id":5},{"_id":27,"name":28,"slug":29,"metadata":30,"courses":32},"08de519f-b33c-4368-84f7-564b178cc5ba","Développement logiciel","developpement-logiciel",{"theme-icon-name":31},"solar:chat-square-code-linear",[33,38,43,48,53,58,63,68,73,78,83,88],{"name":34,"slug":35,"metadata":36,"theme":37},"Découverte du langage Rust : fondamentaux et premiers projets","decouverte-du-langage-rust-fondamentaux-et-premiers-projets",[],{"_id":27},{"name":39,"slug":40,"metadata":41,"theme":42},"Langage Go : bases essentielles et programmation concurrente ","langage-go-bases-essentielles-et-programmation-concurrente",[],{"_id":27},{"name":44,"slug":45,"metadata":46,"theme":47},"Initiation au langage C : fondamentaux et mise en pratique ","initiation-au-langage-c-fondamentaux-et-mise-en-pratique",[],{"_id":27},{"name":49,"slug":50,"metadata":51,"theme":52},"Programmation en langage C++ : principes et pratique ","programmation-en-langage-c-principes-et-pratique",[],{"_id":27},{"name":54,"slug":55,"metadata":56,"theme":57},"C# avancé","c-avance",[],{"_id":27},{"name":59,"slug":60,"metadata":61,"theme":62},"C#","c",[],{"_id":27},{"name":64,"slug":65,"metadata":66,"theme":67},"Test unitaire TDD ","test-unitaire-tdd",[],{"_id":27},{"name":69,"slug":70,"metadata":71,"theme":72},"Python avancé","python-avance",[],{"_id":27},{"name":74,"slug":75,"metadata":76,"theme":77},"Python","python",[],{"_id":27},{"name":79,"slug":80,"metadata":81,"theme":82},"JAVA AVANCÉ","java-avance",[],{"_id":27},{"name":84,"slug":85,"metadata":86,"theme":87},"Java EE","java-ee",[],{"_id":27},{"name":89,"slug":90,"metadata":91,"theme":92},"Java","java",[],{"_id":27},{"_id":94,"name":95,"slug":96,"metadata":97,"courses":99},"6951e3d6-ef98-4e7c-910f-cce2f408dd0e","Développement mobile","developpement-mobile",{"theme-icon-name":98},"solar:monitor-smartphone-linear",[100],{"name":101,"slug":102,"metadata":103,"theme":104},"Android","android",[],{"_id":94},{"_id":106,"name":107,"slug":108,"metadata":109,"courses":111},"448a5bc8-7a9a-4817-ab01-178c3abb1d35","Développement Web Backend","developpement-web-backend",{"theme-icon-name":110},"solar:server-minimalistic-linear",[112,117,122,127],{"name":113,"slug":114,"metadata":115,"theme":116},"Développeur Web PHP : création d’applications dynamiques","developpeur-web-php-creation-d-applications-dynamiques",[],{"_id":106},{"name":118,"slug":119,"metadata":120,"theme":121},"Node JS","node-js",[],{"_id":106},{"name":123,"slug":124,"metadata":125,"theme":126},"Spring","spring",[],{"_id":106},{"name":128,"slug":129,"metadata":130,"theme":131},"ASP.NET Core MVC ","asp-net-core-mvc",[],{"_id":106},{"_id":133,"name":134,"slug":135,"metadata":136,"courses":138},"abd712b8-6a6c-4c9b-b382-0aea1eac47d6","Développement Web Frontend","developpement-web-frontend",{"theme-icon-name":137},"mdi:open-in-browser",[139,144,149,154,159,164,169,174,179],{"name":140,"slug":141,"metadata":142,"theme":143},"Conception et développement Web accessible : fondations et pratiques essentielles","conception-et-developpement-web-accessible-fondations-et-pratiques-essentielles",[],{"_id":133},{"name":145,"slug":146,"metadata":147,"theme":148},"Programmation JavaScript : bases essentielles et manipulation web ","programmation-javascript-bases-essentielles-et-manipulation-web",[],{"_id":133},{"name":150,"slug":151,"metadata":152,"theme":153},"TypeScript","typescript",[],{"_id":133},{"name":155,"slug":156,"metadata":157,"theme":158},"Industrialisation front-end ","industrialisation-front-end",[],{"_id":133},{"name":160,"slug":161,"metadata":162,"theme":163},"React avancé","react-avance",[],{"_id":133},{"name":165,"slug":166,"metadata":167,"theme":168},"Angular avancé","angular-avance",[],{"_id":133},{"name":170,"slug":171,"metadata":172,"theme":173},"Vue JS ","vue-js",[],{"_id":133},{"name":175,"slug":176,"metadata":177,"theme":178},"React ","react",[],{"_id":133},{"name":180,"slug":181,"metadata":182,"theme":183},"Angular","angular",[],{"_id":133},{"_id":185,"name":186,"slug":187,"metadata":188,"courses":190},"69210f90-fd72-449a-876c-723ed8025ca2","Développement Web responsable","developpement-web-responsable",{"theme-icon-name":189},"mdi:search-web",[191],{"name":192,"slug":193,"metadata":194,"theme":195},"Développement web éco-responsable & Backend basse consommation","developpement-web-eco-responsable-backend-basse-consommation",[],{"_id":185},{"_id":197,"name":198,"slug":199,"metadata":200,"courses":202},"81cc5878-3028-4c38-809e-d689f9d814a8","DevOps","devops",{"theme-icon-name":201},"mdi:microsoft-azure-devops",[203,208,213],{"name":204,"slug":205,"metadata":206,"theme":207},"Terraform","terraform",[],{"_id":197},{"name":209,"slug":210,"metadata":211,"theme":212},"Kubernetes","kubernetes",[],{"_id":197},{"name":214,"slug":215,"metadata":216,"theme":217},"AWS","aws",[],{"_id":197},{"_id":219,"name":220,"slug":221,"metadata":222,"courses":224},"6ed0fa01-28f8-41af-9a81-27a12556e38f","Gestion de projet","gestion-de-projet",{"theme-icon-name":223},"solar:bill-list-linear",[225,230,235,240,245,250],{"name":226,"slug":227,"metadata":228,"theme":229},"Management et gestion de projets opérationnels","management-et-gestion-de-projets-operationnels",[],{"_id":219},{"name":231,"slug":232,"metadata":233,"theme":234},"Devenir Coach Agile ","devenir-coach-agile",[],{"_id":219},{"name":236,"slug":237,"metadata":238,"theme":239},"Comprendre et appliquer Kanban ","comprendre-et-appliquer-kanban",[],{"_id":219},{"name":241,"slug":242,"metadata":243,"theme":244},"Comprendre la démarche Agile ","comprendre-la-demarche-agile",[],{"_id":219},{"name":246,"slug":247,"metadata":248,"theme":249},"GITLAB : de la gestion de projet aux pipelines avancés","gitlab-de-la-gestion-de-projet-aux-pipelines-avances",[],{"_id":219},{"name":251,"slug":252,"metadata":253,"theme":254},"Méthodes agiles","methodes-agiles",[],{"_id":219},{"_id":256,"name":257,"slug":258,"metadata":259,"courses":261},"1bfd6e41-c2b0-4813-a29b-c9e1c486b5d0","Intelligence Artificielle","intelligence-artificielle",{"theme-icon-name":260},"solar:cpu-bold-duotone",[262],{"name":263,"slug":264,"metadata":265,"theme":266},"Initiation à l’intelligence artificielle et aux principaux outils de Deep Learning ","initiation-a-l-intelligence-artificielle-et-aux-principaux-outils-de-deep-learning",[],{"_id":256},{"_id":268,"name":269,"slug":270,"metadata":271,"courses":273},"174b8e60-d342-450b-a484-35bc04a711fd","Microsoft Azure","microsoft-azure",{"theme-icon-name":272},"mdi:microsoft-azure",[274,279,284,289,294,299],{"name":275,"slug":276,"metadata":277,"theme":278},"Microsoft Azure - Conception de solutions d'infrastructure (AZ-305)","microsoft-azure-conception-de-solutions-d-infrastructure-az-305",[],{"_id":268},{"name":280,"slug":281,"metadata":282,"theme":283},"Microsoft Azure AI - Les fondamentaux","microsoft-azure-ai-les-fondamentaux",[],{"_id":268},{"name":285,"slug":286,"metadata":287,"theme":288},"Microsoft Azure - Administrateur (AZ-104) ","microsoft-azure-administrateur-az-104",[],{"_id":268},{"name":290,"slug":291,"metadata":292,"theme":293},"Microsoft Azure - Fondamentaux (AZ-900) ","microsoft-azure-fondamentaux-az-900",[],{"_id":268},{"name":295,"slug":296,"metadata":297,"theme":298},"Microsoft Azure - Développement de solutions (AZ-204) ","microsoft-azure-developpement-de-solutions-az-204",[],{"_id":268},{"name":300,"slug":301,"metadata":302,"theme":303},"Conception et mise en oeuvre de solutions Microsoft DevOps (AZ-400)  ","conception-et-mise-en-oeuvre-de-solutions-microsoft-devops-az-400",[],{"_id":268},{"_id":305,"name":306,"slug":307,"metadata":308,"courses":310,"collectiveGroups":311},"collective-actions-theme","Formations actions collectives","formations-actions-collectives",{"theme-icon-name":309},"mdi:account-group",[],[312],{"themeId":219,"themeName":220,"themeIcon":223,"courses":313},[314,317,320],{"name":231,"slug":232,"metadata":315,"theme":316},[],{"_id":219},{"name":236,"slug":237,"metadata":318,"theme":319},[],{"_id":219},{"name":241,"slug":242,"metadata":321,"theme":322},[],{"_id":219},{"id":324,"name":325,"slug":326,"location":327,"targetAudienceFormatMarkdown":328,"prerequisitesFormatMarkdown":329,"objectivesFormatMarkdown":330,"descriptionFormatMarkdown":331,"teachingMethodsFormatMarkdown":332,"teachingResourcesFormatMarkdown":333,"evaluationMethodsFormatMarkdown":334,"accessibilityFormatMarkdown":335,"accessMethodsFormatMarkdown":336,"minimumParticipants":337,"maximumParticipants":337,"duration":338,"reference":339,"trainerType":327,"updated_at":340,"created_at":341,"price":342,"organizationMode":327,"theme":343,"code":345,"tags":350,"metadata":351},"/api/courses/733470f4-26fb-4beb-adca-10de1cf08e81","REST API : conception robuste, bonnes pratiques et sécurité","rest-api-conception-robuste-bonnes-pratiques-et-securite",null,"Développeurs Web (back-end ou full stack) impliqués dans la création ou la maintenance d’API. \n\nArchitectes techniques, ingénieurs et responsables de projet souhaitant formaliser leurs pratiques d’API. \n\nDevOps souhaitant maîtriser les approches défensives pour les interfaces REST.","-   Connaissances des fondamentaux du protocole HTTP et des architectures Web. \n-   Expérience en développement logiciel, idéalement avec des langages Web (par exemple JavaScript, Python, Java, PHP). \n-   Compréhension basique des formats JSON et XML.  ","-   Situer le rôle des API REST dans une architecture moderne et reconnaître leurs contraintes. \n-   Concevoir et structurer des API REST claires, maintenables et alignées sur les conventions du secteur. \n-   Identifier les risques courants et appliquer des mesures de sécurisation des API. \n-   Mettre en place des mécanismes d’authentification et d’autorisation robustes (par exemple OAuth2, tokens). \n-   Appliquer des bonnes pratiques telles que validation des données, gestion des erreurs, versioning, et contrôle d’accès.  ","--day1--\n\n## Fondamentaux des API REST \n\n-   Historique et rôle des API dans les architectures modernes. \n-   Principes clés des API RESTful et comparaisons avec d’autres styles (SOAP, RPC). \n-   Conventions de conception (ressources, URI, méthodes HTTP, verbes, stateless). \n-   Exemples de modèles de réponse cohérents et formats recommandés.  \n\n--break--\n\n## Structurer et documenter une API selon les bonnes pratiques \n\n-   Identification des ressources et conception des schémas URI. \n-   Mise en place du versioning et standards de nommage. \n-   Documentation d’API avec OpenAPI / Swagger ou équivalent. \n-   Mise en pratique : création d’une spécification d’API exemple.  \n\n--day2--\n\n## Sécurité des API – concepts et menaces \n\n-   Panorama des menaces courantes contre les API REST (injection, énumération, etc.). \n-   Principes d’authentification et d’autorisation : modèles courants. \n-   Introduction aux standards OAuth2 et OpenID Connect. \n-   Contrôle d’accès et implémentation de politiques fines. \n\n--break--\n\n## Approfondir la sécurité des échanges et des données \n\n-   Mise en œuvre de HTTPS et configurations essentielles pour l’intégrité des échanges. \n-   Validation et nettoyage des entrées pour prévenir les attaques (SQL injection, XSS). \n-   Limitation de taux (rate limiting) pour atténuer les abus et attaques DoS. \n-   Analyse des erreurs et journalisation sans fuite d’informations sensibles.  \n\n--day3--\n\n## Mise en œuvre sécurisée et bonnes pratiques avancées \n\n-   Utilisation de JWT (JSON Web Tokens) pour les sessions et autorisations. \n-   Mécanismes de rafraîchissement de tokens et gestion des expirations. \n-   Sécurisation des flux métier critiques et stratégies de défense en profondeur. \n-   Atelier pratique : implémentation sécurisée d’un endpoint REST.  \n\n--break--\n\n## Exploitation, supervision et clôture \n\n-   Surveillance et audit de l’API : logs, métriques et alertes. \n-   Tests de sécurité automatisés et intégration continue. \n-   Revue des acquis à travers un cas pratique complet. \n-   Synthèse, recommandations pour aller plus loin et ressources complémentaires.","Nos formations, équilibrées entre théorie (50%) et pratique (50%), offrent un apprentissage interactif grâce à des méthodes variées comme les travaux pratiques, les mises en situation et les démonstrations. Des QCM réguliers assurent le suivi des acquis.\n\nVariables suivant les formations, les moyens techniques mis en oeuvre sont :\n\nOrdinateurs Mac ou PC, connexion internet fibre, tableau blanc ou écran (pour le distanciel).\n\nEn cas de formation intra sur site externe à Le Code, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires\n\n(équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué","Les supports pédagogiques sont remis aux stagiaires sous format numérique et/ou papier selon les modalités de la formation.\n\n  \n\nIls comprennent des supports de cours, des présentations, des fiches pratiques, des études de cas, des exercices applicatifs ainsi que des QCM d’entraînement selon la formation. (adapté au choix du formateur)\n\n  \n\nLes formations s’appuient sur des moyens techniques adaptés : ordinateurs, logiciels professionnels, connexion internet, écran ou vidéoprojecteur, ainsi que des outils collaboratifs et de visioconférence pour les formations à distance.\n\n  \n\nL’ensemble des supports pédagogiques est accessible pendant et après la formation afin de favoriser l’appropriation et la mise en pratique des compétences acquises.","En amont de la formation, un recueil des besoins permet de récolter des informations sur le stagiaire et ses attentes. L’évaluation se fait en cours de formation, par des études de cas ou des travaux pratiques. En fin de formation, par un questionnaire d’auto-évaluation et/ou un examen.\n\nUn suivi de qualité est effectué grâce à nos sessions en groupe restreint (entre 2 et 9 participants maximum). Le stagiaire émargera par demi-journée et recevra une attestation de formation.","Nous informons l'ensemble de nos clients et stagiaires que nous sommes dans la capacité d’adapter les sessions selon les handicaps et les situations spécifiques. Nous nous engageons à répondre à toutes vos demandes sous un délai de 48h\n\nouvré.","Si l’une de nos formations vous intéresse, contactez-nous au +33 4 93 65 34 24 ou à l’adresse mail contact@m2g-intellect.fr. Selon votre besoin et vos attentes, nous organiserons un échange téléphonique avec le formateur pressenti afin d’adapter la\n\nformation et ses modules, puis nous vous adresserons un devis.\n\nLes dates de la formation seront à convenir sous 30 jours maximum.",0,"21.00","REST","2026-04-22T09:22:23+00:00","2026-04-22T09:14:34+00:00","2100.00",{"id":344,"name":107,"slug":108},"/api/themes/448a5bc8-7a9a-4817-ab01-178c3abb1d35",{"id":346,"label":347,"domain":348},"/api/training_specialities/163","326 - Informatique, traitement de l’information, réseaux de transmission des données",{"label":349},"32 - Communication et information",[],[],1777045468544]