<?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>Sébastien Barbieri's blog &#187; je bosse là</title>
	<atom:link href="http://blog.sbw.be/category/je-bosse-la/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sbw.be</link>
	<description>My life, my work, my projects</description>
	<lastBuildDate>Sat, 24 Dec 2011 00:12:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>baladodiffusion</title>
		<link>http://blog.sbw.be/2011/04/20/baladodiffusion/</link>
		<comments>http://blog.sbw.be/2011/04/20/baladodiffusion/#comments</comments>
		<pubDate>Wed, 20 Apr 2011 12:08:26 +0000</pubDate>
		<dc:creator>Sébastien Barbieri</dc:creator>
				<category><![CDATA[8th chakra]]></category>
		<category><![CDATA[je bosse là]]></category>
		<category><![CDATA[Mon blog]]></category>
		<category><![CDATA[baladodiffusion]]></category>
		<category><![CDATA[podcast]]></category>

		<guid isPermaLink="false">http://blog.sbw.be/?p=479</guid>
		<description><![CDATA[Adieu podcasts, bienvenue Baladodiffusion! Quel est le principe? La radio propose sur un site des liens vers des fichiers audio permettant de réécouter une émission radio de manière diférrée. Avantages Pouvoir écouter quand on veut et où l&#8217;on veut une émission. Bon mais c&#8217;est la même chose que le podcast jusque là. Alors quel est [...]]]></description>
			<content:encoded><![CDATA[<p>Adieu podcasts, bienvenue Baladodiffusion!</p>
<p><strong>Quel est le principe?</strong></p>
<p>La radio propose sur un site des liens vers des fichiers audio permettant de réécouter une émission radio de manière diférrée.</p>
<p><strong>Avantages</strong></p>
<p>Pouvoir écouter quand on veut et où l&#8217;on veut une émission.</p>
<p><strong>Bon mais c&#8217;est la même chose que le podcast jusque là. Alors quel est la différence ?</strong></p>
<p>La différence est déjà dans le mot BALADO-DIFFUSION, la diffusion en balade.<br />
<a href="http://fr.wiktionary.org/wiki/balade">Balade</a>: Selon le wiktionnaire: </p>
<blockquote><p><strong>Etymologie:</strong> Du verbe balader, lui-même venant de ballade (« poème chanté ») en raison des saltimbanques qui se déplaçaient sans destination particulière et qui chantaient des ballades pour demander l’aumône.</p></blockquote>
<p>C&#8217;est ici toute l&#8217;idée: Balade, poème chanté, déplacement, mobilité. A notre époque il s&#8217;agit de pouvoir se promener avec de la musique. Totalement différent de Podcast, qui n&#8217;est qu&#8217;un mot commercial contraction de iPod(R) et de broadcast ==> diffusion sur iPod&#8230;</p>
<p><strong>WTF?</strong></p>
<p>Oui, je sais&#8230;</p>
<p>Faites comme moi, adieu podcast, bienvenue baladodiffusion et m&#8230;. à l&#8217;envahisseur (Pomme (R) )</p>
<p>TAG: #baladodiffusion #jeBosseSurMusiq3 #vivelamusiqueclassique</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sbw.be/2011/04/20/baladodiffusion/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Continuous Integration phpunit code coverage use a bit less than 2 Gigs !!!</title>
		<link>http://blog.sbw.be/2010/11/30/continuous-integration-phpunit-code-coverage-use-a-bit-less-than-2-gigs/</link>
		<comments>http://blog.sbw.be/2010/11/30/continuous-integration-phpunit-code-coverage-use-a-bit-less-than-2-gigs/#comments</comments>
		<pubDate>Tue, 30 Nov 2010 18:28:08 +0000</pubDate>
		<dc:creator>Sébastien Barbieri</dc:creator>
				<category><![CDATA[freelance]]></category>
		<category><![CDATA[je bosse là]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[truc de g33k]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[phpunit]]></category>
		<category><![CDATA[zend]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://blog.sbw.be/?p=450</guid>
		<description><![CDATA[2 gigs !!! gasp&#8230; I had several: Generating code coverage report, this may take a moment.PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 21503527 bytes) in /usr/share/php/PHPUnit/Util/Report/Node/File.php on line 406 And here is how it started: At work we are using phpunit to test our framework, we flew from SimpleTest [...]]]></description>
			<content:encoded><![CDATA[<p><strong>2 gigs !!!</strong> <em>gasp</em>&#8230; </p>
<p>I had several:</p>
<p><strong>Generating code coverage report, this may take a moment.PHP Fatal error:  Allowed memory size of 268435456 bytes exhausted (tried to allocate 21503527 bytes) in /usr/share/php/PHPUnit/Util/Report/Node/File.php on line 406<br />
</strong></p>
<p>And here is how it started:</p>
<p>At work we are using <a href="http://www.phpunit.de/">phpunit</a> to test our framework, we flew from <a href="http://www.simpletest.org/">SimpleTest</a> as there was no real integration with our tools and no real followup of the the product.</p>
<p>So to automate the test, as there is no &#8220;build&#8221; in php (interpreted vs compiled remember?) we ran it after each commit &#8230;</p>
<p>Until it tooks 30 minutes to run throught the whole set of tests&#8230;</p>
<p><span id="more-450"></span><br />
Then we decided to run it locally before comitting&#8230; until it tooks up to 2 hours to run tests (yes we have slow laptops I know, at least 4 times slower than the servers).</p>
<p>Actually we use phpunit for recipe test, including database change, third parties, providers&#8230; everything from A to Z&#8230; and that needs a lot of time and CPU power&#8230;</p>
<p>So we solved the problem by running test in a cronjob, hourly on the integration server.</p>
<p>This was done running phpunit in command line</p>
<p><code lang="bash"><br />
&gt; phpunit --include-path ../code/ MyTestSuite.php<br />
</code></p>
<p>Of course as we had several tests suites and we had to put them all in one bigger testsuite&#8230; but that was not easy so we moved to the Phpunit config file, added code coverage reporting and send a mail everytime sometimes goes wrong</p>
<p><strong>PhpunitConfig.xml</strong></p>
<p><code lang="xml"></p>
<pre class="brush: xml; title: ;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;phpunit
         colors=&quot;true&quot;
         &gt;
         &lt;testsuites&gt;
         	&lt;testsuite name=&quot;RTBF_Service&quot;&gt;
         		&lt;file&gt;RTBF/Service/Rating/Adapter/AbstractPhpunittest.php&lt;/file&gt;
         		&lt;file&gt;RTBF/Service/Rating/Adapter/MediaPhpunittest.php&lt;/file&gt;
         	&lt;--! ... --&gt;
         	&lt;/testsuite&gt;
         	&lt;testsuite name=&quot;RTBF&quot;&gt;
         		&lt;file&gt;RTBF/AclPhpunittest.php&lt;/file&gt;
         	&lt;/testsuite&gt;
         	&lt;testsuite name=&quot;RTBF_Utility&quot;&gt;
         		&lt;file&gt;RTBF/Utility/AjaxConnectorPhpunittest.php&lt;/file&gt;
	         	&lt;--! ... --&gt;
         	&lt;/testsuite&gt;
         	&lt;--! ... --&gt;
	&lt;/testsuites&gt;
	&lt;listeners&gt;
  		&lt;listener class=&quot;SimpleTestListener&quot; file=&quot;PhpunitTestListener.php&quot;&gt;
  		&lt;/listener&gt;
  	&lt;/listeners&gt;
  	&lt;!--
	&lt;logging&gt;
		&lt;log type=&quot;coverage-html&quot; target=&quot;/reporting/phpunit/library/&quot; charset=&quot;UTF-8&quot; /&gt;
	&lt;/logging&gt;
	--&gt;
	&lt;php&gt;
		&lt;ini name=&quot;memory_limit&quot; value=&quot;2047M&quot; /&gt;
	&lt;/php&gt;
	&lt;filter&gt;
	  &lt;blacklist&gt;
	    &lt;directory suffix=&quot;.php&quot;&gt;library/code/Zend&lt;/directory&gt;
	  &lt;/blacklist&gt;
	&lt;/filter&gt;
&lt;/phpunit&gt;
</pre>
<p></code></p>
<p><strong>PhpunitTestListener.php</strong></p>
<p><code lang="php"></p>
<pre class="brush: php; title: ;">
class SimpleTestListener implements PHPUnit_Framework_TestListener
{
	private $emailContent=array(self::Error=&gt;&quot;&quot;,self::Failure=&gt;&quot;&quot;,self::Incomplete=&gt;&quot;&quot;,self::Skipped=&gt;&quot;&quot;);
	private $assertions=0;
	private $itemCount=array(self::Error=&gt;0,self::Failure=&gt;0,self::Incomplete=&gt;0,self::Skipped=&gt;0);
	private $totalItems=0;

	const Error=&quot;Error&quot;;
	const Failure=&quot;Failure&quot;;
	const Incomplete=&quot;Incomplete&quot;;
	const Skipped=&quot;Skipped&quot;;

	private function addEmailContent($severity,$test,$e){
		$result = $test-&gt;getResult();
		$traces = $e-&gt;getTrace();
		$continue=true;
		$tracingMessage=&quot;&quot;;
		for($i=1;$i&lt;count($traces)&amp;&amp;$continue;$i++){
			if(isset($traces[$i]['file'])){
				$tracingMessage.=$traces[$i]['file'].&quot;:(&quot;.$traces[$i]['line'].&quot;)\n\t&quot;;
			}else{
				$continue=false;
			}
		}
		$this-&gt;itemCount[$severity]++;
		$this-&gt;emailContent[$severity].=$this-&gt;itemCount[$severity].&quot;)\t&quot;.get_class($test).'::'.$test-&gt;getName(TRUE).&quot;\n\t&quot;.str_replace(&quot;\n&quot;,&quot;\n\t&quot;,PHPUnit_Framework_TestFailure::exceptionToString($e)).&quot;&quot;.$tracingMessage.&quot;\n\n&quot;;
		$this-&gt;totalItems++;
	}

	public function addError(PHPUnit_Framework_Test $test,Exception $e,$time){
		$this-&gt;addEmailContent(self::Error,$test,$e);
	}

	public function addFailure(PHPUnit_Framework_Test $test,PHPUnit_Framework_AssertionFailedError $e,$time){
		$this-&gt;addEmailContent(self::Failure,$test,$e);
	}

	public function addIncompleteTest(PHPUnit_Framework_Test $test,Exception $e,$time){
		$this-&gt;addEmailContent(self::Incomplete,$test,$e);
	}

	public function addSkippedTest(PHPUnit_Framework_Test $test,Exception $e,$time){
		$this-&gt;addEmailContent(self::Skipped,$test,$e);
	}

	public function startTest(PHPUnit_Framework_Test $test){
	}

	public function endTest(PHPUnit_Framework_Test $test, $time){
	}

	public function startTestSuite(PHPUnit_Framework_TestSuite $suite){
	}

	public function endTestSuite(PHPUnit_Framework_TestSuite $suite){
	}

	public function __destruct(){
		if($this-&gt;totalItems&gt;0){
			// HIDDEN but concat everything from $this-&gt;emailContent nicely and send the mail
			//print(&quot;\n\nMail sent: &quot;.$text.&quot;\n&quot;);
		}
	}
}
</pre>
<p></code></p>
<p>That&#8217;s it for the big picture&#8230;</p>
<p>And as you can see there are several point in the XML that are quite important:</p>
<p><strong>memory limit 2047MB</strong>that&#8217;s huge&#8230; but this is the price to pay to have a fully working code-coverage HTML report. As we are using <a href="http://www.hardened-php.net/suhosin/">suhosin</a> we had to change the memory limit in suhosin too&#8230; and yes when the limit is 2048 MB don&#8217;t try to set the memory to 2048 MB it really means this is a limit you have to be under that limit (here 2047 MB).</p>
<p><strong>2 Gigs!!!</strong> I know this is huge but believe me I went through several tries and 128 MB was not enought, nor 256 MB, nor 512 MB, not even 1 GB &#8230; I didn&#8217;t try to see where is my limit &#8230; I put 2 gigs and then it worked&#8230; we have about 30% of lines covered so I think that if we shift to 100% we will have to give more memory&#8230; I&#8217;m pretty sure, there is something leaking somewhere&#8230; but according to phpunit.de site&#8230; I have the answer remains: <a href="https://github.com/sebastianbergmann/php-code-coverage/issues/closed/#issue/26">Give more memory</a></p>
<p><strong>/etc/php5/conf.d/suhosin.ini</strong><br />
<code></p>
<p>...<br />
suhosin.memory_limit = 2048M<br />
...</p>
<p></code></p>
<p><strong>logging</strong> is commented out because logging needs xdebug and while we stay with ZendServer CE we do not have xdebug&#8230; (see my previous post for more info). </p>
<p>But the server which is not running Zend Server CE does!</p>
<p>So I commented out the line in the config to let developers run the unit test and pasted it as command line argument on the server&#8217;s cronjob.</p>
<p><code lang="bash"></p>
<pre class="brush: bash; title: ;">
phpunit --include-path ../code/ --coverage-html /reporting/phpunit/library/ --configuration PhpunitConfig.xml
</pre>
<p></code></p>
<p><strong>the listener</strong> This is a simple easy listener. It&#8217;s always useful to have one sample so I pasted here above, feel free to copy, enhance&#8230; The only &#8216;hack&#8217; we use it to call the send email on listener destruction, so the email will be sent at the end. But there is a drawback&#8230; if there is a php error somewhere, nothing is sent. And as nothing is sent when everythign goes well&#8230; we dont know if everythings goes well or if there is a real bug&#8230;<br />
This problem will be addressed later. Stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sbw.be/2010/11/30/continuous-integration-phpunit-code-coverage-use-a-bit-less-than-2-gigs/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Daily scrum backlog, today, tomorrow &#8230;</title>
		<link>http://blog.sbw.be/2009/08/04/daily-scrum-backlog-today-tomorrow/</link>
		<comments>http://blog.sbw.be/2009/08/04/daily-scrum-backlog-today-tomorrow/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 15:17:07 +0000</pubDate>
		<dc:creator>Sébastien Barbieri</dc:creator>
				<category><![CDATA[je bosse là]]></category>
		<category><![CDATA[truc de g33k]]></category>

		<guid isPermaLink="false">http://blog.sbw.be/?p=296</guid>
		<description><![CDATA[Mes developpeurs sont plein d&#8217;humour &#8230; dans le daily scrum backlog du jour j&#8217;ai reçu ceci: TODAY added update load and delete methods secured checks updated database for thumbnails TOMORROW Thumbnails handling TOYOTA ah bah dis donc, elle bonne celle-là !]]></description>
			<content:encoded><![CDATA[<p>Mes developpeurs sont plein d&#8217;humour &#8230; dans le daily scrum backlog du jour j&#8217;ai reçu ceci:</p>
<p><strong>TODAY</strong></p>
<ul>
<li>added update load and delete methods</li>
<li>secured checks</li>
<li>updated database for thumbnails</li>
</ul>
<p><strong>TOMORROW</strong></p>
<ul>
<li>Thumbnails handling</li>
</ul>
<p><strong>TOYOTA</strong></p>
<ul>
<li>ah bah dis donc, elle bonne celle-là !</li>
</ul>
<p><img src="http://blog.sbw.be/wp-content/uploads/2009/08/today_tomorrow_toyota.png" alt="today_tomorrow_toyota" title="today_tomorrow_toyota" width="251" height="59" class="aligncenter size-full wp-image-297" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sbw.be/2009/08/04/daily-scrum-backlog-today-tomorrow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cim tagging: caractères ascii &#8220;classiques&#8221;: pas de marques diacritiques ou de caractères à encoder&#8230;</title>
		<link>http://blog.sbw.be/2009/07/24/cim-tagging-caracteres-ascii-classiques-pas-de-marques-diacritiques-ou-de-caracteres-a-encoder/</link>
		<comments>http://blog.sbw.be/2009/07/24/cim-tagging-caracteres-ascii-classiques-pas-de-marques-diacritiques-ou-de-caracteres-a-encoder/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 07:38:50 +0000</pubDate>
		<dc:creator>Sébastien Barbieri</dc:creator>
				<category><![CDATA[je bosse là]]></category>
		<category><![CDATA[Questions existentielles]]></category>

		<guid isPermaLink="false">http://blog.sbw.be/?p=294</guid>
		<description><![CDATA[diacritiques &#8230; merci google Dans le petit lexique du B2B francophone (on devrait pas dire B2B), pour les communications &#8220;latin grec&#8221; vs &#8220;math sciences&#8221; voici un nouveau mot: diacritique: du grec διακριτικός diacritikós, « qui distingue » (Thanks google &#038; wikipedia) en gros: lettres_diacritique = [a-zA-Z] // et pas çöéà&#8230;. on en apprend tous les [...]]]></description>
			<content:encoded><![CDATA[<p>diacritiques &#8230; merci google</p>
<p>Dans le petit lexique du B2B francophone (on devrait pas dire B2B), pour les communications &#8220;latin grec&#8221; vs &#8220;math sciences&#8221; voici un nouveau mot:</p>
<p>diacritique: du grec διακριτικός diacritikós, « qui distingue » (Thanks google &#038; <a href="http://fr.wikipedia.org/wiki/Diacritique" title="diacritique">wikipedia</a>)</p>
<p>en gros:<br />
lettres_diacritique = [a-zA-Z] // et pas çöéà&#8230;.</p>
<p>on en apprend tous les jours&#8230; </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sbw.be/2009/07/24/cim-tagging-caracteres-ascii-classiques-pas-de-marques-diacritiques-ou-de-caracteres-a-encoder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good bye drink replies</title>
		<link>http://blog.sbw.be/2008/09/18/good-bye-drink-replies/</link>
		<comments>http://blog.sbw.be/2008/09/18/good-bye-drink-replies/#comments</comments>
		<pubDate>Thu, 18 Sep 2008 14:05:16 +0000</pubDate>
		<dc:creator>Sébastien Barbieri</dc:creator>
				<category><![CDATA[je bosse là]]></category>

		<guid isPermaLink="false">http://blog.sbw.be/2008/09/18/good-bye-drink-replies/</guid>
		<description><![CDATA[Je te souhaite bonne route et j&#8217;espère qu&#8217;on se reverra A+ &#8211; I wish you good luck anyway with your new job. The guy that hires you really is a lucky one ;-) success, &#8211; Je suis en congé, mais bon on se reverra bientôt … &#8211; Bon vent :-) Pour info http://howto.wired.com/wiki/Run_Mac_OS_X_on_an_Eee_PC C’est quoi ton [...]]]></description>
			<content:encoded><![CDATA[<p>Je te souhaite bonne route et j&#8217;espère qu&#8217;on se reverra</p>
<p>A+<br />
&#8211;<br />
I wish you good luck anyway with your new job.<br />
The guy that hires you really is a lucky one ;-) </p>
<p>success,<br />
&#8211;<br />
Je suis en congé, mais bon on se reverra bientôt …<br />
&#8211;<br />
Bon vent :-)</p>
<p>Pour info http://howto.wired.com/wiki/Run_Mac_OS_X_on_an_Eee_PC</p>
<p>C’est quoi ton email @gmail ?<br />
&#8211;<br />
Salut Seb,</p>
<p>Tristesse de te voir partir. Ton mail lors de ta présentation aux élections sociales m&#8217;avait déjà serré le cœur.<br />
Mais maintenant c&#8217;est pour du vrai.<br />
Encore une personne que j&#8217;apprécie qui part et que je comprends très bien.<br />
Je te souhaite le meilleur.</p>
<p>Bizzzz<br />
&#8211;<br />
Je te souhaite beaucoup de bonnes choses pour ton futur job (où que ce soit&#8230;;-))</p>
<p>&#8211;<br />
Ha, bon tu quittes Skynet ??</p>
<p>Je vais essayer de passer &#8230; ;)</p>
<p>Et, tu vas ou ?</p>
<p>&#8211;<br />
Bon ben&#8230; ce sera sans moi </p>
<p>Je te souhaite plein de bonnes choses là où tu vas… (tu peux me le dire maintenant !!!!!!!!!!!)<br />
Je pense qu’on va te maudire pendant qques temps…mais t’inquiète pas ça va vite nous passer J</p>
<p>Merci pour ton agréable collaboration. Ce fût un plaisir de travailler avec toi.</p>
<p>A très bientôt j’espère</p>
<p>&#8211;<br />
Quelle tristesse! Va falloir que je boive pour surmonter encore un départ de plus (avant le mien!)&#8230;<br />
Je serai là !<br />
A demain<br />
&#8211;<br />
Sebastien, since I’m not here tomorrow:  good luck and success with your new job !!!!<br />
&#8211;<br />
I wish you a lot of success in your new job. It has always been very pleasant to work with you &#038; the whole skynet team.<br />
&#8211;<br />
Merci! </p>
<p>A demain et bon voyage.<br />
&#8211;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sbw.be/2008/09/18/good-bye-drink-replies/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Skynet portal Next Generation</title>
		<link>http://blog.sbw.be/2008/07/02/skynet-portal-next-generation/</link>
		<comments>http://blog.sbw.be/2008/07/02/skynet-portal-next-generation/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 21:01:43 +0000</pubDate>
		<dc:creator>Sébastien Barbieri</dc:creator>
				<category><![CDATA[je bosse là]]></category>

		<guid isPermaLink="false">http://blog.sbw.be/2008/07/02/skynet-portal-next-generation/</guid>
		<description><![CDATA[Enfin, il est sorti, tout chaud, tout frais&#8230; Total: - 6 mois de travail - plus de 20 développeurs - plus de 10 webmasters - plus 4 analystes - plus de 10 marketeurs - des démissions en masse - des pressions et des dépressions a faire péter la boîte - des déchirements, des retrouvailles, des [...]]]></description>
			<content:encoded><![CDATA[<p>Enfin,<br />
il est sorti, tout chaud, tout frais&#8230;<br />
Total:<br />
- 6 mois de travail<br />
- plus de 20 développeurs<br />
- plus de 10 webmasters<br />
- plus 4 analystes<br />
- plus de 10 marketeurs<br />
- des démissions en masse<br />
- des pressions et des dépressions a faire péter la boîte<br />
- des déchirements, des retrouvailles, des ruptures, des rencontres<br />
- des tas de bugs à résoudre&#8230;</p>
<p>il est là&#8230;</p>
<p>il est beau&#8230;</p>
<p>et je l&#8217;aime: <a href="http://www.skynet.be/">http://www.skynet.be/</a> </p>
<p>Et franchement, après de 10 jours de travail d&#8217;affilé (oui je sais c&#8217;est nulle pour un syndicaliste mais quand on aime on ne compte pas) je commence seulement à accuser la fatigue post-natale&#8230;</p>
<p>merci à tous&#8230;</p>
<p><a href='http://blog.sbw.be/wp-content/uploads/2008/07/29062008022.jpg' title='29062008022.jpg'><img src='http://blog.sbw.be/wp-content/uploads/2008/07/29062008022.thumbnail.jpg' alt='29062008022.jpg' /></a> <a href='http://blog.sbw.be/wp-content/uploads/2008/07/29062008021.jpg' title='29062008021.jpg'><img src='http://blog.sbw.be/wp-content/uploads/2008/07/29062008021.thumbnail.jpg' alt='29062008021.jpg' /></a> <a href='http://blog.sbw.be/wp-content/uploads/2008/07/29062008022.jpg' title='29062008022.jpg'><img src='http://blog.sbw.be/wp-content/uploads/2008/07/29062008022.thumbnail.jpg' alt='29062008022.jpg' /></a> <a href='http://blog.sbw.be/wp-content/uploads/2008/07/29062008023.jpg' title='29062008023.jpg'><img src='http://blog.sbw.be/wp-content/uploads/2008/07/29062008023.thumbnail.jpg' alt='29062008023.jpg' /></a> <a href='http://blog.sbw.be/wp-content/uploads/2008/07/29062008024v.jpg' title='29062008024v.jpg'><img src='http://blog.sbw.be/wp-content/uploads/2008/07/29062008024v.thumbnail.jpg' alt='29062008024v.jpg' /></a> <a href='http://blog.sbw.be/wp-content/uploads/2008/07/29062008025.jpg' title='29062008025.jpg'><img src='http://blog.sbw.be/wp-content/uploads/2008/07/29062008025.thumbnail.jpg' alt='29062008025.jpg' /></a> <a href='http://blog.sbw.be/wp-content/uploads/2008/07/29062008026.jpg' title='29062008026.jpg'><img src='http://blog.sbw.be/wp-content/uploads/2008/07/29062008026.thumbnail.jpg' alt='29062008026.jpg' /></a> <a href='http://blog.sbw.be/wp-content/uploads/2008/07/29062008027.jpg' title='29062008027.jpg'><img src='http://blog.sbw.be/wp-content/uploads/2008/07/29062008027.thumbnail.jpg' alt='29062008027.jpg' /></a> <a href='http://blog.sbw.be/wp-content/uploads/2008/07/29062008028.jpg' title='29062008028.jpg'><img src='http://blog.sbw.be/wp-content/uploads/2008/07/29062008028.thumbnail.jpg' alt='29062008028.jpg' /></a> <a href='http://blog.sbw.be/wp-content/uploads/2008/07/29062008029.jpg' title='29062008029.jpg'><img src='http://blog.sbw.be/wp-content/uploads/2008/07/29062008029.thumbnail.jpg' alt='29062008029.jpg' /></a> <a href='http://blog.sbw.be/wp-content/uploads/2008/07/29062008030.jpg' title='29062008030.jpg'><img src='http://blog.sbw.be/wp-content/uploads/2008/07/29062008030.thumbnail.jpg' alt='29062008030.jpg' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sbw.be/2008/07/02/skynet-portal-next-generation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

