Retour sur le Symfony Live 2012

Retour sur le Symfony Live 2012

Du 6 au 9 Juin s'est tenue l'édition 2012 du Symfony Live à la Cité Universitaire Internationale de Paris. J'y étais présent le 7 et 8 Juin, voici mes retours sur les conférences que j'ai pu suivre.

Les slides des conférences sont disponibles sur Joind In.

Keynote par Fabien Potencier

Pour l'ouverture de ces deux jours de conférence, dans un style très américain, on retrouve Fabien Potencier sur scène avec une Keynote sur le thème de la communauté Symfony.

La keynote commence par une presentation des avancés au niveau de la communauté. La communauté Symfony compte de plus en plus de contributeur, le site de Symfony dispose désormais d'une page listant ceux ci, quelque soit l'ampleur de la contribution. Retour sur SensioConnect, le réseaux social de Sensio. Celui ci semble très bien fonctionné et apprécié de la communauté. SensioLabsEvents va mettre en place un nouvel outils permettant d'organiser des évènements autour de Symfony.

Nous avons ensuite droit à un retour sur le sondage lancé par Fabien il y a quelques semaines. 40% des développeurs Symfony codent sous Linux, 34% sous Mac et 24% sous Windows. Concernant les IDE, Netbeans arrive en tête, suivit de Eclipse et VIM, PHP Storm, TextMate et enfin SublimeText.

Fabien annonce ensuite l'arrivé de la certification Symfony. Les sessions de déroulerons principalement à Paris et coûterons 200€. Elles couvrirons l'ensemble du framework afin de garantir une maîtrise de Symfony.

La keynote se termine par un clip de remerciement dédié aux principaux contributeur et à l'ensemble de la communauté.

La cité universitaire internationale

How web built the new responsive BBC News site par John Cleveley

A l'origine, la première conférence devait être "Security: In Real Life" de Johannes Schmitt, cependant on nous annonce que celui ci semble avoir eu une panne de réveil. C'est donc John Cleveley qui le remplace avec sa conférence sur le nouveau site responsive de BBC News.

Il commence par faire un état des lieux du web, aujourd'hui nous n'accédons plus à internet seulement d'un ordinateur, mais à partir d'une multitude d'appareils mobiles aux résolutions variés et aux connexions hétéroclite. Le mot d'ordre est donné, maximiser l'expérience utilisateur sur chacun de ses appareils et se concentrer sur le contenu principal.

John Cleveley nous présente donc les différentes technologies et techniques permettant dans un premier temps d'adapter l'interface à l'écran de l'utilisateur, et dans un second temps, de réduire la consommation de bande passante du site sur les appareils mobile.

Les solutions abordées :

  • Ecarter le contenu périphérique pour se concentrer sur le contenu principal
  • Affichage Responsive
  • Concaténation et compression des fichiers CSS et Javascript
  • Des images adapter à la résolution de l'utilisateur
  • Cache
  • Rapité

Security: In Real Life par Johannes Schmitt

Ayant finalement réussit à se lever, Johannes nous rejoint pour cette deuxième conférence sur la sécurité dans Symfony2, et plus précisément sur le composant de sécurité de Symfony2.

Les fonctionnalités de sécurité dans Symfony2 étant très compléte et assez complexe, il commence par une introduction présentant comment est organisé la sécurité dans Symfony2. Il détail ensuite les deux aspects du composant de sécurité, l'authentification et les autorisations. Enfin, il expose quelques bonnes pratiques à travers des exemples concrets.

I want to functionally test my application. How can I test parts that need a loggend-in user ?

  • In my application, I want to customize what happens when access is denied.
  • In my application, I want to use the ACL system. Are there best practices for integrating it ?
  • In my application, I do not want to use an ORM, but recieve all user details via an API.
  • In my application, I want to allow login via AJAX.
  • In my application, I want to have localized paths for login.
  • In my application, I want to offer multiple login options like Twitter, Facebook, etc. in addition to form login.

Dependency Management with Composer par Jordi Boggiano

Jordi Boggiono et Nils Adermann nous présentent Composer, l'outils de gestion de dépendances du moment. Composer permet gérer les dépendances (bibliothèques, bundles Symfony2, ...) d'un projet et assure que tout les développeur travail avec les mêmes versions des dépendances.

Jordi et Nils commencent par nous présenter l'écosystème de composer :

  • Composer - L'outils de gestion de dépendances
  • Packagist - Un dépot de package PHP
  • Satis - Un micro-dépot personnel pour les packages propriétaires

Ils détailent ensuite l'installation et l'utilisation de Composer. L'engouement pour cet outils vient assurément de sa simplicité d'utilisation et son efficacité. Composer s'installe en 3 lignes de commandes (téléchargement, installation, initialisation). Un fichier JSON permet ensuite de gérer les dépendances.

L'outils est adopté par un grand nombre de développeur. Il y a déjà plus de 1500 packages sur Packagist et plus de 350000 packages téléchargé depuis celui-ci.

La conclusion de la conférence est clairement axée sur la réutilisation et le partage du code.

  • Look around.
  • Write small libs.
  • Share code.
  • Reuse things.

Composer est disponible sur getcomposer.org. Retrouvez l'ensemble des packages sur packagist.org.

Advanced Silex par Igor Wiedler

Igor Wiedler nous présente Silex, un micro-framework écrit par Fabien Potencier à partir de composants Symfony2. La conférence s'appuie sur un exemple concret, la création d'une application de copier/coller à la pastebin. Il commence par détailler l'installation de Silex puis présente l'architecture du projet. Cette conférence fut une bonne introduction à Silex en présentant les bases du framework (Controlleurs, Autoloading, Services, Tests).

twig.js: The Templating Engine for the Client-Side par Johannes Schmitt

Dernière conférence de la journée, on retrouve à nouveau Johannes qui va nous présenter twig.js, une version client du moteur de template Twig.

Johannes commence par nous expliquer les avantages de twig.js par rapport à d'autres moteurs de templates coté client. Twig.js est rapide, sécurisé, flexible, concis et extensible. Un gros avantage pour les projets qui utilise déjà Twig pour le rendu côté serveur, twig.js utilise exactement la même syntaxe que Twig. Les même template peuvent être utiliser à la fois côté serveur et côté client. Il explique cependant que twig.js n'est pas un implémentation pure javascript de Twig.

Pour passé des templates Twig au javascript, twig.js passe par une phase de compilation des templates. Twig parse les templates en AST puis twig.js les réécrit en javascript. Johannes détails ensuite le fonctionnement du moteur et l'utilisations des variables Assetic.

Enfin, comme à son habitude, il termine sa présentation par quelques de cas d'utilisation :

  • Client-Side Application
  • Rendering Small Pieces on the Client-Side
  • Mixed Client-Side and Server-Side Rendering

JEOPARDY par Jeremy Mikola

Cette première journée de conférences s'achève avec une partie de Jeopardy organisée par Jeremy Mikola sur le thème de Symfony et sa communauté.

Les commentaires