Les "indispensables" pour Drupal
ça fait longtemps que j'utilise Drupal, et ce cms possède une communauté "tentaculaire" qui fourni des modules pour un peu tout ce qu'on veut.
Néanmoins, il existe tellement de modules qu'il est souvent difficile de faire un choix, et ça prend du temps pour les tester. Ayant beaucoup travaillé avec depuis une année, je propose ici une petite liste non-exhaustive des modules que j'utilise pour tous mes projets, les "indispensables" en quelques sortes. Je ne citerai pas dans ce billet les modules de base tels que "views", cck ou contemplate qui devraient toujours être intégrés dans un site Drupal, pour me concentrer sur des modules de moindre envergure, mais qui facilitent grandement l'utilisation et la configuration du système.
URL Rewriting
Pathauto, Token et transliteration sont 3 modules que j'intègre à chaque fois, afin d'ajouter la possibilité de réécrire les urls de mes contenus.
Pathauto permet d'automatiser la création de chemins "lisibles" pour les contenus. Associés à token, qui offre des "jetons de remplacement" pour les valeurs les plus utilisées et transliteration qui va permettre de réécrire les urls proprement sans caractères spéciaux, c'est un combo très intéressant à utiliser pour qui veut que ses contenus soient accessibles via des urls un peu plus compréhensibles que "node/125". Exemple, je crée un nouveau contenu ayant comme titre "liste des modules intéressants" dans la section "drupal" et pathauto va me créer un alias d'url "drupal/liste_des_modules_interessants". Vous avouerez que c'est plus sympa d'avoir ce genre d'url, que ça soit pour le lecteur final ou même pour les moteurs de recherches.
global redirect va également permettre d'influer sur les urls en les réécrivant proprement. exemple : http://monsite.com/ sera transformé en http://monsite.com (le slash de fin inutile sera supprimé). Des contrôles sur les alias existants sont fait pour rediriger un contenu node/xyz vers son alias d'url réécrit par pathauto.
Affichage
JQuery menu autorise le remplacement des menus principaux (navigation, liens primaires et liens secondaires) par des menus extensibles. ça n'a l'air de rien, mais à l'utilisation, ça évite de devoir par exemple cliquer sur "admin", puis "configuration du site", puis "informations" en attendant à chaque fois le rechargement de la page. On va développer le menu "admin", puis le menu "configuration du site" et c'est là qu'on pourra cliquer sur "informations". Un seul rechargement nécessaire, ce qui implique un gain de temps non négligeable à la longue, surtout lorsqu'on travaille sur un site distant.
Vertical tabs permet d'afficher les différents éléments d'un formulaire sous des "onglets" spécifiques. Plutôt que d'avoir un formulaire long comme un jour sans pain, on aura une zone à onglets multiples qui va condenser toutes les informations. L'essayer, c'est l'adopter Wink
Rédaction
ckeditor et imce sont 2 modules qui vont vous permettre d'intégrer un éditeur de texte avancé dans votre site Drupal. CKEditor correspond à l'éditeur, tandis que IMCE va intégrer un moyen d'ajouter des images sur le serveur et de les utiliser dans l'éditeur avancé.
Ces 2 modules, couplés aux modules Remember filter, Wysiwyg filter et Better formats vont amener une gestion assez fine de qui peut utiliser quels formats, et quels sont les balises autorisées dans le texte rédigé.
Remember filter garde en mémoire le dernier format d'entrée utilisé par un utilisateur et proposer ce même format lorsque l'utilisateur rédigera un prochain contenu. Pratique lorsque l'utilisateur est sensé utiliser un format particulier autre que le format par défaut "html formatté". ça lui évitera de devoir à chaque fois sélectionner le bon format avant de valider son contenu.
Wysiwyg filter ajoute un nouveau format d'entrée qui pourra être paramétrer pour décider des balises autorisées ainsi que de leurs attributs. On pourra par exemple autoriser les balises a, h1, h2, img, ainsi que les attributs src et alt d'une balise image, mais pas l'attribut style
Enfin, better formats permet d'attribuer par défaut un format d'entrée particulier à un rôle particulier.
Gestion d'images
Les modules file field et image field permettent, en association avec cck, d'intégrer des images à nos contenus. Le tout lié au module imagecache va donner à l'utilisateur la possibilité de générer différents formats d'image (redimensionnement, crop) utilisables dans le site. Exemple : un type de contenu XYZ autorise l'utilisateur à y lier une ou plusieurs images. Imagecache sera configuré pour générer 3 formats d'images différents : 50x50, 100x100 et 300x300. Les images en 50x50 seront utilisées dans les blocks, les images en 100x100 seront utilisées dans les accroches (teasers) et les images en 300x300 seront utilisés lors de l'affichage complet du contenu (body).
On ajoute à ceci le module lightbox 2 et nous voici avec un système de galerie d'images configurable à souhait.
Cette liste est non-exhaustive, comme indiquée au départ. Il existe tellement de modules qu'il serait impossible de tous les tester. J'utilise beaucoup d'autres modules au cas-par-cas, selon les besoins du site, mais ceux que j'ai cités dans ce billet sont mes indispensables, ceux que j'intègre à chaque fois.
Et vous, quels sont vos indispensables ?