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

<channel>
	<title>Anis Berejeb</title>
	<atom:link href="http://www.berejeb.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.berejeb.com</link>
	<description>Bienvenue sur mon blog</description>
	<lastBuildDate>Tue, 09 Mar 2010 08:00:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Slides de la conference Symfony Live 2010</title>
		<link>http://www.berejeb.com/2010/03/slides-de-la-conference-symfony-live-2010/</link>
		<comments>http://www.berejeb.com/2010/03/slides-de-la-conference-symfony-live-2010/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 08:00:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[DIVERS]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[Slides]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[Symfony Live 2010]]></category>

		<guid isPermaLink="false">http://www.berejeb.com/?p=1386</guid>
		<description><![CDATA[
Pour ceux qui n&#8217;ont pas eu la chance d&#8217;assister a la conférence Symfony Live 2010 (dont je fais partie), voici les slides de l&#8217;ensemble des conférences.
Jour 1

I18N with Symfony (pdf) par Thomas Rabaix
Working with the Admin Generator par John Cleveley
Symfony internals par Geoffrey Bachelet
Using Doctrine Migrations par Dennis Benkert
Doctrine 2 – Not the Same Old [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.berejeb.com/wp-content/uploads/2010/03/symfony-live-2010.png"><img class="alignnone size-full wp-image-1387" title="symfony live 2010" src="http://www.berejeb.com/wp-content/uploads/2010/03/symfony-live-2010.png" alt="" width="453" height="148" /></a></p>
<p>Pour ceux qui n&#8217;ont pas eu la chance d&#8217;assister a la conférence <a href="http://www.symfony-live.com/">Symfony Live 2010</a> (dont je fais partie), voici les slides de l&#8217;ensemble des conférences.</p>
<p><strong><span id="more-1386"></span>Jour 1</strong></p>
<ul>
<li><a href="http://rabaix.net/uploads/sflive10/presentation.pdf ">I18N with Symfony (pdf)</a> par Thomas Rabaix</li>
<li><a href="http://www.slideshare.net/jcleveley/working-with-the-admin-generator">Working with the Admin Generator</a> par John Cleveley</li>
<li><a href="http://www.slideshare.net/ubermuda/symfony-internals">Symfony internals</a> par Geoffrey Bachelet</li>
<li><a href="http://www.slideshare.net/denderello/symfony-live-2010-using-doctrine-migrations">Using Doctrine Migrations</a> par Dennis Benkert</li>
<li><a href="http://www.slideshare.net/jwage/doctrine-2-not-the-same-old-php-orm">Doctrine 2 – Not the Same Old PHP ORM</a> par Jonathan Wage</li>
<li><a href="http://www.slideshare.net/skoop/the-symfony-community-how-to-get-help">The Symfony Community – How to (get) Help</a> par Stefan Koopmanschap.</li>
<li>Live discussion with the core team videos (<a href="http://www.vimeo.com/9519979">partie1</a> et <a href="http://www.vimeo.com/9520118">partie2</a>) oar Ben Haines</li>
</ul>
<h2>Jour 2</h2>
<ul>
<li><a href="http://www.slideshare.net/lsmith77/okapi-meet-symfony-symfony-meet-okapi">Okapi meets symfony, Symfony meets Okapi.</a> par Lukas &amp; Jordi from Liip</li>
<li><a href="http://www.slideshare.net/xdecock/php-performance-sflive-2010">Optimizing PHP Performances</a> par Xavier de Cock</li>
<li><a href="http://www.slideshare.net/chacon/git-101-presentation">Git 101</a> par Scott Chacon</li>
<li><a href="http://www.slideshare.net/weierophinney/using-zend-framework-with-symfony">Using Zend Framework with Symfony</a> par Matthew Weier O’Phinney</li>
<li><a href="http://www.slideshare.net/denderello/symfony-live-2010-using-symfony-events-to-create-clean-class-interfaces">Using symfony events to create clean class interfaces</a> par Dennis Benkert</li>
<li><a href="http://www.slideshare.net/kriswallsmith/symfony-in-the-cloud">Symfony in the Cloud</a> par Kris Wallsmitsh</li>
<li><a href="http://www.slideshare.net/old_sound/debugging-and-profiling-symfony-apps">Debugging and Profiling symfony applications</a> par Alvaro Videla</li>
<li><a href="http://www.slideshare.net/dustin.whittle/building-a-platform-from-open-source-at-yahoo-3209565">Build a platform from Open Source at Yahoo!</a> par Dustin Whittle</li>
<li><a href="http://www.slideshare.net/fabpot/symfony-20-revealed">Symfony 2 revealed</a> par Fabien Potencier</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.berejeb.com/2010/03/slides-de-la-conference-symfony-live-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ProGit : un livre complet sur Git</title>
		<link>http://www.berejeb.com/2010/03/progit-un-livre-complet-sur-git/</link>
		<comments>http://www.berejeb.com/2010/03/progit-un-livre-complet-sur-git/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 01:33:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[WEB]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[git book]]></category>
		<category><![CDATA[git documentation]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[ProGit]]></category>

		<guid isPermaLink="false">http://www.berejeb.com/?p=1380</guid>
		<description><![CDATA[
Le site ProGit presente un excellent livre sur le systeme de gestion de versions décentralisé Git. Le livre est disponible gratuitement pour une lecture en ligne et couvre l&#8217;ensemble des sections necessaires pour travailler avec Git.
Le livre couvre :

les notions de base de Git
comment brancher
comment utiliser Git sur le serveur
comment distribuer un projet
les outils pour [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.berejeb.com/wp-content/uploads/2010/03/proGit.jpg"><img class="alignnone size-full wp-image-1381" title="proGit" src="http://www.berejeb.com/wp-content/uploads/2010/03/proGit.jpg" alt="" width="408" height="164" /></a></p>
<p>Le site<strong> ProGit</strong> presente un excellent livre sur le systeme de gestion de versions décentralisé <strong>Git</strong>. Le livre est disponible gratuitement pour une lecture en ligne et couvre l&#8217;ensemble des sections necessaires pour travailler avec Git.</p>
<p><span id="more-1380"></span>Le livre couvre :</p>
<ul>
<li>les notions de base de Git</li>
<li>comment brancher</li>
<li>comment utiliser Git sur le serveur</li>
<li>comment distribuer un projet</li>
<li>les outils pour analyser les revisions, debuguer, merger etc.</li>
<li>comment personnaliser Git</li>
<li>Git et les autres systemes de versions</li>
</ul>
<p>Le lien vers le livre ici : <a href="http://progit.org/book/" target="_blank">http://progit.org/book/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.berejeb.com/2010/03/progit-un-livre-complet-sur-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>webThumb : une API PHP pour generer des thumbnails de sites web</title>
		<link>http://www.berejeb.com/2010/03/webthumb-une-api-php-pour-generer-des-thumbnails-de-sites-web/</link>
		<comments>http://www.berejeb.com/2010/03/webthumb-une-api-php-pour-generer-des-thumbnails-de-sites-web/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 10:00:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WEB]]></category>
		<category><![CDATA[generer thumbnail site web]]></category>
		<category><![CDATA[thumbnail]]></category>
		<category><![CDATA[webThumb]]></category>

		<guid isPermaLink="false">http://www.berejeb.com/?p=1362</guid>
		<description><![CDATA[
WebThumb est une API web-service pour générer des thumbnails et des aperçus en taille réelle de sites web. L&#8217;API présente plusieurs fonctionnalités :

Un affichage en temps réel
Support de Flash 10
Support de PDF
API REST
Clients pour PHP, RUBY et Python
Choix de cacher les thumbnails dans votre serveur web ou chez webThumbs
Support de résolutions de 75&#215;75 a 1280&#215;2048

Une [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-1363" href="http://www.berejeb.com/2010/03/webthumb-une-api-php-pour-generer-des-thumbnails-de-sites-web/webthumb/"><img class="alignnone size-full wp-image-1363" title="webthumb" src="http://www.berejeb.com/wp-content/uploads/2010/02/webthumb.png" alt="webthumb" width="459" height="94" /></a></p>
<p><a href="http://webthumb.bluga.net" target="_blank">WebThumb</a> est une API web-service pour générer des thumbnails et des aperçus en taille réelle de sites web. L&#8217;API présente plusieurs fonctionnalités :</p>
<ul style="margin-top: 0pt;">
<li>Un affichage en temps réel</li>
<li>Support de Flash 10</li>
<li>Support de PDF</li>
<li>API REST</li>
<li>Clients pour <a href="http://webthumb.bluga.net/wrapper-php-">PHP</a>, RUBY et Python<a href="http://webthumb.bluga.net/wrapper-python"></a></li>
<li>Choix de cacher les thumbnails dans votre serveur web ou chez webThumbs</li>
<li>Support de résolutions de 75&#215;75 a 1280&#215;2048</li>
</ul>
<p>Une fois enregistrés, vous recevez 100 crédits par mois. Vous pouvez par la suite acheter des crédits.</p>
<p>Plus d&#8217;informations sur le service, l&#8217;API PHP sur le site <a href="http://webthumb.bluga.net/" target="_blank">WebThumb</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.berejeb.com/2010/03/webthumb-une-api-php-pour-generer-des-thumbnails-de-sites-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release de PHP 5.3.2</title>
		<link>http://www.berejeb.com/2010/03/php-5-3-2/</link>
		<comments>http://www.berejeb.com/2010/03/php-5-3-2/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 16:52:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[PHP 5.3.2 Release]]></category>

		<guid isPermaLink="false">http://www.berejeb.com/?p=1370</guid>
		<description><![CDATA[
Pour ceux qui attendent une nouvelle version de PHP 5.3.x, La version 5.3.2 de PHP  vient de sortir.  La version presente des améliorations de stabilite de la version PHP 5.3.1.  Les utilisateurs de PHP 5.3 sont fortement encouragés a migrer vers cette version.
Pour les utilisateurs desirant migrer depuis PHP 5.2, un guide de migration est [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-203" href="http://www.berejeb.com/2009/07/sortie-php-5-3-0-fonctionnalites/php/"><img class="alignnone size-full wp-image-203" title="php" src="http://www.berejeb.com/wp-content/uploads/2009/07/php.gif" alt="php" width="120" height="67" /></a></p>
<p>Pour ceux qui attendent une nouvelle version de PHP 5.3.x, La version 5.3.2 de PHP  vient de sortir.  La version presente des améliorations de stabilite de la version PHP 5.3.1.  Les utilisateurs de PHP 5.3 sont fortement encouragés a migrer vers cette version.</p>
<p>Pour les utilisateurs desirant migrer depuis PHP 5.2, un guide de migration est disponible  <a style="color: #000099; background-color: transparent;" href="http://php.net/migration53">ici</a>.</p>
<p>Pour la liste de changements se referer au <a style="color: #000099; background-color: transparent;" href="/ChangeLog-5.php#5.3.2">ChangeLog</a>. Les telechargements sont disponibles sur  <a style="color: #000099; background-color: transparent;" href="/downloads.php">la page de telechargements</a>, la version Windows se trouve sur <a style="color: #000099; background-color: transparent;" href="http://windows.php.net/download/">windows.php.net/download/</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.berejeb.com/2010/03/php-5-3-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utiliser l&#8217;extension PECL Memcached pour stocker vos donnees de session</title>
		<link>http://www.berejeb.com/2010/03/utiliser-lextension-pecl-memcached-pour-stocker-vos-donnees-de-session/</link>
		<comments>http://www.berejeb.com/2010/03/utiliser-lextension-pecl-memcached-pour-stocker-vos-donnees-de-session/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 10:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[DIVERS]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[libmemcached]]></category>
		<category><![CDATA[Memcached]]></category>
		<category><![CDATA[memcached extension]]></category>

		<guid isPermaLink="false">http://www.berejeb.com/?p=1353</guid>
		<description><![CDATA[
La gestion des sessions dans une application web est une tache critique, spécialement quand vous voulez réduire vos entrées/sorties et aussi de décharger la base de données si vous écrivez un gestionnaire de sessions personnalisé (session handler). Aussi, si votre application utilise plusieurs serveurs web, la tache de partager et des gérer les données de [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-1356" href="http://www.berejeb.com/2010/03/utiliser-lextension-pecl-memcached-pour-stocker-vos-donnees-de-session/memcached-2/"><img class="alignnone size-full wp-image-1356" title="memcached" src="http://www.berejeb.com/wp-content/uploads/2010/02/memcached1.png" alt="memcached" width="431" height="123" /></a></p>
<p>La gestion des sessions dans une application web est une tache critique, spécialement quand vous voulez réduire vos entrées/sorties et aussi de décharger la base de données si vous écrivez un gestionnaire de sessions personnalisé (session handler). Aussi, si votre application utilise plusieurs serveurs web, la tache de partager et des gérer les données de session devient un vrai casse tête. Ceci montre l&#8217;importance d&#8217;un gestionnaire  central de sessions pour que votre application tienne la charge.</p>
<p>Pour palier a ces problèmes, vous pouvez utiliser Memcached a l&#8217;aide de <a href="http://pecl.php.net/package/memcached">l&#8217;extension Memcached</a> développée par  <a href="http://zmievski.org/">Andrei Zmievski</a> et son equipe. Ceci vous permettra d&#8217;isoler le stockage des données de session par rapport aux serveurs web.</p>
<h3>1. Installer le serveur Memcached</h3>
<p>Sur une distribution debian/ubuntu :</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1353code5'); return false;">View Code</a> SHELL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p13535"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p1353code5"><pre class="shell" style="font-family:monospace;">apt-get install memcached</pre></td></tr></table></div>

<h3>2. Démarrer les instances memcached</h3>
<p>Nous allons démarrer deux instances sur la même machine. Cet article est une simple démonstration. Dans un environnement de production, vous pouvez déployer plusieurs instances sur plusieurs serveurs dans le même réseau.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1353code6'); return false;">View Code</a> SHELL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p13536"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p1353code6"><pre class="shell" style="font-family:monospace;">memcached -d -l 127.0.0.1 -p 11211 -u  -m 16
memcached -d -l 127.0.0.1 -p 11212 -u  -m 16</pre></td></tr></table></div>

<p>Les deux commandes précédentes vont démarrer deux instances de memcached  écoutant sur les ports 11211 et 11212, sur la même machine IP 127.0.0.1. Chacune d&#8217;elles va avoir une allocation de 16 Mo de mémoire.</p>
<h3>3. Installer l&#8217;extension PECL memcached</h3>
<p>Nous allons procéder a l&#8217;installation de l&#8217;extension memcached de PECL. Cette nouvelle extension dépend de la librairie libmemcached que vous pouvez télécharger de  <a href="https://launchpad.net/libmemcached" target="_blank">https://launchpad.net/libmemcached</a> et compiler sur votre machine. Assurez vous que les dépendances sont satisfaites.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1353code7'); return false;">View Code</a> SHELL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p13537"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p1353code7"><pre class="shell" style="font-family:monospace;">wget http://launchpad.net/libmemcached/1.0/0.34/+download/libmemcached-0.34.tar.gz
tar -zxvf libmemcached-0.34.tar.gz
cd libmemcached-0.34
./configure
make &amp;amp;&amp;amp; sudo make install</pre></td></tr></table></div>

<p>Ceci installe libmemcached, installons maintenant l&#8217;extension a l&#8217;aide de la commande pecl install :</p>
<pre>pecl install memcached</pre>
<p>Si tout va bien, le resultat sera comme suit :</p>
<pre>Build process completed successfully
Installing '/usr/lib/php5/20060613/memcached.so'
install ok: channel://pecl.php.net/memcached-1.0.0
configuration option "php_ini" is not set to php.ini location
You should add "extension=memcached.so" to php.ini</pre>
<p>Assurez vous que memcached.so existe dans votre répertoire extension_dir (ici /usr/lib/php5/20060613). Ajouter la ligne “extension=memcached.so” dans votre php.ini et redémarrez le serveur.<br />
Pour vous assurer que tout est bien installée, vérifiez que votre phpinfo() vous fournit bien une section memcached avec les paramètres version, libmemcached version,  session_support et lgbin support.<br />
Il nous faut maintenant faire des changements dans le fichier php.ini pour enregistrer Memcached comme étant le gestionnaire de session :</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1353code8'); return false;">View Code</a> SHELL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p13538"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p1353code8"><pre class="shell" style="font-family:monospace;">session.save_handler=memcached
session.save_path=&quot;127.0.0.1:11211, 127.0.0.1:11212&quot;</pre></td></tr></table></div>

<p>Redémarrez votre serveur, et le tour est joué! Vos donnes de session sont enregistrées et servis depuis les serveurs memcached, vous n&#8217;aurez plus de problèmes puisque vous pouvez étendre votre installation en ajoutant d&#8217;autres serveurs memcached.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.berejeb.com/2010/03/utiliser-lextension-pecl-memcached-pour-stocker-vos-donnees-de-session/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sortie de PHP 5.2.13</title>
		<link>http://www.berejeb.com/2010/03/sortie-de-php-5-2-13/</link>
		<comments>http://www.berejeb.com/2010/03/sortie-de-php-5-2-13/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 10:00:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[php 5.2]]></category>

		<guid isPermaLink="false">http://www.berejeb.com/?p=1349</guid>
		<description><![CDATA[
La version 5.2.13 de PHP est desormais disponible. La version presente des ameliorations de stabilite de la version PHP 5.2.x avec une 40 aine de bugs resolus. Les utilisateurs de PHP 5.2 sont fortement encouragees a migrer vers cette version.
Pour les utilisateurs voulant mettre a jour une version PHP 5.0 ou PHP 5.1, un guide [...]]]></description>
			<content:encoded><![CDATA[<h1><a rel="attachment wp-att-203" href="http://www.berejeb.com/2009/07/sortie-php-5-3-0-fonctionnalites/php/"><img class="alignnone size-full wp-image-203" title="php" src="http://www.berejeb.com/wp-content/uploads/2009/07/php.gif" alt="php" width="120" height="67" /></a></h1>
<p>La version 5.2.13 de PHP est desormais disponible. La version presente des ameliorations de stabilite de la version PHP 5.2.x avec une 40 aine de bugs resolus. Les utilisateurs de PHP 5.2 sont fortement encouragees a migrer vers cette version.</p>
<p>Pour les utilisateurs voulant mettre a jour une version PHP 5.0 ou PHP 5.1, un guide de mise a jour est disponible  <a href="http://www.php.net/UPDATE_5_2.txt">ici.</a></p>
<p>Pour la liste complète des changements de la version PHP 5.2.13, se référer au  <a href="http://www.php.net/ChangeLog-5.php#5.2.13">ChangeLog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.berejeb.com/2010/03/sortie-de-php-5-2-13/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>L&#8217;Analyse statique en PHP :  le concept et les solutions</title>
		<link>http://www.berejeb.com/2010/03/lanalyse-statique-en-php-le-concept-et-les-solutions/</link>
		<comments>http://www.berejeb.com/2010/03/lanalyse-statique-en-php-le-concept-et-les-solutions/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 10:09:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[analyse de code]]></category>
		<category><![CDATA[analyse statique]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[php_codesniffer]]></category>
		<category><![CDATA[php_depend]]></category>

		<guid isPermaLink="false">http://www.berejeb.com/?p=1336</guid>
		<description><![CDATA[
Dans cet article, Je vais exposer le concept de l&#8217;analyse statique de code et je vais présenter deux outils qui s&#8217;inscrivent dans ce cadre et dont l&#8217;utilisation est fortement recommandée pour vos équipes de développement et de qualité .
L&#8217;analyse Statique de code
La vie d&#8217;un script PHP se décompose en 2 espaces distincts : l&#8217;écriture et [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-1341" href="http://www.berejeb.com/2010/03/lanalyse-statique-en-php-le-concept-et-les-solutions/php_depend_graph2/"><img class="alignnone size-full wp-image-1341" title="php_depend_graph2" src="http://www.berejeb.com/wp-content/uploads/2010/02/php_depend_graph2.png" alt="php_depend_graph2" width="407" height="252" /></a></p>
<p>Dans cet article, Je vais exposer le concept de l&#8217;analyse statique de code et je vais présenter deux outils qui s&#8217;inscrivent dans ce cadre et dont l&#8217;utilisation est fortement recommandée pour vos équipes de développement et de qualité .</p>
<h1>L&#8217;analyse Statique de code</h1>
<p>La vie d&#8217;un script PHP se décompose en 2 espaces distincts : l&#8217;écriture et l&#8217;exécution. Entre les deux, il y a l&#8217;analyseur PHP, qui réalise la compilation et l&#8217;exécution du code initial, lors de la sollicitation des internautes. L&#8217;analyse statique a pour objectif d&#8217;étudier PHP avant la compilation, pour détecter très tôt des situations à problèmes. L&#8217;analyse s&#8217;appuie sur le code PHP avant exécution. Elle exploite des motifs de code pour reconnaître des situations : par exemple, une instruction echo ou print, appliquée à une concaténation des variables superglobales est un signe fort d&#8217;injection HTML. L&#8217;analyse statique permet d&#8217;obtenir des résultats avant exécution, et donc sans risque pour les données ou la plate-forme de production.</p>
<p>L&#8217;analyse statique doit être automatisée pour pouvoir être exécutée aussi souvent que possible, et notamment tout au long du développement. De cette manière, les erreurs sont traquées lorsque le code est peu volumineux, et les incréments faciles à corriger au fur et à mesure. L&#8217;automatisation donne aussi la maîtrise du processus de vérification aux développeurs et aux chefs de projets. Les premiers peuvent valider leur code eux-mêmes, sans passer trop de temps à implémenter les règles d&#8217;analyse ou à analyser le code PHP. C&#8217;est toujours une bonne idée que de ne pas être juge et partie dans ce type de surveillance. Pour les chefs de projets, le volume de code à analyser, dans l&#8217;absolu ou simplement après une période d&#8217;absence, a finalement peu d&#8217;impact sur les erreurs trouvées.</p>
<p>L&#8217;analyse statique doit être complétée par l&#8217;analyse dynamique, à l&#8217;aide de profileurs. En effet, le langage PHP est dynamique par essence : à l&#8217;exécution, il est possible de définir des classes, fonctions, variables et leur type, d&#8217;inclure ou exécuter du code PHP : tout cela modifie considérablement le fonctionnement du script si des valeurs mal intentionnées ou erronées sont introduites. L&#8217;analyse statique doit donc affronter l&#8217;ensemble des cas possibles, alors que l&#8217;exécution d&#8217;un script donne plutôt l&#8217;aperçu du comportement lorsque des valeurs concrètes sont affectées.</p>
<p>L&#8217;analyse statique de PHP en est à ses débuts. Il existe peu d&#8217;outils et la majorité des indicateurs sont issus des plates-formes concurrentes. Les spécificités de PHP, tels qu&#8217;une grande sensibilité aux inclusions de fichiers, sont rarement prises en compte pour des concepts issus des développements pour le bureau. Il reste donc beaucoup d&#8217;expérience à aller chercher sur le terrain. L&#8217;analyse statique pourra notamment aller chercher des jalons naturels dans le code, telles que les structures de classes, ou fonctions, afin d&#8217;identifier les dérives dans la programmation, ou la divergence avec la conception. Par exemple, des fonctions en trop, des fonctions qui ne suivent pas les conventions de nommage, ou encore des fonctions qui ne sont pas utilisées sont autant d&#8217;informations qui doivent être gérées dans une politique générale du projet, et qui sont rarement maîtrisées, faute d&#8217;outils pour faire un rapport accessible aux intervenants du projet qui ne font pas de la programmation.</p>
<h1>Les outils</h1>
<p>Il existe quelques outils pour mesurer divers indicateurs dans le code PHP. Je vais en presenter deux :</p>
<h2>PHP_CodeSniffer</h2>
<p>PHP_CodeSniffer est un script PHP5 qui analyse le code PHP, Javascript et CSS pour détecter des violations de standards de code. C&#8217;est un outil essentiel de développement qui assure que votre code reste propre et consistant. Il permet d&#8217;aider aussi de prévenir des erreurs sémantiques. PHP_CodeSniffer permet d&#8217;utiliser plusieurs standards comme ceux de PEAR ou de Zend, mais aussi, il vous permet d&#8217;écrire vos propres standards. PHP_CodeSniffer peut être aussi déployé ans votre processus d&#8217;intégration continue afin d&#8217;automatiser la procédure de tests de conformité aux standards.<br />
Comme il est absurde pour une équipe de développement de travailler sans un outil de gestion de dépôt/versions/collaboration, il est de même pour cet outil.<br />
Installation<br />
1. Si PEAR est installe sur votre plate-forme, passez a l&#8217;étape 2.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1336code18'); return false;">View Code</a> SHELL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p133618"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p1336code18"><pre class="shell" style="font-family:monospace;">$ curl http://pear.php.net/go-pear &amp;gt; go-pear.php
$ sudo php -q go-pear.php</pre></td></tr></table></div>

<p>2. Installez PHP_CodeSniffer ;</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1336code19'); return false;">View Code</a> SHELL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p133619"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p1336code19"><pre class="shell" style="font-family:monospace;">sudo pear install PHP_CodeSniffer</pre></td></tr></table></div>

<p>3. Testez votre installation<br />
Les standards se trouvent normalement dans /usr/local/PEAR/PHP/CodeSniffer/Standards/</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1336code20'); return false;">View Code</a> SHELL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p133620"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p1336code20"><pre class="shell" style="font-family:monospace;">$ cd /usr/local/PEAR/
$ phpcs –i
The installed coding standards are PEAR, PHPCS, Squiz and Zend</pre></td></tr></table></div>

<p>4. Testez votre code :</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1336code21'); return false;">View Code</a> SHELL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p133621"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code" id="p1336code21"><pre class="shell" style="font-family:monospace;">phpcs --standard=PEAR /chemin/de/votre/fichier.php 
&nbsp;
FILE: /chemin/de/votre/fichier.php
------------------------------------------------------
FOUND 2 ERROR(S) AND 0 WARNING(S) AFFECTING 2 LINE(S)
------------------------------------------------------
  44 | ERROR | The ? in tenary operator must have a space before and after
 180 | ERROR | A closing tag is not permitted at the end of a PHP file</pre></td></tr></table></div>

<h2>PHP_Depend</h2>
<p>Portage de JDepend, PHP_Depend est un programme qui effectue différentes métriques sur le code PHP avant sa compilation. Il utilise l&#8217;analyse statique de code pour définir les parties de code qui sont suspects a une revue de code, et par conséquent, il peut être très utile pour &#8220;automatiser&#8221; ces taches sur des projets de grande taille. Il permet aussi d&#8217;avoir des statistiques de code automatisées. PHP_Depend permet donc d&#8217;augmenter la productivité et la qualité de code des équipes de développement.</p>
<h3>Installation</h3>
<p>Tout comme PHP_CodeSniffer, PHP_Depend vient aussi comme package PEAR.<br />
1. Découvrir le canal de PHP_Depend</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1336code22'); return false;">View Code</a> SHELL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p133622"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p1336code22"><pre class="shell" style="font-family:monospace;">pear channel-discover pear.pdepend.org</pre></td></tr></table></div>

<p>2. Installer PHP_Depend</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1336code23'); return false;">View Code</a> SHELL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p133623"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p1336code23"><pre class="shell" style="font-family:monospace;">pear install pdepend/PHP_Depend-beta</pre></td></tr></table></div>

<p>3. Après l&#8217;installation, vous pouvez placer vos fichiers sources a tester dans votre répertoire PEAR Local, PHP_Depend fournit des exemples de code source.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1336code24'); return false;">View Code</a> SHELL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p133624"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p1336code24"><pre class="shell" style="font-family:monospace;">$ pear config-get php_dir
/usr/local/share/pear
$ ls /usr/local/share/pear/PHP
Depend Depend.php</pre></td></tr></table></div>

<p>4. Testez la version de PHP_Depend :</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1336code25'); return false;">View Code</a> SHELL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p133625"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p1336code25"><pre class="shell" style="font-family:monospace;">$ pdepend --version
PHP_Depend 0.9.4 by Manuel Pichler</pre></td></tr></table></div>

<p>5. Vous pouvez executer maintenant PHP_Depend sur les sources comme suit :</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1336code26'); return false;">View Code</a> SHELL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p133626"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p1336code26"><pre class="shell" style="font-family:monospace;">$ pdepend --summary-xml=/tmp/summary.xml \
--jdepend-chart=/tmp/jdepend.svg \
--overview-pyramid=/tmp/pyramid.svg \
/usr/local/share/pear/PHP/Depend</pre></td></tr></table></div>

<p>Le résultat est le suivant :</p>
<p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;metrics ahh=&#8221;0.19444444444444&#8243; andc=&#8221;0.46268656716418&#8243; calls=&#8221;1406&#8243; ccn=&#8221;1203&#8243; ccn2=&#8221;1237&#8243; cloc=&#8221;11657&#8243; clsa=&#8221;7&#8243; clsc=&#8221;60&#8243; eloc=&#8221;6528&#8243; fanout=&#8221;571&#8243; leafs=&#8221;59&#8243; loc=&#8221;20078&#8243; maxDIT=&#8221;2&#8243; ncloc=&#8221;8421&#8243; noc=&#8221;67&#8243; nof=&#8221;0&#8243; noi=&#8221;21&#8243; nom=&#8221;578&#8243; nop=&#8221;11&#8243; roots=&#8221;5&#8243;&gt;<br />
&lt;files&gt;<br />
&lt;file name=&#8221;/usr/local/pear/PEAR/PHP/Depend/Parser.php&#8221; cloc=&#8221;324&#8243; eloc=&#8221;534&#8243; loc=&#8221;997&#8243; ncloc=&#8221;673&#8243;/&gt;<br />
&lt;file name=&#8221;/usr/local/pear/PEAR/PHP/Depend/StorageRegistry.php&#8221; cloc=&#8221;81&#8243; eloc=&#8221;18&#8243; loc=&#8221;103&#8243; ncloc=&#8221;22&#8243;/&gt;<br />
&#8230;<br />
&lt;/files&gt;<br />
&lt;package name=&#8221;PHP_Depend&#8221; cr=&#8221;1.3005761647303&#8243; noc=&#8221;3&#8243; nof=&#8221;0&#8243; noi=&#8221;4&#8243; nom=&#8221;51&#8243; rcr=&#8221;0.50515422957667&#8243;&gt;<br />
&lt;class name=&#8221;PHP_Depend_Parser&#8221; cis=&#8221;12&#8243; cloc=&#8221;250&#8243; cr=&#8221;0.15&#8243; csz=&#8221;113&#8243; dit=&#8221;0&#8243; eloc=&#8221;526&#8243; impl=&#8221;1&#8243; loc=&#8221;913&#8243; ncloc=&#8221;663&#8243; nom=&#8221;20&#8243; rcr=&#8221;0.1925&#8243; vars=&#8221;6&#8243; varsi=&#8221;6&#8243; varsnp=&#8221;0&#8243; wmc=&#8221;107&#8243; wmci=&#8221;107&#8243; wmcnp=&#8221;12&#8243;&gt;<br />
&lt;file name=&#8221;/usr/local/pear/PEAR/PHP/Depend/Parser.php&#8221;/&gt;<br />
&lt;method name=&#8221;__construct&#8221; ccn=&#8221;1&#8243; ccn2=&#8221;1&#8243; cloc=&#8221;0&#8243; eloc=&#8221;4&#8243; loc=&#8221;6&#8243; ncloc=&#8221;6&#8243; npath=&#8221;1&#8243;/&gt;<br />
&lt;method name=&#8221;_consumeComments&#8221; ccn=&#8221;3&#8243; ccn2=&#8221;3&#8243; cloc=&#8221;0&#8243; eloc=&#8221;10&#8243; loc=&#8221;12&#8243; ncloc=&#8221;12&#8243; npath=&#8221;3&#8243;/&gt;<br />
&#8230;<br />
&lt;/class&gt;<br />
&lt;class name=&#8221;PHP_Depend_StorageRegistry&#8221; cis=&#8221;3&#8243; cloc=&#8221;25&#8243; cr=&#8221;0.15&#8243; csz=&#8221;4&#8243; dit=&#8221;0&#8243; eloc=&#8221;15&#8243; impl=&#8221;0&#8243; loc=&#8221;43&#8243; ncloc=&#8221;18&#8243; nom=&#8221;2&#8243; rcr=&#8221;0.15&#8243; vars=&#8221;1&#8243; varsi=&#8221;1&#8243; varsnp=&#8221;0&#8243; wmc=&#8221;3&#8243; wmci=&#8221;3&#8243; wmcnp=&#8221;3&#8243;&gt;<br />
&lt;file name=&#8221;/usr/local/pear/PEAR/PHP/Depend/StorageRegistry.php&#8221;/&gt;<br />
&lt;method name=&#8221;get&#8221; ccn=&#8221;2&#8243; ccn2=&#8221;2&#8243; cloc=&#8221;0&#8243; eloc=&#8221;7&#8243; loc=&#8221;8&#8243; ncloc=&#8221;8&#8243; npath=&#8221;2&#8243;/&gt;<br />
&lt;method name=&#8221;set&#8221; ccn=&#8221;1&#8243; ccn2=&#8221;1&#8243; cloc=&#8221;0&#8243; eloc=&#8221;3&#8243; loc=&#8221;4&#8243; ncloc=&#8221;4&#8243; npath=&#8221;1&#8243;/&gt;<br />
&lt;/class&gt;<br />
&#8230;<br />
&lt;/package&gt;<br />
&#8230;<br />
&lt;/metrics&gt;</p>
<p>Les graphiques sont aussi générées, ils représentent les dépendances de code ainsi qu&#8217;un sommaire visuel du projet analysé.</p>
<p><a rel="attachment wp-att-1341" href="http://www.berejeb.com/2010/03/lanalyse-statique-en-php-le-concept-et-les-solutions/php_depend_graph2/"><img class="alignnone size-full wp-image-1341" title="php_depend_graph2" src="http://www.berejeb.com/wp-content/uploads/2010/02/php_depend_graph2.png" alt="php_depend_graph2" width="407" height="252" /></a></p>
<p>1. Graphe des dépendances</p>
<p><a rel="attachment wp-att-1340" href="http://www.berejeb.com/2010/03/lanalyse-statique-en-php-le-concept-et-les-solutions/php_depend_graph1/"><img class="alignnone size-full wp-image-1340" title="php_depend_graph1" src="http://www.berejeb.com/wp-content/uploads/2010/02/php_depend_graph1.png" alt="php_depend_graph1" width="416" height="255" /></a></p>
<p>2. Sommaire du projet</p>
<h2>Ressources</h2>
<ul>
<li>PHP_CodeSniffer : http://pear.php.net/package/PHP_CodeSniffer/redirected</li>
<li>PHP_Depend : http://pdepend.org</li>
<li>L&#8217;analyse statique de code : http://www.alterway.fr/publications/livre-blanc-industrialisation-php</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.berejeb.com/2010/03/lanalyse-statique-en-php-le-concept-et-les-solutions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fabien Potencier : PHP 5.3</title>
		<link>http://www.berejeb.com/2010/02/fabien-potencier-php-5-3/</link>
		<comments>http://www.berejeb.com/2010/02/fabien-potencier-php-5-3/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 22:50:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[PHP5.3]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://www.berejeb.com/?p=1331</guid>
		<description><![CDATA[
Dans cette vidéo, Fabien Potencier explique, dans une interview faite par PHPTV, les nouveautés  de la version PHP5.3 et les choix de cette version pour la sortie de la version 2.0 du framework Symfony.

Fabien Potencier : PHP 5.3
par phptv
]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-1334" title="fabienpotencier-php5.3" src="http://www.berejeb.com/wp-content/uploads/2010/02/fabienpotencier-php5.3.png" alt="fabienpotencier-php5.3" width="421" height="222" /></p>
<p>Dans cette vidéo, Fabien Potencier explique, dans une interview faite par PHPTV, les nouveautés  de la version PHP5.3 et les choix de cette version pour la sortie de la version 2.0 du framework Symfony.<span id="more-1331"></span></p>
<div><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="420" height="339" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.dailymotion.com/swf/xcegta" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="420" height="339" src="http://www.dailymotion.com/swf/xcegta" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
<strong><a href="http://www.dailymotion.com/swf/xcegta">Fabien Potencier : PHP 5.3</a></strong><br />
<em>par <a href="http://www.dailymotion.com/phptv">phptv</a></em></div>
]]></content:encoded>
			<wfw:commentRss>http://www.berejeb.com/2010/02/fabien-potencier-php-5-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PrestaShop : une solution e-commerce Open-source</title>
		<link>http://www.berejeb.com/2010/02/prestashop-une-solution-e-commerce-open-source/</link>
		<comments>http://www.berejeb.com/2010/02/prestashop-une-solution-e-commerce-open-source/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 22:44:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WEB]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[PrestaShop]]></category>

		<guid isPermaLink="false">http://www.berejeb.com/?p=1325</guid>
		<description><![CDATA[
PrestaShop est une solution de e-commerce open source qui commence a être utilisée et connue. Doté d&#8217;un système de plugins, la solution est extensible et modulaire. Aussi, le système de templates vous permet de personnaliser l&#8217;interface de votre front office. Le backoffice permet de gérer les produits, les types de paiements, les clients, les commandes, [...]]]></description>
			<content:encoded><![CDATA[<h1><a rel="attachment wp-att-1326" href="http://www.berejeb.com/2010/02/prestashop-une-solution-e-commerce-open-source/prestastore/"><img class="alignnone size-full wp-image-1326" title="prestastore" src="http://www.berejeb.com/wp-content/uploads/2010/02/prestastore.jpg" alt="prestastore" width="224" height="73" /></a></h1>
<p>PrestaShop est une solution de e-commerce open source qui commence a être utilisée et connue. Doté d&#8217;un système de plugins, la solution est extensible et modulaire. Aussi, le système de templates vous permet de personnaliser l&#8217;interface de votre front office. Le backoffice permet de gérer les produits, les types de paiements, les clients, les commandes, les livraisons etc.</p>
<p>De plus, vous pouvez accéder a une multitude de modules sur le site dédié aux extensions : <a href="http://www.prestastore.com" target="_blank">http://www.prestastore.com</a>, si vous voulez bénéficier du service de personnalisation et d&#8217;hébergement a la demande, faites un tour sur <a href="http://www.prestabox.com/" target="_blank">http://www.prestabox.com</a>.</p>
<p>La version 1.3.0 alpha2 de PrestaShop est désormais disponible en téléchargement sur <a href="http://www.prestashop.com" target="_blank">http://www.prestashop.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.berejeb.com/2010/02/prestashop-une-solution-e-commerce-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Du Google Buzz sur vos pages web avec jQuery Google Buzz Widget</title>
		<link>http://www.berejeb.com/2010/02/du-google-buzz-sur-vos-pages-web-avec-jquery-google-buzz-widget/</link>
		<comments>http://www.berejeb.com/2010/02/du-google-buzz-sur-vos-pages-web-avec-jquery-google-buzz-widget/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 01:13:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JAVASCRIPT]]></category>
		<category><![CDATA[google buzz]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.berejeb.com/?p=1311</guid>
		<description><![CDATA[
Google Buzz Widget est un plugin jQuery qui vous permet d&#8217;utiliser google buzz dans votre page web. Puisque google Buzz n&#8217;offre pas de format JSON pour ses feeds, le plugin utilise plutôt l&#8217;API  Google AJAX Feed API pour convertir en JSON. Après avoir recueilli le contenu, il a ajoute le contenu dans une liste pour [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.moretechtips.net/2010/02/google-buzz-widget-jquery-plugin.html" target="_blank"><img class="alignnone size-full wp-image-1312" title="jquery_google_buzz" src="http://www.berejeb.com/wp-content/uploads/2010/02/jquery_google_buzz.jpg" alt="jquery_google_buzz" width="378" height="189" /></a></p>
<p><a href="http://www.moretechtips.net/2010/02/google-buzz-widget-jquery-plugin.html" target="_blank">Google Buzz Widget</a> est un plugin jQuery qui vous permet d&#8217;utiliser google buzz dans votre page web. Puisque google Buzz n&#8217;offre pas de format JSON pour ses feeds, le plugin utilise plutôt l&#8217;API  <a href="http://code.google.com/apis/ajaxfeeds/" target="_blank">Google AJAX Feed API</a> pour convertir en JSON. Après avoir recueilli le contenu, il a ajoute le contenu dans une liste pour l&#8217;afficher dans votre page web.</p>
<p>Le widget jQuery Google Buzz est un plugin compatible avec plusieurs navigateurs. L&#8217;affichage est évidemment personnalisable via les options de configuration.</p>
<p>Plus d&#8217;informations sur le site web de <a href="http://www.moretechtips.net/2010/02/google-buzz-widget-jquery-plugin.html" target="_blank">Google Buzz Widget</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.berejeb.com/2010/02/du-google-buzz-sur-vos-pages-web-avec-jquery-google-buzz-widget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
