Développement Web full-stack en Python avec Flask, Jinja (frontend) et une base de données SQL
Un séminaire de trois heures que j’ai coécrit avec Jamel Eddine Jridi pour le cours IFT3225 – Technologie de l’Internet, dans lequel on bâtit un petit blogue avec Flask, des gabarits Jinja et une base de données SQLite.
- Type
- Séminaire
- Durée
- 3 h - 1 bloc/séance
- Coauteur
- Jamel Eddine Jridi
- Cours
- IFT3225 – Technologie de l’Internet
- Technologies
- Python, Flask, Jinja, Werkzeug, SQLite
- Matériel
- 2 présentations (PDF) : théorie et code
- Langue
- Français
Ce que couvre le séminaire
La partie théorique explique les origines de Flask (au départ, une simple couche au-dessus de Werkzeug et de Jinja), le fonctionnement de ce cadriciel Web Python, l’intérêt de son routage intégré pour une bibliothèque aussi légère, les tâches Web importantes qui demandent des extensions et sa comparaison avec les concurrents.
Construire le blogue
La partie code assemble une application de blogue complète, étape par étape :
- une structure MVC, en gardant en tête que Flask n’en impose aucune
- l’application de base : imports, instance Flask, configuration et routes qui gèrent GET et POST
- des gabarits Jinja qui héritent d’une mise en page commune et affichent les messages flash
- une couche de données en SQL simple sur SQLite, gérée à chaque étape du CRUD, avec une remarque sur l’intérêt habituel d’un ORM
- une structure de projet simple, puis l’exécution finale avec flask run
Options pour le frontend
Les vues sont écrites en HTML et CSS classiques avec Jinja, mais les diapositives montrent aussi que le même backend Python peut servir un frontend React.