Une feuille de route pour Drupal 8. Et après ?

Une route vue en perspective

Depuis la sortie de la première version stable de Drupal 8, Drupal utilise désormais un système de gestion sémantique des versions. La mise en place d'un tel système de gestion des versions s'est accompagnée d'une définition d'une nouvelle politique de mise à jour, nous permettant de disposer d'une vision à long terme des différentes versions à venir du coeur de Drupal.

Cette nouvelle approche nous permet de disposer de quelques éléments clés pour évaluer la pertinence du choix d'une version de Drupal pour le lancement d'un nouveau projet Drupal (tout du moins à ce jour, dans quelques mois / années la question ne se posera plus), ou encore pour évaluer l'intérêt à court / moyen terme d'une migration vers Drupal 8.

Découvrons en détail le fonctionnement de ce système, et la feuille de route sous-jacente de Drupal pour les années à venir.

La gestion sémantique des versions de Drupal

La première version stable de Drupal 8 est la version 8.0.0. Ce système de notation, connu sous le petit nom semantic versionning ou SemVer, est un système à 3 composants sous la forme x.y.z où chacun des composants à la signification suivante :

  • x représente une version majeure 
  • y représente une version mineure
  • z représente un correctif

Qu'est-ce qu'une version majeure, mineure ou un correctif ?

  • Si vous implémentez une correction de bugs, vous corrigez quelques dysfonctionnements, alors le composant z sera incrémenté.
  • SI vous implémentez une nouvelle fonctionnalité, mais vous conservez une retro-compatibilité avec les versions précédentes, alors le composant y sera incrémenté.
  • D'un autre côté, si vous intégrez de nouvelles fonctionnalités disruptives, i.e. qui impliquent un nouveau fonctionnement de l'API avec une rétro-incompatibilité, alors il s'agit d'une version majeure et le composant x est alors incrémenté.

Ce système de gestion des versions apporte in fine quelques avantages non négligeables :

  • Une meilleure lisibilité de l'état du développement actuel et à venir.
  • Une meilleure gestion des dépendances, ceci afin de ne pas sombrer dans l'enfer des dépendances et son abyme de désespoir.
  • Une feuille de route, une vision à long terme de l'évolution du coeur de Drupal
  • Et enfin (et non des moindres) l'inclusion de nouvelles fonctionnalités à un rythme plus soutenu. 

Une feuille de route pour Drupal

L'adoption par Drupal de ce système de gestion des versions a permis d'établir une feuille de route à long terme de son évolution.

Attaquons directement par le schéma.

Feuille de route Drupal 8
Feuille de route de Drupal (source : www.drupal.org)

 

Tout d'abord, ce schéma, comme son nom l'indique, est une représentation schématique du cycle de vie des différentes versions de Drupal. Cela signifie qu'il ne présuppose pas, par exemple, que la dernière version mineure de Drupal 8 sera la version 8.4.0. Cela pourra être la version 8.3.0 ou la version 8.5.0 ou encore 8.6.0. Mais nous disposons ici d'une évaluation à +/- 1 an environ des prochaines évolutions mineures et majeures de Drupal.

Cette feuille de route nous permet ainsi de connaître précisement les prochaines étapes, mineures et majeures, et nous donne une évaluation sur la durée de maintenance prévisible d'une version précise de Drupal.

Plus précisément :

  • Les versions mineures de drupal (8.1.0, 8.2.0, etc) incorporant de nouvelles fonctionnalités seront publiées tous les 6 mois (avril et octobre de chaque année)
  • Les versions mineures précédentes ne seront plus supportées dès la publication d'une nouvelle version mineure
  • La dernière version mineure d'une version majeure bénéficera d'un support à long terme (LTS)
  • La création d'une nouvelle branche de développement pour une prochaine version majeure de Drupal (9.0.x) déterminera la dernière version mineure qui bénéficiera alors d'un support à long terme (LTS) 
  • Les versions LTS seront supportés durant toute la durée de vie de la version majeure suivante N+1, puis supporté uniquement au niveau de la sécurité durant toute la durée de vie de la version N+2. Cette durée est encore en cours de discussion, pour être allongée jusqu'à trois mois après la publication de la version majeure N+2, soit dans notre exemple la version 10.0.0.

Vous n'êtes pas perdu ?

Pour résumer, La dernière version mineure de Drupal 8 sera maintenue (au moins pour les correctifs de sécurité) jusque la sortie de la version 10.0.0. Soit un support qui peut être estimé entre 7 et 9 ans, si nous prenons une durée de vie moyenne de 4 ans pour chaque version majeure de drupal.

Ce qui peut  nous donner comme dates approximatives de fin de support  : 2020 pour Drupal 7 et 2024 pour Drupal 8.

Nous disposons également d'une visibilité à plus court terme des différentes publications des correctifs des versions mineures.

 

Gestion des correctifs de Drupal
cycle de vie des versions mineures et des correctifs (source : www.drupal.org)

 

  • Les publications des versions correctives, ou les correctifs, seront réalisées tous les mois.
  • Dans les rares cas où un bug serait trop critique, et que sa correction ne puisse attendre la prochaine fenêtre de publication, le correctif pourra être publié au sein d'une version mineure qui n'incluerait que ce seul changement.
  • Chaque version mineure sera publiée en version béta, puis en version RC (Release Candidate) avant sa publication.

Quel intérêt ? Pourriez-vous vous interroger. Et après ?

Et après ?

Cette nouvelle politique en matière de gestion des versions n'est pas anodine. Ainsi  il ne sera plus nécessaire d'attendre une prochaine version majeure (donc entre 4 et 5 ans bien souvent) pour voir de nouveaux modules intégrés dans le coeur de Drupal. Par exemple, il aura fallu attendre 10 ans (soit 2 versions majeures) pour voir le module Views, sans qui Drupal ne serait pas Drupal, être incorporé dans le coeur.  

Drupal 8 va pouvoir s'enrichir de nouvelles fonctionnalités à un rythme plus soutenu, et évoluer dans son époque avec les technologies actuelles et surtout à venir. Par exemple, quelques modules sont déjà proposés pour incorporer le coeur : Big pipe, qui permet un rendu progressif des pages, améliorant significativement la perception et l'expérience utilisateur, ou encore le module Migrate upgrade, qui va proposer une interface graphique permettant en quelques clics de migrer vers drupal 8. Il n'est pas non plus exclu que des modules majeurs comme Pathauto, Redirect, ou encore d'autres modules très utiles comme Admin toolbar rejoignent leurs confrères du coeur.

Outre ce premier intérêt que tout un chacun peut aisément appréhender, cette feuille de route donne aussi une lisibilité à long terme sur la maintenance des différentes versions de Drupal. Et donne des clés essentielles pour le choix de la version à privilégier pour tout nouveau projet Drupal. Ou encore, pour décider de lancer, et quand, son projet de migration vers Drupal 8.

Vous avez un projet Drupal 8 ?

La décision de migrer (ou partir) sur Drupal 8 est conditionnée bien sûr par le périmètre fonctionnel du projet. Mais aussi par ses délais. Et cette visibilité donnée par la feuille de route de Drupal permet de mettre en rapport l'investissement à réaliser (que ce soit en terme financier ou en terme d'organisation) et la durée de vie estimée du projet.

Le recours à un spécialiste Drupal 8 peut s'avérer gagnant dans une phase d'analyse amont de votre projet. De part sa connaissance de l'écosystème de Drupal, actuel ou à venir, Il pourra vous conseiller sur la meilleure stratégie possible au vu de vos contraintes tant fonctionnelles que temporelles.

N'hésitez pas à me contacter pour en discuter.

 

Ajouter un commentaire