# ★ Traduction française de la documentation de Django, le framework web python

Django est un cadre d'applications ou framework web écrit en Python et dédié à la publication sur Internet. Je l'apprend plus que je ne l'utilise depuis maintenant près d'un mois et je suis vraiment conquis. C'est l'une des raisons pour lesquelles j'ai décidé de participer à la traduction de la documentation en français, aidé de Damien Boucard qui a fait un énorme travail !

Mais bon avant tout commençons par un petit topo sur les « fonctionnalités » offertes, histoire de vous convaincre de lire la documentation ;-).

## Historique

Django a été développé par World Online, en closed-source, avant que le code soit libéré et le site lancé. C'est donc dans une logique de publication de contenu que le framework a été créé. Le slogan est « Le framework web pour les perfectionnistes avec des délais : Django facilite la conception rapide d'applis web nécessitant moins de code ». On se rend compte tout de suite de l'omniprésence des exigeances de l'édition.

## Objectifs

Comme tous les frameworks, le but est de développer rapidement des sites pouvant être complets. Pour reprendre la métaphore de James Bennett, l'intérêt d'un framework c'est de disposer des ingrédients pour faire un bon gâteau sans avoir à construire la cuisine qui est autour.

Les développeurs ont essayé de pousser le principe du DRY (pas de répétition) à son extrême tout en découplant les différentes briques du framework de façon à ce que vous puissiez utiliser vos briques si vous les préférez. Aussi, lorsqu'on lit qu'un des inconvénients de Django est qu'il est un tout non modifiable, c'est en partie faux.

L'un des objectifs était aussi de pouvoir totalement séparer les équipes de développement et celles d'intégration. Il est donc possible de créer ses templates sans rien connaître à Python. C'est presque vrai pour le reste aussi si vous vous limitez à des applications simples mais bon ce serait dommage de ne pas apprendre le python par la même occasion !

## Possibilités

J'aurais presque envie de dire infinies mais ça vaut pour tous les frameworks donc commençons par ce qui a déjà été fait :

- La personnalisation des URLs
- L'interface d'administration
- Les vues génériques
- La gestion des commentaires et des fils RSS
- La gestion des sessions et de l'authentification
- L'internationnalisation
- ...

Ne serait-ce que ça suffit à écrire très rapidement votre application de blog par exemple, je vous laisse découvrir seul les « ... ». C'est tout simplement bien pensé et totalement personnalisable.

## Limites

Pour l'instant la version « officielle » est celle disponible dans le dépôt de développement (soit la version supérieure à 0.91 qui est maintenant obsolète). Cette version est stable mais aucune garantie de rétro-compatibilité n'est assurée avant la version 1.0. Il faut savoir qu'il y a eut récemment une fusion d'une branche de développement enlevant une partie de la magie qui était jusqu'alors présente (version 0.91). Une nouvelle version « officielle » sortira dès que cette fusion rendra la version du dépôt exempte de bugs. Il est néanmoins conseillé pour l'instant d'utiliser la version du dépôt qui facilitera grandement la mise à jour ultérieure de votre projet.

Une autre limite assez attendue est l'incorporation du buzz du moment : AJAX. Malheureusement pour ceux qui en vivent, ce n'est pas franchement à l'ordre du jour pour l'instant. On trouve diverses méthodes sur le wiki mais les développeurs sont formels (même si la discussion est en cours), commençons par avoir une solution stable et robuste avant de s'éparpiller sur des détails. Et je dois dire que je suis assez d'accord donc bon pour moi ce n'est pas une limite :-).

## Ressources

Les ressources francophones sont nulles (rassurez vous l'interface d'administration de Django est tout de même traduite), voici les traductions effectuées pour l'instant (contactez-moi si vous souhaitez participer) :

- Comment installer Django
- Rédaction de votre première appli Django, partie 1 : Initialisation, création des modèles et API de la base de données
- Rédaction de votre première appli Django, partie 2 : Exploration de l'interface d'admin auto-générée
- Rédaction de votre première appli Django, partie 3 : Création des vues de l'interface publique
- Rédaction de votre première appli Django, partie 4 : Conception d'un formulaire et vues génériques
- Le langage de template Django : Pour les auteurs de templates

N'hésitez pas à demander de l'aide et/ou à corriger les traductions en commentaire.

## Communauté

Pour l'instant c'est en discussion, principalement sur #django-fr@irc.freenode.net, n'hésitez pas à nous rejoindre ! Une mailing-list a été mise en place sur le site de l'AFPy.

[edit de juin 2007] : le site django-fr a été lancé et je vous invite à aller lire les pages de documentation directement sur ce site qui sera assurément plus à jour que ce que l'on peut trouver ici.

### Articles peut-être en rapport

- Le langage de template Django : Pour les auteurs de templates
- Comparaison de TurboGears et Django, deux frameworks web Python
- Rédaction de votre première appli Django, partie 4 : Conception d'un formulaire et vues génériques

### Commentaires

Yves le 23/05/2007 :

Salut,
quand tu dis "La gestion des commentaires et des fils RSS"
j'aurais traduit "La gestion des commentaires et des flux RSS" :)

Bishop le 05/09/2008 :

moi j'appelle ça un casse couilles tatillon

Bishop le 05/09/2008 :

A part ça, tout ça m'a l'air plutôt très puissant, j'ai hâte de m'y mettre un peu pour voir ce que ça donne, merci pour ton travail.