
Comment découper efficacement des photos ? Un aperçu du module Crop API pour Drupal
Lors de la création d'un site web dont les éditeurs travaille sur du contenu avec des photos, un problème surgit souvent : comment gérer les images pour que l'éditeur n'ait pas à les modifier manuellement lorsqu'il souhaite publier le même contenu avec un look différent ? Dans Drupal, nous pouvons rencontrer ce problème en créant de nouveaux modes d'affichage pour toute entité contenant des images. Le but des modes d'affichage est de servir le même contenu sous une forme différente de la forme par défaut. Pour les champs de texte ou de date, nous utiliserons différents formateurs. Et pour les images ?
Modules Crop API et UI utilisant cette API
Le cœur de Drupal nous permet de recadrer des images sans modules supplémentaires, mais cette fonctionnalité n'est pas suffisamment flexible pour répondre à tous les besoins. Le module Crop API de Drupal fournit une API de base pour un recadrage des images plus personnalisé. Son interface est utilisée, par exemple, par Image Widget Crop. Il fournit une interface utilisateur pour le recadrage des images, utilisant des types de recadrage prédéfinis. C'est très utile pour les sites web qui publient des articles avec des images ou pour les sites de gestion de médias.
Un autre module utilisant Crop API est Focal Point. Il vous permet de déterminer quelle partie de l'image est la plus importante. Ce fragment est utilisé lors du recadrage ou de la mise à l'échelle d'une image afin que, par exemple, une des personnes présentes ne perde pas sa tête.
Le module Crop API de Drupal - informations générales
Le module a été publié le 17 novembre 2014, sa dernière version 2.2 a été publiée le 18 février 2022. Le module est continuellement activement soutenu et développé. Il est compatible avec PHP 8.1 et Drupal ^8.8 et 9.
Popularité de Crop API
Le module compte plus de 90 000 installations. Leur nombre augmente chaque semaine, avec une tendance à la hausse depuis la première version. La version plus récente 2.x a pris trois ans pour remplacer l'ancienne version 1.x. Actuellement, la grande majorité des sites utilisant Crop API utilisent la version plus récente.

Source : Drupal.org
Auteurs de Crop API
Le créateur original du module est Janez Urevc (slashrsm). Il travaille comme Senior Performance Engineer chez Tag1 Consulting, où il développe et maintient des applications web. Il est un membre actif de la communauté Drupal - en 2014, il a aidé à lancer l'initiative multimédia pour Drupal 8, où il a travaillé avec d'autres membres de la communauté pour porter les médias dans Drupal à un niveau amélioré.
Le module Crop API est officiellement soutenu par MD Systems GmbH, et les principaux mainteneurs du module, en plus de Janez, sont Adam G-H (phenaproxima), Alexandre Mallet (woprrr), et l'équipe Média de Drupal.
Installation
Crop API ne nécessite pas l'installation de bibliothèques supplémentaires. Il n'a que des dépendances vis-à-vis des modules Image et Utilisateur, qui font partie du cœur de Drupal. L'installation se fait donc de manière standard. Comme toujours, nous recommandons d'installer le module en utilisant Composer.
composer require 'drupal/crop:^2.2'
Le module fournit deux nouvelles permissions : Administrer les paramètres de recadrage, vous permettant de gérer les paramètres de base de Crop API, et Administrer les types de recadrage, vous permettant d'ajouter, de supprimer et de modifier les types de recadrage définis.

Utilisation du module Crop API
Comme nous l'avons indiqué dans l'introduction, le module Crop API seul ne permet pas grand-chose. Il doit être considéré comme une interface que d'autres modules peuvent utiliser. Néanmoins, il possède plusieurs options de configuration que nous allons essayer d'expliquer.
Crop API fournit un nouveau type d'entité - Type de recadrage. Dans cette entité, nous définissons les types de recadrage que nous voulons utiliser.

En ajoutant un nouveau type de recadrage, nous avons la possibilité de créer plusieurs paramètres.

Limite souple étire l'image pour atteindre les proportions données. Limite dure redimensionne et coupe une partie de l'image.
Hooks
Crop API fournit un hook supplémentaire : hook_crop_entity_provider_info_alter. Avec celui-ci, nous pouvons modifier les informations sur le fournisseur d'entité, qui est calculé par défaut dans la classe \Drupal\crop\Annotation\CropEntityProvider. Dans le hook, nous avons accès au tableau $providers. Nous pouvons le modifier pour, par exemple, éditer le titre du fournisseur de médias.
Modules d'extension
Crop API a été créé pour servir d'interface que d'autres modules peuvent utiliser. Pour obtenir la gamme complète de possibilités, il est nécessaire de choisir un des modules d'extension qui répond le mieux à vos besoins en termes de fonctionnalité.
Image Widget Crop
Le module fournit un widget qui permet à l'utilisateur de sélectionner un des types de recadrage prédéfinis. Il dispose d'un mode réactif pour changer de type et pour un ajustement manuel.


Focal Point
Le module nous permet de spécifier le point clé d'une image, qui sera traité comme son centre lors du processus de recadrage. Si vous avez déjà utilisé une image dont la partie importante pour vous a été recadrée par une mise à l'échelle avec une coupe dure - ce module s'avérera être un salut.
Le module Crop API de Drupal - résumé
CropAPI est un outil utile qui, en combinaison avec des modules de support, fournit une fonctionnalité personnalisée. L'installation de ce module est recommandée si votre site web nécessite des solutions plus flexibles que celles disponibles dans le noyau.
Envisagez-vous le choix des modules pour votre projet ? Nous serions ravis de vous suggérer quels outils seraient les plus adaptés. Au quotidien, nous développons des sites web sur Drupal et utilisons un certain nombre de modules pour cela ou créons nos propres modules.