PHP est la Toyota Corolla du monde de la programmation
(deprogrammaticaipsum.com)- Depuis leur apparition en 1995, PHP et JavaScript se sont développés comme les deux piliers du web, en étendant leur écosystème malgré les défauts de conception initiaux et la moquerie.
- Les deux langages ont été standardisés en 1997 et ont connu une relance dans les années 2010 grâce au soutien de Facebook et de Google/Microsoft, chacun à sa manière.
- Malgré une longue sous-estimation de PHP pour sa "mauvaise conception fractale", sa syntaxe unique et ses nombreux défauts, il fait fonctionner 70 à 80 % des sites web dans le monde.
- En tant que cœur de la stack LAMP, il est omniprésent, économique, et a évolué en un langage robuste avec des fonctionnalités modernes (OOP, FP, gestionnaire de paquets, tests, etc.).
- Récemment, avec l'arrivée de runtimes basés sur Go comme FrankenPHP, et avec des améliorations continues de la sécurité ainsi qu'un développement piloté par la communauté, il cherche son avenir.
Croissance de PHP et de la programmation web
- En 1995, un développeur logiciel, presque inconnu, a publié la première version du nouveau langage de script PHP, élargissant l'horizon du développement d'applications web.
- Avec une standardisation progressive et l'introduction des fonctionnalités OOP (programmation orientée objet), il est devenu un langage à part entière.
- Néanmoins, sa syntaxe et son modèle d'exécution particuliers, ses nombreuses failles de sécurité et la multiplication des frameworks en ont fait une cible de critiques pendant des décennies parmi les programmeurs "sérieux".
- Malgré cela, grâce à la force de la communauté et au soutien de grandes entreprises du secteur IT, PHP continue d'évoluer et d'élargir un vaste écosystème.
Histoires parallèles de PHP et JavaScript
- En 1995, ils sont apparus respectivement de Rasmus Lerdorf (Personal Home Page Tools) et de Brendan Eich (Netscape).
- Les deux langages ont subi les critiques de programmeurs "sérieux" pour des conceptions et une syntaxe initiales brutes.
- En 1997, la standardisation a été menée via PHP/FI 2 et ECMA-262.
- Dans les années 2010, ils ont connu un essor majeur grâce au soutien de la big tech comme Facebook, Google et Microsoft.
- Au 2025, sont apparus de nouveaux runtimes basés sur Go, notamment FrankenPHP et TypeScript Native.
L'ironie du langage "tout le monde déteste mais tout le monde utilise"
- C, Java, Python, Perl, etc. ont tous leurs propres surnoms.
- C : « assembleur portable »
- Java : « écrit une fois, débogue partout »
- Python : « pseudo-code exécutable »
- JavaScript : « langage créé en 10 jours »
- Perl : « le duct tape d'Internet »
- Malgré des surnoms négatifs comme « mauvaise conception fractale » et « Pretty Horrific Programming », PHP affiche des performances à 70 à 80 % du web mondial.
PHP : la « Toyota Corolla » du monde de la programmation
- Peu coûteux, facile à utiliser partout, symbole de la combinaison LAMP (Linux, Apache, MySQL, PHP).
- Aujourd'hui, PHP est un projet entièrement open source, prenant en charge des fonctionnalités avancées de OOP (traits, property hooks, namespaces, attributs, énumérations) et de programmation fonctionnelle (closures, listes de capture, fonctions fléchées).
- Avec l'arrivée prochaine de l'opérateur pipe, une vérification de type rapide, une bibliothèque standard riche, un gestionnaire de paquets open source performant (Composer) et Packagist, ainsi que le bon framework de tests PHPUnit, il présente des caractéristiques modernes et puissantes.
- Les performances et la vitesse de compilation sont également excellentes ; avec un IDE dédié de JetBrains, sa propre mascotte, une communauté active et un écosystème propre, il dispose d'une communauté dynamique.
Problèmes passés et évolution de la perception
- L'opérateur
goto, des noms de variables particuliers et d'autres défauts anciens existent toujours, mais des améliorations persistantes ont eu lieu depuis dix ans avec des releases régulières, la suppression de vulnérabilités de sécurité et le nettoyage des API héritées.- Dans les années 2000, il y avait des vulnérabilités de sécurité et le mouvement "I Hate PHP" qui a laissé une image négative.
- Au cours des dix dernières années, des releases régulières (chaque novembre), des améliorations de sécurité et une modernisation des API ont renforcé la maturité et la fiabilité du langage.
- Les programmeurs qui méprisaient autrefois PHP doivent maintenant reconnaître les progrès récents.
- Des problèmes de sécurité historiques comme les injections SQL restent des points nécessitant encore de la vigilance.
Communauté et écosystème
- Avec le renforcement d'organisations officielles comme la PHP Foundation et le soutien industriel, PHP conserve, sauf JetBrains, une culture communautaire relativement indépendante de l'influence des grandes entreprises technologiques.
- Le langage était classé 3e en 2004, mais ces dernières années il a quelque peu reculé, se situant entre la 7e et la 15e place selon divers indicateurs.
- Même si les classements de popularité de TIOBE, IEEE et PYPL sont en baisse, certains, comme RedMonk, montent régulièrement dans le haut du classement, montrant que la baisse n'est pas aussi marquée qu'on pourrait le croire.
Évolution du moteur : FrankenPHP
- Pendant des décennies, le Zend Engine a servi de moteur standard de PHP, mais l'introduction récente du nouveau runtime officiel FrankenPHP a considérablement amélioré la prise en charge des environnements conteneurisés.
- En maintenant une compatibilité 100 % avec la base de code existante, FrankenPHP offre une containerisation simple et un nouveau modèle d'exécution, devenant un acteur central de l'évolution de PHP vers l'avenir.
Avenir et perception de PHP
- PHP peut encore être qualifié de langage "non sérieux", mais l'impact concret de sa large base de sites et d'applications, ainsi qu'une communauté active, restent bien réels.
- Il conserve encore une mauvaise réputation, qualifié de « produit d'un design accidentel » et de « langage qui n'apparaît pas dans les articles de recherche ».
- Il est possible de constater, comme l'a souligné Rasmus Lerdorf, qu'il s'agit d'un langage basé sur la participation volontaire de la communauté et sa croissance.
- Il est devenu un succès open source de type bazar, où l'on a abandonné le contrôle pour laisser évoluer le langage grâce à la collaboration de nombreux contributeurs.
Conclusion
- PHP est une présence incontournable de l'écosystème web, une véritable « Toyota Corolla » de la programmation.
- Bien qu'il soit souvent l'objet d'humour et de critiques, il est en réalité un langage de programmation robuste qui constitue la base du web mondial.
- Avec des coûts faibles, une faible barrière d'entrée et un écosystème riche, il offre un environnement qui facilite les premiers pas des jeunes développeurs.
- Il possède un potentiel de développement durable grâce à la combinaison entre communauté et nouvelles tendances technologiques.
8 commentaires
En résumé, c’est un langage qui rapporte de l’argent.
En tant que professionnel du PHP, j’ai du mal à comprendre pourquoi on le rabaisse à ce point.
Tout le monde crie que PHP est bon marché, facile à mettre en place, inutilisable à long terme et peu sûr. Pourtant, cette façon de penser est totalement obsolète, et j’ai envie de dire avec certitude à ces gens : « idiots ». Le PHP d’aujourd’hui est un langage très moderne; même pour un projet à long terme, il est possible de créer des modules réutilisables sur n’importe quel site web, et les frameworks PHP modernes le confirment. Bien que ce ne soit pas la version la plus récente, PHP en version 8 et supérieure a fortement amélioré la sécurité et annonce des mises à niveau chaque année. Laravel, par exemple, met également à jour sa version annuellement. À ceux qui disent que PHP est peu sûr, je peux rétorquer que de nombreux rapports de vulnérabilité existent côté Java ou d’autres langages backend, et que des risques majeurs continuent de se matérialiser. À titre d’exemple, la Corée du Sud, où l’État utilise Java via JSP, voit chaque année émerger des problèmes de sécurité.
Conclusion : PHP n’est ni stupide, ni faible, ni bon marché. Ce sont les personnes qui utilisent mal PHP qui sont stupides, faibles et bon marché.
La Corolla ?
Peu coûteuse, elle est facile à découvrir et à utiliser pour tout le monde.
Bien que ce soit une petite citadine, elle donne une sensation d’être assez spacieuse pour y caser toutes sortes de choses.
Son apparence est aussi plutôt agréable.
Mais sa consommation est mauvaise, donc sur le long terme elle n’est pas aussi économique qu’on pourrait le penser.
Quand on veut justement y caser des trucs, la puissance du moteur et divers problèmes la rendent difficile à piloter comme on le souhaite.
On peut profiter de la carrosserie sympa pour en faire un camping-car et la customiser un peu ici et là, mais au final on finit par la conduire un peu à l’arrache.
Sans compter le risque de retournement.
Peu coûteuse, accessible à tout le monde et facile à utiliser.
En PHP, elle peut servir pour le web, le CLI, des workloads, etc.
Son apparence peut aussi être joliment configurée.
Elle devient vite du spaghetti, et avec l’augmentation des versions de PHP, elle se complique de plus en plus, ce qui fait monter le coût de maintenance davantage que prévu.
En réalité, si on veut vraiment l’utiliser pour plusieurs usages, elle est trop lourde pour un usage CLI et pas si facile hors du web.
Même un framework propre comme Laravel ou Symfony ne tient que peu de temps : il est vraiment difficile de résister à la tentation de tout empiler au hasard et de faire du spaghetti.
Un langage pour lequel il faut sans cesse se préoccuper des menaces de sécurité, ou d’en être suspecté en permanence.
C’est un peu comme la Morning ou la Spark, non ? T’as pas d’argent mais tu veux quand même conduire, lol. Moi aussi, au début c’était le PHP pour moi, mais de nos jours je ne l’utilise presque plus. Quand je vois un truc comme Laravel, je me demande pourquoi utiliser autant d’OOP pour un petit projet. C’est du foutoir complet, un vrai mélange confus. Sans framework, du code bricolé par plusieurs personnes, c’est juste des xx.php, xx1.php à gogo, lol.
Si on la compare à une voiture locale, à quel modèle cela correspondrait-il ?
Porter ?
C’est risqué, mais il n’y a rien de mieux que ça.
Pour ma part, je pense aussi que « Porter » est assez approprié.
Avis de Hacker News
Java ressemble un peu à la Corolla. Elle vise délibérément une certaine banalité, avec moins de peps que des concurrentes comme la Mazda3, et donne l’impression de ne servir qu’à aller de A à B. PHP, c’est la Hyundai Elantra du monde de la programmation. Par le passé, sa faible barrière d’entrée en faisait le langage de tout le monde, mais ses défauts de conception et sa réputation de fiabilité ont longtemps alimenté les moqueries. Comme l’Elantra, il a pourtant beaucoup évolué et c’est aujourd’hui plutôt correct.
L’évaluation de la Corolla est bien différente de la réalité d’aujourd’hui. Depuis 2023, la Corolla d’entrée de gamme intègre par défaut des aides à la conduite avancées, et elle surpasse même la version haut de gamme de certaines Mazda. C’est la seule voiture Toyota à avoir réussi le test d’urgence qui doit s’arrêter complètement à 62 miles.
L’analogie est brillante, mais l’exemple est discutable. La Mazda3 me paraît davantage correspondre à une image « simple d’options, bon marché et qui fonctionne bien », surtout à partir de 2025. Et je ne me souviens pas d’une période où la Corolla aurait été vraiment mauvaise en fiabilité. Un de mes oncles m’a toujours dit que sa Corolla de 1969 était une vraie voiture neuve quand il l’a achetée. C’est ça qui a ouvert la voie à la montée des voitures japonaises des années 80.
Aujourd’hui, Java est plutôt bien. Il a gagné en fonctionnalités : inférence de types, fibers, blocs de texte, records, etc. Si on ne regarde que Java 8, c’est différent, mais je ne suis plus aussi rebuté que par le passé par l’environnement Java moderne.
La métaphore est vraiment bien trouvée. J’aimerais bien savoir à quoi ressemble Python dans ce genre d’analogie, histoire de m’en souvenir quand je vais acheter une voiture.
Java est peut-être plus proche de Honda. Elle est partout, extrêmement répandue, d’une banalité rassurante au point d’être ennuyeuse. Beaucoup d’initiatives ont essayé de la remplacer ou de l’éliminer, et pourtant elle continue de bien s’en sortir.
Le succès de PHP vient d’un point clé : le déploiement était incroyablement simple. Les développeurs ont tendance à sous-estimer ça, mais quand j’ai débuté dans le web, pouvoir mettre en production en quelques minutes m’a paru révolutionnaire. J’avais l’impression d’être sur un vélo : pas cher, sans permis, accessible à tout le monde, et on pouvait rouler vite sans procédures compliquées. Même après plus de dix ans sans l’utiliser, c’est ce qui m’a fait replonger avec un vrai plaisir.
On voit beaucoup de moqueries autour de PHP en ligne, et la phrase « n’importe qui peut utiliser PHP — beaucoup d’idiots l’ont fait, en pratique » m’a particulièrement marqué. Mais le fait qu’il soit accessible est un avantage en soi. Je pense que plus de gens devraient pouvoir programmer, et si PHP le permet, c’est une bonne chose.
Une expérience avec zéro friction, c’est déjà un bond quantique. Si une tâche importante peut être faite de manière absurdemment simple, qu’il s’agisse d’un outil spécialisé ou d’un service grand public, on finit par accepter ses défauts. Cela me rappelle la maxime célèbre : « Faites une seule chose, mais bien. »
Quand je travaillais autrefois avec des scripts Perl CGI, il fallait sans cesse composer avec des blocages : upload FTP, droits d’exécution, permissions des fichiers, etc. Avec PHP, comme il est intégré au serveur web, tout ça disparaissait souvent et ça tournait sans se battre avec l’administrateur web. Là encore, l’impact venait surtout de l’architecture de déploiement, pas des caractéristiques du langage.
PHP est un langage difficile à résumer en une phrase. À la fin des années 1990, je l’ai adopté en remplacement de mod_perl, et il permettait d’ajouter facilement des données dynamiques à des pages statiques. À l’époque, je n’avais aucune idée de la manière de construire de gros sites, donc c’était une suite de tâtonnements. Mais le langage lui-même, lui, n’était vraiment pas très bon. Comme on dit souvent, « les mauvais artisans blâment leurs outils » ; imagine un tournevis avec deux manches et trois pointes prises au hasard. Ça peut dépanner, certes, mais quand quelqu’un dit qu’il adore un tel outil, ça soulève des doutes. Pourtant, juste à côté, il y a un Snap-On gratuit et bien meilleur. Autrement dit, ajouter de petites fonctions côté serveur en PHP, ça passe, mais ensuite on accumule des structures gigantesques et tentaculaires ; puis on dit : « Regarde, je peux faire ça avec ce tournevis ! » alors qu’une partie s’écroule au bout d’un moment. Ça inspire peu de confiance. C’est un peu mieux aujourd’hui, mais ça reste un tournevis extrêmement particulier.
Les autres langages ont fini par rattraper PHP. Au départ, les langages qui permettaient d’écrire du code directement dans le HTML étaient plutôt des solutions fermées comme le server-side JavaScript, ColdFusion ou ASP. PHP a été le premier à être open source et à atteindre un niveau réellement utilisable ; en 2001, il est devenu la première option pour le développement web. Même face à cgi-bin et autres, il était plus rapide sans build, et la gestion des ressources était meilleure, ce qui a permis aux hébergeurs de proposer un hébergement PHP bon marché. Cela a aussi rendu possible l’apparition de produits open source qui ont changé la donne, comme WordPress. Mais ses limites sont vite apparues : pour faire de bonnes webapps, il faut une structure de framework qui route les pages selon les entrées. Par exemple, en cas d’erreur de formulaire, il faut afficher l’écran de succès ou renvoyer le message d’erreur. Même si on peut le faire en PHP avec de la discipline, dès qu’on introduit un routeur, il devient logique de créer un système de templates séparé pour les vues. Depuis Ruby on Rails, tous les langages ont fini par disposer de frameworks aussi pratiques que PHP, avec une exigence de discipline à peu près équivalente.
includedans PHP au début des années 2000, ça a semblé être la pièce manquante du puzzle. On n’avait plus besoin de synchroniser manuellement en tête, navigation et pied de page sur des dizaines de pages. Avant l’arrivée de Rails, je n’avais encore jamais réalisé de vraie webapp. Rails a beaucoup amélioré l’accessibilité avec sa structure et ses conventions ; le PHP complexe de l’époque ressemblait à des spaghettis, difficile à suivre quand on était en phase d’apprentissage.Cela fait plus de vingt ans que j’utilise PHP, et c’est toujours mon langage n°1 côté backend. Je ne suis pas ingénieur serveurs, mais PHP est rapide, bien maintenu, et avec un minimum d’expérience on peut construire des serveurs solides, sûrs et performants. Je ne suis toutefois pas très fan du langage lui-même. J’y vois pourtant une présence dominante pendant encore cinquante ans. J’appelle ça mon « graphique aquarium » — ce graphique explique tout : Lien du graphique
J’ai aussi utilisé PHP plus de vingt ans. Je pense que c’est encore un bon langage. Aujourd’hui, je préfère TypeScript, mais je finis encore par écrire des scripts en PHP car les fonctions intégrées restent pratiques.
Je me demande d’où viennent les chiffres de ce graphique. Voir Scala à 4,6 % et Python à 1,2 % me surprend totalement ; la perception du terrain peut être différente du marché global.
Pour moi, ce graphique ressemble surtout à la domination de WordPress (43 % de l’ensemble des sites), plus Joomla (2 %) et Drupal (1 %), des CMS tous basés sur PHP.
L’auteur explique bien que beaucoup de problèmes de conception de 2009 ont été corrigés, mais il ne convainc pas sur la question de savoir pourquoi il faudrait choisir PHP pour un nouveau projet en 2025. Il n’apparaît pas clairement quel est son avantage décisif par rapport aux autres langages. Les fonctionnalités citées sont plutôt de même niveau que celles des autres, sans gain net évident.
Le réel avantage de PHP est son architecture « shared nothing ». Par exemple, dans un environnement Python comme fastapi, si on stocke des données en mémoire, elles persistent entre requêtes. Ça peut résoudre un problème vite, mais ce modèle rend ensuite les résultats difficiles à prévoir et le debug complexe. En PHP, rien ne reste entre deux requêtes ; les données que l’on veut conserver doivent donc être stockées à l’extérieur, ce qui prévient fondamentalement ce type de bug. C’est finalement un avantage assez important quand on écrit beaucoup de code.
Les avantages de PHP sont similaires à ceux d’hier : 1) déploiement particulièrement simple et rapide en hébergement mutualisé ; 2) absence de partage de données entre requêtes, ce qui aide la concurrence et le parallélisme ; 3) possibilité de mélanger avec le HTML sans langage de template dédié. Le troisième point n’est pas un avantage universel, beaucoup de frameworks privilégient un template language séparé, mais il peut parfois être très pratique.
Si on compare avec Python, Ruby ou JavaScript, PHP peut aussi mettre en avant son architecture shared nothing, la maturité de son écosystème open source et de sa communauté, une gestion des paquets unifiée, et des performances globalement meilleures (peut-être pas aussi rapides que JavaScript). Les langages concurrents peuvent être meilleurs sur un critère donné, mais c’est PHP qui, à mon sens, coche tous les critères ci-dessus.
Le fait qu’il y ait déjà beaucoup de code en place peut en faire une bonne base pour le vibe coding.
Je pense que l’auteur n’explique pas suffisamment à quel point PHP a vraiment évolué depuis 2009. La plupart de ses arguments reposent sur « on ne fait pas comme avant, il existe des façons nouvelles », ce qui te pousse à tomber dans de vieilles pratiques et à galérer. De bons choix par défaut sont importants, et il néglige cet aspect.
L’article se concentre trop sur les critiques de PHP et perd en impact : il n’explique pas assez clairement pourquoi le choisir en 2025. Je n’ai pratiquement jamais utilisé PHP, mais j’aurais voulu voir des raisons plus convaincantes sur ce qui vaut vraiment la peine d’être utilisé en 2025. Les arguments avancés ne me convainquent pas vraiment.
La première fois que j’ai rencontré PHP, c’était assez drôle ; j’ai l’impression que ma carrière s’est orientée à partir de là. En fin de licence, je devais passer plusieurs cours clés en même temps, ce qui était très difficile. L’un d’eux portait sur le développement web et consistait à réaliser un site e-commerce. On a appris plusieurs méthodes, et la facilité de déploiement de PHP m’a paru un avantage énorme. Mais au final, l’enseignant a imposé le vanilla JS, et je n’ai pas réussi à bien déployer en JS. Les autres étudiants n’ont pas mieux fait. Selon la grille de notation, le code comptait pour 20 % seulement, le reste tournant autour du design du site et du fait de réussir le déploiement dans les délais. Comme je savais que ça fonctionnerait forcément en PHP, j’ai sacrifié la qualité du code pour me concentrer sur la mise en production, et j’ai obtenu un B-. La plupart des étudiants ont échoué simplement parce qu’ils n’ont pas pu déployer. Je m’intéresse beaucoup à PHP aujourd’hui, mais je ne sais pas trop par où commencer ni quel écosystème privilégier. Les gens continuent encore à considérer PHP comme un langage moche et peu sûr.
Jusqu’à ce que je me dirige vers un autre domaine, PHP m’a permis de gagner pas mal d’argent. Sur vingt ans de carrière, je n’ai jamais été sans travail. Les personnes autour de moi qui utilisaient d’autres langages ont souvent eu plus de difficulté à trouver du travail de manière continue.
Je ne suis pas d’accord du tout. PHP, c’est comme un Ford Escort : il faut souvent s’en occuper, la sécurité est faible, mais la conduite est simple. La Corolla, elle, est vraiment, vraiment fiable, cohérente et bien plus sûre. (Ayant manipulé plusieurs voitures et plusieurs langages, je suis persuadé que PHP est simplement un choix moins bon.)