Fabien Potencier (SensioLabs) "Nous voulons faire de Symfony le standard du middleware PHP"

Le créateur du framework PHP nous a accordé une interview exclusive. L'occasion de faire le point sur son ambition d'imposer Symfony comme middleware de référence dans le monde PHP.

potencier
Fabien Potencier est l'initiateur du projet Symfony. © SensioLabs

JDN. Quel est le taux de pénétration du framework PHP Symfony ?

Fabien Potencier. Nous estimons que Symfony est directement installé par 1% des sites web dans le monde. Je n'inclus pas dans ce chiffre les sites qui peuvent y avoir recours via les CMS et autres systèmes qui l'intègrent. Des applications qui sont de plus en plus nombreuses. Parmi elles, on trouve des CMS comme Drupal, phpBB ou eZ Publish. Cette tendance va contribuer à accroître le taux d'adoption. Nous estimons aussi que 150 000 développeurs travaillent sur le framework.

Votre licence est 100% open source et peu contraignante. Quel est donc votre modèle économique ?

Symfony est sous licence MIT. C'est en effet une licence peu contraignante. Elle rend possible, à partir des sources initiales, la création de produits dérivés sans impliquer une redistribution du code. Nous avons aussi une approche 100% communautaire. Nous comptons un millier de contributeurs actifs extérieurs aux équipes de SensioLabs qui compte à ce jour une centaine de salariés. 

Jusqu'ici, notre modèle économique reposait sur la prestation de service, au travers une offre de formation, de conseil et d'accompagnement des déploiements Symfony. Depuis quelques mois, nous commençons à travailler sur des produits commercialisés en SaaS. Nous avons livré un premier outil en mode cloud computing, baptisé SensioLabs Insight, pour gérer la qualité des projets PHP. Il analyse le code, y compris de manière dynamique. A chaque modification ou nouvelle version, il crée une machine virtuelle pour analyser son exécution, et en dégager les éventuelles imperfections en matière de sécurité, de performance, et de bonnes pratiques. 

Pour compléter cette brique, nous planchons sur d'autres outils de test SaaS ciblant plus les managers, directeurs techniques, directeurs de projets... En se basant sur des données techniques, l'objectif est de leur fournir une vision objective, non-technique, de l'évolution de la qualité de l'application en cours de développement, et ainsi les aider à optimiser le lien avec les équipes de programmation.

Pourriez-vous envisager de proposer un éditeur de code PHP en mode SaaS ?

Nous n'avons pas pour vocation à venir concurrencer le domaine des éditeurs de code PHP. Comme vous le savez, il en existe de très nombreux avec parfois des spécificités bien particulières pouvant répondre à des besoins précis. Notre stratégie est plutôt de nous intégrer à cet existant. SensioLabs Insight s'intègre par exemple à PhpStorm.

Avec l'adoption de Symfony par Drupal, on a le sentiment qu'une étape importante a été franchie...

Plus globalement, nous souhaitons faire de Symfony le middleware PHP standard pour le développement de site web. Au-delà des CMS évoqués plus haut, Symfony est intégré par d'autres types de système. C'est le cas par exemple d'OroCRM : un outil de CRM orienté e-commerce créé par Yoav Kutner, ex-CTO et co-fondateur de Magento. Il est intéressant de constater qu'il avait fait le choix de Zend pour Magento, et qu'aujourd'hui il se tourne vers Symfony. Notre volonté est ainsi de faire en sorte que Symfony soit intégré au maximum de logiciels open source possible. Cette convergence contribuera à faciliter l'interopérabilité de ces applications, mais permettra également une plus grande cohérence entre les compétences en développement des équipes. Il sera en effet plus facile de passer d'une application à l'autre, notamment d'un CMS à un outil de CRM si tous deux reposent sur Symfony.

"Nous ouvrons une implémentation aux Etats-Unis dans les semaines qui viennent"

Nous accompagnons donc activement les projets open source intéressés par Symfony. En général, il nous contacte d'ailleurs presque toujours en amont. Concernant Drupal, j'ai participé à plusieurs réunions avec Acquia et des contributeurs du CMS pour les aider à comprendre les avantages de Symfony.

Quels sont vos principaux facteurs de différentiation avec Zend qui représente à ce jour votre principal concurrent ?

Nous avons été clairement plus innovant que Zend à un moment donné. Nous avons notamment été les premiers à mettre en œuvre l'injection de dépendance. Sur ce point, Zend s'est depuis beaucoup inspiré de Symfony. Dans un autre registre, je pense également que notre dynamique communautaire est beaucoup plus forte. Nous acceptons en moyenne quatre à cinq contributions par jour en provenance de la communauté. Une autre différence, que nous avons déjà évoquée, réside dans l'adoption de Symfony comme middleware par d'autres applications PHP. Ce qui aboutit aujourd'hui à un écosystème plus riche autour de Symfony.

Le projet Symfony est aussi à l'origine de composants qui se sont imposés plus largement comme des références au sein de la communauté PHP. C'est le cas de Composer qui permet de gérer les dépendances entre versions de différents logiciels. De même pour le gestionnaire de templates Twig qui est utilisé indépendamment. Il peut d'ailleurs être utilisable avec Zend. Depuis sa version 2, Symfony est le seul framework PHP à intégrer, avec Twig, un vrai système de templating. C'est une autre différence.

Quelles seront les prochaines évolutions majeures de Symfony ?

Nous ne lançons pas de gros chantiers pour le moment. A partir de Symfony2 qui est basé sur les toutes dernières bonnes pratiques, il n'y pas de raison de réaliser de changement majeur. Nous jouons la carte de la stabilité. D'autant que l'intégration croissante de Symfony à d'autres applications le nécessite. Nous avons défini dans cette optique une feuille de route très carrée qui vise à offrir une visibilité claire aux projets open source qui ont opté pour Symfony : deux release par an, l'une en mai et l'autre en novembre, avec à la clé quatre mois de développement et deux mois de stabilisation.

Selon vous, PHP présente-t-il des défauts ou des manques qui devraient être comblés ?

Des évolutions sont certes nécessaires. Mais aujourd'hui, le débat sur le futur de PHP est ailleurs. Depuis le lancement du projet PHP, les spécifications du langage ne donnaient lieu qu'à une seule implémentation. Or, depuis quelque temps, on voit émerger de nouvelles implémentations. C'est notamment le cas de Hack qui est proposé par Facebook avec la machine virtuelle HHVM. Elle intègre un mode de compilation just-in-time, qui n'est pas présent à la base dans l'environnement PHP, et qui permet d'accroître les performances d'exécution de façon non-négligeable.

La grande question aujourd'hui est de savoir si ces nouvelles implémentations vont se démocratiser. Or, si elles parviennent à être compatibles avec le langage PHP, on peut penser que cela favorise leur adoption. Sur ce point, les choses avancent. Notons que Twig et Symfony fonctionnent déjà sur HHVM.

 

Fin 2013, vous avez levé 5 millions d'euros pour vous développer à l'étranger. Quels pays visez-vous ? 

 

Nous sommes actuellement présents en France, à Paris et Lille, en Allemagne, à Berlin et Cologne, ainsi qu'en Angleterre, à Londres et Sheffield. Dans les semaines qui viennent, nous allons ouvrir un bureau aux Etats-Unis, quelque part sur la Côte Ouest. Je ne peux pas en dire plus pour le moment. Nous projetons aussi de nous installer en Espagne, à Barcelone, d'ici la fin de l'année. Une centaine de recrutements sont également prévus sur 2014 et 2015.

 

Fabien Potencier nous a accordé cette interview en amont de l'événement SymfonyLive Paris 2014 qui se tiendra à la Cité Universitaire du 7 au 8 avril. Le programme sera notamment centré sur des retours d'expérience autour de Symfony (avec notamment les sites LaFourchette et BlaBlaCar).

Biographie professionnelle : Fabien Potencier est titulaire d'un diplôme d'Ingénieur Civil des Mines de Nancy et un Mastère Entrepreneurs à HEC. En 1998, il a fondé Sensio, une agence interactive centrée sur les technologies open source. Il est également le créateur et le développeur principal du framework Symfony. Il a fondé SensioLabs pour porter ce projet.