Drupal 8 : mieux pour le développeur, mais aussi pour l’utilisateur
Dans quelques semaines, la version 8.0 du système de gestion de contenu Drupal verra le jour. Quelles sont les principales nouveautés qui rendent une mise à niveau intéressante ? Comme la mise à niveau se déroule-t-elle ? Et est-ce que cela vous concerne ? Voici un aperçu qui fournira des réponses à toutes ces questions.
Qu’est-ce que Drupal ?
Initialement, le Belge Dries Buytaert avait développé Drupal en tant que bulletin board system. À l’époque, il n’a jamais imagé qu’à terme ce dernier deviendrait un système de gestion de contenu qui est aujourd’hui utilisé sur 2,1 % de tous les sites web du monde entier, par des entreprises, des politiciens et des services publics. Petite anecdote fort sympathique : le nom Drupal est en réalité né suite à une faute d’orthographe. Buytaert voulait en effet enregistrer le site web dorp.org pour son BBS, mais il a par erreur enregistré drop.org. En néerlandais, « drop » se traduit par le terme « druppel » (goutte). Et c’est cette goutte qui est finalement devenue Drupal.
Ce que le SGC Drupal a de particulier, c’est que vous pouvez créer plusieurs administrateurs. Vous pouvez en outre définir des permissions pour chaque utilisateur. Vous pouvez donc aussi créer des utilisateurs qui n’ont que peu de droits d’administration, voire aucun. Vous pouvez également définir une politique individuelle pour chaque utilisateur.
Le framework de gestion de contenu écrit en PHP en est actuellement à sa 7ème version. Et, comme Buytaert l’a lui-même écrit dans son blog, cette version comportait certaines limites gênantes. Il y avait une Entity API incomplète, un manque de séparation entre le contenu et la configuration, un manque de séparation entre la logique et la présentation dans la couche des thèmes, etc. De plus, la version 7 n’était absolument pas adaptée à la nouvelle réalité du surf mobile. Voilà pourquoi deux années et demie ont été nécessaires pour développer une nouvelle version. Plus de 2.700 personnes ont contribué à Drupal 8, dont la sortie est prévue dans les semaines à venir. Mais que propose Drupal 8.0 au juste ?
Liste des principales nouveautés
- La gestion du contenu et de la mise en page est simplifiée grâce à l’éditeur WYSIWYG. Vous pouvez déplacer les images grâce à la fonction glisser-déposer. Si vous souhaitez modifier quelque chose dans un champ, ce champ est immédiatement affiché dans le back-end, où vous pouvez le modifier ; vous ne devez donc plus farfouiller dans le code.
- Approche « Mobile first », également au niveau du panneau d’administration, avec entre autres l’étirement des images et des tableaux adaptatifs qui s’ajustent à la largeur de l’écran. La gestion mobile de votre site web devient ainsi un jeu d’enfants !
- De meilleures fonctionnalités pour les concepteurs de sites - le module Views étant intégré dans le cœur. Les blocs ont été améliorés, et il y a désormais aussi de nouveaux types de champs, comme pour un lien ou un numéro de téléphone.
- Prise en charge des langues : depuis l’installation, vous pouvez immédiatement choisir la langue souhaitée. Des modules séparés pour les traductions ne sont donc plus nécessaires.
- La gestion de la configuration est simplifiée. Vous pouvez désormais réutiliser la configuration du site de développement pour le site de production.
- Twig et HTML5. Au lieu des modèles PHP, on utilise Twig, un moteur de modèles qui simplifie énormément le code, mais qui le rend aussi beaucoup plus sûr, car toutes les variables sont automatiquement « escaped ». Autre nouveauté très pratique : la possibilité d’utiliser des Formulaires HTML5. Ainsi, le type adéquat de clavier apparaîtra automatiquement sur l’écran de l’utilisateur lorsque le curseur est placé sur un champ de saisie, comme le champ stylé « dateur » pour un champ date, un clavier de téléphone pour un champ téléphone, et un alphabet pour du texte.
- Services Web: Drupal 8 approche la fourniture de contenu comme via une API. Ce contenu est ainsi disponible partout : sur des sites web, des appareils mobiles, des applications natives, des écrans numériques, et même l’Internet des objets. Lisez la suite concernant l’API et la documentation allant de pair.
- Code OO moderne. Drupal a repris les meilleures pratiques PHP d’autres langages de programmation. Drupal 8 devient ainsi aussi accessible à un plus grand nombre de programmeurs. On utilise Symfony 2 et des bibliothèques comme Backbone.js, Underscore.js, PHP Unit et Doctrine. On a à chaque fois tenu compte de la manière dont une certaine procédure était résolue. Si le code de ces modules était meilleur, il était repris ; si le code propre à Drupal était meilleur, c’est lui qui était conservé. L’orientation objet est ici un élément-clé, pour les classes, les formulaires et les blocs.
Pour de plus amples informations à ce sujet, consultez la liste complète des changements apportés dans Drupal 8 ou regardez la vidéo dans laquelle Angela Brown parle en long et en large de toutes les nouveautés de Drupal 8.
Comment devez-vous procéder à la mise à niveau ?
Vous devez tout d’abord savoir qu’il n’existe pas de voie toute tracée pour procéder à une mise à niveau. Vous devez simplement d’abord construire votre site Drupal 8, comme s’il s’agissait d’un nouveau site, pour ensuite migrer votre contenu et les utilisateurs via un script de migration. Il s’agit là d’un énorme avantage, car votre site web ne doit ainsi pas être mis hors ligne pour la mise à niveau !
Mais attention : si votre site Drupal contient du code que vous avez-vous-même personnalisé, vous devrez vous charger vous-même de son portage vers la version 8. L’idéal est donc d’utiliser les modules courants proposés par les contributeurs, car il est fort probable qu’ils soient portés par la communauté.
La mise à niveau vous concerne-t-elle ?
- Êtes-vous un développeur de modules ou de thèmes ? Dans ce cas, mieux vaut que vous commenciez dès maintenant à effectuer des tests et à rédiger votre code sur la base de la version bêta. Cliquez ici pour obtenir toutes les informations nécessaires concernant le portage des modules.
- Faites-vous partie des adopteurs précoces ? Dans ce cas, créez sans plus attendre des sites de test pour bien connaître le look & feel. Ne mettez cependant pas encore votre site en ligne, car il y a encore quelques problèmes critiques à résoudre dans le code qui rendent actuellement impossible le fait de passer d’une version bêta à l’autre. Ce sera à vous de corriger les bogues que vous rencontrerez dans les versions bêta.
- Êtes-vous un adopteur tardif ? Dans ce cas, mieux vaut que vous attendiez jusqu’à minimum 6 mois après la sortie de Drupal 8.0.0. À ce moment-là, il y aura très probablement déjà suffisamment de modules de contributeurs pour Drupal 8 pour pouvoir développer confortablement un site web.
Et que faire si vous ne pouvez/voulez pas faire une mise à niveau ?
Si, pour certaines raisons, vous ne pouvez pas effectuer une mise à niveau, ou si vous préférez attendre encore quelques mois, il n’y a pas de raison de ne pas profiter de quelques améliorations de Drupal 8. Pour cela, il vous suffit d’utiliser un « Drupal 7 Contrib equivalent » :
- Éditeur WYSIWYG => CKEditor
- Édition sur place => Quickedit
- Barre d’outils adaptative => Mobile Friendly Navigation Toolbar
- Front-end adaptatif => thèmes de base tels que Omega, Zen et Adaptive
- Administration adaptative => Ember
- Images adaptatives => Picture
- Tableaux adaptatifs => Responsive tables
- Overlay simplifié => Escape Admin
- Multilingue => Internationalization et Entity Translation
- Meilleurs blocs => Bean
- Configuration => Features
- Services Web => RESTful
Quand Drupal 8.0 sera-t-il disponible ?
Aucune date précise n’a été annoncée, mais cette version devrait sortir dans les semaines à venir. Drupal 8.0.0 sera proposé dès que tous les problèmes critiques qui subsistent encore au niveau des performances, de la sécurité et du module Views seront résolus. En avril 2015, il y en avait encore 54, dont 12 empêchaient d’effectuer une mise à niveau d’une version bêta à une autre. Il fallait donc à chaque fois entièrement reconstruire votre site web. À l’heure actuelle, il reste 11 points à résoudre.
Que réserve l’avenir ?
6 mois après le lancement de Drupal 8.0.0, un terme sera mis à la prise en charge de Drupal 6. Tous les 6 mois, de nouvelles fonctionnalités pour Drupal 8 seront mises à disposition. Celles-ci seront rétrocompatibles et identifiables à la numérotation de la version (Drupal 8.1.x, Drupal 8.2.x...)
Drupal 9 ne sera proposé que lorsque les améliorations proposées ne pourront plus être basées sur le cœur de Drupal 8. Vous pouvez suivre les dernières évolutions sur le site web de la communauté Drupal francophone.
Combell adaptera elle aussi son hébergement Drupal au moment opportun.
Découvrez l'hébergement Drupal de Combell
Après lecture de cet article, vous serez cependant déjà au courant des principaux changements. De concert avec nos collaborateurs, vous pouvez décider si (et, le cas échéant, quand) vous souhaitez effectuer la migration. En cas de doute, n’hésitez pas à contacter notre service d’assistance !