Drupal 8
# Drupal 8

Drupal 8 est une version majeure du logiciel open source Drupal. Techniquement, elle transforme Drupal de système de gestion de contenu ("CMS") en plateforme de gestionnaire de contenu ("CMF") par intégration du framework Symfony 2.

## Principaux changements propres à Drupal 8

### Directement visibles

**Adaptation automatique aux mobiles**

Tous les thèmes par défaut de Drupal 8 sont adaptés à l'usage indifférent par les ordinateurs et les mobiles - tablettes et téléphones - dans le cadre de l'adaptation automatique de présentation (responsive design). Même l'administration du site se fait sans difficulté depuis un mobile, orienté en format portrait ou paysage, tout en restant utilisable avec une présentation plus habituelle sur un écran d'ordinateur classique.

**Directement multilingue**

Drupal se chargeait en anglais et il revenait à l'installateur de télécharger et d'activer les messages en français. Cette opération est dorénavant prise directement en charge par l'installeur. Il suffit de choisir la langue souhaitée dans un menu déroulant.

Le téléchargement à l'installation se fait par Internet. Dans le cas d'une installation non connectée, par exemple pour tests locaux sécurisés, l'anglais seul est disponible.

**CKeditor**

CKEditor fait maintenant partie du noyau, en remplacement du module optionnel WYSIWYG. La création de contenu HTML5 se fait donc désormais comme dans les traitements de texte LibreOffice ou Word, c'est-à-dire sans autre formation nécessaire.

Les fonctions de filtrage HTML de Drupal par classe d'utilisateur restent actives. L'utilisateur utilise donc en saisie les enrichissements de son choix, mais le rendu de ces enrichissements pourra être par exemple, et sur paramétrage par les administrateurs :

* inexistant pour un utilisateur non enregistré (texte ordinaire)
* limité à l'italique pour un utilisateur enregistré
* limité à l'italique et au gras pour un utilisateur ayant quelque ancienneté

etc.

### En coulisses

**Thémage rendu plus simple**

L'assembleur de thèmes Twig permet une description sensiblement plus lisible que le PHP de ce qui est souhaité par le concepteur en matière de présentation. Il écrira par exemple {{nom}} au lieu de <?php echo $nom; ?>. Les spécifications Twig sont transformées en PHP optimisé lors de leur premier appel et ce PHP est conservé ensuite par le système. Le développeur peut créer ses propres balises et filtres.

**Programmation objet**

Drupal n'utilisait pas l'orientation objet de PHP 5, ni les commodités permises par la notion d'espaces de noms. Cela obligeait à des précautions de nommage contraignantes pour éviter tout conflit de noms. Ce problème disparaît avec Drupal 8, une partie significative du code PHP en ayant été directement réécrite en utilisant le Framework Symfony 2.

Ce choix rend par ailleurs Drupal plus attractif pour les développeurs Symfony 2.

**Totalité du module Views incorporée dans le noyau**

Le module Views était déjà partiellement intégré au noyau Drupal. Il fait dorénavant totalement partie, de 70 modules du noyau de celui-ci, sans besoin d'installation séparée.

**Alignement sur Yaml**

Les fichiers de configuration de chaque module de Drupal avaient, avant la version 8, un aspect spécifique créé par et pour Drupal. Dans un souci de lisibilité et de normalisation, Drupal 8 les représente dorénavant sous la forme standard yaml.

Dans la pratique, l'effort de conversion pour chaque module ne sera pas bien grand. Un ancien fichier de configuration comme celui-ci, banque-sons.info :

deviendra simplement :

En revanche, ce sont tous les modules existants, qu'ils soient du noyau ou contributifs, qui doivent posséder ce nouveaux fichiers de méta-information, ici banque-sons.info.yml.

## Calendrier

Drupal 8 est sorti le 19 novembre 2015 en version production après quatre release candidates. Il était cependant déjà en production à cette date depuis quelques mois sur plusieurs sites non critiques en France et dans le monde.

Le framework Symfony 3 sur lequel s'appuie Drupal 8 ne sera plus maintenu à partir de fin 2021, en conséquence de quoi, à partir de la même date, Drupal 8 ne sera plus supporté par la communauté.

## Modules optionnels populaires (décembre 2016)

Parmi les modules optionnels existants portés en Drupal 8, les plus téléchargés sont Token, Chaos tool suite (ctools), Admin Toolbar et Pathauto.

Parmi les nouveaux modules développés pour Drupal 8, les plus téléchargés sont Block Widget, Taxonomy terms menu, igbinary, Simple Responsive Table.

De plus amples détails sont accessibles sur le site drupal.org.

