Directive

Définition, exemples et bonnes pratiques

À retenir

  • Elle agit avant ou pendant la phase de préparation (pré-traitement).
  • Elle ne fait pas partie de la logique métier principale du programme.
  • Elle sert souvent à adapter le logiciel à son environnement (système d'exploitation, options de sécurité).

Une directive est une consigne spéciale adressée à un outil logiciel (comme un préprocesseur ou un serveur) pour lui indiquer comment traiter le code ou les données avant l'exécution réelle. On peut l'imaginer comme une note de service attachée à un dossier, qui donne des instructions de préparation avant que le travail principal ne commence.

Étymologie

Issu du latin dirigere (diriger, ranger). En informatique, le terme s'est popularisé avec les premiers langages de programmation système comme le C, où il fallait distinguer les instructions destinées à la machine de celles destinées à l'outil de compilation.

Exemples d'usage

  • #include en langage C : demande d'insérer le contenu d'un autre fichier.
  • #define : permet de remplacer un mot par une valeur partout dans le code.
  • AllowOverride dans un fichier de configuration Apache : définit les droits d'accès d'un dossier web.
  • ngIf en Angular : une directive qui affiche ou cache un élément visuel selon une condition.

Cas d'usage

On les utilise principalement pour la compilation (préparation du code source), la configuration de serveurs (définir le comportement d'un site web) ou dans des frameworks modernes pour ajouter des comportements spécifiques à des éléments de l'interface utilisateur.

Bonnes pratiques

Il est recommandé de ne pas abuser des directives de préprocesseur complexes qui rendent le code difficile à déboguer. Dans les fichiers de configuration, il faut toujours documenter pourquoi une directive a été modifiée pour éviter des failles de sécurité ou des erreurs de performance.

Synonymes

instruction de préprocesseur pragma consigne de configuration

Antonymes

instruction système donnée brute

Conseil

Si vous débutez en programmation (C/C++), voyez les directives comme un moyen de 'configurer' votre code source. Si vous faites du développement web, voyez-les comme des super-pouvoirs que vous ajoutez à vos balises HTML.

Questions fréquentes

Quelle est la différence entre une directive et une fonction ?

Une fonction est exécutée par le programme quand il tourne, alors qu'une directive est généralement lue et appliquée avant même que le programme ne soit lancé.

Pourquoi commencent-elles souvent par un symbole comme '#' ?

C'est une convention qui permet à l'outil de lecture de les repérer instantanément sans les confondre avec le reste du code source.