C'est en 1994 que Rasmus Lerdorf inventa le langage PHP, un projet personnel visant initialement à mieux gérer son site Internet. Alors que le PHP souffle cette année sa quinzième bougie, il est utilisé sur un tiers des sites Internet. Qu'il s'agisse de Yahoo, Facebook ou des sites gouvernementaux, le PHP a su s'imposer en se couplant avec une base de données. De Wordpress à Drupal en passant par Gallery et Joomla, nombreux sont les projets open source qui ont permis de densifier la communauté des développeurs.
A l'occasion du forum PHP 2010 organisé par l'AFUP (Association française des utilisateurs de PHP) et qui se déroule actuellement à Paris, nous avons rencontré M. Lerdorf qui revient sur les origines du langages et son évolution.Après avoir créé le langage PHP pour résoudre un problème personnel, quelles ont été vos motivations pour le distribuer en open source ?Rasmus Lerdorf : Oh c'était de la paresse ! En fait j'en étais arrivé à un point où je ne pouvais plus tout gérer tout seul. Les développeurs se plaignaient en me demandant de modifier telle ou telle partie du code. C'était beaucoup de travail. Finalement il était donc beaucoup plus facile de le distribuer et de laisser les autres le modifier eux-mêmes.Pensiez-vous ou espériez-vous que le PHP connaîtrait un tel succès ?RL : Non, je n'avais aucun projet ni aucune vision. Le langage PHP a toujours été très pragmatique et jamais je n'aurais pensé qu'un tiers des sites Internet l'utiliseraient un jour. Tout le monde s'y est mis en corrigeant des portions de code ici et là et c'est finalement devenu très populaire. Vous savez, on ne peut pas planifier un tel succès.Quel est votre rôle aujourd'hui dans l'élaboration du PHP ?RL : Il y a beaucoup de portions de code que je ne connais même pas. Le PHP est devenu tellement large que je ne peux pas donner mon aval sur toutes les initiatives de développement. Les programmeurs familiers avec certains projets prennent en charge eux-même les décisions. Pour ma part, j'essaie de résoudre les conflits. Aussi je donne des conseils et propose des approches.Quels sont vos derniers travaux ?RL : Je travaille actuellement pour la start-up WePay. Je développe les interfaces de programmation
OAuth. Avant cela je planchais sur APC (NDRL :
Alternative PHP Cache) pour la gestion de la mise en cache des données. J'ai toujours travaillé sur des portions de code du PHP.Quels sont les projets développés en PHP qui vous semblent les plus intéressants ?RL : C'est difficile, il y en a tellement et dans plusieurs domaines différents. J'ai été très impressionné par la communauté de Drupal. Aussi, certains travaux de Wordpress sont très intéressants, notamment leur double stratégie avec Wordpress.org et Wordpress.com.
Il y a aussi ce projet fascinant, CrisisCamp, qui permet de fédérer les développeurs et de gérer les catastrophes naturelles. Voilà quelque chose de fantastique qui permet réellement de résoudre un problème. En soit le PHP n'est qu'un langage, c'est un outil tout comme un système d'exploitation mais finalement on peut en faire des choses remarquables.Si l'on en croit la base de données des
vulnérabilités érigée par le gouvernement américain, 30% des failles de logiciels seraient dues à des applications PHP. Pensez-vous qu'il y ait un problème dans l'apprentissage du langage et des bonnes pratiques ?RL : Le PHP est un langage très accessible et les débutants commenceront par apprendre ce dernier plutôt qu'un autre comme Python ou Perl. Ces langages-là sont utilisés par des programmeurs expérimentés qui ne commettent pas d'erreurs. Le PHP permettra à n'importe qui de concevoir facilement une idée et de la mettre en ligne très vite.
Cependant on ne peut pas faire quelque chose qui soit à la fois accessible mais qui demande également un apprentissage profond pour éviter les erreurs. Nous aurions probablement pû faire un meilleur travail dans ce sens mais cela aurait impliqué des limites en terme de fonctionnalités. Nous devons donc garder un bon équilibre parce que plus nous développons des choses poussées, moins ces dernières sont faciles de prise en main. Parfois nous avons arrêté certains projets justement parce qu'ils ne devenaient plus vraiment accessibles.Vous avez travailé sept ans chez Yahoo! Quel a été votre rôle au sein de la société ?RL : Durant les trois premières années, j'ai été chargé d'effectuer la migration vers le PHP. Yahoo était un agglomérat de 35 sociétés rachetées ici et là et possédant chacune leurs propres technologies. Pendant un temps ca a bien fonctionné, même en Europe. Ils laissaient les ingénieurs respectifs prendre en charge le développement de leurs produits.
Après Yahoo! a voulu s'étendre en Asie et y décliner plusieurs de ses sites Internet. Il leur fallait uniformiser leurs infrastructures. Ca aurait été bien trop difficile d'embaucher des développeurs et de les former à différents langages. Yahoo! souhaitait un environnement homogène.N'était-ce pas trop dur de convaincre les ingénieurs de changer d'outils de travail ?RL : Si effectivement parfois c'était difficile, certains refusaient de migrer. Cela en a énervé plus d'un mais honnêtement certaines de leurs technologies étaient tout simplement inefficaces ou incompatibles avec les sites Internet proposés. Et de toute façon, la migration était inévitable.
Une fois la transition effectuée je travaillais avec les ingénieurs, m'occupais du recrutement ou des relations publiques. Prendre en charge la responsabilité du développement du plus grand site Internet était un défi vraiment intéressant mais une fois le travail achevé, je n'avais plus trop de raisons de rester.Nous entendons de plus en plus parler de JavaScript basé sur le serveur comme Node.js. Que pensez-vous de cette technologie ?RL : Je pense qu'il peut y avoir un intérêt à utiliser le même langage côté client et côté serveur bien que les deux ne soient pas totalement identiques.Pensez-vous que cela puisse un jour être aussi puissant et développé que le PHP ?RL : A mon avis cela dépendera de l'écosystème et de ce que feront les développeurs tiers. Par exemple si cela ne permet pas la prise en charge une base de données avec
LDAP alors ce sera simplement inutile. Les bases de données sont très importantes aujourd'hui.Quel est votre framework PHP préféré ?RL : Oh je n'en ai pas, ils sont tous nazes ! Ils essaient d'être trop génériques en voulant répondre aux besoins de tout le monde. Finalement ça ne fonctionne pas. Je préfère les frameworks spécialisés comme ceux de Drupal ou de Wordpress.Enfin quid de PHP 6 ?RL : A l'heure actuelle nous n'avons aucun objectif pour la sortie de PHP 6, tout simplement parce qu'il n'y a pas assez de développeurs. Notre but initial était la prise en charge d'
Unicode. Mais, cela demandait beaucoup de travail pour les développeurs parce que leurs extensions n'étaient plus fonctionnelles. Finalement j'ai décidé de tout arrêter et d'avancer plus lentement et avec de plus petites étapes de transistion.Je vous remercie.