title:      La documentation Django en local (html et pdf)
slug:       la-documentation-django-en-local-html-et-pdf
date:       2008-12-04 15:34:19
type:       thought
vignette:   
contextual_title1:  Interfaces et promotion du Web Sémantique
contextual_url1:    20081203-interfaces-et-promotion-du-web-semantique
contextual_title2:  24ways, le calendrier de l&#39;Avent des geeks web
contextual_url2:    20081201-24ways-le-calendrier-de-lavant-des-geeks-web
contextual_title3:  Loi de Geek
contextual_url3:    20081126-loi-de-geek



Le [billet de NiKo m'a rappelé que Glooze](http://prendreuncafe.com/blog/post/2008/12/04/Fayotage) voulait avoir un pdf de la documentation de Django, ça prend 3 minutes (ou 3 heures, ça dépend de votre connexion et de votre processeur).

##Pré-requis

* installer [sphinx](http://sphinx.pocoo.org/) (easy_install sphinx ou avec votre méthode préférée) ;
* installer latex (avec [MacTeX](http://tug.org/mactex/) ou avec [une bonne doc](http://www.valhalla.fr/2007/10/08/latex-sur-mac-installation/) si vous êtes sous mac, dans les deux cas c'est looooong).

Si vous êtes sous une distribution GNU/Linux ça devrait être plus rapide avec votre gestionnaire de paquets préféré, oui OS X a bien du retard à ce niveau là...

## 3 étapes

* récupérer [les sources de Django](http://www.djangoproject.com/download/) et les décompresser ;
* aller dans le dossier docs et lancer la commande sphinx-build appropriée, pour la version html : **sphinx-build . build_html**

* et pour la version pdf : **sphinx-build -b latex . build_latex**

* générer le pdf à partir du latex : **latex build_latex/django.tex django.pdf**

Et voilà, vous avez un pdf de la documentation Django qui fait 700 pages et qui n'est pas super bien mis en forme (notamment le code...) mais ça peut dépanner. Si vraiment ça vous passionne, vous pouvez faire votre propre feuille de styles qui s'applique lors de la conversion mais bon j'ai déjà du mal à voir un intérêt au pdf... la version html est beaucoup mieux !

À ce sujet, [Python 3 est sorti aujourd'hui](http://www.python.org/download/releases/3.0/), on va voir s'il est envisageable de sortir une version non compatible (nativement) avec la précédente sans tuer un langage, en tout cas les gros projets commencent à [définir des roadmaps](http://groups.google.com/group/django-developers/browse_thread/thread/dcf70c736c204594/a0686368119096b9). La migration est grandement facilitée par l'[utilitaire 2to3](http://docs.python.org/dev/3.0/library/2to3.html#to3-reference) et par les warnings affichés lors de l'utilisation de votre code avec Python 2.6, ça devrait pas être si terrible ;-).

