Peux-tu te présenter en quelques mots ?

Je m’appelle Perrick Penet-Avez. J’ai fondé la société No Parking en 2004 où après avoir fait pas mal de prestations ("from scratch", SPIP, Drupal, Prestashop, Joomla, MediaWiki, DotClear), nous avons fait une longue transition vers l’édition de logiciels. Opentime est notre produit phare, c’est un logiciel de gestion du temps et de suivi d’activités principalement pour les sociétés de service. Nous avons aussi deux autres logiciels « maison » en Open Source. Alticcio est un outil de e-commerce développé pour un client et notre dernier-né Lozeil, un logiciel de pilotage de trésorerie.

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

J’ai eu beaucoup d’espoir pour PHP6 et je me souviens qu’à l’époque, j’avais exécuté la suite de tests d’Opentime devant Andrei Zmievski lors d’une conférence PHP Québec à Montréal sur cette fameuse version « PHP 6 ». L’un des tests ne passait pas, et il avait alors corrigé le code source de PHP sur ma machine. Une compilation plus tard, le test en question repassait au vert. Cela fait bizarre désormais de se dire que pendant quelques heures, j’ai été en avance d’un commit sur une version morte-née.

Cela étant dit, j’ai eu l’impression que la fin de PHP 6 a été un énorme soulagement pour toute la communauté. La barre était trop haute et pas assez répartie entre les développeurs de PHP. Depuis le travail de Lukas Kahwe Smith via wiki.php.net, avec notamment la mise en place des RFCs et des votes associés, a largement payé. Les têtes qui codent se sont pas mal renouvelées et depuis les Release Managers se succèdent tout en étant choisi hors du sérail historique. Le changement de vocabulaire est à ce titre intéressant puisque l’on parlait auparavant de Release Master et que l’on parle désormais de Release Manager.

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

Toutes les leçons, je ne sais pas. J’ai l’impression que internals@ n’est pas encore l’endroit apaisé où les choses avancent en toute sérénité. Cela étant dit, les progrès sont indéniables et le rythme des sorties est là pour le prouver.

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

Oui, car cela montre que les choses bougent, que des concepts sont repris depuis d’autres univers informatiques et que les contributeurs ne se reposent pas sur leurs lauriers avec l’idée que le langage serait désormais « le meilleur du monde », même s’il faut bien reconnaître que le passif est tellement important que ce risque peut paraître assez lointain ;-).

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 ?

Dans quel contexte, avec quelle équipe, quelles contraintes ? La question est tellement vaste que c’est difficile de répondre dans l’absolu.

Je peux juste prendre un exemple interne, celui de Lozeil. Dans l’équipe, tout le monde sait faire du PHP, même si certains ont d’autres cordes à leur arc comme Ruby, Python ou Javascript. PHP est le dénominateur commun. Ensuite, au-delà du langage, c’est surtout la plate-forme technique tout à fait maîtrisée (et peut-être la plus facile à maintenir) qui a fait pencher la balance vers PHP.

J’ai eu l’occasion de découvrir chez des voisins à Euratechnologies une grosse application en Rails et la complexité des dépendances à gérer via leurs gems m’a fait tiquer, car j’ai rarement vu ça dans des projets en PHP (ou alors c’était un projet cauchemardesque utilisant Drupal).

Et puis il y a les ponts avec nos projets existants (je fais bien sûr référence à Opentime, mais aussi à nos outils internes).

Bref, en mettant tout cela bout à bout, PHP s’est imposé naturellement. Cela étant dit si je devais créer ma boîte aujourd’hui, j’imagine que j’irais vers un langage de niche où pénétrer le marché est plus simple (parce que plus petit) et où je sens une vrai marche de progression : donc non plus PHP - il fallait se lancer il y 10 ans - encore moins Ruby - so 2008, Python - so 2010 - ou Javascript - so 2012, mais peut-être Go - so 2014 ? - ou même Pharo - so 2016 ?! Bien sûr il s’agit là d’un pari d’entrepreneur visionnaire.

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

Après le gros effort fait pour ressembler à Java avec des trucs très moches tel que IteratorIterator (note que j’ai bien conscience que certains trouvent que PHP n’est pas allé assez loin dans cette direction et crient encore au scandale à cause du typage faible, par exemple), je commence à revoir des éléments qui me paraissent plus en phase avec l’univers PHP comme les traits et les Générateurs via le mot-clef yield. Ensuite au-delà du langage, j’imagine que la maturité des frameworks a changé la donne dans pas mal de boutiques orientées PHP. Cela étant dit chez No Parking, nous n’utilisons pas ces outils, donc je ne parle pas d’une expérience de première main.

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

De travaux issus de la recherche universitaire, car PHP est un langage largement utilisé, très souple intrinsèquement, sans contrainte commerciale et avec une gouvernance légère. C’est une combinaison assez rare et j’ai l’impression que le monde académique en général n’a pas encore pris la mesure de ses avantages. Il y a par exemple très peu de thèses de recherche sur PHP. Je ne connais que 2 exemples, à savoir Stefan Marr avec son travail sur Traits qu’il a fait découvrir à une salle comble lors d’un rendez-vous AFUP à Paris (80 personnes, 5 fois plus que n’importe laquelle de ses présentations universitaires) et Ivan Enderlin qui travaille sur les tests avec PHP. Nous avons besoin de plus de passerelles vers ces univers.

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

Plus que jamais ! PHP a désormais une inertie très forte, comme Cobol, C ou Java par exemple, mais il a réussi à sortir de certaines ornières depuis PHP6. L’avenir est devant, écrit en UTF-8…