Fabien Potencier (Sensio Labs) : "Le seul vrai concurrent de Symfony serait Zend, mais ce n'est pas réellement un framework"

Décryptage des nouveautés de la version 1.1 de l'infrastructure PHP. Au programme : un nouveau système de gestion de plug-in, une plus grande modularité, et une meilleure protection contre les attaques Web.

Quelles sont les principales évolutions de Symfony depuis un an ?

Symfony bénéficie de plusieurs évolutions. Au niveau du code, la version 1.1 prévue pour fin mai, propose un nouveau système de gestion des formulaires plus souple, qui gère les formulaires imbriqués. Elle intègre la protection contre les attaques CSRF [ndlr : cross-site request forgeries, falsifie les requêtes HTTP ].

Symfony 1.1 intègre un nouveau système de gestion de plug-in, permettant de simuler un channel PEAR. Il propose un plus grand découplage des classes de base. Il est possible d'utiliser des fonctionnalités de Symfony sans avoir recours au framework. Le développeur peut, par exemple, utiliser le formulaire sans le framework. Il dispose d'une plus grande souplesse et d'une plus grande configurabilité puisqu'il choisit les fonctionnalités qu'il veut utiliser.

Au niveau des tests, les évolutions concernent à la fois les projets développés avec le framework que le framework lui-même. Nous sommes passés de 4000 à 8000 tests unitaires sur le framework. Il est donc très stable.

"Nous voulons faire de Symfony une réelle solution professionnelle"

Concernant notre offre, nous avons établi un nouvel écosystème. La communauté s'est énormément agrandie depuis un an. Nous souhaitons maintenant que le framework soit utilisé par les entreprises. Pour cela, nous leur proposons un support chez Sensio Labs avec un temps de réaction professionnel. Une réponse est assurée sous 4h, que le problème porte sur l'application ou sur le framework.

D'ici juin, nous proposerons des certifications Symfony. Au second semestre, nous établirons des partenariats avec des SSII et des agences Web. Sensio Labs assurera que ces dernières auront déjà utilisé Symfony et qu'elles possèderont les compétences nécessaires. Du côté des prestataires, ce partenariat leur apportera un support avant-vente et technique. Nos offres sont proposées aussi bien en France qu'à l'International. Nos produits sont disponibles en français et en anglais.

 

Les utilisateurs de la version 1.0 devront-ils migrer leurs applications ?Nous continuerons à maintenir la version 1.0 pendant 3 ans. Nous proposons une mise à jour tous les mois. Nous en sommes maintenant à la version 1.0.13. Nous corrigeons les bugs mais nous n'ajoutons pas de nouvelles fonctionnalités pour éviter aux utilisateurs d'avoir à mettre à jour leurs applications. La version 1.0 reste donc très stable et compatible avec les anciennes applications. Les développeurs peuvent laisser leurs applications en version 1.0. S'ils souhaitent migrer en version 1.1, nous leur proposons une maintenance d'un an. Ils ont également à disposition un script d'upgrade pour migrer automatiquement une application en version 1.1.

 

Comment Symfony se démarque-t-il des autres frameworks PHP ?

Aujourd'hui, il n'existe pas beaucoup de frameworks PHP pour les entreprises. Symfony se démarque à ce niveau-là. Les autres frameworks PHP n'ont pas la même cible que nous. Notre seul vrai concurrent serait Zend mais ce n'est pas réellement un framework. Il s'agit plutôt d'un ensemble de bibliothèques permettant la création d'un framework. Il est moins facilement réutilisable par d'autres développeurs. A l'inverse, Symfony est un vrai framework qui offre une liberté sur le choix des classes pour le développement. Il fournit les couches basses, ce qui fait sa force, et peut utiliser d'autres briques, comme celles de Zend par exemple.

 

Quels sont les avantages de Symfony ?

Symfony simplifie le travail des développeurs en proposant des couches basses pour éviter les tâches rébarbatives. Il ne propose pas de fonctonnalités métiers comme d'autres frameworks, il n'a pas de limitations dans son implémentation. Symfony accélère et optimise le développement en proposant des briques logicielles, des tests unitaires. Il n'y a pas besoin de coder "from scratch". Symfony a aussi une séparation VMC claire, ce qui facilite le travail en groupe. 

 

Symfony a-t-il des limites ?

Il n'en a pas vraiment car le développement est totalement libre. Néanmoins, comme tous les frameworks, il n'est pas adapté pour un CMS. Il vaut mieux dans ce cas utiliser un outil de gestion de contenu PHP dédié. 

 

PHP 5 et ses évolutions ont-ils induits des changements dans Symfony ?

PHP 5 existe depuis 5 ans. Symfony a commencé son développement directement avec PHP 5. Utiliser PHP 4 n'aurait pas été possible. Depuis un an, les évolutions de PHP 5 n'ont apporté que quelques fonctionnalités mineures. Nous avons effectué quelques ajouts pour la version 1.1, notamment le support auto-loading amélioré avec PHP 5.1 (intégration avec d'autres bibliothèques). Symfony ne supporte plus la version 5.0.

 

Quels sont les projets futurs de Symfony ?

Nous avons en projet la sortie de la version 1.2 et 2.0. Nous allons prochainement travailler sur la version 2.0, sur le refactoring ou découplage du framework, et sur la couche de contrôle. La version bêta est prévue pour la fin de l'année. Elle sera très souple par rapport à la version 1.1 et sera adaptée aux sites à très fort trafic. Symfony 2.0 proposera des performances importantes aux développeurs. Comme pour chaque version, nous essayons de nous inspirer de frameworks d'autres langages. Actuellement, nous étudions Django pour la couche contrôle et Spring pour l'injection de dépendances.