Peux-tu te (re)présenter en quelques mots ?

Je suis expert PHP depuis quelque temps maintenant. Pour être plus précis, ça fait environ 13 ans que je ne fais que ça, et 7 ans que je suis consultant à part entière. À ce titre, j’ai fait et j’ai vu beaucoup de choses relatives au développement web, et pas uniquement des belles !

Que penses-tu de l’évolution de PHP depuis l’abandon du développement de PHP 6 ?

J’avoue ne pas toujours trouver le temps de suivre de très près les tribulations internes de la liste de diffusion des développeurs de PHP, @internals. Mais j’ai cependant le sentiment que les tensions y sont moindres et que d’avoir renoncé à l’Unicode a quelque peu débloqué les processus. Les nouveautés se succèdent à un rythme nettement plus soutenu, et c’est tout à notre intérêt.

Avec le recul, penses-tu que la communauté des contributeurs a tiré toutes les leçons des erreurs commises avec PHP 6 ?

Je pense en effet que certains ego ont été mis de côté, et que l’intérêt de la communauté de développeurs est passé devant les aspirations plus personnelles. Je peux comprendre que l’on soit plus intéressé par les challenges les plus pointus techniquement, mais s’ils sont disproportionnés et n’ont pas d’intérêt, alors il est préférable d’être pragmatique et de se concentrer sur les évolutions réalistes plutôt que sur les évolutions idéales. Et il me semble que c’est ce qui se passe. Il y a eu également un certain renouvellement du staff qui est sans doute salutaire pour le dynamisme de cette communauté si particulière.

PHP évolue aujourd’hui beaucoup plus vite que par le passé, penses-tu que ce soit une bonne chose ?

Sans aucun doute possible et je souhaiterais même que ça aille encore un peu plus vite. J’aime l’idée que plusieurs versions majeures soient maintenues en parallèle, ce qui permet d’avoir une version qui va loin et qui peut s’offrir de véritables ruptures avec l’existant, alors qu’une autre permet de le maintenir en place sans problème.

C’est à cet égard que j’aimerais que la séparation entre la branche précédente et la branche actuelle de PHP soit plus marquée. Je pense que le langage continue malgré tout de traîner comme un boulet des artefacts antiques qui n’ont plus lieu d’être, même s’il est vrai que les versions majeures se succèdent désormais plus régulièrement, et que chacune est une occasion de s’en débarrasser. Je dois cependant relever que PHP 5.5 a été à cet égard nettement plus timide que son prédécesseur et j’avoue que j’espérais que le grand coup de balai initié avec la version 5.4 aurait poursuivi avec plus d’assiduité. J’espère simplement que cette pause n’augure pas d’une nouvelle période de conservatisme…

De nouveaux langages comme Go, Dart, Node.js, Scala ou Closure sont venus s’ajouter à la liste des concurrents de PHP au côté de Ruby et python et ils semblent avoir un gros potentiel. En conséquence, penses-tu que PHP soit encore un bon choix actuellement pour commencer un projet ?

Je vais te faire une réponse un peu trollesque ce qui, j’imagine, ne te surprendra guère. Depuis le temps qu’on me dit que PHP est démodé, que Python est formidable, que Ruby est génial, etc., j’avoue que je ne vois pourtant guère les choses bouger énormément. Certes, ces différents langages se sont fait une place, et c’est très bien ainsi et je pense d’ailleurs que cette concurrence de plus en plus vaste du côté des langages de script orientés web n’est pas étrangère à l’accélération du développement de PHP.

Cependant, d’après ce que j’observe, ces différents langages (ou pseudo-langages tel que CoffeeScript) restent assez confidentiels. Et cela ne veut en aucun cas dire qu’ils n’ont pas les qualités qu’on leur prête, mais simplement que le nombre de ressources disponibles pour développer puis maintenir des projets basés dessus est beaucoup trop faible.

PHP a longtemps été le seul langage de programmation exclusivement conçu pour le web. C’est ce qui constituait sa singularité principale par rapport à toutes les autres solutions disponibles. Aujourd’hui ce n’est plus le cas, mais ça ne l’exclut pas du champ pour autant. À titre personnel, il m’arrive régulièrement de pester (et le mot est faible) contre le langage, mais à chaque fois que j’ai été tenté de voir ailleurs, j’ai rapidement pardonné à PHP ses faiblesses tant ses qualités m’ont rapidement manqué !

Soit dit en passant, j’ai souvent et même très souvent entendu des gens mépriser PHP pour sa permissivité et le fait qu’il ne permette pas de border correctement les développements. De fait, je suis un peu perplexe quand je vois l’engouement que provoquent des plateformes exclusivement basées sur JavaScript. Si PHP est permissif, JavaScript est clairement libertaire !

Quelles ont été pour toi les évolutions les plus significatives dans l’univers de PHP depuis 2010 ?

Du point de vue du langage lui-même, je dirais les Traits sans hésiter, mais il me semble que ta question porte au-delà du langage lui-même. Alors si je prends en compte l’entièreté de l’écosystème PHP, je pense que le développement de nouveaux frameworks est l’un des points les plus marquants, avec le paradoxe d’avoir vu les plus gros devenir encore plus gros et tentaculaires d’une part, et de nombreux micro-frameworks apparaître d’autre part.

L’autre fait significatif est certainement une convergence beaucoup plus forte non pas du langage lui-même, mais des usages, avec l’utilisation de plus en plus récurrente de technologies tierces, dont certaines que tu as citées précédemment, comme Node.js par exemple, ou encore les frameworks MVC JavaScript tels que Angular.js. L’ère du tout PHP est sans doute révolue pour les projets les plus importants. La communauté s’ouvre à d’autres technologies, qui viennent compléter le langage et le relayer sur les parties où il est le moins à l’aise comme la gestion d’interface graphique ou les interactions directes avec l’utilisateur.

De quoi aurais-tu besoin aujourd’hui dans PHP dont tu ne disposes pas ?

Si je reviens au langage lui-même cette fois-ci, je ne serais pas contre la possibilité de border plus le code. Je ne veux en aucun cas renoncer à la liberté qu’offre PHP, mais pour autant, j’aimerais qu’en parallèle soit offerte la possibilité de mieux encadrer certaines parties du code. Je pense particulièrement au contrôle des types de retour des méthodes, qui me semble indispensable aux interfaces notamment, ainsi la suppression des erreurs, au profit d’exceptions généralisées. Je me demande d’ailleurs si je ne t’ai pas déjà fait une réponse identique dans la précédente interview

Au vu de tes réponses précédentes, est-il possible de dire que tu crois toujours en l’avenir du langage ?

Oui, je suis totalement confiant. La communauté PHP continue d’évoluer, et de faire évoluer le langage pour le maintenir en adéquation avec les besoins du marché. Je n’ai a priori pas de raison de douter que cela continue. Et pour finir sur une pirouette, tant que l’on annoncera la mort prochaine de PHP dès qu’une technologie alternative émerge, c’est bien qu’il reste la référence, non ?