Symfony Live 2010 : 1ere journée

Pour ceux qui suivent un peu l’actu Symfony, vous n’êtes pas sans savoir que se tient aujourd’hui et demain, le Symfony Live, un des évènements majeur du monde Symfony. Peut-être même que vous y êtes :D

Et bien ça tombe bien car Vince et moi même avons la chance d’y être également !

Se rendre au Symfony Live

Bon ce fut tout un marathon pour moi, levé 5h30 (et ceux qui me connaissent savent que c’est déjà un exploit :D), tram puis métro pour attraper mon TGV Marseille-Paris de 6h30.
Arrivé à la gare de Lyon à 9h30, on repart pour une session métro, pour enchainer sur à nouveau un peu de tram avant d’arriver devant la Cité Internationale, endroit de Paris que je ne connaissais pas !

C’est déjà une belle surprise, l’endroit est fort sympathique, très joli, mais très graaand. Et j’ai pas trouvé les grandes affiches que j’attendais « Symfony C’est par là ». Bon finalement je débarque sur les coups de 10h30, badge, tour de cou et petit sac de goodies pour m’accueillir et me voilà dans l’arène.

Heureusement, il restait quelques croissants, parce que forcément j’avais fait l’impasse sur le petit déjeuner et je vais pas vous rappeler les tarifs prohibitifs de la SNCF. Juste de quoi me réveiller un peu et commencer à mettre en route mon cerveau qui jusque là ne voulait qu’une chose, se coucher.

la matinée

Internationalisation

On commence la journée par la présentation de Thomas Rabaix concernant l’internationalisation et Symfony.

Quelques rappels sur ce qu’est l’internationalisation, des astuces sympa comme comment traduire vos routes, mais aussi et surtout la présentation du plugin qu’il a réalisé pour Menu Gourmet : mgI18nPlugin. Il permet de traduire à la volée toutes les chaînes statiques de votre page en utilisant une petit interface qui se place au dessus du site, à essayer d’urgence !
Bref très bonne première présentation.

Vous pourrez trouver les slides de sa présentation sur son site.

Admin generator en détail

John Cleveley nous a fait une petite piqure de rappel des nouveautés de l’admin generator depuis la version 1.0. Il a aussi été l’auteur du slide le plus classe de la journée concernant l’administration « backend » : un éléphant se soulageant le derrière dans un seau … ;-)

Il a rappelé que l’admin generator c’était bien, mais pas forcément pour tout. Qu’il fallait réfléchir au besoin avant de l’utiliser, plutôt que de partir avec tête baissée et se rendre compte plus tard qu’on passe plus de temps à galérer avec par rapport à ce qu’on veut faire qu’autre chose (sa remarque est d’ailleurs valable pour tout développement : c’est généralement une bonne idée de réfléchir avant de se lancer ! ).

Si vous voulez créer votre propre thème, vous pouvez vous inspirer de sfAdminDashPlugin et de sfAdminThemejRollerPlugin.

Il a aussi re-précisé que sfContext::getInstance c’était le mal (même si lui l’utilisait dans ses slides) et a fini par parler de la facilité de modifier/étendre les filtres grâce au form framework. En ce qui concerne les form, il est préférable d’en créer un nouveau pour chaque form du backend, histoire de pas confondre les forms front et back.

Il a conseillé d’utiliser le moins possible le generator pour les label, help etc des forms, mais de tout laisser dans le form : beaucoup plus facile à maintenir.

Windows plaide coupable

Surement parce qu’ils sont sponsor, on a retrouvé une équipe de Microsoft qui a plaidé pendant 50 longues minutes que Microsoft c’était aussi (et presque surtout) de l’open source et que développer dessus, c’était bien. Apparemment pas assez pour donner envie de poser des questions à l’auditoire.

Bon, ok sur windows, tu peux développer sur Visual Studio 2010 Ultimate, what else?

Du coup un petit sondage a été lancé sur la répartition des OS pour les devs symfony

L’aprèm

Symfony Internals

Pas de nouveautés pour tous les développeurs qui ont pu travailler un peu en profondeur sur ce framework. Une belle revue de tout le fonctionnement interne de Symfony par Geoffrey Bachelet, et avec un accent so french ;)

Voir les slides

Doctrine migration

Un bon rappel sur l’enjeu des migrations et que maintenant (depuis sf 1.3) cela consiste en 3 opérations :

  • Modifier son schema.yml pour inclure nos modifications
  • Lancer la task de diff:
    symfony doctrine:generate-migrations-diff
  • Regénérer ces classes model/form/filter et lancer la migration:
    symfony doctrine:build --all-classes --and-migrate

Alors pourquoi s’en priver?

Voir les slides

Doctrine 2

Est arrivé le tour de chauffe des gros sujets de la conférence. En l’occurrence Doctrine 2. Les grandes idées que Jonathan nous a montré:

  • 100% réécrit, donc plus de compatibilité descendante
  • ~ 3 fois plus rapide que Doctrine 1.2
  • Principalement concentré sur la perf, et donc adieu la magie des findByMaColonne et consor. A l’image de Propel, les getteur et setteur seront générés dans la class model vu que les modèles justement n’hériteront plus d’une class de type Record, permettant ainsi d’alléger la charge mémoire
  • Intégration d’une classe qui s’occupera, à l’image du monde java, de gérer les flush et clear. Ca ne sera plus l’objet en lui même qu’il faudra « save » mais demander à cette nouvelle classe de le faire.

Forcément, ca fait un peu peur, car au delà, d’une réécriture, ce sont des gros changements. Mais dans un souci de performance (aussi bien en terme de temps d’exécution que de charge mémoire), on prend le bon chemin. Même si la magie va disparaître…

Voir les slides

Offline admin generator

Sur cette partie, on a retrouvé Thomat Parizot, de chez clever-age (vous savez ceux qui ont annoncé un plugin de gestion de media au dernier symfony live, mais qu’on attend toujours :p).
On découvre un concept plutôt innovant dans le monde symfony, l’idée de permettre l’accès et le travail sur un backoffice sans connexion Internet semble une bonne idée. Il suffit de synchroniser, après coup, son travail.

Bon ok la démo n’a pas été parfaite – ahh l’effet démo – mais ya quand même un gros boulot derrière même si malheureusement c’est un concept très (trop?) dépendant de la technologie, vu qu’après Gears, il se base maintenant sur HTML5 et toutes ces nouvelles fonctionnalités. Donc très limité, mais à garder sous le coude.

Help the community

Skoop a redonner toutes les clés pour aider la communauté. Et que même les petites actions, comme les ouvertures de bug, sont très appréciées.

Voir les slides

Table ronde avec la core team

Pas mal de questions sur les sujets classiques, hello world application, et consor. Voici un petit recap des questions que j’ai comprises et trouvées intéressantes:

Q: Compatibilité descendante avec la fin du support de la 1.0
R: Gros effort sur la facilité de passer à une version supérieure
Q: Documentation du système de form un peu en retrait?
R: Ne pas hésiter à aider!
Q: Symfony enseigné à l’école? Support de cours disponibles?
R: PHP déjà peut enseigné de base. Pas plus d’info à ce sujet mais ne pas hésiter à les contacter sur ce sujet
Q: Développement ne va pas trop vite?
R: La 1.4 aura bien 3 ans de support, ce qui est en soi, très long. Et puis le web évolue vite, donc il faut suivre
Q: Performance? Quid?
R: Le problème vient rarement du framework… :D
Q: Difficulté à faire adopter Symfony par leur client
R: C’est ensemble et en fournissant des cas d’utilisation précis de Symfony, qu’on pourra faire évoluer les mentalités
Q: Sismo? Bientôt dans les bacs?
R: Fabien n’a plus le temps pour l’instant. Projet en standby et clairement pas prioritaire. Et de toute façon Sismo ne fera jamais tout ce que fait Hudson et consor. Il n’a pas écarté la possibilité de ne jamais le release…
Q: Quid de la construction d’un vrai CMS Symfony une bonne foi pour toute?
R: Déjà 3 CMS existant très solides, avec 3 approches différentes. Il faut en débattre.
Q: Pourquoi reprendre plein de projets, comme Swift?
R: Une volonté de ne pas réinventer la roue et de récupérer et adapter les meilleurs pratiques et idées en PHP
Q: Et Propel dans tout ça?
R: Gros boulot de François, mais peut-être un peu trop tard? Jamais dire jamais, mais pour l’instant après le gros switch vers Doctrine, difficile de faire machine arrière. Surtout que le futur de Propel avec sa 2.0 n’est pas du tout assuré pour l’instant

Et du coup, quelques annonces sont sorties:

  • phpbb4 sera codé en Symfony 2, ce qui en ferait le premier gros projet open source php entièrement en Symfony si je ne m’abuse
  • Symfony2 n’a plus de plugin mais des bundles…
  • Symfony2 n’utilisera plus que le meilleur des autres framework, comme le logger et le cache de Zend, au lieu de le recoder de leur côté.

Voilà un petit compte rendu, les slides des différentes interventions sont disponible sur le blog de Symfony.

Vos envoyés spéciaux pour l’évènement: Vince et Tim

crédit photo: http://www.flickr.com/photos/iph4n70m/4338366087/

Tags: , , , , ,

A propos de l'auteur

Développeur web spécialisé Symfony, il est avant tout passionné de web tout simplement. Il aime les défis et farfouiller dans le code de Symfony ou Doctrine. Fondateur du blog, il exerce chez Autrement.

Vous avez aimé ce billet? Faites le savoir!

  • Delicious
  • Twitter
  • Technorati Favorites
  • FriendFeed
  • Google Bookmarks
  • Share

5 Réponses

  1. ornicar 17 février 2010 à 14 h 25 min #

    Super article, merci! La section Q/R est bien intéressante.

    Petite typo dans la 3ème réponse: « PHP déjà peut enseigné de base. » -> PHP déjà peu enseigné de base. »

  2. Mère Teresa 17 février 2010 à 14 h 29 min #

    Très intéressant. Bon pour la Cité U. Il fallait aller tout droit en entrant !

  3. [...] Un compte rendu plus détaillé de la premère journée sur Amicalement Web [...]

  4. Fabien 27 février 2010 à 18 h 45 min #

    Merci pour le topo, on aurait tellement y être !

  5. [...] une première journée, un peu éprouvante – levé 5h30, couché 2h – on est reparti au [...]


Laisser un message