<?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 - dev</title>
  <link>http://prendreuncafe.com/blog/</link>
  <atom:link href="http://prendreuncafe.com/blog/feed/tag/dev/rss2" rel="self" type="application/rss+xml"/>
  <description></description>
  <language>fr</language>
  <pubDate>Tue, 01 Feb 2011 14:49:24 +0100</pubDate>
  <copyright>Contenus sous licence Creative Commons BY-SA</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Juste pour rappel</title>
    <link>http://prendreuncafe.com/blog/post/2010/05/05/Juste-pour-rappel</link>
    <guid isPermaLink="false">urn:md5:b1cf20d0db4d94e7b9b38311b0e25f1d</guid>
    <pubDate>Wed, 05 May 2010 18:08:00 +0200</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>Dev</category>
        <category>akei</category><category>dev</category><category>django</category><category>pip</category><category>python</category><category>virtualenv</category><category>virtualenvwrapper</category>    
    <description>    &lt;p&gt;Ahem, pour ceux qui ne l&amp;#8217;auraient pas compris, les billets techniques seront désormais publiés &lt;a href=&quot;http://blog.akei.com&quot; hreflang=&quot;fr&quot;&gt;sur le blog de ma société, Akei&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Tenez c&amp;#8217;est drôle, je viens justement d&amp;#8217;en publier un sur &lt;a href=&quot;http://blog.akei.com/post/573774396/installer-django-dans-un-environnement-python-virtuel&quot; hreflang=&quot;fr&quot;&gt;l&amp;#8217;installation de Django dans un environnement virtuel Python avec pip, virtualenv et virtualenvwrapper&lt;/a&gt;, c&amp;#8217;est fou ça.&lt;/p&gt;


&lt;p&gt;Pour faire valoir ce que de droit, veuillez madame, monsieur&amp;#8230;&lt;/p&gt;&lt;hr/&gt;&lt;p style=&quot;margin:.5em 0;padding:.5em;border:1px solid #333;background:#eee;color:#222&quot;&gt;&lt;small&gt;Ce billet intitulé &lt;a href=&quot;http://prendreuncafe.com/blog/post/2010/05/05/Juste-pour-rappel&quot;&gt;Juste pour rappel&lt;/a&gt; a été rédigé par &lt;a href=&quot;http://prendreuncafe.com/cv&quot;&gt;Nicolas Perriault&lt;/a&gt; et publié sur le blog &lt;a href=&quot;http://prendreuncafe.com/blog/&quot;&gt;Prendre un Café&lt;/a&gt; sous licence &lt;a href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.5/&quot;&gt;Creative Commons BY-NC-SA&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Faire part de naissance</title>
    <link>http://prendreuncafe.com/blog/post/2010/04/20/Faire-part-de-naissance</link>
    <guid isPermaLink="false">urn:md5:c99f7a9d25815299d85aabf98db08e02</guid>
    <pubDate>Tue, 20 Apr 2010 21:12:00 +0200</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>Divers</category>
        <category>akei</category><category>conseil</category><category>dev</category><category>django</category><category>formation</category><category>php</category><category>python</category><category>symfony</category>    
    <description>    &lt;p&gt;Ceux qui me suivent &lt;a href=&quot;http://twitter.com/n1k0&quot;&gt;sur twitter&lt;/a&gt; en ont eu la primeur, mais j&amp;#8217;officialise sur ce blog&amp;#160;: &lt;a href=&quot;http://www.akei.com&quot;&gt;Akei&lt;/a&gt;, ma société, est née.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.akei.com/&quot;&gt;&lt;img src=&quot;http://prendreuncafe.com/blog/public/images/Thematiques/Akei_Logo250.png&quot; alt=&quot;Akei&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Akei, avr. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Akei met en avant une offre de services axée sur le &lt;a href=&quot;http://www.akei.com/fr/services/consulting&quot;&gt;conseil&lt;/a&gt;, la &lt;a href=&quot;http://www.akei.com/fr/services/training&quot;&gt;formation&lt;/a&gt; et le &lt;a href=&quot;http://www.akei.com/fr/services/development&quot;&gt;développement Web&lt;/a&gt;, autour de technologies variées comme &lt;a href=&quot;http://www.akei.com/fr/services/symfony&quot;&gt;PHP, Symfony&lt;/a&gt;, &lt;a href=&quot;http://www.akei.com/fr/services/django&quot;&gt;Python, Django&lt;/a&gt;&amp;#160;; mais plus que tout sur la &lt;a href=&quot;http://www.akei.com/fr/philosophy&quot;&gt;qualité&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Je ne m&amp;#8217;étalerai pas sur les longueurs et turpitudes administratives proprement &lt;a href=&quot;http://www.pole-emploi.fr/&quot;&gt;kafkaïennes&lt;/a&gt; qu&amp;#8217;il m&amp;#8217;a fallu affronter pour accoucher du bébé (et qui durent encore, soit dit en passant), mais je veux juste profiter de l&amp;#8217;instant pour vous inciter à &lt;a href=&quot;http://www.akei.com&quot;&gt;regarder ce site&lt;/a&gt;, à en lire les contenus, et à &lt;a href=&quot;http://www.akei.com/fr/contact&quot;&gt;prendre contact&lt;/a&gt; si vous vous reconnaissez dans la vision présentée, pour éventuellement - pourquoi pas&amp;#160;? - travailler ensemble sur vos projets Web.&lt;/p&gt;&lt;hr/&gt;&lt;p style=&quot;margin:.5em 0;padding:.5em;border:1px solid #333;background:#eee;color:#222&quot;&gt;&lt;small&gt;Ce billet intitulé &lt;a href=&quot;http://prendreuncafe.com/blog/post/2010/04/20/Faire-part-de-naissance&quot;&gt;Faire part de naissance&lt;/a&gt; a été rédigé par &lt;a href=&quot;http://prendreuncafe.com/cv&quot;&gt;Nicolas Perriault&lt;/a&gt; et publié sur le blog &lt;a href=&quot;http://prendreuncafe.com/blog/&quot;&gt;Prendre un Café&lt;/a&gt; sous licence &lt;a href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.5/&quot;&gt;Creative Commons BY-NC-SA&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Yahoo! Bookmarks, propulsé par Symfony</title>
    <link>http://prendreuncafe.com/blog/post/2006/10/28/Yahoo-Bookmarks-propulse-par-Symfony</link>
    <guid isPermaLink="false">urn:md5:936f9ced3f3d26454efa1b52ddcd4b9e</guid>
    <pubDate>Sat, 28 Oct 2006 11:38:00 +0200</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>Dev</category>
        <category>dev</category><category>framework</category><category>php</category><category>symfony</category><category>yahoo</category>    
    <description>    &lt;p&gt;Certains &lt;a href=&quot;http://www.symfony-project.com/forum/index.php?t=rview&amp;amp;goto=10961&quot; hreflang=&quot;en&quot;&gt;restaient dubitatifs&lt;/a&gt; quant à la capacité de montée en très forte charge du framework &lt;a href=&quot;http://www.symfony-project.com&quot; hreflang=&quot;en&quot;&gt;Symfony&lt;/a&gt;, l'un des tous meilleurs existants en PHP &lt;sup&gt;[&lt;a href=&quot;http://prendreuncafe.com/blog/post/2006/10/28/Yahoo-Bookmarks-propulse-par-Symfony#pnote-825-1&quot; id=&quot;rev-pnote-825-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;.&lt;/p&gt;


&lt;p&gt;Qu'on se &lt;a href=&quot;http://www.symfony-project.com/weblog/2006/10/28/yahoo-bookmarks-uses-symfony.html&quot; hreflang=&quot;en&quot;&gt;rassure&lt;/a&gt;, si &lt;a href=&quot;http://www.yahoo.com&quot; hreflang=&quot;en&quot;&gt;Yahoo!&lt;/a&gt; a décidé d'utiliser Symfony pour propulser son récent et moderne &lt;a href=&quot;http://new.bookmarks.yahoo.com/&quot; hreflang=&quot;en&quot;&gt;Yahoo! Bookmarks&lt;/a&gt; (20 millions d'utilisateurs en 12 langues), ce n'est certainement pas &lt;a href=&quot;http://www.symfony-project.com/content/quotation.html&quot; hreflang=&quot;en&quot;&gt;sans raisons&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Félicitations aux équipes &lt;a href=&quot;http://www.symfony-project.com&quot; hreflang=&quot;en&quot;&gt;Symfony&lt;/a&gt; qui sont en train de faire de ce framework la référence du monde PHP - voire peut-être au-delà.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Edit :&lt;/strong&gt; N'hésitez pas à aider à propager la bonne nouvelle sur &lt;a href=&quot;http://digg.com/software/Yahoo_Bookmarks_uses_Symfony_PHP_Framework&quot; hreflang=&quot;en&quot;&gt;Digg&lt;/a&gt;, &lt;a href=&quot;http://reddit.com/info/o781/comments&quot; hreflang=&quot;en&quot;&gt;Reddit&lt;/a&gt; ou &lt;a href=&quot;http://www.scoopeo.com/web20/yahoo-bookmarks-utilise-symfony&quot; hreflang=&quot;fr&quot;&gt;Scoopeo&lt;/a&gt; &lt;img src=&quot;/blog/themes/battlestar/smilies/smile.gif&quot; alt=&quot;:-)&quot; class=&quot;smiley&quot; /&gt;&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/2006/10/28/Yahoo-Bookmarks-propulse-par-Symfony#rev-pnote-825-1&quot; id=&quot;pnote-825-1&quot;&gt;1&lt;/a&gt;] Je dois bien admettre que même si j'utilise au quotidien Syfony, je me posais cette question...&lt;/p&gt;&lt;/div&gt;&lt;hr/&gt;&lt;p style=&quot;margin:.5em 0;padding:.5em;border:1px solid #333;background:#eee;color:#222&quot;&gt;&lt;small&gt;Ce billet intitulé &lt;a href=&quot;http://prendreuncafe.com/blog/post/2006/10/28/Yahoo-Bookmarks-propulse-par-Symfony&quot;&gt;Yahoo! Bookmarks, propulsé par Symfony&lt;/a&gt; a été rédigé par &lt;a href=&quot;http://prendreuncafe.com/cv&quot;&gt;Nicolas Perriault&lt;/a&gt; et publié sur le blog &lt;a href=&quot;http://prendreuncafe.com/blog/&quot;&gt;Prendre un Café&lt;/a&gt; sous licence &lt;a href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.5/&quot;&gt;Creative Commons BY-NC-SA&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Un dépôt de code partagé avec Snipeet et Symfony</title>
    <link>http://prendreuncafe.com/blog/post/2006/10/09/Un-depot-de-code-partage-avec-Snipeet-et-Symfony</link>
    <guid isPermaLink="false">urn:md5:ee3e2f00f0f5786a17bd0d15ca9fedcb</guid>
    <pubDate>Mon, 09 Oct 2006 18:55:00 +0200</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>Dev</category>
        <category>dev</category><category>linux</category><category>php</category><category>serveur</category><category>symfony</category><category>tutoriel</category><category>ubuntu</category>    
    <description>    &lt;p&gt;Vous cherchez un moyen simple et participatif de partager des fragments ou exemples de code (en anglais, des &lt;em&gt;snippets&lt;/em&gt;) ? Rien de plus simple avec &lt;a href=&quot;http://trac.snipeet.com/trac&quot; hreflang=&quot;en&quot;&gt;Snipeet&lt;/a&gt;, un outil dédié basé sur le framework &lt;a href=&quot;http://www.symfony-project.com&quot; hreflang=&quot;en&quot;&gt;Symfony&lt;/a&gt; dont l'installation a déjà été &lt;a href=&quot;http://prendreuncafe.com/blog/post/2006/06/20/473-installer-le-framework-php-symfony-sur-ubuntu-dapper-drake&quot; hreflang=&quot;fr&quot;&gt;décrite sur le présent blog&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Pour installer Snipeet sur une machine propulsée par - au hasard total - &lt;a href=&quot;http://www.ubuntu.com&quot; hreflang=&quot;en&quot;&gt;Ubuntu LTS&lt;/a&gt;, rien de plus simple :&lt;/p&gt;


&lt;pre&gt;$ sudo -s 
# cd /var/www
# mkdir snipeet &amp;amp;&amp;amp; cd snipeet
# svn co http://svn.snippet.symfony-project.com/trunk/ .
# chown -R www-data cache log&lt;/pre&gt;

&lt;p&gt;On crée une base et un utilisateur MySQL dédié à l'application :&lt;/p&gt;


&lt;pre&gt;$ mysql -uroot -p
mysql&amp;gt; CREATE DATABASE snipeet;
mysql&amp;gt; GRANT ALL ON snipeet.* TO snipeet@localhost IDENTIFIED BY 'votre_mot_de_passe';
mysql&amp;gt; FLUSH PRIVILEGES;
mysql&amp;gt; \q&lt;/pre&gt;


&lt;p&gt;On défini les paramètres d'accès SQL dans les fichiers &lt;code&gt;./config/propel.ini&lt;/code&gt; et &lt;code&gt;./config/database.yml&lt;/code&gt; en définissant le DSN ad-hoc, par exemple &lt;code&gt;mysql://snipeet:votre_mot_de_passe@localhost/snipeet&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;On lance les commandes de création et d'insertion SQL :&lt;/p&gt;


&lt;pre&gt;# symfony propel-build-sql
# symfony propel-insert-sql&lt;/pre&gt;


&lt;p&gt;Enfin, on crée un &lt;a href=&quot;http://en.wikipedia.org/wiki/Virtual_host&quot; hreflang=&quot;en&quot;&gt;vhost apache&lt;/a&gt; dédié, sur un sous-domaine &lt;code&gt;snipeet.domaine.tld&lt;/code&gt; par exemple dans un fichier &lt;code&gt;/etc/apache2/sites-available/snipeet.domaine.tld&lt;/code&gt; :&lt;/p&gt;


&lt;pre&gt;&amp;lt;Directory &amp;quot;/usr/share/php/data/symfony/web/sf&amp;quot;&amp;gt;
  AllowOverride All
  Allow from All 
&amp;lt;/Directory&amp;gt;

&amp;lt;VirtualHost *&amp;gt;
    ServerName snipeet.domaine.tld
    DocumentRoot &amp;quot;/var/www/snipeet/web&amp;quot;
    DirectoryIndex index.php
    Alias /sf /usr/share/php/data/symfony/web/sf

    &amp;lt;Directory &amp;quot;/var/www/snipeet/web&amp;quot;&amp;gt;
        AllowOverride All
        Allow from All
    &amp;lt;/Directory&amp;gt;
&amp;lt;/VirtualHost&amp;gt;&lt;/pre&gt;


&lt;p&gt;Sans oublier de l'activer :&lt;/p&gt;


&lt;pre&gt;# a2ensite snipeet.domaine.tld&lt;/pre&gt;


&lt;p&gt;Puis de relancer proprement apache2 :&lt;/p&gt;


&lt;pre&gt;# apache2ctl graceful&lt;/pre&gt;


&lt;p&gt;Et on fait pointer son navigateur à l'adresse paramétrée précedemment tout en savourant le résultat et surtout le fait qu'il nous a fallu moins de 5 minutes montre en main pour en arriver là &lt;img src=&quot;/blog/themes/battlestar/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; Tellement content que j'en oublie l'adresse de la démo : &lt;a href=&quot;http://snippets.prendreuncafe.com/&quot; hreflang=&quot;fr&quot; title=&quot;Dépôts et échange de code source&quot;&gt;snippets.prendreuncafe.com&lt;/a&gt; &lt;img src=&quot;/blog/themes/battlestar/smilies/smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;&lt;hr/&gt;&lt;p style=&quot;margin:.5em 0;padding:.5em;border:1px solid #333;background:#eee;color:#222&quot;&gt;&lt;small&gt;Ce billet intitulé &lt;a href=&quot;http://prendreuncafe.com/blog/post/2006/10/09/Un-depot-de-code-partage-avec-Snipeet-et-Symfony&quot;&gt;Un dépôt de code partagé avec Snipeet et Symfony&lt;/a&gt; a été rédigé par &lt;a href=&quot;http://prendreuncafe.com/cv&quot;&gt;Nicolas Perriault&lt;/a&gt; et publié sur le blog &lt;a href=&quot;http://prendreuncafe.com/blog/&quot;&gt;Prendre un Café&lt;/a&gt; sous licence &lt;a href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.5/&quot;&gt;Creative Commons BY-NC-SA&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Dotclear2 et les gravatars</title>
    <link>http://prendreuncafe.com/blog/post/2006/09/21/Dotclear2-et-les-gravatars</link>
    <guid isPermaLink="false">urn:md5:e373eb4bcb3ea78d58dc411c1705e4a2</guid>
    <pubDate>Thu, 21 Sep 2006 15:07:00 +0200</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>dev</category><category>dotclear</category><category>gravatar</category><category>mail</category><category>php</category><category>tips</category>    
    <description>    &lt;p&gt;Voici une astuce pour gérer les &lt;a href=&quot;http://www.gravatar.com&quot; hreflang=&quot;en&quot; title=&quot;Gravatars&quot;&gt;gravatars&lt;/a&gt; dans les commentaires de votre blog &lt;a href=&quot;http://www.dotclear.net&quot; hreflang=&quot;fr&quot; title=&quot;Dotclear2&quot;&gt;Dotclear2&lt;/a&gt;. Dans le répertoire de votre thème courant, créez un fichier &lt;code&gt;_public.php&lt;/code&gt; et ajoutez-y ces quelques lignes de code &lt;sup&gt;[&lt;a href=&quot;http://prendreuncafe.com/blog/post/2006/09/21/Dotclear2-et-les-gravatars#pnote-796-1&quot; id=&quot;rev-pnote-796-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt; :&lt;/p&gt;

&lt;pre&gt;
&amp;lt;?php
$core-&amp;gt;tpl-&amp;gt;addValue('gravatar', array('gravatar', 'tplGravatar'));
class gravatar {
  public static function tplGravatar($attr)
  {
    return '&amp;lt;?php echo md5(strtolower($_ctx-&amp;gt;comments-&amp;gt;getEmail(false))); ?&amp;gt;';
  }
}
?&amp;gt;
&lt;/pre&gt;


&lt;p&gt;Maintenant, dans votre fichier de template pour les billets (généralement, il s'agit de &lt;code&gt;post.html&lt;/code&gt;), vous pouvez appeller votre image de gravatar de cette façon entre les balises &lt;code&gt;&amp;lt;tpl:Comments&amp;gt;&lt;/code&gt; et &lt;code&gt;&amp;lt;/tpl:Comments&amp;gt;&lt;/code&gt; :&lt;/p&gt;

&lt;pre&gt;
&amp;lt;img src=&amp;quot;http://www.gravatar.com/avatar.php?gravatar_id={{tpl:gravatar}}&amp;quot;
     class=&amp;quot;gravatar_img&amp;quot; alt=&amp;quot;Gravatar Image&amp;quot; /&amp;gt;
&lt;/pre&gt;


&lt;p&gt;Voila, c'est codé en 5 minutes et vous aurez constaté que je ne génère pas directement l'url complète du gravatar et encore moins la syntaxe HTML de la balise image depuis la classe PHP, c'est tout simplement car :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;J'en ai la flemme,&lt;/li&gt;
&lt;li&gt;Je préfère gérer ça dans le template.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Hope it helps anyway &lt;img src=&quot;/blog/themes/battlestar/smilies/smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;h3&gt;Edit du 22 septembre 2006&lt;/h3&gt;


&lt;p&gt;Bon, voila finalement une version un poil plus customizable. Le code qui suit annule et remplace le précedent dans votre fichier &lt;code&gt;_public.php&lt;/code&gt; :&lt;/p&gt;

&lt;pre&gt;
&amp;lt;?php
$core-&amp;gt;tpl-&amp;gt;addValue('gravatar', array('gravatar', 'tplGravatar'));

class gravatar {

  const
    URLBASE = 'http://www.gravatar.com/avatar.php?gravatar_id=%s&amp;amp;amp;default=%s&amp;amp;amp;size=%d',
    HTMLTAG = '&amp;lt;img src=&amp;quot;%s&amp;quot; class=&amp;quot;%s&amp;quot; alt=&amp;quot;%s&amp;quot; /&amp;gt;',
    DEFAULT_SIZE = '40',
    DEFAULT_CLASS = 'gravatar_img',
    DEFAULT_ALT = 'Gravatar de %s';

  public static function tplGravatar($attr)
  {
    $md5mail = '\'.md5(strtolower($_ctx-&amp;gt;comments-&amp;gt;getEmail(false))).\'';
    $size    = array_key_exists('size',   $attr) ? $attr['size']   : self::DEFAULT_SIZE;
    $class   = array_key_exists('class',  $attr) ? $attr['class']  : self::DEFAULT_CLASS;
    $alttxt  = array_key_exists('alt',    $attr) ? $attr['alt']    : self::DEFAULT_ALT;
    $altimg  = array_key_exists('altimg', $attr) ? $attr['altimg'] : '';
    $gurl    = sprintf(self::URLBASE,
                       $md5mail, urlencode($altimg), $size);
    $gtag    = sprintf(self::HTMLTAG,
                       $gurl, $class, eregi(&amp;quot;%s&amp;quot;, $alttxt) ?
                                      sprintf($alttxt, '\'.$_ctx-&amp;gt;comments-&amp;gt;comment_author.\'') : $alttxt);
    return '&amp;lt;?php echo \'' . $gtag . '\'; ?&amp;gt;';
  }

}
?&amp;gt;
&lt;/pre&gt;


&lt;p&gt;Du côté de votre template &lt;code&gt;post.html&lt;/code&gt; et toujours entre vos deux balises &lt;code&gt;&amp;lt;tpl:Comments&amp;gt;&lt;/code&gt; et &lt;code&gt;&amp;lt;/tpl:Comments&amp;gt;&lt;/code&gt;, voila comment ça se passe :&lt;/p&gt;

&lt;pre&gt;
{{tpl:gravatar class=&amp;quot;gravatar_img&amp;quot; size=&amp;quot;80&amp;quot; altimg=&amp;quot;http://www.example.host/default_gravatar.png&amp;quot; alt=&amp;quot;Gravatar de %s&amp;quot;}}
&lt;/pre&gt;


&lt;p&gt;Je crois que les attributs sont assez parlants, mais en voici le détail au cas où :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;class&lt;/code&gt; : le nom de la classe CSS à appliquer à l'image&lt;/li&gt;
&lt;li&gt;&lt;code&gt;size&lt;/code&gt; : la taille en pixels&lt;/li&gt;
&lt;li&gt;&lt;code&gt;alt&lt;/code&gt; : Le contenu du texte alternatif à l'image (acepte la syntaxe de &lt;a href=&quot;http://fr.php.net/sprintf&quot; hreflang=&quot;fr&quot; title=&quot;La fonction sprintf() en PHP&quot;&gt;sprintf&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;altimg&lt;/code&gt; : L'url de l'image par defaut en l'absence de gravatar (sera url encodée automatiquement)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Enjoy.&lt;/p&gt;


&lt;h3&gt;Finalement, voila le plugin &lt;img src=&quot;/blog/themes/battlestar/smilies/smile.gif&quot; alt=&quot;:-)&quot; class=&quot;smiley&quot; /&gt;&lt;/h3&gt;


&lt;p&gt;Bon, je suis incorrigible mais l'occasion était trop belle pour commencer à mettre le nez dans le nouveau système de plugins de Dotclear2 ; voici donc le plugin Gravatars &lt;sup&gt;[&lt;a href=&quot;http://prendreuncafe.com/blog/post/2006/09/21/Dotclear2-et-les-gravatars#pnote-796-2&quot; id=&quot;rev-pnote-796-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt; :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://prendreuncafe.com/blog/share/plugin-gravatars-1.0.pkg.gz&quot; hreflang=&quot;fr&quot; title=&quot;Installeur du plugin Gravatars pour Dotclear2&quot;&gt;Gravatars pour Dotclear2 v1.0 - Installeur&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://prendreuncafe.com/blog/share/plugin-gravatars-1.0.tar.gz&quot; hreflang=&quot;fr&quot; title=&quot;Archive TAR Gzippée du plugin Gravatars pour Dotclear2&quot;&gt;Gravatars pour Dotclear2 v1.0 - Archive tar.gz&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://prendreuncafe.com/blog/share/plugin-gravatars-1.0.zip&quot; hreflang=&quot;fr&quot; title=&quot;Archive ZIP du plugin Gravatars pour Dotclear2&quot;&gt;Gravatars pour Dotclear2 v1.0 - Archive Zip&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bien évidemment, pour une toute première version, il doit exister quelques bugs et limitations :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pas de traduction française&lt;/li&gt;
&lt;li&gt;Pas d'aide contextuelle&lt;/li&gt;
&lt;li&gt;Pas de configuration par blog (à venir)&lt;/li&gt;
&lt;li&gt;Utilisation d'un archaïque fichier INI (pas compris comment mettre les settings en base)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Au chapitre des fonctionnalités :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Possibilité de définir les paramètres des gravatars de façon globale...&lt;/li&gt;
&lt;li&gt;ou individuellement au niveau du template d'appel (voir plus haut)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Edit du 25 août 2007 :&lt;/strong&gt; Grâce à &lt;a href=&quot;http://blog.userland.fr/&quot; hreflang=&quot;fr&quot;&gt;Goulven&lt;/a&gt;, vous avez droit à la version patchée compatible Dotclear2b7 du plugin :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://prendreuncafe.com/blog/share/plugin-gravatars-1.0.1.pkg.gz&quot; hreflang=&quot;fr&quot; title=&quot;Installeur du plugin Gravatars pour Dotclear2b7&quot;&gt;Gravatars pour Dotclear2 v1.0.1 - Installeur&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://prendreuncafe.com/blog/share/plugin-gravatars-1.0.1.tar.gz&quot; hreflang=&quot;fr&quot; title=&quot;Archive TAR Gzippée du plugin Gravatars pour Dotclear2b7&quot;&gt;Gravatars pour Dotclear2 v1.0.1 - Archive tar.gz&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://prendreuncafe.com/blog/share/plugin-gravatars-1.0.1.zip&quot; hreflang=&quot;fr&quot; title=&quot;Archive ZIP du plugin Gravatars pour Dotclear2b7&quot;&gt;Gravatars pour Dotclear2 v1.0.1 - Archive Zip&lt;/a&gt;&lt;/li&gt;
&lt;/ul&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/2006/09/21/Dotclear2-et-les-gravatars#rev-pnote-796-1&quot; id=&quot;pnote-796-1&quot;&gt;1&lt;/a&gt;] Prochaine étape : gérer la coloration syntaxique du code dans Dotclear2.&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://prendreuncafe.com/blog/post/2006/09/21/Dotclear2-et-les-gravatars#rev-pnote-796-2&quot; id=&quot;pnote-796-2&quot;&gt;2&lt;/a&gt;] Packagé grâce au plugin &lt;a href=&quot;http://www.elaboration.be/post/Pack-it&quot; hreflang=&quot;fr&quot; title=&quot;Packager de plugin pour Dotclear2&quot;&gt;Pack it! d'Elaboration.be&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;hr/&gt;&lt;p style=&quot;margin:.5em 0;padding:.5em;border:1px solid #333;background:#eee;color:#222&quot;&gt;&lt;small&gt;Ce billet intitulé &lt;a href=&quot;http://prendreuncafe.com/blog/post/2006/09/21/Dotclear2-et-les-gravatars&quot;&gt;Dotclear2 et les gravatars&lt;/a&gt; a été rédigé par &lt;a href=&quot;http://prendreuncafe.com/cv&quot;&gt;Nicolas Perriault&lt;/a&gt; et publié sur le blog &lt;a href=&quot;http://prendreuncafe.com/blog/&quot;&gt;Prendre un Café&lt;/a&gt; sous licence &lt;a href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.5/&quot;&gt;Creative Commons BY-NC-SA&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Symfony en route vers la version 1.0</title>
    <link>http://prendreuncafe.com/blog/post/2006/08/25/487-symfony-en-route-vers-la-version-10</link>
    <guid isPermaLink="false">urn:md5:1a7cbb9e3cfc2f15d6cc6e5375e91078</guid>
    <pubDate>Fri, 25 Aug 2006 19:29:00 +0000</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>Dev</category>
        <category>dev</category><category>framework</category><category>php</category><category>symfony</category><category>web</category>    
    <description>    &lt;p&gt;Les développeurs et contributeurs du framework &lt;a href=&quot;http://www.symfony-project.com/&quot; hreflang=&quot;en&quot;&gt;Symfony&lt;/a&gt; n'ont pas pris beaucoup de vacances cet été, et &lt;a href=&quot;http://www.symfony-project.com/weblog/2006/08/25/heading-towards-symfony-1-0.html&quot; hreflang=&quot;en&quot;&gt;ça se voit&lt;/a&gt; !&lt;/p&gt;


&lt;p&gt;Les avancées sont remarquables et le framework tend de plus en plus vers le pendant PHP de &lt;a href=&quot;http://www.rubyonrails.org&quot; hreflang=&quot;en&quot;&gt;Ruby on Rails&lt;/a&gt; - à l'image de ce que fait &lt;a href=&quot;http://cakephp.org&quot; hreflang=&quot;en&quot;&gt;CakePHP&lt;/a&gt; de son côté, tant dans la puissance, que la simplicité d'utilisation ou de la richesse fonctionnelle.&lt;/p&gt;


&lt;p&gt;Un petit effort reste cependant à fournir sur l'&lt;a href=&quot;http://www.symfony-project.com/forum/index.php?t=rview&amp;amp;goto=10961&quot; hreflang=&quot;en&quot;&gt;optimisation des performances côté modèle&lt;/a&gt; mais la faute semble incomber à &lt;a href=&quot;http://propel.phpdb.org/&quot; hreflang=&quot;en&quot;&gt;Propel&lt;/a&gt;, la partie &lt;acronym title=&quot;Object Relational Mapping&quot;&gt;ORM&lt;/acronym&gt; tierce du projet et n'est donc pas le fait de l'équipe Symfony. À noter cependant, la possibilité de remplacer Propel par &lt;a href=&quot;http://www.phpdoctrine.com/&quot; hreflang=&quot;en&quot;&gt;Doctrine&lt;/a&gt; - une couche d'abstraction/persistance basée sur &lt;a href=&quot;http://fr3.php.net/pdo&quot; hreflang=&quot;fr&quot;&gt;PDO&lt;/a&gt; donc théoriquement beaucoup plus rapide - semble facilitée dans la dernière version du trunk. Voila qui semble prometteur... Je vous tiens au courant si la vie m'en laisse le temps !&lt;/p&gt;


&lt;p&gt;Dans tous les cas ce framework est une belle réussite et vous devriez avoir de ses nouvelles assez rapidement et concrètement sur ce blog même. Let's keep in touch !&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Edit :&lt;/strong&gt; &lt;a href=&quot;http://doctrine.pengus.net/trac/wiki/sfDoctrine&quot; hreflang=&quot;en&quot;&gt;How to use PHP Doctrine with Symfony&lt;/a&gt; &lt;img src=&quot;/blog/themes/battlestar/smilies/smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;&lt;hr/&gt;&lt;p style=&quot;margin:.5em 0;padding:.5em;border:1px solid #333;background:#eee;color:#222&quot;&gt;&lt;small&gt;Ce billet intitulé &lt;a href=&quot;http://prendreuncafe.com/blog/post/2006/08/25/487-symfony-en-route-vers-la-version-10&quot;&gt;Symfony en route vers la version 1.0&lt;/a&gt; a été rédigé par &lt;a href=&quot;http://prendreuncafe.com/cv&quot;&gt;Nicolas Perriault&lt;/a&gt; et publié sur le blog &lt;a href=&quot;http://prendreuncafe.com/blog/&quot;&gt;Prendre un Café&lt;/a&gt; sous licence &lt;a href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.5/&quot;&gt;Creative Commons BY-NC-SA&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Note perso #1</title>
    <link>http://prendreuncafe.com/blog/post/2006/06/23/476-note-perso-1</link>
    <guid isPermaLink="false">urn:md5:83b71ce2ce4e81eef8de55b20072d20e</guid>
    <pubDate>Fri, 23 Jun 2006 22:41:11 +0000</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>Dev</category>
        <category>dev</category><category>grumph</category><category>mysql</category>    
    <description>    &lt;p&gt;Nommer une table MySQL &lt;code&gt;user&lt;/code&gt;, c'est mal; et ça peut faire perdre une après midi &lt;img src=&quot;/blog/themes/battlestar/smilies/frown.gif&quot; alt=&quot;:(&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;&lt;hr/&gt;&lt;p style=&quot;margin:.5em 0;padding:.5em;border:1px solid #333;background:#eee;color:#222&quot;&gt;&lt;small&gt;Ce billet intitulé &lt;a href=&quot;http://prendreuncafe.com/blog/post/2006/06/23/476-note-perso-1&quot;&gt;Note perso #1&lt;/a&gt; a été rédigé par &lt;a href=&quot;http://prendreuncafe.com/cv&quot;&gt;Nicolas Perriault&lt;/a&gt; et publié sur le blog &lt;a href=&quot;http://prendreuncafe.com/blog/&quot;&gt;Prendre un Café&lt;/a&gt; sous licence &lt;a href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.5/&quot;&gt;Creative Commons BY-NC-SA&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Installer le framework PHP Symfony sur Ubuntu Dapper Drake</title>
    <link>http://prendreuncafe.com/blog/post/2006/06/20/473-installer-le-framework-php-symfony-sur-ubuntu-dapper-drake</link>
    <guid isPermaLink="false">urn:md5:959ca25f8333590ec29d177705e539c9</guid>
    <pubDate>Tue, 20 Jun 2006 16:21:53 +0000</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>Ubuntu</category>
        <category>dev</category><category>framework</category><category>php</category><category>symfony</category><category>tutoriel</category><category>ubuntu</category><category>web</category>    
    <description>    &lt;p&gt;A l'instar de &lt;acronym title=&quot;Ruby on Rails&quot;&gt;RoR&lt;/acronym&gt;, &lt;a href=&quot;http://symfony-project.com&quot; hreflang=&quot;en&quot;&gt;Symfony&lt;/a&gt; est basé sur le motif de conception &lt;acronym title=&quot;Modèle Vue Controlleur&quot;&gt;MVC&lt;/acronym&gt; et utilise une couche d'abstraction d'accès aux données et d'implémentation &lt;acronym title=&quot;Asynchronous JavaScript + XML&quot;&gt;AJAX&lt;/acronym&gt;. Il est développé en PHP5 par une équipe française, cocorico&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;Voyons ensemble comment installer la bête sur une &lt;a href=&quot;http://www.ubuntu.com/&quot; hreflang=&quot;en&quot;&gt;Ubuntu Dapper Drake&lt;/a&gt; toute fraîche.&lt;/p&gt;


&lt;h3&gt;Installation de Symfony&lt;/h3&gt;


&lt;p&gt;Le meilleur moyen d'installer Symfony mais surtout de le maintenir à jour est d'utiliser le canal &lt;a href=&quot;http://pear.php.net&quot; hreflang=&quot;en&quot;&gt;PEAR&lt;/a&gt; &lt;sup&gt;[&lt;a href=&quot;http://prendreuncafe.com/blog/post/2006/06/20/473-installer-le-framework-php-symfony-sur-ubuntu-dapper-drake#pnote-473-1&quot; id=&quot;rev-pnote-473-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt; propre au projet. Mais avant tout, vérifions que nous disposons d'un environnement de développement ad-hoc&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;$ sudo apt-get install php5 php5-cli php5-mysql php-pear&lt;/pre&gt;


&lt;p&gt;Le gestionnaire de paquets &lt;code&gt;apt&lt;/code&gt; se chargera d'installer les dépendances nécessaires, notamment &lt;code&gt;apache2&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;L'installation du canal Symfony nécessite que nous octroyions &lt;a href=&quot;http://www.symfony-project.com/trac/wiki/SymfonyFAQ?version=13&quot; hreflang=&quot;fr&quot;&gt;16Mo de mémoire vive&lt;/a&gt; à PHP. On édite donc le fichier &lt;code&gt;/etc/php5/cli/php.ini&lt;/code&gt; et on affecte la nouvelle valeur&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;memory_limit = 16M&lt;/pre&gt;


&lt;p&gt;Bien. Maintenant, installons Symfony et &lt;a href=&quot;http://phing.info&quot; hreflang=&quot;en&quot;&gt;Phing&lt;/a&gt; &lt;sup&gt;[&lt;a href=&quot;http://prendreuncafe.com/blog/post/2006/06/20/473-installer-le-framework-php-symfony-sur-ubuntu-dapper-drake#pnote-473-2&quot; id=&quot;rev-pnote-473-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt; via PEAR&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;$ sudo pear upgrade PEAR &amp;amp;&amp;amp; sudo pear channel-discover pear.symfony-project.com
$ sudo pear install symfony/symfony
$ sudo pear install --alldeps http://phing.info/pear/phing-current.tgz&lt;/pre&gt;


&lt;p&gt;OK, ceci fait, on crée un nouveau projet Symfony, que nous baptiserons sobrement &lt;em&gt;monprojet&lt;/em&gt;, disposant d'une application &lt;em&gt;monapplication&lt;/em&gt; et que nous stockerons sous le docroot &lt;code&gt;/var/www/monprojet&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;$ sudo -s
# mkdir /var/www/monprojet
# cd /var/www/monprojet
# symfony init-project monprojet
# symfony init-app monapplication&lt;/pre&gt;


&lt;p&gt;Voila, notre arborescence Symfony vient d'être créée, on peut commencer à développer&amp;nbsp;! Non&amp;nbsp;? Mince, on a oublié de configurer Apache2 &lt;img src=&quot;/blog/themes/battlestar/smilies/wink.gif&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;h3&gt;Configuration d'Apache 2&lt;/h3&gt;


&lt;p&gt;Tout d'abord, activez &lt;code&gt;mod_rewrite&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;$ sudo a2enmod rewrite&lt;/pre&gt;


&lt;p&gt;Ensuite, nous allons créer rapidement un vhost apache, qui pointera benoitement vers &lt;code&gt;dev.monprojet.com&lt;/code&gt; (redirigé vers notre hôte local.) Pour cela, éditez votre fichier &lt;code&gt;/etc/hosts&lt;/code&gt; et sur la ligne comprenant l'adresse IP &lt;code&gt;127.0.0.1&lt;/code&gt;, ajoutez &lt;code&gt;dev.monprojet.com&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;127.0.0.1    localhost localhost.localdomain mamachine dev.monprojet.com&lt;/pre&gt;


&lt;p&gt;On crée maintenant l'hôte virtuel Apache &lt;code&gt;/etc/apache2/sites-available/dev.monprojet.com&lt;/code&gt; dont voici le contenu&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;&amp;lt;Directory &quot;/usr/share/php/data/symfony/web/sf&quot;&amp;gt;
    AllowOverride All
    Allow from All
&amp;lt;/Directory&amp;gt;

&amp;lt;VirtualHost *&amp;gt;
    ServerName dev.monprojet.com
    DocumentRoot &quot;/var/www/monprojet/web&quot;
    DirectoryIndex index.php
    Alias /sf /usr/share/php/data/symfony/web/sf
    
    &amp;lt;Directory &quot;/var/www/monprojet/web&quot;&amp;gt;
        AllowOverride All
        Allow from All
    &amp;lt;/Directory&amp;gt;
&amp;lt;/VirtualHost&amp;gt;&lt;/pre&gt;


&lt;p&gt;On active l'hôte virtuel nouvellement créé&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;$ sudo a2ensite dev.monprojet.com&lt;/pre&gt;


&lt;p&gt;... et on relance apache&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;$ sudo apache2ctl restart&lt;/pre&gt;


&lt;p&gt;Une dernière petite chose, il faut desactiver les &lt;a href=&quot;http://fr.php.net/magic_quotes&quot; hreflang=&quot;fr&quot;&gt;magic_quotes&lt;/a&gt; de PHP, dans le fichier &lt;code&gt;/etc/php5/apache2/php.ini&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;magic_quotes_gpc = Off&lt;/pre&gt;


&lt;p&gt;Lancez votre navigateur sur &lt;a href=&quot;http://dev.monprojet.com&quot;&gt;http://dev.monprojet.com&lt;/a&gt;, vous devriez obtenir un message du genre&amp;nbsp;:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;If you see this page, it means that the creation of your symfony project on this system was successful.&lt;/p&gt;&lt;/blockquote&gt;


&lt;h3&gt;Plus d'informations&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.symfony-project.com/tutorial/my_first_project.html&quot; hreflang=&quot;en&quot;&gt;Premier tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.symfony-project.com/content/documentation.html&quot; hreflang=&quot;en&quot;&gt;Documentation du projet Symfony&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.symfony-project.com/content/support.html&quot; hreflang=&quot;en&quot;&gt;Support communautaire&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Edit du 25 juin 06: Nouvelle version 0.6.3&lt;/h3&gt;


&lt;p&gt;La &lt;a href=&quot;http://www.symfony-project.com/weblog/post/77.html&quot; hreflang=&quot;en&quot;&gt;version 0.6.3 est sortie&lt;/a&gt;. Pour mettre à jour&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;$ sudo pear upgrade symfony/symfony&lt;/pre&gt;


&lt;h3&gt;Edit du 26 juin 06&amp;nbsp;:&lt;/h3&gt;


&lt;p&gt;Mon camarade de jeu &lt;a href=&quot;http://www.lacot.org/&quot; hreflang=&quot;fr&quot;&gt;Xavier Lacot&lt;/a&gt; vient de publier sur son blog un &lt;a href=&quot;http://www.lacot.org/blog/2006/06/26/votre-blog-sous-symfony-pas-a-pas.html&quot; hreflang=&quot;fr&quot;&gt;excellent tutorial dédié à Symfony&lt;/a&gt;.&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/2006/06/20/473-installer-le-framework-php-symfony-sur-ubuntu-dapper-drake#rev-pnote-473-1&quot; id=&quot;pnote-473-1&quot;&gt;1&lt;/a&gt;] PEAR propose un système de distribution d'application tierce très pratique, les &lt;em&gt;canaux&lt;/em&gt;. Symfony dispose de son propre canal PEAR, mais n'utilise aucune librairie PEAR. Vous avez le droit d'être embrouillés.&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://prendreuncafe.com/blog/post/2006/06/20/473-installer-le-framework-php-symfony-sur-ubuntu-dapper-drake#rev-pnote-473-2&quot; id=&quot;pnote-473-2&quot;&gt;2&lt;/a&gt;] Phing est une dépendance de Symfony, qu'il faut installer indépendamment. Haha, elle est bonne, hein?&lt;/p&gt;&lt;/div&gt;
&lt;hr/&gt;&lt;p style=&quot;margin:.5em 0;padding:.5em;border:1px solid #333;background:#eee;color:#222&quot;&gt;&lt;small&gt;Ce billet intitulé &lt;a href=&quot;http://prendreuncafe.com/blog/post/2006/06/20/473-installer-le-framework-php-symfony-sur-ubuntu-dapper-drake&quot;&gt;Installer le framework PHP Symfony sur Ubuntu Dapper Drake&lt;/a&gt; a été rédigé par &lt;a href=&quot;http://prendreuncafe.com/cv&quot;&gt;Nicolas Perriault&lt;/a&gt; et publié sur le blog &lt;a href=&quot;http://prendreuncafe.com/blog/&quot;&gt;Prendre un Café&lt;/a&gt; sous licence &lt;a href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.5/&quot;&gt;Creative Commons BY-NC-SA&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
</channel>
</rss>

