Les routes (endpoints Flask)

Dans Flask, une route est l’URL que votre application expose et à laquelle les clients (navigateurs, applications mobiles, ou autres services) peuvent envoyer des requêtes.

Chaque route correspond généralement à une fonction Python qui traite la requête et renvoie une réponse.


Comment ça fonctionne ?

Flask utilise un décorateur @app.route() pour lier une URL à une fonction.

Exemple conceptuel

Ici, l’endpoint /users est associé à une fonction qui définit la logique pour cette route.


Méthodes HTTP et endpoints

Chaque route peut accepter une ou plusieurs méthodes HTTP :

Pourquoi c’est important :


Variables dans les routes

Flask permet de définir des routes dynamiques avec des variables dans l’URL :

Avantage pédagogique :


Retour d’une route

Une fonction associée à une route retourne généralement :

Pourquoi c’est fondamental :


Bonnes pratiques pour les routes Flask


En résumé, dans Flask :

Fonctions :

  • Routes Flask (exemple)

    Dans Flask, une route est l’URL que votre application expose et à laquelle les clients (navigateurs, applications mobiles, ou autres services) peuvent envoyer des requêtes. Chaque route correspond généralement à une fonction Python qui traite la requête et renvoie une réponse.

    Importation :

    from flask import Flask

    Exemple de code :

    from flask import Flask
    
    app = Flask(__name__)
    
    # Route principale
    @app.route('/')
    def home():
        return "Bienvenue sur la page d'accueil !"
    
    # Route avec un chemin fixe
    @app.route('/about')
    def about():
        return "Ceci est la page À propos."
    
    # Route avec un paramètre dynamique
    @app.route('/user/<username>')
    def show_user(username):
        return f"Bonjour, {username} !"
    
    # Route avec un paramètre numérique
    @app.route('/post/<int:post_id>')
    def show_post(post_id):
        return f"Vous regardez l'article n° {post_id}"
    
    if __name__ == "__main__":
        app.run(debug=True)
    
    nify({"message": "Utilisateur supprimé"}), 200
    
    # Lancement de l'application
    if __name__ == '__main__':
        app.run(debug=True)

    Explication du code :

    from flask import Flask importe la classe Flask depuis la bibliothèque flask, qui permet de créer une application web en Python.

    app = Flask(__name__) crée une instance de l’application Flask et l’associe au nom spécial __name__ (cela permet à Flask de savoir où chercher les fichiers liés à l’application).

    Définir une route d’accueil

    @app.route('/') définit une route accessible à l’adresse http://127.0.0.1:5000/.
    La fonction home() est exécutée quand on visite cette route.
    return "Bienvenue sur la page d'accueil !" envoie ce texte en réponse au navigateur.

    Créer une route statique

    @app.route('/about') définit une route fixe accessible à /about.
    La fonction about() retourne du texte affiché sur cette page.

    Route avec paramètre dynamique (chaîne)

    @app.route('/user/<username>') permet de capturer une valeur dans l’URL (exemple : /user/Alice).
    Le paramètre capturé (username) est passé à la fonction show_user().
    return f"Bonjour, {username} !" affiche une réponse personnalisée selon le nom donné dans l’URL.

    Route avec paramètre numérique

    @app.route('/post/<int:post_id>') indique que le paramètre doit être un entier (int).
    Exemple : en visitant /post/42, post_id = 42.
    La fonction retourne une chaîne qui inclut ce numéro.

    Lancer l’application Flask

    if __name__ == "__main__": vérifie que le fichier est exécuté directement (et non importé comme module).
    app.run(debug=True) démarre le serveur local Flask.
    L’option debug=True active le mode debug : le serveur se relance automatiquement en cas de modification du code et affiche les erreurs détaillées.