PROGRAMMATION WEB
Cours 2: Django
Manipulations Basiques
1
PLAN DU COURS
1. Définition d’un Framework
2. Présentation du Framework Django
3. Pourquoi Django est populaire ?
4. Pattern MVT
5. Installation des outils du travail
6. Préparation de l’environnement du travail
7. Création du premier site Django
8. Exécution du Projet sur un serveur local
9. Configuration basique du fichier [Link]
10. Création du chemin D’url
11. Les vues
12. Les Vues avec des réponses HTTP Brutes
13. Les templates HTML
2
14. Les vues avec des réponses de type templates
DÉFINITION D’UN FRAMEWORK
Un Framework est une boite à outils pour un développeur
web.
il contient des composants autonomes qui permettent de
faciliter le développement d’un site web ou d’une
application. Ces composants résolvent des problèmes
souvent rencontrés par les développeurs (CRUD,
arborescence, normes, sécurités, etc.). Ils permettent donc
de gagner du temps lors du développement du site
3
DÉFINITION D’UN FRAMEWORK
Voici quelques avantages d’utilisation du FrameWork:
Rapidité : une base de travail existe déjà, donc le
développeur web n’a pas besoin de partir de zéro pour créer
son site web.
Flexibilité : le développeur peut choisir d’utiliser ou non
certains composants du Framework pour améliorer le
fonctionnement de son site.
Architecture : en utilisant un bon Framework, vous avez du
code propre et fonctionnel qui ne ralentit pas le
fonctionnement du site. 4
DÉFINITION D’UN FRAMEWORK
Productivité : que ce soit un développement en solo ou en
équipe, un Framework est un outil puissant puisque tout
est parfaitement organisé.
Communauté : le programmeur se bénéficie de l’appui de
toute une communauté en ligne (support et forum) qui l’
aidera à corriger les bugs ou résoudre des problèmes de
programmation.
5
DÉFINITION D’UN FRAMEWORK
Exemples de Framework Web Back-End:
Django (Python) , Flask (Python), Ruby on Rails (Ruby),
Laravel (PHP),Spring Boot (Java
Exemples de FrameWork Front-End:
React (JavaScript), Angular (TypeScript), [Link]
(JavaScript)
6
PRÉSENTATION DU FRAMEWORK
DJANGO
Django est un Framework web open source en Python, créé
pour simplifier le développement des applications web
robustes et sécurisées. Voici un bref résumé de son
historique:
Origines et Création (2003-2005)
Développé à l'origine par Adrian Holovaty
(Américain) et Simon Willison (Britannique) au
sein du journal Lawrence Journal-World.
7
PRÉSENTATION DU FRAMEWORK
DJANGO
Lancement Officiel (2005-2008)
Maturité et Adoption (2009-2015)
Modernisation et Performances (2015-présent)
8
POURQUOI DJANGO EST POPULAIRE ?
Django est populaire pour plusieurs raisons :
1. Développement rapide : Django suit le principe "Don't
Repeat Yourself" (DRY), ce qui réduit la répétition du
code
2. Sécurité intégrée :Protection automatique contre les
attaques SQL Injection, XSS, CSRF, et Clickjacking.
3. ORM puissant : Permet d’interagir avec la base de
données en Python sans écrire de requêtes SQL complexes
et il Supporte aussi plusieurs bases de données
(PostgreSQL, MySQL, SQLite, Oracle…). 9
POURQUOI DJANGO EST POPULAIRE ?
4. Architecture modulaire et extensible: Suivi du modèle
MVT (Model-View-Template) qui facilite l’organisation du
code.
5. Communauté et support: Une grande communauté avec
beaucoup de documentation et de tutoriels et un Support
de long terme (LTS) et mises à jour fréquentes.
6. utilisé par les grandes entreprises :Capable de gérer des
millions d’utilisateurs (ex : Instagram, Mozilla, Pinterest)
et Compatible avec les architectures modernes (Cloud,
API REST, GraphQL). 10
PATTERN MVT
Le pattern MVT (Model-View-Template) est une architecture utilisée
principalement dans le développement web, notamment avec le
Framework Django. Il divise l'application en trois composants
principaux :
Model (Modèle) : Représente les données de l'application. Comme
l'accès à la base de données et la logique de manipulation des
données.
View (Vue) : reçoit les requêtes de l'utilisateur, traite les données et
décide de la réponse à envoyer. Contrairement à la View dans le
modèle MVC, ici elle ne contient pas la logique d'affichage.
Template (Gabarit) : C'est la partie qui s'occupe de l'affichage
proprement dit. Les templates sont des fichiers HTML qui sont
complétés avec les données envoyées par la vue, créant ainsi une page
11
dynamique.
PATTERN MVT
Voici un graphique qui explique ce pattern:
12
INSTALLATION DES OUTILS DU
TRAVAIL
Pour utiliser Django, vous aurez besoin des logiciels
suivants :
Python : Django est un framework basé sur Python,
donc vous devez installer Python (version 3.8 ou
supérieure) sur votre machine.
Pour avoir une idée sur la version installée sur votre
système, Taper cette commande:
13
INSTALLATION DES OUTILS DU
TRAVAIL
Un IDE (Environnement de développement intégré)
pour écrire votre code Python et Django. Comme: Visual
Studio Code
Gestionnaire de paquets Python (pip) : Pip est utilisé
pour installer Django et ses dépendances. Généralement
installé implicitement avec python. Pour avoir une idée
sur la version installée sur le système, taper cette
commande: 14
PRÉPARATION DE L’ENVIRONNEMENT
DU TRAVAIL
Commencer par créer un dossier sur votre système qui
représentera votre projet:
Lancer Vscode puis ouvrir votre dossier là-dans:
Depuis votre éditeur, Lancer le terminal adéquat:
(Command Prompt)
15
PRÉPARATION DE L’ENVIRONNEMENT
DU TRAVAIL
Créer un environnement virtuel pour votre projet:
Activer votre environnement, Voir la commande:
Pour sortir de l’environnement activé et retourner à
l’environnement global, taper la commande suivante:
Une fois, votre environnement est activé, installer là-dessus
Django, utiliser cette commande : 16
PRÉPARATION DE L’ENVIRONNEMENT
DU TRAVAIL
Pour enregistrer toutes les dépendances installées sur un
environnement virtuel, taper cette commande:
req,txt est le nom du fichier qui contient la liste des
dépendances (applications )installées dans l’environnement
de votre projet.
Pour installer des dépendances prises d’un autre projet,
taper la commande suivante:
17
CRÉATION DU PREMIER SITE DJANGO:
Pour créer un site, taper cette commande:
Un dossier qui prend le nom de votre site s’ajoute à votre
dossier du travail :
Explication des composants de votre projet:
Myproject: le nom du site de projet
18
CRÉATION DU PREMIER SITE DJANGO:
db.sqlite3: est un système de gestion de base de données
léger et embarqué qui existe par défaut sous votre projet.
[Link] est un script généré automatiquement par
Django. Il offre une interface en ligne de commande pour
exécuter différentes actions sur le projet. Nous verrons ces
actions progressivement au cours de notre apprentissage. 19
EXÉCUTION DU PROJET SUR UN
SERVEUR LOCAL:
Pour exécuter le projet sur un serveur local , taper la
commande suivante sur l’invite de commande de votre
éditeur:
Voici le résultat:
Pour sortir de ce mode, taper CTRL+C 20
CONFIGURATION BASIQUE DU
FICHIER [Link]
Il est essentiel de configurer la langue et le time-zone du
fichier [Link] :
21
CRÉATION DU CHEMIN D’URL
D’après le schéma suivant, l’utilisateur doit accéder à une
URL définie par le programmeur du site sur le serveur
d’exécution de Django afin de bénéficier des services offerts
par le site.
Les URLS du projet doivent être définis essentiellement
dans le fichier [Link], Voir le graphique:
22
CRÉATION DU CHEMIN D’URL
On va définir trois Urls pour notre site:
Lorsque on exécute notre site sur le serveur, on se trouve
dans cette situation:
23
LES VUES
D’après le graphique ci-dessous, les URLs sont accordés à
des vues
Donc, on doit implémenter des vues pour chaque URL du
site
24
LES VUES AVEC DES RÉPONSES
HTTP BRUTES
Pour l’implémentation des vues on doit créer un module
sous votre projet nommé [Link]
Les réponses des vues sont de typeHttpResponse qui
renvoie des réponses http brutes. Ce type de réponse est
utilisé quand on veut envoyer du texte brut ou du HTML
directement. 25
LES VUES AVEC DES RÉPONSES
HTTP BRUTES
Voici le résultat de l’exécution:
26
LES TEMPLATES HTML
Quand On veut que les vues envoient à l’internaute des
réponse sous forme de pages HTML. On doit utiliser les
templates.
Tout d’abord, commencer par créer un dossier nommé
templates sous le dossier du projet
Sous ce dossier, ajoutervos pages HTML:
27
LES TEMPLATES HTML
Configurer le fichier [Link] pour que votre site soit au
courant de l’existence du dossier templates
28
LES VUES AVEC DES RÉPONSES DE
TYPE TEMPLATES
On va modifier nos vues pour qu’elles affichent des pages
HTML comme réponse
Voir l’exemple:
29
30 Email: [Link]@[Link]
Espace Cours: [Link]
Chaine YouTube: [Link]