API en Python
  • Back to Main Website
  • Home
  • Introduction aux API
    • Introduction aux API
    • API - Définition
    • Utiliser une API
    • Créer une API
    • Sécuriser une API
    • Concepts élargis

    • Travaux Pratiques
    • TP - Premiere requêtes
  • Consommation avancée d’API
    • Consommation avancée d’API
    • Protocols de communication
    • Authentification et sécurité des API
    • Optimisation des ressources et de la performance des API

    • Travaux Pratiques
    • TP : Comparaison des performances des appels en tant qu’utilisateur
  • Communication entre Processus (IPC)
    • Communication entre Processus (IPC)
    • Introduction à l’IPC
    • Sockets
    • Fichiers et IPC
    • Shared Memory
    • Pipes
    • gRPC
    • Conclusions

    • Travaux Pratiques
    • TP3 Option 1 Service gRPC pour indicateurs de marché
    • TP3 Option 2 Serveur de Données de Marché via Socket et Mémoire Partagée
  • Conception d’APIs
    • Conception d’APIs
    • Introduction à la Conception d’APIs
    • Les principaux Frameworks d’APIs en Python
    • Fast API
    • Django REST Framework
    • Tester et documenter une API
    • Bonne pratique générale
    • Conclusion

    • Travaux Pratiques
    • TP 4 : API d’Indicateurs Financiers avec Gestion des Niveaux d’Accès
  • Déploiement d’API - Principes Généraux et Mise en Pratique avec Heroku
    • Déploiement d’API - Principes Généraux et Mise en Pratique avec Heroku
    • Introduction au Déploiement d’API
    • Heroku - Présentation du service
    • Meilleurs Pratiques avant un déploiement
    • Deploiement sur Heroku
    • Déploiement avancé
    • Bonus - Nom de Domaine
    • Conclusion
  • Sujets de Projets possibles
    • Projets
    • M2EIF Quant 2023/2024
    • M2EIF Quant 2024/2025
  • Code source
  1. Les principaux Frameworks d’APIs en Python
  • Conception d’APIs
  • Introduction à la Conception d’APIs
  • Les principaux Frameworks d’APIs en Python
  • content/Cours_4//3-Falsk.qmd
  • Fast API
  • Django REST Framework
  • Tester et documenter une API
  • Bonne pratique générale
  • Conclusion
  • Travaux Pratiques
    • TP 4 : API d’Indicateurs Financiers avec Gestion des Niveaux d’Accès

On this page

  • Typage en Python - Utile ou pas ?
  • II. Présentation des Frameworks pour la Conception d’APIs
    • 1. Flask
      • a. Introduction et Philosophie
      • b. Structure de base d’une application Flask
      • c. Définition des routes et des endpoints
      • d. Gestion des requêtes et des réponses
    • 2. FastAPI
      • a. Introduction et Avantages
      • b. Création d’APIs rapides avec FastAPI
      • c. Validation et sérialisation des données avec Pydantic
      • d. Documentation automatique
    • 3. Django et Django REST Framework
      • a. Introduction à Django
      • b. Pourquoi utiliser Django REST Framework pour les APIs
      • c. Modèles, Vues et Serialiseurs
      • c. Authentification et permissions

Code Links

  • Launch Binder

Les principaux Frameworks d’APIs en Python

Cours
Fondamentaux
Author

Remi Genet

Published

2024-12-10

Typage en Python - Utile ou pas ?


II. Présentation des Frameworks pour la Conception d’APIs

En Python, trois frameworks principaux se distinguent pour la conception d’APIs, et ils seront présentés ci-dessous. Pour mieux comprendre et comparer ces frameworks, vous trouverez deux exemples implémentés dans chaque partie des exemples suivants: - Le premier exemple a pour but de créer une API de gestion d’une liste de tâches (todo list), permettant aux utilisateurs de créer, lire, mettre à jour et supprimer des tâches. - Le second exemple illustre la mise en place d’une authentification par token. Vous pourrez retrouver ces exemples facilement grâce à la table des matières.

1. Flask

a. Introduction et Philosophie

Flask est un micro-framework léger pour Python. Il est conçu pour être simple et extensible et ne nécessite pas de dépendances particulières. Cela le rend idéal pour les petits projets ou lorsque vous avez besoin de beaucoup de flexibilité.

b. Structure de base d’une application Flask

Une application Flask typique a une structure de base qui comprend un fichier principal qui initialise l’application et définit les routes, ainsi que des modules supplémentaires pour les modèles, les vues et les formulaires.

c. Définition des routes et des endpoints

Les routes sont des URL auxquelles l’application répond, et les endpoints sont les fonctions Python associées à ces routes. Flask permet de définir facilement des routes avec des décorateurs.

d. Gestion des requêtes et des réponses

Flask fournit des objets pour gérer les requêtes entrantes et pour construire les réponses sortantes. Il permet également de gérer les données de la requête et de personnaliser les réponses avec des codes d’état et des en-têtes.

2. FastAPI

a. Introduction et Avantages

FastAPI est un framework moderne, rapide (hautes performances) pour la construction d’APIs avec Python 3.7+, basé sur des annotations de type Python standard. Il est conçu pour être facile à utiliser et à apprendre tout en offrant des performances élevées.

b. Création d’APIs rapides avec FastAPI

FastAPI vous permet de créer des APIs rapidement grâce à sa capacité à générer automatiquement une documentation interactive et à valider et sérialiser les données.

c. Validation et sérialisation des données avec Pydantic

FastAPI utilise Pydantic pour la validation des données. Cela signifie que vous pouvez définir comment les données doivent être dans vos requêtes et réponses et obtenir des erreurs claires si les données sont incorrectes.

d. Documentation automatique

Avec FastAPI, la documentation de votre API est générée automatiquement et peut être consultée via des interfaces utilisateur comme Swagger UI et ReDoc.

3. Django et Django REST Framework

a. Introduction à Django

Django est un framework web de haut niveau qui encourage le développement rapide et propre. Il a une architecture MVT (Modèle-Vue-Template) et est équipé de nombreuses fonctionnalités intégrées.

b. Pourquoi utiliser Django REST Framework pour les APIs

Django REST Framework est une boîte à outils puissante pour construire des APIs Web. Elle s’intègre parfaitement avec Django et ajoute une couche d’abstraction pour travailler avec des APIs RESTful.

c. Modèles, Vues et Serialiseurs

Django REST Framework utilise des modèles pour définir la structure des données, des vues pour la logique de traitement des requêtes, et des sérialiseurs pour convertir les données du modèle en JSON et vice versa.

c. Authentification et permissions

Django REST Framework offre un système robuste pour gérer l’authentification et les permissions, permettant de contrôler finement l’accès aux différentes parties de l’API.

Back to top
Introduction à la Conception d’APIs
Fast API

Python API, Rémi Genet.
Licence
Code source disponible sur Github

 

Site construit avec et Quarto
Inspiration pour la mise en forme du site ici
Code source disponible sur GitHub