Joomla 3.5 : plus stable, rapide et sécure avec PHP 7

07/03/2016
logo Joomla

Le gestionnaire de contenu open source Joomla s’est appuyé depuis 10 ans sur la technologie PHP, qui l’a rendu un temps très populaire. À l’approche de la sortie de la version 3.5 de Joomla, l’équipe de développement fait le point sur les avantages apportés par la dernière mouture du langage de programmation et la politique de support.

PHP et Joomla

Dès la première version 1.0 de Joomla, le langage PHP était supporté dans sa version 4.2 et le cycle de développement du gestionnaire de contenu mettait à jour la version minimale acceptée à chaque nouvelle version majeure du langage. Les deux outils étaient donc fortement liés. Chaque nouvelle version de PHP introduisait alors de nouvelles fonctionnalités, un gain de performance et de stabilité appréciable. L’arrivée de PHP5 a introduit la programmation orientée objet, permettant aux développeurs Joomla d’écrire un code plus performant.

L’impact de PHP7 du Joomla

L’arrivée de PHP7 a été particulièrement scrutée non seulement pour son apport fonctionnel, mais avant pour le gain de rapidité annoncé. Ce gain n’était pas directement visible sur les sites Web gérant de nombreuses requêtes d’accès, mais après quelques études, il apparaît que la deuxième version bêta de Joomla 3.5 bénéficie d’un temps de construction réduit des pages HTML de 10 % à 30 %. Ce gain est particulièrement appréciable quand la mise en place de PHP 7 se réduit à une case à cocher dans l’espace d’administration de son hébergeur Web.

L’amélioration des performances est encore plus intéressante sur les pages à haut trafic. Par exemple, si un serveur Web pouvait gérer une centaine de requêtes par seconde avec PHP 5.6, le même serveur peut gérer entre 200 et 300 requêtes par seconde avec PHP 7. Les extensions complexes ou gourmandes en calcul de Joomla bénéficient à plein de cette amélioration.

Des problèmes de compatibilité

Joomla possède une classe Jstring depuis sa version 1.5. Dans la version 3.3 un paquetage a été introduit dupliquant cette classe, dénommé « string ». Jstring avait pourtant été conçue pour étendre le paquetage. « String » étant un nom de classe protégé dans PHP 7, pour éviter tout conflit, la classe String du Joomla a donc été renommée StringHelper. Cela implique pour les développeurs utilisant JString, il n’y a aucun problème de compatibilité, mais pour les utilisateurs du paquetage, le risque est réel. Ce problème de compatibilité a été accepté au sein de l’équipe Joomla devant les bénéfices qu’engendrait l’adoption de PHP 7.

Pour l’instant, peu d’hébergeurs proposent le passage à PHP 7 et les utilisateurs ne se sont pas confrontés à ses problèmes de compatibilité. L’équipe développement a donc décidé de supporter les versions de PHP pour Joomla selon la politique suivante :

  • PHP 5.5 – sera supporté pour les mies à jour de sécurité pour les 5 prochains mois
  • PHP 5.6 – le support pour le développement sera conservé pour les 11 prochains moins, et les mises à jour de sécurité pour les deux années suivantes
  • PHP 7 – le support débutera dès la fin de l’année 2018

Impact sur les développeurs d’extension

Tous les développeurs ayant écrit du code utilisant le mot réservé en PHP 7 « String » devront mettre à jour leur code et le remplacer par « StringHelper ». Une extension non mise à jour ne pourra fonctionner avec la version 3.5 de Joomla. Le changement est rapide et ne devrait pas coûter trop d’efforts.

Source : magazine.joomla.org

Solutions

comments powered by Disqus
top