title: ★ Bien débuter avec Django : le framework web python pour les perfectionnistes pressés slug: bien-debuter-avec-django-le-framework-web-python-pour-les-perfectionnistes-presses date: 2007-02-12 12:29:06 type: post vignette: images/logos/django.png contextual_title1: ★ Conférences Django pour PyCon fr contextual_url1: 20080521-conferences-django-pour-pycon-fr contextual_title2: Sortie de Django 1.0, une année de nouveautés contextual_url2: 20080902-sortie-de-django-10-une-annee-de-nouveautes contextual_title3: ★ Astuces et bonnes pratiques Django contextual_url3: 20080211-astuces-et-bonnes-pratiques-django

Vous êtes maintenant convaincu qu'un framework web va vous permettre d'optimiser votre temps de développement et votre choix de framework s'est naturellement porté sur django, notamment car il est écrit en python et qu'il est proche de la v1.0 qui promet des fonctionnalités alléchantes. Il ne reste donc plus qu'à se lancer mais vous buttez peut-être sur le manque de ressources. Comment débuter ? Quelles sont les ressources actuelles ? Comment progresser ? Let's go !

Plonger

La première étape n'est pas très coûteuse en temps et vous permettra d'avoir un avant-goût des capacités du framework, il s'agit de suivre les instructions du tutoriel de réalisation de votre première application.

D'autres tutoriels sont intéressants pour débuter :

Ensuite, tout dépend de votre niveau actuel en python. Si vous n'y connaissez strictement rien, je vous invite à aller jeter un œil aux cours pour apprendre python. Si vous connaissez déjà un langage de script et/ou la programmation orientée objet, Dive Into Python (traduit en français) est LE tutoriel à avoir lu au moins une fois pour pouvoir mettre Python sur votre CV ;-).

Si vous voulez cumuler l'apprentissage et le perfectionnement et les bonnes pratiques de programmation, je ne peux que recommander encore une fois le livre de Tarek Programmation Python, la référence.

Enfin il est toujours bon d'avoir une carte de référence sous la main pour se souvenir des commandes/possibilités offertes par django.

Progresser

À partir de là, je pense qu'il y a deux méthodes pour continuer votre apprentissage. Soit vous allez lire les pages de documentation ou les billets de blogs associés aux problèmes que vous rencontrez au cours de votre propre développement, soit vous lisez le Django Book. Les deux solutions ont leurs avantages et leurs inconvénients, je pense que ça dépend pas mal de votre mode d'intégration de l'information. Personnellement, j'ai adopté la première méthode pour mon apprentissage mais à l'époque le livre n'existait pas donc bon j'avais pas vraiment le choix :-). Sachez que le premier chapitre du Django Book a été traduit (en attendant la suite sur le site de django-fr lorsqu'il sera prêt).

En ce qui concerne les ressources de type blog, les catégories django des principaux développeurs (et autres) sont de véritables mines d'information, notamment ceux de James Bennett, Jeff Croft, Simon Willison, Ross Poulton, Malcolm Tredinnick, Jacob Kaplan-Moss, Paul Bissex, Grégory Tappéro, David Avraamides et tant d'autres, bien souvent agrégés sur le planet django.

Le wiki du trac de django est aussi une ressource exceptionnelle, l'information n'est pas toujours facile à trouver mais si vous cherchez à réaliser quelque chose de précis, commencez par là. Consulter le code produit par d'autres personnes pour s'inspirer des expressions régulières des URL ou des modèles est aussi une bonne manière de progresser, il y a de nombreux dépôts publics (à commencer par ceux de django et django-fr bien entendu).

Pour les ressources en français, il y a les blogs de Nicolas Steinmetz, kib, SkiT qui vous propose un memento tout en couleurs, Jon qui vous apprend à créer un site bilingue et bien sûr les articles sur ce site (j'espère n'avoir oublié personne...).

Trouver de l'aide

Les listes de diffusion francophone et anglaise sont actives, il en est de même pour les salons de discussion, #django-fr et #django sur le réseau freenode.

Des forums en anglais sont aussi en place depuis peu (mais je sais pas du tout ce que ça donne).

Concrétiser

La meilleure façon d'apprendre c'est encore de manipuler, de créer, d'avoir un projet et d'essayer de le concrétiser. Je suis assez mal placé pour donner des leçons à ce sujet, c'est pourquoi j'ai décidé de décrire sur ce site les différentes étapes du processus de refonte. Comme vous avez pu vous en apercevoir, les ressources francophones sont limitées et je pense qu'un exemple de plus n'est pas superflu (puis au moins ça m'obligera à avancer...), un prochain billet décrira les étapes par lesquelles je compte passer. En attendant, n'hésitez pas à plonger dans django !