<?xml 
version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
>

<channel xml:lang="en">
	<title>Benji's blog !</title>
	<link>http://benjamin.sonntag.fr/</link>
	<description>Penguins, Internet, and random ravings</description>
	<language>en</language>
	<generator>SPIP - www.spip.net</generator>




<item xml:lang="fr">
		<title>Middlemen</title>
		<link>http://benjamin.sonntag.fr/Middlemen</link>
		<guid isPermaLink="true">http://benjamin.sonntag.fr/Middlemen</guid>
		<dc:date>2010-08-23T21:10:04Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Benjamin Sonntag</dc:creator>


		<dc:subject>Music</dc:subject>
		<dc:subject>Copinages</dc:subject>
		<dc:subject>RandomTofz</dc:subject>

		<description>Sans commentaires, savent ceux qui savent. Oberkampf est parfois une sorte de centre du monde.

-
&lt;a href="http://benjamin.sonntag.fr/Tofz-FR" rel="directory"&gt;Tofz FR&lt;/a&gt;

/ 
&lt;a href="http://benjamin.sonntag.fr/Music" rel="tag"&gt;Music&lt;/a&gt;, 
&lt;a href="http://benjamin.sonntag.fr/Copinages" rel="tag"&gt;Copinages&lt;/a&gt;, 
&lt;a href="http://benjamin.sonntag.fr/RandomTofz" rel="tag"&gt;RandomTofz&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Sans commentaires, savent ceux qui savent.
Oberkampf est parfois une sorte de centre du monde.&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_213 spip_documents spip_documents_center'&gt;
&lt;img src='http://benjamin.sonntag.fr/local/cache-vignettes/L500xH282/middlemen_2-c3278.jpg' width='500' height='282' alt=&quot;&quot; style='height:282px;width:500px;' /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_212 spip_documents spip_documents_center'&gt;
&lt;img src='http://benjamin.sonntag.fr/local/cache-vignettes/L500xH282/middlemen_1-eacff.jpg' width='500' height='282' alt=&quot;&quot; style='height:282px;width:500px;' /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_214 spip_documents spip_documents_center'&gt;
&lt;img src='http://benjamin.sonntag.fr/local/cache-vignettes/L500xH282/middlemen_3-95fd8.jpg' width='500' height='282' alt=&quot;&quot; style='height:282px;width:500px;' /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>La camargue, ses flamands roses, ce plat pays</title>
		<link>http://benjamin.sonntag.fr/La-camargue-ses-flamands-roses-ce-plat-pays</link>
		<guid isPermaLink="true">http://benjamin.sonntag.fr/La-camargue-ses-flamands-roses-ce-plat-pays</guid>
		<dc:date>2010-08-23T21:09:45Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Benjamin Sonntag</dc:creator>


		<dc:subject>Personnel</dc:subject>
		<dc:subject>RandomTofz</dc:subject>

		<description>Certains et certaines pr&#233;tendaient que la Picardie &#233;tait un plat pays. Ils ne sont pas all&#233;s en Camargue ! ... Les flamands roses le long du delta sur ces petits lacs changeants et cet horizon immense, infini comme celui des Flandres ...

-
&lt;a href="http://benjamin.sonntag.fr/Tofz-FR" rel="directory"&gt;Tofz FR&lt;/a&gt;

/ 
&lt;a href="http://benjamin.sonntag.fr/Personnel" rel="tag"&gt;Personnel&lt;/a&gt;, 
&lt;a href="http://benjamin.sonntag.fr/RandomTofz" rel="tag"&gt;RandomTofz&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Certains et certaines pr&#233;tendaient que la Picardie &#233;tait un plat pays. Ils ne sont pas all&#233;s en Camargue ! ...&lt;/p&gt; &lt;p&gt;Les flamands roses le long du delta sur ces petits lacs changeants et cet horizon immense, infini comme celui des Flandres ...&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_211 spip_documents spip_documents_center'&gt;
&lt;img src='http://benjamin.sonntag.fr/local/cache-vignettes/L500xH375/flamands_rose_camargue-c24d4.jpg' width='500' height='375' alt=&quot;&quot; style='height:375px;width:500px;' /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Le Palais des Papes, Avignon</title>
		<link>http://benjamin.sonntag.fr/Le-Palais-des-Papes-Avignon</link>
		<guid isPermaLink="true">http://benjamin.sonntag.fr/Le-Palais-des-Papes-Avignon</guid>
		<dc:date>2010-08-23T21:09:31Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Benjamin Sonntag</dc:creator>


		<dc:subject>Personnel</dc:subject>
		<dc:subject>RandomTofz</dc:subject>

		<description>Le palais des Papes d'Avignon est un immense ch&#226;teau aux recoins et d&#233;dales nombreux, aux &#339;uvres d'art et d'artisans d'&#233;poque impressionnantes etc. L'int&#233;rieur du palais des Papes La cour du palais vue du pont d'Avignon

-
&lt;a href="http://benjamin.sonntag.fr/Tofz-FR" rel="directory"&gt;Tofz FR&lt;/a&gt;

/ 
&lt;a href="http://benjamin.sonntag.fr/Personnel" rel="tag"&gt;Personnel&lt;/a&gt;, 
&lt;a href="http://benjamin.sonntag.fr/RandomTofz" rel="tag"&gt;RandomTofz&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Le palais des Papes d'Avignon est un immense ch&#226;teau aux recoins et d&#233;dales nombreux, aux &#339;uvres d'art et d'artisans d'&#233;poque impressionnantes etc.&lt;/p&gt; &lt;p&gt; &lt;span class='spip_document_210 spip_documents spip_documents_center'&gt;
&lt;img src='http://benjamin.sonntag.fr/local/cache-vignettes/L500xH375/palais_des_papes_Avignon_interieur-25fb8.jpg' width='500' height='375' alt=&quot;&quot; style='height:375px;width:500px;' /&gt;&lt;/span&gt;
&lt;i&gt;L'int&#233;rieur du palais des Papes&lt;/i&gt;&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_209 spip_documents spip_documents_center'&gt;
&lt;img src='http://benjamin.sonntag.fr/local/cache-vignettes/L500xH375/palais_des_papes_Avignon-81df3.jpg' width='500' height='375' alt=&quot;&quot; style='height:375px;width:500px;' /&gt;&lt;/span&gt;
&lt;i&gt;La cour du palais vue du pont d'Avignon&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>SPIP : mon CMS est compatible IPv6</title>
		<link>http://benjamin.sonntag.fr/SPIP-mon-CMS-est-compatible-IPv6</link>
		<guid isPermaLink="true">http://benjamin.sonntag.fr/SPIP-mon-CMS-est-compatible-IPv6</guid>
		<dc:date>2010-07-29T09:40:26Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Benjamin Sonntag</dc:creator>


		<dc:subject>Logiciels Libres</dc:subject>
		<dc:subject>Copinages</dc:subject>
		<dc:subject>www</dc:subject>

		<description>&#199;a y'est, depuis le 14 juillet 2010, Octopuce dispose de son bloc d'adresses IPv6 ind&#233;pendantes, &#224; savoir 2001:67c:288 ::/48. Nous avons donc commenc&#233; &#224; utiliser des adresses IPv6 pour divers clients int&#233;ress&#233;s pour &#234;tre dans une posture d'avenir ... Il est bien &#233;vident que mon blog est dans les premiers &#224; avoir d&#233;clar&#233; dans le DNS une double pile IPv4 + IPv6. Vous pouvez donc joindre ce blog via 91.194.60.70 ou 2001:67c:288 ::70 ! Or, j'utilise un CMS (un logiciel de gestion de contenu) pour mon blog, (...)

-
&lt;a href="http://benjamin.sonntag.fr/BlogFR" rel="directory"&gt;BlogFR&lt;/a&gt;

/ 
&lt;a href="http://benjamin.sonntag.fr/Logiciels-Libres,3" rel="tag"&gt;Logiciels Libres&lt;/a&gt;, 
&lt;a href="http://benjamin.sonntag.fr/Copinages" rel="tag"&gt;Copinages&lt;/a&gt;, 
&lt;a href="http://benjamin.sonntag.fr/www" rel="tag"&gt;www&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;&#199;a y'est, depuis le 14 juillet 2010, Octopuce dispose de son bloc d'adresses IPv6 ind&#233;pendantes, &#224; savoir 2001:67c:288 ::/48. Nous avons donc commenc&#233; &#224; utiliser des adresses IPv6 pour divers clients int&#233;ress&#233;s pour &#234;tre dans une posture d'avenir ...&lt;/p&gt; &lt;p&gt;Il est bien &#233;vident que mon blog est dans les premiers &#224; avoir d&#233;clar&#233; dans le DNS une double pile IPv4 + IPv6. Vous pouvez donc joindre ce blog via 91.194.60.70 ou 2001:67c:288 ::70 !&lt;/p&gt; &lt;p&gt;Or, j'utilise un CMS (un logiciel de gestion de contenu) pour mon blog, nomm&#233; SPIP. La question du jour est donc : SPIP est-il compatible IPv6 ? Et bien voici la r&#233;ponse ...&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Pour qu'un logiciel &quot;web&quot; (une application PHP, Ruby, Python ou Perl h&#233;berg&#233;e sur un site web) soit compatible IPv6, il y a 2 possibilit&#233;s :&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://benjamin.sonntag.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; l'application n'utilise nulle part le paradigme d'&quot;adresse IP&quot; et n'a donc que faire que l'internaute arrive sur le site via une IPv4 ou IPv6 ;&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://benjamin.sonntag.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; l'application utilise, compare, stocke ou se base sur l'IP pour quoi que ce soit, dans ce cas, il faut que l'application soit con&#231;ue pour marcher aussi bien avec une IPv4 qu'une IPv6.&lt;/p&gt; &lt;p&gt;SPIP est dans le premier cas sauf pour 1 chose : dans la table spip_forum, il stocke l'adresse IP de la personne ayant post&#233; le message.&lt;/p&gt; &lt;p&gt;Lorsque vous vous adressez au site via une IPv6, il voit donc votre IPv6 ...&lt;/p&gt; &lt;p&gt;Or, autant une IPv4 s'&#233;crit soit dans un entier non sign&#233; sur 32 bits, soit dans une cha&#238;ne d'au maximum 15 caract&#232;res, autant une IPv6 s'&#233;crit soit dans un entier non sign&#233; de 128bits, soit dans une cha&#238;ne de caract&#232;res d'au maximum 39 caract&#232;res !&lt;/p&gt; &lt;p&gt;Apr&#232;s v&#233;rification, la version de SPIP que j'utilise, &#224; savoir la 2.0.10, n'est pas compatible IPv6 : le champ &quot;IP&quot;de la table spip_forum fait 16 caract&#232;res maximum ...&lt;/p&gt; &lt;p&gt;Je vous propose donc d'ex&#233;cuter cette requ&#234;te sur votre base de donn&#233;es (typiquement via PhpMyAdmin) pour que SPIP soit compatible IPv6 enti&#232;rement :&lt;/p&gt; &lt;p&gt;&lt;code class='spip_code' dir='ltr'&gt; ALTER TABLE `spip_forum` CHANGE `ip` `ip` VARCHAR(40);&lt;/code&gt;&lt;/p&gt; &lt;p&gt;dur non ?&lt;/p&gt; &lt;p&gt;Et dans tous les cas : merci aux auteurs de ce fabuleux CMS pour la qualit&#233; du travail fourni, la flexibilit&#233; et la fiabilit&#233; de ce logiciel !&lt;/p&gt; &lt;p&gt;bien &#233;videmment, j'ai ouvert un ticket sur le trac de spip pour ce faire : &lt;a href='http://trac.rezo.net/trac/spip/ticket/1953' class='spip_out' rel='nofollow'&gt;http://trac.rezo.net/trac/spip/tick...&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Dans les prochains jours, nous nous attaquerons &#224; WordPress et IPv6 !&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>L'ange de la Bastille, Paris</title>
		<link>http://benjamin.sonntag.fr/L-ange-de-la-Bastille-Paris</link>
		<guid isPermaLink="true">http://benjamin.sonntag.fr/L-ange-de-la-Bastille-Paris</guid>
		<dc:date>2010-07-24T14:20:38Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Benjamin Sonntag</dc:creator>


		<dc:subject>Personnel</dc:subject>
		<dc:subject>RandomTofz</dc:subject>

		<description>L'ange de la place de la Bastille, vu de la rue du Faubourg Saint Antoine, &#224; la fronti&#232;re des 11e et 12e arrondissement de Paris, 14 juin 2010.

-
&lt;a href="http://benjamin.sonntag.fr/Tofz-FR" rel="directory"&gt;Tofz FR&lt;/a&gt;

/ 
&lt;a href="http://benjamin.sonntag.fr/Personnel" rel="tag"&gt;Personnel&lt;/a&gt;, 
&lt;a href="http://benjamin.sonntag.fr/RandomTofz" rel="tag"&gt;RandomTofz&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;L'ange de la place de la Bastille, vu de la rue du Faubourg Saint Antoine, &#224; la fronti&#232;re des 11e et 12e arrondissement de Paris, 14 juin 2010.&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_208 spip_documents spip_documents_center'&gt;
&lt;img src='http://benjamin.sonntag.fr/local/cache-vignettes/L500xH375/ange_de_la_bastille-6ddd5.jpg' width='500' height='375' alt=&quot;&quot; style='height:375px;width:500px;' /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Scrapbooking - Aline &amp; Animfolie's </title>
		<link>http://benjamin.sonntag.fr/Scrapbooking-Aline-Animfolie-s</link>
		<guid isPermaLink="true">http://benjamin.sonntag.fr/Scrapbooking-Aline-Animfolie-s</guid>
		<dc:date>2010-07-24T08:07:29Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Benjamin Sonntag</dc:creator>


		<dc:subject>Personnel</dc:subject>
		<dc:subject>Copinages</dc:subject>
		<dc:subject>www</dc:subject>

		<description>Un peu de copinage assum&#233; en cet &#233;t&#233; chaud et tranquille : ma petite s&#339;ur, Aline, a un blog, sur lequel elle raconte ses histoires de scrapbooking, de cr&#233;ations graphiques et de technique alliant papier, carton, objets divers coll&#233;s d&#233;coup&#233;s et reli&#233;s, avec ou sans consignes ... Donc, depuis d&#233;cembre 2009, Aline tiens un blog, &#233;tonnant non ? Pour ceux qui la connaissent, c'est &#233;vident : Aline aime fabriquer de petits objets, agencer cartons papier coutures et broderies avec rubans et belles (...)

-
&lt;a href="http://benjamin.sonntag.fr/BlogFR" rel="directory"&gt;BlogFR&lt;/a&gt;

/ 
&lt;a href="http://benjamin.sonntag.fr/Personnel" rel="tag"&gt;Personnel&lt;/a&gt;, 
&lt;a href="http://benjamin.sonntag.fr/Copinages" rel="tag"&gt;Copinages&lt;/a&gt;, 
&lt;a href="http://benjamin.sonntag.fr/www" rel="tag"&gt;www&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Un peu de copinage assum&#233; en cet &#233;t&#233; chaud et tranquille : ma petite s&#339;ur, Aline, a un blog, sur lequel elle raconte ses &lt;a href='http://www.animfolies.com/' class='spip_out'&gt;histoires de scrapbooking, de cr&#233;ations graphiques et de technique alliant papier, carton, objets divers coll&#233;s d&#233;coup&#233;s et reli&#233;s&lt;/a&gt;, avec ou sans consignes ...&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Donc, depuis d&#233;cembre 2009, Aline tiens un blog, &#233;tonnant non ? Pour ceux qui la connaissent, c'est &#233;vident : Aline aime fabriquer de petits objets, agencer cartons papier coutures et broderies avec rubans et belles typographies.&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_207 spip_documents spip_documents_center'&gt;
&lt;img src='http://benjamin.sonntag.fr/local/cache-vignettes/L493xH446/taline-f6814.jpg' width='493' height='446' alt=&quot;&quot; style='height:446px;width:493px;' /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;Dans la langue de 2010, on appelle cela du scrapbooking, que nos amis qu&#233;b&#233;cois appellent collimage ou cr&#233;acollage, et qui, visiblement parti de l'id&#233;e d'am&#233;liorer les tristounes albums photos de nos parents ou grands-parents, devient (du moins pour moi) un mot pratique pour d&#233;signer tout un ensemble de loisirs cr&#233;atifs et graphiques souvent bas&#233;s sur des photos.&lt;/p&gt; &lt;p&gt;Bref, tout cela pour vous inviter &#224; jeter un oeil aux quelques cr&#233;ations d'Aline et de son blog de scrapbooking ;)&lt;/p&gt; &lt;p&gt;tout est l&#224; : &lt;a href='http://www.animfolies.com/' class='spip_out'&gt;http://www.animfolies.com/&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Arduino, pilote pour panneau de led Sure0832</title>
		<link>http://benjamin.sonntag.fr/Arduino-pilote-pour-panneau-de-led-Sure0832</link>
		<guid isPermaLink="true">http://benjamin.sonntag.fr/Arduino-pilote-pour-panneau-de-led-Sure0832</guid>
		<dc:date>2010-07-20T13:07:48Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Benjamin Sonntag</dc:creator>


		<dc:subject>Geekland</dc:subject>
		<dc:subject>Logiciels Libres</dc:subject>
		<dc:subject>Copinages</dc:subject>

		<description>Apr&#232;s mon voyage &#224; Berlin en janvier dernier, j'ai d&#233;couvert avec joie la plaquette &#233;lectronique de base Arduino, et le Lol Shield de Jimmie P Rodgers. Nous avions m&#234;me fait, avec Coucouf, un Tetris, un Pong et un Space Invader sur la base de ce m&#234;me couple Arduino+LolShield En mai dernier, apr&#232;s avoir acquis plusieurs panneaux de 8x32 leds de chez Sure, j'ai donc &#233;crit un pilote pour &#233;crire des textes sur ces panneaux, et voici donc comment ... C'est donc en mai 2010 que j'ai command&#233; 7 (...)

-
&lt;a href="http://benjamin.sonntag.fr/BlogFR" rel="directory"&gt;BlogFR&lt;/a&gt;

/ 
&lt;a href="http://benjamin.sonntag.fr/Geekland" rel="tag"&gt;Geekland&lt;/a&gt;, 
&lt;a href="http://benjamin.sonntag.fr/Logiciels-Libres,3" rel="tag"&gt;Logiciels Libres&lt;/a&gt;, 
&lt;a href="http://benjamin.sonntag.fr/Copinages" rel="tag"&gt;Copinages&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Apr&#232;s mon voyage &#224; Berlin en janvier dernier, j'ai d&#233;couvert avec joie la plaquette &#233;lectronique de base Arduino, et le &lt;a href='http://jimmieprodgers.com/kits/lolshield/' class='spip_out'&gt;Lol Shield de Jimmie P Rodgers&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Nous avions m&#234;me fait, avec Coucouf, un &lt;a href='http://benjamin.sonntag.fr/Jeux-pour-Arduino-Lol-Shield-Pong-Shoot-them-up-Tetris' class='spip_in'&gt;Tetris, un Pong et un Space Invader&lt;/a&gt; sur la base de ce m&#234;me couple Arduino+LolShield&lt;/p&gt; &lt;p&gt;En mai dernier, apr&#232;s avoir acquis plusieurs panneaux de 8x32 leds de chez Sure, j'ai donc &#233;crit un pilote pour &#233;crire des textes sur ces panneaux, et voici donc comment ...&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;C'est donc en mai 2010 que j'ai command&#233; 7 exemplaires du Sure0832, un panneau de 8 par 32 leds (rouge ici, mais il existe en vert ou orange). Ce panneau se pilote avec 3 fils, plus l'alimentation.&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_203 spip_documents spip_documents_center'&gt;
&lt;img src='http://benjamin.sonntag.fr/local/cache-vignettes/L500xH251/sure0832-0ed03.jpg' width='500' height='251' alt=&quot;&quot; style='height:251px;width:500px;' /&gt;&lt;/span&gt;
&lt;i&gt;un Sure0832 de face&lt;/i&gt;&lt;/p&gt; &lt;p&gt;J'ai donc cod&#233; une librairie pour piloter et afficher de jolis caract&#232;res de taille variable sur ce panneau, et le relier &#224; d'autres pour monter finalement une grande planche de bois contenant 7 panneaux mis bout &#224; bout !&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_204 spip_documents spip_documents_center'&gt;
&lt;img src='http://benjamin.sonntag.fr/local/cache-vignettes/L500xH83/Sure0832_2-b4ace.jpg' width='500' height='83' alt=&quot;&quot; style='height:83px;width:500px;' /&gt;&lt;/span&gt;
&lt;i&gt;Le led panel d'Octopuce !&lt;/i&gt;&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_205 spip_documents spip_documents_center'&gt;
&lt;img src='http://benjamin.sonntag.fr/local/cache-vignettes/L500xH264/Sure0832_3-6e517.jpg' width='500' height='264' alt=&quot;&quot; style='height:264px;width:500px;' /&gt;&lt;/span&gt;
&lt;i&gt;Le bloc &#233;lectronique avec l'arduino apparent pour faire &quot;artisanal&quot;&lt;/i&gt;&lt;/p&gt; &lt;p&gt;Avouons que l'arduino est un peu &quot;lent&quot; en CPU pure pour piloter tous ces panneau, mais le r&#233;sultat n'est pas mal du tout ...&lt;/p&gt; &lt;div id=&quot;page&quot; style=&quot;padding-left: 15px;&quot;&gt; &lt;a href=&quot;http://benjamin.sonntag.fr/download/sure0832_arduino.mp4&quot; style=&quot;display: block; width: 480px; height: 300px;&quot; id=&quot;player&quot;&gt;&lt;/a&gt; &lt;/div&gt; &lt;script&gt; flowplayer(&quot;player&quot;, &quot;flowplayer-3.1.4.swf&quot;, { clip: { autoPlay: false, scaling: 'fit', url: '/download/sure0832_arduino.mp4' }, play: { replayLabel: 'Rejouer' } }); &lt;/script&gt; &lt;p&gt;Petite anecdote : lors de la programmation de la librairie pour 1 panneau, cela marchait tr&#232;s bien. Arriv&#233; &#224; 2 ou plus, le programme plantait immanquablement. Je n'avais visiblement pas assez de RAM pour cela !&lt;/p&gt; &lt;p&gt;Apr&#232;s avoir &#233;pluch&#233; mon code, j'ai fini par trouver le coupable : le tableau contenant la police de caract&#232;re &#233;tait d&#233;clar&#233; comme &lt;code class='spip_code' dir='ltr'&gt;uint8_t font1[]&lt;/code&gt;. Or, ce n'&#233;tait pas une variable, mais juste une constante ! Il fallait bien &#233;videmment le d&#233;clarer comme &lt;code class='spip_code' dir='ltr'&gt;const uint8_t font1[]&lt;/code&gt; pour qu'il ne soit pas recopi&#233; en RAM (! !!) au d&#233;marrage du programme, mais uniquement utilis&#233; directement en flash !&lt;/p&gt; &lt;p&gt;(souvenez-vous que l'arduino a 32Ko de flash, mais uniquement 2Ko de RAM !!!)&lt;/p&gt; &lt;p&gt;Je vous confie donc le code de ma librairie, largement inspir&#233;s de divers exemples trouv&#233;s sur le web, l'ensemble de ce que je produit ici &#233;tant sous licence GPL v2 ou ult&#233;rieure.&lt;/p&gt; &lt;dl class='spip_document_206 spip_documents spip_documents_center'&gt;
&lt;dt&gt;&lt;a href=&quot;http://benjamin.sonntag.fr/IMG/bz2/Sure0832-tar.bz2&quot; title='BZip - 11.9 ko' type=&quot;application/x-bzip2&quot;&gt;&lt;img src='http://benjamin.sonntag.fr/local/cache-vignettes/L52xH52/bz2-eecab.png' width='52' height='52' alt='BZip - 11.9 ko' style='height:52px;width:52px;' /&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;dt class='spip_doc_titre' style='width:120px;'&gt;&lt;strong&gt;Sure 0832 Led Driver for Arduino&lt;/strong&gt;&lt;/dt&gt;
&lt;/dl&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="en">
		<title>Arduino driver for Sure0832 led panel</title>
		<link>http://benjamin.sonntag.fr/Arduino-driver-for-Sure0832-led-panel</link>
		<guid isPermaLink="true">http://benjamin.sonntag.fr/Arduino-driver-for-Sure0832-led-panel</guid>
		<dc:date>2010-07-20T13:07:37Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>Benjamin Sonntag</dc:creator>


		<dc:subject>Logiciels Libres</dc:subject>
		<dc:subject>Copinages</dc:subject>

		<description>When I went to Berlin, Germany in January 2010, I was glad to discover the Arduino electronic board, and the Lol Shield from Jimmie P Rodgers. We even made, with Coucouf, a Tetris, a Pong and a Space Invader based on the same board Arduino+LolShield In May 2010, after I bought a bunch of 8x32 led panels from Sure, I wrote a driver to write texts on those panels, and here is the result ... So, in may 2010, I bought 7 Sure0832 Led panels (they are red leds, but it also exist with green or (...)

-
&lt;a href="http://benjamin.sonntag.fr/BlogEN" rel="directory"&gt;BlogEN&lt;/a&gt;

/ 
&lt;a href="http://benjamin.sonntag.fr/Logiciels-Libres,3" rel="tag"&gt;Logiciels Libres&lt;/a&gt;, 
&lt;a href="http://benjamin.sonntag.fr/Copinages" rel="tag"&gt;Copinages&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;When I went to Berlin, Germany in January 2010, I was glad to discover the Arduino electronic board, and the &lt;a href='http://jimmieprodgers.com/kits/lolshield/' class='spip_out'&gt;Lol Shield from Jimmie P Rodgers&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;We even made, with Coucouf, a &lt;a href='http://benjamin.sonntag.fr/All-games-for-Arduino-Lol-Shield-Pong-Shoot-them-up-Tetris' class='spip_in'&gt;Tetris, a Pong and a Space Invader&lt;/a&gt; based on the same board Arduino+LolShield&lt;/p&gt; &lt;p&gt;In May 2010, after I bought a bunch of 8x32 led panels from Sure, I wrote a driver to write texts on those panels, and here is the result ...&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;So, in may 2010, I bought 7 Sure0832 Led panels (they are red leds, but it also exist with green or orange leds). This panel can be electronically driven by 3 pins, plus the power (5V).&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_203 spip_documents spip_documents_center'&gt;
&lt;img src='http://benjamin.sonntag.fr/local/cache-vignettes/L500xH251/sure0832-0ed03.jpg' width='500' height='251' alt=&quot;&quot; style='height:251px;width:500px;' /&gt;&lt;/span&gt;
&lt;i&gt;a Sure0832 led panel, front&lt;/i&gt;&lt;/p&gt; &lt;p&gt;So, I developed a library to drive this led panel and show nice variable-width characters (even european languages accents !), and link those panels together. I eventually managed to build a big wood plank with 7 led panels put end to end !&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_204 spip_documents spip_documents_center'&gt;
&lt;img src='http://benjamin.sonntag.fr/local/cache-vignettes/L500xH83/Sure0832_2-b4ace.jpg' width='500' height='83' alt=&quot;&quot; style='height:83px;width:500px;' /&gt;&lt;/span&gt;
&lt;i&gt;The Octopuce Led panel !&lt;/i&gt;&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_205 spip_documents spip_documents_center'&gt;
&lt;img src='http://benjamin.sonntag.fr/local/cache-vignettes/L500xH264/Sure0832_3-6e517.jpg' width='500' height='264' alt=&quot;&quot; style='height:264px;width:500px;' /&gt;&lt;/span&gt;
&lt;i&gt;The electronic bloc with Arduino shown to appear like a home-crafted stuff !&lt;/i&gt;&lt;/p&gt; &lt;p&gt;Of course, arduino is a little bit slow (its CPU power is not enough to be quick and fluent) to drive all those led panels, but the result is not that bad ...&lt;/p&gt; &lt;div id=&quot;page&quot; style=&quot;padding-left: 15px;&quot;&gt; &lt;a href=&quot;http://benjamin.sonntag.fr/download/sure0832_arduino.mp4&quot; style=&quot;display: block; width: 480px; height: 300px;&quot; id=&quot;player&quot;&gt;&lt;/a&gt; &lt;/div&gt; &lt;script&gt; flowplayer(&quot;player&quot;, &quot;flowplayer-3.1.4.swf&quot;, { clip: { autoPlay: false, scaling: 'fit', url: '/download/sure0832_arduino.mp4' }, play: { replayLabel: 'Rejouer' } }); &lt;/script&gt; &lt;p&gt;The funny geeky part : when I developed the library for 1 panel, it worked perfectly. When I tried with 2 or more, the program crashed every time. I didn't have enough RAM to do this!&lt;/p&gt; &lt;p&gt;After reading thoroughly my code to fix this, I finally found the problem: the array containing the characters glyphs was declared that way: &lt;code class='spip_code' dir='ltr'&gt;uint8_t font1[]&lt;/code&gt;. But this was no variable data, it's obviously constant data! I should have declared this array that way: &lt;code class='spip_code' dir='ltr'&gt;const uint8_t font1[]&lt;/code&gt; so that it don't get copied into RAM when the program starts!&lt;/p&gt; &lt;p&gt;(remember that arduino have 32KB of flash memory, but only 2KB of RAM!!)&lt;/p&gt; &lt;p&gt;To conclude, you can download the code below, which is the library I developed thanks to many other guys on the Internet who made parts of the job. All what I publish is given under a GPL v2 or later license.&lt;/p&gt; &lt;dl class='spip_document_206 spip_documents spip_documents_center'&gt;
&lt;dt&gt;&lt;a href=&quot;http://benjamin.sonntag.fr/IMG/bz2/Sure0832-tar.bz2&quot; title='BZip - 11.9 kb' type=&quot;application/x-bzip2&quot;&gt;&lt;img src='http://benjamin.sonntag.fr/local/cache-vignettes/L52xH52/bz2-eecab.png' width='52' height='52' alt='BZip - 11.9 kb' style='height:52px;width:52px;' /&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;dt class='spip_doc_titre' style='width:120px;'&gt;&lt;strong&gt;Sure 0832 Led Driver for Arduino&lt;/strong&gt;&lt;/dt&gt;
&lt;/dl&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Apple : service push notification HS</title>
		<link>http://benjamin.sonntag.fr/Apple-service-push-notification-HS</link>
		<guid isPermaLink="true">http://benjamin.sonntag.fr/Apple-service-push-notification-HS</guid>
		<dc:date>2010-06-25T12:04:30Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Benjamin Sonntag</dc:creator>


		<dc:subject>Geekland</dc:subject>
		<dc:subject>Copinages</dc:subject>
		<dc:subject>www</dc:subject>

		<description>Dans le monde d'Internet, il y a toujours mille bonnes raisons qu'un service plante. et aujourd'hui, le service Push Notification d'Apple est HS, et voici o&#249; et pourquoi je vais vous en parler ... Dans mon m&#233;tier, je me dois d'assurer une disponibilit&#233; maximale et donc, de faire constamment attention &#224; tous les SPOF pr&#233;sents dans notre infrastructure. un SPOF, ou &quot;Single Point Of Failure&quot;, est un endroit physique (cable, carte r&#233;seau, serveur etc.) ou logique (un service, un programme, une donn&#233;e) (...)

-
&lt;a href="http://benjamin.sonntag.fr/BlogFR" rel="directory"&gt;BlogFR&lt;/a&gt;

/ 
&lt;a href="http://benjamin.sonntag.fr/Geekland" rel="tag"&gt;Geekland&lt;/a&gt;, 
&lt;a href="http://benjamin.sonntag.fr/Copinages" rel="tag"&gt;Copinages&lt;/a&gt;, 
&lt;a href="http://benjamin.sonntag.fr/www" rel="tag"&gt;www&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Dans le monde d'Internet, il y a toujours mille bonnes raisons qu'un service plante. et aujourd'hui, le service Push Notification d'Apple est HS, et voici o&#249; et pourquoi je vais vous en parler ...&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Dans mon m&#233;tier, je me dois d'assurer une disponibilit&#233; maximale et donc, de faire constamment attention &#224; tous les SPOF pr&#233;sents dans notre infrastructure.
&lt;span class='spip_document_202 spip_documents spip_documents_right' style='float:right; width:372px;'&gt;
&lt;img src='http://benjamin.sonntag.fr/local/cache-vignettes/L372xH303/breakdown-96f52.png' width='372' height='303' alt=&quot;&quot; style='height:303px;width:372px;' /&gt;&lt;/span&gt;
un SPOF, ou &quot;Single Point Of Failure&quot;, est un endroit physique (cable, carte r&#233;seau, serveur etc.) ou logique (un service, un programme, une donn&#233;e) qui, s'il tombait en panne, rendrait un service inutilisable.&lt;/p&gt; &lt;p&gt;Ainsi, un site web qui ne serait que sur un seul serveur a pour SPOF ce serveur web : si le serveur tombe, le site est inaccessible.&lt;/p&gt; &lt;p&gt;Le probl&#232;me qui nous pr&#233;occupe aujourd'hui est que souvent, nous d&#233;pendons de la qualit&#233; de service d'un tiers, et cela peut s'av&#233;rer parfois compliqu&#233; de montrer que la faute n'est pas de notre c&#244;t&#233; ...&lt;/p&gt; &lt;p&gt;Ce jour donc, un client (Fabien, auteur de &lt;a href='http://www.appnotifications.com/' class='spip_out'&gt;l'application iPhone Notifications&lt;/a&gt;, que je vous recommande chaudement) m'appelle pour me signaler un probl&#232;me avec nos serveurs r&#233;cursifs DNS (appel&#233;s resolvers en anglais), &#224; savoir les serveurs charg&#233;s de r&#233;soudre les adresses des sites web et IP pour nos clients.&lt;/p&gt; &lt;p&gt;Voici le probl&#232;me constat&#233; : &lt;strong&gt;gateway.push.apple.com&lt;/strong&gt; n'a pas d'IP pour nos resolvers, alors que depuis chez Fabien, cela marche ...&lt;/p&gt; &lt;p&gt;J'ai donc pu, ce jour, constater que m&#234;me lorsque l'on s'appelle Apple, on n'est pas &#224; l'abri d'un SPOF, &#224; savoir ici le DNS.&lt;/p&gt; &lt;p&gt;&#201;tonnamment, le DNS est cens&#233; &#234;tre un service exempt de SPOF : lorsqu'un serveur ne r&#233;pond pas, on s'adresse logiquement au suivant. Sauf qu'ici, le serveur r&#233;pond bien, il r&#233;pond juste qu'il est cass&#233; (SERVFAIL) ... et dans ce cas, ok l'ami, on n'insiste pas, tu es cass&#233;, on reviendra plus tard ...&lt;/p&gt; &lt;p&gt;Voici donc comment nous avons pu constater cette panne (encore valable quelques heures apr&#232;s, d'o&#249; cet article :) )&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;benjamin@mg:~$ dig +trace gateway.push.apple.com&lt;br /&gt; (je vous passe les d&#233;tails, mais on obtient finalement ...)&lt;br /&gt; push.apple.com. 86400 IN NS nserver2.apple.com.&lt;br /&gt; push.apple.com. 86400 IN NS nserver4.apple.com.&lt;br /&gt; push.apple.com. 86400 IN NS nserver3.apple.com.&lt;br /&gt; push.apple.com. 86400 IN NS nserver.apple.com.&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;et donc, pas de r&#233;ponse (ni A ni CNAME) ...
Et l'on voit que l'on est bloqu&#233; &#224; push.apple.com.&lt;/p&gt; &lt;p&gt;J'investigue donc &quot;&#224; la main&quot; en interrogeant directement les serveurs DNS concern&#233;s :&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;benjamin@mg:~$ dig +short gateway.push.apple.com @nserver.apple.com&lt;br /&gt; gateway.push-apple.com.akadns.net.&lt;br /&gt; et les 3 autres : &lt;br /&gt; benjamin@mg:~$ dig gateway.push.apple.com @nserver2.apple.com&lt;br /&gt; ;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: SERVFAIL, id: 62966&lt;br /&gt; benjamin@mg:~$ dig gateway.push.apple.com @nserver3.apple.com&lt;br /&gt; ;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: SERVFAIL, id: 40492&lt;br /&gt; benjamin@mg:~$ dig gateway.push.apple.com @nserver4.apple.com&lt;br /&gt; ;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: SERVFAIL, id: 56660&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;C'est assez explicite, SERVFAIL signifie que la zone sur ce serveur est cass&#233;e ...&lt;/p&gt; &lt;p&gt;Cons&#233;quence de cela : si votre serveur dns a interrog&#233; nserver.apple.com, cela marchera (le temps du cache) sinon vous garderez en m&#233;moire que ce nom de domaine est cass&#233; ...&lt;/p&gt; &lt;p&gt;PS : ce petit article vise aussi &#224; vous recommander tr&#232;s chaudement &lt;strong&gt;dig&lt;/strong&gt;, le couteau suisse du DNS !&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="en">
		<title>Nice style for forced form fields</title>
		<link>http://benjamin.sonntag.fr/Nice-style-for-forced-form-fields</link>
		<guid isPermaLink="true">http://benjamin.sonntag.fr/Nice-style-for-forced-form-fields</guid>
		<dc:date>2010-05-12T12:44:28Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>Benjamin Sonntag</dc:creator>


		<dc:subject>Geekland</dc:subject>
		<dc:subject>Logiciels Libres</dc:subject>

		<description>These days, thanks to Chantal and Nicolas, I made many usability improvements to AlternC, the web control panel software suite, the free software project I started long ago... During my development phase, I created a nice style to show &quot;forced text fields&quot; in web forms. Those text input fields used when part of the field content is locked. How does it work and how does it looks like ?... Ugly usual text fields When surfing the web, we often fill forms, text areas, check boxes etc. This (...)

-
&lt;a href="http://benjamin.sonntag.fr/BlogFR" rel="directory"&gt;BlogFR&lt;/a&gt;

/ 
&lt;a href="http://benjamin.sonntag.fr/Geekland" rel="tag"&gt;Geekland&lt;/a&gt;, 
&lt;a href="http://benjamin.sonntag.fr/Logiciels-Libres,3" rel="tag"&gt;Logiciels Libres&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;These days, thanks to Chantal and &lt;a href='http://www.un-millieme.net/' class='spip_out'&gt;Nicolas&lt;/a&gt;, I made many usability improvements to &lt;a href='http://www.alternc.org/' class='spip_out'&gt;AlternC, the web control panel software suite&lt;/a&gt;, the free software project I started long ago...&lt;/p&gt; &lt;p&gt;During my development phase, I created a nice style to show &quot;forced text fields&quot; in web forms. Those text input fields used when part of the field content is locked.&lt;/p&gt; &lt;p&gt;How does it work and how does it looks like ?...&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h3 class=&quot;spip&quot;&gt;Ugly usual text fields&lt;/h3&gt;
&lt;p&gt;When surfing the web, we often fill forms, text areas, check boxes etc. This is even our main usage of the Web : when you search something using a search engine, or when you send an email using a webmail, you are filling forms and fields ...&lt;/p&gt; &lt;p&gt;Sometimes, you only have to put the beginning or the end of the form field value&lt;/p&gt; &lt;p&gt;e.g.: I want to create an email address on my domain name. I have to enter the email address, but the domaine part should be fixed and forced.&lt;/p&gt; &lt;p&gt;Historically, when doing this using AlternC, you find this form : a text area followed by @yourdomain.net, showing the right side already filled.&lt;/p&gt; &lt;p&gt;Graphically, it looks like a classical form field as follow :&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_197 spip_documents spip_documents_center'&gt;
&lt;img src='http://benjamin.sonntag.fr/local/cache-vignettes/L446xH113/style1-bf070.png' width='446' height='113' alt=&quot;&quot; style='height:113px;width:446px;' /&gt;&lt;/span&gt;&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;A hype text field&lt;/h3&gt;
&lt;p&gt;Some days ago, trying to find a usable way of showing this, I had the following idea (I say I had this idea since I never saw this elsewhere) : we can use CSS styles to show something more obvious for human being. So I ended up with this:&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_198 spip_documents spip_documents_center'&gt;
&lt;img src='http://benjamin.sonntag.fr/local/cache-vignettes/L500xH143/style2-bd81b.png' width='500' height='143' alt=&quot;&quot; style='height:143px;width:500px;' /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;There is many differences between those 2 forms, but the one we are interested in is the field where you can enter your email address.&lt;/p&gt; &lt;p&gt;In the second case, we understand that we will fill a text field that will be an email address. The cursor is align to the right, and right before the domain name and @ sign.
The HTML are using a CSS style so that we cannot see any difference between both of them. And there is no javascript tricks that will prevent the user to change the domain name : it's not even inside the text field !&lt;/p&gt; &lt;p&gt;This idea is simple, and I invite my fellow developers to use this kind of trick without any limitation : as long as it make a form more usable for your end user (ask him if you have any doubt ;) ).&lt;/p&gt; &lt;p&gt;Technically, it's simple:&lt;/p&gt; &lt;p&gt;HTML-side :&lt;/p&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;&lt;input type=&quot;text&quot; name=&quot;addresse&quot; id=&quot;adrtxt&quot; class=&quot;int&quot; /&gt;&lt;span class=&quot;int&quot; id=&quot;adrlbl&quot;&gt;@mondomaine.net&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;CSS-side :&lt;/p&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;.int {&lt;br /&gt; border: 1px dotted black;&lt;br /&gt; background-color: white;&lt;br /&gt; font-family: Verdana, Arial, Helvetica, sans-serif;&lt;br /&gt; font-size: 11px;&lt;br /&gt; padding: 2px;&lt;br /&gt; color: black;&lt;br /&gt; }&lt;br /&gt; #adrlbl {&lt;br /&gt; border-left: none;&lt;br /&gt; padding-left: 0px;&lt;br /&gt; text-align: right;&lt;br /&gt; }&lt;br /&gt; #adrtxt {&lt;br /&gt; border-right: none;&lt;br /&gt; padding-right: 0px;&lt;br /&gt; }&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;Finally, more tricks &amp; tips I just remember :&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://benjamin.sonntag.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; list the words and terms you are using for each part of your software. For example, we are using &quot;email address&quot;, and not &quot;email&quot;, &quot;mail&quot;, or &quot;mail account&quot;. Build a glossary your developers will have to follow.
&lt;br /&gt;&lt;img src=&quot;http://benjamin.sonntag.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; use radio button instead of dropdown lists if you want, unless the number of items may grow large (an example is shown below) :&lt;/p&gt; &lt;p&gt;before : &lt;span class='spip_document_199 spip_documents spip_documents_center'&gt;
&lt;img src='http://benjamin.sonntag.fr/local/cache-vignettes/L373xH134/style3-59ea3.png' width='373' height='134' alt=&quot;&quot; style='height:134px;width:373px;' /&gt;&lt;/span&gt;
after : &lt;span class='spip_document_200 spip_documents spip_documents_center'&gt;
&lt;img src='http://benjamin.sonntag.fr/local/cache-vignettes/L385xH203/style4-54ac3.png' width='385' height='203' alt=&quot;&quot; style='height:203px;width:385px;' /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://benjamin.sonntag.fr/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; Leave some space inside your forms : the human eye need some kind of freedom to see things. For example, in the 2 forms below, you will see that there is more space between elements in the second form, but the border is also less visible, we are using a light gray: the eye can freely navigate inside this form.&lt;/p&gt; &lt;p&gt;And finally, if I remember other ideas regarding website or forms usability, I will post them here ;)&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
