INTERVIEW 
 
Fabien Potencier
Directeur associé en charge de l'innovation
Sensio Labs
Fabien Potencier
"Symfony réconcilie le Web 2.0 et l'accessibilité Web"
Pour rester léger et favoriser le développement d'extensions, le framework PHP n'intègre que les fonctions de bases d'une infrastructure de développement. Un choix qui permet d'envisager son évolution en douceur.
20/03/2007
 
JDN Développeur. Quels sont les points forts et les points faibles du framework de développement Symfony ?
  En savoir plus
Tutoriel Utiliser Symfony, framework PHP5
  Le site
Sensio Labs
Fabien Potencier. D'abord son importante documentation pour un projet Open Source. 700 pages sont disponibles en ligne sur le framework, dont un livre publié sous licence GFDL : The Definitive guide to symfony.

Ensuite, Symfony propose une approche visant à simplifier au maximum le travail sur le code. Dans cette optique, il propose notamment un sous framework de génération de code, qui permet par exemple de générer une console d'administration permettant d'éditer les objets de la base de données. Les autres points forts de Symfony sont sa configurabilité et ses dispositifs de protection, contre le cross site scripting par exemple.

Symfony s'inspire t-il de Ruby on Rails ?

Dire que Symfony est basé sur Grail est une idée fausse. Vu la popularité de Ruby on Rail, on a tendance à penser que tous les frameworks qui sont arrivés après reposent dessus. Or, le développement de Symfony a commencé bien avant.

Mais il est vrai que nous nous inspirons d'autres frameworks, tels que Struts ou même Ruby on Rails, et Symfony présente des points communs avec eux. C'est le cas par exemple de l'architecture MVC, de notre couche d'abstraction d'objets relationnels. Beaucoup de frameworks exploitent ces bonnes pratiques. Concernant notre système de routing d'URL, il est vrai qu'il est directement inspiré de Ruby on Rail.

Quelles sont les principales différences entre Symfony et Ruby on Rails ?
En général, les frameworks sont orientés par les conditions d'utilisation de leur créateur. Ruby on Rails a été créé par une société centrée sur des développements Web 2.0. Quant à Symfony, il est issu de 5 ans d'expérience de Sensio Labs dans le développement pour les grands comptes. Dans cette logique, nous assurons également le support des versions antérieures de Symfony pendant un à deux ans, et ce à la différence des technologies concurrentes qui imposent le plus souvent de migrer à chaque nouvelle version.

Nous fournissons un script pour mettre à jour les développements"
Sur ce plan, nous offrons un support commercial qui permet d'être prioritaire sur les mises à jour et bénéficier d'engagement de mise à jour. Nous fournissons également un script pour mettre à jour automatiquement les développements par simple ligne de commande, et assurer la prise en compte des mises à jour de Symfony.

Finalement, Symfony reste assez minimaliste en termes fonctionnels ?
Avec Symfony, nous avons voulu concevoir un full-stack framework. L'idée est de fournir 80% des dispositifs dont le développeur a besoin, et d'éviter d'inclure trop de fonctions dans l'outil. L'objectif est qu'il reste léger et le plus ouvert possible, notamment pour accueillir des plug-in qui peuvent justement supporter les extensions nécessaires. La gestion des droits est par exemple prise en charge directement par le framework, alors que la gestion des authentifications l'est par le biais d'un plug-in.

Que répondez-vous aux critiques à l'encontre de l'ORM Propel, intégré à Symfony ?
Cette couche d'abstraction d'objets relationnels est maîtrisée en PHP 5.0, et très stable. Etant basée sur sa propre couche d'abstraction, elle est effectivement moins performante que des ORM plus récents, comme PHP Doctrine par exemple. Notez que nous prenons en compte PHP Doctrine depuis 6 mois par le biais d'un plug-in. A terme, il remplacera Propel. Nous l'intégrerons dans la version 1.1 du framework.

Comment s'organise la communauté Symfony ?
Elle se divise en trois. Des développeurs qui travaillent sur le cœur de l'outil. Un groupe qui assure le support sur les listes de diffusion, les forums... Et enfin, des personnes qui réalisent la documentation technique, et qui sont généralement les plus difficiles à trouver.

Au-delà de cette organisation, il est important pour réussir dans le domaine très concurrentiel des frameworks PHP de définir une ligne claire. C'est moi qui impulse cette vision que je soumets sur les mailing list. C'est particulièrement important pour garantir la cohérence des développements. Côté plug-in, nous laissons une grande liberté aux développeurs. Si un concept nous paraît bon, on l'intègre alors au noyau.

Yahoo a fait le choix du framework pour développer son gestionnaire de booksmarks"
Quelle est votre approche concernant Ajax ?
Symfony réconcilie Ajax et l'accessibilité Web. Nous sommes d'ailleurs en train d'améliorer ce point. Nous avions mis en place dans le framework un support d'Ajax et de JavaScript basé sur Prototype. Mais cette implémentation n'allait pas dans le sens de l'accessibilité Web.

Parallèlement, un plug-in basé sur JQuery a été élaboré. Il est basé sur un mécanisme permettant de désactiver les comportements JavaScript, tout en garantissant la présence d'un contenu HTML conforme aux spécifications du W3C en matière d'accessibilité. Nous avons décidé d'intégrer cet élément à Symfony. Il viendra remplacer le support basé sur Prototype qui va être traduit sous la forme d'un plug-in pour permettre aux développeurs qui l'utilisent de continuer à travailler.

Quelles sont les principales références de Symfony ?
Yahoo a fait le choix du framework pour développer son gestionnaire de booksmarks. Cette application a été déployée au niveau mondial. Yahoo s'est notamment appuyé sur les possibilités de personnalisation de Symfony, sa configurabilité, et ses fonctions multiligues. C'est également le cas pour le site de automobiles Peugeot qui a été déployé en 35 langues.

 
Propos recueillis par Antoine Crochet-Damais, JDN Développeurs

PARCOURS
 
 
Fabien Potencier, a commencé sa carrière avec 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.