
Gagnez du temps en créant des sites Drupal complexes avec la génération de code et les outils sans code
Le long temps de développement d'un système est souvent considéré comme un inconvénient de l'utilisation de Drupal dans le développement web. Cependant, créer des sites web complexes avec cette technologie ne doit pas forcément être chronophage. Dans cet article de blog, je vais vous présenter une liste de modules et d'outils qui réduisent clairement le temps de création de systèmes sur Drupal.
Informations générales sur Drupal
Drupal est un système écrit en PHP et constitué de modules. Il en existe des dizaines dans le noyau de Drupal, et plusieurs milliers sont disponibles en téléchargement gratuit sur le site Drupal.org.
Un développeur PHP peut également créer un module personnalisé pour Drupal et ajouter toute fonctionnalité souhaitée. Les développeurs empruntent souvent cette voie. Il est apparemment plus facile (mais pas plus rapide) d'écrire la fonctionnalité requise que de se familiariser avec les modules existants pour la construire.
La clé pour tirer parti de Drupal en tant que technologie est de le traiter et ses modules comme des blocs LEGO à partir desquels vous construisez un système.
Considérer Drupal comme une base et ajouter toutes les fonctionnalités nécessaires dans le code personnalisé est une voie qui augmente les coûts du projet. À long terme, cela conduit également à abandonner Drupal comme solution de base pour la construction de systèmes. En effet, personne n'aime payer plus cher que les options alternatives disponibles sur le marché, et de nos jours, il y a beaucoup de choix dans le monde du développement web.
En regardant d'autres technologies, il est utile de prêter attention au nombre de technologies différentes que vous devez utiliser pour obtenir ce que Drupal offre. Très souvent, vous devez utiliser de nombreux frameworks, bibliothèques ou systèmes et les combiner tous. Avec ces connexions, des problèmes et erreurs surviennent souvent (par exemple, le site A n'a pas correctement envoyé les données à l'API du site B, etc.), ce qui prend du temps pour déboguer et corriger.
Les systèmes sur Drupal sont le plus souvent construits comme une application unique avec une seule base de code (Drupal sans tête apparaîtra également plus tard dans le texte), ce qui simplifie grandement la maintenance de l'application, le développement et la mise en œuvre de nouvelles versions. C'est un avantage significatif pour les applications avec des déploiements réguliers (par exemple, une fois par semaine), ce qui réduit leur temps, élimine les problèmes potentiels et facilite les coûts de maintenance de l'application.
Génération de code et outils sans code pour accélérer le travail sous Drupal
J'ai divisé les outils qui vous aideront à accélérer la création de pages web complexes sur Drupal en plusieurs groupes. Vous trouverez ici des descriptions, des captures d'écran et de courtes vidéos. À partir de ces exemples, vous verrez à quelle vitesse vous pouvez construire des sites web sous Drupal.
Générateurs de code et de données
Les générateurs de code et de base de données peuvent réduire considérablement le temps de travail du programmeur. Tout développeur web travaillant avec Drupal devrait se familiariser avec ces outils.
Module Builder
Module Builder est un module pour Drupal qui génère les fichiers nécessaires à la création d'un module. Certains éléments sont répétitifs, et les réécrire constamment à partir de zéro prend inutilement des minutes précieuses. Avec l'aide de Module Builder, vous réduirez le temps de création de modules personnalisés.
Drush Generate
Drush est un outil pour gérer Drupal depuis la ligne de commande. L'une des commandes pratiques disponibles dans Drush est « generate ». Comme Module Builder, cette commande vous aide à créer le code nécessaire lors de la construction de modules et vous fait gagner du temps.
Devel Generate
Devel Generate fait partie du module Devel. Cet outil peut générer des données de test. Cela est très utile pour tester comment le système se comporte ou se présente lorsque de grandes quantités de données arrivent. En utilisant ce module, vous économisez le temps de créer du contenu de test et pouvez vous concentrer sur le test de l'application. Je recommande particulièrement cette solution aux testeurs travaillant avec Drupal.
Outils et modules sans code
Il existe certains modules dans Drupal, de sorte que vous n'avez pas besoin d'écrire vos propres modules personnalisés. Vous pouvez générer des structures de données et une logique d'application sans écrire une seule ligne de code. Certains de ces modules sont déjà dans le noyau de Drupal. En combinant ces outils avec des générateurs de code (tout ne peut pas être réalisé par simple clic, et parfois vous devez écrire du code), vous avez un avantage considérable lors de la mise en œuvre d'applications et de sites web sur Drupal par rapport à d'autres solutions.
Module Fields
Fields est un module qui est partie intégrante du noyau de Drupal. Il vous permet d'étendre les entités avec des attributs supplémentaires - par exemple, vous pouvez ajouter un champ “Téléphone” à un profil utilisateur pour stocker des informations de numéro de téléphone, ou vous pouvez ajouter un champ “Téléchargement de fichier” au type de contenu “Page” pour permettre d'insérer des fichiers PDF téléchargeables.
Module Views
Le module Views fait également partie du noyau de Drupal. Il vous permet de prendre des données d'une base de données et de les afficher de manière formatée. Vous pouvez étendre ses capacités en utilisant de nombreux modules supplémentaires, tels que l'exportation de données au format CSV.
Entity Construction Kit (ECK)
Le noyau de Drupal dispose de plusieurs types d'entités, y compris Node, User, et Taxonomy. Parfois, vous avez besoin de construire votre propre entité au lieu d'utiliser, par exemple, un nouveau type de contenu. Vous pouvez le faire en créant un nouveau module personnalisé (par exemple, en utilisant le module Module Builder mentionné ci-dessus) ou vous pouvez utiliser le module Entity Construction Kit (ECK). Avec son aide, sans écrire de code, vous pouvez créer une nouvelle structure de données dans la base de données et l'utiliser avec, par exemple, les modules Fields et Views. Dans ce cas, vous pouvez également voir parfaitement un autre avantage de Drupal - les modules fonctionnent ensemble plutôt que d'être des éléments séparés.
Event - Condition - Action (ECA)
Le module ECA vous permet de créer des actions sur divers événements, tels que “envoyer un email si quelqu'un ajoute un commentaire”. Les capacités du module sont vastes, et s'il manque une option, elle peut être étendue avec des actions ou des conditions supplémentaires.
Webform
Un formulaire sur une page web et dans une application est une forme courante d'interaction avec les utilisateurs. Il est souvent essentiel pour les administrateurs de sites web de pouvoir créer facilement de nouveaux formulaires sans attendre une équipe de développement. Les services marketing ont besoin de les ajouter aux pages d'atterrissage pour des campagnes, et les services RH en ont besoin pour collecter des données auprès des employés dans divers types d'enquêtes. Les exemples sont nombreux. Le module Webform résout parfaitement la nécessité de construire facilement des formulaires de contact.
Module Feeds
Le module Feeds récupère les données de sources externes et les enregistre dans une base de données sous Drupal. L'usage le plus simple du module est de récupérer des données depuis un flux RSS, mais vous pouvez également le configurer pour d'autres sources, telles que des fichiers XML. Toute la configuration de l'importation de données se fait en cliquant sur l'interface d'administration. Donc, il n'est pas nécessaire d'impliquer un programmeur pour cela. Un exemple d'utilisation de ce module pourrait être, par exemple, l'importation d'annonces d'emploi sur un site web d'entreprise à partir d'un système de gestion externe ou l'importation des derniers articles de blog sur un système intranet d'entreprise (construit sur Drupal).
Outils de création de contenu
Aujourd'hui, construire de nouvelles sous-pages sur un site web implique non seulement d'ajouter du texte mais aussi d'insérer de nombreux composants qui rendront une page web attrayante et pratique pour l'utilisateur. Un éditeur a besoin d'outils pour construire des sites complexes et d'un système qui ne le limite pas dans la création de contenu.
Il existe plusieurs solutions de ce type sous Drupal. En fonction des besoins des gestionnaires de contenu, vous pouvez choisir parmi les nombreuses options disponibles. Voici quelques exemples.
Layout Builder
Le module Layout Builder se trouve dans le noyau de Drupal. Il vous permet de gérer la disposition des éléments pour un type de contenu (par exemple, tous les articles) ou un contenu spécifique. Le module est régulièrement développé, et ses capacités peuvent être étendues avec des modules supplémentaires.
Module Paragraphs
Paragraphs est un module supplémentaire qui étend les possibilités de construction d'une structure de données avec le module Fields. C'est la base du système Droopler - un outil pour créer rapidement des sites web d'entreprise et de société. Nous avons construit plus d'une douzaine de composants prêts à l'emploi que les éditeurs peuvent utiliser lors de la création de contenu.
Autres outils pour le contenu
En plus des solutions ci-dessus, d'autres outils de création de contenu sont :
Intégrations avec des applications externes
Aujourd'hui, le nombre d'applications que les entreprises et organisations utilisent est en augmentation. Drupal s'intègre parfaitement dans un tel environnement car il peut facilement s'intégrer avec des systèmes externes.
Drupal peut transmettre les données stockées à d'autres systèmes ou accepter des données provenant d'applications. Il dispose d'un module RESTful Web Services qui permet des configurations simples et complexes.
Ces options d'intégration ouvrent la possibilité d'utiliser Drupal comme CMS sans tête. Un exemple peut être trouvé dans notre étude de cas d'un projet pour PZPN, documentant la création d'un système où le frontend est séparé du backend.
Outils sans code et de génération de code - résumé
Les exemples décrits ci-dessus ne représentent qu'une petite partie des capacités des modules Drupal. Il y en a beaucoup d'autres, et tous ces outils permettent à Drupal de réduire le temps nécessaire pour créer des sites web ou des applications web.
Si vous prévoyez de créer un site internet complexe, Drupal vaut la peine d'être considéré. Cette technologie est-elle adaptée à votre projet ? Profitez d'une consultation gratuite dans notre agence Drupal, au cours de laquelle nous vous aiderons à analyser votre cas.