[Plan du site]
Vous êtes ici ---
> Le Site du Zéro
> Les tutoriels
> Non-Officiels
> Programmation
> Python
> Django de zéro : vos projets Python sur le Web ! > Débutons avec Django > Présentation de Django
> Lecture du tutoriel
Présentation de Django
Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Ce chapitre a pour but d'introduire Django, c'est-à-dire que rien de pratique ou théorique ne sera abordé ici, juste une présentation détaillée du framework au niveau fonctionnement et du langage Python. Après ces présentations, qui sont là pour vous garnir le cerveau de culture générale, je vous parlerai des bases nécessaires pour aborder aisément le tutoriel et où aller apprendre ces bases si elles vous manquent. La notion d'architecture
Modèle-Vue-Contrôleur sera également introduite dans ce chapitre.
Un chapitre pour se mettre dans le bain si je peux dire, allez, bonne lecture.
Nous allons découvrir dans cette partie du chapitre Django d'une manière générale : l'histoire de Django, ses possibilités, les outils qu'il nous offre, etc. Nous ne verrons cependant pas ? dans cette partie tout du moins ? comment utiliser ces outils. Nous découvrirons cela au fur et à mesure des chapitres.
Présentation du langage Python, la souche de Django
Le Python a été créé en 1990 par Guido van Rossum au
CWI, se situant à Amsterdam (Pays-Bas). Ce langage est dit
le successeur du langage ABC, lui-même successeur du langage de programmation BASIC. La syntaxe du Python a été fortement inspirée de son prédécesseur, le langage ABC. Que de langages et de successeurs ! Un petit schéma récapitulatif de ce que je viens de dire ne ferait pas de mal :
Les versions se succédèrent, pour en arriver aujourd'hui à la version 2.5.1. Si vous désirez connaître les avantages et les inconvénients du langage de programmation Python, je vous conseille de lire le premier chapitre du tutoriel
Apprenons Python ! disponible sur le SdZ.
Je ne vais pas plus m'étendre sur l'histoire du Python, quelques recherches sur le Web vous permettront d'en apprendre plus sur ce langage.
Présentation de Django, un framework Web en python
Django est un projet tout récent, il a vu le jour en 2005. Au jour d'aujourd'hui, Django est disponible en version 0.96. La première version n'est donc pas encore sortie. Ceci ne fait pas de lui un framework inutilisable et à moitié terminé, bien au contraire !
J'ai utilisé plusieurs fois la notion de « framework », savez-vous cependant ce qu'est un framework ? Ceci demande quelques explications...
En informatique, un framework est donc un espace de travail, composé de bibliothèques (les bibliothèques sont des ensembles de fonctions), d'outils et d'autres, permettant le développement d'applications. Le but d'un framework est de pouvoir produire un projet facile à maintenir. Pour comprendre plus aisément ce qu'est un framework, prenons le cas de Django et faisons un schéma :
Je tiens à préciser qu'un framework n'est pas obligatoire pour développer, que ce soit en Python ou dans un autre langage. C'est un outil, qui peut accélérer le développement, apporter de la simplicité au codage, etc. Il ne remplace en rien le bon vieux code traditionnel.

Django permet de développer plus facilement et simplement des applications Web en Python.
Introduction à l'architecture Modèle-Vue-Contrôleur
Le
MVC est une architecture
séparant une application en trois choses distinctes que sont le modèle, la vue et le contrôleur. Si j'aborde cette façon de programmer, c'est que Django est basé dessus et qu'il serait bien d'avoir quelques notions sur le sujet avant d'entamer le codage. Voici une explication de ce que sont le modèle, la vue et le contrôleur donc :
- Le Modèle : le modèle permettra de gérer les données et leur organisation. Notre base de données (Django utilise les B.D.D. pour stocker les données) sera créée et définie par rapport au modèle que nous allons créer. C'est le modèle qui assure la gestion des données ;
- La Vue : la vue est ce que l'utilisateur aura devant les yeux, c'est-à-dire le code (x)HTML et CSS, pour Django. La vue est en quelque sorte un moteur de template du fait que les codes sont séparés, le Python est séparé du (x)HTML ;
- Le Contrôleur : le contrôleur est ce qui va faire le lien entre la vue et le modèle. Par exemple, nous voulons dans notre application afficher les différentes news validées, c'est le contrôleur qui va dire à la vue de s'adapter en fonction de ce que veut l'utilisateur. Si par exemple, on ajoute une news, c'est le contrôleur qui va faire le lien entre la vue où se trouvait le formulaire d'ajout de la news et le modèle pour l'ajout à la base de données.

Ça peut paraître assez bizarre quand on n'est pas habitué à travailler sous cette architecture, mais vous allez voir, c'est vraiment quelque chose qui permet de structurer. Pour en apprendre plus sur le Modèle-Vue-Contrôleur, je vous invite à lire l'article Wikipédia sur le sujet, il
se trouve ici.
Comme je vous le dis depuis le début, afin d'aborder aisément Django dans ce tutoriel, quelques connaissances en Python sont nécessaires : les bases. C'est à vous de savoir si vous les avez ou non, je ne peux pas le dire à votre place. Pour acquérir ces bases, si vous ne les avez pas, voici une liste de tutoriels intéressants pour les obtenir :
- Apprenons Python ! tutoriel du Site du Zér0 permettant d'acquérir des bases en Python, il est intéressant pour se lancer dans le langage. Le tutoriel est disponible à cette adresse ;
- Cours de programmation Python, de Gérard Swinnen : Sans doute le tutoriel francophone le plus complet pour apprendre le Python, un tutoriel au format PDF de plus de 300 pages. De quoi avoir des bases solides et plus si affinités. Le tutoriel est disponible ici ;
- Tutoriel officiel : c'est le tutoriel disponible sur le site officiel du langage Python, il vous enseignera les bases. Tutoriel très intéressant mais en anglais. Ne soyez cependant pas repoussé par ça, c'est assez facile à comprendre, vous verrez. Le utoriel disponible à cette adresse.
Une fois les bases en Python acquises, vous êtes fin prêt ! Ou peut-être pas totalement, comme je l'avais déjà introduit, pour la mise en forme d'un site et sa sémantique, il faut des connaissances en (x)HTML et CSS. Un tutoriel sur le site est disponible à ce sujet, c'est celui de M@teo21. Je vous laisse le trouver, il est dans le menu à votre gauche.
J'en reviens aux connaissances en Python à présent, il faut en savoir un minimum sur ce qu'est la
POO et comment ça marche (en Python bien évidemment). En effet, Django marche sur ce modèle, il va donc falloir s'y plier. Les deux derniers tutoriels donnés plus haut abordent la
POO, n'hésitez pas encore une fois à aller les lire.
Vous avez ces connaissances ? Alors c'est bon, on peut continuer, c'est parti !
Se renseigner avant de poster, les différents sites
Une communauté est derrière vous ! Vous ne serez pas seul dans le développement de votre projet. Une communauté anglophone existe depuis les débuts de Django, et une communauté francophone depuis juin 2007. Voici leur site respectif :
Le site anglophone, qui est aussi le site officiel, rappelons le, est une plus grande mine d'or, les ressources y sont plus nombreuses que sur le site francophone, en conséquent, je tenais à souligner le fait qu'il ne faut pas se limiter au français quand on parle un minimum anglais. Sur ces sites, vous trouverez les archives de téléchargement de Django,
une documentation assez riche, des goodies (fonds d'écran, logos, etc.) et aussi tout ce qui concerne la gestion du projet Django en elle-même (rapports de bogues, versions de développement, etc.).
L'inclassable DjangoBook
S'il y a bien un site à taper dans sa barre d'adresse quand on a un problème ou qu'on cherche quelque chose en particulier, ça serait
DjangoBook. Composé de 20 chapitres et 8 annexes, ce livre en ligne (disponible sous forme imprimée également) est une source d'informations immense. C'est la bible de Django si on peut dire.
Ah oui, le site est en anglais, mais ce n'est qu'un infime détail non ? Et le site n'est pas encore mis dans les favoris ? Alors faites le, car vous verrez, vous ne pourrez pas vous en passer.
Discuter en direct : les différents salons IRC
Ce qu'il y a de bien, c'est qu'il existes des salons IRC où le thème principal est Django, vous pourrez y poser des questions, parler de Django, etc. Voici une liste des différents salons où vous pouvez vous rendre pour parler ou poser des questions sur Django :
- #django sur Freenode : c'est le salon officiel du projet, c'est donc un salon anglophone. Ce salon regroupe plus de 400 personnes. Il faut bien évidemment savoir s'exprimer en anglais de façon très correcte pour parler.
- #django-fr sur Freenode : ce salon est celui de la communauté francophone et on y parle en donc en français. N'hésitez pas à y aller pour suivre les discussions ou poser vos questions, il y a généralement quelqu'un pour vous répondre si vous faites ça de manière correcte ;
- #python sur Epiknet : salon IRC plus généraliste sur le Python, on y trouve cependant des utilisateurs de Django, venez faire un tour de temps en temps. Pour information, c'est un salon francophone.
Le forum « Autres Langages »
Vous pouvez également poser vos questions sur le Site du Zér0. Pour ce faire, il y a le forum
Autres Langages. Actuellement peu nombreuses voire inexistantes, les questions à propos de Django sont tout de même les bienvenues sur site, vous pourrez les poster dans le forum
Autres Langages, comme déjà dit, qui regroupe toutes sortes de langages, dont le Python. Si vous avez une question à poser, mettez dans votre titre de sujet les tags
[Python] [Django]. On sait ainsi que c'est du Python, mais aussi Django. Après ces tags, une très courte description de votre demande.
En espérant que ce chapitre introducteur vous ait donné envie de continuer et apprendre à utiliser Django, je vous souhaite une bonne continuation dans votre lecture !