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.
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.
Carte mentale
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 ? ».
# 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 ?
À vous de dessiner
Carte des 4 outils (Flask, Django, Streamlit, Gradio) : un axe « contrôle » vs « vitesse de démo ».
Étape suivante
Place à la pratique
Mettez en application ce que vous venez de lire dans l'atelier de la leçon.