DRUPAL 8, DOIT-ON SE LANCER DÈS MAINTENANT ?

25 janvier, 2016 - 10:37 |

Avec la sortie fin décembre de la première release de Drupal 8 s’est posée la question du calendrier de son adoption par les agences digitales qui travaillaient jusque-là sur la version 7 du CMS. Cette nouvelle version, basée sur le framework Symfony, nécessite une mise à jour des compétences des équipes de développement, ainsi que – dans une moindre mesure – de toute la chaîne de production puisqu’elle impacte aussi bien la conception, les possibilités graphiques, le développement, les tests ainsi que la plateforme technique d’hébergement. Cette transition est sans commune mesure avec celle engendrée par le passage entre Drupal 6 et Drupal 7 et doit donc être mûrement réfléchie et planifiée.

La stabilisation de la plateforme prendra nécessairement un peu de temps et celle des modules, qui ont toujours faits la richesse, de ce CMS plus encore. Alors doit-on attendre  et doit-on attendre longtemps ?

Je serais tenté de dire oui et non ; cela dépend essentiellement du type de site que vous devez mettre en place. Comme principe général, je crois bon de retenir le suivant : si le core Drupal 8 répond à plus de 80% de vos besoins et que votre site ne sert que des pages pour des utilisateurs anonymes, j’adopterai cette plateforme dans les toutes prochaines semaines. Si votre site est plus complexe, qu’il nécessite le renfort de nombreux autres modules, qu’il sert des pages individualisées, qu’il nécessite la mise en place de systèmes de cache précis,  qu’il délègue sa recherche à une solution tierce de type Apache Solr ou qu’il intègre un annuaire d’entreprise et des communautés, je pense qu’il se révèle urgent d’attendre !

Pour illustrer mon propos, voici deux tableaux qui montrent l’état d’avancement des différents modules dont l’utilisation est nécessaire, sans être obligatoire, pour la création des deux types de sites évoqués plus haut.

SITE CORPORATE MULTI-LINGUE

Site corporate responsive présentant les activités d’un groupe industriel et décliné en trois langues. Le site est accessible uniquement en mode anonyme et dispose d’une recherche simple et d’une fréquentation moyenne.

Ses principales rubriques sont :

  • une page d’accueil avec des blocs d’actualités (textes et images), des blocs vidéo (YouTube), des mises en avant de produits, de solutions et de services ainsi que des liens vers les différents réseaux sociaux,
  • une rubrique « Actualités » (liste d’articles et page article),
  • une rubrique « Produits » (liste de catégories, liste de produits, fiche produit),
  • une rubrique « Solutions » (liste de solution, fiche solution),
  • une rubrique « Service » (liste de service, fiche service),
  • une rubrique « Présentation » (page de contenu froid),
  • une rubrique « Filiales » (liste des filiales, fiche filiale),
  • une page « Contact » avec un formulaire à destinataires multiples,
  • un système d’envoi de newsletter.

Voici la liste des modules Drupal 8 pressentis pour la mise en œuvre d’un tel site. Il est à noter que la version 8 intègre maintenant dans son core différents modules et différentes fonctionnalités qui permettront de répondre aux besoins exprimés :

  • gestion des blocs,
  • agrégation de contenus (liste de contenus),
  • gestion fine des types de contenus (fiche article, solutions, produits…),
  • moteur de recherche,
  • gestion multilingue évoluée,
  • système de thème nativement responsive.

 

Intitulé

Priorité

Fonction

Version

IMCE

1

Gestion des images dans le wysiwig

8.x-1.0-rc1

Metatag

1

Gestion des meta

8.x-1.0-beta3

ColorBox

2

Gestion des pop-in

8.x-1.x-dev

Simple XML sitemap

1

Génération d’un sitemap XML

8.x-1.7

Views slideshow

2

Génération d’un slideshow

8.x-4.0-alpha4

Honeypot

1

Sécurisation des formulaires

8.x-1.22

Simplenews

2

Gestion des newsletters

8.x-1.0-alpha2

Swift mailer

2

Envoi de mails

8.x-1.0-alpha1

Youtube field

3

Incorporation des vidéos YouTube

8.x-1.0-beta2

Share buttons

3

Partage sur les réseaux sociaux

8.x-1.1

Webforms

1

Gestion des formulaires

Pas de version 8

Sitemap

2

Génération d’un plan de site

Pas de version 8

Imagemagick

2

Boite à outils images

8.x-1.0-alpha1

Mailchimp

2

Envoi de newsletters

8.x-1.0-alpha2

Varnish http accelerator integration

2

Reverse proxy

8.x-1.x-dev

Pathauto

1

Création d’URL personnalisées

8.x-1.x-dev

 

À la lumière de ces informations, le seul élément qui pourrait pousser à renoncer à la mise en œuvre de Drupal 8 pour un site de ce type serait l’absence de mise à jour du module Webform, largement utilisé dans les versions précédentes pour gérer les formulaires et offrant de nombreuses fonctionnalités d’export et d’analyse des données recueillies. Outre le fait que le module devrait être porté prochainement, deux nouveaux modules du même type ont fait leur apparition (eForm et Yaml form) qui pourront remplacer celui-ci avant sa refonte complète. Par ailleurs, la génération de formulaires à travers un module spécifique est tout à fait envisageable dans un premier temps. Le module Sitemap, quant à lui, peut être remplacé par une page statique.

Il semble donc tout à fait légitime de se lancer au cours des prochaines semaines dans la mise en place de la version 8 pour de tels sites. Le système de cache intégré devrait suffire pour atteindre un bon niveau de performance qui peut être renforcé le cas échéant par un reverse proxy de type Varnish.

RSE

Un RSE responsive connecté à un annuaire d’entreprise, déléguant sa recherche à Apache Solr, important des données de profil depuis le système d’information de l’entreprise, lié à des outils métiers et disposant de communautés.

Ses rubriques principales pourraient par exemple être :

  • une page d’accueil avec un mur d’activité, une rubrique d’actualités contextualisées, les mouvements du personnel, des annonces de postes, la présentation de la communauté la plus active, la mise en avant d’un profil, des systèmes de vote et de partage…
  • une rubrique actualité contextualisée par rapport au profil connecté,
  • une rubrique annuaire avec l’ensemble des fiches profils des collaborateurs,
  • un espace métiers présentant chaque activité de l’entreprise avec l’accès à des communautés métiers,
  • un espace communautaire distinguant communautés privées, fermées ou ouvertes à tous,
  • une recherche évoluée par facettes en fonction des droits de l’utilisateur,
  • une rubrique RH avec des forums de discussion, des annonces de postes et les mouvements du personnel,
  • un accès à un ensemble de formulaires liés à des activités métier.

Ce site ne sera accessible qu’aux collaborateurs de l’entreprise et gérera plusieurs rôles du type intranaute, manager, webmaster, administrateur…

Voici la liste des modules pressentis pour un tel site. Ces modules viennent s’ajouter en partie à ceux déjà cités dans l’exemple précédent.

 

Intitulé

Priorité

Fonction

Version

Memcached Api and integration

1

Intégration du serveur de cache Memcache

8.x-2.x-dev

Search Api

1

API de recherche

8.x-1.0-alpha2

Apache Solr

1

Intégration d’Apache Solr

8.x-1.0-alpha2

Rules

1

Gestion des règles et déclencheurs

8.x-3.0-unstable6

Token

1

Gestion des placeholders

8.x-1.0-alpha2

Libraries

1

Gestion des librairies externes

8.x-3.x-dev

Ctools

1

Suite d’outils

8.x-3.0-alpha21

Panels

1

Gestion des layouts

8.x-3.0-beta2

Features

1

Gestion de l’export de structure

8.x-3.0-alpha5

Devel

1

Outil de développement

8.x-1.x-dev

Field Collection

2

Agrégation de champs

8.x-1.x-dev

Scheduler

2

Gestion des publications

8.x-1.x-dev

Entity API

2

API entités

8.x-1.0-alpha1

Deploy

2

Module de déploiement

8.x-1.0-alpha4

BigPipe

2

Gestion de la relation client/serveur

8.x-1.0-beta3

Calendar

1

Gestion des calendriers

8.x-1.x-dev

Flag

1

Gestion des flags

8.x-4.x-dev

Workflow

1

Gestion du workflow de publication

8.x-1.0-beta4

Secure login

1

Sécurisation du formulaire de login

8.x-1.2

Backup and migrate

3

Backup et migration du CMS

Pas de version

Voting API

2

API de vote

8.x-3.x-dev

CAS

2

Intégration serveur CAS

8.x-1.x-dev

DB maintenance

2

Maintenance du SGBD

8.x-1.2

Oauth

2

Gestion du protocole Oauth

8.x-1.2

LDAP

1

Gestion des LDAP

8.x-2.x-dev

Search autocomplete

2

Autocomplétion

8.x-1.0

Node.js integration

2

Intégration de Node.js

8.x-1.0-alpha1

PDF

2

Génération de fichiers PDF

8.x-1.x-dev

OG

1

Gestion des groupes (communautés)

Pas de version

Group

1

Gestion des groupes (communautés)

Q1 2016

 

La lecture rapide du tableau montre qu’un nombre trop important de modules fondamentaux pour une telle mise en œuvre sont encore en version « dev » ou « alpha » et se révèlent donc impropres à une utilisation en production. Il faut noter par ailleurs l’absence de portage de la suite de module OG, largement adopté en Drupal 7 pour la mise en œuvre de communautés. À ce jour, aucune date n’est annoncée pour sa disponibilité et son module homologue, Group, n’est annoncé que pour début 2016 pour les toutes premières versions.

Il semble donc trop risqué de se lancer dans ce type de projet avant la stabilisation de l’ensemble de ces modules ou du moins des principaux. Celle-ci ne devrait pas intervenir avant le troisième trimestre 2016, rendant ainsi possible le déploiement pour le quatrième trimestre de cette année.