presentation
[semainetech_django.git] / project / media / ppp / django.md
1 Semaine tech AUF
2 ================
3
4 **Atelier**: Django
5
6 **Présentateur**: Olivier Larchevêque
7
8 **Date et heure de passage**:
9
10 - 29 Août 2011 à 13h00 TU
11 - 1er Septembre à 13h00 TU 
12
13 **Durée prévue**: 45 minutes de présentations (max) + 15 minutes de questions
14
15 **Pré-requis** : [WikiTeki](http://wiki.auf.org/wikiteki/Projet/SemaineTech/Ateliers/Django)
16
17 ---
18
19 Plan
20 ====
21
22 - Présentation des concepts du framework Web Django (10min)
23 - Création d'un modèle de données (10min)
24 - Création d'une interface d'administration (10min)
25 - Création d'une vue accompagnée de sa template pour le portail (10min)
26 - Questions (15min)
27
28
29 ---
30
31 Qu'est-ce qu'un framework Web?
32 ==============================
33
34 ---
35
36 Le modèle MVC
37 =============
38
39 Définition (ultra-courte)
40 -------------------------
41
42 Méthode de conception visant à créer une séparation 
43 logique des données, de leur manipulation et de leur visualisation. 
44 [Wikipedia](http://fr.wikipedia.org/wiki/Mod%C3%A8le-Vue-Contr%C3%B4leur)
45
46 Intérêts
47 --------
48
49 - Maintenance
50 - Évolutivité
51
52 M : model
53 ---------
54
55 Données métiers, souvent directement lié à la base de donnée.
56
57 V : view
58 --------
59
60 Interface qui fait le lien entre l'utilisateur et l'application, généralement la page HTML.
61
62 C : contoler
63 ------------
64
65 Passerelle entre les models et les views : il adapte, traite, préparent les données.
66
67 ---
68
69 Traitement d'une requête
70 ========================
71
72 - HTTP/GET
73 - URL dispatcher
74 - Invocation de la vue
75 - Traitements divers
76 - Combinaison des données avec la template
77 - Réponse HTTP
78
79 ---
80
81
82 Concrêtement dans Django c'est où?
83 ==================================
84
85 ---
86
87 Application "support"
88 =====================
89
90 URL dispatcher
91 --------------
92 - project/support/urls.py
93
94 Modèles de données
95 ------------------
96 - project/support/models.py
97
98 Controlers
99 ----------
100 - project/support/views.py
101
102 Views
103 -----
104 - project/support/templates/*.html
105
106 ---
107
108 Partie pratique
109 ===============
110
111 Pour chaques étapes, vous pouvez jouer dans le projet pendant 10min.
112 À la fin de chacune des étapes, si vous êtes en difficultés, on propose
113 une solution pour passer à l'étape suivante.
114
115 *Remarque* : le projet est déjà commencé, vous pouvez vous inspirer de ce
116 qui est déjà fait. J'ai laissé quelques commentaires dans le code source
117 pour vous guider.
118
119 Étapes
120 ------
121 - Créer un modèle
122 - Créer une interface d'administration pour ce modèle
123 - Créer une vue avec sa template
124
125 ---
126
127 Questions
128 =========