Joomla est un CMS qui fonctionne avec PHP et MySQL. La popularité et la distribution de Joomla depuis 10 ans ont été possibles car avec PHP et MySQL nous avions trouvé une base très conviviale et moderne pour le développement et c’est encore le cas aujourd’hui. Dans cet article, nous allons parler un peu d’histoire et expliquer les avantages et les inconvénients de l’utilisation de PHP7 avec Joomla 3.6.
Au début, Joomla 1.0 supportait PHP 4.2. La version minimum requise de PHP était réajustée à chaque sortie d’une version majeure. Ainsi, le développement de Joomla a toujours été étroitement lié au développement de PHP, et par son utilisation généralisée par les sociétés d’hébergement mutualisé.
Il y a une raison simple et très logique. Avec chaque nouvelle version de PHP, vous pouvez supposer que non seulement de nouvelles fonctions ont été introduites, mais que la vitesse et la stabilité ont également été améliorées. Par exemple PHP5 a apporté le soutien à la programmation orientée objet, ce qui a donné beaucoup d enouvelles possibilités aux développeurs de Joomla d’écrire un code meilleur – pour ne citer qu’un exemple parmi d’autres. Un grand nombre des nouvelles fonctionnalités de PHP ont eu un impact direct sur la sécurité et la stabilité de Joomla.
En plus de nombreuses améliorations fonctionnelles dans PHP7, le plus grand soin a été apporté à la vitesse d’exécution. Ce n’est pas directement visible sur des sites Joomla ayant peu de demandes d’accès, mais après quelques mesures faites avec Joomla 3.6, le temps de chargement et d’affichage complet du code HTML a été réduit de 10 à 30% en moyenne. Ceci est une belle performance pour un simple changement de version de PHP.
Sur les pages à fort trafic, l’amélioration est beaucoup plus sensible et remarquable. Par exemple, si le serveur web peut gérer 100 requêtes par seconde avec PHP 5.6, le même serveur Web pourra gérer 200 à 300 demandes par seconde avec PHP7. Ce sont spécialement les extensions très complexes ou très sollicitées qui bénéficieront considérablement des performances de PHP7.
Joomla est doté d’une classe Jstring depuis Joomla! 1.5. Dans Joomla! 3.3, un package du framework a été introduit, contenant une classe dupliquée nommée « String ». Jstring permettait de faire une extension du Framework, puisque que ce n’était que des duplicatas. « String » est une classe protégée dans PHP7. Ainsi, pour éviter un conflit avec la classe de PHP7, String a été renommé en StringHelper.
Beaucoup d’utilisateurs n’auront pas à se soucier de savoir s’ils doivent passer vers la nouvelle version PHP7 dans un proche avenir, parce que beaucoup d’hébergeurs web, y compris les plus grands, n’en sont encore qu’à fournir PHP 5.5 ou 5.6. Pour les hébergeurs, la mise à disposition d’une nouvelle version de PHP engendre des coûts qu’ils tentent d’éviter, de sorte qu’ils la repoussent. Il ne coute rien de demander gentiment à votre hébergeur de bénéficier du support de PHP7, ce qui vous permettra d’exploiter vos applications sur une plate-forme moderne et rapide.
Toute personne travaillant sur le code avec des termes réservés à PHP7 « String » doit mettre à jour son code et remplacer ce terme par « StringHelper ». Si le code n’est pas mis à jour, l’extension cessera de fonctionner avec Joomla! 3.6. Cette modification est simple à faire et l’effort devrait être limité.
Note: Le problème avec les mots clés réservés à PHP7 n’est pas spécifique à Joomla, mais peut également se produire avec d’autres CMS comme Drupal ou Prestashop.
Essayez Joomla! 3.6 avec PHP 7 si vous pouvez déjà utiliser cette version dans votre contrat d’hébergement actuel. Le noyau a été correctement testé sans aucuns problèmes, mais certains problèmes ont été rencontrés avec des extensions tierces. Pour de nombreuses extensions testées, les erreurs qui ont été trouvées ont complètement bloqué l’exécution, ou du moins des erreurs PHP ont été affichées mais sans affecter l’exécution générale. Nous sommes sûrs que ces problèmes seront résolus une fois que la version stable sera publiée. Il est dans l’intérêt des développeurs dévoués et actifs de soutenir une base moderne, rapide, efficace et stable !
27 Avenue Taieb Mhiri
Immeuble Yasmina, bureau 17
2080 Ariana, Tunis, Tunisie
+216 22 774 450
Centre d'affaires TODA 2
Rue du Rhin Napoléon
67100 Strasbourg, France
+33 9 80 80 10 18
Rue du Port Franc, 2A
1003 Lausanne
Suisse
Avenue Mutsaard, 41
1020 Bruxelles
Belgique
+32 2 588 07 54