C’est le 8 juin 1995 que Rasmus Lerdorf a annoncé publiquement l’existence de la version 1.0 de PHP. Cela fait donc 25 ans que ce langage de développement omniprésent sur le web existe, 25 ans aussi qu’il se traine la réputation d’être un mauvais langage. Pas forcément pour une mauvaise raison, d’ailleurs, puisque le PHP n’a jamais été pensé à l’origine pour tout ce qu’on lui a fait faire par la suite.
Rasmus Lerdorf a choisi le nom de PHP pour « Personal Home Page ». Ce petit projet personnel devait uniquement servir à créer des pages web à partir de modèles (templates). Chaque modèle contenait du HTML augmenté de quelques lignes de PHP, par exemple pour chercher une information dans une base de données et remplir la page web finale. Il faut dire que dans les années 1990, la seule alternative à la production de pages web « à la main » était d’écrire du code en C et ce projet a considérablement simplifié le processus.
Mais comme son créateur l’a reconnu par la suite, son idée de base était que le PHP servirait uniquement à la mise en page du site et le reste devait toujours être écrit en C. Sauf que personne ne voulait coder des sites web en C et au contraire, tout le monde voulait utiliser PHP pour tout faire sur les serveurs. Pour répondre à cette demande, les fonctions ont été ajoutées au fil des mises à jour, mais toujours sur cette base simple et sans aucune réflexion d’ensemble.
C’est la source de la mauvaise réputation de PHP, un langage de développement qui n’a pas eu de spécification formelle avant 2014, près de vingt ans après sa création. Plusieurs nouveautés majeures ont été ajoutées après coup, à l’image des concepts de programmation objet qui sont arrivés avec PHP 5. Cette accumulation de fonctions et son approche très simple qui a permis à de nombreux développeurs pas toujours expérimentés d’écrire du mauvais PHP ont conduit à des performances souvent désastreuses et d’énormes failles de sécurité.
Depuis quelques années, les concepteurs de PHP travaillent néanmoins à corriger ces défauts originels. Avec PHP 7 sorti en décembre 2015, les performances ont connu un bond en avant impressionnant. Et ce n’est pas fini : PHP 8 qui devrait sortir à la fin de l’année permettra de doubler à nouveau les performances dans certains cas. La grosse nouveauté sera la compilation « JIT » (Just In Time) qui compilera à la demande le PHP en code machine x86 et pourra ainsi accélérer les traitements.
Les gains réels dépendront du type d’opération réalisé, ils devraient surtout se retrouver sur les opérations les plus lourdes, notamment celles qui reposent sur des calculs mathématiques. Malgré tout, c’est intéressant de voir que le langage le plus utilisé sur le web est en train de devenir un champion des performances. Mais même si ses créateurs avancent rapidement, ses utilisateurs ne bénéficient pas toujours des dernières nouveautés.
On estime que près de 80 % des sites web reposent aujourd’hui sur PHP, dont un bon tiers environ uniquement grâce à WordPress. PHP 5 continue toutefois d’être utilisé par quasiment la moitié de ces sites et même pour ceux qui ont mis à jour, la majorité est encore en version 7.2 ou antérieure, alors que l’on en est à la 7.4. Et puis même si les serveurs sont à jour, les apps installées sur les serveurs exploitent encore rarement les nouveautés du langage.
WordPress, pour en revenir au plus gros CMS sur le web, commence tout juste à envisager de mettre à jour son code pour PHP 7. Jusque-là, les développeurs assuraient une rétro-compatibilité jusqu’à PHP 5.2 qui les empêchait de bénéficier des dernières innovations. Autant dire qu’il reste encore un gros travail pour que l’immense base de lignes de code qui forme WordPress soit entièrement mise à jour.
Source : Michael Tsai