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.
