initiation pratique à la structure et
au fonctionnement du framework django

le framework DJANGO et le serveur web

Un serveur web assure plusieurs fonctions :
-il reçoit les requêtes des clients et leur retourne une réponse ; la réponse est traditionnellement une page HTML, ou avec Ajax des objets reconnaissables par le navigateur.
- il traite la requête : le traitement minimal est le décriptage de l'url envoyé par le client et l'envoi d'une page stokée dans la mémoire de masse du serveur sous forme d'un fichier.
- mais depuis l'introduction des formulaires, le serveur utilise des outils de calcul est de stockage de données en vue de réaliser une réponse qui ne dépend plus seulement de l'url. Le serveur doit donc être lié à un langage qui permet de programmer les traitements spécifiques, et d'utiliser une base de données (relationnelle ou objet).

les divers langages de programmation serveur

L'utilisation d'un langage comme le C n'a eu qu'un temps, et très tôt, les langages interprétés ont été préférés pour leur souplesse d'utilisation.
- Le langage le plus utilisé reste un langage écrit pour le travail du serveur : le PHP. Il peut être articulé avec les serveurs tels Apache, et les bases de données clasiques : Mysql, Postgres, Oracle...
- Le langage Java a été lui aussi sollicité ; les modules de JEE ont apporté plusieurs modes de programmation (Struts, JSP ...) particulièrement efficaces. L'inconvénient majeur est que Java reste un système assez clos ; il exige un seveur spécial Tomcat, qui est à la base de tous les systèmes serveurs en Java. Seuls quelques distributeurs proposent un service Java
- Le langage Python a dès le début, proposé des modules permettant de programmer un serveur web. C'est cependant avec l'arrivée du framework Django que le web en Python a atteint un développement dont l'importance peut se mesurer au nombre de distributeurs qui en proposent l'hébergement. Django utilise un serveur non dédié (Apache par exemple) et il est «transparent» vis-à-vis de la base de donnée effectivement utilisée puisqu'il effectue un mappage qui permet de programmer les tables comme des objets Python.

les fondamentaux de django

La première approche de Django ne peut faire l'économie de ce que nous appellerons « les fondamentaux ». Le framework utilise le paradigme M T C, qui consiste entre une séparation de ce qui relève du Modèle de données [Models dans le vocabulaire de Django], des bases de l'affichage contenues dans des gabatits [Templates], et du contrôle de fonctionnement [Views]. La structure exige un minimum d'explications. C'est ce qui est développé dans les premiers chapitres.
Les données statiques (celles qui ne sont pas modifiées lors des actions) ont un traitement spécifique. Les données variables, celles qui relèvent de la base de donnée sont traitées comme des objets Python. Tout cela demande quelques développements.
Sont abordés dans la fin de l'étude les questions qui relèvent classiquement de la construction d'un site : formulaiires, Ajax, cookies, login, mot de passe. L'approche proposée est élémentaire ; en fait, Django fournit des outils puissants qui permettent de traiter ces questions de façon générique. Mais c'est une tout autre chanson...

téléchargements

 format LibreOffice (3,3 Mio)  format P.D.F. (1,7 Mio)  les exemples au format Z.I.P. (894 Kio)