Ce n’est certainement pas le titre le plus prestigieux ou « glamour », et ça va peut-être même donner mal à la tête à certains, mais j’ai lu dernièrement un article en anglais qui traitait bien de la question, alors j’ai décidé d’en faire une version.
En simplifiant, utiliser une ancienne version de PHP revient un peu à utiliser du lait qui a (et peut-être largement) dépassé sa date « meilleur avant » dans votre recette : vous ne tomberez peut-être pas malade et le goût de la recette ne changera peut-être pas, mais ce n’est pas garanti. C’est donc loin d’être idéal. Et personnellement, je préférerais jeûner!
Même si WordPress et la plupart des plugins fonctionnent sous PHP 5.6+, on se retrouve à sacrifier de la performance et de la compatibilité, en plus d’être vulnérables aux failles de sécurité de ces anciennes versions PHP.
Dans cet article, j’expliquerai donc ce que c’est PHP (en gros hein!), quels avantages il y a à le mettre à jour et quoi faire de toute cette information!
C’est quoi PHP?
PHP s’occupe (entre autres) de faire les calculs, la logique conditionnelle et d’aller chercher les informations dans la base de données afin de générer votre site dynamiquement.
Contrairement au Javascript, qui modifie le HTML directement sur votre navigateur une fois la page générée (côté client), le PHP se produit côté serveur avant le rendu HTML de la page, ce qui permet un plus grand contrôle du résultat final de la page, de sa mise en page, des informations affichées, etc.
Si vous regardez les fichiers de votre site WordPress sur le serveur (via FTP ou le gestionnaire de fichiers dans votre cPanel), vous y trouverez de nombreux fichiers PHP. Ce sont ces fichiers qui sont responsables des instructions envoyées au serveur et qui construisent votre site public WordPress ainsi que son panneau d’administration. PHP est donc grandement utilisé par WordPress et on estime qu’il est derrière près de 80% des sites web mondiaux!
La version PHP pour WordPress
À ce jour (juillet 2019), la version PHP recommandée par WordPress est 7.3+ (https://fr.wordpress.org/about/requirements/).
Actuellement, ce n’est pas la version la plus utilisée comme le démontrent les statistiques (seulement 37.7% des sites WordPress utilisent PHP 7.1+) et peu d’hébergeurs vont employer leur temps (et leurs ressources) pour faire passer les sites de leurs clients en PHP 7.3+. Et encore moins le faire automatiquement, au risque de planter les sites de leurs clients!
Souvent, les hébergeurs peu scrupuleux vont les laisser en PHP 5.6 et espérer que le client ne s’en rende pas compte… et les statistiques dévoilent que c’est plus courant qu’on pense.
Mais pourquoi mettre PHP à jour?
Chaque version de PHP n’est supportée que durant 2 ans suivant sa sortie, après quoi les mises à jour critiques de sécurité sont faites pendant une année supplémentaire. À la fin de ces trois années, cette version n’est plus mise à jour. Voici un lien vers la liste des versions supportées pour ceux qui sont curieux.
PHP 5.6 a déjà atteint sa fin de vie (end of life ou « eol ») depuis janvier 2019!
Mais quels sont les avantages à mettre à jour la version de PHP que mon site utilise?
1. La vitesse
Le premier avantage à utiliser une version récente de PHP est la vitesse. Comme le démontrent ces tests PHP pour WordPress 5.0 + WooCommerce 3.5.2, PHP 5.6 exécute 24.74 requêtes par seconde, alors que PHP 7.3 exécute 68.87 requêtes par seconde.
Alors si vous trouvez votre site web un peu lent, pensez à vérifier votre version PHP!
2. La rétro-compatibilité est dispendieuse
Un second avantage à progresser vers des versions récentes de PHP est que développer des applications (comme WordPress) pour qu’elles fonctionnent sous plusieurs versions de PHP demande plus de programmation et est donc plus coûteux.
Parfois, d’anciennes fonctions PHP ne sont plus utilisées, n’existent plus ou ont été remplacées par de nouvelles fonctions. Il faut donc ajouter du code aux applications pour chacune de ces versions et vérifier que les changements au PHP n’affectent pas le code. Cela laisse moins de temps au développeur pour l’ajout de nouvelles fonctionnalités ou l’amélioration de la sécurité.
Ce n’est d’ailleurs pas surprenant que les gens (sûrement plusieurs développeurs) au WordCamp US 2018 aient applaudi quand Matt Mullenweg a proposé que PHP 7.0 devienne la version minimale recommandée d’ici décembre 2019.
3. Les vulnérabilités
Tout comme WordPress, les thèmes et les plugins doivent être mis à jour pour corriger des failles de sécurité, et PHP aussi doit être mis à jour, comme le démontre clairement le nombre de vulnérabilités découvertes chaque année!
Comment connaître votre version de PHP dans WordPress
Depuis WordPress 5.1, un outil appelé « Santé du site » a été ajouté. Il est disponible sous « Outils > Santé du site ».
Si votre site n’utilise pas la dernière version de PHP, cela sera affiché sous « recommended improvements » (« Améliorations recommandées » mais la traduction de cette partie de WordPress n’est pas encore terminée).
Vous pouvez aussi vérifier votre version PHP (entre autres détails techniques) sous l’onglet « Informations » dans la sous-section « Serveur ».
C’est beau tout ça mais je fais quoi maintenant?
En fait, si vous avez des questions sur votre version PHP, n’hésitez pas à me contacter.
La quasi totalité des sites hébergés sur mes serveurs (ou dont j’ai la responsabilité avec d’autres fournisseurs) sont actuellement en PHP 7.3+. L’objectif est d’éventuellement retirer complètement PHP 5 des serveurs ou de l’offrir dans un environnement distinct (pour les anciens sites web n’étant plus mis à jour, par exemple).
Si vous utilisez un autre fournisseur pour votre hébergement, n’hésitez pas à contacter votre développeur web afin qu’il vérifie la compatibilité de votre site sous PHP 7+ (il existe plusieurs outils pour cela, notamment « PHP Compatibility Checker » ou encore carrément migrer le site sur un serveur de développement/staging) et demandez à votre fournisseur de service de faire la migration une fois que tout est validé. Après tout, cela fait partie de leur travail de vous fournir un service de qualité et de maintenir leur serveur à jour.