Symfony : un framework PHP adapté aux applications professionnelles

Cocorico, ce projet a été créé par un Français. Interview

Le premier Symfony Live est en passe de se terminer. Cette conférence francophone est dédiée auframeworkPHP Symfony . Bonne nouvelle, elle affiche complet.

Nous profitons de l’occasion pour faire le point sur cette technologie open source, qui simplifie la création d’applications web professionnelles, avec Fabien Potencier, créateur et responsable du développement de Symfony et PDG de Sensio Labs.

Pouvez-vous nous rappeler qui vous êtes… votre histoire?

« Derrière Symfony se trouve l’agence interactive Sensio Labs, qui adresse les problématiques web, avec unfocussur les grands comptes. PHP s’est rapidement imposé au sein de nos développements, surtout depuis l’arrivée de PHP 5. Le monde PHP s’est alors professionnalisé, mais il manquait des outils adaptés à ce nouveau marché. Fin 2004, nous avons pris la décision de créer unframeworkPHP conçu pour les applications professionnelles. En 2005, il est passé sous licenceopen source. Il était toutefois essentiel d’atteindre rapidement une masse critique. Pour y parvenir, nous avons travaillé largement sur la documentation, un secteur qui demeure notre point fort. »

fabienpotencier012.jpg

«Mentionnons également que Sensio Labs utilise quotidiennement Symfony pour les besoins de clients bien réels. C’est un élément important, car nous profitons ainsi du retour d’expérience de nos propres clients. »

Quels sont les principaux utilisateurs de cette solution ?

« Avec les projetsopen source, il est difficile d’évaluer la taille de la communauté. Aujourd’hui nous comptabilisons 400.000 visiteurs uniques par mois sur le site du projet. Autre signe positif, environ trente nouveauxpluginssont créés chaque mois.

De nombreuses agences web, de toutes tailles, utilisent Symfony pour des applications souvent classiques. Certains clients sont cependant emblématiques : Dailymotion, dont la dernière version est écrite avec Symfony, mais aussi Yahoo! qui utilise Symfony depuis trois années, tout d’abord pour Yahoo! Bookmarks, mais aussi au sein de Delicious et de Yahoo! Answers. Ces sites comptent des millions d’utilisateurs. »

Quels sont les avantages concurrentiels de cette solution ?

« Par rapport auframeworkZend, qui est notre principal concurrent, nous proposons une offre standardisée et structurée. Nous intégrons de surcroit un maximum de bonnes pratiques, souvent issues de Java. Cela s’explique par le fait que Zend a commencé sa carrière comme un ensemble de librairies et cherche maintenant à devenir unframework, alors que nous suivons le chemin inverse. Le support de l’architecture REST est également natif dans Symfony(NDLR Representational State Transfer), alors qu’il demeure optionnel dans Zend.

Une de nos grandes forces réside dans la communauté qui gravite autour du projet. Contribuer au cœur de Symfony est aujourd’hui difficile, car c’est un travail très exigeant. C’est ici que lespluginsentrent en scène. C’est une particularité de Symfony qui demeure rare dans le monde desframeworksPHP. Lespluginssont simples à créer, installer et administrer. C’est un mode de contribution très apprécié (NDLR plus de 600 greffons sont référencés sur le site du projet). »

Comment gérez-vous la problématique de la montée en charge ?

« Pour pouvoir monter en charge, les accélérateurs PHP sont un élément nécessaire. Symfony gère sans problèmes les accélérateurs les plus connus : APC, XCache et eAccelerator.

Nous proposons également un système de cache qui améliore les performances sans empêcher l’utilisation d’éléments dynamiques. Ainsi, il est possible de ne mettre en cache que certains éléments d’une page, en préservant les parties dynamiques.

Enfin, Symfony est conçu pour supporter les applications comprenant de multiples serveurs web. Il propose par exemple plusieurs méthodes de gestion des sessions utilisateurs (informations stockées en mémoire, dans une base de données,etc.) qui permettent de mettre en place de telles architectures.

Un bon exemple d’application multiserveurs reste Dailymotion, qui comprend plus de 430 machines, dont 50 sont dédiées spécifiquement à l’exécution du code PHP. »

Quelles avancées sont attendues pour l’année à venir ?

« Au cours des trois dernières années, nous avons ajouté beaucoup de nouvelles fonctionnalités auframework. La version 1.2 date de novembre 2008. Cette année, nos efforts porteront sur la stabilisation de l’existant et l’ajout de documentation. Le résultat de ces travaux sera présenté en novembre, avec la version 1.3.

Nous travaillons également au développement de la mouture 2.0, qui sortira début 2010. Elle adopte une architecture assez différente, qui pousse à l’extrême le concept desplugins. Le défi sera de s’assurer que cette modularité accrue ne pénalisera pas les performances duframework. »