HOWTO · Flask

Exécuter une application Flask

Configurez un environnement virtuel Python, installez Flask, créez une petite application app.py et exécutez-la localement.

Sur cette page

Pour exécuter une application Flask, créez un environnement virtuel Python, installez-y Flask, enregistrez une route dans app.py, puis démarrez le serveur de développement avec l’interface en ligne de commande de Flask. Ouvrez dans un navigateur l’adresse locale qu’il affiche pour voir la réponse de la route. Ce guide utilise Visual Studio Code, mais les mêmes fichiers et commandes fonctionnent aussi dans un autre éditeur.

Créer une application Flask de base

Flask est un framework web Python qui permet de créer des applications web et des API. Un petit projet nécessite Python, Flask installé dans l’environnement du projet et un fichier Python qui définit l’application et ses routes.

Commencez par ouvrir un dossier de projet dans Visual Studio Code. Dans son terminal intégré, vérifiez que Python est disponible en exécutant python --version. La commande doit afficher la version de Python installée. Sur certains systèmes, la commande Python s’appelle python3 ; si nécessaire, utilisez ce nom de manière cohérente pour vérifier la version, créer l’environnement et exécuter les commandes suivantes.

Créez un environnement virtuel dans le dossier du projet avec python -m venv .venv. Il isole les paquets de ce projet de ceux des autres projets Python et de l’installation système. Activez-le avec la commande correspondant à votre terminal :

  • Invite de commandes Windows : .venv\Scripts\activate.bat
  • Windows PowerShell : .venv\Scripts\Activate.ps1
  • macOS ou Linux : source .venv/bin/activate

Une fois l’environnement activé, installez Flask avec python -m pip install Flask. L’utilisation de python -m pip associe l’installation à l’interpréteur Python sélectionné pour l’environnement actif. Si le terminal indique que python est introuvable, répétez les commandes avec python3, si cette commande est disponible. Dans Visual Studio Code, sélectionnez l’interpréteur .venv si l’éditeur ne le détecte pas automatiquement.

Créez un fichier nommé app.py dans le dossier du projet et ajoutez-y cette application minimale. Son client de test envoie une requête à la route racine et affiche la réponse lorsque vous exécutez python app.py :

from flask import Flask

app = Flask(__name__)


@app.route("/")
def index():
    return "Hi there, this is our basic Flask app."


if __name__ == "__main__":
    response = app.test_client().get("/")
    print(response.get_data(as_text=True))
Hi there, this is our basic Flask app.

La classe Flask crée l’objet application. Le décorateur @app.route("/") associe le chemin racine du site à index, et la chaîne renvoyée devient la réponse affichée dans le navigateur. Le client de test appelle cette route sans ouvrir de port réseau. Le bloc if __name__ == "__main__": n’effectue cette vérification que lorsque vous exécutez directement ce fichier ; son import depuis un autre module n’affiche pas la réponse.

Pour afficher l’application dans un navigateur, laissez l’environnement activé et placez-vous dans le terminal dans le dossier qui contient app.py. Démarrez ensuite le serveur de développement de Flask avec flask --app app run. Si votre système utilise python3, activez l’environnement créé avec cet interpréteur et utilisez la commande Flask correspondante. Flask affiche une URL locale, souvent http://127.0.0.1:5000 ; ouvrez l’adresse exacte indiquée dans le terminal. Lorsque vous consultez le chemin racine, la page affiche Hi there, this is our basic Flask app. Cette chaîne reste en anglais dans l’exemple, dont le bloc de code est conservé à l’identique. Laissez le processus du terminal en cours d’exécution pendant que vous consultez la page, puis appuyez sur Ctrl+C dans ce terminal pour arrêter le serveur. L’exécution de python app.py effectue la vérification de la route présentée ci-dessus, puis se termine.

Le serveur intégré de Flask est destiné au développement local. Ne l’exposez pas comme serveur de production et n’activez pas le mode débogage dans un déploiement de production ; utilisez plutôt un serveur WSGI de production et une configuration de déploiement adaptés à votre hébergeur.