<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://rss.lapin-blanc.net/~d/styles/rss2frenchfull.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://rss.lapin-blanc.net/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss 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:coop="http://www.google.com/coop/namespace" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Web, UNIX &amp; Rock'n'Roll !</title>
	
	<link>http://lapin-blanc.net</link>
	<description>Lapin Blanc, le weblog de Kévin Dunglas.</description>
	<pubDate>Mon, 10 Nov 2008 08:30:32 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>fr</language>
			<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license><image><link>http://creativecommons.org/licenses/by-nc-sa/3.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://rss.lapin-blanc.net/lapin-blanc" type="application/rss+xml" /><feedburner:emailServiceId>1779981</feedburner:emailServiceId><feedburner:feedburnerHostname>http://www.feedburner.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Frss.lapin-blanc.net%2Flapin-blanc" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.rojo.com/add-subscription?resource=http%3A%2F%2Frss.lapin-blanc.net%2Flapin-blanc" src="http://blog.rojo.com/RojoWideRed.gif">Subscribe with Rojo</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://rss.lapin-blanc.net/lapin-blanc" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Frss.lapin-blanc.net%2Flapin-blanc" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Frss.lapin-blanc.net%2Flapin-blanc" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Frss.lapin-blanc.net%2Flapin-blanc" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://add.my.yahoo.com/content?lg=fr&amp;url=http%3A%2F%2Frss.lapin-blanc.net%2Flapin-blanc" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/bn/intatm_fr_1.gif">Subscribe with Mon Yahoo!</feedburner:feedFlare><item>
		<title>Build your own website thumbnail generator with Django</title>
		<link>http://rss.lapin-blanc.net/~r/lapin-blanc/~3/447789790/</link>
		<comments>http://lapin-blanc.net/09/11/2008/django-website-thumbnail-generator/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 22:25:00 +0000</pubDate>
		<dc:creator>keyes</dc:creator>
		
		<category><![CDATA[Buzz]]></category>

		<category><![CDATA[English]]></category>

		<category><![CDATA[Python]]></category>

		<category><![CDATA[Web 2.0]]></category>

		<category><![CDATA[Django]]></category>

		<category><![CDATA[Thubmnail]]></category>

		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://lapin-blanc.net/?p=302</guid>
		<description><![CDATA[On many website you can see a awesome link preview effect using a thumbnail of the page. There is some web services such as Websnapr or Thumbalizr providing an API to make your own webpages screenshots but it can be annoying to rely on third party projects: free accounts can only display a small among]]></description>
			<content:encoded><![CDATA[<p>On many website you can see a awesome <a href="http://www.websnapr.com/previewbubble/">link preview effect</a> using a thumbnail of the page. There is some web services such as <a href="http://www.websnapr.com/">Websnapr</a> or <a href="http://www.thumbalizr.com/">Thumbalizr</a> providing an <acronym title="Application Programming Interface">API</acronym> to make your own webpages screenshots but it can be annoying to rely on third party projects: free accounts can only display a small among of screenshots and, cannot customize the size of the image, you cannot render Flash animations or Javascript&#8230;</p>
<p style="text-align: center;"><img class="aligncenter" src="http://webkit.org/images/icon-gold.png" alt="Webkit Logo" width="215" height="174" /></p>
<p>We will build a website thumbnail generator using <a href="http://cutycapt.sourceforge.net/">CutyCapt</a>, a <a href="http://webkit.org/">Webkit</a> based free software designed to make screenshots of web pages, and <a href="http://www.djangoproject.com/">Django</a>, the powerful <a href="http://www.python.org/">Python</a> web framework.</p>
<p>The first step is to download and install CutyCapt. On a Debian-based system (such as Ubuntu) just type the following commands:</p>
<pre><code class="language-sh">sudo apt-get install subversion libqt4-webkit libqt4-dev g++
svn co https://cutycapt.svn.sourceforge.net/svnroot/cutycapt
cd cutycapt/CutyCapt
qmake
make
./CutyCapt --url=http://lapin-blanc.net --out=example.png</code></pre>
<p>Try to open the <samp>example.png</samp> (i.e: <kbd>eog example.png</kbd>), if the install is OK you must see a screenshot of this blog.</p>
<p>I assume your <a href="http://docs.djangoproject.com/en/dev/intro/install/#intro-install">Django installation</a> is working fine. Start a new project if needed (<kbd>django-admin.py startproject mysite</kbd>) and create an application called <samp>webthumb</samp></p>
<p>with <kbd>python manage.py startapp</kbd> in your project.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://farm1.static.flickr.com/171/416333744_9153d5fe0d_m.jpg" alt="Django Reinhardt" width="200" height="200" /></p>
<p>Edit your <samp>urls.py</samp> file to add a new pattern to the tuple <code>urlpatterns</code>. It will match screenshots requests and call the <code>thumb</code> view:</p>
<pre><code class="language-python">(r'^thumb/(?P.*)', 'mysite.webthumb.views.thumb'),</code></pre>
<p>Now create a view called <code>thumb</code> in <samp>webthumb/view.py</samp> with this code:</p>
<pre><code class="language-python">import os
import subprocess
import md5
from django.http import HttpResponse

CUTYCAPT = '/home/keyes/cutycapt/CutyCapt/CutyCapt'
THUMBS_DIR  = '/home/keyes/Documents/Projets/kakofony/thumbs/'

def thumb(request, url):
    hash = md5.new(url).hexdigest()
    path = THUMBS_DIR + hash + '.png'
    print path

    if not os.path.isfile(path):
        try:
            subprocess.check_call([CUTYCAPT,\
                '--url=' + url,\
                '--min-width=200',\
                '--out=' + path])
        except subprocess.CalledProcessError:
            return django.http.HttpResponseServerError

    img = open(path, 'rb').read()
    return django.http.HttpResponse(img, mimetype='image/png')</code></pre>
<p>Adapt the variables <var>CUTYCAPT</var> and <var>THUMBS_DIR</var> with your settings. Of course the directory pointed by <var>THUMBS_DIR</var> must be writeable (<code>chmod 777</code>).</p>
<p>You can now embed website thumbnails in your websites just with this HTML markup <code class="language-html">&lt;img src="http://localhost/thumb/http://lapin-blanc.net" alt="Lapin Blanc" /&gt;</code>.</p>
<p>Enjoy !</p>
<div class="feedflare">
<a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=YLqCn"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=YLqCn" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=I8GcN"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=I8GcN" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=qcHZn"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=qcHZn" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=TgBan"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=TgBan" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=PTJcn"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=PTJcn" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=iOgwN"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=iOgwN" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=ETsYN"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=ETsYN" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=J1aGN"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=J1aGN" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=l63zn"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=l63zn" border="0"></img></a>
</div><img src="http://rss.lapin-blanc.net/~r/lapin-blanc/~4/447789790" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://lapin-blanc.net/09/11/2008/django-website-thumbnail-generator/feed/</wfw:commentRss>
	
		<coop:keyword><![CDATA[Buzz]]></coop:keyword>

		<coop:keyword><![CDATA[English]]></coop:keyword>

		<coop:keyword><![CDATA[Python]]></coop:keyword>

		<coop:keyword><![CDATA[Web 2.0]]></coop:keyword>

		<coop:keyword><![CDATA[Django]]></coop:keyword>

		<coop:keyword><![CDATA[Thubmnail]]></coop:keyword>

		<coop:keyword><![CDATA[Web]]></coop:keyword>
	<feedburner:origLink>http://lapin-blanc.net/09/11/2008/django-website-thumbnail-generator/</feedburner:origLink></item>
		<item>
		<title>The last update of Aptana block Django development server</title>
		<link>http://rss.lapin-blanc.net/~r/lapin-blanc/~3/442661459/</link>
		<comments>http://lapin-blanc.net/05/11/2008/aptana-block-django-dev-server/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 00:24:58 +0000</pubDate>
		<dc:creator>keyes</dc:creator>
		
		<category><![CDATA[English]]></category>

		<category><![CDATA[Python]]></category>

		<category><![CDATA[XHTML / CSS]]></category>

		<category><![CDATA[Aptana]]></category>

		<category><![CDATA[Django]]></category>

		<category><![CDATA[Eclipse]]></category>

		<category><![CDATA[Framework]]></category>

		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://lapin-blanc.net/?p=299</guid>
		<description><![CDATA[The last update of Aptana Studio come with a new built-in Jetty-based HTTP server running on port 8000&#8230; the same as Django development server. There is no good way to disable the preview server feature of the popular editor, but our favorite web framework can be launched on another port. Just type python manage.py runserver]]></description>
			<content:encoded><![CDATA[<p>The last update of <a href="http://www.aptana.com/studio">Aptana Studio</a> come with a new built-in <a href="http://www.mortbay.org/jetty/">Jetty</a>-based HTTP server running on port 8000&#8230; the same as <a href="http://www.djangoproject.com/">Django</a> development server. There <a href="http://forums.aptana.com/viewtopic.php?p=19489">is no good way to disable the preview server feature</a> of the popular editor, but our favorite web framework can be launched on another port. Just type <kbd>python manage.py runserver 8080</kbd> instead of <kbd>python manage.py</kbd> and access to your work on <samp>http://localhost:8080</samp>.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://upload.wikimedia.org/wikipedia/de/thumb/0/0e/Django-logo.svg/504px-Django-logo.svg.png" alt="Django logo" width="252" height="108" /></p>
<div class="feedflare">
<a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=dExzn"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=dExzn" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=0Gl8N"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=0Gl8N" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=ynown"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=ynown" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=iIJjn"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=iIJjn" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=wD62n"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=wD62n" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=o6bBN"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=o6bBN" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=AzB0N"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=AzB0N" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=rMhdN"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=rMhdN" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=L4uRn"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=L4uRn" border="0"></img></a>
</div><img src="http://rss.lapin-blanc.net/~r/lapin-blanc/~4/442661459" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://lapin-blanc.net/05/11/2008/aptana-block-django-dev-server/feed/</wfw:commentRss>
	
		<coop:keyword><![CDATA[English]]></coop:keyword>

		<coop:keyword><![CDATA[Python]]></coop:keyword>

		<coop:keyword><![CDATA[XHTML / CSS]]></coop:keyword>

		<coop:keyword><![CDATA[Aptana]]></coop:keyword>

		<coop:keyword><![CDATA[Django]]></coop:keyword>

		<coop:keyword><![CDATA[Eclipse]]></coop:keyword>

		<coop:keyword><![CDATA[Framework]]></coop:keyword>

		<coop:keyword><![CDATA[Web]]></coop:keyword>
	<feedburner:origLink>http://lapin-blanc.net/05/11/2008/aptana-block-django-dev-server/</feedburner:origLink></item>
		<item>
		<title>Ravalement de façade</title>
		<link>http://rss.lapin-blanc.net/~r/lapin-blanc/~3/441440971/</link>
		<comments>http://lapin-blanc.net/03/11/2008/ravalement-facade/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 22:19:38 +0000</pubDate>
		<dc:creator>keyes</dc:creator>
		
		<category><![CDATA[Perso]]></category>

		<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://lapin-blanc.net/?p=297</guid>
		<description><![CDATA[Comme vous pouvez le voir, j&#8217;ai légerement remanié l&#8217;apparence de mon blog. Il utilise désormais un thème très sobre à trois colonnes permettant de mieux structurer l&#8217;information et fait la part belle à Twitter que j&#8217;utilise de plus en plus assidument.
]]></description>
			<content:encoded><![CDATA[<p>Comme vous pouvez le voir, j&#8217;ai légerement remanié l&#8217;apparence de mon blog. Il utilise désormais un thème très sobre à trois colonnes permettant de mieux structurer l&#8217;information et fait la part belle à <a href="http://twitter.com/dunglas">Twitter</a> que j&#8217;utilise de plus en plus assidument.</p>
<div class="feedflare">
<a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=7wzRn"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=7wzRn" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=QtusN"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=QtusN" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=xGxdn"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=xGxdn" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=ZcpSn"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=ZcpSn" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=VGCsn"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=VGCsn" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=Ef6iN"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=Ef6iN" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=uzrDN"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=uzrDN" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=a0OON"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=a0OON" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=kubQn"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=kubQn" border="0"></img></a>
</div><img src="http://rss.lapin-blanc.net/~r/lapin-blanc/~4/441440971" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://lapin-blanc.net/03/11/2008/ravalement-facade/feed/</wfw:commentRss>
	
		<coop:keyword><![CDATA[Perso]]></coop:keyword>

		<coop:keyword><![CDATA[Blog]]></coop:keyword>
	<feedburner:origLink>http://lapin-blanc.net/03/11/2008/ravalement-facade/</feedburner:origLink></item>
		<item>
		<title>Monter une partition Linux sous Mac OS X</title>
		<link>http://rss.lapin-blanc.net/~r/lapin-blanc/~3/432757711/</link>
		<comments>http://lapin-blanc.net/26/10/2008/partition-linux-sous-mac-os-x/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 17:37:05 +0000</pubDate>
		<dc:creator>keyes</dc:creator>
		
		<category><![CDATA[Mac]]></category>

		<category><![CDATA[OS]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<category><![CDATA[Disque dur]]></category>

		<category><![CDATA[ext2]]></category>

		<category><![CDATA[ext3]]></category>

		<category><![CDATA[ext4]]></category>

		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://lapin-blanc.net/?p=289</guid>
		<description><![CDATA[Ou plus précisément une partition de type ext2/3, le système de fichier le plus populaire sous GNU/Linux, utilisé par défaut sur Ubuntu.
Mac OS X n&#8217;inclut pas de pilote pour monter les partitions ext2, heureusement un projet libre comble ce manque : ext2fsx. Récupérer la version ext2fsx_dev sur le site du projet, la seule supportant l&#8217;architecture]]></description>
			<content:encoded><![CDATA[<p>Ou plus précisément une partition de type <a href="http://fr.wikipedia.org/wiki/Ext2">ext2/3</a>, le système de fichier le plus populaire sous GNU/Linux, utilisé par défaut sur <a href="http://www.ubuntu.com">Ubuntu</a>.</p>
<p>Mac OS X n&#8217;inclut pas de pilote pour monter les partitions ext2, heureusement un projet libre comble ce manque : <a href="http://sourceforge.net/projects/ext2fsx/">ext2fsx</a>. Récupérer la version <samp>ext2fsx_dev</samp> sur le site du projet, la seule supportant <a href="http://fr.wikipedia.org/wiki/X86">l&#8217;architecture x86</a> (tous les <a href="http://www.apple.com/fr/mac/">Mac</a> depuis <a href="http://fr.wikipedia.org/wiki/Passage_de_Apple_vers_Intel">le passage aux processeurs Intel</a>). Un simple double clic sur le fichier <code>.dmg</code> et un redémarrage de l&#8217;ordinateur suffira à l&#8217;activation du pilote.</p>
<p style="text-align: center;"><a href="http://lapin-blanc.net/wp-content/uploads/2008/10/ext2fsx.png"><img class="size-medium wp-image-290 aligncenter" title="ext2fsx" src="http://lapin-blanc.net/wp-content/uploads/2008/10/ext2fsx.png" alt="Gestionnaire ExtFS" width="300" height="254" /></a></p>
<p>Vous pouvez désormais monter vos partitions formatés en ext2, 3 ou 4 via <a href="http://developer.apple.com/documentation/Darwin/Reference/Manpages/man8/mount.8.html">la commande <code>mount</code></a> ou depuis un sympathique petit utilitaire nommé <samp>Gestionnaire ExtFS</samp> que l&#8217;on trouve dans le menu <samp>Autre</samp> des <samp>Préférences Système</samp>.</p>
<div class="feedflare">
<a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=9JUwm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=9JUwm" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=sskKM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=sskKM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=Svs6m"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=Svs6m" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=evZQm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=evZQm" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=F1qkm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=F1qkm" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=JLJ1M"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=JLJ1M" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=xvjjM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=xvjjM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=sjUHM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=sjUHM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=9UD9m"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=9UD9m" border="0"></img></a>
</div><img src="http://rss.lapin-blanc.net/~r/lapin-blanc/~4/432757711" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://lapin-blanc.net/26/10/2008/partition-linux-sous-mac-os-x/feed/</wfw:commentRss>
	
		<coop:keyword><![CDATA[Mac]]></coop:keyword>

		<coop:keyword><![CDATA[OS]]></coop:keyword>

		<coop:keyword><![CDATA[Ubuntu]]></coop:keyword>

		<coop:keyword><![CDATA[Disque dur]]></coop:keyword>

		<coop:keyword><![CDATA[ext2]]></coop:keyword>

		<coop:keyword><![CDATA[ext3]]></coop:keyword>

		<coop:keyword><![CDATA[ext4]]></coop:keyword>

		<coop:keyword><![CDATA[Linux]]></coop:keyword>
	<feedburner:origLink>http://lapin-blanc.net/26/10/2008/partition-linux-sous-mac-os-x/</feedburner:origLink></item>
		<item>
		<title>Quel développeur suis-je ?</title>
		<link>http://rss.lapin-blanc.net/~r/lapin-blanc/~3/423440892/</link>
		<comments>http://lapin-blanc.net/17/10/2008/quel-developpeur-suis-je/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 06:39:54 +0000</pubDate>
		<dc:creator>keyes</dc:creator>
		
		<category><![CDATA[Buzz]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<category><![CDATA[Chaîne]]></category>

		<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://lapin-blanc.net/?p=285</guid>
		<description><![CDATA[
Os : Ubuntu et Mac OS X
Éditeurs : Eclipse et vim
Langages favoris : Python, C
VCS : Subversion
Navigateur : Firefox

Alors, quel développeur je suis ?
]]></description>
			<content:encoded><![CDATA[<ul>
<li><strong>Os</strong> : Ubuntu et Mac OS X</li>
<li><strong>Éditeurs</strong> : Eclipse et vim</li>
<li><strong>Langages favoris</strong> : Python, C</li>
<li><strong><acronym title="Version Control System">VCS</acronym></strong> : Subversion</li>
<li><strong>Navigateur</strong> : Firefox</li>
</ul>
<p>Alors, <a href="http://www.miximum.fr/culture/99-quel-developpeur-etes-vous">quel développeur je suis</a> ?</p>
<div class="wp-caption aligncenter" style="width: 459px"><img src="http://farm3.static.flickr.com/2010/2115997043_4c19ff1b52_o.jpg" alt="Programmer hierarchy" width="449" height="651" /><p class="wp-caption-text">Programmer hierarchy</p></div>
<div class="feedflare">
<a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=ozcHm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=ozcHm" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=zCDaM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=zCDaM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=Z9w7m"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=Z9w7m" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=sdpkm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=sdpkm" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=Rqrwm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=Rqrwm" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=wZGlM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=wZGlM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=VLf4M"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=VLf4M" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=gdRtM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=gdRtM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=greOm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=greOm" border="0"></img></a>
</div><img src="http://rss.lapin-blanc.net/~r/lapin-blanc/~4/423440892" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://lapin-blanc.net/17/10/2008/quel-developpeur-suis-je/feed/</wfw:commentRss>
	
		<coop:keyword><![CDATA[Buzz]]></coop:keyword>

		<coop:keyword><![CDATA[PHP]]></coop:keyword>

		<coop:keyword><![CDATA[Ubuntu]]></coop:keyword>

		<coop:keyword><![CDATA[Chaîne]]></coop:keyword>

		<coop:keyword><![CDATA[Développement]]></coop:keyword>
	<feedburner:origLink>http://lapin-blanc.net/17/10/2008/quel-developpeur-suis-je/</feedburner:origLink></item>
		<item>
		<title>Un formulaire de création de compte avec Symfony et sfGuard</title>
		<link>http://rss.lapin-blanc.net/~r/lapin-blanc/~3/420917027/</link>
		<comments>http://lapin-blanc.net/14/10/2008/creation-compte-symfony-sfguard/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 21:10:37 +0000</pubDate>
		<dc:creator>keyes</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Programmation]]></category>

		<category><![CDATA[Web 2.0]]></category>

		<category><![CDATA[sfGuard]]></category>

		<category><![CDATA[Symfony]]></category>

		<guid isPermaLink="false">http://lapin-blanc.net/?p=277</guid>
		<description><![CDATA[sfGuard fait parti des plugins Symfony les plus utiles. Il ajoute à notre framework un système de gestion avancé des utilisateurs, groupes et permissions. Il inclut en standard un back office complet ainsi qu&#8217;un formulaire de connexion mais pas pour de la création de compte en front.

Alors qu&#8217;il fût assez fastidieux de le réaliser avec]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.symfony-project.org/plugins/sfGuardPlugin">sfGuard</a> fait parti <a href="http://lapin-blanc.net/12/07/2008/plugins-symfony-indispensables/">des plugins </a><a href="http://lapin-blanc.net/12/07/2008/plugins-symfony-indispensables/">Symfony</a><a href="http://lapin-blanc.net/12/07/2008/plugins-symfony-indispensables/"> les plus utiles</a>. Il ajoute à <a href="http://www.symfony-project.org/">notre framework</a> un système de gestion avancé des utilisateurs, groupes et permissions. Il inclut en standard un back office complet ainsi qu&#8217;un formulaire de connexion mais pas pour de la création de compte en front.</p>
<p style="text-align: center;"><img class="aligncenter" title="Symfony" src="http://www.sensiolabs.com/images/symfony.gif" alt="Symfony" width="170" height="46" /></p>
<p>Alors qu&#8217;il fût assez fastidieux de <a href="http://rinik.net/blog/en-how-to-create-registration-with-all-the-activation-stuff-for-sfguardplugin">le réaliser</a> avec la version 1.0 de Symfony, <a href="http://www.symfony-project.org/book/forms/1_1/en/">le nouveau système de création de formulaires</a> introduit dans la version 1.1 nous facilite bien la tache.</p>
<p>Je ne reviendrais pas sur l&#8217;installation du plugin qui est <a href="http://www.symfony-project.org/plugins/sfGuardPlugin">très bien détaillée</a> dans sa documentation.</p>
<p>Commençons par <a href="http://www.symfony-project.org/book/forms/1_1/en/">générer les formulaires associés à nos tables grâce à Propel</a> : <code>php symfony propel:build-forms</code>. Attaquons-nous maintenant à la classe de notre formulaire d&#8217;enregistrement. Créez un fichier nommé <kbd>sfGuardRegisterForm.php</kbd> dans le répertoire <samp>lib/form/</samp> qui contient ce code :</p>
<pre><code class="language-php">&lt;?php
class sfGuardRegisterForm extends sfGuardUserForm
{
  public function configure()
  {
    parent::configure();

    /* Ici on ajoute une validation
        pour le mot de passe afin qu'il soit long
        d'au moins 6 caractères et d'au plus 128. */
    $this-&gt;validatorSchema['password'] = new sfValidatorString(
      array('min_length' =&gt; 6, 'max_length' =&gt; 128)
    );
  }
}
?&gt;</code></pre>
<p>Comme vous pouvez le lire, on se contente de créer une classe qui hérite de <code>sfGuardUserForm</code> fournie avec le plugin et d&#8217;y ajouter une validation supplémentaire pour le mot de passe (par défaut il peut être vide). C&#8217;est également dans cette méthode <code>configure</code> que se déroulera la validation de vos champs personnalisés sur lesquels nous reviendrons plus bas.</p>
<p>Effacez la cache avec la commande <code>php symfony cc</code>. C&#8217;est déjà presque fini !</p>
<p>Créons un répertoire <kbd>sfGuardAuth</kbd> dans le répertoire <samp>modules</samp> de votre application puis deux sous répertoires dans <samp>sfGuardAuth</samp> nommés <kbd>actions</kbd> et <kbd>templates</kbd>. Ce pseudo-module nous permettre de surcharger le module <samp>sfGuardAuth</samp> du plugin afin de lui ajouter une action et une vue qui permettront à vos visiteurs de s&#8217;enregistrer sur votre site.</p>
<p>Créez un fichier <kbd>actions.class.php</kbd> dans le répertoire <samp>actions</samp> qui contient :</p>
<pre><code class="language-php">&lt;?php
/* On doit inclure manuellement
l'action du plugin car l'autoloading ne fonctionne pas dans ce cas. */
require_once(sfConfig::get('sf_plugins_dir').
'/sfGuardPlugin/modules/sfGuardAuth/lib/BasesfGuardAuthActions.class.php');

/* Notre action dérive de celle fournie par le module
    afin d'hériter de ses actions propres. */
class sfGuardAuthActions extends BasesfGuardAuthActions
{
  public function executeRegister($request) {
    /* Passe le formulaire à la vue. */
    $this-&gt;form = new sfGuardRegisterForm();

    /* Si l'action est appelé via la méthode POST... */
    if ($request-&gt;isMethod('post')) {
      $this-&gt;form-&gt;bind(
        $request-&gt;getParameter('sf_guard_user')
      );

      /* ...est que les données sont valides */
      if ($this-&gt;form-&gt;isValid()) {

        /* On crée l'utilisateur */
        $sf_guard_user = $this-&gt;form-&gt;save();

        $this-&gt;setFlash('message',
          array('Vous êtes enregistrez,
            &lt;a href="/login"&gt;connectez-vous&lt;/a&gt; !')));
        $this-&gt;redirect('@homepage');
      }
      /* Sinon le formulaire ainsi que l'erreur sera ré-affiché */
    }
  }
}</pre>
<p>Quand l&#8217;utilisateur est créé on redirige le visiteur vers la page d&#8217;accueil et on l&#8217;avertit grâce à <a href="http://www.symfony-project.org/book/1_0/06-Inside-the-Controller-Layer#Flash%20Attributes">un attribut flash</a>.</p>
<p>Passons à la vue qui se nommera <kbd>registerSuccess.php</kbd> et qui se trouvera dans le répertoire <samp>templates</samp> :</p>
<pre><code class="language-php">&lt;form action="&lt;?php echo url_for('sfGuardAuth/register') ?&gt;" method="POST"&gt;
  &lt;table&gt;
    &lt;?php echo $form ?&gt;
    &lt;tr&gt;
      &lt;td colspan="2"&gt;
        &lt;input type="submit" /&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;
&lt;/form&gt;
</code></pre>
<p>Très bien, notre formulaire fonctionne. Mais le plus fort arrive !</p>
<p>Vous avez ajouter des champs personnalisés au profil de votre utilisateur dans la table <code>sf_guard_user_profile</code> (cf. la documentation de sfGuard) ? Régénérez les formulaires associés à vos tables avec la commande <code>php symfony propel:build-forms</code>, effacez la cache à grand coup de <code>php symfony cc</code>, rechargez la page <samp><kbd>/sfGuardAuth/register</kbd></samp> et admirez : nos champs sont automatiquement reconnus et affichés. Vous pourrez leur ajouter des étapes de validation dans notre première classe <code class="language-php">sfGuardRegisterForm</code> ou dans <code>sfGuardUserProfileForm</code> si vous voulez qu&#8217;elles s&#8217;appliquent à tous les formulaires héritant de cette classe (page de modification du profil, &#8230;.).</p>
<div class="feedflare">
<a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=XImFm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=XImFm" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=cEdMM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=cEdMM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=3hj5m"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=3hj5m" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=q3HGm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=q3HGm" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=AsPFm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=AsPFm" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=ynNZM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=ynNZM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=n9A7M"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=n9A7M" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=OyxlM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=OyxlM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=0053m"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=0053m" border="0"></img></a>
</div><img src="http://rss.lapin-blanc.net/~r/lapin-blanc/~4/420917027" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://lapin-blanc.net/14/10/2008/creation-compte-symfony-sfguard/feed/</wfw:commentRss>
	
		<coop:keyword><![CDATA[PHP]]></coop:keyword>

		<coop:keyword><![CDATA[Programmation]]></coop:keyword>

		<coop:keyword><![CDATA[Web 2.0]]></coop:keyword>

		<coop:keyword><![CDATA[sfGuard]]></coop:keyword>

		<coop:keyword><![CDATA[Symfony]]></coop:keyword>
	<feedburner:origLink>http://lapin-blanc.net/14/10/2008/creation-compte-symfony-sfguard/</feedburner:origLink></item>
		<item>
		<title>Vive la traduction automatique !</title>
		<link>http://rss.lapin-blanc.net/~r/lapin-blanc/~3/414229165/</link>
		<comments>http://lapin-blanc.net/07/10/2008/traducteurs-automatiques/#comments</comments>
		<pubDate>Tue, 07 Oct 2008 22:37:51 +0000</pubDate>
		<dc:creator>keyes</dc:creator>
		
		<category><![CDATA[Délire]]></category>

		<category><![CDATA[Perso]]></category>

		<category><![CDATA[Traduction]]></category>

		<guid isPermaLink="false">http://lapin-blanc.net/?p=275</guid>
		<description><![CDATA[
Source : fun.drno.de
]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="alignnone" title="Translate Server Error" src="http://fun.drno.de/pics/english/only-in-china/TranslateServerError.jpg" alt="Translate Server Error" width="604" height="453" /></p>
<p>Source : <a href="http://fun.drno.de/pics/english/only-in-china/TranslateServerError.jpg">fun.drno.de</a></p>
<div class="feedflare">
<a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=W6TSm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=W6TSm" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=X37aM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=X37aM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=t2anm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=t2anm" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=GSaLm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=GSaLm" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=PKO9m"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=PKO9m" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=3JiTM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=3JiTM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=d9WPM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=d9WPM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=8SdpM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=8SdpM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=ygS3m"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=ygS3m" border="0"></img></a>
</div><img src="http://rss.lapin-blanc.net/~r/lapin-blanc/~4/414229165" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://lapin-blanc.net/07/10/2008/traducteurs-automatiques/feed/</wfw:commentRss>
	
		<coop:keyword><![CDATA[Délire]]></coop:keyword>

		<coop:keyword><![CDATA[Perso]]></coop:keyword>

		<coop:keyword><![CDATA[Traduction]]></coop:keyword>
	<feedburner:origLink>http://lapin-blanc.net/07/10/2008/traducteurs-automatiques/</feedburner:origLink></item>
		<item>
		<title>Découvrez Appnr, une interface web d’ajout de programmes pour Ubuntu</title>
		<link>http://rss.lapin-blanc.net/~r/lapin-blanc/~3/414220029/</link>
		<comments>http://lapin-blanc.net/07/10/2008/decouvrez-appnr-ubuntu/#comments</comments>
		<pubDate>Tue, 07 Oct 2008 22:28:04 +0000</pubDate>
		<dc:creator>keyes</dc:creator>
		
		<category><![CDATA[Planet Libre]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<category><![CDATA[Appnr]]></category>

		<category><![CDATA[Apt]]></category>

		<guid isPermaLink="false">http://lapin-blanc.net/?p=271</guid>
		<description><![CDATA[Appnr est un portage web du système d&#8217;installation de paquets simplifié d&#8217;Ubuntu (GNOME Application Installer). Il permet de parcourir les différents logiciels disponibles dans les dépôt de notre distribution favorite depuis un simple navigateur et via une jolie interface AJAX. Appnr reprend les grandes lignes de son grand frère desktop : classement par catégorie, alphabétique]]></description>
			<content:encoded><![CDATA[<p><a href="http://appnr.com/">Appnr</a> est un portage web du système d&#8217;installation de paquets simplifié d&#8217;<a href="http://www.ubuntu.com">Ubuntu</a> (GNOME Application Installer). Il permet de parcourir les différents logiciels disponibles dans les dépôt de notre distribution favorite depuis un simple navigateur et via une jolie interface <a href="http://fr.wikipedia.org/wiki/AJAX">AJAX</a>. Appnr reprend les grandes lignes de son grand frère desktop : classement par catégorie, alphabétique et par popularité.</p>
<p style="text-align: center;"><img class="aligncenter" title="Capture décran de Appnr" src="http://blog.appnr.com/wp-content/uploads/20080926-399x313.png" alt="Appnr" width="399" height="313" /></p>
<p>L&#8217;application utilise le pseudo-protocole <a href="https://launchpad.net/apturl/">apturl</a> afin de permettre l&#8217;installation des paquets directement d&#8217;un simple click depuis Firefox. Appnr est très pratique pour suggérer l&#8217;installation d&#8217;un logiciel à un utilisateur d&#8217;Ubuntu via le réseau de manière intuitive et user-friendly. Elle pourra également agréablement remplacer le très austère <a href="http://packages.ubuntu.com/">packages.ubuntu.com</a> pour fouiller dans les dépôts depuis un autre système.</p>
<div class="feedflare">
<a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=DZD8m"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=DZD8m" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=GPw6M"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=GPw6M" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=sQ17m"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=sQ17m" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=jGEZm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=jGEZm" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=Q6CMm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=Q6CMm" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=8Kc8M"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=8Kc8M" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=iS1uM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=iS1uM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=EkkhM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=EkkhM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=ELjDm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=ELjDm" border="0"></img></a>
</div><img src="http://rss.lapin-blanc.net/~r/lapin-blanc/~4/414220029" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://lapin-blanc.net/07/10/2008/decouvrez-appnr-ubuntu/feed/</wfw:commentRss>
	
		<coop:keyword><![CDATA[Planet Libre]]></coop:keyword>

		<coop:keyword><![CDATA[Ubuntu]]></coop:keyword>

		<coop:keyword><![CDATA[Appnr]]></coop:keyword>

		<coop:keyword><![CDATA[Apt]]></coop:keyword>
	<feedburner:origLink>http://lapin-blanc.net/07/10/2008/decouvrez-appnr-ubuntu/</feedburner:origLink></item>
		<item>
		<title>MessengerFX’s security problem corrected</title>
		<link>http://rss.lapin-blanc.net/~r/lapin-blanc/~3/412635114/</link>
		<comments>http://lapin-blanc.net/06/10/2008/messengerfxs-security-problem-corrected/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 09:23:54 +0000</pubDate>
		<dc:creator>keyes</dc:creator>
		
		<category><![CDATA[Buzz]]></category>

		<category><![CDATA[English]]></category>

		<category><![CDATA[Web 2.0]]></category>

		<category><![CDATA[Messagerie Instantanée]]></category>

		<category><![CDATA[MessengerFX]]></category>

		<category><![CDATA[Security]]></category>

		<category><![CDATA[Windows Live Messenger]]></category>

		<category><![CDATA[XSS]]></category>

		<guid isPermaLink="false">http://lapin-blanc.net/?p=264</guid>
		<description><![CDATA[Some times ago I found a Cross Site Scripting vulnerability in MessengerFX, a popular web-based Windows Live Messenger client. Friday I received from the team saying that the problem is now corrected:
Hi Kevin,
First of all i want to thank you for your warn. We fixed that problem and
now its working correctly.
[...]
If you find any other]]></description>
			<content:encoded><![CDATA[<p>Some times ago <a href="http://lapin-blanc.net/16/05/2008/messengerfx-security-hole/">I found a Cross Site Scripting vulnerability in MessengerFX</a>, a popular web-based Windows Live Messenger client. Friday I received from <cite>the team</cite> saying that the problem is now corrected:</p>
<blockquote><p>Hi Kevin,<br />
First of all i want to thank you for your warn. We fixed that problem and<br />
now its working correctly.</p>
<p>[...]<br />
If you find any other problem please let me know. Thanks again.</p></blockquote>
<p>It was serious : <q>Every software’s feature is available through Javascript. Any contact of a MessengerFX user can crash his browser, and futhermore get its contact list, add, remove, ban and unban contacts, read and send messages to any other contact of the victim ! Basically, an attacker just need to be listed in the contacts list of an MessengerFX user and this attacker can take control over the account.</q></p>
<p>In fact, all Javascript code is now removed server-side, so it&#8217;s impossible to send some snippets to a friend and the code is still executed locally (in the browser of the sender). The team explain that a new version of their app will be released soon and will better handle things like this.</p>
<div class="feedflare">
<a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=w2Qmm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=w2Qmm" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=BmmMM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=BmmMM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=jIufm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=jIufm" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=PikXm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=PikXm" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=StVEm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=StVEm" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=SAEoM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=SAEoM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=85KRM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=85KRM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=ty1aM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=ty1aM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=zW4nm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=zW4nm" border="0"></img></a>
</div><img src="http://rss.lapin-blanc.net/~r/lapin-blanc/~4/412635114" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://lapin-blanc.net/06/10/2008/messengerfxs-security-problem-corrected/feed/</wfw:commentRss>
	
		<coop:keyword><![CDATA[Buzz]]></coop:keyword>

		<coop:keyword><![CDATA[English]]></coop:keyword>

		<coop:keyword><![CDATA[Web 2.0]]></coop:keyword>

		<coop:keyword><![CDATA[Messagerie Instantanée]]></coop:keyword>

		<coop:keyword><![CDATA[MessengerFX]]></coop:keyword>

		<coop:keyword><![CDATA[Security]]></coop:keyword>

		<coop:keyword><![CDATA[Windows Live Messenger]]></coop:keyword>

		<coop:keyword><![CDATA[XSS]]></coop:keyword>
	<feedburner:origLink>http://lapin-blanc.net/06/10/2008/messengerfxs-security-problem-corrected/</feedburner:origLink></item>
		<item>
		<title>La faille de sécurité touchant MessengerFX semble corrigée</title>
		<link>http://rss.lapin-blanc.net/~r/lapin-blanc/~3/412611624/</link>
		<comments>http://lapin-blanc.net/06/10/2008/faille-securite-messengerfx-corrige/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 08:43:41 +0000</pubDate>
		<dc:creator>keyes</dc:creator>
		
		<category><![CDATA[Buzz]]></category>

		<category><![CDATA[Musique du Jour]]></category>

		<category><![CDATA[Sécurité]]></category>

		<category><![CDATA[Web 2.0]]></category>

		<category><![CDATA[XHTML / CSS]]></category>

		<category><![CDATA[Messagerie Instantanée]]></category>

		<category><![CDATA[MessengerFX]]></category>

		<category><![CDATA[Windows Live Messenger]]></category>

		<category><![CDATA[XSS]]></category>

		<guid isPermaLink="false">http://lapin-blanc.net/?p=254</guid>
		<description><![CDATA[Il y&#8217;a quelques temps, j&#8217;avais découvert une vulnérabilité de type Cross Site Scripting dans MessengerFX, un client web populaire pour le réseau Windows Live Messenger, qui pouvait avoir de fâcheuses conséquences : en plus de pouvoir faire planter le navigateur de n’importe quel utilisateur du service, elle permet d’accéder à toutes les fonctionnalités implémentées par]]></description>
			<content:encoded><![CDATA[<p>Il y&#8217;a quelques temps, j&#8217;avais découvert <a href="http://lapin-blanc.net/16/05/2008/vulnerabilite-critique-messengerfx/">une vulnérabilité de type Cross Site Scripting dans MessengerFX</a>, un client web populaire pour le réseau Windows Live Messenger, qui pouvait avoir de fâcheuses conséquences : <q>en plus de pouvoir faire planter le navigateur de n’importe quel utilisateur du service, elle permet d’accéder à toutes les fonctionnalités implémentées par Messenger FX ce qui signifie entre autre : récupérer la liste de contact de l’utilisateur, envoyer des messages en son nom, supprimer, bloquer et débloquer des personnes de sa liste de contact et lui en ajouter, lire les messages, bref : de prendre le contrôle complet du compte MSN de la victime.</q></p>
<p>Vendredi, j&#8217;ai reçu un email de l&#8217;équipe <cite>MessengerFX</cite> m&#8217;indiquant que le problème est corrigé :</p>
<blockquote><p>Hi Kevin,<br />
First of all i want to thank you for your warn. We fixed that problem and<br />
now its working correctly.<br />
[...]</p></blockquote>
<p>La correction actuelle ne permet plus d&#8217;envoyer de code Javascript via MessengerFX à un ami et éxecute toujours le dis code en local (sur l&#8217;ordinateur de celui qui l&#8217;envoi). L&#8217;équipe indique que la prochaine version, bientôt disponible, inclura une meilleure gestion de l&#8217;envoi de code via l&#8217;application internet.</p>
<div class="feedflare">
<a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=32QDm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=32QDm" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=8LjFM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=8LjFM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=XzEIm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=XzEIm" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=HotBm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=HotBm" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=HzPXm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=HzPXm" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=v1ogM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=v1ogM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=QHNvM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=QHNvM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=d20JM"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=d20JM" border="0"></img></a> <a href="http://rss.lapin-blanc.net/~f/lapin-blanc?a=caYYm"><img src="http://rss.lapin-blanc.net/~f/lapin-blanc?i=caYYm" border="0"></img></a>
</div><img src="http://rss.lapin-blanc.net/~r/lapin-blanc/~4/412611624" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://lapin-blanc.net/06/10/2008/faille-securite-messengerfx-corrige/feed/</wfw:commentRss>
	
		<coop:keyword><![CDATA[Buzz]]></coop:keyword>

		<coop:keyword><![CDATA[Musique du Jour]]></coop:keyword>

		<coop:keyword><![CDATA[Sécurité]]></coop:keyword>

		<coop:keyword><![CDATA[Web 2.0]]></coop:keyword>

		<coop:keyword><![CDATA[XHTML / CSS]]></coop:keyword>

		<coop:keyword><![CDATA[Messagerie Instantanée]]></coop:keyword>

		<coop:keyword><![CDATA[MessengerFX]]></coop:keyword>

		<coop:keyword><![CDATA[Windows Live Messenger]]></coop:keyword>

		<coop:keyword><![CDATA[XSS]]></coop:keyword>
	<feedburner:origLink>http://lapin-blanc.net/06/10/2008/faille-securite-messengerfx-corrige/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic Page Served (once) in 0.462 seconds --><!-- Cached page served by WP-Super-Cache -->
