Vous êtes ici

Pourquoi abandonner Drupal 6 ?

Fin de support annoncée de Drupal 6 3 mois après la sortie de Drupal 8

Plus de 4 ans après la sortie de Drupal 7, alors que la sortie de Drupal 8 est imminente, un peu plus de 12% des sites existants en Drupal sont encore en Drupal 6.

Ainsi, en tant que développeur Drupal, je suis en ce moment sollicité par des clients ayant des sites développés en Drupal 6, qui sentent confusément que la nécessité de passer aux versions supérieures de Drupal devient encore plus tangible (sortie prochaine de Drupal 8 oblige), mais sans pour autant mesurer les raisons pour lesquelles ce passage devient absolument nécessaire.

Ce billet a pour objectif d'apporter quelques éléments de réponses sur le sujet. Pour faire suite à ce billet, Le prochain aura pour titre "Drupal 7, Drupal 8, lequel choisir aujourd'hui pour son projet".

Version 5.2 de PHP obsolète

Drupal 6 est compatible jusque PHP 5.2 et n’est pas officiellement compatible PHP 5.3 et +. Drupal 6 a longtemps conservé une compatibilité avec PHP4 ce qui a empêché une compatibilité avec les branches 5.3 et supérieures de PHP (incompatibilité entre PHP 4 et PHP > 5.2). Cette contrainte a été abolie le 1er mars 2014 (https://www.drupal.org/node/2159315) et a donc ouvert la voie à la compatibilité 5.3.x du core Drupal 6. Cependant cette décision est intervenue en fin de vie de Drupal 6 et beaucoup de modules contributeurs n’ont pas nécessairement suivi le mouvement et peuvent générer de nombreux warnings sur PHP 5.3. Quoi qu’il en soit Drupal 6 est définitivement incompatible avec la branche 5.4 et plus de PHP.

La version PHP 5.2 est obsolète (http://php.net/eol.php) et peut poser des problèmes de sécurité et de performance (voir liste des vulnérabilités sur pour PHP 5.2.17 qui est la dernière version PHP 5.2 : http://www.cvedetails.com/vulnerability-list/vendor_id-74/product_id-128...).

A titre d’information OVH va arrêter en septembre de cette année de maintenir les versions 5.2 et 5.3 de PHP sur ses serveurs mutualisés.

Fin de maintenance de Drupal 6

La fin de support de la version 6 de Drupal interviendra 3 mois après la sortie de la première version stable de Drupal 8 (https://www.drupal.org/d6-lts-support) qui interviendra très probablement en septembre 2015. Ce qui laisse augurer d’une fin de support pour Drupal 6 en décembre 2015.

Cela s’signifie que les corrections de bugs et de failles de sécurité ne seront plus assurées, que les évolutions d’API tierces (telles qu’en ont connu facebook, Twitter, ou Google Analytics) ne feront plus l’objet de mise à jour des modules qui les utilisent risquant ainsi de voir certains services ne plus fonctionner. Et que d’une manière générale toutes nouveautés ou évolutions utiles ou nécessaires ne seront plus apportées.

Faible compatibilité HTML5 et faibles capacités responsives des thèmes de base

Avec l’augmentation du trafic mobile et la décision de Google de pénaliser les sites n’étant pas « mobile-frendly » (http://googlewebmastercentral.blogspot.fr/2015/04/rolling-out-mobile-friendly-update.html). Le besoin de thèmes responsives s’est fait sentir sur toutes les plateformes, y compris pour les sites anciens développés en Drupal 6. Hors, depuis la sortie de Drupal 7 le 5 Janvier 2011, les efforts de mise au point de thèmes de base tels qu’Omega, Zen ou MotherShip, permettant de réaliser des intégrations HTML5, CSS3 de qualité, et disposant nativement de mécanismes favorisant l’intégration responsive c’est principalement focalisé sur Drupal 7 puis sur Drupal 8.

Par ailleurs, Drupal 8 dispose également d’un certain nombre de modules visant à faciliter la compatibilité HTML5 et responsive. Certains d’entre eux ont été back-portés sur Drupal 7 tels que HTML5, More HTML5, Views Responsive Grids, Responsive Tables, Breakpoints, Responsive Images mais ces modules ne sont de toutes façon pas disponibles sur Drupal 6.

Développer un site responsive Drupal 6 de bonne qualité au regard des normes HTML5 CSS3 et disposant de mécanismes responsifs optimisés (comme par exemple les images responsives) est donc beaucoup plus lourd et plus coûteux sur Drupal 6 que pour Drupal 7 ou 8.

Un socle vieillissant au regard des bonnes pratiques et des nouveautés du web

Drupal 7 et a fortiori Drupal 8 ont apporté de nombreuses nouveautés dans leur API qui facilitent l’intégration des sites, apportent une bien meilleure robustesse de l’ensemble, favorise la maintenabilité en terme de développement et permet de répondre aux nouveaux besoins du web de manière intégrée (images responsives, API RESTful, cold-cache plus performant que le cache monolithique D6 et D7, etc.).

Conclusion

Toutes ces raisons font que Drupal 6 doit être considéré comme un outil obsolète, dont le remplacement s’avèrera indispensable d’ici 1 à 2 ans grand maximum pour tout site de quelque envergure souhaitant pérenniser son activité.