Symfony live 2011

L’année dernière, Simple IT débutait la migration du Site du Zéro sous le framework symfony, un outil php open-source français distribué sous la licence MIT. J’ai rejoint l’entreprise en tant que développeur symfony en juillet 2010, puis j’ai évolué en chef de projet / développeur quelques mois plus tard. Je travaille donc au jour le jour sur le Site du Zéro avec 4 développeurs : Kévin Lysiak, Adrien Jerphagnon, Camille Bouquet et Vincent Paulin. Je m’intéresse de très près à l’évolution du framework symfony vers lequel le Site du Zéro est en train de migrer.

En cinq ans, symfony s’est constitué une forte communauté internationale comme en témoignent les 12064 plugins disponibles pour la première version, ainsi que la liste des contributeurs et l’implication communautaire du projet Symfony2.
Logo de symfony liveDébut mars se tenait le Symfony Live Conference, un rendez-vous annuel organisé par Sensio et dédié à symfony. C’était une occasion unique de rencontrer des acteurs majeurs du framework et d’échanger avec sa communauté.

La migration Site du Zéro progressant vers les fonctionnalités centrales et critiques, le lancement de la nouvelle version Symfony2, l’adoption massive du framework ces dernières temps, autant de bonnes raisons qui ont convaincu Simple IT d’assister à l’évènement.

Sensio Framework

Mais qui est Sensio ?

Vous aurez sans doute remarqué la belle faute d’orthographe volontaire dans le nom du framework symfony au lieu de symphony. Il est coutume dans le développement de préfixer les noms de fichiers ou dossiers, souvent pour éviter des conflits de nommage dans un projet.

Le préfixe historique utilisé dans symfony est « sf » (sfUser, sfController). En réalité, ces deux initiales correspondent à Sensio Framework, l’outil qui fut ensuite rebaptisé symfony. Un conseil au recruteur ou candidat : relisez vos annonces ou CV et n’écorchez pas le nom d’une technologie. « 3 ans d’expérience sur symphony », c’est le discrédit garanti.

Sensio est l’entreprise française derrière le framework. Cette entité est scindée en deux pôles :

  1. Robot maestro dirige une formation symphoniqueExtreme Sensio, une agence de communication récemment distinguée par  le titre « d’agence de communication interactive indépendante de l’année ».
  2. Sensio Labs,  une SSII articulée autour de symfony, proposant du développement sur mesure, de l’audit, du support et des formations.

On associe également un nom à ce framework : celui de Fabien Potencier. Fondateur et acteur majeur de l’outil, c’est le PDG de Sensio et le chef d’orchestre de symfony.

Préparation de l’évènement

Démarche d’inscription et droit d’entrée

Découvert l’année dernière, j’étais très enthousiaste à l’idée de renouveler l’expérience en 2011. Néanmoins l’entrée sur les deux jours était facturée 300 €,  tarif non négligeable pour un particulier.

Pass d'entrée du sf liveIl est fréquent, mais facultatif, qu’une entreprise contribue financièrement à des conférences de ce type. J’ai donc demandé à Simple IT une participation, dès novembre.

Simple IT a répondu très positivement puisqu’elle a entièrement pris à sa charge les frais de l’évènement, considérant que cette démarche s’inscrivait dans le principe de formation continue de ses employés. Un retour encourageant pour tout le pôle développement et une vigie technique privilégiée pour l’entreprise.

Sélectionner les conférences

En plus d’une veille technologique conséquente, il est judicieux d’étudier le planning mais surtout les « speakers ». En effet, même si les thématiques abordées sont alléchantes, les conférenciers sont bien plus pondérables dans le choix d’une conférence. Grâce aux nombreuses ressources en ligne ainsi qu’aux réseaux sociaux professionnels, il est possible de connaître un peu plus l’intervenant :

  • Son background,  son cursus professionnel, ses technologies maîtrisées. Généralement, une recherche Google, son site personnel ou des réseaux sociaux comme LinkedIn permettent de retracer l’historique du speaker.
  • Son autorité de compétences, ses contributions communautaires et projets professionnels notables. Est-il un leader d’opinion sur le sujet présenté ? Les profils de ses followers Twitter, ses dépôts open-source partagés (type Github), les articles sur les blogs techniques ou IT (tel Techcrunch) sont d’excellentes pistes.
  • Son charisme. Est-ce sa première conférence ? Est-il pro-actif ou repose-t-il majoritairement sur la diction de ses supports (slides) ? Après une conférence, il est facile de retrouver les slides voire même les podcasts de cette dernière, la prestation du speaker est donc la réelle valeur ajoutée.

L’évènement

L’emplacement exceptionnel

Pendant deux jours,  Kévin Lysiak et moi avons troqué les locaux de Simple IT pour l’imposante maison internationale de la cité universitaire de Paris.

France Paris Cité Universitaire Maison Internationale Photographie prise par GIRAUD Patrick

Photographie prise par GIRAUD Patrick

Deux salles complètement inégales en terme de capacité et d’infrastructure étaient à disposition :

  • D’un côté, l’amphithéâtre principal, d’une capacité de plusieurs centaines de places. Il disposait d’un grand vidéoprojecteur et d’une grosse sono.
  • De l’autre, une salle de cours pouvant accueillir moins d’une centaine de personnes où le conférencier devait hurler pour se faire entendre.

C’est un premier regret. Vu le prix d’entrée, j’attendais au minimum un cadre fonctionnel et confortable pour suivre les conférences, ce qui ne fut pas le cas pour la moitié d’entre elles. Pourtant les conférences étaient également réparties en terme d’intérêt.

Symfony2

La grande nouvelle de cette année, c’est l’arrivée de Symfony2, une toute nouvelle version qui reprend la philosophie de la précédente version mais révolutionne totalement le framework. La programmation du sf live 2011 se focalisait logiquement sur la nouvelle mouture de Sensio.

Illustration de Symfony2Tout le monde attendait la sortie officielle d’une version stable du framework (programmée par Sensio pour l’évènement). Il a été officiellement annoncé que le projet subissait un retard de quelques semaines. Basé sur des arguments pragmatiques et rassurants, on nous explique que Symfony2 se stabilise, l’équipe de développement préfère « assurer ».

L’ombre de la conférence marketing planait alors fortement sur le meeting. Finalement, malgré quelques présentations fainéantes de l’existant (inutiles si l’on suit attentivement l’évolution de Symfony2), les conférences étaient globalement très intéressantes.

Florilège des conférences

Parmi toute la programmation, je retiendrai essentiellement trois présentations.

The lost art of simplicity par Josh Holmes

Une horloge compliquéeLa salle principale est complète lorsque l’intervenant Microsoft ouvre le sf live avec sa conférence aux aspects de sermon. Très charismatique, il réveille les participants en leur rappelant les concepts KISS. Tout un symbole puisque Symfony2 est entièrement articulé autour de cette philosophie. Ponctuée d’exemples et de slides humoristiques, sa conférence nous rappelle qu’une majorité de projets n’aboutissent jamais en raison d’une complexité inutile.

Il nous laisse méditer sur quelques citations, dont voici mes préférées que je traduis modestement de l’anglais :

  • Quand la pensée est trop faible pour être simplement exprimée, c’est la preuve évidente qu’elle devrait être rejetée, Luc De Clapiers
  • La simplicité n’est pas un but, c’est le sous-produit d’une bonne idée et d’attentes modestes, Paul Rand
  • Je m’excuse pour la longueur de cette lettre mais je n’ai pas eu le temps de la faire plus courte, Mark Twain

Introducing Assetic: Asset Management for PHP 5.3 par Kris Wallsmith

Le prestigieux release manager de symfony 1.4, nous présente un framework de gestion des ressources embarquées dans une page web (assets). Ces données (images, css, javascript) sont souvent difficiles à gérer correctement de manière dynamique. Assetic, inspiré par webassets en Python,  offre une solution rapide et très puissante, centralisant cette gestion dans tous ses aspects : inclusion, optimisation, minification et profiling.

Les slides techniques présentent des extraits de code et illustrent parfaitement les fonctionnalités de l’outil. Assetic bénéficie d’une intégration native dans Symfony2 et d’un support Twig natif. C’est aujourd’hui une des meilleures options pour gérer les assets web en php.

Being dangerous with Twig par Ryan Weaver

Projecteur de cinéma Dans le plus pur esprit américain, Ryan Weaver le Twig évangéliste, vante avec dynamisme les mérites du moteur de templates, inspiré par Jinja en Python. Les moteurs de templates PHP ont été très souvent délaissés au profit d’une gestion des vues par PHP lui-même pour diverses raisons techniques. Twig a déjà converti beaucoup d’utilisateurs en corrigeant les principaux défauts des moteurs de templates :

  • Une syntaxe très simple reposant sur seulement trois balises
  • Une sortie (une vue rendue) entièrement objet, permettant l’héritage de vue
  • Un système de filtre simple et extrêmement pertinent
  • Une flexibilité permettant d’étendre très facilement le moteur
  • Une documentation très abondante

Personnellement très sceptique à l’utilisation des moteurs de templates, je me suis empressé de tester ce dernier après la conférence. J’avoue être totalement séduit par Twig et envisage son utilisation pour d’éventuels projets. Reste encore à observer la progression de la technologie et mesurer son adoption sur du moyen terme.

Bien évidemment, d’autres conférences étaient également dignes d’intérêt :

  • La présentation sur le cache HTTP par Fabien Potencier
  • Doctrator, une extension de Doctrine2 permettant l’ActiveRecord
  • L’excellent Behat, framework de test de comportement, que j’espère détailler dans un prochain billet

Déceptions

Quelques regrets néanmoins, en plus de l’inégalité d’accueil des salles abordée au début du billet, certaines conférences ont été décevantes :

  • La conférence Doctrine in the real world du grand J.Wage trop rapide et souffrant de slides techniques illisibles
  • La conférence sur la technologie de cache Varnish malheureusement trop technique
  • La conférence sur le composant sécurité  de Symfony2, un intervenant timide et trop peu d’informations sur un sujet pourtant sensible

Les « unconferences »  étaient une excellente idée : des conférences officieuses improvisées par les visiteurs eux-mêmes, sur un format de 10 à 15 min. Pour l’exemple, après avoir abandonné la conférence officielle sur Varnish, je suis tombé par hasard sur l’unconference Varnish proposée simultanément. En moins d’un quart d’heure, l’essentiel des informations ont été abordées : cas de production concrets, possibilités, avantages et inconvénients. Cependant, cette série de conférences était planifiée en parallèle du programme officiel, rendant le choix encore plus ardu.

Le grand final

Le Symfony live s’est achevé par une touche finale très dynamique, l’inauguration de la nouvelle image donnée à Symfony (notez la majuscule, convention pour distinguer Symfony2 de la première version), avec son nouveau logo et son nouveau site.

Logo Symfony2

Le staff de Sensio a également distribué des t-shirts collectors au logo « sf » fluorescent (on est geek ou on ne l’est pas !) :

La communauté Symfony2

Qu’est-ce que je retiens de cet évènement pour Simple IT ? D’abord, des développeurs heureux d’avoir pu assister à ce rendez-vous technique privilégié. Ensuite, un spectre de possibilités techniques élargi. Symfony2 est le framework php du moment, il suscite un bon enthousiasme communautaire et voit sa liste de contributeurs s’agrandir exponentiellement. Si vous n’êtes pas un adepte des frameworks, je recommande l’étude Symfony2, ne serait-ce que pour apprendre les standards que ce framework se contraint à respecter.

Le Site du Zéro ne va pas subir une migration sous Symfony2 pour l’instant. Même si cette nouvelle version est très prometteuse, la conférence française « Quid de mes applications symfony 1 ? » de Marc Hugon répondait de manière très pragmatique à la question. Symfony2 est encore en pleine stabilisation, mais son utilisation peut être envisagée pour des nouveaux projets. En revanche pour de l’existant, si le projet n’a pas un besoin de migrer, le passage à Symfony2 n’est pas conseillé.

Il est possible néanmoins de passer progressivement, avec plus ou moins de difficultés, à la version 2. A vos risques et périls.

11 Comment
  1. Hello Ludovic,

    Bravo pour cet excellent résumé sur la conférence Symfony Live et le projet symfony. Content d’apprendre que votre migration sous ce framework se passe bien :)

    A bientôt sur un prochain sfPot.

    Hugo.

  2. Toutes mes félicitations pour ce long billet très instructif et agréable à lire.

    Ça m’a permit d’en connaître plus sur ce framework toujours plus célèbre que j’aimerais découvrir prochainement. ;)

  3. J’ai assisté à la journée de formation sur Symfony2 (la veille des conférences) qui était très intéressante ! Merci Hugo, tu es un très bon prof !

  4. Symfony 2 articulé autours de la philosophie KISS ? Cela me semble assez risible quand on voit le template engine TWIG – un exemple parmi tant d’autres que j’ai choisi parce que vous en faites allusion – qui est d’une complexité de conception bien supérieure à ce qu’on a l’habitude de voir chez la « concurrence ».
    Alors il y a peut-être une volonté de faire au plus simple pour ce framework (et il l’est effectivement parfois plus que d’autres), mais dans les faits ils sont encore très loin de pouvoir pérorer atteindre cet objectif.

    1. Le fond technique du billet est volontairement limité, sur ce passage, je ciblais Symfony et non ces vendors.

      Twig n’est qu’un « driver » de template, même si je suis séduis par le moteur de template, je suis cependant déçu, qu’en plus d’être embarqué, Twig soit le choix par défaut (très long débat sur la mailing-list symfony à ce sujet d’ailleurs). Un pur rendu php devrait être la norme dans un framework PHP, les vendors externes devraient être présentées comme des alternatives.

      Néanmoins, comme vous l’avez souligné, le core de Symfony 2 essaye de se rapprocher des concepts KISS. Même si, par sa nature même de framework « fullstack », il ne peut atteindre tous les objectifs de la méthodologie.

  5. Enfin un post technique… Je croyais vraiment qu’il n’y en aurait plus.

    Vraiment très intéressant. J’espère qu’on en retrouvera d’autres très bientôt notamment sur comment ça se passe la migration. Simple ? Comment vous avez procédé, etc.

    Merci beaucoup !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plus d'articles sur ce sujet