Mes nouvelles activités ne me laissent que peu de temps pour mettre à jour ce blog. En attendant une éventuelle reprise de mes divagations éditoriales, vous pouvez toujours parcourir les anciens articles. A+ et bonne lecture!

Mieux comprendre le système de taxonomie de Drupal

Rubrique:

Drupal, sa taxonomie et ses utilisateurs... Toute une histoire !

La taxonomie arrive dans le peloton de tête des concepts abstraits qui rebutent les nouveaux venus... C'est une cause de découragement, de perte de temps, sans compter ceux qui, par manque de compréhension, le trouve "ridicule" et passent à Wordpress ! Et pourtant, croyez-moi, la taxonomie est une des forces de Drupal.

Tout d'abord, qu'est-ce que la taxonomie et à quoi cela sert ?

Le manuel du webmestre débutant le présente ainsi (j'adore me citer!) :
La taxonomie est le concept qui permet la structuration des différents éléments de contenu d’un site Drupal.

Bref cela permet de ranger le contenu de votre site afin de permettre à vos visiteurs de trouver rapidement l'information qu'ils souhaitent. Vital n'est-ce pas ? Critique même, et pourtant cette réflexion est souvent baclée. Il faut savoir que, depuis longtemps (au moins depuis que l'écriture existe) la classification des informations est une science à part entière. Ainsi, il existe de nombreux concepts différent de classification.

Aujourd'hui, pour les contenus d'un site internet les plus connus sont les catégories et les tags.

En général :

  • Les catégories permettent de regrouper les contenus dans un nombre limité de classes prédéterminées par le gestionnaire du site
  • Les tags permettent des regrouper les contenus dans des classes souvent plus nombreuses et proposées par les auteurs du contenu

Bon, alors pourquoi Drupal ne propose-t-il pas seulement des catégories et des tags comme Wordpress ? Tout simplement parce que ce double système, s'il est pertinent pour 90% des blogs n'est pas forcément adapté à la structure d'information de sites plus complexes.

Drupal vous offre la liberté de :

  • Créer autant de système de classification indépendants que vous le souhaitez.
  • Définir le comportement de chaque système : hiérarchisés ou à plat, termes libres ou figés...

Prenons l'exemple d'un site culinaire.

Ce site de cuisine contient de contenus de type "recette" et des contenus de type "Astuce". Comme les recettes sont soumises par les membres il est pertinent de les classer par thème en utilisant un système de tags. En même temps, ces recettes peuvent être catégorisées par type de plat "Entrée", "plat" ou "dessert". Des catégories en nombre limitées donc. Par contre, les astuces sont rentrées par des experts culinaires, il est pertinent de leur demander de respecter une catégorie mère mais de rentrer la sous-catégorie qu'ils souhaitent.

Avec Drupal vous allez créer trois "vocabulaires" (= trois systèmes de classification indépendants)

  • Le vocabulaire "Thèmes de la recette" : avec des termes libres illimités (italie, allègé, frais, économique...)
  • Le vocabulaire "Type de plat" : avec des termes pré-définis limités ("Entrée", "plat" ou "dessert")
  • Le vocabulaire "Type d'astuce" : avec un premier niveau prédéfini ("Technique", "Diététique"...) et des sous termes illimités ("Technique >> Hacher" ou "Diététique >> Vapeur")

Et voilà, en paramétrant chacun des vocabulaires vous pouvez mettre en œuvre votre système de classification. C'est du sur mesure. Cela vous permet ensuite d'avoir un nuage de tags dédié au recettes, un menu de navigation par "Type de plat" et, par exemple, une navigation à deux niveaux pour les astuces...

Avec Wordpress vous allez devoir vous débrouiller avec seulement 2 systèmes de classification indépendants les tags et les catégories : c'est plus simple mais il va falloir faire des concessions. Soit vous réservez les tags pour l'un des deux contenus, soit vous utilisez le même système de tags pour les deux. Mais ce n'est pas ce que le client voulais au départ...

En conclusion, le système de taxonomie de Drupal permet de mettre en œuvre plusieurs type de concepts de classement. Chaque vocabulaire définit un système de classement et comme le nombre de vocabulaire est illimité vous pouvez mettre en œuvre autant de systèmes de classement que nécessaire. Puissant et flexible... Une fois que l'on a compris son fonctionnement ;-)

Cette article vous a-t-il éclairé ? Si c'est toujours aussi obscure dites le moi je tenterai de l'améliorer...

Commentaires

  1. je pense avoir compris ^^

    je pense avoir compris ^^ Merci.

    A ta place, je mettrai en gras le text des bullets après "Drupal vous offre la liberté de"

    et l'exemple d'un site réel avec une structuration complexe mais adaptée serait pas mal :)

  2. Bonnes idées. Merci du

    Bonnes idées. Merci du feedback. Il faudrait effectivement que j'améliore l'exemple, si possible avec un site connu. Quelqu'un à de bonnes idées ?

  3. Où trouver des exemples de sites évolués ?

    Merci à l'auteur pour cet article.
    Un ptit up pour des exemples de réalisations avancées avec la taxonomie de Drupal : ce serait sympa !!

  4. bon j'avais un peu laissé ça

    bon j'avais un peu laissé ça de côté n'ayant pas compris le concept mais avec tes explications ça me semble intéressant, va falloir que je m'y plonge et voir si ça peut apporter quelque chose à mon projet de site sous drigg.

  5. PathAuto & Taxo

    Hello à tous !

    Je suis tj en pleine découverte de la coquille Drupal qui m'a été fournie pr un Intranet.

    Je suis parvenue à créer une taxonomie et aimerais maintenant m'en servir pr générer les URL des pages.

    Dans pathauto j'ai donc indiqué le "Modèle de chemin pour tout ce qui est Page" :

    [vocab-raw]/[catpath-raw]/[title-raw]

    Ensuite, j'ai testé en créant une page avec l'option "automatic alias".

    Problème : sur l'URL figure bien le vocab, le titre mais la catégorie [catpath-raw] ne semble pas fonctionner.

    Au lieu de m'indiquer en toute lettre le nom de la catégorie, il affiche cela (entre les slashs) dans la barre d'adresse : %5Bcatpath-raw%5D

    Si quelqu'un peut m'éclairer.... Un grand merci d'avance !

  6. Désolé, a vu de nez je ne

    Désolé, a vu de nez je ne vois pas. Tu as essayé sur le forum de Drupalfr.org ?

  7. PathAuto & Taxo : solution

    C'est bon j'ai trouvé :

    en fait il fallait mettre [term-raw] au lieu de [catpath-raw].

    La réponse se trouvait dans le listing de l'onglet Paramètres Généraux, lorsqu'on va dans PathAuto...

    En espérant que cela puisse servir à d'autres !

    Bisous

  8. TAXO & BLOCS

    Hello ! Encore moi... mais avec un autre problème cette fois-ci ! ihi !

    J'aimerais faire apparaître sur des pages, 1 bloc avec les derniers articles thématiques (= càd qu'on a taggé préalablement l'article avec le terme de taxonomie correspondant).

    Avec le module views, j'ai tenté, mais c'est long et laborieux de créer un bloc par page (à moins que j'aie mal fait ?)

    En fait, j'aurais préféré rédiger un seul bloc en PHP qui "fasse le boulot" automatiquement pour chaque page.

    Ex : dans ma rubrique "Développement Durable", j'aimerais voir apparaître dans une liste tous les articles taggés "développement durable", dans un bloc sur la page. Et ce pour chaque rubrique !

    Voilou, je connais pas grand chose au PHP, mais je remercie d'avance les bonnes âmes qui voudront bien me faire avancer... :)

    Bisous

  9. Par ou commencer ?

    Bonjour et merci pour ce tutoriel,

    J'aimerai avoir ton avis car je débute depuis avec Drupal. Je vais reprendre un exemple de site qui m'intéresse et essayer de le transposer par rapport au tien : il s'agit d'un "annuaire" ou on pourra le contenu d'une page et choisir un affichage par ville, cp, région, secteur. Si j'ai bien compris, je peux commencer à définir un vocabulaire par filtre d'affichage (cad vocabulaire ville, cp, region et secteur) et ainsi associé chaque article à un ou plusieurs tag ???

    Dans ce cas, est-ce que c'est une solution envisageable, ou le mieux est de développer un module et associer le tout à une base de données ?

    Par ou commençer ?

    Merci beaucoup pour cet article, j'ai netvibé ton site !!!

  10. certains blocs sur certaines pages

    Bonjour,

    Sur ma page d'accueil s'affichent des actus.

    Je souhaiterais désormais que ces actus viennent également alimenter des rubriques spécifiques du site, en fonction du thème dont il est question.

    Grâce au module Views et à la Taxonomie, j'ai réussi à créer une taxonomie :

    Vocabulaire : Thème
    Terme : Développement Responsable, Formations, Recrutement etc.

    et j'ai aussi crée un bloc qui m'affiche les articles d'un thème bien précis.

    Ce que j'aimerais maintenant, c'est que le site vienne lister dans un bloc les articles taggés avec le terme "Developpement Responsable", sur la PAGE taggée "Développement Responsable". Autrement dit, que tous les articles "Développement Responsable" alimentent la rubrique du même nom, et ainsi de suite pour les autres articles.

    Est-ce que quelqu'un pourrait m'aider à paramétrer la Vue et le Bloc ? (Le problème étant que je n'ai pas le temps d'apprendre le PHP).

    A mon avis cela pourrait ressembler à cela (pour les paramètres du bloc) mais il mais il manque le code pour la taxo (MERCI d'AVANCE pour votre aide):

    <?php
    $result = db_query_range("SELECT nid FROM {node}
    WHERE status = 1 AND type = 'story' AND nid != %d
    ORDER BY created DESC", arg(1), 0, 3);
    ?>

    <?php
    if (db_num_rows($result) > 0):
    ?>

    <?php
    while ($nid = db_fetch_object($result)):
    ?>

    <?php
    $node = node_load($nid);
    ?>

    <?php
    print format_date($node->changed, 'custom', 'd/m/Y')
    ?>

    <?php
    print l($node->title, "node/$node->nid")
    ?>

    <?php
    endwhile;
    ?>

    <?php
    endif
    ?>

    Paramètre de visibilité spécifique à la page :

    <?php
    if (arg(0) == 'node' && is_numeric(arg(1)) && !arg(2)) {
    $type = db_result(db_query("SELECT type FROM {node} WHERE nid = %d", arg(1)));
    if ($type == 'story') {
    return TRUE;
    }
    }
    return FALSE;
    ?>

  11. Bon résumé

    Bonjour Alexandre,

    Cet article ne m'a pas éclairé… parce que j’avais déjà compris :) Mais je pense qu’il aidera les débutants. Personnellement, voici comme je parle de Drupal.

    Drupal et très puissant, mais ne sait pas le dire en termes simple. Du coup, on pense que c'est une usine à gaz. Pourtant il y a un sens derrière les termes abscons de Drupal.

    Pour comprendre la philosophie de Drupal, il faut comprendre qu’il utilise des termes très abstraits, afin d’être le plus générique possible. Quand vous avez compris ça, vous avez compris une grande partie du fonctionnement de Drupal.

    Explication par l'exemple :
    - un volant, un guidon, un joystick… Ce sont tous des outils pour dire où on va (en jargon : périphérique d'entrée pour la direction).
    - une page statique, un article de blog, un livre, un « topic » de forum… Ce sont tous des moyens d'écrire une note — chacun avec sa spécificité mais, au final, ça reste une note. Plutôt que « moyens d’écrire une note », Drupal utilise le terme générique nœud (node en anglais).
    - un commentaire de blog, un « post » de forum… Ce sont tous des moyens de réagir à une note (à un nœud) — chacun avec sa spécificité mais, au final, ça reste une réaction. Plutôt que « moyens de réagir à une note », Drupal utilise le terme commentaire - ’ttention, je ne suis pas sûr de moi sur ce point.
    - une collection de tags, une catégorisation, un fil d’Ariane… Ce sont tous des moyens d’organiser des notes (des nœuds) — chacun avec sa spécificité mais, au final, ça reste une classification. Plutôt que « moyens d’organiser des notes », Drupal utilise le terme taxinomie (taxonomy en anglais — en français, le calque taxonomie est considéré par les lexicographes comme incorrect). Et chacun des éléments de ces ensembles est appelé un vocabulaire.

  12. Tres bonne article merci.

    Tres bonne article merci. est-ce que la Toxonomie est le bonne outil pour rattacher ses menus?

    Je créé un menu recette,
    je créé toutes mes recettes de cuisine (merci CCK)
    je tags mes recettes "recette"
    je n'ai plus qu'a rattacher le mot recette au menu recette.

  13. 1 je créé toutes mes recettes

    1 je créé toutes mes recettes de cuisine (merci CCK)
    2 je tags mes recettes "recette"
    3 Je créé un menu recette qui lie vers l'url du terme recette.

  14. taxonomie

    C'est la meilleure explication sur la taxonomie que j'ai lue depuis mon debut avec drupal (il ya 3 mois). Grand merci

  15. Simple et bien expliquer

    C'est tellement bien expliquer que ça donne envie de se mettre plus à Drupal..

  16. Drupal vs Wordpress

    Je ne suis pas un fervent défenseur de Wordpress mais il faut savoir que Wordpress ne propose pas seulement des catégories et des tags.

    On peut également créer autant de taxonomies qu'on le souhaite. C'est très bien expliqué ici avec un exemple concret ici et l'application pratique ici .

    Bien sûr c'est assez rustique comparé au système de taxo de Drupal et aux module Views qui permet toutes les fantaisies sans écrire une ligne de code.

    Pour avoir testé les 2 il est d'ailleurs assez frappant de constater que dès que l'on souhaite sortir un peu des sentiers battus avec Wordpress il faut écrire du php, même si cela reste assez simple. Drupal permet d'aller assez loin seulement en ajoutant des modules et en remplissant des formulaires. A part pour créer un blog pur et dur un outil comme Drupal est finalement plus simple à mettre œuvre une fois que l'on a passé la phase d'apprentissage.

    Par ailleurs la personnalisation dans Wordpress passe souvent par des modifications dans les fichiers du thème, pour ajouter des taxonomies par exemple. Donc un changement de thème est probablement plus laborieux que dans Drupal.

  17. Merci pour cette info. Je ne

    Merci pour cette info. Je ne connaissais pas cette technique qui permet effectivement de créer de nouvelles catégories assez simplement... Enfin si l'on a pas peur d'écrire quelques lignes de codes...

    Effectivement, wordpress ou n'importe quel CMS, une fois que tu maitrises son API, tu peux lui faire faire à peu près n'importe quoi... Mais après tu perds une bonne partie de la productivité que tu es sensée gagner avec un CMS.

  18. Pour en finir avec WP vs Drupal

    Encore une autre astuce pour faire un semblant de CCK avec Wordpress:

    En installant le plugin "Morefields" on peut créer des groupes de champs et les associer à des types d'articles particuliers comme comme dans CCK. Ensuite en associant les types d'articles à des taxonomies spécifiques on arrive à faire un semblant de Drupal+CCK+Contemplate qui peut déjà répondre à pas mal de besoins.

    Evidemment c'est plus artisanal, moins puissant et moins bordé mais les pages se chargent plus vite (si on tourne sans cache, sinon c'est quasi égal).

    En résumé avec WP on doit se gratter la tête pour parvenir à ses fins en rusant avec des outils basiques, avec Drupal on doit se gratter la tête pour apprendre à utiliser des outils sophistiqués mais qui peuvent tout faire et plus proprement.

    Promis, c'est ma dernière intervention au sujet de WP un peu hors sujet.

  19. Oui, il y quelques

    Oui, il y quelques initiatives pour créer un cck like pour wordpress, avec entre autre, des plugins comme pods ou flutter.

  20. Commentaires dans la taxonomie

    Est-il possible d'ajouter des commentaires aux noeuds apparaissant dans une page de taxonomie (taxonomy term page) ?

    Merci d'avance.

 

Guided search

Abonnez-vous au flux RSS de Inéation

Twitter

Commentaires récents