Qu'est-ce que Flask - Guide complet du framework web Python
Introduction à Flask
Flask est un framework web minimaliste en Python, conçu pour créer des applications web et des API REST. Il offre une structure simple et flexible, permettant de développer rapidement aussi bien un prototype qu'une application web complète. Flask repose sur la boîte à outils WSGI Werkzeug et utilise le système de templates Jinja2.
Créé par Armin Ronacher en 2010, Flask a gagné en popularité grâce à sa philosophie "fait une chose, mais fais-la bien". Contrairement aux frameworks plus lourds, Flask ne fournit que le strict nécessaire, laissant aux développeurs le choix des composants pour leurs projets.
Fonctionnalités principales de Flask
Approche minimaliste et extensible
Flask suit le principe du microframework, offrant des fonctionnalités de base et permettant de les étendre via des plugins et des extensions.
Routage intégré et gestion des requêtes
Le framework propose un système de routage intuitif avec prise en charge de différentes méthodes HTTP et paramètres d'URL.
Prise en charge des templates Jinja2
L'intégration avec le puissant système de templates Jinja2 facilite le travail avec les modèles HTML et le contenu dynamique.
Création d'API REST
Flask est parfait pour créer des API RESTful grâce à la prise en charge des réponses JSON et à la gestion flexible des méthodes HTTP.
Prise en charge des extensions
Un riche écosystème d'extensions permet d'ajouter des fonctionnalités pour la gestion des bases de données, l'authentification, les formulaires et bien plus encore.
Compatibilité avec Python 3.7+
Flask prend en charge les versions modernes de Python et suit les meilleures pratiques de développement.
Installation et configuration
Installation via pip
pip install flask
Vérification de l'installation
python -m flask --version
Création du fichier app.py et lancement
export FLASK_APP=app.py
flask run
Sous Windows :
set FLASK_APP=app.py
flask run
Création de votre première application
Exemple simple de app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
return "Bienvenue sur Flask !"
if __name__ == '__main__':
app.run(debug=True)
Lancement de l'application
flask run
L'application sera accessible à l'adresse http://localhost:5000/
Gestion des routes et des URL
Routage de base
@app.route("/user/<username>")
def show_user_profile(username):
return f"Profil de l'utilisateur : {username}"
Routes avec typage
@app.route("/post/<int:post_id>")
def show_post(post_id):
return f"Article n°{post_id}"
@app.route("/user/<path:subpath>")
def show_subpath(subpath):
return f"Sous-chemin : {subpath}"
Types de paramètres pris en charge
string- chaînes de caractères (par défaut)int- nombres entiersfloat- nombres à virgule flottantepath- chaînes avec le caractère "/"uuid- chaînes UUID
Gestion des méthodes HTTP
Traitement des différentes méthodes
@app.route("/data", methods=["GET", "POST", "PUT", "DELETE"])
def handle_data():
if request.method == "POST":
return "Données créées"
elif request.method == "PUT":
return "Données mises à jour"
elif request.method == "DELETE":
return "Données supprimées"
return "Récupération des données"
Utilisation des templates
Aussi dans la bibliothèque
OkHttp pour Kotlin : guide complet avec exemples
Clap — un puissant framework CLI pour Rust
Limitation de débit en Rust : bibliothèques governor, leaky-bucket et middleware pour serveurs web
Générateur de QR codes en C# (.NET) avec QRCoder
Travailler avec les archives ZIP en C# (.NET) : guide complet