Apr 20 2010
Un petit tour de drupal
Bon, alors comme je bosse dans l’Internet et les ordinateurs je suis souvent sollicité pour créer des sites (par moi, par des amis etc…)
Produire un site internet (surtout de nos jours) c’est putain de casse couille ! Ya quelques années, on collait trois images, deux pages et voila ! un beau site internet. Sauf que maintenant, “les gens” connaissent le net et savent ce qu’il existe. Ils savent que des mecs créent facebook avec des machins en ajax dans tous les sens pour faciliter le surf. Donc forcément “les gens” veulent les mêmes trucs, parce que le web 2.0 est passé par là et que tout le monde utilise régulièrement un CMS sympa. Mais “ces gens” n’imaginent même pas une seconde qu’un backoffice c’est putain de chiant à créer et que c’est douze fois le temps de dev du front.
Bref tout ça pour dire que créer un site avec un niveau d’exigence moyen, ben c’est déjà long et fastidieux et qu’heureusement il existe des CMS et des Frameworks pour faire gagner du temps aux développeurs.
J’ai donc choisi d’utiliser drupal pour deux projets. J’ai demandé à quelques amis développeurs s’ils utilisaient des trucs de ce genre et j’ai eu plusieurs pistes :
- Zend
- Drupal
- WordPress.
Zend est un framework php (créé par les mecs qui ont fait php) plutôt balaise pour les développeurs back “purs et durs” et ça tombe mal, j’en suis pas un.
WordPress est bien connu pour son moteur de blogs (celui de ce site) et comme je le connais déjà un peu j’avais envie de faire autre chose. J’ai donc tenté drupal.
Après quelques recherches, un constat s’impose : le site de drupal est pourri, la doc est un merdier sans nom, la communauté moindre… damned, je vais en chier.
Je scinde ce post en deux : les données et le graphisme..
1 – Les données
J’installe le truc très facilement, sans aucun problème. Youpi j’ai un site !
Premier constat après l’install : pas de wysiwyg pour l’éditeur de texte, pas de gestionnaire d’images ??? Et oui, drupal arrive tout nu… ya rien. Impossible de monter un site coule depuis cette base. Sauf si vous voulez un site bleu comme tous les sites faits en drupal.
Heureusement il y a plein de plugins. Y’en a tellement que s’en est épuisant… J’ai donc trouvé un feinte pour choisir les plugins : le tri par statistique. Et j’ai choppé les 20 premiers. Youpi…
Bon alors les plugins, les indispensables :
Views : C’est une sorte de “fabriqueur de requêtes sql sans avoir à coder”. C’est le plugin le plus important, il permet la création de “blocs” qu’on pourra placer ensuite dans le site ( exemple : les 10 dernières news avec juste images et titre .)
CCK : C’est le plugin qui vous permettra d’ajouter des champs à vos types de noeud. (exemple : créer un type de contenu “critique de film” avec les champs titre, image, thumbnails, année de parution, langue, note etc…)
Maintenant, viens le moment fatidique qui peut vous faire perdre six jours et prendre dix ans d’un coups : Les WYSIWYG !
Un wysiwig (What you see is what you get) c’est un plugin d’éditions html qui permet à l’utilisateur de rajouter du gras, de l’italique, une image etc… dans le champ de texte d’édition. La plupart de ces trucs marchent mais entre les blems de version, ceux qui proposent 12 bars d’outils qui servent à rien, ceux à trois boutons, c’est chiant. On passe des plombes à les télécharger, installer, configurer pour se rendre compte qu’aucun ne gère l’insertion d’image avec upload à part celui de yahoo. Je l’ai donc choisi…
Voilà tout ça s’est la pour la partie données… reste plus qu’a monter le site maintenant et là encore, pour la personnalisation et le “theming”, c’est coton !
2 – Customisation
Même constat après quelques recherches sur la “customisation” de drupal : ya pas foule !
Je suis tombé 50 fois sur le même tutorial traduit de “comment changer la taille d’une typo en css dans drupal ou changer la couleur de fond d’une div” avant de comprendre qu’il fallait que je m’en sorte tout seul si je voulais autre chose que tous ces sites bleus !
Une des techniques pour customiser son site est des partir du thème “zen” et de le surcharger. J’ai tenté ça.
Le principe de drupal pour afficher du contenu est de créer des zones en CSS dans le layout.css et d’affecter du contenu ( bloc créés avec views) dans ces zones. Ça marche bien ça ! Le problème c’est de customiser la vue que vous avez créée !
Le principe encore une fois est de surcharger des templates du plugin views. Au moment de la création d’une vue on peut voir (dans un ordre du plus général au plus précis) les fichiers tpl que votre vue va utiliser. Bordel pour trouver ça, j’en ai chié !
Je pense maintenant pouvoir m’en sortir avec la customisation…
3 – Conclusion
Ok, ça fonctionne et une fois qu’on a compris j’avoue que ça peut aller assez vite. Mais franchement, le coup du pas de wysiwyg, pas de type image c’est super relou et surement rédhibitoire pour beaucoup de développeurs.Vivement la prochaine release avec tout bien packagée avec views, wysiwyg, image, cck etc…
Donc avant de recommander l’utilisation de drupal, faudrait que je teste d’autres cms. Drupal me parait quand même un peu complexe dans sa mise en oeuvre. Une fois installé, paramétré il est assez facile de s’en servir même s’il faut une bonne compréhension de son système de template et de gestion de données. Comme je le disais dans l’introduction du post j’ai deux sites à faire, je pourrai faire un vraie conclusion à la publication des deux sites ! Une chose est sûre c’est que je suis pas “à fond” mais faut dire que l’intégration html vs CSS c’est pas l’éclate !

