Bonnes pratiques avec Drupal

Mieux vaut-il utiliser le rendu du noeud dans une vue ou plutôt des champs? Quels alias choisir? Retour d'expérience après deux ans d'utilisation.

Ce billet sera revu au fil des nouvelles recommandations.

Modules

Ne pas activer trop de modules

Activer un module que vous n'utilisez pas et ne configurez pas pour être utile va allourdir les traitements (invocation des hooks, surcharge des menus, etc) et donc pénalisera l'exécution en temps et en consommation mémoire.

Par exemple, activez Context sans définir un seul contexte aura un effet à chaque chargement de page puisque certaines fonctions du module seront invoquées, des tests seront exécutés, etc.

Une autre raison est le dépassement potentiel du timeout si vous activez trop de modules et que vous demandez une vérification des mises à jour.

Ne pas installer trop de modules

Si vous installer beaucoup de modules, cela aura un effet sur la page de gestion des modules qui sera non seulement très confuses mais également très lourde à charger, voire même impossible à charger...

Privilégier les modules proches du Core

C'est pratiquement l'idée première qui sous-tend Drupal : réutiliser des petits morceaux et collaborer plutôt que redévelopper une usine à gaz. Pour faciliter la maintenance, les mises à jour et renforcer la pérennité de vos fonctionnalités, optez donc plutôt pour un module qui va apporter de la valeur ajoutée en se basant sur l'existant à un module qui va recréer de toutes pièces ce dont il a besoin.

Par exemple, on choisira plutôt Calendar qu'Event pour gérer les agendas.

Types de contenu

Taxonomie ou champ CCK?

Vous pouvez être confronté à ce choix lorsque vous souhaitez étiqueté un contenu. Choisir l'une ou l'autre option dépend surtout du fait que vous utiliserez ou non la navigation par les étiquettes.

Si oui, optez pour la taxonomie.

Si non, choisissez plutôt un champ CCK qui justement n'affichera pas l'étiquette et vous permettra de gérer les affichages via un ensemble de champs que vous testerez ensuite dans vos templates.

Partager les champs

Bonne idée! Cela évite d'avoir à configurer X fois un champ et permet de définir des vues communes à plusieurs types de contenu plus facilement.

Cela dit, il faut bien avoir en tête qu'il s'agit d'un partage et non d'un clonage lorsque vous utilisez un même champ dans deux types de contenu : une action sur le champ dans un type de contenu aura aussi un effet pour les autres types de contenu.

L'affichage d'un même champ peut lui être différent d'un type de contenu à un autre.

Ne partagez que les champs qui ont vraiment les mêmes caractéristiques d'un type de contenu à un autre, et alors préfixez les noms par shared_ pour vous y retrouver. Inutile de partager un champ puissance entre un type de contenu moto et un type de contenu perceuse, car vous ne définirez pas la puissance de la même façon dans les deux cas, par contre partager la puissance entre une perceuse et une scie électrique a déjà plus de sens.

Vues

Regrouper les affichages

L'idée de regrouper les affichages est d'éviter de tout redéfinir pour chaque affichage. Il faut donc grouper nom pas par destination (bloc, page, etc) mais plutôt soit en groupant les affichages qui partagent les mêmes filtres ou les mêmes rendus (champ+disposition) de façon à avoir le moins d'éléments à changer et à profiter au maximum de l'affichage par défaut.

Thème

Customiser les vues

Vos réactions

Poster un nouveau commentaire

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Images can be added to this post.
  • Internal paths in double quotes, written as "internal:node/99", for example, are replaced with the appropriate absolute URL or relative path.

Plus d'informations sur les options de formatage

CAPTCHA
Cette question sert à tester si vous êtes un visiteur humain plutôt qu'une soumission automatique de spam.
Image CAPTCHA
Enter the characters shown in the image.

A lire aussi...

Ils ont choisi Drupal...

[title]

Drupal est de plus en plus utilisé par les grosses entreprises... alors, pourquoi pas vous?

Gestionnaire de Contenu

Votre portail web, administrable, nombreux modules : forums, galeries, multimédias, GED...

Drupal, toujours au top!

2007, 2008 et maintenant 2009, Drupal est encore classé meilleur CMS Open Source...

Sur FaceBook...

Accès Directs

Soyez informés