Rasmus Lerdorf inventeur du PHP

Je trouvais que Perl était trop lent

Nexen a rencontré Rasmus Lerdorf, inventeur du PHP qui, au cours d'un entretien d'une heure, a dévoilé un peu de l'histoire et de l'organisation du langage le plus dynamique du web. (, 24 avril 2001)

Cette interview est réalisée par Nexen.net et présentée en quatre volets thématiques:

Historique de PHP, Actualité du langage, Communauté, Futurs développements.

Actualités du langage | Communauté | Futurs développements

Nexen: Pouvez vous dater le premier script PHP qui ait jamais existé?

Rasmus Lerdorf: C'est difficile à dire. J'ai commencé à écrire des scripts, généralement en langage C, vers le milieu de 1993.J'ai alors rassemblé tous ces scripts en une librairie. Cela devait se situer vers septembre 1993.Ensuite, j'ai commencé à écrire un micro-analyseur de macro : il recherchait des balises spéciales dans le code HTML, puis appelait les fonctions dans la librairie C. Je pense qu'une première version de ce moteur était globalement fonctionnelle au mois de Novembre 1993.Mais elle n'était pas publiée. La première publication remonte à Février 94 (à peut près).

En 1994, il existait déjà des outils CGI en C. Pourquoi avez vous décidé de faire le votre?

La première version du moteur n'avait pas de plan général : il recherchait simplement des balises, puis appelait les fonctions correspondantes dans la librairie. Puis, j'ai commencé à ajouter de nouveaux éléments.A l'époque, je trouvais que Perl était trop lent. Créer un nouveau processus avec l'analyseur Perl était trop restrictif, et de plus, je n'utilisais même pas toute sa puissance. Ca m'ennuyais de rester les bras croisés à regarder mes pages se charger.

J'ai commencé à l'utiliser sur un site qui s'appelait io.org. J'avais alors un petit compteur qui affichait en bas de page le nombre de hits sur cette page, ainsi que la dernière personne qui était venue, etc…D'autres webmestres sur le même site de io.org ont vu cette fonctionnalité, et ont demandé comment faire. Je leur ai dit, et bientôt, toutes les pages sur ce site ont utilisé ces scripts.Alors, les administrateurs du site ont commencé à se plaindre, car cela consommait beaucoup de ressources.A l'époque, le moteur d'analyse était un programme CGI lui-même. Alors, j'ai étudié les sources du serveur HTTP NCSA (httpd), et j'y ai intégré PHP. C'était difficile, car NCSA server n'avait absolument aucune API pour ajouter ce type de module. J'ai convaincu les administrateurs d'installer à la place Apache, qui avait des API pour les modules (c'était le début). Puis, j'ai obtenu un travail à l'université de Toronto : il fallait que j'installe un système de connexion à Internet gérée par une interface web. C'est à ce moment que j'ai rééllement fait progressé PHP/FI (c'est à dire PHP Version 2). J'avais besoin de cet outil pour créer un site à fort volume.

Comment PHP est-il devenu un projet collaboratif? PHP est devenu un projet collaboratif essentiellement par accident

Essentiellement par accident. Je travaillais sur ce projet de connexion à l'université de Toronto, et j'avais mis mon code à disposition sur ma page web, pour que d'autres en profite. Un jour, j'ai recu un email d'un gars, au Japon, avec une mise à jour. Je n'avais absolument aucune idée de qui utilisait PHP en dehors de mon serveur. Même au Canada, alors au Japon.. Mais ce patch était génial. Il résolvait un problème que j'allais inévitablement rencontrer.

Est-ce que ce programmeur japonais contribue toujours?

Non, j'ai perdu sa trace. Mais depuis, j'encourage tout le monde à apporter sa contribution. Je n'aime pas programmer, et si d'autres peuvent le faire à ma place, c'est génial.