Aujourd’hui”hui, je vais vous présenter Django, “Le framework web pour les perfectionnistes sous pression” ! Avouez que c”est déjà pas mal comme slogan. Je vais parler ici de mon expérience personnelle d’amateur qui pratique l”informatique sur son temps libre. Donc tout ce que je peux raconter ici peut apparaître totalement FAUX à un expert en la matière, mais bon, faut bien se lancer un jour hein :) .
Les fondations
Comment creuser la base, ou la mise en place du framework dans un environnement Linux / Apache 2 / Mysql 5.
Pour ma part, je réalise tout mes essais sur mon serveur (enfin, c’est plutôt ronflant comme nom, il ne s’agit que d”un Pentium 2 avec 18Go de disque dur qui fait un bruit d”enfer hein) qui tourne sous Debian (Lenny). Pour l”installation, il m’a suffit d’installer le module Python pour Apache (facilement grâce à Aptitude). J’ai ensuite installé Django en lui même (ce qui se résume à télécharger la version en cours de développement puis créer 2-3 liens symboliques, du gâteau quoi), puis paramétrer mon httpd.conf (de même, processus très simple grâce à la très bonne documentation très bien traduite par David Larlet. Résultat, en partant de rien, un framework fonctionnel disponible en production en tout juste 5 petites minutes.
Le commencement
Où on s’assoit bien droit correctement sur sa chaise, qu’on retrousse ses manches, réajuste ses lunettes, ferme toutes les applications autres que le navigateur, et qu’on ferme la porte du bureau.
J’ai encore été agréablement surpris : la documentation est abondante. D’une part, la doc’ du site officiel qui couvre un très grosse partie et qui permet de bien dégrossir le travail. Ensuite, cette même documentation (et un peu plus) traduite sur Django-fr. Finalement, je suis tombé sur The Django Book (aussi disponible en livre papier). De toute façon, la communauté est loin d’être minime, et Google is your (only?) friend, donc pas de quoi s’inquiéter.
Au bout d”une quarantaine de minutes, on réalise une application de votes fonctionnelle (sobre, mais efficace), le tout avec très peu de code et le moteur proprement séparé de l’affichage. Que du bonheur !
Oui mais non !
“Un cri retentit dans la salle de bains…” (Tribulations, Chapitre 2, Verset XVI) Que du bonheur mais … sans compter un petit problème (que je n”ai pas réussit à résoudre, mais je cherche encore !) : la gestion des accents et de l’UTF-8 dans l”interface d”administration auto générée. En effet, Django vous génère une interface permettant l”administration de la base de donnée suivant les modèles que vous avez définit dans votre application, le tout de manière sobre et fonctionnelle. Pour ma part, un problème intervient au moment où je veux utiliser des accents dans du texte, là, il aime pas ! Mais je pense que le problème vient de moi de toute façon.
Au final
Pour le moment, je ne dispose pas encore d”assez d”éléments pour juger et émettre un point de vue plus approfondit sur Django, mais pour l’instant, voici mon bilan : Un gain de temps inimaginable : très peu de code, si les modèles de données sont bien pensés dès le départ, tout va tout seul. Des templates pratiques : Ils permettent d”étendre d’autres templates, de pouvoir émettre des valeurs par défaut et remplaçables avec des systèmes de blocs. Propreté : Le code généré est très propre, ainsi que la séparation entre les structures et l’interface. Seul point négatif pour le moment : ce problème d’accents.
Le mot de la fin : Je vais bientôt prendre un hébergement 60GP chez OVH. Mon but sera d”y développer mon espace perso (un blog surtout), en utilisant uniquement Django. Je vais tenir au courant de comment tout cela se passe.
