<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Amicalement Web - Astuces et Bons plans dans le développement web &#187; Tim</title>
	<atom:link href="http://www.amicalement-web.net/author/tim/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.amicalement-web.net</link>
	<description>Astuces et bons plans d&#039;un web developpeur</description>
	<lastBuildDate>Thu, 03 Jun 2010 10:06:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Symfony Live 2010 : Les coulisses</title>
		<link>http://www.amicalement-web.net/symfony-live-2010-les-coulisses/2010/02/24/</link>
		<comments>http://www.amicalement-web.net/symfony-live-2010-les-coulisses/2010/02/24/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 10:00:38 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Actualité]]></category>
		<category><![CDATA[cafe]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[paris]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[wifi]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=1225</guid>
		<description><![CDATA[ Pour les retardataires, la semaine dernière se tenait le Symfony Live 2010 à Paris, auquel, Vince et moi avons assisté pendant 2 jours. Malheureusement, ce genre d&#8217;évènement n&#8217;est pas toujours à la portée de tous.
Après, vous avoir résumé à notre façon, les 2 jours, il nous semblait pertinent de vous faire un petit topo [...]]]></description>
			<content:encoded><![CDATA[<p><a  href="http://www.amicalement-web.net/symfony-live-2010-les-coulisses/2010/02/24/"><img class="alignnone size-full wp-image-1338" title="elephant-php" src="http://www.amicalement-web.net/wp-content/uploads/elephant-php.jpg" alt="" width="614" height="100" /></a> Pour les retardataires, la semaine dernière se tenait le Symfony Live 2010 à Paris, auquel, <a  href="http://twitter.com/vjousse">Vince</a> et moi <a  href="/symfony-live-2010-1ere-journee/2010/02/17/">avons assisté</a> pendant <a  href="/symfony-live-2010-2eme-journee/2010/02/19/">2 jours</a>. Malheureusement, ce genre d&#8217;évènement n&#8217;est pas toujours à la portée de tous.</p>
<p>Après, vous avoir résumé à notre façon, les 2 jours, il nous semblait pertinent de vous faire un petit topo des coulisses, histoire de vous mettre encore plus dans l&#8217;ambiance et vous donner envie (ou pas) de nous y retrouver la prochaine fois!<br />
<span id="more-1225"></span></p>
<h3>L&#8217;endroit</h3>
<p>La conférence, était à Paris, <strong>à la Cité Internationale</strong> (côté porte d&#8217;Orléans donc), facilement accessible en transport en commun &#8211; métro, tram et rer pas loin &#8211; comme la précédente session en 2009. Seule différence, la salle.</p>
<p>À l&#8217;arrivée le premier jour, vous montrez patte blanche et on vous remet votre badge, votre joli tour de cou et un petit sac de pub, stickers, tshirt et autre tournevis (sisi, un tournevis yahoo :p). Il ne reste plus qu&#8217;à pousser la porte de l&#8217;arène. Juste derrière, on retrouve les stands des livres de Sensio, des éléphants PHP en peluche et autre goodies.</p>
<p>Pour le coup, on était à l&#8217;espace Adenauer (pour ceux qui connaissent l&#8217;endroit). Donc une grande salle avec gradin entouré d&#8217;un U, avec tables, chaises et quelques prises électriques. Prises qui ont du coup chauffées énormément, et ce fut un peu <strong>la guerre pour recharger son notebook</strong> chéri &#8211; heureusement que la majorité était des macs avec des autonomies digne de ce nom, mais je m&#8217;égare.</p>
<p>Du coup, il était possible d&#8217;aller se détendre sur les côtés si une conférence ne vous emballait pas, ou si vous aviez une urgence à traiter, un billet de blog à écrire et j&#8217;en passe. C&#8217;est toujours sympa. Bon du coup, les conférences avec peu de succès étaient en direct concurrence avec le bruit environnant, mais rien de dramatique.</p>
<h3>Le ravitaillement</h3>
<p>Mais le principal, derrière l&#8217;écran de projection, le ravitaillement ! Mini croissants, pains au chocolat, truc aux raisins pas bon, jus d&#8217;orange, café, thé,<strong> le tout à volonté</strong> :p Bon forcément,<strong> le café ne fait pas long feu</strong>, donc mieux vaut ne pas arriver trop tard.<br />
C&#8217;est d&#8217;ailleurs le point qui aura marqué beaucoup de monde à voir les tweets passer sur le sujet. Moralité, les geeks boivent du café, étonnant non ?</p>
<p>A midi, branle-bas de combat: Les lunchs bags arrivent ! En général, vous pouvez aller vous détendre 10min, en laissant la première vague se battre pour les premiers, de toute façon, il y en toujours plus que pas assez :p On se demande quand même, comment Fabien faisait pour être le premier servi, mais on va dire qu&#8217;on a rien vu ;)</p>
<p>Donc le minimum syndical, pour le repas &#8211; offert donc, enfin offert, compris dans le prix dirons nous ;) -, <strong>un sandwich &#8211; au choix parmi 4 ou 5 différent tout de même -</strong>, du saumon, au jambon, en passant par les classiques poulet, fromage, accompagné d&#8217;une bouteille d&#8217;eau et d&#8217;une part de tarte.<br />
A noter, que la tarte aux poires de Mercredi m&#8217;aura beaucoup plus emballé que celle aux pommes de Mardi, mais question de goût :p</p>
<h3>Le confort</h3>
<p>En tant que geek, en temps normal, on n&#8217;est pas difficile, pourvu qu&#8217;on puisse <strong>se connecter en wifi</strong>. C&#8217;était le cas, et après une petite frayeur en arrivant Mardi, il s&#8217;est avéré qu&#8217;il a plus ou moins tenu le coup ensuite.</p>
<p>Pour s&#8217;asseoir, on avait le choix des chaises devant l&#8217;estrade ou les fauteuils des gradins, genre petit cinéma de quartier. Malheureusement, même si on trouve ça sympa au début, la mousse des sièges datant certainement, elle fini par se tasser &#8211; en y restant plus de 3h d&#8217;affilée, forcément &#8211; et donnait l&#8217;impression d&#8217;être <strong>assis sur une planche de bois</strong>.</p>
<p>Certes on venait pas pour le confort, mais rajouté à l&#8217;<strong>espace assez étriqué pour chaque fauteuil</strong>, c&#8217;était pas le luxe non plus :p<br />
Heureusement la conférence a tenu ses promesses, ce qui nous permettait de se focaliser sur autre chose &#8211; peut-être était-ce prémédité.</p>
<h3>Les orateurs</h3>
<p>On a eu le droit à une belle brochette d&#8217;orateurs, tous avec des présentations en général <strong>rondement menées</strong> et bien calés sur leur sujet. Évidemment, pas simple pour les pays latins de rivaliser avec les accents américains de John ou Dustin, mais dans l&#8217;ensemble, je pense que tous ont été compris. Alors certes certains puristes ont critiqué l&#8217;accent de <a  href="http://twitter.com/ubermuda">ubermuda</a>, c&#8217;était juste un moyen d&#8217;apporter un peu de French touch à cette conférence ;)</p>
<p>On a pu apprécier, pour beaucoup, <strong>leur capacité à captiver leur auditoire</strong>, entre les slides joke, les effets musicaux ou les petites phrases échappées entre 2 slides, c&#8217;est resté très cool et dans une bonne ambiance.</p>
<p>Pour ce qui est de l&#8217;organisation, <a  href="http://twitter/hhamon">Hugo</a> s&#8217;est occupé du passage de micro et d&#8217;écourter les sessions qui commençaient à dépasser, permettant un planning presque respecté.</p>
<p>Niveau transition, on avait 5min de break entre chaque intervention, pas de quoi aller fumer une clope, et 1 pause de 15min toutes les 2 heures. Un bon rythme, même si ca représente un gros effort de concentration, c&#8217;est toujours plus simple quand on est intéressé par le sujet.</p>
<h3>Rencontres</h3>
<p>Pas simple de ce côté, car énormément de monde et un planning assez serré, pas la possibilité de rester tard dans la soirée. En rajoutant à ça, la volonté de couvrir l&#8217;évènement sur le blog. J&#8217;ai pas été super dispo.</p>
<p>Bon on a réussi à accrocher <a  href="http://twitter.com/ubermuda">ubermuda</a>, toujours mieux que rien :p</p>
<h3>Photos</h3>
<p>Forcément, on a la chance d&#8217;avoir des photographes amateurs dans ce genre de réunion, je vous laisse jeter un oeil <a  href="http://www.flickr.com/photos/tags/sflive2010/">aux photos tagguées sflive2010 sur flickr</a>.</p>
<h3>Conclusion</h3>
<p>Finalement seul détail qui m&#8217;aura marqué, c&#8217;est surtout <strong>le manque de poubelles</strong> ! Il me semble que j&#8217;en ai aperçu 2, dans la zone de ravitaillement, pas forcément très grandes. Ce qui fait &#8211; à tort ou à raison &#8211; que le sol près des sièges a été annexé parfois par les gobelets en plastique. Bon on reste des geeks me direz vous.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/symfony-live-2010-les-coulisses/2010/02/24/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Symfony Live 2010 : 2eme journée</title>
		<link>http://www.amicalement-web.net/symfony-live-2010-2eme-journee/2010/02/19/</link>
		<comments>http://www.amicalement-web.net/symfony-live-2010-2eme-journee/2010/02/19/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 10:00:15 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Actualité]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[optimisation]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[profiling]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=1237</guid>
		<description><![CDATA[ Après une première journée, un peu éprouvante &#8211; levé 5h30, couché 2h &#8211; 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 [...]]]></description>
			<content:encoded><![CDATA[<p><a  href="http://www.amicalement-web.net/symfony-live-2010-2eme-journee/2010/02/19"><img src="http://www.amicalement-web.net/wp-content/uploads/estrade.jpg" alt="" title="estrade" width="614" height="100" class="alignnone size-full wp-image-1312" /></a> Après <a  href="/symfony-live-2010-1ere-journee/2010/02/17/">une première journée</a>, un peu éprouvante &#8211; levé 5h30, couché 2h &#8211; on est reparti au front, avec dans la ligne de mire la preview de Symfony 2. Forcément, ca motive.<br />
<span id="more-1237"></span></p>
<h3>Matinée</h3>
<h4>Okapi</h4>
<p>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&#8217;hier. On a juste retenu qu&#8217;ils utilisaient le <a  href="http://components.symfony-project.org/dependency-injection/">Dependency Injection Container</a> des components symfony.</p>
<p>Mais vous pouvez <a  href="http://www.slideshare.net/lsmith77/okapi-meet-symfony-symfony-meet-okapi">retrouver les slides</a>.</p>
<h4>Optimisation PHP</h4>
<p>Un tour complet à coup d&#8217;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&#8217;un jour on aura un vrai cas concret dans ce genre d&#8217;intervention.</p>
<p>Et puis surtout, quand on utilise un framework, on a plus à gagner, <strong>à bien utiliser le framework</strong> qu&#8217;à optimiser une boucle. </p>
<p>Mais on a réussi à avoir quelques tips supplémentaires pendant la séance de questions :</p>
<ul>
<li>La pré incrémentation est plus rapide que la post incrémentation</li>
<li>Toujours privilégier la boucle while à une boucle for</li>
<li>Bannir les relations parent/enfant &#8211; L&#8217;enfant pointe sur le parent et inversement. Pas bon pour la mémoire</li>
</ul>
<p><a  href="http://www.slideshare.net/xdecock/php-performance-sflive-2010">Voir les slides</a><br />
Et pour aller plus loin dans le sujet, une <a  href="http://www.slideshare.net/fabianlange/full-stack-web-application-performance-tuning-presentation">ancienne présentation de Fabian Lange</a>.</p>
<h4>Git introduction</h4>
<p>Une des premières sessions Show Time, où Scott Chacon y est allé franco pour présenter Git, à une assistance majoritairement SVN.<br />
Une petite autopromo : rapidité, travail offline (sauf pull et push) et <strong>puissance du système de branches</strong> ont suffit à mettre le doute dans la tête de beaucoup, à ce qu&#8217;on pouvait lire sur twitter après coup.</p>
<p>Il a ensuite donné le lien d&#8217;une librairie pour <a  href="http://redotheoffice.com/?p=130">contrôler git depuis PHP (glib)</a> et a su répondre à la principale question:</p>
<dl>
<dt>Un équivalent de SVN externals?</dt>
<dd>Bien sûr, git uses submodules, mais il faut les mettre à jour à la main (donc 2 commandes au lieu d&#8217;une pour mettre à jour, ça reste raisonnable)</dd>
</dl>
<p><a  href="http://www.slideshare.net/chacon/git-101-presentation">Voir les slides</a></p>
<h4>Zend Framework</h4>
<p>Est arrivé, celui qui s&#8217;est présenté comme &laquo;&nbsp;N&#8217;est pas l&#8217;ennemi&nbsp;&raquo;, le lead developer du Zend Framework.<br />
Il a rappelé combien étaient nombreuses les librairies et composants développés et combien <strong>il était facile de les inclure dans symfony</strong>. Ca m&#8217;a d&#8217;ailleurs fait penser, que je ne regarde sans doute pas assez chez eux, quand j&#8217;ai besoin d&#8217;une librairie externe.</p>
<p><a  href="http://www.slideshare.net/weierophinney/using-zend-framework-with-symfony">Voir les slides</a><br />
Et Matthew a ensuite fait un debriefing son intervention <a  href="http://weierophinney.net/matthew/archives/232-Symfony-Live-2010.html">sur son blog</a>.</p>
<h3>Aprem</h3>
<h4>Implementing Symfony CMS</h4>
<p>La première touche hispanique de la conférence, qui nous a rappelé combien <strong>symfony était vraiment international</strong>. Marcos, nous a donc expliqué pourquoi avoir choisi symfony pour développer les CMS de leur client et l&#8217;approche qu&#8217;ils ont eu pour le réaliser.</p>
<p>Pas de gros scoop, ni d&#8217;exemple super concret mais une approche intéressante et surtout, t<strong>irée d&#8217;une vrai expérience dans le domaine</strong>.</p>
<p><a  href="http://www.slideshare.net/esmiz/implementing-a-symfony-based-cms-in-a-publishing-company">Voir les slides</a></p>
<h4>Event System</h4>
<p>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&#8217;on peut trouver sur Symfony-Project, il a démontré pourquoi <strong>le couplage trop fort, c&#8217;était le mal </strong>- et donc <strong>les events le bien</strong> (ou le mal aussi, voir ci-dessous).</p>
<p>Un petit sondage fait sur twitter, a montré combien les possibilités étaient larges. Mais aussi qu&#8217;on pouvait en faire tout et n&#8217;importe quoi &#8211; Merci <a  href="http://twitter.com/ubermuda">ubermuda</a> pour la démonstration :p.<br />
Ce qui nous a valu l&#8217;expression &laquo;&nbsp;Events, No silver bullet!&nbsp;&raquo; &#8211; Entendre par là, que ce n&#8217;est pas la solution à tout.</p>
<p>En résumé, <strong>un event s&#8217;utilise pour du &laquo;&nbsp;couplage optionnel&nbsp;&raquo;</strong>, sinon ça revient à avoir un couplage fort également.</p>
<p>Des questions assez peu pertinentes dans l&#8217;ensemble, comme quoi, c&#8217;était pas clair pour tout le monde les events, la conf était donc nécessaire contrairement à ce qu&#8217;on pouvait lire sur twitter.</p>
<p><a  href="http://www.slideshare.net/denderello/symfony-live-2010-using-symfony-events-to-create-clean-class-interfaces">Voir les slides</a></p>
<h4>Symfony in the cloud</h4>
<p>Kris, de la core team, avec cette présentation aura remporté le prix des meilleurs transitions et de <strong>la slide la plus Hollywoodienne</strong>, avec une démo en temps réel de la création d&#8217;un nuage &#8211; musique de circonstance pour l&#8217;occasion &#8211; où il a réussi un tour de force en rajoutant un nuage en arrière plan de son nuage!<br />
Le public était conquis.</p>
<p>Plus sérieusement, il a pris comme support son site nebul.us, pour montrer comment <strong>interconnecter Symfony avec différents environnement à base de nuage</strong>, 3 serveurs Mysql &#8211; 1 Master, 2 Slaves &#8211; n apache, S3 pour le stockage.</p>
<p>De très belles démo de code pour bénéficier <strong>des nouvelles possibilités d&#8217;extension de Doctrine 1.2</strong> &#8211; à voir dans les slides &#8211; entre autres mais aussi d&#8217;<strong>utilisation de composant Zend</strong>.</p>
<p>L&#8217;effet démo ne l&#8217;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&#8217;accueil après qu&#8217;il se soit reloggué suite à l&#8217;expiration de sa session sur symfony-project :D</p>
<p>À noter que cette présentation aurait pu ne pas avoir lieu si <a  href="http://twitter.com/vjousse">Vince</a> n&#8217;avait pas sauvé la mise, en sortant un adaptateur dvi ancienne génération pour le prêter à Kris :p</p>
<p><a  href="http://www.slideshare.net/kriswallsmith/symfony-in-the-cloud">Voir les slides</a></p>
<h4>Debug Symfony</h4>
<p>Une vrai démonstration de l&#8217;approche à avoir pour <strong>vraiment optimiser son application</strong>. Plutôt que de se demander si echo sera plus rapide avec une virgule ou un point.</p>
<p>Il encourage de<strong> logguer en base</strong>, pour y avoir accès plus facilement et ajouter des notions de filtrage aisément et insiste sur<strong> les avantages du profiling</strong>, même s&#8217;il a oublié qu&#8217;<a  href="http://www.symfony-project.org/plugins/elXHProfPlugin">un plugin Symfony était dispo</a> pour ça .</p>
<p>On a pu noter les outils utilisés pour le benchmark et les metrics, <a  href="http://tsung.erlang-projects.org/">Tsung</a> et Graphite, que je ne connaissais pas. Toujours ça de bon à prendre aussi !</p>
<p>Une présentation très complète mais rien d&#8217;inédit que vous trouverez <a  href="http://www.slideshare.net/old_sound/debugging-and-profiling-symfony-apps">dans les slides</a>.</p>
<h4>Yahoooo</h4>
<p>Comme d&#8217;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.<br />
Un petit tour des sites actuels développés sur le framework, avec un slide où on a pu apercevoir Shopgenie \o/ &#8211; la version anglaise de MonsieurPrix, développée par moi même ;) ca fait toujours plaisir!</p>
<p>Il a ensuite abordé le développement d&#8217;application web plus généralement et les bonnes questions à se poser concernant les choix à faire dans le design d&#8217;une architecture. Avec en guise de conclusion, une transition toute trouvée : &laquo;&nbsp;<strong>Symfony 2 is the right direction</strong>&nbsp;&raquo; !</p>
<p>On notera au passage un petit sondage de l&#8217;assistance sur les framework js, que<strong> jQuery a remporté</strong> avec une écrasante majorité.</p>
<p><a  href="http://www.slideshare.net/dustin.whittle/building-a-platform-from-open-source-at-yahoo-3209565">Voir les slides</a></p>
<h4>Symfony 2 preview</h4>
<p>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&#8217;attarder longtemps.</p>
<p>On peut retenir, que <strong>Symfony 2 sera orienté configuration</strong> &#8211; tout est configurable &#8211; et <strong>couplage faible</strong> 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&#8217;<strong>utiliser des librairies reconnues</strong> pour ça (dont celles du Zend Framework justement).</p>
<p>Il a bien insisté sur le fait, que Symfony 2 pourra faire exactement les mêmes choses que la version 1, mais <strong>plus simplement et surtout plus rapidement</strong>. Avec par exemple, le lazy load &#8211; on charge seulement ce dont le framework a besoin.</p>
<p>Avec une conclusion &laquo;&nbsp;Faster as hell! &laquo;&nbsp;.</p>
<p>Bon il n&#8217;aura pas échappé à l&#8217;effet démo, avec une tentative de commit de la preview release en direct, qui s&#8217;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 <a  href="http://www.symfony-reloaded.org">le site dédié à Symfony 2</a> !</p>
<p><a  href="http://www.slideshare.net/fabpot/symfony-20-revealed">Voir les slides</a></p>
<p>Il ne restait plus qu&#8217;à faire le chemin inverse, Direction Marseille. En espérant avoir l&#8217;occasion de revenir ;)</p>
<p class="alignright">
<em>Vos envoyés spéciaux pour l&#8217;évènement: Vince et Tim</em>
</p>
<p style="clear: both">
<small>Crédit photo: http://www.flickr.com/photos/xavierbriand/4368850785/in/set-72157623335239339/</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/symfony-live-2010-2eme-journee/2010/02/19/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Symfony Live 2010 : 1ere journée</title>
		<link>http://www.amicalement-web.net/symfony-live-2010-1ere-journee/2010/02/17/</link>
		<comments>http://www.amicalement-web.net/symfony-live-2010-1ere-journee/2010/02/17/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 13:16:34 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Actualité]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[doctrine]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[Symfony]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=1217</guid>
		<description><![CDATA[ Pour ceux qui suivent un peu l&#8217;actu Symfony, vous n&#8217;êtes pas sans savoir que se tient aujourd&#8217;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&#8217;y être également !

Se rendre au [...]]]></description>
			<content:encoded><![CDATA[<p><a  href="http://www.amicalement-web.net/symfony-live-2010-1ere-journee/2010/02/17"><img src="http://www.amicalement-web.net/wp-content/uploads/cite-internationale.jpg" alt="" title="cite-internationale" width="614" height="100" class="alignnone size-full wp-image-1246" /></a> Pour ceux qui suivent un peu l&#8217;actu Symfony, vous n&#8217;êtes pas sans savoir que se tient aujourd&#8217;hui et demain, le <a  href="http://www.symfony-live.com/">Symfony Live</a>, un des évènements majeur du monde Symfony. Peut-être même que vous y êtes :D</p>
<p>Et bien ça tombe bien car Vince et moi même avons la chance d&#8217;y être également !<br />
<span id="more-1217"></span></p>
<h3>Se rendre au Symfony Live</h3>
<p>Bon ce fut tout un marathon pour moi, levé 5h30 (et ceux qui me connaissent savent que c&#8217;est déjà un exploit :D), tram puis métro pour attraper mon TGV Marseille-Paris de 6h30.<br />
Arrivé à la gare de Lyon à 9h30, on repart pour une session métro, pour enchainer sur à nouveau un peu de tram avant d&#8217;arriver devant la Cité Internationale, endroit de Paris que je ne connaissais pas !</p>
<p>C&#8217;est déjà une belle surprise, l&#8217;endroit est fort sympathique, très joli, mais très graaand. Et j&#8217;ai pas trouvé les grandes affiches que j&#8217;attendais &laquo;&nbsp;Symfony C&#8217;est par là&nbsp;&raquo;. Bon finalement je débarque sur les coups de 10h30, badge, tour de cou et petit sac de goodies pour m&#8217;accueillir et me voilà dans l&#8217;arène.</p>
<p>Heureusement, il restait quelques croissants, parce que forcément j&#8217;avais fait l&#8217;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&#8217;une chose, se coucher.</p>
<h3>la matinée</h3>
<h4>Internationalisation</h4>
<p>On commence la journée par la présentation de <a  href="http://rabaix.net/">Thomas Rabaix</a> concernant l&#8217;internationalisation et Symfony. </p>
<p>Quelques rappels sur ce qu&#8217;est l&#8217;internationalisation, <strong>des astuces sympa comme comment traduire vos routes</strong>, mais aussi et surtout la présentation du plugin qu&#8217;il a réalisé pour <a  href="http://www.menugourmet.com/">Menu Gourmet</a> : <a  href="http://www.symfony-project.org/plugins/mgI18nPlugin">mgI18nPlugin</a>. Il permet de <strong>traduire à la volée</strong> toutes les chaînes statiques de votre page en utilisant une petit interface qui se place au dessus du site, à essayer d&#8217;urgence !<br />
Bref très bonne première présentation.</p>
<p>Vous pourrez trouver les slides de sa présentation <a  href="http://rabaix.net/en/articles/2010/02/16/symfony-live-2010-internationalization">sur son site</a>.</p>
<h4>Admin generator en détail</h4>
<p>John Cleveley nous a fait une petite piqure de rappel des nouveautés de l&#8217;admin generator depuis la version 1.0. Il a aussi été l&#8217;auteur du slide le plus classe de la journée concernant l&#8217;administration &laquo;&nbsp;backend&nbsp;&raquo; : un éléphant se soulageant le derrière dans un seau &#8230; ;-)</p>
<p>Il a rappelé que l&#8217;admin generator c&#8217;était bien, mais pas forcément pour tout. <strong>Qu&#8217;il fallait réfléchir au besoin avant de l&#8217;utiliser</strong>, plutôt que de partir avec tête baissée et se rendre compte plus tard qu&#8217;on passe plus de temps à galérer avec par rapport à ce qu&#8217;on veut faire qu&#8217;autre chose (sa remarque est d&#8217;ailleurs valable pour tout développement : c&#8217;est généralement une bonne idée de réfléchir avant de se lancer ! ).</p>
<p>Si vous voulez créer votre propre thème, vous pouvez vous inspirer de <a  href="http://www.symfony-project.org/plugins/sfAdminDashPlugin">sfAdminDashPlugin</a> et de <a  href="http://www.symfony-project.org/plugins/sfAdminThemejRollerPlugin">sfAdminThemejRollerPlugin</a>.</p>
<p>Il a aussi re-précisé que sfContext::getInstance c&#8217;était le mal (même si lui l&#8217;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&#8217;en <strong>créer un nouveau pour chaque form du backend</strong>, histoire de pas confondre les forms front et back. </p>
<p>Il a conseillé d&#8217;utiliser <strong>le moins possible le generator pour les label, help etc des forms</strong>, mais de tout laisser dans le form : beaucoup plus facile à maintenir.</p>
<h4>Windows plaide coupable</h4>
<p>Surement parce qu&#8217;ils sont sponsor, on a retrouvé une équipe de Microsoft qui a plaidé pendant 50 longues minutes que Microsoft c&#8217;était aussi (et presque surtout) de l&#8217;open source et que développer dessus, c&#8217;était bien. Apparemment pas assez pour donner envie de poser des questions à l&#8217;auditoire.</p>
<p>Bon, ok sur windows, tu peux développer sur Visual Studio 2010 <strong>Ultimate</strong>, what else?</p>
<p>Du coup <a  href="http://answers.polldaddy.com/poll/2712522/">un petit sondage</a> a été lancé sur la répartition des OS pour les devs symfony</p>
<h3>L&#8217;aprèm</h3>
<h4>Symfony Internals</h4>
<p>Pas de nouveautés pour tous les développeurs qui ont pu travailler un peu en profondeur sur ce framework. <strong>Une belle revue de tout le fonctionnement interne </strong>de Symfony par Geoffrey Bachelet, et avec un accent so french ;)</p>
<p><a  href="http://www.slideshare.net/ubermuda/symfony-internals">Voir les slides</a></p>
<h4>Doctrine migration</h4>
<p>Un bon rappel sur l&#8217;enjeu des migrations et que maintenant (depuis sf 1.3) <strong>cela consiste en 3 opérations</strong> :</p>
<ul>
<li>Modifier son schema.yml pour inclure nos modifications</li>
<li>Lancer la task de diff:<br /> <code>symfony doctrine:generate-migrations-diff</code></li>
<li>Regénérer ces classes model/form/filter et lancer la migration:<br /> <code>symfony doctrine:build --all-classes --and-migrate</code></li>
</ul>
<p>Alors pourquoi s&#8217;en priver?</p>
<p><a  href="http://www.slideshare.net/denderello/symfony-live-2010-using-doctrine-migrations">Voir les slides</a></p>
<h4>Doctrine 2</h4>
<p>Est arrivé le tour de chauffe des gros sujets de la conférence. En l&#8217;occurrence Doctrine 2. Les grandes idées que Jonathan nous a montré:</p>
<ul>
<li><strong>100% réécrit</strong>, donc plus de compatibilité descendante</li>
<li><strong>~ 3 fois plus rapide</strong> que Doctrine 1.2</li>
<li>Principalement <strong>concentré sur la perf</strong>, et donc <strong>adieu la magie</strong> des findByMaColonne et consor. A l&#8217;image de Propel, les getteur et setteur seront générés dans la class model vu que les modèles justement n&#8217;hériteront plus d&#8217;une class de type Record, permettant ainsi d&#8217;alléger la charge mémoire</li>
<li>Intégration d&#8217;une classe qui s&#8217;occupera, à l&#8217;image du monde java, de <strong>gérer les flush et clear</strong>. Ca ne sera plus l&#8217;objet en lui même qu&#8217;il faudra &laquo;&nbsp;save&nbsp;&raquo; mais demander à cette nouvelle classe de le faire.</li>
</ul>
<p>Forcément, ca fait un peu peur, car au delà, d&#8217;une réécriture, ce sont des gros changements. Mais dans un souci de performance (aussi bien en terme de temps d&#8217;exécution que de charge mémoire), on prend le bon chemin. Même si la magie va disparaître&#8230;</p>
<p><a  href="http://www.slideshare.net/jwage/doctrine-2-not-the-same-old-php-orm">Voir les slides</a></p>
<h4>Offline admin generator</h4>
<p>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&#8217;on attend toujours :p).<br />
On découvre <strong>un concept plutôt innovant</strong> dans le monde symfony, l&#8217;idée de permettre l&#8217;accès et <strong>le travail sur un backoffice sans connexion Internet</strong> semble une bonne idée. Il suffit de synchroniser, après coup, son travail.</p>
<p>Bon ok la démo n&#8217;a pas été parfaite &#8211; ahh l&#8217;effet démo &#8211; mais ya quand même un gros boulot derrière même si malheureusement c&#8217;est un concept très (trop?) <strong>dépendant de la technologie</strong>, vu qu&#8217;après Gears, il se base maintenant sur HTML5 et toutes ces nouvelles fonctionnalités. Donc très limité, mais à garder sous le coude.</p>
<h4>Help the community</h4>
<p>Skoop a redonner toutes les clés pour aider la communauté. Et que<strong> même les petites actions</strong>, comme les ouvertures de bug, sont très appréciées. </p>
<p><a  href="http://www.slideshare.net/skoop/the-symfony-community-how-to-get-help">Voir les slides</a></p>
<h4>Table ronde avec la core team</h4>
<p>Pas mal de questions sur les sujets classiques, hello world application, et consor. Voici un petit recap des questions que j&#8217;ai comprises et trouvées intéressantes:</p>
<dl>
<dt>Q: Compatibilité descendante avec la fin du support de la 1.0</dt>
<dd>R: Gros effort sur la facilité de passer à une version supérieure</dd>
<dt>Q: Documentation du système de form un peu en retrait?</dt>
<dd>R: Ne pas hésiter à aider!</dd>
<dt>Q: Symfony enseigné à l&#8217;école? Support de cours disponibles?</dt>
<dd>R: PHP déjà peut enseigné de base. Pas plus d&#8217;info à ce sujet mais ne pas hésiter à les contacter sur ce sujet</dd>
<dt>Q: Développement ne va pas trop vite?</dt>
<dd>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</dd>
<dt>Q: Performance? Quid?</dt>
<dd>R: Le problème vient rarement du framework&#8230; :D </dd>
<dt>Q: Difficulté à faire adopter Symfony par leur client</dt>
<dd>R: C&#8217;est ensemble et en fournissant des cas d&#8217;utilisation précis de Symfony, qu&#8217;on pourra faire évoluer les mentalités</dd>
<dt>Q: Sismo? Bientôt dans les bacs?</dt>
<dd>R: Fabien n&#8217;a plus le temps pour l&#8217;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&#8217;a pas écarté la possibilité de ne jamais le release&#8230;</dd>
<dt>Q: Quid de la construction d&#8217;un vrai CMS Symfony une bonne foi pour toute?</dt>
<dd>R: Déjà 3 CMS existant très solides, avec 3 approches différentes. Il faut en débattre.</dd>
<dt>Q: Pourquoi reprendre plein de projets, comme Swift?</dt>
<dd>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</dd>
<dt>Q: Et Propel dans tout ça?</dt>
<dd>R: Gros boulot de François, mais peut-être un peu trop tard?  Jamais dire jamais, mais pour l&#8217;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&#8217;est pas du tout assuré pour l&#8217;instant</dd>
</dl>
<p>Et du coup, quelques annonces sont sorties:</p>
<ul>
<li><strong>phpbb4 sera codé en Symfony 2</strong>, ce qui en ferait le premier gros projet open source php entièrement en Symfony si je ne m&#8217;abuse</li>
<li>Symfony2 n&#8217;a plus de plugin mais des bundles&#8230;</li>
<li>Symfony2 n&#8217;utilisera plus que le meilleur des autres framework, comme le logger et le cache de Zend, <strong>au lieu de le recoder de leur côté</strong>.</li>
</ul>
<p>Voilà un petit compte rendu, les slides des différentes interventions sont disponible sur le <a  href="http://www.symfony-project.org/blog/2010/02/17/symfony-live-day-1">blog de Symfony</a>.</p>
<p class="alignright">
<em>Vos envoyés spéciaux pour l&#8217;évènement: Vince et Tim</em>
</p>
<p style="clear: both">
<small>crédit photo: http://www.flickr.com/photos/iph4n70m/4338366087/</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/symfony-live-2010-1ere-journee/2010/02/17/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Développement Web: les bons plans de la semaine #31</title>
		<link>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-31/2010/02/08/</link>
		<comments>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-31/2010/02/08/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 10:00:09 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Bons plans]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[label]]></category>
		<category><![CDATA[richedit]]></category>
		<category><![CDATA[textmate]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=1210</guid>
		<description><![CDATA[ Allez on garde le rythme, et on repart pour une nouvelle semaine qui s&#8217;annonce d&#8217;ors et déjà très difficile vu l&#8217;heure qu&#8217;il est au moment où j&#8217;écris :D

Une belle petite semaine en tout cas, avec des bons plans plutôt variés, mais je vous laisse juger:

Widget jQuery ui pour la sélection multiple
Encore un widget bien [...]]]></description>
			<content:encoded><![CDATA[<p><a  href="http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-31/2010/02/08/"><img src="http://www.amicalement-web.net/wp-content/uploads/palmier.jpg" alt="" title="palmier" width="614" height="100" class="alignnone size-full wp-image-1212" /></a> Allez on garde le rythme, et on repart pour une nouvelle semaine qui s&#8217;annonce d&#8217;ors et déjà très difficile vu l&#8217;heure qu&#8217;il est au moment où j&#8217;écris :D<br />
<span id="more-1210"></span><br />
Une belle petite semaine en tout cas, avec des bons plans plutôt variés, mais je vous laisse juger:</p>
<ul>
<li><a  href="http://www.erichynds.com/jquery/jquery-multiselect-plugin-with-themeroller-support/">Widget jQuery ui pour la sélection multiple</a><br />
Encore un widget bien sympa qui combine la liste déroulante et la liste de checkboxes, le tout avec un support des thèmes de jquery ui</li>
<li><a  href="http://www.athomedia.com/blog/2009/11/16/comment-integrer-onglet-accueil-page-facebook/">Intégrer un onglet à vos pages fan facebook</a><br />
On peut pas dire que je porte facebook dans mon coeur, et leur pages fans sans saveur n&#8217;aident pas vraiment. Mais voilà, il est possible de les customiser un peu plus qu&#8217;on ne le pense, encore faut-il le savoir.</li>
<li><a  href="http://css-tricks.com/one-pixel-shift-buttons/">Donner à vos lien une impression de clic</a><br />
Petit tip css très sympa qui donne vraiment l&#8217;impression que vous avez bien cliqué sur un lien.</li>
<li><a  href="http://demo.tutorialzine.com/2010/02/photo-shoot-css-jquery/demo.html">Crop version photo</a><br />
Voilà une idée et un concept pour permettre un crop à taille fixe sur une image. Le résultat est très réussi!</li>
<li><a  href="http://everzet.com/blog/new-symfony-doctrine-php-bundles-in-sfmate">Bundles textmate pour dev Symfony</a> (via <a  href="http://twitter.com/n1k0">n1k0</a>)<br />
Je me suis lancé tout récemment sur textmate, et forcément ce kit de 3 bundle (php, symfony et doctrine) tombe pile poil. C&#8217;est pas encore un IDE mais on commence à vraiment avoir quelque chose de productif</li>
<li><a  href="http://trentrichardson.com/2010/02/04/using-impromptu-for-spell-check-yui-dojo-nicedit-editors/">Ajouter des correcteurs d&#8217;orthographe à vos richedit</a><br />
Tout est dit. C&#8217;est la dernière fonction qui manque parfois à ces petits éditeurs de texte en ligne</li>
<li><a  href="http://www.plupload.com/">Une solution d&#8217;upload complète</a><br />
Voici un kit comprenant toute les possibilités d&#8217;upload avec queue, progression et tout la panoplie, disponible via flash, gears, html, &#8230;</li>
<li><a  href="http://aext.net/2010/02/css-text-indent-style-your-html-form/">Nice tip pour vos labels</a><br />
Voilà encore un petit tips CSS, qui donne un rendu assez sympa à vos labels</li>
<li><a  href="http://www.csskarma.com/blog/sliding-labels/">Des labels qui slide</a><br />
C&#8217;est la mode en ce moment, on fait tout slider, alors pourquoi pas nos labels?</li>
</ul>
<p>Allez la semaine prochaine, promis, je vous trouve du PHP ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-31/2010/02/08/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Développement Web: les bons plans de la semaine #30</title>
		<link>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-30/2010/02/01/</link>
		<comments>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-30/2010/02/01/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 10:00:21 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Bons plans]]></category>
		<category><![CDATA[analytic]]></category>
		<category><![CDATA[conception]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[stats]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=1142</guid>
		<description><![CDATA[ Allez, après avoir déballé mes RSS qui trainaient, je reprend enfin ma rubrique hebdomadaire des bons plans, avec la ferme intention de reprendre le bon rythme après des dernières semaines bien chargées.

Du coup forcément, difficile de faire du tri parmi tant d&#8217;info, mais j&#8217;ai fait de mon mieux hein.

Dessiner vos pages HTML
Etonné de n&#8217;être [...]]]></description>
			<content:encoded><![CDATA[<p><a  href="http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-30/2010/02/01"><img src="http://www.amicalement-web.net/wp-content/uploads/railroad.jpg" alt="" title="railroad" width="614" height="100" class="alignnone size-full wp-image-1203" /></a> Allez, après avoir déballé mes RSS qui trainaient, je reprend enfin ma rubrique hebdomadaire des bons plans, avec la ferme intention de reprendre le bon rythme après des dernières semaines bien chargées.<br />
<span id="more-1142"></span><br />
Du coup forcément, difficile de faire du tri parmi tant d&#8217;info, mais j&#8217;ai fait de mon mieux hein.</p>
<ul>
<li><a  href="http://drawter.com/">Dessiner vos pages HTML</a><br />
Etonné de n&#8217;être jamais tombé dessus, cette application web est pourtant très sympa. Elle permet facilement de dessiner votre gararit html et de récupérer le code html et css associé.</li>
<li><a  href="http://www.mayzes.org/googlemaps.jquery.html">Contrôler vos google map avec jQuery</a><br />
Sans doute le plugin qu&#8217;il me manquait. Aujourd&#8217;hui on demande toujours plus aux google map, voici donc de quoi faciliter leur dynamisme avec un contrôle 100% jquery</li>
<li><a  href="http://www.nealgrosskopf.com/tech/thread.php?pid=62">Apprenez à taguer vos photos comme sur facebook</a><br />
Même si je suis pas fan de facebook, ils ont des idées et le tagging des photos en ait une. Voici donc de quoi le reproduire.</li>
<li><a  href="http://www.inspiredm.com/2010/01/12/build-web-apps/">Témoignagne sur la création d&#8217;une application web</a><br />
Des ensembles concrets, des conseils de développeurs qui ont franchi le pas de créer leur propre application</li>
<li><a  href="http://sixrevisions.com/usabilityaccessibility/unleashing-the-power-of-website-analytics/">Des stats c&#8217;est bien, les analyser c&#8217;est mieux</a><br />
Très bon billet qui donne des pistes sur ce qu&#8217;il faut tirer des stats analytics pour améliorer votre site web</li>
<li><a  href="http://www.capitaine-commerce.com/2010/01/26/24887-comment-parler-aux-developpeurs/">Comment parler aux développeurs</a> (fr)<br />
Sur le ton de l&#8217;humour, mais avec de vrais choses dedans. A lire si ce n&#8217;est pas encore fait.</li>
<li><a  href="http://www.labsmedia.fr/clickheat/index.html">Voir les zones de clic</a><br />
Voici une application à installer sur votre serveur pour obtenir les zones de clics de vos visiteurs et ainsi en améliorer la transformation</li>
<li><a  href="http://push2check.com">Toutes les stats de votre site</a><br />
Un service très sobre mais qui permet de récupérer toutes les stats possibles et imaginables sur votre site web</li>
</ul>
<p><small>Crédit photo: http://www.flickr.com/photos/wiking66/1225021381/</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-30/2010/02/01/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Nous avons un gagnant&#8230;</title>
		<link>http://www.amicalement-web.net/nous-avons-un-gagnant/2010/02/01/</link>
		<comments>http://www.amicalement-web.net/nous-avons-un-gagnant/2010/02/01/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 07:00:33 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Actualité]]></category>
		<category><![CDATA[Amicalement Web]]></category>
		<category><![CDATA[concours]]></category>
		<category><![CDATA[livre]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=1192</guid>
		<description><![CDATA[ Voilà, le concours pour les 1 ans du blog à pris fin Vendredi. Il n&#8217;y a pas eu trop de rush donc j&#8217;espère que le cadeau va à un lecteur régulier!

Et sous contrôle d&#8217;huissier corrompu, le dieu du random a fait son choix:

mysql&#62; select * from wp_comments where comment_post_ID = 1152 and comment_content like [...]]]></description>
			<content:encoded><![CDATA[<p><a  href="http://www.amicalement-web.net/nous-avons-un-gagnant/2010/02/01/"><img src="http://www.amicalement-web.net/wp-content/uploads/allin.jpg" alt="" title="allin" width="614" height="100" class="alignnone size-full wp-image-1194" /></a> Voilà, <a  href="/et-une-bougie-et-un-cadeau-a-gagner/2010/01/25">le concours pour les 1 ans du blog</a> à pris fin Vendredi. Il n&#8217;y a pas eu trop de rush donc j&#8217;espère que le cadeau va à un lecteur régulier!<br />
<span id="more-1192"></span><br />
Et sous contrôle d&#8217;huissier corrompu, le dieu du random a fait son choix:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;">mysql<span style="color: #CC0099;">&gt;</span> <span style="color: #990099; font-weight: bold;">select</span> <span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">from</span> wp_comments <span style="color: #990099; font-weight: bold;">where</span> comment_post_ID <span style="color: #CC0099;">=</span> <span style="color: #008080;">1152</span> <span style="color: #CC0099; font-weight: bold;">and</span> comment_content <span style="color: #CC0099; font-weight: bold;">like</span> <span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">%</span>anniversaire<span style="color: #008080; font-weight: bold;">%</span>'</span> <span style="color: #990099; font-weight: bold;">order by</span> <span style="color: #000099;">RAND</span><span style="color: #FF00FF;">&#40;</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">limit</span> <span style="color: #008080;">1</span> \G
<span style="color: #CC0099;">***************************</span> <span style="color: #008080;">1.</span> row <span style="color: #CC0099;">***************************</span>
          comment_ID: <span style="color: #008080;">3262</span>
     comment_post_ID: <span style="color: #008080;">1152</span>
      comment_author: Vincent C</pre></div></div>

<p>C&#8217;est donc Vincent C avec son commentaire:</p>
<blockquote><p>
Bon anniversaire !! ^^
</p></blockquote>
<p>Sobre mais efficace vu qu&#8217;il gagne le livre :p</p>
<p>Pas de souci pour les autres, on essaiera de renouveler une fois de plus l&#8217;expérience.</p>
<p>Merci à tous et à très vite pour les bons plans! (sisi je vous assure!)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/nous-avons-un-gagnant/2010/02/01/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Et une bougie! Et un cadeau à gagner!</title>
		<link>http://www.amicalement-web.net/et-une-bougie-et-un-cadeau-a-gagner/2010/01/25/</link>
		<comments>http://www.amicalement-web.net/et-une-bougie-et-un-cadeau-a-gagner/2010/01/25/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 08:00:59 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Actualité]]></category>
		<category><![CDATA[Amicalement Web]]></category>
		<category><![CDATA[anniversaire]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[ergonomie]]></category>
		<category><![CDATA[livre]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=1152</guid>
		<description><![CDATA[ Me revoilà aux fourneaux après un petit break de quelques semaines, un peu involontaire mais due a une actualité un peu chargée. En ce début de semaine, pas de bons plans, ca sera pour demain. Par contre, j&#8217;ai le plaisir de fêter les 1 ans de ce blog et j&#8217;ai réussi à vous dégoter [...]]]></description>
			<content:encoded><![CDATA[<p><a  href="http://www.amicalement-web.net/et-une-bougie-et-un-cadeau-a-gagner/2010/01/25/"><img src="http://www.amicalement-web.net/wp-content/uploads/gift.jpg" alt="" title="gift" width="614" height="100" class="alignnone size-full wp-image-1156" /></a> Me revoilà aux fourneaux après un petit break de quelques semaines, un peu involontaire mais due a une actualité un peu chargée. En ce début de semaine, pas de bons plans, ca sera pour demain. Par contre, j&#8217;ai le plaisir de fêter les 1 ans de ce blog et j&#8217;ai réussi à vous dégoter pour l&#8217;occasion un petit cadeau.<br />
<span id="more-1152"></span><br />
Et oui, j&#8217;ai été ravi de voir que les <a  href="http://www.editions-eyrolles.com/">Editions Eyrolles</a> avaient accepté de sponsoriser l&#8217;évènement en offrant un livre de la collection informatique. Afin de vous éviter le casse tête, je l&#8217;ai choisi pour vous comme s&#8217;il était pour moi :D</p>
<p>Mais avant, un petit mot pour remercier tout le monde qui suit ce blog, et qui y participe à travers leurs commentaires, contributions et encouragements. Je dois dire que même si je l&#8217;avais lancé un peu comme ça au début, je suis plutôt satisfait du chemin parcouru et du trafic généré même s&#8217;il reste très modeste.</p>
<p>Pour les fans de stats, le blog compte un peu plus de 200 lecteurs rss, et une moyenne de 3000 visites/mois avec un mois d&#8217;octobre qui a frôlé les 4000. Niveau rythme, 96 billets publiés dont 3 par Vince et 2 par Ben qui m&#8217;ont rejoint dans l&#8217;aventure, soit une moyenne de 8/mois ce qui avec le recul, reste très correct je trouve!</p>
<p>Pas vraiment d&#8217;objectif particulier pour cette 2eme année si ce n&#8217;est d&#8217;essayer de reprendre les billets plus techniques, j&#8217;ai quelques brouillons et projets dans les cartons, reste &#8211; comme d&#8217;habitude &#8211; à trouver le temps. </p>
<p>D&#8217;ailleurs, j&#8217;en profite pour relancer une invitation à tout ceux qui aimeraient comme Vince et Ben rejoindre le bateau. Si vous n&#8217;avez pas envie de monter un blog juste pour quelques billets, je suis toujours ouvert à toutes les contributions mêmes ponctuelles (ya qu&#8217;a voir le rythme des 2 autres :p) du moment qu&#8217;on reste dans le cadre du développement web.</p>
<p>Trêve de blabla, si vous êtes là, c&#8217;est avant tout pour le cadeau j&#8217;en suis sûr ;)<br />
<img src="http://www.amicalement-web.net/wp-content/uploads/51zlJraaDfL._SS500_.jpg" alt="" title="51zlJraaDfL._SS500_" width="150" height="150" class="alignleft size-full wp-image-1153" /><br />
Il s&#8217;agit donc du livre de Amélie Boucher &#8211; <a  href="http://www.editions-eyrolles.com/Livre/9782212124798/ergonomie-web">Ergonomie Web, Pour des sites web efficaces</a>. Pour ceux qui ne l&#8217;a connaissent pas, je vous encourage à aller faire un tour sur <a  href="http://www.ergolab.net/">son blog</a>. Ergonome reconnue, elle livre toute son analyse dans ce livre qui fait quasi référence dans le domaine. Une vrai mine d&#8217;information sur la conception de sites web!</p>
<p>Voilà pour le pitch. Pour le gagner, rien de plus simple, on va pas aller chercher midi à quatorze heure:<br />
<strong>Un petit commentaire avec le mot anniversaire</strong> dedans jusqu&#8217;à Vendredi minuit!</p>
<p>Le tirage au sort aura lieu dans le week end et les résultats dans la foulée. N&#8217;oubliez pas de me laisser une adresse mail valide du coup hein, ca m&#8217;embêterai d&#8217;avoir à le refaire.</p>
<p>A très vite pour reprendre le cours normal du blog ;)</p>
<p><small>Crédit photo: http://www.flickr.com/photos/shopbub/2561369517/</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/et-une-bougie-et-un-cadeau-a-gagner/2010/01/25/feed/</wfw:commentRss>
		<slash:comments>43</slash:comments>
		</item>
		<item>
		<title>Développement Web: les bons plans de la semaine #29</title>
		<link>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-29/2010/01/05/</link>
		<comments>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-29/2010/01/05/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 10:00:33 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Bons plans]]></category>
		<category><![CDATA[benchmark]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=1101</guid>
		<description><![CDATA[ Voilà, un petit break, un numéro qui change quand j&#8217;écris une date et nous revoilà parti pour les bons plans de la semaine! Je vais pas vous faire l&#8217;affront de vous souhaiter une fois de plus une bonne année et tout et tout, mais le coeur y est ;)

Vous m&#8217;excuserez mais là où j&#8217;avais [...]]]></description>
			<content:encoded><![CDATA[<p><a  href="http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-29/2010/01/05/"><img src="http://www.amicalement-web.net/wp-content/uploads/chocolat.png" alt="" title="chocolat" width="614" height="100" class="alignnone size-full wp-image-1104" /></a> Voilà, un petit break, un numéro qui change quand j&#8217;écris une date et nous revoilà parti pour les bons plans de la semaine! Je vais pas vous faire l&#8217;affront de vous souhaiter une fois de plus une bonne année et tout et tout, mais le coeur y est ;)<br />
<span id="more-1101"></span><br />
Vous m&#8217;excuserez mais là où j&#8217;avais pensé que tout le monde était en vacances, le choc a été rude quand j&#8217;ai ouvert mon reader après une semaine. Donc j&#8217;ai peut-être loupé des exclus totales, hésitez pas à rectifier le tir!</p>
<ul>
<li><a  href="http://desandro.com/resources/jquery-masonry">Construire un vrai mur de bloc</a><br />
Un plugin jQuery qui permet de contourner le problème des float de hauteurs inégales. Un rendu digne d&#8217;une page de petite annonces d&#8217;un journal.
</li>
<li><a  href="http://www.seadragon.com/developer/ajax/">Javascript qui rajoute des fonctions à vos images</a><br />
Ce script sans framework permet de rajouter des fonctions de zoom et de plein écran à vos images.
</li>
<li><a  href="http://net-beta.net/ubench/">Un tas de benchmark PHP</a><br />
Je suis tombé dessus récemment, mais ca doit dater. En tout cas, voici un bon paquet de d&#8217;analyse qui peuvent aider à choisir quoi utiliser</li>
<li><a  href="http://csswizardry.com/web-design+/">Les bonnes résolutions en webdesign</a><br />
Un très bon résumé de toutes les bonnes pratiques à appliquer absolument sur chaque webdesign et intégration html</li>
<li><a  href="http://www.lezard-spock.com/creer-une-application-web-en-temps-reel.html">Monter une application en temps réel</a> (via <a  href="http://twitter.com/integrateur_css">integrateur_css</a>)<br />
J&#8217;avais parler de APE à deux reprises déjà, voici enfin un très bon tutorial en français sur un exemple d&#8217;application</li>
<li><a  href="http://code.drewwilson.com/entry/autosuggest-jquery-plugin">jQuery Plugin auto suggest très sexy</a> (via <a  href="http://twitter.com/clementj">clementj</a>)<br />
Dans la multitude de plugin d&#8217;autosuggest, voici une très bonne surprise. En plus de gérer le multi suggest, il est plus sexy que la moyenne. A voir!</li>
<li><a  href="http://newism.com.au/blog/post/58/bigtarget-js-increasing-the-size-of-clickable-targets/">jQuery Plugin pour vaincre les &laquo;&nbsp;lire la suite&nbsp;&raquo;</a><br />
Un plugin tout bête mais bien pensé pour rendre tout une zone cliquable plutôt qu&#8217;un simple &laquo;&nbsp;lire la suite&nbsp;&raquo;</li>
<li><a  href="http://themha.com/airlock/">Dévérouiller son mac avec son iphone</a><br />
Si j&#8217;avais un iphone, je testerais bien :D Cette application permet de verrouiller votre mac quand votre iphone s&#8217;éloigne de lui, et inversement quand il s&#8217;en approche</li>
<li><a  href="http://demo.lateralcode.com/jmerge/">Service web pour fusionner vos fichiers js</a><br />
Un service simple et efficace qui vous permettra d&#8217;optimiser un peu votre site facilement, en prenant en charge le fusionnement de vos fichiers js</li>
<li><a  href="http://www.wait-till-i.com/2010/01/02/fast-article-writing/">Comment écrire un tutorial efficace</a><br />
Une très bonne méthode, j&#8217;ai un peu la même mais en moins poussée. De très bonnes idées à prendre</li>
<li><a  href="http://speckyboy.com/2010/01/04/creating-a-web-development-environment-using-google-chrome-extensions/">Les extensions chrome pour web développeur</a><br />
Même s&#8217;il parait peu probable que je passe un jour sur Chrome, il vaut mieux se renseigner et voici un bon billet qui reprend tout ce dont un web développeur a besoin pour bosser</li>
<li><a  href="http://wasitup.com/">Monitoring de site gratuit</a><br />
Encore un service de monitoring, lui aussi gratuit, mais qui ne se contente pas d&#8217;un simple ping, mais également de vérifier la présence ou l&#8217;absence d&#8217;un terme dans une page.</li>
<li><a  href="http://dailyjs.com/2010/01/04/javascript-benchmarks/">Librairie JS pour benchmark</a><br />
Après les tests unitaires, voici un petit tour d&#8217;horizon des scripts pour benchmarker un script js. Des fois que vous voudriez optimiser encore un peu votre site ;)
</li>
</ul>
<p>Une bonne dose pour une reprise, vous ne trouvez pas? Et comme je suis un gars en manque de temps, encore et toujours, vous aurez le droit à un best of des bons plans 2009. Stay tunes!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-29/2010/01/05/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[Billet invité] Profitez des moteurs de recherche non anglophones</title>
		<link>http://www.amicalement-web.net/billet-invite-profitez-des-moteurs-de-recherche-non-anglophones/2009/12/25/</link>
		<comments>http://www.amicalement-web.net/billet-invite-profitez-des-moteurs-de-recherche-non-anglophones/2009/12/25/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 10:00:19 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Réflexion]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[international]]></category>
		<category><![CDATA[traduction]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=1069</guid>
		<description><![CDATA[ À propos de l’auteur : Lingo24, une société internationale de traduction et de localisation de sites Internet.
Il est parfois aisé d’oublier à quel point le « World Wide Web » est international.
Des centaines de millions de personnes surfent sur la toile à n’importe quelle heure. Aux États-Unis, et dans tous les pays anglophones, nous avons tendance [...]]]></description>
			<content:encoded><![CDATA[<p><a  href="http://www.amicalement-web.net/billet-invite-profitez-des-moteurs-de-recherche-non-anglophones/2009/12/25/"><img src="http://www.amicalement-web.net/wp-content/uploads/ville-nuit.png" alt="ville-nuit" title="ville-nuit" width="614" height="100" class="alignnone size-full wp-image-1071" /></a> <span style="font-style:italic">À propos de l’auteur : <a  href="http://fr.lingo24.com/">Lingo24</a>, une société internationale de traduction et de localisation de sites Internet.</span></p>
<p>Il est parfois aisé d’oublier à quel point le « World Wide Web » est international.</p>
<p>Des centaines de millions de personnes surfent sur la toile à n’importe quelle heure. Aux États-Unis, et dans tous les pays anglophones, nous avons tendance à croire que tout le monde parle notre langue.</p>
<p>Même si c’est le cas de beaucoup de personnes, ce n’est pas un avantage si évident. Les clients du monde entier ont une probabilité cinq fois supérieure d’acheter sur un site dont le contenu est rédigé dans leur langue natale.<br />
<span id="more-1069"></span><br />
L’Internet en langue étrangère, dans le sens où l’intégralité du contenu du site n’est pas en anglais, est une formidable occasion pour les entreprises d’accroître leurs revenus, mais elle est paradoxalement une des solutions les plus ignorées. De ce fait, les sociétés ne perdent pas seulement de l’argent, elles encouragent également leurs concurrents.</p>
<p>Lancer une page Internet en anglais vous met immédiatement en concurrence avec des milliards d’autres pages sur les moteurs de recherche. Créer votre page dans une autre langue peut vous faciliter grandement l’accès à une position dominante.</p>
<p>Par exemple, Lingo24 a lancé un microsite danois pour un coût inférieur à 100 livres sterling (160 dollars) au début de l’année dernière. En septembre, nos ventes avaient atteint un niveau qui nous permettait d’employer un gestionnaire de compte à plein temps, et le marché danois représente aujourd’hui une part significative et croissante de notre chiffre d’affaires. Nos revenus internationaux cumulés représentent désormais 64 % de nos ventes.</p>
<p>Il est bien évident qu’il ne s’agit pas d’ignorer le marché intérieur, mais l’arrivée de votre société dans un territoire mal desservi peut attirer l’attention des observateurs à l’échelle locale. Cela peut se traduire par une attention médiatique, un meilleur positionnement sur les moteurs de recherche et une clientèle accrue. Il est donc important d’identifier les médias pertinents au sein des marchés que vous ciblez.</p>
<p>La valeur cumulée des marchés en langues étrangères peut être nettement supérieure à celle de votre marché intérieur. Vous en voulez la preuve ? Regardez Google. Moteur de recherche dominant dans quasiment tous les pays, Google tire 52 pourcent de ses revenus de l’Internet en langue étrangère.</p>
<p>Élaborer un site Internet dans une autre langue peut être intimidant. Il faut donc garder à l’esprit ces quelques points lorsque vous prévoyez votre stratégie.</p>
<ul>
<li><strong>Développez votre compréhension du marché</strong>. Si vous avez des clients à l’étranger ou des clients locaux ayant des connections à l’étranger, demandez-leur s’ils pensent que votre offre peut être attrayante à l’échelle internationale. Établissez une liste de contacts susceptibles de valider vos idées, voire de devenir vos premiers clients.</li>
<li><strong>Analysez la concurrence</strong>. Les outils de traduction automatique de Google peuvent vous aider à déterminer rapidement où en sont vos concurrents.</li>
<li><strong>Évaluez la demande.</strong> Utilisez les outils Google et Yahoo pour identifier les phrases-clés qu’il faut cibler sur vos marchés étrangers.</li>
<li><strong>Faites traduire votre site par des professionnels.</strong> Les traductions automatiques de Google sont suffisantes pour comprendre un contenu, mais absolument pas fiables pour le site Internet d’une société. Choisissez une entreprise de traduction professionnelle pour communiquer clairement votre message à vos clients.</li>
<li><strong>Commercialisez votre site en ligne.</strong> Les principes sont les mêmes que pour l’anglais. Forgez des liens par l’intermédiaire de partenaires, adoptez le « paiement au clic » (cpc) et essayez d’apparaître sur les sites que vos clients potentiels fréquentent.</li>
</ul>
<p>Ces quelques étapes à suivre (et à renouveler dans d’autres langues) peuvent vous permettre d’élargir et de diversifier votre activité.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/billet-invite-profitez-des-moteurs-de-recherche-non-anglophones/2009/12/25/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Symfony: Move ta Debug Bar</title>
		<link>http://www.amicalement-web.net/symfony-move-ta-debug-bar/2009/12/23/</link>
		<comments>http://www.amicalement-web.net/symfony-move-ta-debug-bar/2009/12/23/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 10:00:36 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[Symfony]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=1049</guid>
		<description><![CDATA[ Trivial, mais depuis le temps que ca me démangeait! Et peut-être que je ne suis pas le seul, d&#8217;où ce petit billet.
Quand je développe sous Symfony, régulièrement, je dois fermer ma précieuse debug bar pour accéder à un lien en dessous. Du coup je suis obligé de recharger la page pour m&#8217;en servir de [...]]]></description>
			<content:encoded><![CDATA[<p><a  href="http://www.amicalement-web.net/symfony-move-ta-debug-bar/2009/12/23/"><img src="http://www.amicalement-web.net/wp-content/uploads/speed.png" alt="speed" title="speed" width="614" height="100" class="alignnone size-full wp-image-1061" /></a> Trivial, mais depuis le temps que ca me démangeait! Et peut-être que je ne suis pas le seul, d&#8217;où ce petit billet.<br />
Quand je développe sous Symfony, régulièrement, je dois fermer ma précieuse debug bar pour accéder à un lien en dessous. Du coup je suis obligé de recharger la page pour m&#8217;en servir de nouveau et depuis la 1.3, je m&#8217;en passe plus moi de ma debug bar.</p>
<p>J&#8217;ai donc pris 5min de mon temps pour faire rapido presto, un petit coup de jquery pour pouvoir bouger ma debug bar!<br />
<span id="more-1049"></span><br />
Tout simplement, j&#8217;ai juste utilisé un <a  href="http://blog.threedubmedia.com/2008/08/eventspecialdrag.html">script jquery</a> qui permet d&#8217;ajouter un event de type &laquo;&nbsp;drag&nbsp;&raquo; à un élément du DOM. Un petit coup de jquery pour l&#8217;utiliser sur la debug bar:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">jQuery<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#sfWebDebugBar&quot;</span><span style="color: #009900;">&#41;</span>
    .<span style="color: #660066;">bind</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;dragstart&quot;</span><span style="color: #339933;">,</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span> event <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;right&quot;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;auto&quot;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
    .<span style="color: #660066;">bind</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;drag&quot;</span><span style="color: #339933;">,</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span> event <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
        top<span style="color: #339933;">:</span> event.<span style="color: #660066;">offsetY</span><span style="color: #339933;">,</span>
        left<span style="color: #339933;">:</span> event.<span style="color: #660066;">offsetX</span>
      <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Il ne reste plus qu&#8217;à faire un petit filtre pour inclure ces 2 scripts automatiquement à la volée en environnement de dev. J&#8217;ai tout mis dans un petit plugin disponible plus bas mais je vous détaille le code ici pour ceux qui voudraient juste jeter un œil:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> moveWebDebugBarFilter <span style="color: #000000; font-weight: bold;">extends</span> sfFilter
<span style="color: #009900;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> execute<span style="color: #009900;">&#40;</span><span style="color: #000088;">$filterChain</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'dev'</span> <span style="color: #339933;">==</span> sfConfig<span style="color: #339933;">::</span><span style="color: #004000;">get</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'sf_environment'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$response</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getContext</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getResponse</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
      <span style="color: #000088;">$response</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">addJavascript</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/moveDebugBarPlugin/js/jquery.event.drag-1.5.min.js'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'last'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000088;">$response</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">addJavascript</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/moveDebugBarPlugin/js/moveDebugBar.js'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'last'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000088;">$filterChain</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">execute</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>que l&#8217;on rajoute dans notre <code>filters.yml</code></p>

<div class="wp_syntax"><div class="code"><pre class="yml" style="font-family:monospace;">rendering: ~
security:  ~
&nbsp;
# insert your own filters here
moveDebugBar:
  class: moveWebDebugBarFilter
&nbsp;
cache:     ~
execution: ~</pre></div></div>

<p>Il ne reste plus qu&#8217;à télécharger:<br />
<a  href="http://www.amicalement-web.net/symfony-move-ta-debug-bar/2009/12/23/movedebugbarplugin/" rel="attachment wp-att-1050">moveDebugBarPlugin</a><br />
et à lancer un petit:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">php symfony plugin:publish-asset</pre></div></div>

<p>Le plugin est très basique et rudimentaire évidemment, il ne sera pas encore sur le site de Symfony du coup. Mais si vous avez des idées d&#8217;améliorations ou d&#8217;enrichissements hésitez pas, sait-on jamais.</p>
<p>Voilà le rendu en vidéo, a noter que je l&#8217;ai testé avec Symfony 1.2 et 1.3:<br />
<object id='stUE1TSkxIR19eRFVdW1NcU19R' width='425' height='344' type='application/x-shockwave-flash' data='http://www.screentoaster.com/swf/STPlayer.swf'  codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0'><param name='movie' value='http://www.screentoaster.com/swf/STPlayer.swf'/><param name='allowFullScreen' value='true'/><param name='allowScriptAccess' value='always'/><param name='flashvars' value='video=stUE1TSkxIR19eRFVdW1NcU19R'/></object>
<div style='width: 425px; text-align: right;'><a  href="http://www.screentoaster.com/">Capture your screen in seconds</a></div>
<p><small>Crédit photo: http://www.flickr.com/photos/kaidohmaru/453263320/</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/symfony-move-ta-debug-bar/2009/12/23/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
