Django - Module 2
Architecture MVT et Routage URL
Brahim Issa Hassaballah
1er mai 2026
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 1 / 23
Objectifs du module
Comprendre l’architecture MVT
Différencier MVC et MVT
Maı̂triser le routage URL
Utiliser les paramètres dynamiques
Construire une navigation multi-pages
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 2 / 23
Définition : Architecture logicielle
Une architecture logicielle est une manière d’organiser un
programme.
Elle permet de :
séparer les responsabilités
améliorer la maintenance
faciliter le développement
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 3 / 23
Architecture MVC
Model : données (base de données)
View : interface utilisateur
Controller : logique
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 4 / 23
Architecture MVT (Django)
Model : données
View : logique métier
Template : affichage HTML
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 5 / 23
Différence MVC vs MVT
Django remplace le Controller par les Views
Les Templates jouent le rôle de la View (affichage)
Django automatise beaucoup de tâches
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 6 / 23
Définition : URL
Une URL (Uniform Resource Locator) est l’adresse d’une ressource
web
Exemple :
http ://[Link] :8000/employes/
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 7 / 23
Définition : Routage
Le routage consiste à associer une URL à une vue
Exemple :
/employes → fonction afficher employes()
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 8 / 23
Structure [Link] (projet)
from django . contrib import admin
from django . urls import path , include
urlpatterns = [
path ( ’ admin / ’ , admin . site . urls ) ,
path ( ’ ’ , include ( ’ employes . urls ’) ) ,
]
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 9 / 23
Structure [Link] (app)
from django . urls import path
from . import views
urlpatterns = [
path ( ’ ’ , views . accueil ) ,
]
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 10 / 23
Définition : path()
Fonction qui définit une route
Syntaxe :
path(’url/’, vue)
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 11 / 23
Définition : include()
Permet de séparer les routes par application
Facilite l’organisation du projet
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 12 / 23
Paramètres dynamiques
Permet de passer des valeurs dans l’URL
Exemple :
/employe/1/
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 13 / 23
Exemple dynamique
path ( ’ employe / < int : id >/ ’ , views . detail )
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 14 / 23
Vue correspondante
def detail ( request , id ) :
return HttpResponse ( f " E m p l o y n u m r o { id }")
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 15 / 23
Définition : Namespace
Permet d’éviter les conflits de noms
Utile dans les grands projets
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 16 / 23
Namespace exemple
app_name = " employes "
urlpatterns = [
path ( ’ ’ , views . accueil , name = ’ home ’) ,
]
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 17 / 23
TP : Suite Gestion RH
Objectif :
Créer plusieurs pages
Ajouter navigation
Utiliser paramètres dynamiques
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 18 / 23
Étape 1 : vues
from django . http import HttpResponse
def accueil ( request ) :
return HttpResponse (" Accueil RH ")
def liste_employes ( request ) :
return HttpResponse (" Liste des e m p l o y s ")
def detail_employe ( request , id ) :
return HttpResponse ( f " E m p l o y { id }")
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 19 / 23
Étape 2 : urls
from django . urls import path
from . import views
urlpatterns = [
path ( ’ ’ , views . accueil ) ,
path ( ’ employes / ’ , views . liste_employes ) ,
path ( ’ employe / < int : id >/ ’ , views . detail_employe ) ,
]
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 20 / 23
Test
http ://[Link] :8000/
http ://[Link] :8000/employes/
http ://[Link] :8000/employe/1/
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 21 / 23
Résultat
Navigation fonctionnelle
URL dynamique maı̂trisée
Projet RH évolue progressivement
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 22 / 23
Conclusion Module 2
Compréhension MVT
Maı̂trise du routage
Utilisation des paramètres dynamiques
Projet prêt pour base de données (Module 3)
Brahim Issa Hassaballah Django - Module 2 1er mai 2026 23 / 23