Python pour le WebModule 1, leçon 1 sur 5

Choisir son framework

Le panorama : deux familles d'outils

Frameworks web (Flask, FastAPI, Django) contre créateurs d'applications data/ML (Streamlit, Gradio) : deux philosophies, deux publics.

Environ 15 min5 sectionsDébutant

Dans cette leçon

  • Distinguer les frameworks web des générateurs d'applications data/ML
  • Situer Flask, FastAPI, Django, Streamlit et Gradio dans leur famille
  • Classer un besoin réel dans la bonne famille avant de choisir un outil

Comment ça se passe

Lisez le cours section par section, puis passez à la pratique pour appliquer ce que vous venez de voir.

Pour commencer

Vous savez écrire du Python : manipuler des données, entraîner un petit modèle, automatiser un script. Vient toujours le moment où il faut partager ce travail, avec un collègue, un client ou le grand public. Or « faire du Python pour le Web » recouvre des réalités très différentes. Avant de comparer Flask, FastAPI, Django, Streamlit et Gradio un par un, cette leçon dresse la carte : deux grandes familles d'outils, deux philosophies. Situer votre projet dans la bonne famille élimine déjà la moitié des mauvais choix.

Zoom · molette · glisser pour explorer

Section 01

Deux familles, deux intentions

La première famille, les frameworks web (Flask, FastAPI, Django), sert à construire des sites et des services web « classiques » : vous définissez des URL, vous décidez quel code répond à chaque requête, et vous produisez du HTML ou du JSON. Vous gardez le contrôle de l'expérience, au prix d'écrire plus de choses vous-même.

La seconde famille, les générateurs d'applications data/ML (Streamlit, Gradio), part d'un constat : un data scientist ne veut ni écrire de HTML ni gérer des routes, il veut transformer son script en interface cliquable. Ces outils génèrent l'interface à partir de votre code Python. Vous gagnez un temps énorme, mais vous renoncez au contrôle fin du rendu et des URL.

Ce ne sont pas des concurrents directs : un site e-commerce ne se fait pas en Streamlit, et personne ne réécrit un tableau de bord d'analyse en Django pour le plaisir. Le premier réflexe n'est donc pas « lequel est le meilleur ? » mais « dans quelle famille tombe mon projet ? ».

Exemple travaillé
# Même donnée, deux intentions :
# Frameworks web  -> « je construis un produit ou un service que d'autres utiliseront »
# Apps data/ML    -> « je partage un résultat ou un modèle, vite, sans front-end »

Réfléchissez

Le dernier projet Python que vous avez voulu partager : était-ce un produit destiné à des utilisateurs, ou un résultat à montrer ?

Carte des 4 outils (Flask, Django, Streamlit, Gradio) : un axe « contrôle » vs « vitesse de démo ».

Plein écran →

Étape suivante

Place à la pratique

Mettez en application ce que vous venez de lire dans l'atelier de la leçon.