Drupal 10 : Plugins et types de plugins

Comprendre la distinction entre plugin et type de plugin.

Cet article a été initialement rédigé pour Drupal 8 mais son contenu est toujours d'actualité pour Drupal 9 et Drupal 10.

N'hésitez pas à nous contacter ou à vous inscrire à notre formation «Drupal pour les développeurs et développeuses» pour en savoir plus !

Le principe de plugins dans Drupal est de permettre au système de fournir une fonctionnalité extensible et remplaçable de manière simple.

D’une certaine manière les plugins remplacent bon nombre de hooks utilisés jusqu'à Drupal 7 (les hook_*_info() et associés).

Deux concepts clés sont liés aux Plugins :

  • Les instances de Plugins
  • Les types de Plugins (Plugins Type)

Si plusieurs plugins remplissent la même fonctionnalité, ils sont du même type (Plugin Type).

Les blocs sont par exemple des instances de Plugins, chaque bloc en est une. Leur type est Block.

Un autre exemple de Plugin Type est les ImageEffects, ils définissent les actions applicables sur une image. Chaque action ou effet est un Plugin.

Les Plugins sont utiles quand il est nécessaire de pouvoir facilement étendre une fonctionnalité générique mais que les implémentations possibles ne partagent que peu de code commun.
Pour les effets d'image utilisés par les styles d'image, chaque effet rempli le même but « Transformer une image » mais chaque implémentation peut être complètement différente (altérer les couleurs, redimensionner l’image).

Commentaires

Mohamed Ben Henda Dimanche 12 février 2017 - 01:12
Pour être capable d’implémenter un plugin type il faut savoir si le plugin manager utilise l'annotation ou bien le YAML dans la découverte des plugins.

Votre commentaire

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement.
Votre adresse servira à afficher un Gravatar et à vous notifier des réponses. Votre commentaire sera anonymisé si ce billet est dépublié pendant plus de 3 mois.
Pour lutter contre le spam notre système enregistre votre adresse IP et votre adresse e-mail si vous la partagez.
Nous vous invitons à consulter notre politique de confidentialité pour comprendre les traitements faits de ces données et comment les rectifier.

À propos de Julien

Co-fondateur - Scrum master & Expert technique

Utilisateur de Drupal depuis 2008, j’ai fait mes armes comme développeur chez Commerce Guys puis me suis mis à encadrer les nouveaux arrivants avant de donner des formations, participer aux avant ventes et accompagner les équipes au passage à Scrum.

Je suis impliqué dans la communauté française de Drupal depuis 2009, j’ai été tour à tour président puis vice-président de l’association Drupal France et francophonie entre 2011 et 2013.