<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://prendreuncafe.com/blog/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Prendre un Café - Tag - plugins</title>
  <link>http://prendreuncafe.com/blog/</link>
  <atom:link href="http://prendreuncafe.com/blog/feed/tag/plugins/rss2" rel="self" type="application/rss+xml"/>
  <description></description>
  <language>fr</language>
  <pubDate>Mon, 06 Oct 2008 12:35:34 +0200</pubDate>
  <copyright>Contenus sous licence Creative Commons BY-SA</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Un plugin jQuery pour générer des plans automatiquement</title>
    <link>http://prendreuncafe.com/blog/post/2008/06/08/Un-plugin-jQuery-pour-generer-des-plans-automatiques</link>
    <guid isPermaLink="false">urn:md5:0ba5d16c81a84d87e28e6f5b230ce12d</guid>
    <pubDate>Sun, 08 Jun 2008 16:59:00 +0200</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>Dev</category>
        <category>javascript</category><category>jquery</category><category>plugins</category>    
    <description>    &lt;p&gt;Avec un temps pareil, autant coder des plugins &lt;a href=&quot;http://jquery.com/&quot; hreflang=&quot;en&quot;&gt;jQuery&lt;/a&gt;, non ?&lt;/p&gt;


&lt;p&gt;Quelques heures de boulot plus tard, &lt;a href=&quot;http://code.google.com/p/jqplanize/&quot; hreflang=&quot;en&quot;&gt;jqplanize&lt;/a&gt;&lt;sup&gt;[&lt;a href=&quot;http://prendreuncafe.com/blog/post/2008/06/08/#pnote-976-1&quot; id=&quot;rev-pnote-976-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt; est né et permet de générer automatiquement une table des matières extraite de la hiérarchie induite de la séquence des titres d'un document HTML&lt;sup&gt;[&lt;a href=&quot;http://prendreuncafe.com/blog/post/2008/06/08/#pnote-976-2&quot; id=&quot;rev-pnote-976-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt;.&lt;/p&gt;


&lt;p&gt;La doc est sur &lt;a href=&quot;http://code.google.com/p/jqplanize/&quot; hreflang=&quot;en&quot;&gt;la page d'accueil du projet&lt;/a&gt; (hébergée chez Google), ou plus exhaustivement sur cette &lt;a href=&quot;http://prendreuncafe.com/work/jqplanize/&quot; hreflang=&quot;en&quot;&gt;page dédiée&lt;/a&gt; du présent site, avec quelques exemples live.&lt;/p&gt;


&lt;p&gt;Le code semble fonctionner sous Firefox 3 RC2 et Safari 3.1, mais ça ne marche curieusement pas sous Opera 9, et j'ai pas testé sous &lt;acronym title=&quot;Internet Explorer&quot;&gt;IE&lt;/acronym&gt; donc attendez vous à des updates&lt;sup&gt;[&lt;a href=&quot;http://prendreuncafe.com/blog/post/2008/06/08/#pnote-976-3&quot; id=&quot;rev-pnote-976-3&quot;&gt;3&lt;/a&gt;]&lt;/sup&gt;.&lt;/p&gt;


&lt;p&gt;Vivement l'été.&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://prendreuncafe.com/blog/post/2008/06/08/#rev-pnote-976-1&quot; id=&quot;pnote-976-1&quot;&gt;1&lt;/a&gt;] Non mais vous avez déjà vu un nom aussi naze ?&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://prendreuncafe.com/blog/post/2008/06/08/#rev-pnote-976-2&quot; id=&quot;pnote-976-2&quot;&gt;2&lt;/a&gt;] Si tant est que le balisage des titres soit sémantique, hein.&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://prendreuncafe.com/blog/post/2008/06/08/#rev-pnote-976-3&quot; id=&quot;pnote-976-3&quot;&gt;3&lt;/a&gt;] Ou pas, bien entendu.&lt;/p&gt;&lt;/div&gt;&lt;hr/&gt;&lt;p style='margin:.5em 0;padding:.5em;border:1px solid #333;background:#eee;color:#222'&gt;&lt;small&gt;Ce billet intitulé &lt;a href='http://prendreuncafe.com/blog/post/2008/06/08/Un-plugin-jQuery-pour-generer-des-plans-automatiques'&gt;Un plugin jQuery pour générer des plans automatiquement&lt;/a&gt; a été rédigé par &lt;a href='http://prendreuncafe.com/cv'&gt;Nicolas Perriault&lt;/a&gt; et publié sur le blog &lt;a href='http://prendreuncafe.com/blog/'&gt;Prendre un Café&lt;/a&gt; sous licence &lt;a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'&gt;Creative Commons BY-NC-SA&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Plugin FlickrFeed pour Dotclear2</title>
    <link>http://prendreuncafe.com/blog/post/2008/03/23/Plugin-FlickrFeed-pour-Dotclear2</link>
    <guid isPermaLink="false">urn:md5:e8da49b3070e6a9938ce321e15649274</guid>
    <pubDate>Sun, 23 Mar 2008 20:33:00 +0100</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>Dotclear</category>
        <category>dotclear</category><category>flickr</category><category>plugins</category>    
    <description>    &lt;p&gt;J&amp;#8217;avais envie de mettre quelques photos dans la sidebar de ce blog, donc j&amp;#8217;ai créé vite fait un &lt;em&gt;widget&lt;/em&gt; pour &lt;a href=&quot;http://dotclear.net/&quot; hreflang=&quot;fr&quot;&gt;Dotclear2&lt;/a&gt; que j&amp;#8217;ai nommé &lt;em&gt;FlickrFeed&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;L&amp;#8217;interface d&amp;#8217;admin est réduite à sa plus simple expression, comme en atteste la capture d&amp;#8217;écran ci-dessous&amp;#160;:&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://prendreuncafe.com/blog/public/images/ScreenShots/Dotclear/FlickrFeed_WidgetAdmin.png&quot; alt=&quot;Administration du widget FlickrFeed&quot; style=&quot;display:block; margin:0 auto;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Le plugin n&amp;#8217;est disponible qu&amp;#8217;au format ZIP, puisque visiblement &lt;a href=&quot;http://callmepep.org/blog/post/2008/02/18/Voila-que-le-ZIP-zappe-le-PKGGZ&quot; hreflang=&quot;fr&quot;&gt;c&amp;#8217;est l&amp;#8217;avenir&lt;/a&gt;.&lt;/p&gt;


&lt;h3&gt;Téléchargement&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://prendreuncafe.com/blog/share/plugin-flickrfeed-1.0.2.zip&quot;&gt;plugin-flickrfeed-1.0.2.zip&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Edit du 10 avril&amp;#160;:&lt;/strong&gt; Version 1.0.1&amp;#160;: correction mineure sur la validité xhtml (ajout d&amp;#8217;un attribut &lt;code&gt;alt&lt;/code&gt; sur les balises images.) Merci Chris &lt;img src=&quot;/blog/themes/Puc4/smilies/wink.gif&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Edit du 14 septembre&lt;/strong&gt;&amp;#160;: Version 1.0.2 ajoutant une option permettant de spécifier si le widget n&amp;#8217;apparait que sur la homepage (merci giz404)&lt;/p&gt;&lt;hr/&gt;&lt;p style='margin:.5em 0;padding:.5em;border:1px solid #333;background:#eee;color:#222'&gt;&lt;small&gt;Ce billet intitulé &lt;a href='http://prendreuncafe.com/blog/post/2008/03/23/Plugin-FlickrFeed-pour-Dotclear2'&gt;Plugin FlickrFeed pour Dotclear2&lt;/a&gt; a été rédigé par &lt;a href='http://prendreuncafe.com/cv'&gt;Nicolas Perriault&lt;/a&gt; et publié sur le blog &lt;a href='http://prendreuncafe.com/blog/'&gt;Prendre un Café&lt;/a&gt; sous licence &lt;a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'&gt;Creative Commons BY-NC-SA&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Amazon SimpleDB plugin for Symfony</title>
    <link>http://prendreuncafe.com/blog/post/2007/12/29/Amazon-SimpleDB-plugin-for-Symfony</link>
    <guid isPermaLink="false">urn:md5:084a6b9d83c73cc384c3f8a5208ace6a</guid>
    <pubDate>Sat, 29 Dec 2007 12:53:00 +0100</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>Dev</category>
        <category>amazon</category><category>database</category><category>php</category><category>plugins</category><category>simpledb</category><category>symfony</category>    
    <description>    &lt;p&gt;Hey, this is a post written in english. Handle with care &lt;img src=&quot;/blog/themes/Puc4/smilies/wink.gif&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;I've just released an alpha version of a new plugin for the &lt;a href=&quot;http://www.symfony-project.org/&quot; hreflang=&quot;en&quot;&gt;Symfony framework&lt;/a&gt; to use the brand new &lt;a href=&quot;http://www.amazon.com/b/ref=sc_fe_l_2?ie=UTF8&amp;amp;node=342335011&amp;amp;no=3435361&amp;amp;me=A36L942TSJ2AJA&quot; hreflang=&quot;en&quot;&gt;Amazon SimpleDB&lt;/a&gt; service : &lt;a href=&quot;http://trac.symfony-project.com/wiki/sfAmazonSimpleDBPlugin&quot; hreflang=&quot;en&quot;&gt;sfAmazonSimpleDBPlugin&lt;/a&gt;. This plugin is in an alpha state but provide a clean and Symfony-compliant API to handle and query your SimpleDB database, if you have the luck to have an account.&lt;/p&gt;


&lt;p&gt;The purpose of SimpleDB is to provide simple and efficient data storage through a webservice. You can find &lt;a href=&quot;http://www.amazon.com/b/ref=sc_fe_l_2?ie=UTF8&amp;amp;node=342335011&amp;amp;no=3435361&amp;amp;me=A36L942TSJ2AJA#price&quot; hreflang=&quot;en&quot;&gt;billing policy&lt;/a&gt; on their website.&lt;/p&gt;


&lt;p&gt;I've mainly used the &lt;a href=&quot;http://developer.amazonwebservices.com/connect/entry.jspa?entryID=1135&quot; hreflang=&quot;en&quot;&gt;PHP5 library provided by Amazon&lt;/a&gt; (&lt;a href=&quot;http://s3.amazonaws.com/awscode/amazon-simpledb/2007-11-07/php5/library/doc/index.html&quot; hreflang=&quot;en&quot;&gt;API documentation available&lt;/a&gt;), but I thought some operations were a bit complicated.&lt;/p&gt;


&lt;p&gt;For example, with the official client, to insert a row in a table you have to do something like this :&lt;/p&gt;

&lt;pre class=&quot;php&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span style=&quot;color: #b1b100;&quot;&gt;require_once&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Amazon/SimpleDB/Model/ReplaceableAttribute.php'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$domainName&lt;/span&gt; = &lt;span style=&quot;color: #ff0000;&quot;&gt;'MyStore'&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$itemName&lt;/span&gt; = &lt;span style=&quot;color: #ff0000;&quot;&gt;'Item_01'&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$attribute1&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; Amazon_SimpleDB_Model_ReplaceableAttribute&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$attribute1&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;withName&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Category'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;withValue&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Clothes'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$attribute2&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; Amazon_SimpleDB_Model_ReplaceableAttribute&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$attribute2&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;withName&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Subcategory'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;withValue&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Sweater'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$attribute3&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; Amazon_SimpleDB_Model_ReplaceableAttribute&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$attribute3&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;withName&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Name'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;withValue&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Cathair Sweater'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$attribute4&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; Amazon_SimpleDB_Model_ReplaceableAttribute&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$attribute4&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;withName&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Color'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;withValue&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Siamese'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$attribute5&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; Amazon_SimpleDB_Model_ReplaceableAttribute&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$attribute5&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;withName&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Size'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;withValue&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Small'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$attribute6&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; Amazon_SimpleDB_Model_ReplaceableAttribute&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$attribute6&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;withName&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Size'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;withValue&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Medium'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$attribute7&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; Amazon_SimpleDB_Model_ReplaceableAttribute&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$attribute7&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;withName&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Size'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;withValue&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Large'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$attributeList&lt;/span&gt; = &lt;a href=&quot;http://www.php.net/array&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$attribute1&lt;/span&gt;, &lt;span style=&quot;color: #0000ff;&quot;&gt;$attribute2&lt;/span&gt;, &lt;span style=&quot;color: #0000ff;&quot;&gt;$attribute3&lt;/span&gt;, &lt;span style=&quot;color: #0000ff;&quot;&gt;$attribute4&lt;/span&gt;, &lt;span style=&quot;color: #0000ff;&quot;&gt;$attribute5&lt;/span&gt;, &lt;span style=&quot;color: #0000ff;&quot;&gt;$attribute6&lt;/span&gt;, &lt;span style=&quot;color: #0000ff;&quot;&gt;$attribute7&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$action&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; Amazon_SimpleDB_Model_PutAttributes&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$action&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;withDomainName&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$domainName&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;withItemName&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$itemName&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;setAttribute&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$attributeList&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
invokePutAttributes&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$service&lt;/span&gt;, &lt;span style=&quot;color: #0000ff;&quot;&gt;$action&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;


&lt;p&gt;With the Symfony plugin, you can do the same with :&lt;/p&gt;

&lt;pre class=&quot;php&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$data&lt;/span&gt; = &lt;a href=&quot;http://www.php.net/array&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Category'&lt;/span&gt;    =&amp;gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'Clothes'&lt;/span&gt;,
              &lt;span style=&quot;color: #ff0000;&quot;&gt;'Subcategory'&lt;/span&gt; =&amp;gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'Sweater'&lt;/span&gt;,
              &lt;span style=&quot;color: #ff0000;&quot;&gt;'Name'&lt;/span&gt;        =&amp;gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'Cathair Sweater'&lt;/span&gt;,
              &lt;span style=&quot;color: #ff0000;&quot;&gt;'Color'&lt;/span&gt;       =&amp;gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'Siamese'&lt;/span&gt;,
              &lt;span style=&quot;color: #ff0000;&quot;&gt;'Size'&lt;/span&gt;        =&amp;gt; &lt;a href=&quot;http://www.php.net/array&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Small'&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;'Medium'&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;'Large'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
sfAmazonSimpleDBClient::&lt;span style=&quot;color: #006600;&quot;&gt;getInstance&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;selectDomain&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'MyStore'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;putAttributes&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Item_01'&lt;/span&gt;, &lt;span style=&quot;color: #0000ff;&quot;&gt;$data&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;


&lt;p&gt;Personnaly I prefer the shorter syntax but it's mainly matter of taste here. In a future release, I'll try to also provide a backend module to handle the databases.&lt;/p&gt;


&lt;p&gt;Last but not least, the plugin API is entirely unit tested. You can find &lt;a href=&quot;http://trac.symfony-project.com/browser/plugins/sfAmazonSimpleDBPlugin/trunk/test/unit/sfAmazonSimpleDBTest.php&quot; hreflang=&quot;en&quot;&gt;the test suite here&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;I hope you'll find this plugin somewhat useful for your Symfony projects &lt;img src=&quot;/blog/themes/Puc4/smilies/smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Edit :&lt;/strong&gt; The author of the official Amazon PHP library sent me a mail to clarify a point : there's an alternative syntax available, array based, to put attributes:&lt;/p&gt;

&lt;pre class=&quot;php&quot;&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$action&lt;/span&gt; = &lt;a href=&quot;http://www.php.net/array&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;array&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;DomainName&amp;quot;&lt;/span&gt; =&amp;gt;  &lt;span style=&quot;color: #0000ff;&quot;&gt;$domainName&lt;/span&gt;,
            &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;ItemName&amp;quot;&lt;/span&gt; =&amp;gt;    &lt;span style=&quot;color: #0000ff;&quot;&gt;$itemName&lt;/span&gt;,
            &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Attribute&amp;quot;&lt;/span&gt; = &amp;gt;  &lt;a href=&quot;http://www.php.net/array&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;
                        &lt;a href=&quot;http://www.php.net/array&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;array&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Name&amp;quot;&lt;/span&gt; =&amp;gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Category&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Value&amp;quot;&lt;/span&gt; =&amp;gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Clothes&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;,
                        &lt;a href=&quot;http://www.php.net/array&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;array&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Name&amp;quot;&lt;/span&gt; =&amp;gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Subcategory&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Value&amp;quot;&lt;/span&gt; =&amp;gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Sweater&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;,
                        &lt;a href=&quot;http://www.php.net/array&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;array&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Name&amp;quot;&lt;/span&gt; =&amp;gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Name&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Value&amp;quot;&lt;/span&gt; =&amp;gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Cathair Sweater&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;,
                        &lt;a href=&quot;http://www.php.net/array&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;array&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Name&amp;quot;&lt;/span&gt; =&amp;gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Color&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Value&amp;quot;&lt;/span&gt; =&amp;gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Siamese&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;,           
                        &lt;a href=&quot;http://www.php.net/array&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;array&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Name&amp;quot;&lt;/span&gt; =&amp;gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Size&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Value&amp;quot;&lt;/span&gt; =&amp;gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Small&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;,   
                        &lt;a href=&quot;http://www.php.net/array&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;array&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Name&amp;quot;&lt;/span&gt; =&amp;gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Size&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Value&amp;quot;&lt;/span&gt; =&amp;gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Medium&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;,
                        &lt;a href=&quot;http://www.php.net/array&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;array&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Name&amp;quot;&lt;/span&gt; =&amp;gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Size&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Value&amp;quot;&lt;/span&gt; =&amp;gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Large&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;
            &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$service&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;putAttributes&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$action&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;


&lt;p&gt;So next step for me, I'd like to ORMize all this to be able to do some pretty things like:&lt;/p&gt;

&lt;pre class=&quot;php&quot;&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$product&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; Product&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$product&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;setCategory&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Clothes'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$product&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;setSubcategory&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Sweater'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$product&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;setName&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Cathair Sweater'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$product&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;setColor&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Siamese'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$product&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;setSize&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a href=&quot;http://www.php.net/array&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Small'&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;'Medium'&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;'Large'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$product&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;save&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;


&lt;p&gt;Not very hard to do but I wonder if I will be able to avoid code generation (yurk)...&lt;/p&gt;&lt;hr/&gt;&lt;p style='margin:.5em 0;padding:.5em;border:1px solid #333;background:#eee;color:#222'&gt;&lt;small&gt;Ce billet intitulé &lt;a href='http://prendreuncafe.com/blog/post/2007/12/29/Amazon-SimpleDB-plugin-for-Symfony'&gt;Amazon SimpleDB plugin for Symfony&lt;/a&gt; a été rédigé par &lt;a href='http://prendreuncafe.com/cv'&gt;Nicolas Perriault&lt;/a&gt; et publié sur le blog &lt;a href='http://prendreuncafe.com/blog/'&gt;Prendre un Café&lt;/a&gt; sous licence &lt;a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'&gt;Creative Commons BY-NC-SA&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Release Time (part one)</title>
    <link>http://prendreuncafe.com/blog/post/2007/09/05/Release-Time-part-one</link>
    <guid isPermaLink="false">urn:md5:409486a5ef76a240ea04b9ec30869f3c</guid>
    <pubDate>Wed, 05 Sep 2007 17:47:00 +0200</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>Dev</category>
        <category>myself</category><category>php</category><category>plugins</category><category>symfony</category>    
    <description>    &lt;p&gt;&lt;acronym title=&quot;Quote Of The Day - Citation du jour&quot;&gt;QOTD&lt;/acronym&gt; :&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;À trop &lt;a href=&quot;http://fr.wikipedia.org/wiki/Procrastination&quot; hreflang=&quot;fr&quot;&gt;procrastiner&lt;/a&gt;, on s'y casse le nez.&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Bon, je suis en train de sortir des cartons tout ce que je n'ai pas encore releasé. Voici une première fournée, sous la forme de deux plugins pour le framework &lt;a href=&quot;http://www.symfony-project.com/&quot; hreflang=&quot;en&quot;&gt;Symfony&lt;/a&gt; :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://trac.symfony-project.com/trac/wiki/sfPropelPollsPlugin&quot; hreflang=&quot;en&quot;&gt;sfPropelPollsPlugin&lt;/a&gt;&lt;br /&gt;Ce plugin permet de gérer des sondages simplement dans Symfony. Un module d'administration en back-office est inclus.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://trac.symfony-project.com/trac/wiki/sfPropelActAsRatableBehaviorPlugin&quot; hreflang=&quot;en&quot;&gt;sfPropelActAsRatableBehaviorPlugin&lt;/a&gt;&lt;br /&gt;Ce plugin permet de rendre n'importe quels objets Propel &lt;em&gt;notables&lt;/em&gt;, c'est à dire de leur attribuer une note. J'utilise un comportement Propel, et si ça vous interesse &lt;a href=&quot;http://redotheweb.com/2007/09/02/understanding-behaviors/&quot; hreflang=&quot;en&quot;&gt;un chouette tuto vous explique un peu comment ça marche&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ces plugins sont releasés sous licence &lt;a href=&quot;http://en.wikipedia.org/wiki/MIT_License&quot; hreflang=&quot;en&quot;&gt;MIT&lt;/a&gt;. Enjoy.&lt;/p&gt;


&lt;p&gt;Bon, c'est pas fini, d'autres choses vont suivre très prochainement.&lt;/p&gt;&lt;hr/&gt;&lt;p style='margin:.5em 0;padding:.5em;border:1px solid #333;background:#eee;color:#222'&gt;&lt;small&gt;Ce billet intitulé &lt;a href='http://prendreuncafe.com/blog/post/2007/09/05/Release-Time-part-one'&gt;Release Time (part one)&lt;/a&gt; a été rédigé par &lt;a href='http://prendreuncafe.com/cv'&gt;Nicolas Perriault&lt;/a&gt; et publié sur le blog &lt;a href='http://prendreuncafe.com/blog/'&gt;Prendre un Café&lt;/a&gt; sous licence &lt;a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'&gt;Creative Commons BY-NC-SA&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Tags faciles avec Propel dans Symfony</title>
    <link>http://prendreuncafe.com/blog/post/2007/05/22/Tags-faciles-avec-Propel-Symfony</link>
    <guid isPermaLink="false">urn:md5:771903c2c29ec1ee91ed2f95af63ce2d</guid>
    <pubDate>Tue, 22 May 2007 11:14:00 +0200</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>Dev</category>
        <category>php</category><category>plugins</category><category>propel</category><category>symfony</category><category>tags</category>    
    <description>    &lt;p&gt;Mon camarade de Nespresso &lt;a href=&quot;http://lacot.org&quot; hreflang=&quot;fr&quot;&gt;Xavier Lacot&lt;/a&gt; nous gratifie d'un plugin pour &lt;a href=&quot;http://www.symfony-project.com/&quot; hreflang=&quot;en&quot;&gt;Symfony&lt;/a&gt; répondant au doux nom de &lt;a href=&quot;http://trac.symfony-project.com/trac/wiki/sfPropelActAsTaggableBehaviorPlugin&quot; hreflang=&quot;en&quot;&gt;sfPropelActAsTaggableBehaviorPlugin&lt;/a&gt; et permettant de taguer n'importe quel objet &lt;a href=&quot;http://propel.phpdb.org/trac/&quot; hreflang=&quot;en&quot;&gt;Propel&lt;/a&gt; très facilement, mais aussi de gérer les requêtes multi-tags et la récupération d'objets de types multiples.&lt;/p&gt;


&lt;p&gt;Ce plugin sera notamment utilisé dans un projet qui touchera prochainement de très près ce blog, si les conditions normales de températures et de pression le permettent, comme d'hab.&lt;/p&gt;


&lt;p&gt;Du très bon boulot, Xavier !&lt;/p&gt;&lt;hr/&gt;&lt;p style='margin:.5em 0;padding:.5em;border:1px solid #333;background:#eee;color:#222'&gt;&lt;small&gt;Ce billet intitulé &lt;a href='http://prendreuncafe.com/blog/post/2007/05/22/Tags-faciles-avec-Propel-Symfony'&gt;Tags faciles avec Propel dans Symfony&lt;/a&gt; a été rédigé par &lt;a href='http://prendreuncafe.com/cv'&gt;Nicolas Perriault&lt;/a&gt; et publié sur le blog &lt;a href='http://prendreuncafe.com/blog/'&gt;Prendre un Café&lt;/a&gt; sous licence &lt;a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'&gt;Creative Commons BY-NC-SA&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Intégration de Jamendo dans RhythmBox sous Feisty</title>
    <link>http://prendreuncafe.com/blog/post/2007/03/23/Integration-de-Jamendo-dans-RhythmBox-sous-Feisty</link>
    <guid isPermaLink="false">urn:md5:64018c94c829c4e21dafa3b6a5aa17a2</guid>
    <pubDate>Fri, 23 Mar 2007 15:41:00 +0100</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>Ubuntu</category>
        <category>gnome</category><category>jamendo</category><category>libre</category><category>magnatune</category><category>mp3</category><category>musique</category><category>ogg</category><category>plugins</category><category>rhythmbox</category><category>ubuntu</category>    
    <description>    &lt;p&gt;[Via &lt;a href=&quot;http://www.jonobacon.org/?p=925&quot; hreflang=&quot;en&quot;&gt;Jono Bacon&lt;/a&gt;]&lt;/p&gt;


&lt;p&gt;Le catalogue intégral &lt;a href=&quot;http://www.jamendo.com/fr/&quot; hreflang=&quot;fr&quot;&gt;Jamendo&lt;/a&gt; débarque nativement intégré dans la version de &lt;a href=&quot;http://www.gnome.org/projects/rhythmbox/&quot; hreflang=&quot;en&quot;&gt;RhythmBox&lt;/a&gt; qui équipera &lt;a href=&quot;http://prendreuncafe.com/blog/post/2006/10/19/Ubuntu-704-Feisty-Fawn&quot; hreflang=&quot;fr&quot;&gt;Feisty Fawn&lt;/a&gt;, la version d'&lt;a href=&quot;http://www.ubuntu-fr.org/&quot; hreflang=&quot;fr&quot;&gt;Ubuntu&lt;/a&gt; en cours de développement à sortir courant avril.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.jamendo.com/fr/&quot; hreflang=&quot;fr&quot;&gt;Jamendo&lt;/a&gt; est une plateforme de diffusion et de promotion d'artistes proposant de la musique sous &lt;a href=&quot;http://fr.creativecommons.org/FAQgenerales.htm&quot; hreflang=&quot;fr&quot;&gt;licences Creative Commons&lt;/a&gt; : c'est à dire que non seulement le téléchargement y est absolument légal mais qui plus est fortement incité &lt;img src=&quot;/blog/themes/Puc4/smilies/smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Pour accéder au catalogue Jamendo dans RhythmBox, il suffit d'activer le &lt;em&gt;greffon&lt;/em&gt; Jamendo via le menu &lt;em&gt;Edition&lt;/em&gt; de RhythmBox. La qualité de restitution des flux est excellente, et des liens contextuels proposent le téléchargement direct des albums dans leur intégralité, pour stockage en local.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://prendreuncafe.com/blog/public/images/ScreenShots/Gnome/rhythmbox_jamendo.png&quot;&gt;&lt;img src=&quot;http://prendreuncafe.com/blog/public/images/ScreenShots/Gnome/.rhythmbox_jamendo_m.jpg&quot; alt=&quot;RhythmBox et le plugin Jamendo&quot; style=&quot;display:block; margin:0 auto;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Le plus marquant reste le texte affiché dans la barre de statut du logiciel une fois la liste intégrale des titres Jamendo disponibles rapatriée :&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;22972 morceaux, 65 jours, 21 heures et 54 minutes&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;De quoi &lt;em&gt;voir venir&lt;/em&gt;, assurément.&lt;/p&gt;


&lt;p&gt;Notez que de la même manière, le catalogue &lt;a href=&quot;http://www.magnatune.com&quot; hreflang=&quot;en&quot;&gt;Magnatune&lt;/a&gt;, quand à lui payant et par conséquent plus proche de ce que peut être une boutique de musique en ligne, est également disponible via un autre greffon.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://prendreuncafe.com/blog/post/2006/09/28/ithunes&quot; hreflang=&quot;fr&quot;&gt;iThunes&lt;/a&gt; n'a qu'à bien se tenir.&lt;/p&gt;&lt;hr/&gt;&lt;p style='margin:.5em 0;padding:.5em;border:1px solid #333;background:#eee;color:#222'&gt;&lt;small&gt;Ce billet intitulé &lt;a href='http://prendreuncafe.com/blog/post/2007/03/23/Integration-de-Jamendo-dans-RhythmBox-sous-Feisty'&gt;Intégration de Jamendo dans RhythmBox sous Feisty&lt;/a&gt; a été rédigé par &lt;a href='http://prendreuncafe.com/cv'&gt;Nicolas Perriault&lt;/a&gt; et publié sur le blog &lt;a href='http://prendreuncafe.com/blog/'&gt;Prendre un Café&lt;/a&gt; sous licence &lt;a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'&gt;Creative Commons BY-NC-SA&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Rhythmbox tips</title>
    <link>http://prendreuncafe.com/blog/post/2007/03/04/Rhythmbox-tips</link>
    <guid isPermaLink="false">urn:md5:11a9d4066f27864d56cde1290b5a149d</guid>
    <pubDate>Sun, 04 Mar 2007 00:30:00 +0100</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>Ubuntu</category>
        <category>gajim</category><category>gnome</category><category>plugins</category><category>rhythmbox</category><category>tips</category><category>ubuntu</category>    
    <description>    &lt;p&gt;(Excusez cette soudaine profusion de billets, je solde)&lt;/p&gt;


&lt;p&gt;Je suis fan de &lt;a href=&quot;http://www.gnome.org/projects/rhythmbox/&quot; hreflang=&quot;en&quot;&gt;Rhythmbox&lt;/a&gt;, le gestionnaire de fichiers musicaux fourni avec &lt;a href=&quot;http://gnome.org/&quot; hreflang=&quot;en&quot;&gt;Gnome&lt;/a&gt; dans &lt;a href=&quot;http://ubuntu-fr.org/&quot; hreflang=&quot;fr&quot;&gt;Ubuntu&lt;/a&gt;. C'est simple, ça fonctionne. Voici quelques astuces destinées à une utilisation optimale du programme.&lt;/p&gt;


&lt;h3&gt;Applet de contrôle dans un tableau de bord Gnome&lt;/h3&gt;


&lt;p&gt;&lt;a href=&quot;http://www.kuliniewicz.org/music-applet/&quot; hreflang=&quot;en&quot;&gt;Music Applet&lt;/a&gt; permet de contrôler votre lecteur musical préféré depuis un tableau de bord Gnome :&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://prendreuncafe.com/blog/public/images/ScreenShots/Gnome/music-applet.png&quot; alt=&quot;Music Applet&quot; style=&quot;display:block; margin:0 auto;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Pour l'installer :&lt;/p&gt;


&lt;pre&gt;$ sudo apt-get install rhythmbox-applet&lt;/pre&gt;


&lt;p&gt;Puis ajouter un nouvel applet au tableau de bord et choisissez &lt;em&gt;Music Applet&lt;/em&gt; dans la section &lt;em&gt;Multimedia&lt;/em&gt;. Notez qu'il est également capable de piloter &lt;a href=&quot;http://www.banshee-project.org/Main_Page&quot; hreflang=&quot;en&quot;&gt;Banshee&lt;/a&gt; ou &lt;a href=&quot;http://muine-player.org/wiki/Main_Page&quot; hreflang=&quot;en&quot;&gt;Muine&lt;/a&gt;.&lt;/p&gt;


&lt;h3&gt;Notification du titre écouté dans Gajim&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;http://madchicken.altervista.org/&quot; hreflang=&quot;en&quot;&gt;Pierpaolo Follia&lt;/a&gt; a réalisé un &lt;a href=&quot;http://madchicken.altervista.org/tech/2006/10/rhythmbox-096-plugin-for-gajim-status.html&quot; hreflang=&quot;en&quot;&gt;plugin pour Rhythmbox&lt;/a&gt; permettant de changer votre message de statut &lt;a href=&quot;http://www.gajim.org/&quot; hreflang=&quot;en&quot;&gt;Gajim&lt;/a&gt; en fonction du titre que vous écoutez. Pour l'installer, c 'est très simple :&lt;/p&gt;


&lt;pre&gt;$ mkdir ~/.gnome2/rhythmbox ~/.gnome2/rhythmbox/plugins
$ cd ~/.gnome2/rhythmbox/plugins
$ wget -c http://madchicken.altervista.org/tech/download/gajim-status.tar.gz
$ tar xvzf gajim-status.tar.gz &amp;amp;&amp;amp; rm gajim-status.tar.gz&lt;/pre&gt;


&lt;p&gt;Relancez Rhythmbox, et configurez le plugin via le menu &lt;em&gt;Edition &amp;gt; Greffons &amp;gt; Gajim status changer&lt;/em&gt; :&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://prendreuncafe.com/blog/public/images/ScreenShots/Gnome/Capture-Gajim_Status_Changer.png&quot; alt=&quot;Capture-Gajim_Status_Changer.png&quot; style=&quot;display:block; margin:0 auto;&quot; /&gt;&lt;/p&gt;


&lt;h3&gt;Suggestions Last.fm avec le plugin LastRhythm&lt;/h3&gt;


&lt;p&gt;Je suis également un très grand &lt;a href=&quot;http://www.lastfm.fr/user/nperriault/&quot; hreflang=&quot;fr&quot;&gt;fan&lt;/a&gt; de &lt;a href=&quot;http://last.fm/&quot; hreflang=&quot;fr&quot;&gt;last.fm&lt;/a&gt;, particulièrement des fonctionnalités de suggestions par similarité artistique. Aussi, quand je suis tombé complètement par hasard sur l'existence d'un &lt;a href=&quot;http://usrportage.de/archives/763-the-last-rhythm-for-me.html&quot; hreflang=&quot;en&quot;&gt;plugin LastRhythm pour Rhythmbox&lt;/a&gt;, je me suis empressé de l'installer pour le tester.&lt;/p&gt;


&lt;p&gt;Verdict, ça marche fort bien (sous &lt;a href=&quot;http://doc.ubuntu-fr.org/versions/edgy_eft&quot; hreflang=&quot;fr&quot;&gt;Edgy&lt;/a&gt; du moins.)&lt;/p&gt;


&lt;p&gt;La procédure d'installation est très simple :&lt;/p&gt;


&lt;pre&gt;$ sudo apt-get install subversion python-elementtree
$ svn co https://svn.usrportage.de/lastrhythm/trunk/ /usr/lib/rhythmbox/plugins/lastrhythm&lt;/pre&gt;


&lt;p&gt;Redémarrez rhythmbox, activez le &lt;del&gt;plugin&lt;/del&gt; greffon et appréciez &lt;img src=&quot;/blog/themes/Puc4/smilies/smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;&lt;hr/&gt;&lt;p style='margin:.5em 0;padding:.5em;border:1px solid #333;background:#eee;color:#222'&gt;&lt;small&gt;Ce billet intitulé &lt;a href='http://prendreuncafe.com/blog/post/2007/03/04/Rhythmbox-tips'&gt;Rhythmbox tips&lt;/a&gt; a été rédigé par &lt;a href='http://prendreuncafe.com/cv'&gt;Nicolas Perriault&lt;/a&gt; et publié sur le blog &lt;a href='http://prendreuncafe.com/blog/'&gt;Prendre un Café&lt;/a&gt; sous licence &lt;a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'&gt;Creative Commons BY-NC-SA&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Utiliser Doctrine au lieu de Propel dans Symfony sous Ubuntu</title>
    <link>http://prendreuncafe.com/blog/post/2007/01/07/Utiliser-Doctrine-au-lieu-de-Propel-dans-Symfony-sous-Ubuntu</link>
    <guid isPermaLink="false">urn:md5:8de6053271d14bbb95afe9a12814ed64</guid>
    <pubDate>Sun, 07 Jan 2007 18:45:00 +0100</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>Dev</category>
        <category>doctrine</category><category>orm</category><category>php</category><category>plugins</category><category>symfony</category><category>tutoriel</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.phpdoctrine.com/&quot; hreflang=&quot;en&quot;&gt;Doctrine&lt;/a&gt; est une couche &lt;acronym title=&quot;Object Relationnal Model&quot;&gt;ORM&lt;/acronym&gt; rapide et performante, basée sur le &lt;a href=&quot;http://en.wikipedia.org/wiki/Active_record&quot; hreflang=&quot;en&quot;&gt;pattern ActiveRecord&lt;/a&gt; bien connu des adeptes de &lt;a href=&quot;http://fr.wikipedia.org/wiki/Ruby_on_Rails&quot; hreflang=&quot;fr&quot;&gt;Ruby on Rails&lt;/a&gt;, pouvant être utilisée en lieu et place de &lt;a href=&quot;http://propel.phpdb.org/trac/&quot; hreflang=&quot;en&quot;&gt;Propel&lt;/a&gt;, l'ORM natif embarqué avec &lt;a href=&quot;http://www.symfony-project.com&quot; hreflang=&quot;en&quot;&gt;Symfony&lt;/a&gt; par défaut.&lt;/p&gt;


&lt;h3&gt;Installation&lt;/h3&gt;


&lt;p&gt;La mise en place de Doctrine se présente sous la forme d'un plugin, &lt;a href=&quot;http://www.symfony-project.com/trac/wiki/sfDoctrine&quot; hreflang=&quot;en&quot;&gt;sfDoctrine&lt;/a&gt;, qui s'installe via un checkout Subversion dans le répertoire &lt;code&gt;plugins&lt;/code&gt; de votre projet Symfony, comme suit :&lt;/p&gt;


&lt;pre&gt;$ cd /path/to/project/plugins
$ sudo apt-get install subversion
$ svn co http://svn.symfony-project.com/plugins/sfDoctrinePlugin sfDoctrinePlugin&lt;/pre&gt;


&lt;p&gt;Note: Si votre projet est déjà versionné dans un dépôt Subversion, vous pouvez faire un &lt;a href=&quot;http://svnbook.red-bean.com/en/1.0/ch07s03.html&quot; hreflang=&quot;en&quot;&gt;svn:externals&lt;/a&gt; vers le plugin :&lt;/p&gt;


&lt;pre&gt;$ propset svn:externals &amp;quot;symfony http://svn.symfony-project.com/plugins/sfDoctrinePlugin&amp;quot; /path/to/project/plugins&lt;/pre&gt;


&lt;p&gt;L'avantage est que desormais vos &lt;code&gt;svn up&lt;/code&gt; mettront à jour les fichiers du plugin d'un même coup.&lt;/p&gt;


&lt;p&gt;Ceci fait, il faut installer &lt;a href=&quot;http://fr.php.net/pdo&quot; hreflang=&quot;fr&quot;&gt;PDO&lt;/a&gt; et son driver MySQL via &lt;a href=&quot;http://pecl.php.net/&quot; hreflang=&quot;en&quot;&gt;PECL&lt;/a&gt; sur votre système si ce n'est pas déjà le cas :&lt;/p&gt;


&lt;pre&gt;$ sudo apt-get install build-essential php5-dev php-pear libmysqlclient12-dev
$ sudo pecl install PDO PDO_MySQL&lt;/pre&gt;


&lt;p&gt;C'est un peu long, puisque compilé à la volée. Il ne faut pas oublier d'activer notre nouvelle extension et son driver dans nos fichiers différents &lt;code&gt;php.ini&lt;/code&gt; :&lt;/p&gt;


&lt;pre&gt;$ sudo vi /etc/php5/apache2/php.ini /etc/php5/cli/php.ini&lt;/pre&gt;


&lt;p&gt;Et ajoutez en toute fin de fichiers les deux lignes suivantes :&lt;/p&gt;


&lt;pre&gt;extension=pdo.so
extension=pdo_mysql.so&lt;/pre&gt;


&lt;h3&gt;Configuration&lt;/h3&gt;


&lt;p&gt;Maintenant, définissons nos paramètres de connexion pour le projet &lt;code&gt;monprojet&lt;/code&gt; dans le fichier &lt;code&gt;./config/databases.yml&lt;/code&gt; du projet :&lt;/p&gt;


&lt;pre&gt;all:
  monprojet:
    class: sfDoctrineDatabase
    param:
      dsn: mysql://user:pass@localhost/mydb&lt;/pre&gt;


&lt;p&gt;Ensuite, on va tester une structure de données assez simpliste (au pif et pour faire original, un blog), pour vérifier que ça marche. On édite le fichier &lt;code&gt;./config/doctrine/monprojet.yml&lt;/code&gt; :&lt;/p&gt;


&lt;pre&gt;User:
  tableName:     users
  columns:
    name:        string(20)
    created_at:  timestamp
Article:
  tableName:     articles
  columns:
    title:       string(255)
    exerpt:      text
    description: text
    created_at:  timestamp
    user_id:
      foreignClass: User
      foreignName:  author
      localName:    article_author
      onDelete:     cascade
Comment:
  tableName:     comments
  columns:
    content:     text
    created_at:  timestamp
    user_id:
      foreignClass: User
      foreignName:  commenter
      localName:    comment_user
      onDelete:     cascade
    article_id :
      foreignClass: Article
      localName:    comment_article
      onDelete:     cascade&lt;/pre&gt;


&lt;p&gt;On peut maintenant générer les classes du modèle objet précedemment défini :&lt;/p&gt;


&lt;pre&gt;$ symfony doctrine-build-model&lt;/pre&gt;


&lt;p&gt;Ce qui nous donne :&lt;/p&gt;


&lt;pre&gt;&amp;gt;&amp;gt; loading   Class descriptions from &amp;quot;/home/...m/config/doctrine/monprojet.yml&amp;quot;
&amp;gt;&amp;gt; writing   BaseUser.class.php
&amp;gt;&amp;gt; writing   BaseArticle.class.php
&amp;gt;&amp;gt; writing   BaseComment.class.php&lt;/pre&gt;


&lt;p&gt;Ces fichiers ont été créés sous &lt;code&gt;./lib/model/doctrine&lt;/code&gt; automatiquement. Vous pourrez modifier les classes objets pour les adapter à vos besoin, mais attention, les classes de base situées dans le sous-répertoire &lt;code&gt;generated&lt;/code&gt; seront systématiquement écrasées à chaque regénération.&lt;/p&gt;


&lt;h3&gt;Utilisation&lt;/h3&gt;


&lt;p&gt;Les commandes de scaffolding propres à Symfony et Propel ont été adaptées partiellement à Doctrine ; vous trouverez ainsi quelques tâches utiles :&lt;/p&gt;


&lt;pre&gt;doctrine-export            &amp;gt; exports doctrine schemas to propel schema.xml
doctrine-generate-crud     &amp;gt; Creates Doctrine CRUD Module
doctrine-import            &amp;gt; converts propel schema.*ml into doctrine schema
doctrine-init-admin        &amp;gt; initialize a new doctrine admin module&lt;/pre&gt;


&lt;h3&gt;Pour aller plus loin&lt;/h3&gt;


&lt;p&gt;La syntaxe de requêtage et les autres aspects de Doctrine sont détaillés dans les ressources suivantes :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.symfony-project.com/trac/wiki/sfDoctrine&quot; hreflang=&quot;en&quot;&gt;Sur le wiki de Symfony&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://doctrine.pengus.net/Main_Page&quot; hreflang=&quot;en&quot;&gt;Sur le wiki de Doctrine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.phpdoctrine.com/documentation.php&quot; hreflang=&quot;en&quot;&gt;La documentation officielle de Doctrine&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;hr/&gt;&lt;p style='margin:.5em 0;padding:.5em;border:1px solid #333;background:#eee;color:#222'&gt;&lt;small&gt;Ce billet intitulé &lt;a href='http://prendreuncafe.com/blog/post/2007/01/07/Utiliser-Doctrine-au-lieu-de-Propel-dans-Symfony-sous-Ubuntu'&gt;Utiliser Doctrine au lieu de Propel dans Symfony sous Ubuntu&lt;/a&gt; a été rédigé par &lt;a href='http://prendreuncafe.com/cv'&gt;Nicolas Perriault&lt;/a&gt; et publié sur le blog &lt;a href='http://prendreuncafe.com/blog/'&gt;Prendre un Café&lt;/a&gt; sous licence &lt;a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'&gt;Creative Commons BY-NC-SA&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
</channel>
</rss>
