Hook (informatique)

En informatique, les hooks crochet » ou « hameçon ») sont des portions de logiciels prévus pour être modifiées par l'utilisateur ou d'autres programmes à l’occasion de certaines actions du logiciel. Les hooks permettent d'ajouter des points d'entré pour déclencher des actions supplémentaires sur des étapes de l’exécution du logiciel. Ces hooks permettent de lier des actions externes à l'exécution d'un logiciel.

Concrètement, un hook peut se présenter sous la forme d'un fichier à un endroit particulier, souvent vide initialement écrit dans un langage de script. Le programme principal impose généralement les caractéristiques du hook : son type, sa localisation, son nom, et le moment auquel il sera exécuté.

L'un des types de hook le plus connu est le webhook qui permet l'appel d'une fonction de rappel par une application web.

Exemples

Exemples de hooks :

  • Dans TortoiseSVN, il existe plusieurs hooks permettant l'exécution de batch. Il existe notamment un hook pre-commit et un hook post-commit. Il faut copier les .bat dans le répertoire dédié de Tortoise. Ils seront alors automatiquement exécutés par Tortoise. Dans ce cas, la localisation, le nom et le type de fichier est imposé. Cependant, il est possible, depuis le batch, d'appeler d'autres programmes.
  • Dans UltraBackup, l'interface graphique permet de pointer sur des programmes qui seront lancés avant ou après la copie. Dans ce cas, l'utilisateur a une liberté totale sur le type de fichier à appeler, son nom et sa localisation.
  • Dans Drupal, le système dans son ensemble repose sur un système de "hook". Le "hook_form_alter" permet par exemple de modifier un formulaire. La documentation officielle sur les "hooks" dans Drupal : http://api.drupal.org/api/drupal/includes!module.inc/group/hooks/7
  • Avec React, depuis la version 16.8. Ils permettent de bénéficier d’un état local et d’autres fonctionnalités de React sans avoir à écrire de classes. L'un des premiers bénéfices est de pouvoir réutiliser de la logique sans avoir à modifier la hiérarchie des composants.

Notes et références

Liens externes

  • icône décorative Portail de l’informatique
  • icône décorative Portail de la programmation informatique