[{"data":1,"prerenderedAt":45},["ShallowReactive",2],{"course-api-de-donnees-avec-fastapi":3,"highlight-python-from fastapi import ":44},{"id":4,"name":5,"slug":6,"location":7,"targetAudienceFormatMarkdown":8,"prerequisitesFormatMarkdown":9,"objectivesFormatMarkdown":10,"descriptionFormatMarkdown":11,"teachingMethodsFormatMarkdown":12,"teachingResourcesFormatMarkdown":13,"evaluationMethodsFormatMarkdown":14,"accessibilityFormatMarkdown":15,"accessMethodsFormatMarkdown":16,"minimumParticipants":7,"maximumParticipants":7,"duration":17,"reference":18,"trainerType":7,"updated_at":19,"created_at":20,"price":21,"organizationMode":22,"theme":25,"code":29,"tags":34,"metadata":35},"/api/courses/0b194999-b298-11f1-a993-d8ca06000363","API de données avec FastAPI","api-de-donnees-avec-fastapi",null,"Développeurs Python, ingénieurs données, architectes, développeurs souhaitant exposer des données via des services.","Pratique de Python et connaissance des principes des API REST.","Exposer des données et des services via des API REST performantes avec FastAPI.","--day1--\n\n## Fondations et validation\n\n-   Positionnement de FastAPI et principes de conception\n-   Premiers points d'entrée, paramètres de chemin et de requête\n-   Validation des données avec des modèles typés\n-   Modèles de réponse, sérialisation et filtrage des champs exposés\n-   Documentation interactive générée automatiquement\n-   Travaux pratiques : construction d'une première API de consultation de données avec validation\n\n--break--\n\n## Accès aux données et structure du projet\n\n-   Connexion à une base de données et gestion des sessions\n-   Injection de dépendances et factorisation\n-   Organisation du projet : routeurs, services, configuration\n-   Pagination, filtrage et tri des résultats\n-   Gestion des erreurs et réponses normalisées\n-   Travaux pratiques : structuration complète d'une API connectée à une base de données\n\n--day2--\n\n## Sécurité et performance\n\n-   Authentification par jeton et intégration à un fournisseur d'identité\n-   Autorisation et contrôle d'accès aux données exposées\n-   Limitation de débit et protection contre les usages abusifs\n-   Asynchronisme : cas d'usage réels et pièges de mélange avec du code bloquant\n-   Mise en cache et optimisation des réponses volumineuses\n-   Travaux pratiques : sécurisation de l'API et mesure de performance sous charge\n\n--break--\n\n## Tests, déploiement et exploitation\n\n-   Tests automatisés des points d'entrée et jeux de données\n-   Conteneurisation et configuration par environnement\n-   Déploiement et serveur d'application en production\n-   Journalisation, métriques et supervision de l'API\n-   Versionnement de l'API et gestion de la compatibilité\n-   Travaux pratiques : conteneurisation, tests et déploiement de l'API construite","Présentiel, distanciel, hybride","Les supports pédagogiques sont remis aux stagiaires sous format numérique et/ou papier selon les modalités de la formation.\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\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\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 ouvré.","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 formation et ses modules, puis nous vous adresserons un devis.\n\nLes dates de la formation seront à convenir sous 30 jours maximum.","14.00","L1-DAT-22","2026-09-18T09:45:10+00:00","2026-09-17T15:02:31+00:00","1510.00",{"id":23,"name":24},"/api/organization_mode_types/6","HYBRID",{"id":26,"name":27,"slug":28},"/api/themes/0ac0e95d-b298-11f1-a993-d8ca06000363","Bases de données, outils décisionnels, Big Data et Cloud computing","bases-de-donnees-outils-decisionnels-big-data-et-cloud-computing",{"id":30,"label":31,"domain":32},"/api/training_specialities/163","326 - Informatique, traitement de l’information, réseaux de transmission des données",{"label":33},"32 - Communication et information",[],{"desc-accroche":36,"Description":37,"icon-color":38,"icon-name":39,"code-langage":40,"code-snippet":41,"courte-description":42,"titre-accroche":43},"Construisez des API asynchrones avec FastAPI : validation des schémas avec Pydantic, documentation OpenAPI générée automatiquement, authentification, gestion des erreurs et mise en production sécurisée des données exposées.","Exposer une donnée par une API mal validée ou mal documentée reporte le problème sur ceux qui la consomment. Cette formation utilise FastAPI comme support pour construire des API REST robustes : schémas de données et validation automatique avec Pydantic, génération de la documentation interactive OpenAPI, routes asynchrones pour les appels à des bases de données ou des services externes, et gestion structurée des erreurs. Une attention particulière est portée à la sécurité des données exposées : authentification, gestion des autorisations, limitation de débit et bonnes pratiques face aux données sensibles. La formation aborde aussi les tests automatisés et la mise en production d'une API FastAPI. Elle s'adresse aux développeurs Python, ingénieurs données et architectes souhaitant exposer des données via des services fiables et documentés.","#009688","mdi:api","python","from fastapi import FastAPI, HTTPException\nfrom pydantic import BaseModel\n\napp = FastAPI()\n\nclass Client(BaseModel):\n    id: int\n    nom: str\n    email: str\n\n@app.get(\"/clients/{client_id}\", response_model=Client)\nasync def get_client(client_id: int):\n    client = await db.fetch_client(client_id)\n    if not client:\n        raise HTTPException(status_code=404, detail=\"Client introuvable\")\n    return client","Formation intermédiaire pour exposer des données via des API REST performantes avec FastAPI : validation, documentation automatique, asynchronisme et sécurité.","Exposez vos données et vos traitements via des API REST performantes, validées et documentées automatiquement grâce à FastAPI.","\u003Cpre class=\"hljs\">\u003Ccode class=\"language-python\">\u003Cspan class=\"hljs-keyword\">from\u003C/span> fastapi \u003Cspan class=\"hljs-keyword\">import\u003C/span> FastAPI, HTTPException\n\u003Cspan class=\"hljs-keyword\">from\u003C/span> pydantic \u003Cspan class=\"hljs-keyword\">import\u003C/span> BaseModel\n\napp = FastAPI()\n\n\u003Cspan class=\"hljs-keyword\">class\u003C/span> \u003Cspan class=\"hljs-title class_\">Client\u003C/span>(\u003Cspan class=\"hljs-title class_ inherited__\">BaseModel\u003C/span>):\n    \u003Cspan class=\"hljs-built_in\">id\u003C/span>: \u003Cspan class=\"hljs-built_in\">int\u003C/span>\n    nom: \u003Cspan class=\"hljs-built_in\">str\u003C/span>\n    email: \u003Cspan class=\"hljs-built_in\">str\u003C/span>\n\n\u003Cspan class=\"hljs-meta\">@app.get(\u003Cspan class=\"hljs-params\">\u003Cspan class=\"hljs-string\">&quot;/clients/{client_id}&quot;\u003C/span>, response_model=Client\u003C/span>)\u003C/span>\n\u003Cspan class=\"hljs-keyword\">async\u003C/span> \u003Cspan class=\"hljs-keyword\">def\u003C/span> \u003Cspan class=\"hljs-title function_\">get_client\u003C/span>(\u003Cspan class=\"hljs-params\">client_id: \u003Cspan class=\"hljs-built_in\">int\u003C/span>\u003C/span>):\n    client = \u003Cspan class=\"hljs-keyword\">await\u003C/span> db.fetch_client(client_id)\n    \u003Cspan class=\"hljs-keyword\">if\u003C/span> \u003Cspan class=\"hljs-keyword\">not\u003C/span> client:\n        \u003Cspan class=\"hljs-keyword\">raise\u003C/span> HTTPException(status_code=\u003Cspan class=\"hljs-number\">404\u003C/span>, detail=\u003Cspan class=\"hljs-string\">&quot;Client introuvable&quot;\u003C/span>)\n    \u003Cspan class=\"hljs-keyword\">return\u003C/span> client\u003C/code>\u003C/pre>",1789717728031]