Symfony Live 2010 : 2eme journée
Après une première journée, un peu éprouvante – levé 5h30, couché 2h – on est reparti au front, avec dans la ligne de mire la preview de Symfony 2. Forcément, ca motive.
Matinée
Okapi
Bon, on avoue, on a un peu zappé cette conférence, histoire de gagner un peu plus de temps de sommeil pour tenir sur la durée, et en profiter pour mettre au propre le billet d’hier. On a juste retenu qu’ils utilisaient le Dependency Injection Container des components symfony.
Mais vous pouvez retrouver les slides.
Optimisation PHP
Un tour complet à coup d’exemple de opcode, intéressant même si au final ce sont toujours les mêmes choses qui sont redites, très génériques. Je me tends à croire qu’un jour on aura un vrai cas concret dans ce genre d’intervention.
Et puis surtout, quand on utilise un framework, on a plus à gagner, à bien utiliser le framework qu’à optimiser une boucle.
Mais on a réussi à avoir quelques tips supplémentaires pendant la séance de questions :
- La pré incrémentation est plus rapide que la post incrémentation
- Toujours privilégier la boucle while à une boucle for
- Bannir les relations parent/enfant – L’enfant pointe sur le parent et inversement. Pas bon pour la mémoire
Voir les slides
Et pour aller plus loin dans le sujet, une ancienne présentation de Fabian Lange.
Git introduction
Une des premières sessions Show Time, où Scott Chacon y est allé franco pour présenter Git, à une assistance majoritairement SVN.
Une petite autopromo : rapidité, travail offline (sauf pull et push) et puissance du système de branches ont suffit à mettre le doute dans la tête de beaucoup, à ce qu’on pouvait lire sur twitter après coup.
Il a ensuite donné le lien d’une librairie pour contrôler git depuis PHP (glib) et a su répondre à la principale question:
- Un équivalent de SVN externals?
- Bien sûr, git uses submodules, mais il faut les mettre à jour à la main (donc 2 commandes au lieu d’une pour mettre à jour, ça reste raisonnable)
Zend Framework
Est arrivé, celui qui s’est présenté comme « N’est pas l’ennemi », le lead developer du Zend Framework.
Il a rappelé combien étaient nombreuses les librairies et composants développés et combien il était facile de les inclure dans symfony. Ca m’a d’ailleurs fait penser, que je ne regarde sans doute pas assez chez eux, quand j’ai besoin d’une librairie externe.
Voir les slides
Et Matthew a ensuite fait un debriefing son intervention sur son blog.
Aprem
Implementing Symfony CMS
La première touche hispanique de la conférence, qui nous a rappelé combien symfony était vraiment international. Marcos, nous a donc expliqué pourquoi avoir choisi symfony pour développer les CMS de leur client et l’approche qu’ils ont eu pour le réaliser.
Pas de gros scoop, ni d’exemple super concret mais une approche intéressante et surtout, tirée d’une vrai expérience dans le domaine.
Event System
Deuxième intervention de Dennis sur un des mécanismes sans doute le moins utilisé dans la panoplie Symfony, les events. Après avoir repris, ce qu’on peut trouver sur Symfony-Project, il a démontré pourquoi le couplage trop fort, c’était le mal - et donc les events le bien (ou le mal aussi, voir ci-dessous).
Un petit sondage fait sur twitter, a montré combien les possibilités étaient larges. Mais aussi qu’on pouvait en faire tout et n’importe quoi – Merci ubermuda pour la démonstration :p.
Ce qui nous a valu l’expression « Events, No silver bullet! » – Entendre par là, que ce n’est pas la solution à tout.
En résumé, un event s’utilise pour du « couplage optionnel », sinon ça revient à avoir un couplage fort également.
Des questions assez peu pertinentes dans l’ensemble, comme quoi, c’était pas clair pour tout le monde les events, la conf était donc nécessaire contrairement à ce qu’on pouvait lire sur twitter.
Symfony in the cloud
Kris, de la core team, avec cette présentation aura remporté le prix des meilleurs transitions et de la slide la plus Hollywoodienne, avec une démo en temps réel de la création d’un nuage – musique de circonstance pour l’occasion – où il a réussi un tour de force en rajoutant un nuage en arrière plan de son nuage!
Le public était conquis.
Plus sérieusement, il a pris comme support son site nebul.us, pour montrer comment interconnecter Symfony avec différents environnement à base de nuage, 3 serveurs Mysql – 1 Master, 2 Slaves – n apache, S3 pour le stockage.
De très belles démo de code pour bénéficier des nouvelles possibilités d’extension de Doctrine 1.2 – à voir dans les slides – entre autres mais aussi d’utilisation de composant Zend.
L’effet démo ne l’aura au final pas épargné lui aussi, une tentative de release en direct de son plugin pour gérer les couples Master/Slave et un beau fail quand il est revenu sur la page d’accueil après qu’il se soit reloggué suite à l’expiration de sa session sur symfony-project :D
À noter que cette présentation aurait pu ne pas avoir lieu si Vince n’avait pas sauvé la mise, en sortant un adaptateur dvi ancienne génération pour le prêter à Kris :p
Debug Symfony
Une vrai démonstration de l’approche à avoir pour vraiment optimiser son application. Plutôt que de se demander si echo sera plus rapide avec une virgule ou un point.
Il encourage de logguer en base, pour y avoir accès plus facilement et ajouter des notions de filtrage aisément et insiste sur les avantages du profiling, même s’il a oublié qu’un plugin Symfony était dispo pour ça .
On a pu noter les outils utilisés pour le benchmark et les metrics, Tsung et Graphite, que je ne connaissais pas. Toujours ça de bon à prendre aussi !
Une présentation très complète mais rien d’inédit que vous trouverez dans les slides.
Yahoooo
Comme d’habitude, Dustin, membre de la core team, et Yahoo man est venu présenter un peu le boulot de Yahoo autour de symfony. Pourquoi symfony, leurs contributions, leurs modifications.
Un petit tour des sites actuels développés sur le framework, avec un slide où on a pu apercevoir Shopgenie \o/ – la version anglaise de MonsieurPrix, développée par moi même ;) ca fait toujours plaisir!
Il a ensuite abordé le développement d’application web plus généralement et les bonnes questions à se poser concernant les choix à faire dans le design d’une architecture. Avec en guise de conclusion, une transition toute trouvée : « Symfony 2 is the right direction » !
On notera au passage un petit sondage de l’assistance sur les framework js, que jQuery a remporté avec une écrasante majorité.
Symfony 2 preview
Est arrivée, la présentation que tout le monde attendait, Symfony 2 ! Il faudrait un billet dédié à lui même, et on va beaucoup en parler dans les prochaines semaines, donc je vais pas m’attarder longtemps.
On peut retenir, que Symfony 2 sera orienté configuration – tout est configurable – et couplage faible avec un passage sur PHP 5.3. Il ne sera plus question également de développer des choses annexes, comme le logger ou le système de cache, mais d’utiliser des librairies reconnues pour ça (dont celles du Zend Framework justement).
Il a bien insisté sur le fait, que Symfony 2 pourra faire exactement les mêmes choses que la version 1, mais plus simplement et surtout plus rapidement. Avec par exemple, le lazy load – on charge seulement ce dont le framework a besoin.
Avec une conclusion « Faster as hell! « .
Bon il n’aura pas échappé à l’effet démo, avec une tentative de commit de la preview release en direct, qui s’est soldée également par un échec. Le compte Wifi de la Cité Universitaire était expiré ;-) Mais vous pouvez désormais récupérer le code source de cette première version et faire joujou avec sur le site dédié à Symfony 2 !
Il ne restait plus qu’à faire le chemin inverse, Direction Marseille. En espérant avoir l’occasion de revenir ;)
Vos envoyés spéciaux pour l’évènement: Vince et Tim
Crédit photo: http://www.flickr.com/photos/xavierbriand/4368850785/in/set-72157623335239339/
Tags: cms, event, git, optimisation, performance, profiling, Symfony, yahoo
Une Réponse
Laisser un message

[...] Un compte rendu plus détaillé de la première et deuxième journée [...]