La taxonomie est votre meilleure amie !
La taxonomie est une des fonctionnalités qui font la force de Drupal. Prévue pour catégoriser le contenu, elle peut permettre de gérer qui a accès à quel(s) noeud(s), avec Taxonomy Access Control ou TacLite, ou même d'assigner un thème différent à chaque noeud avec Taxonomy Theme [non testé]. Certains modules s'appuient sur elle pour des fonctionnalités très précises, comme Glossary qui permet de maintenir un glossaire des termes techniques apparaissant dans les noeuds.
Petit tour d'horizon de quelques modules bien pratiques (qui a dit "indispensables" ?).
Facilitez-vous l'administration !
La gestion de l'administration de la taxonomie n'est pas toujours très facile dans la version de base de Drupal. Le module Taxonomy Manager n'apporte rien de plus [excepté un import/export XML, non testé], mais rassemble sur un même écran toutes les opérations possibles sur les vocabulaires ou les termes qui les constituent. Finis les multiples chargements de pages pour aller modifier un terme !
(Pour l'import/export, puisqu'on en parle, il existe différents modules qui développent différentes approches : format XML ou format CSV, export dans un format Drupal en vue d'un import dans un autre site, etc. Je ne les ai pas testés).
Dans un autre genre, le Multi Editor permet quant à lui de modifier les termes assignés à vos contenus depuis l'administration desdits contenus. Views Bulk Operations est une solution plus puissante, mais il faut construire soi-même sa vue ; celle-ci peut donc être personnalisée. Il sera utile si vous souhaitez que des utilisateurs puissent agir sur (certains / tous les) noeuds sans leur donner l'administration de l'ensemble du contenu, et enfin il peut être utilisé pour d'autres types d'opérations.
Enfin pour donner à d'autres utilisateurs la gestion d'un vocabulaire (mais pas de la taxonomie dans son ensemble), Taxonomy Delegate sera précieux.
Contrôlez l'affichage de vos termes
Il arrive très souvent que l'on doive créer des vocabulaires "techniques", par exemple dans le cas du contrôle d'accès. Dans ce cas on n'a pas forcément besoin que les termes en question apparaissent aux utilisateurs qui n'en ont pas l'utilité.
Taxonomy Hide permet de cacher tous les termes d'un vocabulaire. Assez intéressant aussi (et le doublonnant en partie), j'ai repéré Term Display qui propose de cacher, ou encore de modifier l'affichage des termes d'un vocabulaire : sous la forme d'une liste à puce, ou d'une liste séparée par des virgules (le vocabulaire est donc "sorti" du flux normal de la page et n'est pas affiché avec les autres là où le thème les affiche). On peut aussi charger le vocabulaire dans le contenu du noeud, mais cette dernière option semblait buggée lors de mon test.
Enfin, le module Taxonomy Role (qui crée une permission Access Vocabulary X par vocabulaire) offre une option pour cacher un vocabulaire aux utilisateurs qui n'ont pas la permission d'agir dessus.
Naviguer avec la taxonomie
Catégoriser le contenu, c'est bien. Pouvoir afficher les catégories, et que-quand-on-clique-dessus-on-tombe-dedans [vous suivez ?], c'est mieux.
Nuages de tags
Il existe plusieurs solutions pour faire des nuages de tags, la plus simple est indubitablement Tagadelic : un bloc par vocabulaire, quelques paramètres basiques et hop. Cctags se présente comme un "tagadelic amélioré", mais ne parait pas fonctionner correctement. Si vous aimez les flashouilleries-effet-3D, allez voir Cumulus ou Taggly. Le dernier ne permet d'agir que sur un seul vocabulaire.
J'aime bien aussi Views Cloud, parce qu'il fournit un style plugin "nuage" à Views, donc à tous les objets exposables dans Views. Selon les cas, on affichera les objets de la vue eux-mêmes ou bien les arguments (en mode summary) sous forme de nuage. Je n'ai pas testé Views Tagadelic.
Une liste de termes dans un bloc
Pour afficher les termes en liste dans un bloc, ou les raccrocher au système de menu, il y a plusieurs solutions. Deux modules quasi-homonymes, Taxonomy Menu et Taxonomy Menus utilisent le module Menu. Celui qui prend un S est le plus basique (donc le plus simple à paramétrer), il crée un menu par vocabulaire, et il suffit d'aller chercher le bloc créé par Drupal. Taxo Menu est autrement plus complexe, et il permet de raccrocher un vocabulaire à un menu existant (par exemple les liens primaires). Il offre également la gestion du fil d'ariane et des alias d'url.
L'autre option est d'afficher la liste des termes dans un bloc. Visuellement un néophyte ne verra pas vraiment la différence avec les précédents mais structurellement, ça n'a rien à voir (aucun menu ni item de menu n'est créé par le module). Là encore deux modules homonymes se partagent vos faveurs. Taxonomy Block (sans S) crée un bloc (un seul, à ce jour) dans lequel on peut envoyer les termes d'un vocabulaire liés à leur page taxonomy/term. Quelques paramètres faciles (nombre maximal de termes, ordre,...), mais limité à un seul vocabulaire. Taxonomy Blocks (avec S) permet de créer un bloc par vocabulaire, mais les paramètres éventuels doivent être configurés "programmatiquement" (en PHP). Il annonce une intégration avec i18n [non testée]. Les deux affichent des listes HTML qui rendent visuellement l'arborescence du vocabulaire.
Enfin, dans un ensemble de petits modules extrêmement utiles, Views Hacks, on trouve un Views Taxonomy Summary. Si vous choisissez de recourrir à une vue de noeuds argumentés sur les termes de taxonomie, avec pour option, si l'argument n'est pas présent, d'afficher tous les termes (ce que Views appelle le summary), ce module vous propose de les afficher en arborescence plutôt qu'à plat. Si vous mettez ce summary dans un bloc, vous obtenez la même chose qu'avec Taxo Block - mais ce module vous permettra d'autres utilisations, sans compter que vous avez alors la main sur les termes affichés (donc la capacité d'en retirer un par exemple).
Au passage, dans le même pack (Views Hacks), ne manquez pas le Views Filter Reset dont on ne peut rapidement plus se passer.
Afficher toutes les catégories sur une page
Enfin, il peut être nécessaire d'afficher tous les termes et vocabulaires sur une même page pour permettre aux visiteurs de s'orienter par eux-mêmes. Vous pouvez parfaitement vous dépatouiller avec Views, ou utiliser Taxonomy VTN qui gère un "index du site" assez bien fichu, ou Taxonomy List qui est intégré avec Taxonomy Image dont l'idée est d'associer une image aux termes.
La même développeuse que Taxo List et Taxo Image propose également un Taxonomy Browser qui expose dans un formulaire les termes des différents vocabulaires avec des cases à cocher. C'est un moyen très pratique de donner à vos visiteurs la possibilité de croiser les catégories. Comme elle le dit, ce formulaire est une page "build your own category view".
Bonus : rediriger taxonomy/term/% vers une vue
Vous avez créé une vue à l'adresse www.exemple.com/monterme listant les noeuds correspondant à un terme donné, que vous avez mise en forme joliment. Avec un petit texte d'en-tête et quelques filtres exposés. Dans votre menu, le lien "monterme" pointe vers la vue. Mais, patatras, là où le terme apparait, généré par Drupal (dans les noeuds par exemple), le lien pointe vers la page taxonomy/term/32 qui n'est pas du tout mise en forme de la même façon - et pas d'en-tête, pas de filtres exposés. D'où confusion terrible pour les utilisateurs.
C'est le moment de faire connaissance avec Taxonomy Redirect.