Previous
Previous

Une vache à poil!

Share and options

Voulant tester un peu Drupal 7, j'ai décidé de porter mon bon vieux blog en Drupal 6 vers Drupal 7. Pour fêter ceci, voici la photo d'une vache à poil.

Une vache à poil!© Stéphanie Mausset

1. Mais encore?

Cette vache semble aussi sympathique que la gestion des media en l'état avec Drupal 7, c'est à dire non fini. Aujourd'hui la field API permet de faire beaucoup de choses, mais aucun module de gestion correcte d'image (parlons WYSIWYG) ne semble encore exister, ce qui est assez dramatique. Tous les modules censés y toucher sont aujourd'hui encore en développement actif, et je ne me risquerais pas à les installer sur un site publique dans ces conditions!

Le module Media à l'air prometteur, on verra bien ce qu'il donne une fois stable. Toujours est-il qu'il est fort chargé en code, ce qui n'est pas forcément un gage de qualité, mais au moins il a la prétention de gérer les divers médias de manière centralisée, ce qui est une bonne chose. J'attends cependant de voir comment ça fonctionne; Pour ce genre de choses, j'aurais extensivement utilisé un modèle objet, mais le module Media semble rester très procédural, ce qui ne simplifie en rien la compréhension du code.

Une bonne nouvelle pour l'utiliation centralisée des medias dans Drupal est le fait que le type de champ servant à gérer les fichiers utilise des managed files. C'est une bonne nouvelle car ceci ouvre la voie sur une gestion de fichier centralisée dans le CMS, permettant aisément leur réutilisation au sein du CMS.

2. Quelques notes sur Drupal 7

Drupal 7, il est lent, très lent. Sur certaines pages -y compris en pure consultation de contenu- il double le temps de génération des pages par rapport à Drupal 6. C'est dommage, on aurait plus attendu l'effet inverse, Drupal n'est pas reconnu pour sa vélocité.

Le theme system est très complet complexe. On peut tout faire avec, même le café, mais ça le rend aussi incroyablement obfusqué. La même mécanique avec du code objet aurait gagné en lisibilité et en compréhension.

Il génère autant de fichiers CSS (ainsi que JS) que de groupe qu'il connait! Soit environ 3 fichiers de chaque par page, il semblerait qu'ils aient implémenté ceci pour conserver les contraintes d'ordre entre fichiers. C'est triste, Drupal 6 au moins était capable de générer qu'un seul fichier pour l'ensemble des CSS ainsi qu'un seul fichier pour l'ensemble des JS.

3. Ce qui m'énerve au possible : l'aggrégation aléatoire

La gestion des libraries est complète, mais très (voir trop, beaucoup trop) dynamique. C'est la raison pour laquelle la gestion de l'aggrégation CSS et JS dans Drupal 7 est si fouillie et aléatoire.

Juste histoire de brasser un peu de vent, j'ai commencé à développer un module qui force l'aggrégation de tous les fichiers CSS et JS choisis par l'administrateur du site, même s'ils ne sont pas utilisé sur la page. Ce genre de mécanisme permet à terme d'avoir un fichier unique pour tout le site, ce qui permet de sauver énormément de bande passante. Malheureusement, le gain reste minime à cause de ce système d'aggrégation étrange que Drupal 7 porte. J'ai été très déçu que la core team aient opté pour la génération de 3 fichiers différents à chaque fois, ça à cassé tout mon effet! Pour information, ce module marche assez bien pour l'instant, malgré son interface de configuration assez rudimentaire et fastidieuse à utiliser. Je pense que je vais le mettre en place bientôt sur ce site.