2. Ecrire le fichier .info

Un petit rappel

Le rôle du fichier .info est de fournir à Drupal les informations lui permettant d'installer un module. Le nom de ce fichier doit être le nom machine de ce module.

Un fichier .info doit être écrit dans un format similaire à celui utilisé dans les fichiers de configuration INI. Donc, il est constitué de lignes d'information dont chacune se compose d'un nom de variable suivit d'un signe égal et d'une valeur :

varname = value

Par convention, il est conseillé d'insérer un espace de chaque côté du signe égal.

Lorsqu'une variable peut avoir plusieurs valeurs, son nom sera déclaré de la même manière qu'une variable de type array :

varname[] = value1
varname[] = value2

Si vous souhaitez commenter une ligne — et donc la désactiver —, il suffit d'insérer un point virgule (";") au début de la ligne :

varname1 = value1
; ligne de commentaire
varname2[] = value2
varname2[] = value3

Écrire le fichier hello_world.info

Ces quelques notions de base étant rappellées, revenons à notre module Hello world et écrivons le contenu du fichier hello_world.info :

name = Hello world
description = My first module for Drupal 7.
package = Drupal 7 Development
version = 7.x-0.x-dev
core = 7.x
files[] = hello_world.module

Les deux premières lignes de ce fichier .info sont requises (i.e., sont obligatoires) par Drupal.

La première ligne permet d'attribuer un nom humain au module que nous créons. Etant donné que notre module s'appelle Hello world, c'est ce nom que nous devons attribuer à la variable name.

La deuxième ligne permet d'ajouter une courte description du module. Cette description s'affichera dans la page de votre site permettant d'administrer les modules.

Cette description permet d'expliquer en quelques mots la fonction du module. Ces informations sont disponibles à la page d'administration consacrée à l'activation des modules.

Cette capture d'écran vous montre les valeurs des variables name et description telles qu'elles s'affichent dans la page d'administration Modules.

La troisième variable package n'est pas requise par Drupal. Cependant, elle peut être utile, parce qu'elle permet de classer un module dans une famille ou un groupe de modules. Ainsi, par exemple, les modules faisant partie du cœur de Drupal sont regroupés dans le package Core (Cœur). Quant au module Hello world, j'ai décidé de le ranger dans le groupe des modules intitulé Drupal 7 Development.

Si vous omettez la variable package dans le fichier .info, le module sera automatiquement rangé dans le groupe Other (Autre).

Ajoutons que c'est la déclaration du package Drupal 7 Development dans le fichier .info qui crée le groupe éponyme. De même, le groupe Other sera créé automatiquement.

La variable version n'est pas requise non plus. Toutefois, elle permet d'identifier la version du module. Cela peut être utile !

La variable core n'est pas davantage requise, mais elle spécifie la version de Drupal pour laquelle ce module a été développé.

Enfin, la directive files[] permet de spécifier le nom du fichier ou des fichiers contenant les fonctions PHP, les classes, ou les interfaces. Cette directive est requise si vous souhaitez que Drupal intègre ces fichiers. Dans le cas du module Hello world, le fichier contenant le code PHP s'intitule hello_world.module.

 

Maintenant que nous avons construit notre fichier .info, nous pouvons activé le module Hello world dans la page d'administration des modules :

Dans cette capture d'écran de la page d'administration des modules, nous retrouvons le module Hello world dans le groupe DRUPAL 7 DEVELOPMENT tel que nous l'avons spéficié dans le fichier hello_world.info. Pour ajouter le module à Drupal, il vous suffit de cocher la case Activé du module Hello world et, ensuite, de cliquer sur le bouton Enregistrer la configuration. Bien entendu, comme le fichier hello_world.module est encore vide, notre module ne fera strictement rien !