• Contenu
  • Bas de page
logo ouidoulogo ouidoulogo ouidoulogo ouidou
  • Qui sommes-nous ?
  • Offres
    • 💻 Applications métier
    • 🤝 Collaboration des équipes
    • 🛡️ Sécurisation et optimisation du système d’information
    • 🔗 Transformation numérique
  • Expertises
    • 🖥️ Développement logiciel
    • ♾️ DevSecOps
    • ⚙️ Intégration de logiciels et négoce de licences
      • Atlassian : Jira, Confluence, Bitbucket…
      • Plateforme monday.com
      • GitLab
      • SonarQube
    • 📚​ Logiciel de CRM et de gestion
    • 🎨 UX/UI design
    • 🌐 Accessibilité Numérique
    • 🗂️​ Démarches simplifiées
    • 📝 Formations Atlassian
    • 🤖 L’IA au service de vos projets numériques
  • Références
  • Carrières
    • 🧐 Pourquoi rejoindre Ouidou ?
    • ✍🏻 Nous rejoindre
    • 👨‍💻 Rencontrer nos collaborateurs
    • 🚀 Grandir chez Ouidou
  • RSE
  • Ressources
    • 🗞️ Actualités
    • 🔍 Articles techniques
    • 📖 Livres blancs
    • 🎙️ Interviews Clients
Nous contacter
✕
Optimiser vos tests avec Cucumber
Optimiser vos tests avec Cucumber
17 novembre 2025
Ressources > Articles techniques > Créer une API en Python avec FastAPI

Créer une API en Python avec FastAPI

Écrit par Mohamed S.

Introduction

Un Framework est un ensemble de structures, de modules et de packages qui facilite le développement d’applications ou de systèmes.

Les trois principaux Framework Python les plus utilisés sont Django, Flask et FastAPI, chacun représente ses avantages et ses inconvénients.

Ça peut être utile de mettre en place une API par exemple dans le cas où on a une application web/mobile qui a besoin de consommer des datas de façon standardisé sans avoir à gérer les accès à une base de données.

FastAPI est un Framework web de haute performance, open source. Lancé en 2018, il permet de créer des APIs avec Python à partir de la version 3.6.

Comme son nom l’indique, FastAPI est très rapide et facile à coder, il est très intuitif à l’utilisation, avec des fonctionnalités de complétion et de débogage, il est basé sur le standard ouvert OpenAI et JASON Schéma.

Le principal usage du Framework est la création de Endpoints APIs, principalement pour les applications de Data Science et e-commerce.

Toutefois, FastAPI ne se limite pas à créer des APIs, il est possible de l’utiliser pour n’importe quel usage d’un Framework web. Il a été désigné meilleur Framework open source en 2021.

Prérequis

Pour utiliser FastAPI, vous devez avoir :

  • Une base en programmation et une bonne compréhension des concepts de base de langage Python.
  • Une connaissance des principes des API REST et des requêtes HTTP.

Installation

Assurez-vous que vous avez bien installé Python.

Dans un seconde temps, un éditeur de texte/IDE est nécessaire, tel que VS Code.

Pour installer FastAPI, vous devez exécuter la commande suivante :

$ pip install fastapi

Vous aurez également besoin d’un serveur web local pour tester vos API. Pour cela Python mis à disposition Uvicorn, qui est un serveur web ASGI (Asynchronous Server Gateway Interface).

Pour installer Uvicorn, vous devez exécuter cette commande :

$ pip install "uvicorn[standard]"

Développement

Dans cet article, nous allons créer une application CRUD avec FastAPI.

Une API REST fonctionne avec des requêtes HTTP, c’est ce protocole qui permet de connecter au serveur, il existe différents types de requêtes HTTP, et chaque requête dépend de l’action que l’on souhaite effectuer.

Les types de requêtes :

  • POST : servent à créer un nouvel élément dans la base de données
  • GET : servent à récupérer des données (en mode lecture)
  • PUT : servent à modifier un élément déjà existant dans la base de données
  • DELETE : servent à supprimer des éléments dans la base de données

Création de l’application

Nous allons commencer par la création de notre modèle utilisateur, et ce modèle aura 5 attributs :

id : un identifiant unique
first_name : le prénom de l'utilisateur
last_name : le nom de famille de l'utilisateur
genre : le sexe de l'utilisateur
role : la liste des rôles de l'utilisateur

Ce modèle sera créé dans un nouveau fichier nommé models.py :

fichier model.py

Dans le fichier main.py nous allons créer notre base de données de la manière suivante :

fichier main.py

Jusqu’ici, nous avons créé une base de données avec 4 utilisateurs, chacun avec des attributs requis.

La ligne du fichier main.py :

app = FastAPI()

permet de créer une instance de FastAPI.

Lecture des éléments de la base de données

Pour créer une route qui récupère les utilisateurs, nous allons créer un décorateur dans le fichier main.py :

fichier main.py

Le décorateur

@app.get("api/get_users")

permet de spécifier le chemin URL et l’action HTTP de notre API, et cette fonction fait appel à la méthode GET.

La fonction ‘get_users()‘ sera exécutée chaque fois qu’un utilisateur visitera le chemin URL spécifié par le décorateur.

Pour lancer le serveur d’API et tester la fonction, nous allons exécuter la commande suivante dans le terminal :

$ uvicorn main:app --reload

Uvicorn est le serveur local, il prend en paramètres le nom du fichier : le nom de l’instance FastAPI.

Dans cet exemple, le nom du fichier est : main, et le nom de l’instance est app.

L’option ‘–reload‘ indique au serveur de se recharger automatiquement lorsque une modification est apportée.

Quand nous exécutons la commande, si tout se passe bien nous allons avoir quelque chose comme ceci dans le terminal :

terminal lors du lancement de fastapi

Nous allons retenir l’URL du localhost et le port 8000, il nous servira d’afficher les résultats de l’API.

FastAPI en plus de mettre en place rapidement et facilement une API, il génère automatiquement une documentation de l’API, cette documentation est basé sur l’interface utilisateur Swagger, pour y accéder on rajoute juste ‘/docs’ à notre URL.

127.0.0.1:8000/docs

Nous allons exécuter l’endpoint qui représente la récupération des utilisateurs, nous allons avoir ce résultat qui regroupe les utilisateurs.

endpoint get_users()

Création de nouveaux éléments dans la base de données

Nous allons créer un endpoint dans le fichier main.py, qui permettra de créer de nouveaux éléments et de les enregistrer en base de données.

fonction create_users

Dans cette fonction nous avons utilisé l’action HTTP POST, qui permet la création en base de données.

L’interface du Swagger après avoir ajouté le nouvel élément ressemblera à l’image suivante :

endpoint create_users()

L’utilisateur toto titi a été bien ajouté en base de données.

Suppression d’un élément de la base de données

Etant donné que nous créons une application CRUD, l’application doit avoir la possibilité de supprimer une ressource existante.

Pour cela, nous allons créer un endpoint toujours dans le fichier main.py, qui permettra la suppression :

fonction delete_user()

Dans le décorateur, nous avons utilisé l’action HTTP DELETE, qui permet la suppression en base de données.

La fonction nécessitera un id à supprimer, si l’id de l’utilisateur est introuvable un message d’erreur sera renvoyé, c’est le cas dans l’image suivante, où nous allons renseigner un id qui n’existe pas dans la base de données :

endpoint suppression

Et quand nous allons renseigner un bon id qui existe dans la base de données, l’utilisateur qui a cet id ne sera plus dans la base de données, il sera supprimé.

endpoint suppression 2

Mettre à jour un élément de la base de données

Dans cette partie, nous allons créer un endpoint qui permettra de mettre à jour un élément qui existe déjà en base de données, en utilisant l’action HTTP PUT.

Toujours dans le fichier main.py, on ajoute la fonction suivante :

fonction update_user()

Dans les paramètres de la fonction qui met à jour les éléments, l’id est à renseigner obligatoirement, par contre les autres champs sont facultatifs, d’où leurs déclarations : ‘Optional[str] = None‘ qui veut dire que c’est optionnel et que la valeur par défaut est nulle.

Dans le cas ou l’id renseigné est introuvable en base de données, l’API générera une erreur.

endpoint update

Conclusion

Dans cet article, nous avons découvert le cadre FastAPI pour python et constaté à quelle vitesse nous pouvons mettre en place une application alimentée par FastAPI.

Nous avons appris à créer des endpoints (points de terminaison) d’API CRUD, c’est-à-dire créer, lire, mettre à jour et supprimer (Create, Read, Update, Delete) des éléments de base de données.

En conclusion, FastAPI est un framework Python moderne, rapide et efficace pour la création d’API web. Grâce à son utilisation des annotations de type Python, il permet de garantir la validation automatique des données et de générer une documentation interactive, facilitant ainsi le développement et la maintenance des API.

FastAPI représente un excellent choix pour les développeurs cherchant à construire des API robustes, performantes et facile à maintenir.

Références

  • Site Officiel de FastAPI (en)

À lire aussi

Optimiser vos tests avec Cucumber
17 novembre 2025

Optimiser vos tests avec Cucumber

Lire la suite

Comment préparer votre Jira Cloud dès maintenant ? 
14 novembre 2025

Comment préparer votre Jira Cloud dès maintenant ? 

Lire la suite

Replay webinaire IA
5 novembre 2025

Replay webinaire IA

Lire la suite

Atlassian arrête le Data Center : pourquoi votre migration doit commencer maintenant
5 novembre 2025

Atlassian arrête le Data Center : pourquoi votre migration doit commencer maintenant

Lire la suite

Articles associés

Comment préparer votre Jira Cloud dès maintenant ? 
14 novembre 2025

Comment préparer votre Jira Cloud dès maintenant ? 


Lire la suite
Replay webinaire IA
5 novembre 2025

Replay webinaire IA


Lire la suite
Challenge technique inter-agences spécial Halloween
31 octobre 2025

Challenge technique inter-agences spécial Halloween


Lire la suite

À propos

  • Qui sommes-nous ?
  • Références
  • RSE
  • Ressources

Offres

  • Applications métier
  • Collaboration des équipes
  • Sécurisation et optimisation du système d’information
  • Transformation numérique

Expertises

  • Développement logiciel
  • DevSecOps
  • Intégration de logiciels et négoce de licences
  • Logiciel de CRM et de gestion
  • UX/UI design
  • Accessibilité Numérique
  • Démarches simplifiées
  • Formations Atlassian

Carrières

  • Pourquoi rejoindre Ouidou ?
  • Nous rejoindre
  • Rencontrer nos collaborateurs
  • Grandir chez Ouidou
logo ouidou

SIEGE SOCIAL
70-74 boulevard Garibaldi, 75015 Paris

Ouidou Nord
165 Avenue de Bretagne, 59000 Lille

Ouidou Rhône-Alpes
4 place Amédée Bonnet, 69002 Lyon

Ouidou Grand-Ouest
2 rue Crucy, 44000 Nantes

Ouidou Grand-Est
7 cour des Cigarières, 67000 Strasbourg

  • Linkedin Ouidou
  • GitHub Ouidou
  • Youtube Ouidou
© 2024 Ouidou | Tous droits réservés | Plan du site | Mentions légales | Déclaration d'accessibilité
    Nous contacter