• https://www.debussac.net/blog/wp-content/uploads/2017/05/drupal-8.jpg

DRUPAL : Les nouvelles fonctionnalités à connaître

Depuis la première publication de la version 8.0.8 de Drupal en novembre 2015, de nombreux correctifs ont été apportés grâce à des mises à jour mensuelles. Le 15 mars 2017, la version stable v 8.2.7 est arrivée avec près de 200 nouvelles fonctionnalités par rapport à la version Drupal 7. Jusqu’à présent, Drupal 8 apportait une vraie solution sur la façon de rendre un système de gestion de site web convivial, créer des structures de données performantes, construire des API efficaces, rendre accessible sur mobile, multilingue.

Mais quelles sont les principales évolutions apportées à cette nouvelle version ? A travers cet article, nous tâcherons de vous donner une idée sur la façon dont vont pouvoir être améliorés vos sites web.

1)  Système de Theming optimisé

PHPTemplate a été remplacé par un nouveau moteur de templates, Twig. Celui-ci permet de construire des templates de façon rapide, sécurisée et plus flexible. Il dispose d’une syntaxe concise permettant de manipuler et d’afficher les variables (conditions, boucles, filtres, …), simplifiant ainsi la lecture et la maintenance des templates. Il est également extensible ce qui permet l’ajout de filtres ou de fonctions afin de compléter celles existantes. Enfin, concernant la conception de la structure des pages, Twig permet notamment de contrôler totalement le balisage des pages ou de réaliser des agencements complexes.

Le design est facilité car les thèmes Twig sont plus simples à créer et à modifier. Notamment si l’intégrateur connaît déjà ce système de thème qui est utilisé sur d’autres CMS tel que Symfony 2, Craft CMS, Grav, Bolt par exemple. Avec ce nouveau moteur bien plus actuel, les développeurs peuvent développer avec plus de liberté créative.

2)  Amélioration de l’expérience Mobile

Avec cette nouvelle version, tout a été pensé pour s’adapter aux mobile devices comme la page de sélection des modules ou la fonctionnalité d’édition de contenu « inline edit».

Les thèmes d’administration sont responsives et le back-office a été entièrement repensé : barre d’outils mobile-friendly, tables responsives, bouton « retour au site » sur les pages backend.

Enfin, le front-end a été amélioré du côté de la performance et de la rapidité d’affichage mais également au niveau des fonctionnalités qui nécessitaient beaucoup de ressources, comme Overlay par exemple, désormais remplacées par des alternatives plus simples et compatibles avec les mobiles.

3)  La prise en charge multilingue

Drupal 8 apporte une amélioration de la gestion du multilingue. Facilitant ainsi l’internationalisation des sites lors d’un déploiement de présence à une audience mondiale. Il est ainsi possible de traduire l’intégralité du système (interfaces utilisateur/éditeur), filtrer les vues et la visibilité des blocs, ou profiter des mises à jour de traduction.

4)  Simplification de la création de contenu

Les nouvelles fonctionnalités d’édition et l’intégration native de l’éditeur WYSIWYG, CKEditor 4, rendent plus simple la création, la modification ou la mise en forme de contenu. Par exemple, la personnalisation du contenu est facilitée par l’utilisation de bouton Drag and Drop notamment pour les images. Ou encore, pour plus d’efficacité, chaque éditeur peut personnaliser/simplifier sa barre d’outils en ajoutant ou supprimant des boutons d’éditions.

5)  Des Services Web intégrés

Des webs services sont directement supportés par Drupal 8 (REST, JSON, XML, intégration avec Entity API, …). Avec eux, il est maintenant possible de l’utiliser comme source de données pour la construction des applications mobiles. Mais aussi de poster du contenu (JSON ou XML) vers Drupal depuis le Font-End. Ou même d’authentifier un client via HTTP.

Enfin, avec l’intégration du Hypertext Application Language (HAL), l’exploitation de ces services est simplifiée. Il permet d’interfacer un site web avec n’importe quel outil utilisant des technologies de communication (CRM ou ERP).

6)  La vitesse de chargement

Grâce à un cache qui stocke toutes les entités et qui ne charge que le JavaScript quand il est nécessaire, la vitesse de chargement des sites est améliorée. Une fois configuré et activé, le cache est entièrement automatique et configurable selon les besoins.

7)  La communauté Drupal se développe : l’association avec Symfony

L’univers Symfony 2 s’associant à l’univers Drupal a permis d’enrichir les éco-systèmes. Cette intégration amène à moderniser l’interface utilisateur de Drupal. Mais également à permettre aux développeurs de créer très vite des contenus de qualité. Ce dernier est dû au mix entre les bibliothèques PHP de Symfony et au système de modules très vaste de Drupal. Un véritable renforcement de sa puissance et de ses performances, avec un système de mise en cache géré par blocs et une gestion des contenus dynamiques améliorée.

C’est sûr, grâce à cette association, Drupal gagne en popularité et surtout gagne une communauté de développeurs et d’intégrateurs compétents participant quotidiennement à l’évolution de l’outil. On voit aujourd’hui de nombreux développeurs Symfony s’intéresser à Drupal, développer de nouveaux modules et contribuer au core.

Le conseil de l’équipe DBM : Composer pour gérer les dépendances

Composer est un gestionnaire de paquets libre, écrit en PHP, qui permet d’installer des bibliothèques dans votre projet PHP. Autrement dit, il sert de gestionnaire des dépendances c’est-à-dire toutes les bibliothèques dont votre projet dépend pour fonctionner. Il fait le lien entre applications et librairies, et permet d’alléger un projet. Il est utilisé pour télécharger Drupal, gérer la liste des modules et les bibliothèques additionnelles, telles que Symfony ou Twig, ainsi que leurs versions. Cette association permet également d’installer les modules eux-mêmes via Composer, sans module supplémentaire. Et d’avoir une base de code plus maintenable et ainsi travailler de manière plus générique.