Nous allons créer un template pour une application web avec FastAPI et SQLite. Nous utiliserons les dernières
versions de ces frameworks pour créer un modèle facilement réutilisable.
Étape 1 : Installation des Dépendances
Pour commencer, tu as besoin d’installer les dépendances nécessaires pour ton projet. Je te recommande d’utiliser la commande suivante dans ton terminal :
pip install fastapi uvicorn sqlite3
Cela installe FastAPI, Uvicorn (un serveur web ASGI) et SQLite (une base de
données légère).
Étape 2 : Création du Modèle de Données
Le deuxième pas consiste à créer un modèle de données pour ton application. Dans cet exemple, nous allons créer une table « Utilisateurs » avec des colonnes pour
l’identifiant unique, le nom et l’email.
Crée un fichier models.py
dans ton dossier projet et ajoute-y les lignes suivantes :
# models.py
import sqlite3
class Utilisateur:
"""
Modèle de données pour une table d'utilisateurs.
"""
def __init__(self, id, nom, email):
self.id = id # Identifiant unique
self.nom = nom # Nom de l'utilisateur
self.email = email # Adresse e-mail de l'utilisateur
Étape 3 : Création de la Base de Données SQLite
La troisième étape consiste à créer une base de données SQLite pour ton application. Nous allons utiliser le module
sqlite3 pour cela.
Crée un fichier database.py
dans ton dossier projet et ajoute-y les lignes suivantes :
# database.py
import sqlite3
class Database:
"""
Classe pour gérer la base de données SQLite.
"""
def __init__(self):
self.conn = None # Connexion à la base de données
def connect(self):
"""
Se connecter à la base de données.
"""
self.conn = sqlite3.connect("database.db") # Créer une connexion à la base de données
def execute_query(self, query, params=None):
"""
Exécuter une requête SQL sur la base de données.
:param query: Requête SQL à exécuter
:param params: Paramètres de la requête (facultatifs)
:return: Résultats de la requête
"""
if not self.conn:
self.connect() # Se connecter si nécessaire
cur = self.conn.cursor()
cur.execute(query, params) # Exécuter la requête
return cur.fetchall()
def close_connection(self):
"""
Fermer la connexion à la base de données.
"""
if self.conn:
self.conn.close() # Fermer la connexion
Étape 4 : Création de l’Application FastAPI
La quatrième étape consiste à créer l’application FastAPI pour ton projet. Nous allons utiliser le module fastapi pour cela.
Crée un fichier main.py
dans ton dossier projet et ajoute-y les lignes suivantes :
# main.py
from fastapi import FastAPI
import database
from models import Utilisateur
app = FastAPI()
database_obj = database.Database()
session = None # Séance de connexion à la base de données
@app.on_event("startup")
def startup():
"""
Événement de démarrage de l'application.
"""
global session
session = database_obj.connect() # Se connecter à la base de données
@app.get("/")
async def read_root():
"""
Requête GET pour la page d'accueil.
:return: Page d'accueil
"""
query = "SELECT * FROM utilisateurs" # Requête SQL pour récupérer les utilisateurs
result = database_obj.execute_query(query) # Exécuter la requête
return [{"id": u[0], "nom": u[1], "email": u[2]} for u in result] # Retourner les utilisateurs
@app.on_event("shutdown")
def shutdown():
"""
Événement de fermeture de l'application.
"""
global session
if session:
database_obj.close_connection() # Fermer la connexion
Étape 5 : Exécution de l’Application
La dernière étape consiste à exécuter l’application en utilisant la commande suivante :
uvicorn main:app --host 0.0.0.0 --port 8000
L’application sera disponible à l’adresse http://localhost:8000.
Résumé
Dans cet article, nous avons créé un template pour une application web avec FastAPI et SQLite. Nous avons utilisé les dernières versions de ces frameworks pour
créer un modèle facilement réutilisable.
Je te recommande d’utiliser ce template comme base pour créer des applications web plus complexes.
Sources :