0% ont trouvé ce document utile (0 vote)
150 vues16 pages

Création d'API Rest Avec FastAPI & MySQL

Ce document présente la création d'une API REST en utilisant FastAPI et MySQL, en détaillant les objectifs, avantages et principes des API. Il décrit également les étapes pour créer une API Hello World, ainsi que l'intégration et la configuration de la base de données avec SQLAlchemy. Enfin, il aborde l'architecture en couches de l'application et la création de modèles de données pour les entités Book et Author.

Transféré par

agossoutoussaint969
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
150 vues16 pages

Création d'API Rest Avec FastAPI & MySQL

Ce document présente la création d'une API REST en utilisant FastAPI et MySQL, en détaillant les objectifs, avantages et principes des API. Il décrit également les étapes pour créer une API Hello World, ainsi que l'intégration et la configuration de la base de données avec SQLAlchemy. Enfin, il aborde l'architecture en couches de l'application et la création de modèles de données pour les entités Book et Author.

Transféré par

agossoutoussaint969
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Création d’API Rest

avec FastAPI &


MySQL

06 Septembre 2025
Introduction
Qu’est-ce qu’une API et quels sont ses objectifs et
avantages ?

Objectifs : Avantages

● Créer des applications tierces qui ● Simplification de l'intégration entre


peuvent utiliser les services d'une applications
application existante ● Augmentation de la flexibilité
● Simplifier la communication entre ● Réduction des coûts de
différentes applications développement
● Accroître l'interopérabilité des ● Accélération du développement
applications ● Amélioration de l'expérience
utilisateur
Qu’est ce qu’une API REST ?

Principes du style architectural REST : Avantages :

● Ressources identifiées par des URIs ● Facilité d'utilisation


● Actions effectuées en utilisant des ● Flexibilité
méthodes HTTP ● Scalabilité
● Messages échangés représentés ● Interopérabilité
sous forme de représentations
Présentation des outils à
utiliser
Présentation de FastAPI, SQLAlchemy & MySQL

● https://fastapi.tiangolo.com/
● https://fastapi.tiangolo.com/t
utorial/sql-databases
● https://www.sqlalchemy.org/
Créer une API FastAPI

Etapes de création
Création d’une API Hello World

● Installer FastAPI
○ pip install fastapi
● Créer un nouveau fichier Python nommé app.py
● Importer Flask et créer une instance de l'application Flask
○ from fastapi import FastAPI
○ app = FastAPI()
● Ajouter une route à l'application vers la méthode à appeler
○ @app.get('/')
● Lancer l'application en exécutant la commande ci-dessous dans le dossier
contenant le fichier app.py
○ fastapi dev app.py
● Ouvrir le navigateur et allez à l'adresse http://localhost:8000/ pour voir le message
"Hello, World!" affiché.
● Consulter la documentation à l’adresse http://localhost:8000/docs
Création d’une API Hello World

from fastapi import FastAPI

app = FastAPI()

@app.get ("/")

def hello():

return {"message" : "Hello World !" }


Intégration et
configuration de la base de
données
Architecture du système - Architecture en
couches

Diviser l'application en couches logiques distinctes, chacune étant responsable d'un aspect
spécifique de l'application

● La couche de présentation ou d'interface utilisateur (Controller)


● La couche métier ou de traitement (Service)
● La couche de persistance des données (Model)
Configuration de la base de données

● Installer SQLAlchemy
○ pip install sqlalchemy
● Importer les modules SQLAlchemy dans votre application :
○ from sqlalchemy import create_engine
○ from sqlalchemy.ext.declarative import declarative_base
○ from sqlalchemy.orm import sessionmaker
● Définir l’URL de connexion à la base de données (MySQL dans notre cas) :
○ SQLALCHEMY_DATABASE_URI =f'mysql+pymysql://{db_user}:{db_pwd}@{db_host}/{db_name}'
● Configurer la base de données :
○ engine = create_engine(SQLALCHEMY_DATABASE_URL)
○ SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
○ Base = declarative_base()
● Créer des modèles de données en utilisant la classe db.Model de SQLAlchemy :
Création des models

● Book
○ id
○ title
○ summary
○ note
○ price
○ publication_date
○ category
● Author
○ id
○ firstname
○ lastname
Création des services

Book

Author
Création du controller

Book

Author
Fin

Vous aimerez peut-être aussi