Extrait de l'émission CPU release Ex0145 : 25 ans de PHP.
Bonjour à toi, Enfant du Futur Immédiat, toi qui est impatient de faire ton premier site web qui réponde pas systématiquement la même chose aux visiteurs.
Revenons dans les années 1990s, à l'époque où les dot-com
faisaient tourner la tête des investisseurs dans le deuxième arrondissement de Paris. À l'époque, je programmais en Basic, en pascal, un peu en C, en bash et en assembleur, et j'avais fait quelques pages web statiques, qui furent hébergées sur le site de Radio <FMR> entres autres.
Mais un jour, un fournisseur d'accès internet gratuit a proposé d'héberger des pages web, gratuitement là aussi. Et pas que des pages web statiques. Non… on pouvait avoir des pages web dynamiques en langage PHP !
Le PHP à l'époque, promettait par exemple d'inclure une conditionnelle ou une boucle pour afficher ou non un bloc de HTML. En soit, c'était plus un langage de templating mais très très très roots.
C'était du PHP3, et oui, mes premières utilisations étaient plus un succédané de template, où on avait un mélange pas très heureux de code HTML avec son design en tables, et en plein milieu, des inclusions de code PHP.
Ça marchait, et si je devais revoir son code source, il me rendrait honteux comme un péché de jeunesse.
Tu peux faire une page HTML avec du contenu programmatique en PHP en 5 minutes, en un seul fichier, sans utiliser de frameworks et en n'ayant que des notions de HTML. Quel autre langage peut en dire autant ? De sa concurrence de l'époque comme Perl, Python, C# ou Ruby sans framework, il te fallait un temps monstre pour le réaliser avec le langage en vanilla, sans bibliothèques à côté pour gérer la partie HTTP. Et même ses concurrents actuels demandent beaucoup d'outils à côté : Dart, Go, Rust sont hyper rapides, mais pas fait pour servir d'entrée de la page web et Node.JS… ben… Node.JS quoi : Il faut déjà que npm
télécharge la moitié d'internet avant que tu te mettes au boulot. Tu m'étonnes que des devs préfèrent faire du React plutôt que servir des pages HTML construites par le serveur web.
Cela peut te sembler perturbant, du moins, ceux qui ne font pas du JSX, mais c'est comme ça qu'ont commencé nombre de développeurs, et à l'époque de startups : avec un hébergement de code PHP, une base MySQL partagée, chez un des opérateurs quasi-gratuits de site web qui se lançaient. Genre on te monte un proof-of-concept de site web dans la semaine (ce week-end, c'était pas possible, il fallait que t'aille acheter ASAP un bouquin de programmation PHP en libraire), on le montrait à quelques personnes qui étaient prêts à y mettre des sous, et après, roule ma poule !
Enfant du Futur Immédiat, il faut te le rappeler, au tout début, PHP était plus un outil de Rapid Development Software pour faire des applications très précises : des pages web. Un peu comme Microsoft Access ou HyperCard : hyper-limité, mais on pouvait très vite bricoler un truc exploitable, et pas que par les failles de sécurité. Le premier IDE qui s'est fait connaître pour travailler du PHP était Dreamweaver de Macromedia, un éditeur de pages web WYSIWYG. Et PHP était souvent comparé par certains de mauvaise foi au Basic, le $
au début de chaque nom de variable faisant effectivement furieusement penser à ce langage d'apprentissage. Et enfin le PHP avait de nombreux péchés de jeunesse, des choix techniques qui le rendaient facile à apprendre, mais hélas une vraie bombe en termes de sécurité informatique.
Oui, après tout, ce PHP là n'avait pas de typage de variables, si tu confondais le .
et le +
pour concaténer deux chaînes de caractères, tu pouvais avoir des surprises, il était souvent beaucoup trop bavard sur un bug en production, et chacun gérait un projet à sa sauce, chaque entrée d'URL dynamique ayant son fichier .php
, ce qui les rendait pas si maintenables que ça.
Enfant du Futur Immédiat, pour être honnête, le PHP a eu du mal à ne pas attirer les moqueries dans la cour de récré, et beaucoup de sites se faisaient casser la figure dans un coin sombre de la cour par des hackers qui connaissaient par cœur deux-trois erreurs de programmation archi-fréquentes.
Mais en changeant de classe avec la version 4, puis surtout la version 5, il devint plus adulte, plus solide.
Et malgré tout, le langage PHP reste boudé, moqué par de nombreux développeurs qui n'y ont pas vraiment touché.
Je veux dire par là que moi, je peux me permettre de le critiquer : j'en ai longtemps fait. Mais je ne comprends pas ceux qui le charrient, qui disent que ce n'est pas un vrai langage. Peut-être sont-il restés bloqués au PHP d'il y a 20 ans ?
Je crois plutôt qu'ils trollent comme des empaffés. Après tout, un éléphant, ça Trump énormément. (Oui, je sais, placer un président d'une super-puissance d'internet, je frise le tilt)
PHP est utilisé sur près de 80 % des sites web dont on connait le langage côté serveur. Il motorise des frameworks les plus utilisés comme Zend, Symfony, ou Drupal, des applications réellement imposantes comme Facebook, Wordpress.com, Wikipedia, et même le service de visio Zoom. Ses performances n'ont rien de ridicule.
Alors oui, PHP a 25 ans, mais qu'est-ce qu'il a grandi vite, ce langage. Et sa naïveté du début n'est qu'une erreur humaine par le dev pas mis-à-jour.
Oui, Enfant du Futur Immédiat, PHP est un langage qui a cet avantage de la simplicité, typiquement orienté vers une application (le serveur web), mais qui est vraiment évolutif.
Texte : Da Scritch.
Photo : elePHPant CC-NC-By Drew McLellan