Flask – Framework web léger pour Python

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

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 entiers
  • float - nombres à virgule flottante
  • path - 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

Recommendations