4.1Web back-end : Django
Bienvenue dans la première spécialisation : le développement web back-end. Django est le framework « batteries incluses » de Python : il fournit d'office une administration, une gestion de base de données (ORM), l'authentification et la sécurité. Idéal pour construire vite des applications complètes et robustes (réseaux sociaux, plateformes, sites de gestion).
Vous découvrez son architecture MVT (Modèle-Vue-Template), son ORM qui manipule la base de données en Python plutôt qu'en SQL, et son fameux back-office généré automatiquement. Django impose une structure : c'est contraignant au début, salvateur ensuite.
Vocabulaire de la section
- Framework
- Ensemble structuré d'outils imposant une organisation, pour développer plus vite et plus sûrement qu'à partir de zéro.
- Django
- Framework web Python complet (« batteries incluses ») : admin, ORM, auth, sécurité fournis d'origine.
- MVT
- Modèle (données), Vue (logique), Template (affichage HTML) : l'organisation du code d'un projet Django.
- ORM
- Object-Relational Mapping : manipuler la base de données via des objets Python au lieu d'écrire du SQL.
- Migration
- Fichier qui traduit les changements de vos modèles en modifications de la base de données.
Pourquoi qualifie-t-on Django de framework « batteries incluses » ?
En pratique — Découvrir Django et son admin
- Dans un venv, installez Django (pip install django) et créez un projet : « django-admin startproject monsite », puis lancez « python manage.py runserver ».
- Créez une application (python manage.py startapp blog) et un modèle Article (titre, contenu, date) dans models.py.
- Générez et appliquez les migrations (makemigrations puis migrate) : observez la base créée sans écrire de SQL.
- Créez un superutilisateur (createsuperuser), enregistrez le modèle dans admin.py, et administrez vos articles depuis /admin.
Points clés à retenir
- Django est le framework web complet de Python : admin, ORM, auth, sécurité inclus.
- Architecture MVT : Modèle (données), Vue (logique), Template (HTML).
- L'ORM manipule la base en objets Python — sans écrire de SQL.
- L'admin auto-généré permet de gérer les données dès les premières minutes.
Questions fréquentes
Django ou Flask/FastAPI, lequel choisir ?
Django convient aux applications complètes où l'on veut tout d'office (admin, auth, ORM) : gain de temps sur les gros projets structurés. Flask/FastAPI (section suivante) sont légers et flexibles, parfaits pour des API et des besoins sur mesure. Le choix dépend du projet, pas d'une supériorité absolue.
Faut-il connaître le SQL pour utiliser Django ?
Pas au début : l'ORM vous laisse tout faire en Python. Mais comprendre les bases du SQL et des bases de données relationnelles reste très utile pour optimiser les requêtes et diagnostiquer les problèmes de performance sur les projets réels.