Les modules indispensables / essentiels





Soyons encore clair, un site "générique" et de base installé sous Drupal est très propre et peut être utilisable dans le cadre d'une formation "Drupal administrateur" pour comprendre les principes de l'outil.

Certes... mais cela ne fait pas un site utile et utilisable, en clair un site complétement opérationnel que je puis montrer et en être fier...

Qu'est ce qu'un module Drupal ?

Un module Drupal résulte d'un développement réalisé par une personne (ou un groupe de personnes) de façon à rajouter des fonctionnalités à un site web sous Drupal.
Ce développement est proposé en téléchargement pour la "communauté" dans le cadre d'une utilisation en "Open source".

Certes mais il faut bien être conscient que dans la notion de modules Drupal il y a - comme on dit - "à boire et à manger" et donc voir "mes conseils" plus bas.

Chercher des modules sur drupal.org

www.drupal.org/ et voir en haut à droite la partie recherche pour trouver des modules.

Les conseils de Tonton BP

Dans la quête DU module qui va résoudre MA problématique il faut toujours avoir en tête les éléments qui suivent :

  • La qualité du code d'un module n'est pas garantie
  • Le module peut éventuellement ne plus être maintenu en développement
  • Le module ne dispose pas forcément d'une traduction en français
  • La documentation du module peut être inexistante voire absente
  • Le module peut être une "usine à gaz" et nécessite ainsi x autres modules, y "libraries", z javascript

À vérifier

  • Le module est-il toujours maintenu (actively maintened) ?
  • De quand date la dernière mise à jour ?
  • Dans le forum associé, de quand date la dernière contribution ?
  • Existe-t-il une documentation, des tutoriaux (texte ou vidéo) ?

Je désire tester un module

Surtout ne jamais tester un nouveau module sur son site web actuel (en local, en pré-production ou a fortiori de production).
Installer un nouveau site web en local Drupal avec le thème "Bartik" générique (il y en a pour 5 minutes) afin de tester le module.

Pourquoi ?

Parce qu'il est fort probable (on va dire dans la moitié des situations) que le module :

  • Ne va pas donner satisfaction ou est "hors contexte"
  • Est trop compliqué à utiliser
  • Est buggé et entraine des erreurs incompréhensibles
  • ...

Dans ce cas, le module est abandonné, désactivé et jeté. Sauf que rien n'affirme que le module n'a pas créé des tables dans la base de données.
Conséquence : des tables - devenues inutiles - vont "trainer" dans la base de données.

Sur un site de test différent, il n'y a pas de souci. "Le module ne donne pas satisfaction ? pas de problème, il est jeté, le site est supprimé et on passe à autre chose... car on n'a rien abimé sur le site web principal"

Personnellement

Commentaire de Tonton BP qui pense "formation" et qui devra expliquer par la suite e fonctionnement d'un module + documentation à l'attention des stagiaires.
Lors du test d'un module, je pense avoir installé le module correctement en ayant suivi la documentation, les tutoriaux (texte ou vidéo). Je pense l'avoir configuré correctement.

Au bout - disons - d'une demi-journée si je n'arrive pas à le faire fonctionner correctement ou bien si j'obtiens des erreurs => module = poubelle...

Les différents types de modules

Pour fixer les idées, les modules Drupal sont de différents types.

Les modules du coeur de Drupal

Ces derniers font partie de l'installation "de base et générique" de Drupal.
Voir : Barre d'administration / Modules / Coeur (Core)

Certains sont activés par défaut et d'autres non.

5 modules du coeur de Drupal à "garder en tête" (entre autres)

Ces modules seront à activer ou désactiver au besoin

  • Book pour gérer le type de contenu "page de livre" (non activé par défaut)
  • Comment pour proposer à l'internauite de "réagir" à un contenu (activé par défaut)
  • Contact pour mettre en place un formulaire de contact dans le site (non activé par défaut)
  • Overlay pour proposer au webmaster (dans la partie privée du site) les configurations sous forme d'un calque (activé par défaut mais pénible...)
  • Poll pour gérer des sondages (un autre type de contenu) (non activé par défaut)

Les modules destinés au webmaster

Ces modules ne sont pas destinés à l'internaute mais au webmaster du site de façon à lui "simplifier la vie" dans l'utilisation de la partie privée du site.

Exemples

  • Admin_menu (placer la partie privée du site utilisant des menus déroulants)
  • Taxonomy manager (pour gérer des termes de taxonomie en masse)
  • Form_save
  • Devel, Devel_themer, Dhtml_menu (modules de développeur)
  • CKEditor, IMCE, Insert (éditeur riche, et insertion d'images et de fichiers dans le contenu)
  • Colorbox (effet de diaporama)
  • imce_mkdir
  • pathologic (pour gérer les liens lors du passage en production)
  • linkchecker (pour tester les liens dit morts dans le site)
  • l10n_update (pour chercher les mises à jour des traductions en français)
  • ...

Les modules qui rajoutent des fonctionnalités au site web

Ces modules proposent de nouvelle activités / fonctionnalités au site web

Exemples

  • Views (proposer à l'internaute des affichages personnalisés de contenus)
  • Webform (gérer des formulaires personnalisés)
  • Taxonomy_menu (pour simuler une "pseudo hiérarchie de contenu")
  • Superfish (système de menus déroulants dans le site)
  • tb_megamenu (système de mega-menus déroulants dans le site)
  • ...

Les modules "de service" pour le webmaster et/ou l'organisation

Ces modules ne sont pas destinés à l'internaute mais au webmaster du site de façon à proposer de nouvelles activités "internes" au site web pour lui ou pour l'organisation.

Exemples

  • Backup and Migrate (sauvegarde de la base de données)
  • Google Analytics (statistiques du site)
  • Pathauto + translitération (gestion des URL dites réécrites ou URL dites propres)
  • ...
  • Les modules "de service" qui sont nécessaires au fonctionnement d'autres modules

Certains modules nécessitent des modules complémentaires pour "fonctionner". Ces derniers modules sont des modules de configuration, d'API etc.

Exemples

  • CTools
  • Token
  • ...

Quels sont les modules indispensables / essentiels ?

Je me répète mais Drupal sans aucun module = point de salut...

Les modules indispensables

Si je ne les ai pas, mon site ne sera pas vraiment opérationnel et/ou je risque - en tant que webmaster - de "perdre du temps" dans la partie privée de mon site.

Voici la liste des 14 modules indispensables pour avoir un site utile et utilisable. Un site sous Drupal digne de ce nom doit contenir au moins ces 14 modules.

  • admin_menu
  • backup_migrate
  • ckeditor
  • ckeditor_link
  • colorbox
  • google_analytics
  • imce
  • insert
  • l10n_update
  • pathauto
  • pathologic
  • taxonomy_menu
  • token
  • transliteration

Les modules qui peuvent se révéler très utiles

Pour les activités du webmaster afin de proposer (par exemple) de nouveaux champs aux types de contenus

  • email (rajouter un champ email dans un type de contenu)
  • form_save (CTRL S pour sauvegarder un nouveau contenu)
  • imce_mkdir (rajouter des dossiers dans le dossier des fichiers)
  • link (rajouter un champ fichier dans un type de contenu)
  • video_filter (un filtre pour lire les vidéos de Daily Motion ou YouTube)

Les modules essentiels pour rajouter des fonctionnalités au site

Ces modules permettent de rajouter des fonctionnalités au site à destination de l'internaute

Exemples

  • Views
  • Webform
  • ...

Pour terminer

Et c'est important car il y a deux sortes de module :

  • Ceux qui "touchent" la base de données en créant de nouvelles tables
  • Ceux qui ne créent pas de tables dans la base de données

Les conseils de Tonton BP

  • Avant d'installer un module, faire toujours une sauvegarde de la base de données AVANT
  • Garder une trace (un suivi de production sur Word par exemple) de ce qui est fait sur le site. Ce que j'ai fait, pourquoi, et comment je l'ai fait et quel est le résultat.
  • Pour un module vérifier s'il "touche" la base de données ou pas (utiliser PhpMyAdmin)
  • Si un site en local utilise la version 7.x de Drupal, faire toujours (en production) une restauration sur une version 7.x de Drupal
  • Garder la version Drupal d'installation du site en local au cas où il faudrait tout recommencer
  • Tester, tester et tester...
Des conseils: