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

<channel>
	<title>Geekfault &#187; Tito</title>
	<atom:link href="http://geekfault.org/author/tito/feed/" rel="self" type="application/rss+xml" />
	<link>http://geekfault.org</link>
	<description>If it doesn&#039;t segfault, you&#039;re doing it wrong.</description>
	<lastBuildDate>Tue, 08 May 2012 17:13:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Retrouver un laptop volé</title>
		<link>http://geekfault.org/2012/04/13/retrouver-un-laptop-vole/</link>
		<comments>http://geekfault.org/2012/04/13/retrouver-un-laptop-vole/#comments</comments>
		<pubDate>Fri, 13 Apr 2012 10:10:26 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[Geeklife]]></category>
		<category><![CDATA[Logiciel]]></category>
		<category><![CDATA[sécurité]]></category>
		<category><![CDATA[anti-vol]]></category>
		<category><![CDATA[laptop]]></category>
		<category><![CDATA[localisation]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[prey]]></category>
		<category><![CDATA[tracking]]></category>
		<category><![CDATA[vol]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=6103</guid>
		<description><![CDATA[Pour ne pas vous raconter ma vie, j&#8217;étais en vacances familiales en Floride et nous avons fait la grave erreur de laisser nos sacs dans la voiture, plus de deux heures sans surveillance. Les malfrats d&#8217;Orlando ne nous ont pas pardonné : 5 laptops volés ! (sans compter les disques durs et nos passeports). Le [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2010/05/13/linux-laptop-ultimate-powersaving/' rel='bookmark' title='Linux &#8211; Laptop &#8211; Ultimate Powersaving !'>Linux &#8211; Laptop &#8211; Ultimate Powersaving !</a></li>
<li><a href='http://geekfault.org/2009/07/12/transformer-laptop-en-routeur-wifi/' rel='bookmark' title='Partager la connexion de son laptop'>Partager la connexion de son laptop</a></li>
<li><a href='http://geekfault.org/2009/05/27/internet-via-iphone/' rel='bookmark' title='Internet sur votre laptop via un iPhone'>Internet sur votre laptop via un iPhone</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://geekfault.org/wp-content/uploads/2012/04/Burglar.jpg" title="Burglar" rel="lightbox.6103"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2012/04/Burglar-300x219.jpg" alt="" title="Burglar" width="300" height="219" class="alignleft size-medium wp-image-6115" /></a>Pour ne pas vous raconter ma vie, j&#8217;étais en vacances familiales en Floride et nous avons fait la grave erreur de laisser nos sacs dans la voiture, plus de deux heures sans surveillance. Les malfrats d&#8217;Orlando ne nous ont pas pardonné : <strong>5 laptops volés !</strong> (sans compter les disques durs et nos passeports).</p>
<p>Le policier qui dressait le constat nous a demandé s&#8217;il y avait un <strong>système de tracking</strong> sur un des laptops. Honte à moi, je prévoyais de l&#8217;installer à mon retour&#8230;<br />
<!--more--></p>
<h3>Mieux vaut prévenir&#8230;</h3>
<p>Évidemment, personne n&#8217;aimerait voir son laptop se faire voler. Mais si on ne s&#8217;y est pas préparé, le retrouver sera probablement impossible. Même si dans tous les cas la probabilité de le retrouver reste faible, <strong>pourquoi ne pas mettre toutes les chances de votre côté</strong> ?</p>
<h3>Identification</h3>
<p>La première information qui aurait pu être utile et que nous n&#8217;avons malheureusement pas pu communiquer aux policiers, c&#8217;est <strong>un moyen d&#8217;identifier l&#8217;ordinateur</strong> ! Prenez donc le temps de noter sur une feuille de papier et/ou quelque part dans le Cloud les informations discriminantes de votre laptop :</p>
<ul>
<li>Sa <strong>marque</strong> et <strong>modèle</strong></li>
<li>Son <strong>numéro de série</strong></li>
<li>Ses éventuels <strong>numéros tracking</strong> propres au constructeur</li>
<li>Ses <strong>adresses MAC</strong> (Ethernet, WiFi, WiMax, Bluetooth)</li>
</ul>
<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;' align="right"   src="http://geekfault.org/wp-content/uploads/2012/04/Serial-Number.jpg" alt="" title="Serial-Number" width="258" height="193" class="alignright size-full wp-image-6117" />Ce n&#8217;est pas grand chose mais si la police venait à retrouver une centaine de laptops dans une cache, ils pourraient probablement vous restituer le vôtre.</p>
<p>Si votre laptop est volé, avoir son numéro de série va vous permettre de l&#8217;inscrire sur plusieurs listes :</p>
<ul>
<li><strong><a href="http://www.stolen-property.com/laptop-theft.php">Stolen-Property</a></strong>, <strong><a href="http://www.stolencomputers.org">StolenComputers</a></strong> et bien d&#8217;autres sont des <strong>bases de données de numéros de série d&#8217;ordinateurs volés</strong>. Un acheteur consciencieux devrait toujours obtenir le numéro de série avant d&#8217;acheter et l&#8217;entrer sur ces sites.</li>
<li>La <strong>hotline du constructeur</strong> garde généralement ce genre de listes. Si quelqu&#8217;un les contactait pour de l&#8217;assistance sur votre machine, ils pourraient vous en informer.</li>
</ul>
<p>Bien sûr, ces solutions sont des &#8220;long shot&#8221;. Si vous souhaitez être plus proactif dans la récupération de votre ordinateur, il va falloir s&#8217;orienter vers des solutions logicielles voire matérielles&#8230;</p>
<h3>Solutions logicielles</h3>
<p><a href="http://geekfault.org/wp-content/uploads/2012/04/Prey-Report.png" title="Prey-Report" rel="lightbox.6103"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2012/04/Prey-Report-188x580.png" alt="" title="Prey-Report" width="188" height="580" class="alignleft size-large wp-image-6106" /></a>Vous avez probablement déjà entendu parler de telles solutions : vous installez un logiciel de tracking sur votre machine et un site gratuit ou payant vous permet de le <strong>localiser</strong>, de prendre <strong>une photo webcam</strong> et de collecter d&#8217;autres informations.</p>
<p>La solution que je recommande parce qu&#8217;elle est aboutie, puissante et pourtant <strong>Open-Source</strong> est <a href="http://preyproject.com/">Prey</a>. Cette solution <strong>gratuite</strong> est disponible sur toutes les plateformes : Windows, MacOS, Linux et même iOS et Android !</p>
<p><a href="http://geekfault.org/wp-content/uploads/2012/04/Prey-Settings.png" title="Prey-Settings" rel="lightbox.6103"><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;' align="right"   src="http://geekfault.org/wp-content/uploads/2012/04/Prey-Settings-150x150.png" alt="" title="Prey-Settings" width="150" height="150" class="alignright size-thumbnail wp-image-6108" /></a>Par défaut Prey fonctionne de manière <strong>centralisée</strong> sur les serveurs du projets. Cela le rend très facile d&#8217;utilisation mais avec <strong>quelques options payantes</strong> heureusement achetables après le vol.</p>
<p>Dans sa version &#8220;geek&#8221;, Prey est entièrement décentralisé, se basant sur votre propre système, et donc sans aucun risque pour votre vie privée. Je vous recommande aussi de vous renseigner sur <a href="http://adeona.cs.washington.edu/">Adeona</a> une solution encore plus sûre mais toujours développement.</p>
<p>Attention tout de même : n&#8217;oubliez pas que ces solutions nécessitent que <strong>votre ordinateur se connecte à Internet</strong> ! Pour cette raison, je recommande de laisser un <strong>compte &#8220;invité&#8221;</strong> sans aucun droits d&#8217;accès mais qui suffira au voleur. Évidemment la solution logicielle ne survivra pas au formatage de l&#8217;ordinateur.</p>
<h3>Solution matérielle</h3>
<p>Mis à part essayer de faire tenir dans votre chassis <a href="http://shop.ebay.fr/i.html?_nkw=gps+gsm+tracking+system">un de ces appareils</a> servant à espionner votre femme/enfants/employé, je ne connais qu&#8217;une solution qui <strong>résiste à un reformatage du PC</strong> : Computrace.</p>
<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;' align="right"   src="http://geekfault.org/wp-content/uploads/2012/04/Computrace1-300x139.jpg" alt="" title="Computrace" width="300" height="139" class="alignright size-medium wp-image-6128" />Très peu connue du grand public, <strong>Computrace</strong>, commercialisé sous le nom <strong>LoJack for Laptops</strong>, est une technologie d&#8217;Absolute Software inclue dans la plupart des ordinateurs récents (<a href="http://www.absolute.com/partners/bios-compatibility">liste de compatibilité</a>). Les mauvaises langues diront que Computrace est un <strong>trojan caché dans le BIOS</strong> de ces machines et ils n&#8217;auraient pas tout à fait tort. Puisqu&#8217;il est contenu dans le BIOS, ce petit script est <strong>impossible à supprimer</strong>. S&#8217;il le faut, il se réinstalle au démarrage ce qui le rend même immunisé à un changement du disque dur.</p>
<p>A la manière de Prey, il contacte toutes les 24 heures les serveurs de Computrace pour voir si la machine a été volée (puis toutes les 20 minutes si c&#8217;est le cas) et permet de localiser l&#8217;ordinateur ou en effacer les données si requis. Malheureusement, en plus de nécessiter <strong>Windows ou MacOS</strong> pour fonctionner,  c&#8217;est une solution commerciale qui nécessite de payer un <strong>abonnement annuel</strong> (minimum 30$/an) et de <strong>configurer la machine avant</strong> qu&#8217;elle ne soit volée.</p>
<p><em>(Petite note d&#8217;inquiétude pour le geek qui est en vous : Computrace semble contacter les serveurs d&#8217;Absolute Software même s&#8217;il n&#8217;a jamais été activé. Serions-nous trahis par notre BIOS ? Heureusement que leur technologie n&#8217;est pas compatible Linux&#8230;)</em></p>
<h3>Conclusion</h3>
<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;' align="right"   src="http://geekfault.org/wp-content/uploads/2012/04/Laptop-secure.jpg" alt="" title="Laptop-secure" width="285" height="203" class="alignright size-full wp-image-6121" />Voilà j&#8217;espère que je vous aurai convaincu de prendre quelques minutes de votre temps pour préparer le pire. En tout cas, moi j&#8217;ai installé Prey sur tous les nouveaux laptops que nous avons dû acheter suite à nos mésaventures.</p>
<p>Pour pousser le vice plus loin, n&#8217;oubliez pas de chiffrer vos données sensibles et de révoquer vos clés et mots de passe si nécessaire.</p>
<p>Pour en savoir plus, je vous invite à <a href="http://preyproject.com/blog/cat/recoveries">lire les récits de récupérations</a> grâce à Prey ou, pourquoi pas, expliquer en commentaire comment vous sécurisez votre précieux PC.</p>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2010/05/13/linux-laptop-ultimate-powersaving/' rel='bookmark' title='Linux &#8211; Laptop &#8211; Ultimate Powersaving !'>Linux &#8211; Laptop &#8211; Ultimate Powersaving !</a></li>
<li><a href='http://geekfault.org/2009/07/12/transformer-laptop-en-routeur-wifi/' rel='bookmark' title='Partager la connexion de son laptop'>Partager la connexion de son laptop</a></li>
<li><a href='http://geekfault.org/2009/05/27/internet-via-iphone/' rel='bookmark' title='Internet sur votre laptop via un iPhone'>Internet sur votre laptop via un iPhone</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2012/04/13/retrouver-un-laptop-vole/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Lancer votre dual-booting Windows dans une VirtualBox</title>
		<link>http://geekfault.org/2011/10/14/lancer-votre-dual-booting-windows-dans-une-virtualbox/</link>
		<comments>http://geekfault.org/2011/10/14/lancer-votre-dual-booting-windows-dans-une-virtualbox/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 17:48:32 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[Logiciel]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[raw]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[virtualisation]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=6053</guid>
		<description><![CDATA[Mes études me forcent à utiliser des logiciels disponibles uniquement sous Microsoft Windows. Sur ma nouvelle machine j&#8217;ai donc décidé de laisser le Windows en dual-boot. Mais je souhaite aussi pouvoir le lancer virtualisé dans mon environnement Linux ! Avec un peu d&#8217;astuce c&#8217;est tout à fait possible, grâce au mode d&#8217;accès disque &#8220;raw&#8221;. Voici [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/08/14/faille-critique-dans-tous-les-noyaux-linux/' rel='bookmark' title='Faille critique dans tous les noyaux Linux'>Faille critique dans tous les noyaux Linux</a></li>
<li><a href='http://geekfault.org/2009/03/27/keymap-linux-sous-windows/' rel='bookmark' title='Keymap Linux sous Windows'>Keymap Linux sous Windows</a></li>
<li><a href='http://geekfault.org/2010/03/09/openvz-virtualisation-legere-performante-et-amusante/' rel='bookmark' title='OpenVZ : virtualisation légère, performante et amusante'>OpenVZ : virtualisation légère, performante et amusante</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://geekfault.org/wp-content/uploads/2011/10/Windows-in-VirtualBox.png" title="Windows-in-VirtualBox" rel="lightbox.6053"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2011/10/Windows-in-VirtualBox-300x168.png" alt="" title="Windows-in-VirtualBox" width="300" height="168" class="alignleft size-medium wp-image-6057" /></a>Mes études me forcent à utiliser des logiciels disponibles uniquement sous Microsoft Windows. Sur ma nouvelle machine j&#8217;ai donc décidé de laisser le Windows en dual-boot. Mais je souhaite aussi pouvoir le lancer <strong>virtualisé</strong> dans mon environnement Linux !</p>
<p>Avec un peu d&#8217;astuce c&#8217;est tout à fait possible, grâce au mode d&#8217;accès disque &#8220;raw&#8221;. Voici comment j&#8217;ai réussi à lancer mon Windows physique à l&#8217;intérieur d&#8217;une VirtualBox.<br />
<!--more--></p>
<h3>Préparation</h3>
<p>Je présuppose que vous avez déjà une installation dual-boot fonctionnelle. Dans votre environnement Linux, installez VirtualBox ainsi que l&#8217;utilitaire mbr :<br />
<code># apt-get install virtualbox mbr</code><br />
Si vous souhaitez lancer cette machine virtuelle en tant qu&#8217;utilisateur, nous devons ajouter l&#8217;user aux groupes nécessaires :<br />
<code># gpasswd -a tito vboxusers<br />
# gpasswd -a tito disk</code><br />
Finalement, essayez de retrouver votre CD d&#8217;installation de Windows.</p>
<h3>Création du disque virtuel</h3>
<p>Pour permettre à VirtualBox de lancer Windows, nous devons créer un disque virtuel bootable. Pour cela on crée un Master Boot Record. Il faut d&#8217;abord identifier où se trouve votre Windows. Le mien, comme beaucoup d&#8217;installations constructeur de nos jours, tient en deux partitions : la boot sur /dev/sda1 et le système sur /dev/sda2. Je suppose que vous saurez aisément situer le vôtre.<br />
<code>$ mkdir Virtual7 &#038;&#038; cd Virtual7<br />
$ install-mbr -e12 --force ./vm.mbr</code><br />
Remarquez l&#8217;option -e12 qui signifie &#8220;partitions 1 et 2&#8243;, modifiez selon votre système!</p>
<p>Nous créons maintenant le disque virtuel :<br />
<code>$ VBoxManage internalcommands createrawvmdk -filename ./win7.vmdk -rawdisk /dev/sda -partitions 1,2 -mbr ./vm.mbr -relative</code><br />
À nouveau, modifiez les arguments rawdisk et partitions selon votre système.</p>
<h3>Création de la VirtualBox</h3>
<p>Vous pouvez maintenant lancer l&#8217;interface graphique de VirtualBox et créer une nouvelle machine virtuelle. Lorsque l&#8217;assistant demande le disque dur virtuel, allez chercher le fichier Virtual7/win7.vmdk.<br />
<a href="http://geekfault.org/wp-content/uploads/2011/10/Capture-Créer-une-nouvelle-machine-virtuelle.png"><img style=' display: block; margin-right: auto; margin-left: auto;' align="center"   src="http://geekfault.org/wp-content/uploads/2011/10/Capture-Créer-une-nouvelle-machine-virtuelle-580x365.png" alt="" title="Créer une nouvelle machine virtuelle" width="580" height="365" class="aligncenter size-large wp-image-6054" /></a></p>
<h3>Réparer Windows</h3>
<p>Si vous essayez de lancer la machine virtuelle maintenant, Windows vous gratifiera d&#8217;une jolie erreur vous demandant de démarrer sur le CD d&#8217;installation pour réparation. <strong>C&#8217;est tout à fait normal!</strong></p>
<p>Après avoir monté votre CD d&#8217;installation Windows dans VirtualBox, bootez à partir de celui-ci. Choisissez vos options linguistiques et cliquez sur &#8220;Réparer l&#8217;installation&#8221;. La machine virtuelle va redémarrer sous votre Windows!</p>
<h3>Problèmes divers</h3>
<ul>
<li>Dans certains cas, la configuration par défaut de VirtualBox ne permet pas de démarrer Windows 7, ni même son CD de réparation! (Erreur 0xc0000225) Pour régler le problème, dans la configuration de la machine virtuelle cochez &#8220;<strong>Activer les IO-APIC</strong>&#8221; sous l&#8217;onglet Système.</li>
<li>Étrangement, la réparation du démarrage de Windows a modifié le comportement vis-à-vis de GRUB. J&#8217;ai donc modifié mon /boot/grub/grub.conf pour que Windows démarre depuis (hd0,1) plutôt que (hd0,0).</li>
<li>Même s&#8217;il sont bien pratique en milieu virtualisé, les additions client (guest addons) de VirtualBox font planter Windows lorsqu&#8217;il est lancé physiquement. Ne les installez donc pas.</li>
</ul>
<h3>En savoir plus</h3>
<ul>
<li><a href="http://www.rajatarya.com/website/taming-windows-virtualbox-vm">Taming Windows 7 in a VM</a></li>
<li><a href="http://www.virtualbox.org/manual/ch09.html#rawdisk">VirtualBox raw host hard disk from a guest</a></li>
<li><a href="http://bbesnard.over-blog.com/article-virtualisation-erreur-0xc0000225-virtual-box-win2008-server-r2-59594322.html">Erreur 0xc0000225</a></li>
</ul>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/08/14/faille-critique-dans-tous-les-noyaux-linux/' rel='bookmark' title='Faille critique dans tous les noyaux Linux'>Faille critique dans tous les noyaux Linux</a></li>
<li><a href='http://geekfault.org/2009/03/27/keymap-linux-sous-windows/' rel='bookmark' title='Keymap Linux sous Windows'>Keymap Linux sous Windows</a></li>
<li><a href='http://geekfault.org/2010/03/09/openvz-virtualisation-legere-performante-et-amusante/' rel='bookmark' title='OpenVZ : virtualisation légère, performante et amusante'>OpenVZ : virtualisation légère, performante et amusante</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2011/10/14/lancer-votre-dual-booting-windows-dans-une-virtualbox/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Prolongez la vie de vos batteries au lithium</title>
		<link>http://geekfault.org/2011/08/02/prolongez-la-vie-batteries-au-lithium/</link>
		<comments>http://geekfault.org/2011/08/02/prolongez-la-vie-batteries-au-lithium/#comments</comments>
		<pubDate>Tue, 02 Aug 2011 14:04:40 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[Geeklife]]></category>
		<category><![CDATA[Matériel]]></category>
		<category><![CDATA[accumulateur]]></category>
		<category><![CDATA[batterie]]></category>
		<category><![CDATA[entretien]]></category>
		<category><![CDATA[lithium]]></category>
		<category><![CDATA[planet-libre]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=6019</guid>
		<description><![CDATA[À chaque fois qu&#8217;un ami achète un nouvel ordinateur il me demande comment faire pour que sa batterie au lithium ait une vie longue et prospère. Quand et comment les recharger pour qu&#8217;elles durent plus longtemps? Faut-il attendre qu&#8217;elles soient vides? Faut-il les enlever lorsqu&#8217;on n&#8217;a qu&#8217;une utilisation sédentaire? Voici donc un petit survol technique [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2010/05/13/linux-laptop-ultimate-powersaving/' rel='bookmark' title='Linux &#8211; Laptop &#8211; Ultimate Powersaving !'>Linux &#8211; Laptop &#8211; Ultimate Powersaving !</a></li>
<li><a href='http://geekfault.org/2009/06/30/geek-en-avion/' rel='bookmark' title='Un geek en vacances'>Un geek en vacances</a></li>
<li><a href='http://geekfault.org/2009/05/07/mosquito/' rel='bookmark' title='Mosquito, l&#8217;hélicoptère d&#8217;intérieur trois voies'>Mosquito, l&#8217;hélicoptère d&#8217;intérieur trois voies</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://geekfault.org/wp-content/uploads/2011/08/battery.jpg" title="battery" rel="lightbox.6019"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2011/08/battery-300x225.jpg" alt="" title="battery" width="300" height="225" class="alignleft size-medium wp-image-6031 noborder" /></a>À chaque fois qu&#8217;un ami achète un nouvel ordinateur il me demande comment faire pour que sa batterie au lithium ait une vie longue et prospère. Quand et comment les recharger pour qu&#8217;elles durent plus longtemps? Faut-il attendre qu&#8217;elles soient vides? Faut-il les enlever lorsqu&#8217;on n&#8217;a qu&#8217;une utilisation sédentaire?</p>
<p>Voici donc un petit survol technique sur la vie et la mort des batteries au lithium qui, je l&#8217;espère, vous permettra de comprendre comment prolonger la durée de vie de vos batteries.<br />
<!--more--></p>
<h3>Principe de fonctionnement</h3>
<p>La base du fonctionnement d&#8217;une batterie au lithium peut être résumée à un échange (revérsible lors de la recharge) d&#8217;<a href="http://fr.wikipedia.org/wiki/Ion">ions</a> de lithium entre les électrodes de la batterie.</p>
<p>Vous avez sans doute déjà entendu plusieurs termes techniques obscurs tels que lithium-ion (Li-Io), lithium-polymère (Li-Po), lithium-air, etc. Celles-ci désignent des batteries au fonctionnement similaire mais utilisant des matériaux différents comme électrodes ou électrolyte. Cependant ces variations sont plus rares que le lithium-ion et l&#8217;entretien est relativement similaire.</p>
<h3>Capacité d&#8217;une batterie</h3>
<p>La principale caractéristique d&#8217;une batterie est sa capacité (à pleine charge) exprimée en Watt-heures (noté Wh). Une batterie de 1Wh peut fournir une puissance de 1 watt pendant 1 heure. Une batterie typique de laptop ayant une capacité de 50Wh (pouvant donc en théorie fournir 50W pendant 1h), tiendra en fait 5 heures si l&#8217;ordinateur consomme 10W.<a href="http://geekfault.org/wp-content/uploads/2011/08/Capacity.jpg" title="11,1V * 4,4Ah = 49Wh" rel="lightbox.6019"><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;' align="right"   src="http://geekfault.org/wp-content/uploads/2011/08/Capacity-300x225.jpg" alt="" title="11,1V * 4,4Ah = 49Wh" width="300" height="225" class="alignright size-medium wp-image-6034" /></a></p>
<p>D&#8217;autres batteries voient leur capacité affichées en ampère-heure (Ah) dans ce cas-là elles précisent aussi leur tension nominale. Puisque A×V = W, multiplier la tension par la capacité en Ah vous donnera la capacité en Wh.</p>
<p>Au fil de la vie d&#8217;une batterie, c&#8217;est cette capacité à pleine charge qui va décroître. Si vous êtes sous Linux, ACPI permet d&#8217;accéder à ces informations vitales sur l&#8217;état de votre batterie :</p>
<div style="clear:both;">
<code>$ cat /proc/acpi/battery/BAT*/info<br />
design capacity:         3800 mAh<br />
last full capacity:      3347 mAh</code></div>
<p>On voit ici que ma batterie de plus de 3 ans est en très bon état pour son âge puisqu&#8217;elle a une capacité apparente de 3347/3800 = 88% !</p>
<h3>Principal avantage du lithium : pas d&#8217;effet mémoire</h3>
<p>L&#8217;effet mémoire, principalement observé sur les batteries utilisant des alliages au nickel, est une perte de capacité observée lorsqu&#8217;on recharge la batterie avant qu&#8217;elle soit vide ou qu&#8217;on ne la recharge pas jusqu&#8217;au bout.</p>
<p>En plus de leur poids et volume plus faible, le principal avantage des batteries au lithium est <strong>l&#8217;absence totale d&#8217;effet mémoire</strong> ! Il est donc <strong>inutile</strong> (et même contreproductif, voir section suivante) <strong>de les déchager complètement avant de les recharger</strong>.</p>
<h3>Mort d&#8217;une cellule</h3>
<p>Une cellule au lithium chargée fournit 3,6 à 3,7 Volts. Cependant elles ne doivent jamais dépasser cette valeur (sous peine d&#8217;explosion) ni tomber sous 2,4V sous peine de mort pure et simple de la cellule. Pour cette raison les batteries au lithium incluent un circuit de contrôle qui les éteint avant d&#8217;atteindre ce seuil critique.</p>
<p>Il n&#8217;est donc pas dangereux de vider une batterie au lithium jusqu&#8217;à extinction de l&#8217;appareil, mais <strong>il est dangereux de les laisser dans cet état déchargé</strong>! En effet, les batteries n&#8217;étant pas parfaites, elles présentent un phénomène d&#8217;auto-décharge qui pourrait les faire passer sous ce seuil critique de 2,4V.</p>
<p>De plus, à l&#8217;intérieur d&#8217;une cellule déchargée, des cristaux peuvent se former sur les électrodes et nuire à la capacité de la batterie. Il ne faut donc <strong>jamais laisser une batterie déchargée</strong>. Rechargez-la dès que possible.</p>
<p>Pour les mêmes raison, si vous pensez ne plus utiliser votre batterie durant plusieurs semaines, <strong>stockez-la chargée à environ 40%</strong>, une valeur limitant l&#8217;auto-décharge.</p>
<h3>Cycles de décharge/recharge</h3>
<p><a href="http://geekfault.org/wp-content/uploads/2011/08/Capacity-over-cycles.jpg" title="Capacity-over-cycles" rel="lightbox.6019"><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;' align="right"   src="http://geekfault.org/wp-content/uploads/2011/08/Capacity-over-cycles-300x216.jpg" alt="" title="Capacity-over-cycles" width="300" height="216" class="alignright size-medium wp-image-6030" /></a>Après ce cas extrême, parlons de l&#8217;utilisation normale de la batterie : des cycles de décharge et recharge. Ces cycles entraînent l&#8217;usure normale de la batterie. Selon la qualité des éléments utilisés par votre constructeur, <strong>votre batterie pourra survivre de 300 à 1500 cycles</strong> avant de présenter une perte importante de capacité.</p>
<p>On compte un cycle à chaque fois que vous utilisez entièrement la capacité de votre batterie. Ainsi, décharger à 50% et recharger une batterie compte pour un demi cycle; deux fois cela fera un cycle.</p>
<p>Pour prolonger la durée de votre batterie il faut donc faire le moins de cycles possibles et le conseil sera donc de <strong>brancher votre laptop sur secteur dès que possible</strong>. N&#8217;oubliez pas qu&#8217;il n&#8217;y aucun effet mémoire et donc aucune raison d&#8217;hésiter!</p>
<h3>Utilisation sédentaire d&#8217;un appareil à batterie</h3>
<p>On entend souvent dire que lorsqu&#8217;on est toujours branché sur secteur il vaut mieux retirer la batterie de son laptop. Cette idée reçue est essentiellement fausse car le circuit de contrôle de la batterie évitera toute surcharge.</p>
<p>Débranchée, la batterie risquerait de s&#8217;auto-décharger sous le seuil critique de 2,4V alors que branchée elle se remettra à charger dès qu&#8217;elle tombera sous les 95%. Remarquons qu&#8217;il est toutefois vrai que la chaleur peut altérer une batterie mais dans un ordinateur bien conçu elle ne chauffera pas à ce point.</p>
<h3>Les conseils de Tito</h3>
<ul>
<li><strong>Première utilisation: </strong> Commencez par décharger votre nouvelle batterie et mettez-la à charger dès qu&#8217;elle est vide. Faites deux ou trois cycles complets (décharge jusqu&#8217;à 0%, recharge jusqu&#8217;à 100%) pour étalonner la puce de contrôle et de mesure.</li>
<li><strong>Branchez-vous sur secteur dès que possible.</strong> Cela évitera des cycles d&#8217;utilisation inutiles.</li>
<li><strong>Ne laissez jamais votre batterie déchargée!</strong> Une batterie vide s’abîme rapidement.</li>
<li><strong>Si vous devez stocker votre batterie, chargez-la à environ 40%</strong>, un bon compromis face au risque d&#8217;auto-décharge.</li>
<li><strong>Il est inutile de retirer votre batterie de votre laptop si vous êtes toujours sur secteur.</strong> En plus, ça vous immunisera contre les pannes électriques <img src='http://geekfault.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
</ul>
<h3>Plus d&#8217;informations</h3>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Lithium-ion_battery">WikiPedia : Lithium-ion battery</a></li>
<li><a href="http://www.electronics-lab.com/articles/Li_Ion_reconstruct/index.html">Electronics Lab : How to rebuild a Li-Ion battery pack</a></li>
<li><a href="http://electronics.howstuffworks.com/everyday-tech/lithium-ion-battery1.htm">How Stuff Works : Lithium-ion battery</a></li>
<li><a href="http://batteryuniversity.com/learn/article/how_to_prolong_lithium_based_batteries">What Causes Lithium-ion to Age?</a></li>
</ul>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2010/05/13/linux-laptop-ultimate-powersaving/' rel='bookmark' title='Linux &#8211; Laptop &#8211; Ultimate Powersaving !'>Linux &#8211; Laptop &#8211; Ultimate Powersaving !</a></li>
<li><a href='http://geekfault.org/2009/06/30/geek-en-avion/' rel='bookmark' title='Un geek en vacances'>Un geek en vacances</a></li>
<li><a href='http://geekfault.org/2009/05/07/mosquito/' rel='bookmark' title='Mosquito, l&#8217;hélicoptère d&#8217;intérieur trois voies'>Mosquito, l&#8217;hélicoptère d&#8217;intérieur trois voies</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2011/08/02/prolongez-la-vie-batteries-au-lithium/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Reverse SSH : accéder à un serveur derrière un NAT/Firewall</title>
		<link>http://geekfault.org/2011/02/19/reverse-ssh-acceder-a-un-serveur-derriere-un-natfirewall/</link>
		<comments>http://geekfault.org/2011/02/19/reverse-ssh-acceder-a-un-serveur-derriere-un-natfirewall/#comments</comments>
		<pubDate>Sat, 19 Feb 2011 14:30:35 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[réseau]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[nat]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tunnel]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=5530</guid>
		<description><![CDATA[Le SSH tout le monde le sait, c&#8217;est magique. Mais malheureusement ça ne marche pas OOTB. On a tous en tête plusieurs situations où on s&#8217;est dit &#8220;Damn, si seulement j&#8217;avais un accès SSH sur cette machine&#8221;, la machine étant inaccessible parce que derrière un firewall ou routeur NAT que vous ne contrôlez pas. Imaginez [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/27/lighttpd-php-iphone/' rel='bookmark' title='Serveur Lighttpd avec PHP sur iPhone'>Serveur Lighttpd avec PHP sur iPhone</a></li>
<li><a href='http://geekfault.org/2009/12/14/facebook-lancer-son-serveur-xmpp/' rel='bookmark' title='Facebook s&#8217;apprêterait à lancer son serveur XMPP'>Facebook s&#8217;apprêterait à lancer son serveur XMPP</a></li>
<li><a href='http://geekfault.org/2009/05/14/tunnel-ssh/' rel='bookmark' title='Le tunnel SSH facile'>Le tunnel SSH facile</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://geekfault.org/wp-content/uploads/2011/02/ssh.jpg" title="ssh" rel="lightbox.5530"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2011/02/ssh-300x196.jpg" alt="" title="ssh" width="300" height="196" class="alignleft size-medium wp-image-5699" /></a>Le SSH tout le monde le sait, c&#8217;est magique. Mais malheureusement ça ne marche pas OOTB. On a tous en tête plusieurs situations où on s&#8217;est dit &#8220;Damn, si seulement j&#8217;avais un accès SSH sur cette machine&#8221;, la machine étant inaccessible parce que derrière un firewall ou routeur NAT que vous ne contrôlez pas.</p>
<p>Imaginez avoir accès en SSH à la machine de ce noob qui ne sait pas configurer son NAT. Ou bien vous assurer que votre laptop soit toujours joignable en SSH peu importe la connexion sur laquelle il est&#8230;</p>
<p><a href="http://www.youtube.com/watch?v=U4oB28ksiIo&#038;t=3m12s">Cette conférence du DEF-Con</a> m&#8217;a interloqué : comment le mec a repris la main sur une machine qui était probablement derrière un NAT? Peut-être grâce au reverse SSH !<br />
<!--more--></p>
<h3>Principe de fonctionnement</h3>
<p>Le principe est assez simple : c&#8217;est l&#8217;ordinateur derrière le NAT (nous l&#8217;appellerons <strong><em>distant</em></strong>) qui doit établir la première connexion. Il établit en fait un <a href="http://geekfault.org/2009/05/14/tunnel-ssh/">tunnel SSH</a> vers vous (nous l&#8217;appellerons <strong><em>local</em></strong>) et ainsi en remontant le tunnel dans l&#8217;autre sens on accède très facilement à la destination.</p>
<div style="text-align:center;"><img src="http://geekfault.org/wp-content/uploads/2011/02/reverse-ssh.png" alt="" title="reverse-ssh" width="580" height="154" class="alignnone size-full wp-image-5702" /></div>
<p>On suppose donc que la connexion SSH vers l&#8217;ordinateur <strong>local</strong> est aisée (serveur dédié ou NAT bien configuré).</p>
<h3>Avantages</h3>
<p><a href="http://geekfault.org/wp-content/uploads/2011/02/reverse-ssh-firewall.jpg" title="reverse-ssh-firewall" rel="lightbox.5530"><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;' align="right"   src="http://geekfault.org/wp-content/uploads/2011/02/reverse-ssh-firewall-300x189.jpg" alt="" title="reverse-ssh-firewall" width="300" height="189" class="alignright size-medium wp-image-5705" /></a>
<ul>
<li>Plus besoin de connaître ou de modifier la configuration du réseau sur lequel est branché distant pour pouvoir y établir une connexion SSH. Tant que le port 22 est ouvert en outgoing ça fonctionnera (on peut même envisager de déplacer le serveur de local sur un port moins restreint tel que le 80 ou 443)</li>
<li>Plus besoin de connaître l&#8217;IP où se trouve distant, c&#8217;est lui qui établit le contact vers local</li>
</ul>
<h3>Vérifiez la configuration du serveur SSH local</h3>
<p>Il faut que le serveur sur local autorise les tunnels (<strong>/etc/ssh/sshd_config</strong>) :<br />
<code>AllowTcpForwarding yes</code></p>
<h3>Let&#8217;s go!</h3>
<p>Sur <strong>distant</strong> (la machine inaccessible), créez le tunnel :<br />
<code>distant$ ssh -NR 22222:localhost:22 user@local</code><br />
Bien entendu local est l&#8217;IP de votre machine et user est un utilisateur qui y a accès.</p>
<p>Une fois le tunnel établi, il ne vous reste plus qu&#8217;à remonter le tunnel pour établir la connexion SSH depuis <strong>local</strong> :<br />
<code>local$ ssh -p 22222 user@127.0.0.1</code></p>
<h3>Service au démarrage</h3>
<p>Avec <strong>autossh</strong> (disponible dans le package manager de votre distro préférée) et une <a href="http://geekfault.org/2009/05/15/ssh-sans-mot-de-passe/">connexion SSH sans mot de passe</a>, vous pouvez très facilement créer un script de démarrage sur distant pour que le tunnel soit toujours récréé sans intervention humaine :<br />
<code># autossh -i /path/to/privateKey.rsa -NR 22222:localhost:22 user@local</code></p>
<p>Il vous suffit d&#8217;ajouter cette commande dans vos scripts de boot (/etc/rc.local par exemple).</p>
<h3>Aller plus loin</h3>
<p>Ici nous utilisons du SSH pour ouvrir l&#8217;accès à un serveur SSH, mais on pourrait envisager d&#8217;ouvrir l&#8217;accès à n&#8217;importe quel serveur qui tournerait sur distant, par exemple un serveur web pour du <a href="http://geekfault.org/2010/02/20/monitoring-munin/">monitoring Munin</a> :<br />
<code>distant$ ssh -NR 22280:localhost:80 user@local<br />
local$ firefox "http://127.0.0.1:22280"</code></p>
<p>Vous l&#8217;aurez compris, vous pouvez aussi centraliser sur votre serveur (&#8220;local&#8221;) des tunnels venant de tous les n00bs que vous aidez régulièrement, l&#8217;astuce est de remplacer 22222 dans les diverses commandes citées sur cette page par un autre code de port compris entre 1024 et 65535. Et de maintenir une liste exhaustive de ceux-ci !</p>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/27/lighttpd-php-iphone/' rel='bookmark' title='Serveur Lighttpd avec PHP sur iPhone'>Serveur Lighttpd avec PHP sur iPhone</a></li>
<li><a href='http://geekfault.org/2009/12/14/facebook-lancer-son-serveur-xmpp/' rel='bookmark' title='Facebook s&#8217;apprêterait à lancer son serveur XMPP'>Facebook s&#8217;apprêterait à lancer son serveur XMPP</a></li>
<li><a href='http://geekfault.org/2009/05/14/tunnel-ssh/' rel='bookmark' title='Le tunnel SSH facile'>Le tunnel SSH facile</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2011/02/19/reverse-ssh-acceder-a-un-serveur-derriere-un-natfirewall/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Devenez miroir de Wikileaks sans risque (corrigé)</title>
		<link>http://geekfault.org/2010/12/05/devenez-miroir-de-wikileaks-sans-risque/</link>
		<comments>http://geekfault.org/2010/12/05/devenez-miroir-de-wikileaks-sans-risque/#comments</comments>
		<pubDate>Sat, 04 Dec 2010 23:14:55 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[Actualité]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[chroot]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[sftp]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[wikileaks]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=5476</guid>
		<description><![CDATA[Bon, d&#8217;habitude on se refuse de parler politique sur Geekfault&#8230; Mais on ne peut pas se taire plus longtemps sur ce qui se passe du côté de Wikileaks. En tant que geeks nous devons nous lever et protester contre ces atteintes à la liberté d&#8217;expression sur Internet. Wikileaks a aujourd&#8217;hui publié sa solution à la [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/15/ssh-sans-mot-de-passe/' rel='bookmark' title='SSH sans mot de passe'>SSH sans mot de passe</a></li>
<li><a href='http://geekfault.org/2010/05/09/choisir-son-keymap-x-org-1-8-sans-xorg-conf-ni-hack/' rel='bookmark' title='Choisir son keymap X.org 1.8 sans xorg.conf ni hack'>Choisir son keymap X.org 1.8 sans xorg.conf ni hack</a></li>
<li><a href='http://geekfault.org/2010/07/15/zeroconf-reseaux-ip-sans-configuration/' rel='bookmark' title='Zeroconf : Réseaux IP sans configuration'>Zeroconf : Réseaux IP sans configuration</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://geekfault.org/wp-content/uploads/2010/12/wikileaks.png" title="wikileaks" rel="lightbox.5476"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2010/12/wikileaks-130x300.png" alt="" title="wikileaks" width="130" height="300" class="alignleft size-medium wp-image-5479 noborder" /></a>Bon, d&#8217;habitude on se refuse de parler politique sur Geekfault&#8230; Mais on ne peut pas se taire plus longtemps sur ce qui se passe du côté de Wikileaks. En tant que geeks nous devons nous lever et protester contre ces atteintes à la liberté d&#8217;expression sur Internet.</p>
<p>Wikileaks a aujourd&#8217;hui publié sa solution à la censure : le mirroring. Si Wikileaks est consultable sur des centaines de noms de domaine et des centaines d&#8217;IPs, il sera d&#8217;autant plus difficile de tous les faire taire.</p>
<p>A noter que cet article, bien qu&#8217;entièrement orienté autour de ce sujet, s&#8217;applique aussi si vous souhaitez offrir à quelqu&#8217;un <strong>un accès SSH chrooté et aux commandes limitées</strong>.</p>
<p><em><strong>Mise à jour :</strong> Mes mesures de sécurité étaient trop optimistes : Rsync n&#8217;utilise pas du SFTP mais doit pouvoir lancer un serveur Rsync sur sa destination en SSH. Voici donc une nouvelle version de cet article, testé et approuvé.</em><br />
<!--more--></p>
<h3>Le problème</h3>
<p>Pour décentraliser la chose, les administrateurs de Wikileaks demande à tous les volontaires de leur offrir un accès en SSH à leur serveur pour pouvoir y pousser un miroir de Wikileaks et le garder à jour grâce à Rsync.</p>
<p>Ca qui m&#8217;a dérangé c&#8217;est le fait de donner un accès SSH à des inconnus sur mon serveur. Mais la solution existe : <strong>CHROOTER</strong> ce compte à un endroit où il ne peut faire aucun mal au système. Voici comment faire.</p>
<p><strong>Attention : cet article ne porte bien évidemment pas sur la sécurisation de votre serveur. Il présente juste une manière d&#8217;éviter que les administrateurs de Wikileaks (que vous ne connaissez pas) aient trop de libertés sur votre serveur (et, oui, je suis paranoïaque sur le coup).</strong></p>
<p><em>NB : Si vous souhaitez devenir très simplement un miroir Wikileaks et que vous leur faites entièrement confiance, les étapes &#8220;<a href="#creerutilisateur">Créer l’utilisateur</a>&#8220;, &#8220;<a href="#virtualhost">Configurer un nom de domaine et un VirtualHost</a>&#8221; et &#8220;<a href="#soumettre">Soumettre votre miroir à Wikileaks</a>&#8221; sont suffisantes.</em></p>
<h3>Sécuriser OpenSSH</h3>
<p>On va donner à Wikileaks (ou toute personne ayant leur clé RSA privée) un accès SSH sur notre serveur. Mais on ne veut prendre aucun risque : cet accès n&#8217;aura aucune autre possibilité que de déposer des fichiers là où on l&#8217;y autorise, c&#8217;est-à-dire dans sa <em>home</em>.</p>
<p>Pour cela, modifiez votre fichier <strong>/etc/ssh/sshd_config</strong>. Vérifiez d&#8217;abord que vous avez ces trois lignes qui autorisent la <a href="http://geekfault.org/2009/05/15/ssh-sans-mot-de-passe/">connexion avec une clé publique RSA</a>.<br />
<code>RSAAuthentication yes<br />
PubkeyAuthentication yes<br />
AuthorizedKeysFile      %h/.ssh/authorized_keys</code></p>
<p>Dernièrement, à la fin du fichier créez une nouvelle règle d&#8217;override telle que celle-ci :<br />
<code>Match user wikileaks<br />
         ChrootDirectory /home/wikileaks<br />
         X11Forwarding no<br />
         AllowTcpForwarding no</code><br />
Cette règle est assez explicite et fait simplement en sorte que l&#8217;utilisateur <strong>wikileaks</strong> soit Chrooté dans sa home. Redémarrez SSHd.</p>
<h3 id="creerutilisateur">Créer l&#8217;utilisateur</h3>
<p>Rien de bien sorcier :<br />
<code># mkdir /home/wikileaks<br />
# useradd -d /home/wikileaks -s /bin/bash wikileaks<br />
# chown wikileaks:wikileaks /home/wikileaks</code></p>
<p>Ensuite autorisons la connexion des administrateurs de Wikileaks :<br />
<code># su - wikileaks<br />
$ mkdir ~/.ssh<br />
$ wget http://wikileaks.ch/id_rsa.pub -O ~/.ssh/authorized_keys<br />
$ chmod 600 ~/.ssh/authorized_keys</code></p>
<p>Pour finir, n&#8217;oublions pas de créer le répertoire où sera hébergé le miroir :<br />
<code>$ mkdir ~/www</code></p>
<h3>Créer l&#8217;environnement chroot</h3>
<p>Pour qu&#8217;un chroot fonctionne correctement, il faut que sa racine appartienne à root. Nous créons aussi les deux répertoires indipensables à l&#8217;exécution d&#8217;un rsync : <strong>/bin</strong> et <strong>/lib</strong>.<br />
<code># chown root:root /home/wikileaks<br />
# mkdir /home/wikileaks/bin<br />
# mkdir /home/wikileaks/lib</code></p>
<p>Ensuite copions les binaires nécessaires pour faire un Rsync :<br />
<code># cp `which bash` /home/wikileaks/bin/bash<br />
# cp `which rsync` /home/wikileaks/bin/rsync</code></p>
<p>Pour que ces binaires fonctionnent, il faut aussi copier les librairies nécessaires. Pour lister ces librairies vous pouvez exécuter un <strong>ldd</strong> puis copiez une à une ces libraires<br />
<code># ldd `which bash` `which rsync`<br />
# cp /lib/libncurses.so.5 /home/wikileaks/lib/<br />
...</code><br />
Attention : si votre serveur est un système <strong>64bits</strong> il faudra créer le dossier <strong>/home/wikileaks/lib64/</strong> et le peupler avec les librairies venant de <strong>/lib64</strong>.</p>
<p>Au final vous devriez arriver à une structure proche de celle-ci :<br />
<code>bin<br />
 |- bash<br />
 |- rsync<br />
lib<br />
 |- ld-linux.so.2<br />
 |- libacl.so.1<br />
 |- libattr.so.1<br />
 |- libc.so.6<br />
 |- libdl.so.2<br />
 |- libncurses.so.5<br />
 |- libpopt.so.0</code><br />
Dès maintenant, si on se chroote dans /home/wikileaks on n&#8217;aura que très très peu de possibilités : les commandes internes à bash et rsync.</p>
<h3>Un dummyshell</h3>
<p>Oui, je suis d&#8217;accord, les commandes internes de bash c&#8217;est encore trop! Nous permettons un accès SSH qui pourrait potentiellement lancer une fork bomb par exemple. Nous allons donc créer un shell stupide qui ne permet que de lancer un serveur Rsync. Créez le fichier <strong>/home/wikileaks/bin/dummyshell</strong> :<br />
<code lang="bash">#!/bin/bash<br />
if (( $# == 0 )); then<br />
        printf "%s\n" "shell access is disabled. sorry."<br />
        exit 1<br />
elif (( $# == 2 )) &#038;&#038; [[ $1 == "-c" &#038;&#038; $2 == "rsync --server"* ]]; then<br />
        exec $2<br />
fi</code></p>
<p>Il faut ensuite le rendre exécutable et utilisé comme shell par défaut de l&#8217;utilisateur :<br />
<code># chmod +x /home/wikileaks/bin/dummyshell<br />
# ln -s /home/wikileaks/bin/dummyshell /bin/dummyshell<br />
# usermod -s /bin/dummyshell wikileaks</code><br />
C&#8217;est maintenant officiel, <strong>l&#8217;utilisateur wikileaks ne peut rien faire de plus que lancer un serveur Rsync</strong> ! Et il y a aussi la sécurité du Chroot.</p>
<h3>Test</h3>
<p>Je vous recommande de tester le tout, pour être sûr que Wikileaks pourra uploader son site sur votre serveur. Pour cela ajoutez votre propre clé RSA dans une nouvelle ligne de /home/wikileaks/.ssh/authorized_keys et tentez d&#8217;envoyer un fichier :<br />
<code>$ rsync -ave ssh test.html wikileaks@votreServeur:/www</code></p>
<p>Vous pouvez également éprouver la sécurité en tentant de vous connecter en SSH ou d&#8217;exécuter une commande en SSH -t.</p>
<h3 id="virtualhost">Configurer un nom de domaine et un VirtualHost</h3>
<p>Je suppose que vous vous en sortirez sur ce point-là : créez un nom de domaine (ou un sous-domaine) pour votre miroir et configurez votre serveur web en conséquence.</p>
<p>Le DocumentRoot à spécifier est bien <strong>/home/wikileaks/www</strong></p>
<p>Profitez-en pour empêcher l&#8217;exécution de scripts sur le répertoire :<br />
<code lang="xml"><Directory "/home/wikileaks/www"><br />
        AllowOverride None<br />
        Options -ExecCGI<br />
</Directory></code></p>
<h3 id="soumettre">Soumettre votre miroir à Wikileaks</h3>
<p>Rendez-vous sur <a href="http://46.59.1.2/mass-mirror.html">http://46.59.1.2/mass-mirror.html</a> et soumettez votre miroir !</p>
<p>Sous &#8220;<em>absolute path where we should upload the html data</em>&#8221; mettez simplement <strong>&#8220;/www/&#8221;</strong>.<br />
<a href="http://geekfault.org/wp-content/uploads/2010/12/wikileaks-submit.png" title="wikileaks-submit" rel="lightbox.5476"><img style=' display: block; margin-right: auto; margin-left: auto;' align="center"   src="http://geekfault.org/wp-content/uploads/2010/12/wikileaks-submit-580x225.png" alt="" title="wikileaks-submit" width="580" height="225" class="aligncenter size-large wp-image-5480" /></a></p>
<p>Normalement Wikileaks pushera l&#8217;entièreté du site sur votre serveur. Félicitations, vous défendez la liberté d&#8217;expression sans risque majeur pour votre serveur !</p>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/15/ssh-sans-mot-de-passe/' rel='bookmark' title='SSH sans mot de passe'>SSH sans mot de passe</a></li>
<li><a href='http://geekfault.org/2010/05/09/choisir-son-keymap-x-org-1-8-sans-xorg-conf-ni-hack/' rel='bookmark' title='Choisir son keymap X.org 1.8 sans xorg.conf ni hack'>Choisir son keymap X.org 1.8 sans xorg.conf ni hack</a></li>
<li><a href='http://geekfault.org/2010/07/15/zeroconf-reseaux-ip-sans-configuration/' rel='bookmark' title='Zeroconf : Réseaux IP sans configuration'>Zeroconf : Réseaux IP sans configuration</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2010/12/05/devenez-miroir-de-wikileaks-sans-risque/feed/</wfw:commentRss>
		<slash:comments>43</slash:comments>
		</item>
		<item>
		<title>Sikuli : programmez avec des screenshots</title>
		<link>http://geekfault.org/2010/10/31/sikuli-automatisation-graphique/</link>
		<comments>http://geekfault.org/2010/10/31/sikuli-automatisation-graphique/#comments</comments>
		<pubDate>Sun, 31 Oct 2010 16:53:56 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[Logiciel]]></category>
		<category><![CDATA[automatisation]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[screenshot]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[sikuli]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=5441</guid>
		<description><![CDATA[Il nous arrive souvent de devoir refaire la même chose encore et encore sur nos ordinateurs. Et pourtant, ce sont eux les machines! Évidemment les plus érudits ont déjà tout un tas de scripts bash (ou un autre langage obscur) pour leur simplifier la vie. Mais il reste toujours certaines interactions qu&#8217;on n&#8217;arrive pas à [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/16/rsnapshot/' rel='bookmark' title='Mise en place d&#8217;un système de backup avec Rsnapshot'>Mise en place d&#8217;un système de backup avec Rsnapshot</a></li>
<li><a href='http://geekfault.org/2010/02/21/liberez-votre-esprit-avec-freemind/' rel='bookmark' title='Libérez votre esprit avec Freemind'>Libérez votre esprit avec Freemind</a></li>
<li><a href='http://geekfault.org/2009/05/19/authentification-avec-une-cle-usb/' rel='bookmark' title='S&#8217;authentifier avec une clé USB'>S&#8217;authentifier avec une clé USB</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://geekfault.org/wp-content/uploads/2010/10/Sikuli-Exemple4.png" title="Sikuli-Exemple4" rel="lightbox.5441"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2010/10/Sikuli-Exemple4-300x171.png" alt="" title="Sikuli-Exemple4" width="300" height="171" class="alignleft size-medium wp-image-5466" /></a>Il nous arrive souvent de devoir refaire la même chose encore et encore sur nos ordinateurs. Et pourtant, ce sont eux les machines! Évidemment les plus érudits ont déjà tout un tas de <strong>scripts bash</strong> (ou un autre langage obscur) <strong>pour leur simplifier la vie</strong>.</p>
<p>Mais il reste toujours certaines interactions qu&#8217;<strong>on n&#8217;arrive pas à automatiser</strong> : celles qui touchent aux <strong>interfaces graphiques</strong> (lorsqu&#8217;aucune API n&#8217;est présente/utile). Je vous présente donc <strong>Sikuli</strong>, le moyen d&#8217;automatiser simplement ce qu&#8217;on voit à l&#8217;écran à partir de screenshots.<br />
<!--more--></p>
<h3>Installation</h3>
<p>Sikuli est un programme open-source en Jython (un interpréteur Python en Java, silence dans le fond de la salle~) et dispose de versions compatibles avec Windows, MacOS et évidemment Linux (32 ou 64bits). Je vous renvoie donc sur <a href="http://groups.csail.mit.edu/uid/sikuli/download.shtml"><strong>la page de téléchargements du projet</strong></a> pour télécharger la dernière version.</p>
<p>Assurez-vous d&#8217;avoir toutes les dépendances:<br />
<code>sudo apt-get install sun-java6-jre libcv4 libcvaux4 libhighgui4</code></p>
<p>Rien à compiler, décompressez le tout et lancez <strong>sikuli-ide.sh</strong></p>
<h3>Scripts simples</h3>
<p>Je ne pense pas que tout vous expliquer soit réellement utile ici, l&#8217;application est très intuitive. Les instructions principales sont évidemment <strong>click(&#8230;)</strong>, <strong>rightClick(&#8230;)</strong> ou <strong>type(&#8220;&#8230;&#8221;)</strong>. Tout est renseigné dans la colonne de gauche.</p>
<p>Pour insérer un screenshot je vous recommande le raccourci clavier <strong>Ctrl+Maj+2</strong> ou, s&#8217;il ne fonctionne pas à l&#8217;endroit où vous souhaitez le faire, utilisez le bouton de screenshot de Sikuli qui a un <strong>délai</strong> configurable dans les préférences.</p>
<p>Voici par exemple <strong>un script qui change la résolution de mon écran</strong> (oui, je sais, je pourrais le faire avec xrandr mais ici c&#8217;est vraiment à la portée de n&#8217;importe qui) :<br />
<div id="attachment_5449" class="wp-caption aligncenter" style="width: 352px"><img src="http://geekfault.org/wp-content/uploads/2010/10/Sikuli-Exemple1.png" alt="" title="Sikuli-Exemple1" width="342" height="284" class="size-full wp-image-5449" /><p class="wp-caption-text">Remarquez que sur certains des screenshots il y a <strong>un point rouge</strong>. Il correspond à l'endroit précis qui sera cliqué, appelé <strong>Target Offset</strong> dans Sikuli et programmable en cliquant sur le bouton représentant le screenshot.</p></div></p>
<h3>Scripts un peu plus intelligents</h3>
<p>Bien sûr Sikuli est proche d&#8217;un vrai langage de programmation et permet donc <strong>des scripts plus puissants, plus intelligents</strong>. On peut faire des boucles, des conditions, des wait, etc.</p>
<p>Voici quelques exemples simples qui parlent d&#8217;eux-même.</p>
<p><code>value = input("Entre la bonne valeur : ")<br />
type(value + "\n")</code><br />
<img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2010/10/Sikuli-Exemple2.png" alt="" title="Sikuli-Exemple2" width="252" height="272" class="alignleft size-full wp-image-5450" /> <img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2010/10/Sikuli-Exemple3.png" alt="" title="Sikuli-Exemple3" width="273" height="127" class="alignleft size-full wp-image-5452" /></p>
<p>Beaucoup d&#8217;autres exemples sont consultables dans <a href="http://groups.csail.mit.edu/uid/sikuli/documentation.shtml"><strong>la documentation de Sikuli</strong></a>.</p>
<h3>C&#8217;est bien beau pour les n00bs, mais pour les geeks comme moi?</h3>
<p>Bon j&#8217;ai du me détruire le cerveau à trouver une utilité à Sikuli pour les geeks durs de dur qui savent tout faire en bash&#8230; Et j&#8217;ai trouvé!</p>
<p>Si vous développez des interfaces graphiques, Sikuli peut <a href="http://sikuli.org/documentation.shtml#/trac/wiki/UnitTesting"><strong>faire des unitTests sur celles-ci</strong></a> ! On peut aussi utiliser les possibilités de Sikuli <a href="http://sikuli.org/documentation.shtml#/trac/wiki/How%20to%20use%20Sikuli%20Script%20in%20your%20JAVA%20programs?">dans ses propres logiciels Java</a>.</p>
<p>On peut aussi interagir avec des grosses méchantes applications web en AJAX&#8230; Si vous trouvez d&#8217;autres utilités, laissez-les en commentaire <img src='http://geekfault.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>Lancer un script</h3>
<p>On peut évidemment lancer un script depuis l&#8217;interface graphique de Sikuli mais le plus intéressant est de le faire depuis un terminal ou un raccourci. Rien de plus simple, il suffit d&#8217;appeler Sikuli avec le paramètre <strong>&#8211;run</strong> :<br />
<code>/chemin/vers/sikuli/sikuli-ide.sh --run /chemin/vers/script.sikuli</code></p>
<p>J&#8217;en ai même un assigné à un raccourcis clavier (Google est votre ami, les raccourcis clavier dépendent de votre environnement graphique)</p>
<h3>En savoir plus</h3>
<ul>
<li><a href="http://sikuli.org/index.shtml">Le site du projet</a></li>
<li><a href="http://groups.csail.mit.edu/uid/sikuli/documentation.shtml">Documentation par l&#8217;exemple</a></li>
</ul>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/16/rsnapshot/' rel='bookmark' title='Mise en place d&#8217;un système de backup avec Rsnapshot'>Mise en place d&#8217;un système de backup avec Rsnapshot</a></li>
<li><a href='http://geekfault.org/2010/02/21/liberez-votre-esprit-avec-freemind/' rel='bookmark' title='Libérez votre esprit avec Freemind'>Libérez votre esprit avec Freemind</a></li>
<li><a href='http://geekfault.org/2009/05/19/authentification-avec-une-cle-usb/' rel='bookmark' title='S&#8217;authentifier avec une clé USB'>S&#8217;authentifier avec une clé USB</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2010/10/31/sikuli-automatisation-graphique/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Zeroconf : Réseaux IP sans configuration</title>
		<link>http://geekfault.org/2010/07/15/zeroconf-reseaux-ip-sans-configuration/</link>
		<comments>http://geekfault.org/2010/07/15/zeroconf-reseaux-ip-sans-configuration/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 21:10:43 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[Logiciel]]></category>
		<category><![CDATA[réseau]]></category>
		<category><![CDATA[avahi]]></category>
		<category><![CDATA[bonjour]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[protocole]]></category>
		<category><![CDATA[zeroconf]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=5324</guid>
		<description><![CDATA[Zeroconf est un ensemble de protocoles permettant de créer des réseaux IP et y fournir plusieurs services sans aucune configuration. Zeroconf permet entre autres de : Allouer automatiquement des IP, sans configurer un serveur DHCP Résoudre des noms de domaines locaux, sans configurer de serveur DNS Annoncer et découvrir des services, sans serveur d&#8217;annuaire Aventurons-nous [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/15/ssh-sans-mot-de-passe/' rel='bookmark' title='SSH sans mot de passe'>SSH sans mot de passe</a></li>
<li><a href='http://geekfault.org/2010/12/05/devenez-miroir-de-wikileaks-sans-risque/' rel='bookmark' title='Devenez miroir de Wikileaks sans risque (corrigé)'>Devenez miroir de Wikileaks sans risque (corrigé)</a></li>
<li><a href='http://geekfault.org/2009/05/31/chromium-google-chrome-sous-linux/' rel='bookmark' title='Chromium, le Google Chrome sous Linux sans émulation'>Chromium, le Google Chrome sous Linux sans émulation</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://geekfault.org/wp-content/uploads/2010/07/Bonjour.jpg" title="Bonjour" rel="lightbox.5324"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2010/07/Bonjour-150x150.jpg" alt="" title="Bonjour" width="150" height="150" class="alignleft size-medium wp-image-5337 noborder" /></a>Zeroconf est un ensemble de protocoles permettant de créer des réseaux IP et y fournir plusieurs services <strong>sans aucune configuration</strong>. Zeroconf permet entre autres de :</p>
<ul>
<li><strong>Allouer automatiquement des IP</strong>, sans configurer un serveur DHCP</li>
<li><strong>Résoudre des noms de domaines locaux</strong>, sans configurer de serveur DNS</li>
<li><strong>Annoncer et découvrir des services</strong>, sans serveur d&#8217;annuaire</li>
</ul>
<p>Aventurons-nous donc un peu dans le monde du «&nbsp;<em>zOMG ça marche tout seul !</em>&nbsp;»<br />
<!--more--></p>
<h3>Les protocoles dits &#8220;Zeroconf&#8221;</h3>
<p>Zeroconf n&#8217;est qu&#8217;une appellation générique de différents protocoles. Sa première implémentation est imputable à Apple, qui l&#8217;appela Rendezvous puis <strong>Bonjour</strong>. Ensuite Microsoft a plus ou moins imposé son équivalent, l&#8217;<acronym title="Universal Plug and Play">UPnP</acronym>.</p>
<p>Sous Linux nous profitons d&#8217;une implémentation des protocoles d&#8217;Apple, sous le nom de <strong>Avahi</strong>. Contrairement aux protocoles Microsoft, ceux de <strong>Bonjour et Avahi sont promulgués par l&#8217;<acronym title="Internet Engineering Task Force">IETF</acronym></strong>, l&#8217;organisme établissant les standards de l&#8217;Internet. Ils ne sont toutefois pas encore admis en tant que standards, la plupart n&#8217;étant décrits que dans des <acronym title="Request For Comments">RFC</acronym> informels.</p>
<h3>Installation</h3>
<p>Avahi apparait généralement dans les gestionnaires de paquets comme une multitude de paquets. Bien que déjà présente dans <strong>Ubuntu</strong>, on peut ajouter quelques packages utiles :<br />
<code>sudo apt-get install avahi-daemon avahi-discover avahi-utils avahi-ui-utils avahi-dnsconfd libnss-mdns service-discovery-applet mdns-scan</code></p>
<p>Sous Gentoo, c&#8217;est un peu plus délicat : il faut d&#8217;abord ajouter les USE flags <span class="font-family: monospace;"><strong>avahi</strong></span> et <span class="font-family: monospace;"><strong>zeroconf</strong></span> à votre <span class="font-family: monospace;">/etc/make.conf</span>, recompiler les packages nécessaire et installer <span class="font-family: monospace;"><strong>net-dns/avahi</strong></span> ainsi que <span class="font-family: monospace;"><strong>net-misc/mDNSResponder</strong></span>.</p>
<h3>IPv4LL : Création d&#8217;un réseau IP sans DHCP</h3>
<p>IPv4LL, pour Local-Link, fait partie de Zeroconf mais est la partie moins poétique, souvent à l&#8217;origine d&#8217;erreurs de configurations IP&#8230; Elle consiste en fait en une <a href="http://tools.ietf.org/html/rfc3927">norme RFC</a> proposant l&#8217;allocation dynamique des adresses IP de <strong>169.254.0.0 à 169.254.254.254</strong> (fe80::/16 en IPv6) sur les réseaux ne possédant pas de serveur DHCP. Il y a évidemment un test évitant que deux ordinateurs prennent la même IP.</p>
<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;' align="right"   src="http://geekfault.org/wp-content/uploads/2010/07/connectivite-limitee-xp-6.png" alt="" title="connectivite-limitee-xp-6" width="338" height="130" class="alignright size-full wp-image-5348" />Ce n&#8217;est pas très propre et ces IP sont haïes de pas mal d&#8217;administrateurs. Remarquons toutefois que les dernières versions de NetworkManager implémentent un mode &#8220;Partagé avec d&#8217;autres ordinateurs&#8221; lors de la création d&#8217;un réseau Ad-Hoc, ce qui crée un vrai serveur DHCP.</p>
<h3>Résolution de noms locale</h3>
<p>Si Avahi est correctement installé, vous pouvez commencer à résoudre des noms automatiquement. Chaque machine s&#8217;attibue un nom de domaine sous la forme <span class="font-family: monospace;"><strong>HOSTNAME</strong>.local</span>. Par exemple, ma machine s&#8217;appelant epsilon :<br />
<code>tito@epsilon:~$ ping epsilon.local<br />
PING epsilon.local (10.0.73.18) 56(84) bytes of data.</code><br />
<strong>epsilon.local</strong> a bien été résolu par Avahi !</p>
<p>Cette magie est amenée par Multicast DNS, ou mDNS : chaque machine membre du réseau Zeroconf maintient en fait un petit serveur avec ses propres enregistrements DNS. Lorsqu&#8217;un membre du réseau fait une requête (multicast vers 224.0.0.251 ou ff02::fb, port UDP 5353), la machine se reconnaissant répond.</p>
<h3>Découverte de services</h3>
<p><a href="http://geekfault.org/wp-content/uploads/2010/07/Avahi-discover.png" title="Avahi-discover" rel="lightbox.5324"><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;' align="right"   src="http://geekfault.org/wp-content/uploads/2010/07/Avahi-discover-300x295.png" alt="" title="Avahi-discover" width="300" height="295" class="alignright size-medium wp-image-5335" /></a>Tous les serveurs supportant Zeroconf peuvent <strong>annoncer qu&#8217;ils fournissent un service</strong>. On pourra ainsi détecter automatiquement des partages de fichiers, des serveurs VNC, des serveurs SSH et bien d&#8217;autres.</p>
<p>Ce système est lui aussi basé sur un serveur mDNS, sous forme d&#8217;enregistrements de type SRV, TXT et PTR.</p>
<p>Pour lister les services disponibles sur le réseau Zeroconf il existe plusieurs outils, je citerai juste <strong>avahi-discover</strong> qui est simple et complet.</p>
<h3>Quelques applications bien cools de Zeroconf</h3>
<h4>XMPP décentralisé</h4>
<p><a href="http://geekfault.org/wp-content/uploads/2010/07/Pidgin.jpg" title="Pidgin" rel="lightbox.5324"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2010/07/Pidgin-150x150.jpg" alt="" title="Pidgin" width="150" height="150" class="alignleft size-thumbnail wp-image-5364" /></a>Intégrée dans quelques clients Jabber, dont Pidgin (libpurple) entre autres, la <a href="http://xmpp.org/extensions/xep-0174.html">norme XMPP <strong>XEP-0174</strong></a> définit les communications XMPP sans serveur. Dans Pidgin, une fois le protocole Bonjour activé, <strong>vous verrez de nouveaux contacts apparaître</strong> comme par magie dès qu&#8217;ils se connectent&nbsp;!</p>
<p>C&#8217;est très pratique pour discuter sans aucune configuration avec ses collègues, sa famille ou même des inconnus <strong>sur un réseau Ad-Hoc</strong> dans un train ^_^</p>
<h4 style="clear:both;">PulseAudio</h4>
<p>Malheureusement PulseAudio n&#8217;a pas de bonne interface pour le présenter, mais exploite très bien ZeroConf en détectant facilement les autres serveurs PulseAudio. Il m&#8217;arrive souvent de <strong>streamer l&#8217;audio de mon laptop vers mon desktop</strong> afin de profiter d&#8217;une meilleure qualité sonore. Tout ça bien entendu <strong>sans configuration</strong> ni reconfiguration en cas de changements sur mon réseau.</p>
<h4>Over VPN</h4>
<p><a href="http://geekfault.org/wp-content/uploads/2010/07/VPN.png" title="VPN" rel="lightbox.5324"><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;' align="right"   src="http://geekfault.org/wp-content/uploads/2010/07/VPN-300x212.png" alt="" title="VPN" width="150" height="106" class="alignright size-medium wp-image-5352" /></a>Si vous êtes connecté sur un VPN (au sens propre du terme, pas un VPN de tunneling tel qu&#8217;IPredator) <strong>Zeroconf y passera normalement sans accroc</strong> ! Après tout, un VPN c&#8217;est aussi un réseau local.</p>
<p>Couplé au XMPP décentralisé, c&#8217;est un super moyen de discuter avec ses collègues facilement, ainsi que toutes les autres applications auxquelles vous pouvez penser.</p>
<h3>En savoir plus&#8230;</h3>
<ul>
<li><a href="http://www.zeroconf.org/">ZeroConf.org</a></li>
<li><a href="http://www.multicastdns.org/">MultiCast DNS</a></li>
<li>«&nbsp;Zero Configuration Networking: The Definitive Guide&nbsp;» de Daniel H Steinberg et Stuart Cheshire, O&#8217;Reilly, Décembre 2005.</li>
</ul>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/15/ssh-sans-mot-de-passe/' rel='bookmark' title='SSH sans mot de passe'>SSH sans mot de passe</a></li>
<li><a href='http://geekfault.org/2010/12/05/devenez-miroir-de-wikileaks-sans-risque/' rel='bookmark' title='Devenez miroir de Wikileaks sans risque (corrigé)'>Devenez miroir de Wikileaks sans risque (corrigé)</a></li>
<li><a href='http://geekfault.org/2009/05/31/chromium-google-chrome-sous-linux/' rel='bookmark' title='Chromium, le Google Chrome sous Linux sans émulation'>Chromium, le Google Chrome sous Linux sans émulation</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2010/07/15/zeroconf-reseaux-ip-sans-configuration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Organisation et déroulement d&#8217;une PGP Key Signing Party</title>
		<link>http://geekfault.org/2010/07/08/key-signing-part/</link>
		<comments>http://geekfault.org/2010/07/08/key-signing-part/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 15:34:21 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[Geeklife]]></category>
		<category><![CDATA[chiffrement]]></category>
		<category><![CDATA[gpg]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[openpgp]]></category>
		<category><![CDATA[p]]></category>
		<category><![CDATA[pgp]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[sécurité]]></category>
		<category><![CDATA[weboftrust]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=5293</guid>
		<description><![CDATA[Toute cette semaine je suis aux Rencontres Mondiales du Logiciel Libre. Ce matin je repère quelques affiches proposant aux geeks de se retrouver pour une Key Signing Party, càd. un échange de clés PGP où chacun vérifie l&#8217;identité des participants afin de signer les clés et ainsi étendre le Web of Trust. Malheureusement l&#8217;organisateur n&#8217;avait [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/15/ssh-sans-mot-de-passe/' rel='bookmark' title='SSH sans mot de passe'>SSH sans mot de passe</a></li>
<li><a href='http://geekfault.org/2009/05/16/rsnapshot/' rel='bookmark' title='Mise en place d&#8217;un système de backup avec Rsnapshot'>Mise en place d&#8217;un système de backup avec Rsnapshot</a></li>
<li><a href='http://geekfault.org/2009/05/19/authentification-avec-une-cle-usb/' rel='bookmark' title='S&#8217;authentifier avec une clé USB'>S&#8217;authentifier avec une clé USB</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://geekfault.org/wp-content/uploads/2010/07/KeySigning-FOSDEM.jpg" title="KeySigning-FOSDEM" rel="lightbox.5293"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2010/07/KeySigning-FOSDEM-199x300.jpg" alt="" title="KeySigning-FOSDEM" width="199" height="300" class="alignleft size-medium wp-image-5302" /></a>Toute cette semaine je suis aux <a href="http://2010.rmll.info"><strong>Rencontres Mondiales du Logiciel Libre</strong></a>. Ce matin je repère quelques affiches proposant aux geeks de se retrouver pour une <strong>Key Signing Party</strong>, càd. un échange de clés PGP où chacun vérifie l&#8217;identité des participants afin de signer les clés et ainsi étendre le <a href="http://en.wikipedia.org/wiki/Web_of_Trust">Web of Trust</a>.</p>
<p>Malheureusement l&#8217;organisateur n&#8217;avait rien organisé de plus que les affiches. Arrivé sur place j&#8217;ai donc dû faire ce que j&#8217;ai pu pour prendre les choses en main. Voici enfin compilé et en français quelques conseils pour qu&#8217;une Key Signing Party d&#8217;une taille raisonnable (nous étions une quinzaine) se déroule correctement.<br />
<!--more--></p>
<h3>C&#8217;est quoi PGP et une Key Signing Party?</h3>
<p>Pour ceux qui ne connaissent pas, <a href="http://fr.wikipedia.org/wiki/PGP">PGP ou &#8220;Pretty Good Privacy&#8221;</a> est un système cryptographique introduit par Philip Zimmermann et basé sur le principe connu des <a href="http://fr.wikipedia.org/wiki/Cryptographie_asym%C3%A9trique">paires de clés publiques et privées</a>. Désormais standardisé en la norme OpenPGP (<a href="http://tools.ietf.org/html/rfc4880">RFC4880</a>), PGP permet de sécuriser ses communications soit en <strong>signant</strong> un message pour prouver son auteur soit en <strong>chiffrant</strong> le contenu pour être sûr que seul le destinataire légitime pourra le lire.</p>
<p>Mais puisque tout le monde peut générer sa paire de clés de chiffrement, il faut un moyen de lui donner de la valeur : il faut que d&#8217;autres personnes <strong>signent la clé publique</strong> pour certifier l&#8217;identité de son propriétaire. Pour cela on organise lors de divers rassemblements geeks des Key Signing Parties où les utilisateurs de PGP s&#8217;échangent leurs clés publiques et procèdent à une vérification de l&#8217;identité (grâce à un Passeport ou autre document officiel).</p>
<h3>Étape 1 : Informez les gens à temps</h3>
<p>Les RMLL durent une semaine et l&#8217;annonce de la Key Signing s&#8217;est pourtant faite moins de 8h avant son déroulement. Il vaut mieux prévenir plus tôt pour que les gens puissent éventuellement créer leur première clé PGP et se documenter sur son utilisation.</p>
<p>Surtout, il faut récolter les clés publiques des participants de préférence avant le début de la Key Signing Party.</p>
<h3>Étape 2 : Récoltez les clés publiques des participants</h3>
<p>Même si la plupart des clés sont disponibles sur <a href="http://pgp.mit.edu">le serveur de clés du MIT</a>, elles n&#8217;y sont justement pas toutes. Pire, certains utilisateurs de PGP préfèrent que leurs clés ne se partagent que de personne à personne.</p>
<p>Il est donc important que <strong>l&#8217;organisateur récupère toutes les clés publiques</strong>, de préférence avant la Key Signing, pour éviter qu&#8217;elle ne dure trop longtemps.</p>
<p>Pour cela demandez aux participants de vous envoyer leur clé par e-mail (non chiffré mais signé) ou de l&#8217;uploader sur un serveur que vous mettriez en place.</p>
<h3>Étape 3 : Compilez les informations du keyring et imprimez-les</h3>
<p>Une fois que vous avez récolté les clés publiques de tous les participants il faut en faire quelque chose d&#8217;utile pour la Key Signing Party. Un tableau tel que celui-ci est intéressant:</p>
<div style="font-size: 0.8em;">
<table>
<tr>
<td>ID</td>
<td>Fingerprint et UIDs</td>
<td>Fingerprint vérifié</td>
<td>Identité vérifiée</td>
</tr>
<td>4096R/ 0AA3BF0E</td>
<td><strong>E016&nbsp;B36D&nbsp;3BDB&nbsp;9BDB&nbsp;D69E&nbsp;138C&nbsp;BCDB&nbsp;95B7&nbsp;0AA3&nbsp;BF0E</strong><br />
Christophe De Wolf (Tito) &lt;tito@webtito.be><br />
Christophe De Wolf (Tito) &lt;christophe.dewolf@webtito.be></td>
<td> </td>
<td> </td>
</tr>
</table>
</div>
<p>Ensuite envoyez-le ou mieux imprimez-le pour chaque participant. La Key Signing peut commencer.</p>
<h3>Étape 4 : Un peu d&#8217;ordre dans tout ça&#8230;</h3>
<p><a href="http://geekfault.org/wp-content/uploads/2010/07/KeySigning-FaceAFace.jpg" title="KeySigning-FaceAFace" rel="lightbox.5293"><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;' align="right"   src="http://geekfault.org/wp-content/uploads/2010/07/KeySigning-FaceAFace-300x225.jpg" alt="" title="KeySigning-FaceAFace" width="300" height="225" class="alignright size-medium wp-image-5307" /></a>C&#8217;est maintenant le grand jour. Demandez aux participants de venir avec une <strong>pièce d&#8217;identité</strong>, la <strong>liste imprimée</strong>, un <strong>stylo</strong> et <strong>leur propre fingerprint</strong>.</p>
<p>Les participants se mettent en <strong>deux lignes face à face</strong>, dans l&#8217;ordre de la liste. Normalement lors d&#8217;une Key Signing Party on n&#8217;utilise pas de laptop. Les deux participants l&#8217;un en face de l&#8217;autre vérfient mutuellement la fingerprint imprimée sur la liste et la pièce d&#8217;identité. Après vérification ils cochent les cases correspondantes.</p>
<p>Une fois tout vérifié, chacun passe au participant à sa droite. Ceux en bout de file changent de ligne. Et ainsi de suite&#8230; Normalement à la fin tout le monde aura vérifié les identité des de tous les autres participants.</p>
<p><em>Si la Key Signing Party prend des proportions inattendues il est peut-être nécessaire d&#8217;imaginer un autre système, par exemple en utilisant une webcam et un projecteur pour que tout le monde puisse vérifier une même identité en même temps.</em></p>
<h3>Étape 5 : Distribuez le keyring</h3>
<p>Puisque vous avez récolté toutes les clés publiques, il faut maintenant les <strong>retransmettre à tous les participants</strong>. Pour cela créez un keyring, càd. un fichier texte avec toutes les clés publiques les unes à la suite des autres. Vous pouvez éventuellement signer ou fournir le hash SHA-1 de ce fichier pour l&#8217;authentifier.</p>
<p>Si vous avez déjà importé les clés dans votre keyring personnel vous pouvez facilemenet exporter vers un keyring dédié à la Key Signing Party :<br />
<code>$ gpg --armor --export key1 key2 key3 key4 > Keyring-de-MaSuperKeySigningParty.asc</code><br />
<strong>Faites en sorte que tous les participants y aient accès : mettez-le sur un serveur web ou envoyez-le par e-mail.</strong></p>
<h3>Étape 6 : Expliquez aux n00bs comment signer</h3>
<p>Bah oui à toute Key Signing Party il y aura forcément des puceaux du PGP. Expliquez-leur la procédure idéale :</p>
<ul>
<li><strong>Récupérer</strong> et importer le keyring dans gpg</li>
<li><strong>Vérifier</strong> consciencieusement le fingerprint et l&#8217;identité des différentes clés publiques en les comparant au papier rempli durant la Key Signing</li>
<li><strong>Signer</strong> chaque clé publique uniquement si on est sûr de sa vérification d&#8217;identité</li>
<li><strong>Envoyer</strong> les clés ainsi signées <strong>par e-mail</strong> à son propriétaire original. Éviter de les uploader directement sur un serveur de clés car cela permet de vérifier l&#8217;adresse e-mail.</li>
</ul>
<p>À noter qu&#8217;il existe des outils pour automatiser tout cela. J&#8217;utilise <a href="http://www.phildev.net/pius/"><strong>PIUS</strong></a>, un script Python qui se charge de tout jusqu&#8217;à l&#8217;envoi par e-mail assez simplement :<br />
<code>./pius -H smtp.gmail.com -P 587 -u tito@webtito.be -S -A  -s <MA_KEY_ID> -r </chemin/vers/keyring><br />
</code></p>
<h3>En savoir plus&#8230;</h3>
<ul>
<li><a href="http://www.gnupg.org/howtos/fr/index.html">La documentation de GnuPG</a></li>
<li><a href="http://www.pgpi.org/doc/pgpintro/">How PGP works (en)</a></li>
</ul>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/15/ssh-sans-mot-de-passe/' rel='bookmark' title='SSH sans mot de passe'>SSH sans mot de passe</a></li>
<li><a href='http://geekfault.org/2009/05/16/rsnapshot/' rel='bookmark' title='Mise en place d&#8217;un système de backup avec Rsnapshot'>Mise en place d&#8217;un système de backup avec Rsnapshot</a></li>
<li><a href='http://geekfault.org/2009/05/19/authentification-avec-une-cle-usb/' rel='bookmark' title='S&#8217;authentifier avec une clé USB'>S&#8217;authentifier avec une clé USB</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2010/07/08/key-signing-part/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Les autres nouveautés de l&#8217;HTML 5</title>
		<link>http://geekfault.org/2010/04/12/les-autres-nouveautes-de-html-5/</link>
		<comments>http://geekfault.org/2010/04/12/les-autres-nouveautes-de-html-5/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 23:14:32 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[w3c]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=2951</guid>
		<description><![CDATA[Quand on parle de la dernière version de l&#8217;HTML introduite par le W3C, beaucoup le résument à l&#8217;élément &#60;video&#62;. Pourtant, le W3C a introduit de nombreux autres balises, attributs et API pour mieux coller au web d&#8217;aujourd&#8217;hui, ainsi que des innovations qui vont permettre de rattraper l&#8217;écart entre les applications natives et les WebApps tout [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/08/26/plowshare-megaupload-rapidshare-en-cli/' rel='bookmark' title='Plowshare : MegaUpload, RapidShare et autres en CLI'>Plowshare : MegaUpload, RapidShare et autres en CLI</a></li>
<li><a href='http://geekfault.org/2009/04/18/nouveautes-sur-geekfault/' rel='bookmark' title='Nouveautés sur Geekfault'>Nouveautés sur Geekfault</a></li>
<li><a href='http://geekfault.org/2010/08/12/ifconfig-me-connaitre-son-ip-publique-en-un-rien-de-temps/' rel='bookmark' title='Ifconfig.me, connaitre son IP publique en un rien de temps'>Ifconfig.me, connaitre son IP publique en un rien de temps</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2010/04/html5.jpg" alt="" title="html5" width="225" height="222" class="alignleft size-full wp-image-3205" />Quand on parle de la dernière version de l&#8217;HTML introduite par le W3C, beaucoup le résument à l&#8217;élément <span style="font-family: monospace;"><strong>&lt;video&gt;</strong></span>. Pourtant, le W3C a introduit de <strong>nombreux autres balises, attributs et API</strong> pour mieux coller au web d&#8217;aujourd&#8217;hui, ainsi que des innovations qui vont permettre de rattraper l&#8217;écart entre les applications natives et les <strong>WebApps</strong> tout en rendant le web plus <strong>accessible</strong>.<br />
<!--more--></p>
<h3>Allez, les balises audio et video</h3>
<p>D&#8217;accord, on en a assez parlé, mais ça constitue une bonne introduction à cet article <img src='http://geekfault.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Parmi les nombreuses innovations de l&#8217;HTML 5 qui vont permettre au web de <strong>se séparer d&#8217;Adobe Flash Player</strong> (vous savez, cette extension qui fait planter tous les navigateurs et bouffe <em>au moins</em> un des cores de votre CPU), les tags <span style="font-family: monospace;"><strong>&lt;audio&gt;</strong></span> et <span style="font-family: monospace;"><strong>&lt;video&gt;</strong></span> sont les plus connus. Insérer une vidéo dans un article est maintenant devenu aussi simple qu&#8217;y insérer une image :<br />
<code lang="html"><video width="480" height="360" src="jaimeLesFrites.ogv"><br />
Mais quelle saloperIE, ton navigateur ne supporte pas les vidéos HTML 5 <img src='http://geekfault.org/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
</video></code><script type="text/javascript"><!--
cancel=false;
function autoriseRestore() {
    cancel=false;
}
function maximizeVideo() {
    cancel=true;
    video=document.getElementById('tbbt');
    video.height=270;
    video.width=480;
    setTimeout('autoriseRestore()', 500);
}
function restoreVideo() {
    if(cancel) { return; }
    video=document.getElementById('tbbt');
    video.height=135;
    video.width=240;
}
--></script><video id="tbbt" width="240" height="135" controls style="float: right; margin: 0 0 4px 4px;" onmouseover="maximizeVideo()" onmouseout="setTimeout('restoreVideo()',500);"><source src="http://geekfault.org/wp-content/uploads/2010/04/TBBT.ogg" type='video/ogg; codecs="theora, vorbis"'>  <source src="http://geekfault.org/wp-content/uploads/2010/04/TBBT.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>Mais installe un vrai navigateur rooooh! <a href="http://getfirefox.com">Get Firefox!</a></video>Remarquez la rétro-compatibilité avec les navigateurs HTML4 : puisqu&#8217;ils ne vont pas interpréter ce tag, ils afficheront un gentil petit mot. Pensez éventuellement à y mettre un lien vers http://getFirefox.com ^_^ .</p>
<p>Bien sûr ces balises ont des attributs et une API qui leur sont propre, mais ce n&#8217;est pas le sujet de l&#8217;article.</p>
<h4>La limitation du codec</h4>
<p>La grosse limitation pour ces attributs est <strong>l&#8217;implémentation des codecs</strong>. Les principaux navigateurs libres n&#8217;implémentent que des codecs libres (<strong>Ogg Theora+Vorbis</strong>) mais par exemple Safari ou même Android n&#8217;implémentent que le h264. <strong>La W3C ne résoud pas ce problème</strong>, ce serait comme imposer le PNG dans les éléments <span style="font-family: monospace;">&lt;img&gt;</span> alors que le JPEG (propriétaire) est largement répandu.</p>
<p>Sa solution est donc de fournir les vidéos dans les deux formats, pour que tous les navigateurs compatibles HTML 5 puissent les décoder:<br />
<code lang="html"><video width="320" height="240"><br />
  <source src="Bravo.ogv" type='video/ogg; codecs="theora, vorbis"'><br />
  <source src="GrosVilain.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'><br />
</video></code></p>
<p>Malheureusement la plupart des éditeurs vont privilégier un seul format, que ce soit par idéologie ou par contraintes techniques (temps de conversion, espace de stockage). Déjà aujourd&#8217;hui <strong>YouTube</strong>, dans sa beta HTML 5, ne diffuse ses vidéos que en <strong>h264</strong>, ce qui le rend incompatible avec, entre autres, Firefox.</p>
<h3>La balise canvas</h3>
<p>Un <span style="font-family: monospace;">canvas</span> n&#8217;est pas un dessin à proprement parler mais une zone possédant une API complète pour dessiner des formes en 2D grâce à un JavaScript. Rien de mieux qu&#8217;un petit exemple je pense :<br />
<code lang="javascript"><br />
<canvas id="myCanvas" width="300" height="150"><br />
Votre navigateur n'est pas compatible<br />
</canvas></code><br />
<canvas id="canvas1" width="150" height="120" style="float: right; margin: 0 0 5px 5px;">Votre navigateur n&#8217;est pas compatible</canvas>Et si vous avez un navigateur compatible, vous devriez voir le résultat ci-contre.</p>
<p>L&#8217;API permet de tracer des <strong>rectangles</strong>, des <strong>ronds</strong>, des <strong>traits</strong>, des <strong>pixels</strong> et même d&#8217;insérer des <strong>images</strong> ou du <strong>texte</strong>. On peut aussi jouer avec des <strong>ombres</strong>, des <strong>flous</strong> ou des <strong>dégradés</strong> de couleurs. Très pratique pour faire des manipulations de style sur un texte par exemple :<br />
<script type="text/javascript"><!--
window.addEventListener('load', function () {
  var elem = document.getElementById('canvas2');
  if (!elem || !elem.getContext) { return; }
  var context = elem.getContext('2d');
  if (!context) { return; }
  var color, hue = [
    [255,   0,   0 ], // 0, Red,       0°
    [255, 255,   0 ], // 1, Yellow,   60°
    [  0, 255,   0 ], // 2, Green,   120°
    [  0, 255, 255 ], // 3, Cyan,    180°
    [  0,   0, 255 ], // 4, Blue,    240°
    [255,   0, 255 ], // 5, Magenta, 300°
    [255,   0,   0]], // 6, Red,     360°
    gradient = context.createLinearGradient(0, 0, elem.width, 0);
    for (var i = 0; i <= 6; i++) {
      color = 'rgb(' + hue[i][0] + ', ' + hue[i][1] + ', ' + hue[i][2] + ')';
      gradient.addColorStop(i * 1/6, color);
    }
    context.fillStyle = gradient;
    context.shadowOffsetX = 5;
    context.shadowOffsetY = 5;
    context.shadowBlur    = 4;
    context.shadowColor   = 'rgba(0, 0, 0, 0.5)';
    context.font = 'bold 36px sans-serif';
    context.textBaseline = 'top';
    if (context.fillText) { context.fillText('Ceci n\'est pas une image', 0, 0, 500); }
    context.strokeStyle = '#666';
    if (context.strokeText) { context.strokeText('Ceci n\'est pas une image', 0, 0, 500); }
}, false);
    // --></script><canvas id="canvas2" width="500" height="50">Votre navigateur n&#8217;est pas compatible</canvas><br />
Pour être exact c&#8217;est une image, mais elle a été générée par votre navigateur (comment ça c&#8217;est moche? xD)</p>
<p>Et puis comme c&#8217;est basé sur le JavaScript, l&#8217;image générée peut être entièrement <strong>dynamique</strong> comme ce <a href="http://www.benjoffe.com/code/demos/interpolate/">plotter dynamique</a> ou le <a href="http://www.benjoffe.com/code/demos/canvascape/textures">très impressionnant 3D Walker</a>.</p>
<p><!--pagetitle:Remplacer Adobe Flash Player--><!--nextpage--><!--pagetitle:De la WebApp à l'application Native--></p>
<h3>Standardisation de Google Gears</h3>
<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2010/04/Google-Gears.gif" alt="" title="Google-Gears" width="153" height="43" class="alignleft size-full wp-image-3180" />Le HTML 5 a intégré en standard de nombreuses nouveautés introduites par <strong>Google Gears</strong> :</p>
<ul>
<li>Mettre en cache des pages et scripts pour un <strong>accès hors-ligne</strong></li>
<li><strong>Stocker localement des données</strong></li>
<li>Faire tourner les <strong>scripts en arrière-plan</strong></li>
<li>Laisser les applications <strong>interagir</strong> naturellement avec votre environnement</li>
</ul>
<p>Ces fonctionnalités étaient les prémices du rapprochement les applications natives et les <strong>WebApps</strong>. On aime ou on aime pas, mais la standardisation du W3C permettra d&#8217;accélérer ce phénomène proche du <strong>Cloud Computing</strong>.</p>
<h3>Accès hors-ligne</h3>
<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;' align="right"   src="http://geekfault.org/wp-content/uploads/2010/04/Offline.png" alt="" title="Offline" width="120" height="120" class="alignright size-full wp-image-3207" />En HTML 5 il est très aisé de forcer un navigateur à garder des données en cache et ainsi permettre au visiteur de revoir cette page même s&#8217;il n&#8217;a plus de connexion. Il suffit de créer un <strong>fichier manifeste</strong> page.manifest listant les fichiers et scripts à garder en cache :<br />
<code>CACHE MANIFEST<br />
CACHE:<br />
page.htm<br />
style.css<br />
image.jpg<br />
script.js</code></p>
<p>Ensuite il suffit de rajouter l&#8217;attribut au tag HTML :<br />
<code lang="html"><html manifest="page.manifest"></code><br />
Et voilà, <span style="font-family: monospace;">page.htm, style.css, image.jpg et script.js</span> seront accessibles même hors ligne!</p>
<h3>Base de donnée locale</h3>
<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2010/04/Database.jpg" alt="" title="Database" width="134" height="134" class="alignleft size-full wp-image-3208" />Le HTML 5 définit une nouvelle API JavaScript <span style="font-family: monospace;"><strong>window.localStorage</strong></span> qui permet de stocker des données dans la mémoire du navigateur. Ses deux principales méthodes sont très simples:<br />
<code lang="javascript">window.localStorage.setItem(key, value);<br />
window.localStorage.getItem(key);</code><br />
Le <span style="font-family: monospace;">localStorage</span> est lié à un nom de domaine et les données stockées le restent <strong>même si l&#8217;utilisateur quitte son navigateur</strong> et revient plus tard. Si vos données n&#8217;ont pas besoin d&#8217;une telle persistance, vous pouvez aussi profiter de l&#8217;API <span style="font-family: monospace;"><strong>sessionStorage</strong></span> qui, comme vous l&#8217;aurez compris, permet de stocker des informations tant que l&#8217;utilisateur n&#8217;a pas quitté le site.</p>
<p>La plupart des navigateurs permettent à chaque <a href="http://fr.wikipedia.org/wiki/Domaine_de_deuxi%C3%A8me_niveau">domaine de deuxième niveau</a> de stocker 10Mo, mais le W3C recommande de demander l&#8217;autorisation de l&#8217;utilisateur si l&#8217;application a besoin de plus de place.</p>
<p>Attention, même s&#8217;ils se ressemblent, le Storage et les <strong>cookies</strong> n&#8217;ont pas la même utilité : n&#8217;oubliez pas que les cookies sont envoyés vers le serveur <strong>à chaque requête</strong>, ce qui pourrait rendre le trafic trop important si vous stockez de nombreuses données. À l&#8217;opposé, les données du Storage restent en local, accessibles via JavaScript.</p>
<p>Finalement, pour faire du vrai traitement de <strong>bases de données</strong>, il suffit de combiner le <span style="font-family: monospace;">localStorage</span> avec un <a href="http://www.json.org/jsonfr.html"><span style="font-family: monospace;"><strong>JSON</strong></span></a> ou implémenter votre propre version de l&#8217;interface <span style="font-family: monospace;">Database</span> standardisée par le W3C.</p>
<h3>Scripts en tâche de fond</h3>
<p>Lorsqu&#8217;il exécute une opération très lourde, un JavaScript <strong>immobilise</strong> toute la page web. Parfois même l&#8217;interface du navigateur ne répond plus tant que le script n&#8217;a pas terminé. Heureusement en HTML 5, l&#8217;API <span style="font-family: monospace;"><strong>Worker</strong></span> permet de profiter de faire tourner de tels scripts en <strong>tâche de fond</strong>.<br />
<code lang="javascript">var worker = new Worker("worker.js");<br />
worker.postMessage(0); /* Lance le Woker avec le paramètre 0 */<br />
worker.onmessage = function (evt) { /* Action lorsque le Worker a fini */<br />
    alert(evt.data);<br />
};</code></p>
<p>Et le <span style="font-family: monospace;">worker.js</span> :<br />
<code lang="javascript">onmessage = function (evt) {<br />
    // evt.data est le paramètre 0<br />
    for (var i=evt.data, il=1000001; i<il; i++) {<br />
        postMessage(i);<br />
    };<br />
};</code><br />
Ce code va nécessiter pas mal de travail au cours de ses 1 000 000 itérations mais ne devrait pas immobiliser le navigateur.</p>
<h3>Remplacer une application desktop</h3>
<p>Finalement, les WebApps peuvent s'enregistrer elles-même pour <strong>gérer les liens vers un certain protocole ou un certain type de fichiers</strong>. On peut ainsi imaginer un client IRC en ligne qui reconnait les liens <span style="font-family: monospace;">irc://</span> ou un éditeur de documents qui ouvre un nouvel onglet plutôt qu'OpenOffice lorsqu'il y a un lien vers un .odt :<br />
<code lang="javascript">navigator.registerProtocolHandler("irc",<br />
                                  "https://www.example.com/?uri=%s",<br />
                                  "Client IRC en ligne");<br />
navigator.registerContentHandler("application/vnd.oasis.opendocument.text",<br />
                                 "http://www.example.com/?uri=%s",<br />
                                 "Lecteur de documents en ligne");</code><br />
Malheureusement, pour des raisons de <strong>sécurité</strong>, un site ne peut s'enregistrer que pour ses propres liens : si vous tombez sur un lien <span style="font-family: monospace;">irc://</span> sur <span style="font-family: monospace;">Geekfault.org</span> vous ne serez pas redirigé vers <span style="font-family: monospace;">example.com</span>.<br />
<!--nextpage--><!--pagetitle:Mais encore...--></p>
<h3>Géolocalisation</h3>
<p>Très intéressant sur le web qui devient de plus en plus <strong>mobile</strong> aujourd'hui, l'HTML 5 intègre une API qui permet d'aisément obtenir les coordonnées géographiques du visisteur :<br />
<code lang="javascript"></code></p>
<p>Normalement le navigateur demande à l'utilisateur l'<strong>autorisation</strong> d'envoyer sa position. Sur un iPhone par exemple, elle sera calculée grâce à la puce GPS. Sur un navigateur desktop, la méthode est variable (triangulation WiFi, puce GPS, services de localisation d'IP ou simplement demander l'adresse de l'utilisateur). </p>
<div style="text-align: center;"><br />
<input type="button" value="Hahaaaa, essaye de me géolocaliser pour voir..." onclick="locateMe()" /></div>
<h3>ContentEditable</h3>
<p contenteditable="true"><em>(Attention, paragraphe très... personnel ^^)</em> Alors là je suis fan de cette fonctionnalité : elle permet de <strong>rendre n'importe quelle partie d'une page éditable</strong>. On voyait ça apparaître de plus en plus dans les applications en ligne, et maintenant c'est standardisé et extrêmement facile à mettre en place. La preuve? <strong>Essayez de cliquer sur ce paragraphe !</strong></p>
<p>Et en plus c'est du <a href="http://fr.wikipedia.org/wiki/WYSIWYG">WYSIWYG</a> ! Essayez <strong>Ctrl+B</strong> ou <em>Ctrl+I</em> (sous Chromium) ! Et voilà le code source qui m'a permis de faire ça :<br />
<code lang="html">
<p contenteditable="true">Owi, édite-moi</p>
<p></code><br />
Je vois déjà toutes les possibilités ouvertes par une fonctionnalité si simple à mettre en place, comme par exemple corriger une erreur dans nos articles ou modifier une page de WikiPédia en deux clics.</p>
<h3>Nouveaux inputs</h3>
<p>Essentiellement dans le soucis de rendre le web encore plus <strong>accessible</strong> (aux handicapés) et aux système d'<strong>auto-remplissage</strong>, le HTML 5 intègre une dizaine de nouveaux types d'inputs textuels : <span style="font-family: monospace; font-weight: bold;">tel, search, url, email, datetime, date, month, week, time, datetime-local, number et color</span>. Les navigateurs sont supposés proposer une interface à l'utilisateur comme par exemple un calendrier pour remplir un datetime, mais ni Chromium ni Firefox ne semble s'y conformer pour l'instant.</p>
<p>On remarque aussi l'apparition de l'input <span style="font-family: monospace; font-weight: bold;">range</span> qui vient combler une déficience qui forçait souvent à avoir recours à une librairie JavaScript.</p>
<input type="range" style="width: 100%;" min="0" max="50" />
<code lang="html"><br />
<input type="range" style="width: 100%;" min="0" max="50" /></code></p>
<h3>Autres nouvelles balises</h3>
<p>Le W3C introduit dans l'HTML 5 de nombreuses nouvelles balises, dont voici la liste exhaustive</p>
<ul>
<li><span style="font-family: monospace; font-weight: bold;">section, article, aside, hgroup, header, footer, nav</span> encadrent les principaux contenus d'une page web typique. On abandonne ainsi l'utilisation constante de, par exemple, <span style="font-family: monospace;">&lt;div id="header"&gt;</span></li>
<li><span style="font-family: monospace; font-weight: bold;">figure</span> et son sous-élément <span style="font-family: monospace; font-weight: bold;">figcaption</span> permettent de lier une légende à une image ou une vidéo</li>
<li><span style="font-family: monospace; font-weight: bold;">embed</span> a pour but de remplacer <span style="font-family: monospace;">object</span> lors de l'insertion de Flash ou de Java (dans les rares cas où ce sera nécessaire)</li>
<li><span style="font-family: monospace; font-weight: bold;">mark</span> encadre un mot ou un texte important pour, par exemple, le surligner en CSS</li>
<li><span style="font-family: monospace; font-weight: bold;">progress</span> est l'élément à privilégier si vous affichez la progression d'une tâche</li>
<li><span style="font-family: monospace; font-weight: bold;">meter</span> représente une mesure telle que l'utilisation du disque</li>
<li><span style="font-family: monospace; font-weight: bold;">time</span> représente une date et/ou une heure</li>
<li><span style="font-family: monospace; font-weight: bold;">ruby, rt, rp</span> permet d'intégrer des annotations ruby (WTF?)</li>
<li><span style="font-family: monospace; font-weight: bold;">command</span> représente une commande que l'utilisateur peut invoquer</li>
<li><span style="font-family: monospace; font-weight: bold;">details</span> encadre un complément d'information ou des contrôles supplémentaires que l'utilisateur peut obtenir sur demande</li>
<li><span style="font-family: monospace; font-weight: bold;">keygen</span> permet de fournir une clé de contrôle pour la vérification de la validité des données</li>
<li><span style="font-family: monospace; font-weight: bold;">output</span> encadre une zone où un script affichera son résultat</li>
</ul>
<p>La plupart de ces nouveaux éléments sont liés à l'accessibilité mais peuvent aussi présenter un avantage de lors de la création de scripts complexes.</p>
<h3>Et nouveaux attributs</h3>
<p>Je vouais ai déjà parlé de <span style="font-style: monospace;">contentEditable</span> mais il y a beaucoup d'autres nouveaux attributs standards en HTML 5.</p>
<ul>
<li><span style="font-family: monospace; font-weight: bold;">contextmenu</span> permet de lier un menu au clic droit sur un élément</li>
<li><span style="font-family: monospace; font-weight: bold;">draggable</span> détermine si un élément peut être soumis au drag &#038; drop. Cette fonctionnalité est malheureusement soumise à controverse à cause de sa complexité, c'est pourquoi je ne l'ai pas abordé dans l'article.</li>
<li><span style="font-family: monospace; font-weight: bold;">hidden</span> est un boléen qui remplace sa fonction homonyme en style ou CSS. L'intérêt? Cacher les éléments même dans les navigateurs pour malvoyants qui n'interprètent pas les styles.</li>
<li><span style="font-family: monospace; font-weight: bold;">item</span> et <span style="font-family: monospace; font-weight: bold;">itemprop</span> et <span style="font-family: monospace; font-weight: bold;">subject</span> permettent de regrouper des éléments</li>
<li><span style="font-family: monospace; font-weight: bold;">spellcheck</span> est un boléen qui spécifie si la correction orthographique mérite d'être activée sur un élément</li>
</ul>
<p>Finalement, vous pouvez lier n'importe quel attribut personnalisé (ce qui peut être pratique pour certains scripts) sans contredire les standards du W3C (et donc passer les tests des validateurs) à condition que cet attribut commence par <span style="font-family: monospace; font-weight: bold;">data-</span>.</p>
<p><!--nextpage--><!--pagetitle:Conclusion--></p>
<h3>Conclusion</h3>
<p>Avec ce nouveau standard encore à l'état de brouillon, le W3C réduit la nécessité des applets (Flash, Java) et rend le web plus accessible tout en permettant aux applications web (WebApps) d'être plus puissantes, plus faciles à coder et de vraies alternatives aux applications natives de votre ordinateur.</p>
<p>Si toutes les recommandations ne sont pas encore adoptées par les navigateurs, même ceux en avance sur les normes, les possibilités actuelles sont déjà très intéressantes et à prendre en compte pour tous vos prochains développements HTML/JavaScript.</p>
<h3>Sources</h3>
<p>Il y a encore quelques autres nouveautés dont je ne vous ai parlé, mais j'espère vous avoir donné un bon aperçu des incroyables innovations de l'HTML 5. Si vous en voulez une liste complète, je vous renvoie au site du W3C, tous les liens sont dans les sources ci-dessous.</p>
<ul>
<li><a href="http://www.w3.org/TR/html5-diff/">Brouillon des différences entre HTML4 et HTML 5 édité par le W3C</a></li>
<li><a href="http://molly.com/html5/html5-0709.html">Comparaison des fonctionnalités HTML 5 supportées par les différents navigateurs</a></li>
<li><a href="http://www.w3schools.com/html5/html5_reference.asp">Référence HTML 5 de la w3schools</a></li>
<li><a href="http://diveintohtml5.org/">Dive into HTML 5</a></li>
<li><a href="http://html5demos.com/">HTML 5 Demos</a></li>
</ul>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/08/26/plowshare-megaupload-rapidshare-en-cli/' rel='bookmark' title='Plowshare : MegaUpload, RapidShare et autres en CLI'>Plowshare : MegaUpload, RapidShare et autres en CLI</a></li>
<li><a href='http://geekfault.org/2009/04/18/nouveautes-sur-geekfault/' rel='bookmark' title='Nouveautés sur Geekfault'>Nouveautés sur Geekfault</a></li>
<li><a href='http://geekfault.org/2010/08/12/ifconfig-me-connaitre-son-ip-publique-en-un-rien-de-temps/' rel='bookmark' title='Ifconfig.me, connaitre son IP publique en un rien de temps'>Ifconfig.me, connaitre son IP publique en un rien de temps</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2010/04/12/les-autres-nouveautes-de-html-5/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
<enclosure url="http://geekfault.org/wp-content/uploads/2010/04/TBBT.mp4" length="1885998" type="video/mp4" />
		</item>
		<item>
		<title>FOSDEM 2010</title>
		<link>http://geekfault.org/2010/01/14/fosdem-2010/</link>
		<comments>http://geekfault.org/2010/01/14/fosdem-2010/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 10:47:11 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[Actualité]]></category>
		<category><![CDATA[Geeklife]]></category>
		<category><![CDATA[conférence]]></category>
		<category><![CDATA[fosdem]]></category>
		<category><![CDATA[irl]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=1896</guid>
		<description><![CDATA[Ces 6 et 7 février aura lieu le Free and Open Source Software Developers&#8217; European Meeting à Bruxelles. C&#8217;est un forum de rencontre réellement internationnal et anglophone où, chaque année depuis sa création en l&#8217;an 2000, les développeurs partagent et promeuvent leurs logiciels libres. Voici donc une petite présentation de cet évènement où les rédacteurs [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2010/07/08/key-signing-part/' rel='bookmark' title='Organisation et déroulement d&#8217;une PGP Key Signing Party'>Organisation et déroulement d&#8217;une PGP Key Signing Party</a></li>
<li><a href='http://geekfault.org/2009/09/14/telecharger-les-guignols-de-linfo-v2/' rel='bookmark' title='Télécharger les Guignols de l&#8217;Info v2'>Télécharger les Guignols de l&#8217;Info v2</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2010/01/Fosdem.jpg" alt="" title="Fosdem" width="93" height="103" class="alignleft size-full wp-image-1906" />Ces 6 et 7 février aura lieu le <a href="http://fosdem.org/2010/"><strong>Free and Open Source Software Developers&#8217; European Meeting</strong></a> à Bruxelles. C&#8217;est un forum de rencontre réellement internationnal et anglophone où, chaque année depuis sa création en l&#8217;an 2000, les développeurs partagent et promeuvent leurs logiciels libres.</p>
<p>Voici donc une petite présentation de cet évènement où les rédacteurs Geekfault seront bien sûr présents.<br />
<!--more--></p>
<h3>Un <em>meeting</em> internationnal</h3>
<p>Très jeune déjà (en 2004, j&#8217;avais presque 14 ans!) j&#8217;ai commencé à participer à ce genre de conférences aux <a href="http://rmll.info/">Rencontres Mondiales du Logiciel Libre</a>. Mais je me suis vite rendu compte que cet évènement n&#8217;avait de Mondial que le nom : tout le monde était francophone !</p>
<p>Ce n&#8217;est que quelques années plus tard que j&#8217;ai découvert les FOSDEM, pourtant organisées dans ma propore ville. Et là ce fut la révélation : un forum <strong>en anglais</strong> dans une ville aussi centrale que <strong>Bruxelles</strong> était une bien meilleure idée!</p>
<p>Chaque année on y retrouve ainsi des <strong>développeurs, personnalités et organisations du Logiciel Libre</strong> venant des 4 coins du monde. Citons par exemple des développeurs de Mozilla, la Free Sofware Foundation et Richard Stallman. Les FOSDEM sont aujourd&#8217;hui considérées comme « <strong>le meilleur évènement du logiciel libre et gratuit en Europe</strong> ».</p>
<h3>Programme</h3>
<p><a href="http://geekfault.org/wp-content/uploads/2010/01/fosdem-auditoire.jpg" title="fosdem-auditoire" rel="lightbox.1896"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2010/01/fosdem-auditoire-300x160.jpg" alt="" title="fosdem-auditoire" width="300" height="160" class="alignleft size-medium wp-image-1905" /></a>Le FOSDEM a lieu sur un week-end : les samedi 6 et dimanche 7 février 2010 dans les locaux de l&#8217;Université Libre de Bruxelles (campus Solbosch). Le programme est constitué de <a href="http://fosdem.org/2010/schedule/main-tracks"><strong>conférences</strong></a>, de <a href="http://fosdem.org/2010/schedule/tracks/lightningtalks"><strong>débats</strong></a> et les couloirs sont parsemés de <a href="http://fosdem.org/2010/stands"><strong>stands permanents</strong></a>.</p>
<p>Il y a aussi des séances de &#8220;travaux pratiques&#8221; pour découvrir différents langages de programmation, protocoles et API mais elles ne sont pas encore référencées sur le site. Finalement, les plus motivés peuvent même passer des <a href="http://fosdem.org/2010/certification"><strong>examens</strong></a> pour obtenir par exemple la certification <a href="http://fr.wikipedia.org/wiki/Linux_Professional_Institute">LPI</a>.</p>
<p>En dehors de ces journées de conférences, vous pouvez <a href="http://fosdem.org/2010/bring-your-partner">visiter la ville</a> et <strong>la soirée du vendredi au samedi</strong>, organisée au Délirium Café est devenue incontournable! (C&#8217;est un célèbre bar bruxellois avec plus de 2000 bières à la carte et où chaque année Google en offre quelques unes <img src='http://geekfault.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  )</p>
<h3>See you there!</h3>
<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;' align="right"   src="http://geekfault.org/wp-content/uploads/2010/01/going-to-fosdem.png" alt="" title="going-to-fosdem" width="150" height="89" class="alignright size-full wp-image-1904" />Alors si vous souhaitez rencontrer la rédaction de Geekfault IRL et assister à des conférences/débats intéressants autour du Logiciel Libre, n&#8217;hésitez pas à nous rejoindre!  Avec Koolfy, bragon, Tito, target0, roidelapluie et Tycale, nous resterons connectés sur IRC :</p>
<ul>
<li>irc://irc.geeknode.org/geekfault</li>
<li>irc://irc.geeknode.org/fosdem</li>
</ul>
<h3>Liens</h3>
<ul>
<li><a href="http://fosdem.org/2010/">Le site du FOSDEM 2010</a></li>
<li><a href="http://fosdem.org/2010/schedule/tracks">Le programme</a></li>
<li><a href="http://fosdem.org/2010/practical/transportation">Plans d&#8217;accès</a></li>
</ul>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2010/07/08/key-signing-part/' rel='bookmark' title='Organisation et déroulement d&#8217;une PGP Key Signing Party'>Organisation et déroulement d&#8217;une PGP Key Signing Party</a></li>
<li><a href='http://geekfault.org/2009/09/14/telecharger-les-guignols-de-linfo-v2/' rel='bookmark' title='Télécharger les Guignols de l&#8217;Info v2'>Télécharger les Guignols de l&#8217;Info v2</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2010/01/14/fosdem-2010/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Difficultés techniques de Geekfault</title>
		<link>http://geekfault.org/2009/12/22/difficultes-techniques-de-geekfault/</link>
		<comments>http://geekfault.org/2009/12/22/difficultes-techniques-de-geekfault/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 12:03:10 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[Geekfault]]></category>
		<category><![CDATA[datacenter]]></category>
		<category><![CDATA[loi de murphy]]></category>
		<category><![CDATA[raid]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=1828</guid>
		<description><![CDATA[La plupart d&#8217;entre-vous l&#8217;auront remarqué, nous avons rencontré des grosses difficultés techniques avec le serveur de Geekfault. Dimanche soir, une panne de courant à Equinix Saint-Denis, notre datacenter à Paris, a engendré une coupure d&#8217;un peu moins d&#8217;une heure. Lorsque le courant est revenu, Geekfault est aussi revenu en ligne sans soucis. Ce n&#8217;est que [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/08/17/partenariat-geekfault/' rel='bookmark' title='Geekfault recherche des partenaires'>Geekfault recherche des partenaires</a></li>
<li><a href='http://geekfault.org/2009/04/18/nouveautes-sur-geekfault/' rel='bookmark' title='Nouveautés sur Geekfault'>Nouveautés sur Geekfault</a></li>
<li><a href='http://geekfault.org/2009/08/28/geekfault-disponible-en-ipv6/' rel='bookmark' title='Geekfault disponible en IPv6'>Geekfault disponible en IPv6</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/04/geekfault.png" alt="" title="Logo Geekfault" width="128" height="128" class="alignleft size-full wp-image-203" />La plupart d&#8217;entre-vous l&#8217;auront remarqué, nous avons rencontré des grosses difficultés techniques avec le serveur de Geekfault.</p>
<p>Dimanche soir, une <a href="http://www.sd-france.com/news-200912/20/incident-equinix-st-denis.html"><strong>panne de courant</strong> à Equinix Saint-Denis</a>, notre datacenter à Paris, a engendré une coupure d&#8217;un peu moins d&#8217;une heure. Lorsque le courant est revenu, Geekfault est aussi revenu en ligne sans soucis.</p>
<p>Ce n&#8217;est que <strong>vers 3h30</strong> du matin que notre serveur, Xanadu, <strong>est réellemment tombé</strong>.<br />
<!--more--></p>
<p>C&#8217;est apparemment <strong>la carte Raid</strong> (qui permet de répliquer nos données sur deux disques durs différents) qui a grillé. <img style=' float: right; padding: 4px; margin: 0 0 2px 7px;' align="right"   src="http://geekfault.org/wp-content/uploads/2009/12/raid1-150x150.png" alt="" title="raid1" width="150" height="150" class="alignright size-thumbnail wp-image-1837" />Avec notre chance inouïe de lundi matin, cela a aussi grillé <strong>un des deux disques durs</strong>. Un simple remplacement des pièces aurait dû suffire, puisque le disque dur encore fonctionnel est <em>censé</em> être la réplique exacte de l&#8217;autre.</p>
<p>Mais étrangement ce second disque dur n&#8217;était <strong>plus synchronisé depuis le 18 octobre</strong>! Nous n&#8217;avions pas d&#8217;autre choix que de restaurer ces données vieilles de plus de deux mois&#8230; Heureusement nous avons aussi un script qui envoie par mail deux <strong>backups de la base de données</strong> par jour.</p>
<h3>Putain de loi de Murphy</h3>
<p>Apparemment le script de backup se croit tout-puissant et prend <strong>congé le dimanche</strong> >_<. Aujourd'hui je n'ai donc pu restaurer que le backup le plus récent que j'aie, c'est-à-dire datant du <strong>19 décembre 21h42</strong>.</p>
<p><strong>Résultat:</strong> Nous avons perdu <strong>un super article</strong> de bragon, expliquant comment il avait transformé son EeePC en routeur réseau, ainsi que tous les fichiers depuis le 18 octobre, ce qui inclut <strong>une vingtaine d&#8217;images de différents articles</strong>.</p>
<p>Nous espérons pouvoir vite réécrire les parties manquantes de l&#8217;article et réillustrer nos articles. Merci de votre patience!</p>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/08/17/partenariat-geekfault/' rel='bookmark' title='Geekfault recherche des partenaires'>Geekfault recherche des partenaires</a></li>
<li><a href='http://geekfault.org/2009/04/18/nouveautes-sur-geekfault/' rel='bookmark' title='Nouveautés sur Geekfault'>Nouveautés sur Geekfault</a></li>
<li><a href='http://geekfault.org/2009/08/28/geekfault-disponible-en-ipv6/' rel='bookmark' title='Geekfault disponible en IPv6'>Geekfault disponible en IPv6</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2009/12/22/difficultes-techniques-de-geekfault/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Facebook s&#8217;apprêterait à lancer son serveur XMPP</title>
		<link>http://geekfault.org/2009/12/14/facebook-lancer-son-serveur-xmpp/</link>
		<comments>http://geekfault.org/2009/12/14/facebook-lancer-son-serveur-xmpp/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 05:50:16 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[Actualité]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[chat]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[im]]></category>
		<category><![CDATA[messagerie]]></category>
		<category><![CDATA[xmpp]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=1649</guid>
		<description><![CDATA[Le 14 mai 2008, un développeur Facebook annonçait qu&#8217;ils travaillaient sur un serveur XMPP (Jabber) compatible avec son système de chat, permettant ainsi à tout le monde d&#8217;utiliser un client de messagerie instantannée classique pour chatter sur Facebook. Depuis cette annonce, nous n&#8217;avions plus de nouvelles. Mais au début du mois dernier ProcessOne annonçait avoir [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2011/02/19/reverse-ssh-acceder-a-un-serveur-derriere-un-natfirewall/' rel='bookmark' title='Reverse SSH : accéder à un serveur derrière un NAT/Firewall'>Reverse SSH : accéder à un serveur derrière un NAT/Firewall</a></li>
<li><a href='http://geekfault.org/2009/05/27/lighttpd-php-iphone/' rel='bookmark' title='Serveur Lighttpd avec PHP sur iPhone'>Serveur Lighttpd avec PHP sur iPhone</a></li>
<li><a href='http://geekfault.org/2011/10/14/lancer-votre-dual-booting-windows-dans-une-virtualbox/' rel='bookmark' title='Lancer votre dual-booting Windows dans une VirtualBox'>Lancer votre dual-booting Windows dans une VirtualBox</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/12/Facebook-XMPP.jpg" alt="Facebook-XMPP" title="Facebook-XMPP" width="200" height="206" class="alignleft size-full wp-image-1669" />Le 14 mai 2008, un développeur Facebook annonçait qu&#8217;ils travaillaient sur un <strong>serveur XMPP (Jabber) compatible avec son système de chat</strong>, permettant ainsi à tout le monde d&#8217;utiliser un client de messagerie instantannée classique pour chatter sur Facebook.</p>
<p>Depuis cette annonce, nous n&#8217;avions plus de nouvelles. Mais au début du mois dernier <a href="http://www.process-one.net/en/blogs/article/facebook_chat_supports_xmpp_with_ejabberd/">ProcessOne annonçait</a> avoir <strong>découvert un serveur XMPP</strong> hébergé sur <span style="font-family: monospace;">chat.facebook.com</span> !<br />
<!--more--></p>
<div style="background: #FFFABF; -moz-border-radius: 6px; padding: 4px;"><strong>Attention :</strong> Cet article est sujet aux trolls sur l&#8217;utilité des réseaux sociaux <img src='http://geekfault.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </div>
<h3>Une vieille idée</h3>
<p>Facebook a lancé son système de chat le 7 avril 2008, via son <strong>interface web</strong>. Dès le début on s&#8217;est vite rendus compte qu&#8217;elle n&#8217;était pas très stable et nous obligeait à garder l&#8217;onglet Facebook ouvert en permanence.</p>
<p>Et le 14 mai, <a href="http://developers.facebook.com/news.php?blog=1&#038;story=110">un développeur annonce</a> qu<strong>&#8216;ils développent activement une interface XMPP</strong> compatible avec ce chat. Pourtant, depuis ce post, on n&#8217;en a plus entendu parler (<a href="http://www.facebook.com/group.php?gid=15400426431">malgré les nombreux groupes</a>, <a href="http://bugs.developers.facebook.com/show_bug.cgi?id=3152">wish reports</a> et <a href="http://docs.google.com/View?id=ddf6gq8k_32dbsgnghj">lettres ouvertes</a> le réclamant).</p>
<h3>Mais une très bonne idée</h3>
<p><a href="http://geekfault.org/wp-content/uploads/2009/12/Facebook-Chat.jpg" title="Facebook-Chat" rel="lightbox.1649"><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;' align="right"   src="http://geekfault.org/wp-content/uploads/2009/12/Facebook-Chat-264x300.jpg" alt="Facebook-Chat" title="Facebook-Chat" width="264" height="300" class="alignright size-medium wp-image-1677" /></a>Dès le lancement du chat Facebook, celui-ci a rencontré un <strong>grand succès</strong>. Après tout, quel est l&#8217;intérêt d&#8217;un IM si ce n&#8217;est de parler avec ses amis? Et Facebook connait, à priori, une grande partie de ceux-ci. J&#8217;ai personnellement remarqué que la plupart de mes contacts avaient délaissé MSN pour n&#8217;utiliser plus que ce chat Facebook.</p>
<p>Mais évidemment on se heurte vite aux <strong>limites des web-apps</strong> : lenteurs, instabilités, utilisation d&#8217;un navigateur, absence de notifications et <strong>encore instabilités</strong>! Je suppose que c&#8217;est ce qui a motivé les développeurs à utiliser un vrai protocole de messagerie instantannée.</p>
<h3>Le XMPP</h3>
<p>Le serveur de chat de Facebook découvert par ProcessOne a été déployé sur <span style="font-family: monospace;">chat.facebook.com</span> (port 5222, port standard serveur-client pour Jabber) et répond aux requêtes de type <strong>XMPP</strong>!</p>
<p>Nous ne pouvons que saluer le choix de Facebook pour ce <strong>protocole libre</strong> et déjà supporté par une multitude de clients de messagerie instantannée, <strong>aussi bien desktops que mobiles</strong>!</p>
<p>Le <a href="http://fr.wikipedia.org/wiki/XMPP">XMPP</a> n&#8217;a malheureusement jamais connu le succès escompté, loin derrière Yahoo! Messenger et Microsoft Live Messenger aux protocoles propriétaires mal implémentés dans nos logiciels libres. Facebook va peut-être redorer un peu le blason de ce protocole délaissé en lui apportant ses 350 millions d&#8217;utilisateurs.</p>
<p>On regrettera tout de même que, selon les scans de ports, Facebook n&#8217;a <strong>pas activé le server-to-server</strong> qui aurait permis aux utilisateurs du chat Facebook de communiquer avec des utilisateurs de réseaux Jabber concurrents et vice-versa.</p>
<h3>À quand le déploiement public?</h3>
<p>Même si le serveur de type ejabberd modifié <strong>répond aux requêtes de connexion</strong>, il répond toujours <strong>par la négative</strong>. Facebook n&#8217;a pas encore fait d&#8217;annonce publique, sans doute parce que le service est actuellement en phase de tests.</p>
<p><a href="http://geekfault.org/wp-content/uploads/2009/12/Facebook-Ads.gif" title="Facebook-Ads" rel="lightbox.1649"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/12/Facebook-Ads-300x133.gif" alt="Facebook-Ads" title="Facebook-Ads" width="300" height="133" class="alignleft size-medium wp-image-1679" /></a>L&#8217;existence de ce serveur est encourageante, mais on est en droit de se demander si les administrateurs de Facebook valideront sa mise en service puisqu&#8217;ils n&#8217;ont, à priori, aucun moyen de le <strong>monétiser</strong>&#8230;</p>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2011/02/19/reverse-ssh-acceder-a-un-serveur-derriere-un-natfirewall/' rel='bookmark' title='Reverse SSH : accéder à un serveur derrière un NAT/Firewall'>Reverse SSH : accéder à un serveur derrière un NAT/Firewall</a></li>
<li><a href='http://geekfault.org/2009/05/27/lighttpd-php-iphone/' rel='bookmark' title='Serveur Lighttpd avec PHP sur iPhone'>Serveur Lighttpd avec PHP sur iPhone</a></li>
<li><a href='http://geekfault.org/2011/10/14/lancer-votre-dual-booting-windows-dans-une-virtualbox/' rel='bookmark' title='Lancer votre dual-booting Windows dans une VirtualBox'>Lancer votre dual-booting Windows dans une VirtualBox</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2009/12/14/facebook-lancer-son-serveur-xmpp/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>10 applications indispensables sur iPhone jailbreaké</title>
		<link>http://geekfault.org/2009/11/20/10-applications-cydia/</link>
		<comments>http://geekfault.org/2009/11/20/10-applications-cydia/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 16:34:43 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[cydia]]></category>
		<category><![CDATA[jailbreak]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=1578</guid>
		<description><![CDATA[La sévérité des restrictions d&#8217;Apple sur son AppStore ont fini par limiter les fonctionnalités de l&#8217;iPhone. Heureusement le petit monde &#8220;underground&#8221; du jailbreak a su s&#8217;en libérer. Voici donc une sélection de 10 applications disponibles uniquement via Cydia et qui me sont devenues indispensables. Categories Categories permet de créer des dossiers pour classer ses applications. [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/27/lighttpd-php-iphone/' rel='bookmark' title='Serveur Lighttpd avec PHP sur iPhone'>Serveur Lighttpd avec PHP sur iPhone</a></li>
<li><a href='http://geekfault.org/2009/05/27/internet-via-iphone/' rel='bookmark' title='Internet sur votre laptop via un iPhone'>Internet sur votre laptop via un iPhone</a></li>
<li><a href='http://geekfault.org/2009/06/29/iphone-os-30/' rel='bookmark' title='iPhone OS 3.0'>iPhone OS 3.0</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/11/Cydia-300x248.jpg" alt="Cydia" title="Cydia" width="300" height="248" class="alignleft size-medium wp-image-1579" />La sévérité des restrictions d&#8217;Apple sur son AppStore ont fini par <strong>limiter les fonctionnalités de l&#8217;iPhone</strong>. Heureusement le petit monde &#8220;underground&#8221; du <strong>jailbreak</strong> a su s&#8217;en libérer. Voici donc une sélection de 10 applications disponibles uniquement via Cydia et qui me sont devenues <strong>indispensables</strong>.<br />
<!--more--></p>
<h3>Categories</h3>
<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/11/Cydia-Categories.png" alt="Cydia-Categories" title="Cydia-Categories" width="128" height="128" class="alignleft size-full wp-image-1583" />Categories permet de <strong>créer des dossiers pour classer ses applications</strong>. Cette application vous évitera de finir avec 9 écrans d&#8217;applications sur votre SpringBoard.<br />
Je l&#8217;ai utilisé sur mon iPhone pour créer trois répertoires : Réseau, Jeux et Système. Ce classement simple me permet de n&#8217;avoir que deux écrans sur mon Springboard. A noter qu&#8217;on peut très bien placer un dossier dans un autre.</p>
<p><strong>Source:</strong> BigBoss (http://apt.bigboss.us/repofiles/cydia/)</p>
<h3>Flashlight</h3>
<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/11/Cydia-Flashlight.png" alt="Cydia-Flashlight" title="Cydia-Flashlight" width="60" height="60" class="alignleft size-full wp-image-1584" />Flashlight est une application qui affiche simplement un <strong>écran blanc</strong>. Contrairement aux versions officiellement disponibles sur l&#8217;AppStore, cette version disponible dans Cydia <strong>augmente la luminosité du rétro-éclairage</strong> au maximum, transformant votre iPhone en une lampe de poche d&#8217;appoint incroyablement efficace.</p>
<p><strong>Source:</strong> BigBoss (http://apt.bigboss.us/repofiles/cydia/)</p>
<h3>Notifier</h3>
<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/11/Cydia-Notifier.png" alt="Cydia-Notifier" title="Cydia-Notifier" width="201" height="36" class="alignleft size-full wp-image-1586" />Notifier est un ajout à MobileSubstrate que j&#8217;aimerais beaucoup voir intégrer dans la prochaine version du firmware tellement il est pratique et, forcément, indispensable. Il ajoute <strong>dans la barre des tâches (à côté du niveau de batterie) des icônes si vous avez des SMS, MMS, e-mails et même messages instantannés non-lus, des appels manqués</strong> ou encore des rendez-vous en cours dans votre calendrier.</p>
<p><strong>Source:</strong> BigBoss (http://apt.bigboss.us/repofiles/cydia/)</p>
<h3>asVibra2</h3>
<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/11/Cydia-asVibra-150x150.jpg" alt="" title="Cydia-asVibra" width="150" height="150" class="alignleft size-thumbnail wp-image-1922" />Vous aussi avez l&#8217;impression de rater des e-mails et SMS lorsque votre iPhone est en silencieux parce qu&#8217;une vibration ne suffit pas? Ce petit tweak permet de <strong>faire vibrer trois fois votre iPhone lors de la réception d&#8217;un message</strong>.</p>
<p><strong>Source:</strong> iPhone-Storage.de (http://apt.iphone-storage.de/)</p>
<h3>LockInfo</h3>
<p><a href="http://geekfault.org/wp-content/uploads/2009/11/Cydia-LockInfo.jpg" title="Cydia-LockInfo" rel="lightbox.1578"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/11/Cydia-LockInfo-200x300.jpg" alt="Cydia-LockInfo" title="Cydia-LockInfo" width="200" height="300" class="alignleft size-medium wp-image-1600" /></a>Un des trucs les plus frappants dans l&#8217;interface de l&#8217;iPhone c&#8217;est l&#8217;inutilité du &#8220;LockScreen&#8221;, la page avec le slide &#8220;Déverouiller&#8221;. LockInfo a pourtant transformé cet écran inutile en un des écrans que je consulte le plus souvent puisqu&#8217;il m&#8217;affiche <strong>mes prochains rendez-vous, mes SMS et mails non lus ainsi que mes appels manqués</strong>. Si vous êtes adeptes de WinterBoard vous pouvez même lui appliquer des templates pour améliorer son design déjà très soigné (je vous conseille Black Motion).<br />
Cette application bien utile est malheureusement payante (5$) après une <strong>période d&#8217;essai de 14 jours</strong>&#8230; sauf si vous trouvez le crack sur Google.</p>
<p><strong>Source:</strong> ModMyi.com (http://apt.modmyi.com/)</p>
<h3>Custom HomeButton</h3>
<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/11/Cydia-HomeButton.jpg" alt="" title="Cydia-HomeButton" width="95" height="94" class="alignleft size-full wp-image-1925" />Apple nous laisse déjà choisir l&#8217;utilité du double clic sur le bouton Home (bouton principal), mais on n&#8217;a le choix qu&#8217;entre 5 possibilités. Custom HomeButton permet de <strong>lier le double-clic à n&#8217;importe quoi</strong>, que ce soit une application de l&#8217;AppStore, de Cydia ou même une page web. Je l&#8217;utilise pour lancer Flashlight <img src='http://geekfault.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p><strong>Source:</strong> iSpazio (http://ispaziorepository.com/)</p>
<h3>CyDelete</h3>
<p><a href="http://geekfault.org/wp-content/uploads/2009/11/Cydia-Cydelete.png" title="Cydia-Cydelete" rel="lightbox.1578"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/11/Cydia-Cydelete-150x150.png" alt="Cydia-Cydelete" title="Cydia-Cydelete" width="150" height="150" class="alignleft size-thumbnail wp-image-1612" /></a>Cette application <strong>ajoute la croix de désinstallation</strong> qu&#8217;on connait bien pour les applications de l&#8217;AppStore, mais <strong>pour les applications Cydia</strong>. Indispensable pour tous les accros de Cydia <img src='http://geekfault.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p><strong>Source:</strong> BigBoss (http://apt.bigboss.us/repofiles/cydia/)</p>
<h3>Cyntact</h3>
<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/11/Cydia-Cyntact.png" alt="Cydia-Cyntact" title="Cydia-Cyntact" width="300" height="82" class="alignleft size-full wp-image-1592" />Cyntact est un tweak qui <strong>affiche les photos dans les listes de contacts</strong>. Cyntact est même actif dans les applications tierces qui utilisent la liste de contacts. Cette application de Saurik est malheureusement payante (1$), mais sans DRM <img src='http://geekfault.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><strong>Source:</strong> Telesphoreo (http://apt.saurik.com/)</p>
<h3>Veency</h3>
<p><a href="http://geekfault.org/wp-content/uploads/2009/11/Cydia-Veency.jpg" title="Cydia-Veency" rel="lightbox.1578"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/11/Cydia-Veency-300x225.jpg" alt="Cydia-Veency" title="Cydia-Veency" width="300" height="225" class="alignleft size-medium wp-image-1606" /></a>Veency est l&#8217;application qui m&#8217;a le plus impressioné dès son installation. C&#8217;est tout simplement un <strong>serveur VNC pour iPhone</strong>! Très pratique pour prendre le contrôle de son iPhone à distance mais le meilleur c&#8217;est tout simplement de <strong>pouvoir utiliser le clavier de son laptop</strong> pour taper par exemple des SMS sur son iPhone!</p>
<p><strong>Source:</strong> Telesphoreo (http://apt.saurik.com/)</p>
<h3>Installous</h3>
<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/11/Cydia-Installous.jpg" alt="" title="Cydia-Installous" width="144" height="145" class="alignleft size-full wp-image-1929" />Je ne pouvais pas finir cet article sans vous le présenter : Installous permet d&#8217;<strong>installer des IPA crackés directement sur votre iPhone</strong>. Un navigateur intégré vous connecte directement à la version mobile d&#8217;Appulo.us. Et pour couronner le tout, Installous permet de <strong>synchroniser automatiquement ces nouveaux IPA avec iTunes</strong>!</p>
<p><strong>Source:</strong> Hackulo.us (http://cydia.hackulo.us/)</p>
<p>À noter qu&#8217;une nouvelle version maintenue par puy0, renommée Install0us, permet de télécharger les IPA en arrière-plan et donc en télécharger plusieurs à la fois. Celle-ci n&#8217;est malheureuement pas maintenue par Hackulo.us et il faudra donc installer son repository dédié : http://cydia.install0us.com.</p>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/27/lighttpd-php-iphone/' rel='bookmark' title='Serveur Lighttpd avec PHP sur iPhone'>Serveur Lighttpd avec PHP sur iPhone</a></li>
<li><a href='http://geekfault.org/2009/05/27/internet-via-iphone/' rel='bookmark' title='Internet sur votre laptop via un iPhone'>Internet sur votre laptop via un iPhone</a></li>
<li><a href='http://geekfault.org/2009/06/29/iphone-os-30/' rel='bookmark' title='iPhone OS 3.0'>iPhone OS 3.0</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2009/11/20/10-applications-cydia/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Backup d&#8217;un compte Gmail</title>
		<link>http://geekfault.org/2009/10/24/backup-dun-compte-gmail/</link>
		<comments>http://geekfault.org/2009/10/24/backup-dun-compte-gmail/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 00:58:50 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[imap]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=1541</guid>
		<description><![CDATA[Il y a quelques jours, Google a dû désactiver un compte e-mail légitime. Immédiatement je me suis imaginé dans cette situation insoutenable que serait la perte de toute ma correspondance depuis deux ans ! En effet aujourd&#8217;hui je préfère faire confiance à Google pour conserver mes messages plutôt que risquer la perte de ceux-ci après [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/16/rsnapshot/' rel='bookmark' title='Mise en place d&#8217;un système de backup avec Rsnapshot'>Mise en place d&#8217;un système de backup avec Rsnapshot</a></li>
<li><a href='http://geekfault.org/2009/08/05/wave-1-c-est-quoi-wave/' rel='bookmark' title='Google Wave #1 : C&#8217;est quoi Wave?'>Google Wave #1 : C&#8217;est quoi Wave?</a></li>
<li><a href='http://geekfault.org/2009/08/17/exit-google/' rel='bookmark' title='La recherche web… sans Google!'>La recherche web… sans Google!</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/09/GmailBackup-Logo-300x53.png" alt="GmailBackup-Logo" title="GmailBackup-Logo" width="300" height="53" class="alignleft size-medium wp-image-1546" />Il y a quelques jours, <a href="http://www.numerama.com/magazine/14079-google-doit-suspendre-un-compte-gmail-a-cause-d-un-e-mail-recu.html">Google a dû désactiver un compte e-mail légitime</a>. Immédiatement je me suis imaginé dans cette situation insoutenable que serait la perte de toute ma correspondance depuis deux ans !</p>
<p>En effet aujourd&#8217;hui je préfère faire confiance à Google pour conserver mes messages plutôt que risquer la perte de ceux-ci après un crash de mon disque dur. Mais comment tout de même faire un backup mensuel de mon compte Google Apps?<br />
<!--more--></p>
<h3>Gmail Backup</h3>
<p><a href="http://geekfault.org/wp-content/uploads/2009/09/Gmail-Backup.png" title="Gmail Backup" rel="lightbox.1541"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/09/Gmail-Backup-279x300.png" alt="Gmail Backup" title="Gmail Backup" width="279" height="300" class="alignleft size-medium wp-image-1542" /></a>Je suis tombé sur un projet intéressant : <a href="http://www.gmail-backup.com"><strong>Gmail Backup</strong></a>, compatible Windows et Linux. Pour Linux vous aurez le choix entre la ligne de commande et une petite interface en wxPython.</p>
<p>L&#8217;<strong>interface graphique</strong> est très simple d&#8217;utilisation puisqu&#8217;elle vous demande votre adresse Gmail, mot de passe et dossier où enregistrer le backup. On peut éventuellement demander de <strong>ne sauvegarder qu&#8217;une certaine période</strong> dans le temps.</p>
<p>L&#8217;<strong>interface en ligne de commande</strong> est tout aussi puissante, et très pratique si vous souhaitez faire vos backups sur un serveur SSH. </p>
<ul>
<li>Sauvegarder tout le compte : <code>./gmail-backup.sh backup /dossier/où/backup user@gmail.com password</code></li>
<li>Sauvegarder du 28/02/2008 au 31/08/2009 : <code>./gmail-backup.sh backup /dossier/où/backup user@gmail.com password 20080228 20090831</code></li>
<li>Restaurer un backup : <code>./gmail-backup.sh restore /dossier/où/backup user@gmail.com password</code></li>
</ul>
<h3>IMAP Backup</h3>
<p> Personnellement j&#8217;ai une confiance totale en Google pour conserver mes données (Troll inside). Si toutefois vous êtes chez un autre prestataire, le seul moyen efficace que j&#8217;aie trouvé pour faire un backup est d&#8217;utiliser un client e-mail tel que Thunderbird. </p>
<p>Si vous êtes intéressé par un tel backup, je vous renvoie à d&#8217;autres sites:</p>
<ul>
<li><a href="http://kb.wisc.edu/helpdesk/page.php?id=4037">En anglais et très bien illustré</a></li>
<li><a href="http://blog.donax.ch/index.php?p=318">Ou en français si vous êtes vraiment allergique à l&#8217;anglais</a></li>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/16/rsnapshot/' rel='bookmark' title='Mise en place d&#8217;un système de backup avec Rsnapshot'>Mise en place d&#8217;un système de backup avec Rsnapshot</a></li>
<li><a href='http://geekfault.org/2009/08/05/wave-1-c-est-quoi-wave/' rel='bookmark' title='Google Wave #1 : C&#8217;est quoi Wave?'>Google Wave #1 : C&#8217;est quoi Wave?</a></li>
<li><a href='http://geekfault.org/2009/08/17/exit-google/' rel='bookmark' title='La recherche web… sans Google!'>La recherche web… sans Google!</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2009/10/24/backup-dun-compte-gmail/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>IP over DNS : Contourner les limitations des hotspots</title>
		<link>http://geekfault.org/2009/09/26/ip-over-dns/</link>
		<comments>http://geekfault.org/2009/09/26/ip-over-dns/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 14:50:24 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[Logiciel]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[hotspot]]></category>
		<category><![CDATA[nstx]]></category>
		<category><![CDATA[wifi]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=1517</guid>
		<description><![CDATA[Vous êtes dans une gare, un hôtel ou un aéroport. Celui-ci est équipé en hotspots WiFi mais dès que vous vous connectez ils essayent de vous sous-tirer plus de 10€ pour une petite heure de connexion, ce qui est totalement aberrant vu les coûts de déploiement actuels. Là, vous avez deux solutions : payer (ce [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/14/tunnel-ssh/' rel='bookmark' title='Le tunnel SSH facile'>Le tunnel SSH facile</a></li>
<li><a href='http://geekfault.org/2009/09/24/allocation-dadresses-ipv4-publiques-over-vpn/' rel='bookmark' title='Allocation d&#8217;adresses IPv4 publiques over VPN'>Allocation d&#8217;adresses IPv4 publiques over VPN</a></li>
<li><a href='http://geekfault.org/2011/02/19/reverse-ssh-acceder-a-un-serveur-derriere-un-natfirewall/' rel='bookmark' title='Reverse SSH : accéder à un serveur derrière un NAT/Firewall'>Reverse SSH : accéder à un serveur derrière un NAT/Firewall</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/09/WiFiZone.jpg" alt="WiFiZone" title="WiFiZone" width="200" class="alignleft size-full wp-image-1534" />Vous êtes dans une gare, un hôtel ou un aéroport. Celui-ci est équipé en <strong>hotspots WiFi</strong> mais dès que vous vous connectez ils essayent de vous sous-tirer <strong>plus de 10€ pour une petite heure de connexion</strong>, ce qui est totalement aberrant vu les coûts de déploiement actuels.</p>
<p>Là, vous avez deux solutions : <strong>payer</strong> (ce qui peut vite devenir cher si vous passer plus d&#8217;une semaine à l&#8217;hôtel) <strong>ou contourner</strong> les limitations. Vous vous rendrez vite compte que, même avant d&#8217;avoir payé, tous les hotspots <strong>résolvent les DNS</strong>&#8230; et il ne vous aura pas échappé qu&#8217;<strong>une résolution de DNS est un échange de données</strong>!</p>
<div style="background: #FFFABF; -moz-border-radius: 6px; padding: 4px;"><strong>Attention :</strong> Cet article fait appel à des connaissances avancées.</div>
<p><!--more--></p>
<h3>Le port UDP 53</h3>
<p>Pour faciliter la configuration de ces hotspots, de nombreux administrateurs n&#8217;hésitent pas à tout simplement ouvrir le port DNS, c&#8217;est-à-dire le port UDP 53. Une solution simple pour accéder à internet serait donc d&#8217;avoir un serveur <strong>VPN sur ce port</strong>.</p>
<p>Malheureusement on tombe souvent sur des hotspots bien configurés, qui n&#8217;autorisent du trafic que vers leur propre serveur DNS. Pourtant, vous avez remarqué qu&#8217;un <code>dig geekfault.org</code> vous a retourné la bonne adresse IP (81.93.247.142 actuellement) et non une adresse IP du hotspot. <strong>Vous venez de communiquer avec l&#8217;internet!</strong></p>
<h3>Échange de données over DNS</h3>
<p>L&#8217;idée est donc simple : traduire vos &#8220;requêtes IP&#8221; en <strong>requêtes DNS</strong>. Un faux serveur DNS va comprendre ces requêtes, les exécuter et retourner la &#8220;réponse IP&#8221; en réponse DNS! Ce détournement du système DNS est réalisable grâce à <strong><a href="http://savannah.nongnu.org/projects/nstx/">NSTX</a>, ou Name Service Transfer Procotol</strong> qui crée un véritable tunnel IP entre votre laptop et votre serveur, grâce aux requêtes DNS.</p>
<p>Par exemple vous essayez de vous connecter à Geekfault.<br />
<img src="http://geekfault.org/wp-content/uploads/2009/09/Schema-NSTX.png" alt="Schema-NSTX" title="Schema-NSTX" width="580" height="125" class="alignnone size-full wp-image-1531 noborder" /></p>
<ul>
<li>Firefox génère une requête HTTP vers geekfault.org</li>
<li>Celle-ci est interceptée par le client NSTX tournant sur le laptop. Il génère une requête vers le domaine <span style="font-family: monospace;">KJhjh33.dd_2sT-XXT.dAAoi_f.tunnel.example.com</span></li>
<li>Le NSTX tournant sur le serveur reçoit cette requête DNS et décode le <span style="font-family: monospace;">KJhjh33.dd_2sT-XXT.dAAoi_f</span> en &#8220;requête HTTP vers geekfault.org&#8221;</li>
<li>Le serveur se connecte alors à geekfault.org et récupère son contenu</li>
<li>Le contenu récupéré est encodé de la même manière et transmis vers votre laptop en tant que réponse DNS TXT</li>
<li>Le NSTX tournant sur le laptop décode les données, reformant les paquets IP</li>
<li>Firefox reçoit les données HTTP, Geekfault.org s&#8217;affiche <img src='http://geekfault.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  </li>
</ul>
<h3>Mise en place du serveur</h3>
<p>Attention il est important que votre <strong>vrai serveur DNS</strong> et votre <strong>serveur NSTX</strong> soient sur deux machines différentes, ou au moins sur <strong>deux IP différentes</strong>. En effet, il faut qu&#8217;un vrai serveur DNS fasse pointer le sous-domaine <span style="font-family: monospace;">tunnel.example.com</span> vers NSTX. Pour cela, ajoutez à la fin de votre zone DNS <code>$ORIGIN tunnel.example.com.<br />
@               IN      NS      ns.tunnel.example.com.<br />
ns              IN      A       1.2.3.4</code> où example.com est votre domaine et 1.2.3.4 est l&#8217;IP du serveur où vous installerez NSTX.</p>
<p>Vérifiez que votre kernel est compilé avec le &#8220;Universal TUN/TAP device driver support&#8221; (dans Network device support) . Installez NSTX, disponible en package pour de nombreuses distributions.</p>
<p>Et il ne reste plus qu&#8217;à <strong>créer le tunnel</strong> côté serveur: <code># modprobe tun   #Uniquement si compilé en module<br />
# nstxd -i 1.2.3.4 tunnel.example.com<br />
# ifconfig tun0 up 172.16.42.1 netmask 255.255.255.0<br />
# iptables -t nat -A POSTROUTING -s 172.16.42.2 -o eth0 -j SNAT</code></p>
<h3>Le client sur le laptop</h3>
<p>De la même manière, vérifiez que vous avez le support TUN/TAP dans le kernel et installez NSTX.</p>
<p>Récupérez l&#8217;adresse IP du serveur DNS fourni par DHCP (dans <span style="font-family: monospace;">/etc/resolv.conf</span>) ainsi que l&#8217;adresse IP du routeur (dans <span style="font-family: monospace;">route</span>). <strong>On crée alors l&#8217;autre bout du tunnel</strong> et on route le trafic approprié dans celui-ci: <code># modprobe tun   #Uniquement si compilé en module<br />
# nstxcd tunnel.example.com <IP_serveur_DNS_filtrant><br />
# ifconfig tun0 up 172.16.42.2 netmask 255.255.255.0<br />
# route del default<br />
# route add -host <IP_serveur_DNS_filtrant> gw <IP_routeur_filtrant> dev <interface_réseau><br />
# route add default gw 172.16.42.1 tun0</code></p>
<h3>Performances</h3>
<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;' align="right"   src="http://geekfault.org/wp-content/uploads/2009/09/hotspot-150x150.jpg" alt="hotspot" title="hotspot" width="150" height="150" class="alignright size-thumbnail wp-image-1536" />Vous devriez maintenant être capable de surfer sur le web. Selon le serveur DNS du fournisseur, vous pouvez espérer <strong>entre 10 et 60ko/s</strong>. Malheureusement les <strong>fortes latences</strong> de toutes les requêtes empêchent l&#8217;utilisation de plusieurs services, dont le SSH. Mais, hé, vous accédez à internet sans vous défaire de 10€ <img src='http://geekfault.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><em>Vous aurez aussi sans doute compris que nous sommes là au bord de la légalité : on exploite en quelque sorte une faille dans le système de hotspot. À utiliser avec précaution et parcimonie.</em></p>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/14/tunnel-ssh/' rel='bookmark' title='Le tunnel SSH facile'>Le tunnel SSH facile</a></li>
<li><a href='http://geekfault.org/2009/09/24/allocation-dadresses-ipv4-publiques-over-vpn/' rel='bookmark' title='Allocation d&#8217;adresses IPv4 publiques over VPN'>Allocation d&#8217;adresses IPv4 publiques over VPN</a></li>
<li><a href='http://geekfault.org/2011/02/19/reverse-ssh-acceder-a-un-serveur-derriere-un-natfirewall/' rel='bookmark' title='Reverse SSH : accéder à un serveur derrière un NAT/Firewall'>Reverse SSH : accéder à un serveur derrière un NAT/Firewall</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2009/09/26/ip-over-dns/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Télécharger les Guignols de l&#8217;Info v2</title>
		<link>http://geekfault.org/2009/09/14/telecharger-les-guignols-de-linfo-v2/</link>
		<comments>http://geekfault.org/2009/09/14/telecharger-les-guignols-de-linfo-v2/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 14:13:06 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[Création Geekfault]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[flv]]></category>
		<category><![CDATA[guignols]]></category>
		<category><![CDATA[rtmp]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=1465</guid>
		<description><![CDATA[En avril nous publiions notre script bash pour télécharger les Guignols de l&#8217;Info. Malheureusement, et comme chaque année, Canal+ a changé les technologies de son site web, et notre méthode ne fonctionne plus aujourd&#8217;hui. Nous sommes donc fiers de vous présenter la version entièrement réécrite de ce script pour télécharger les Guignols de l&#8217;Info en [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/04/10/telecharger-guingols-de-l-info/' rel='bookmark' title='Télécharger les Guignols de l&#8217;Info'>Télécharger les Guignols de l&#8217;Info</a></li>
<li><a href='http://geekfault.org/2010/08/12/ifconfig-me-connaitre-son-ip-publique-en-un-rien-de-temps/' rel='bookmark' title='Ifconfig.me, connaitre son IP publique en un rien de temps'>Ifconfig.me, connaitre son IP publique en un rien de temps</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://geekfault.org/wp-content/uploads/2009/04/lesguignols.png" title="Les Guignols de l&#039;Info" rel="lightbox.1465"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/04/lesguignols-300x182.png" alt="&quot;Nous, le téléchargement, on est pour! Si si, ça fait 50 fois qu&#039;on télécharge le moment à l&#039;Assemblée où la droite est ridicule!&quot; (François Hollande)" title="Les Guignols de l&#039;Info" width="300" height="182" class="size-medium wp-image-182 alignleft" /></a>En avril nous publiions <a href="http://geekfault.org/2009/04/10/telecharger-guingols-de-l-info/">notre script bash pour télécharger les Guignols de l&#8217;Info</a>. Malheureusement, et comme chaque année, Canal+ a changé les technologies de son site web, et notre méthode ne fonctionne plus aujourd&#8217;hui.</p>
<p>Nous sommes donc fiers de vous présenter la version entièrement réécrite de ce <strong>script pour télécharger les Guignols de l&#8217;Info en cette rentrée 2009</strong>!<br />
<!--more--></p>
<h3>La technique</h3>
<p>Vous vous souviendrez peut-être que notre précédente technique profitait d&#8217;une faille de sécurité sur le site de Canal+ : bien que le player exploitait le RTMP, les fichiers étaient toujours accessibles en HTTP. Nous en profitions donc pour simplement <span style="font-family: monospace;">wget</span> les différentes vidéos. Évidemment <strong>cette année le HTTP est entièrement bloqué et il faut donc passer par le RTMP</strong>.</p>
<p>Le hic, c&#8217;est que récupérer une URL RTMP relève du parcours du combattant. Mais il y a quelques jours <strong>jeantube</strong> est passé nous signaler une URL très, très intéressante : <a href="http://www.canalplus.fr/rest/bootstrap.php?/bigplayer/search/guignols">http://www.canalplus.fr/rest/bootstrap.php?/bigplayer/search/guignols</a>. Celle-ci correspond, je pense, au résultat AJAX des recherches de vidéo sur le site de Canal+.</p>
<p>Ce qui est génial avec ce fichier, c&#8217;est qu&#8217;<strong>il comporte en clair les URL rtmp://</strong>. Il ne nous reste plus qu&#8217;à utiliser un petit logiciel nommé <span style="font-family: monospace;"><a href="http://lkcl.net/rtmp/">rtmpdump</a></span> pour enregistrer localement le fichier.</p>
<h3>Le script</h3>
<p>Pour automatiser la tâche, je vous ai rédigé un petit <strong>script bash</strong> très simple qui à coups de <span style="font-family: monospace;">sed</span> et <span style="font-family: monospace;">grep</span> <strong>récupère l&#8217;URL d&#8217;un épisode et lance le <span style="font-family: monospace;">rtmpdump</span></strong> dessus. Il essaye toujours de prendre la plus haute qualité disponible et s&#8217;utilise comme le précédent:<br />
<code>./getGuignols.sh    #Télécharge l'épisode de la veille<br />
./getGuignols.sh 0  #Télécharge l'épisode d'aujourd'hui<br />
./getGuignols.sh 3  #Télécharge l'épisode d'il y a trois jours</code></p>
<p>Le script est publié sous GPLv3 et j&#8217;ai inclu dans l&#8217;archive le binaire <span style="font-family: monospace;">rtmpdump</span> distribué sous GPLv2. <strong><a href='http://geekfault.org/wp-content/uploads/2009/09/getGuignols.tar.gz'>Le tout se télécharge ici</a></strong></p>
<p>A noter que le code est très facile à comprendre et devrait être aisément adapté à d&#8217;autres émissions publiées sur le site de Canal+.</p>
<h3>Remerciements</h3>
<p>Je remercie <strong>jeantube</strong> sans qui nous ne serions nulle part et les quelques acharnés de <a href="http://www.chrogeek.com/2009/07/petit-hack-entre-amis-comment-telecharger-une-video-de-canal-plus/"><strong>Chrogeek.com</strong></a> qui ont permis de démêler le schmilblik.</p>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/04/10/telecharger-guingols-de-l-info/' rel='bookmark' title='Télécharger les Guignols de l&#8217;Info'>Télécharger les Guignols de l&#8217;Info</a></li>
<li><a href='http://geekfault.org/2010/08/12/ifconfig-me-connaitre-son-ip-publique-en-un-rien-de-temps/' rel='bookmark' title='Ifconfig.me, connaitre son IP publique en un rien de temps'>Ifconfig.me, connaitre son IP publique en un rien de temps</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2009/09/14/telecharger-les-guignols-de-linfo-v2/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>Plowshare : MegaUpload, RapidShare et autres en CLI</title>
		<link>http://geekfault.org/2009/08/26/plowshare-megaupload-rapidshare-en-cli/</link>
		<comments>http://geekfault.org/2009/08/26/plowshare-megaupload-rapidshare-en-cli/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 12:32:45 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[Logiciel]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[megaupload]]></category>
		<category><![CDATA[rapidshare]]></category>
		<category><![CDATA[warez]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=1427</guid>
		<description><![CDATA[Récemment j&#8217;ai découvert un petit script en ligne de commande qui pemet de télécharger sur MegaUpload, RapidShare, 2Shared, Badongo, Mediafire, 4Shared et Zshare ! Ce script sait en plus utiliser les comptes Premium sur MegaUpload (mon préféré) ainsi qu&#8217;uploader sur MegaUpload, RapidShare et 2Shared. Si vous n&#8217;avez pas de compte premium, il est même capable [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2010/04/12/les-autres-nouveautes-de-html-5/' rel='bookmark' title='Les autres nouveautés de l&#8217;HTML 5'>Les autres nouveautés de l&#8217;HTML 5</a></li>
<li><a href='http://geekfault.org/2009/09/14/telecharger-les-guignols-de-linfo-v2/' rel='bookmark' title='Télécharger les Guignols de l&#8217;Info v2'>Télécharger les Guignols de l&#8217;Info v2</a></li>
<li><a href='http://geekfault.org/2010/03/01/nginx-et-python-le-perfect-setup/' rel='bookmark' title='nginx et python &#8211; le perfect setup'>nginx et python &#8211; le perfect setup</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/08/vive-wget.jpg" alt="C&#039;est wget le meilleur!" title="C&#039;est wget le meilleur!" width="310" height="259" class="alignleft size-full wp-image-1446" />Récemment j&#8217;ai découvert un petit <strong>script en ligne de commande</strong> qui pemet de télécharger sur <strong>MegaUpload, RapidShare, 2Shared, Badongo, Mediafire, 4Shared et Zshare</strong> !</p>
<p>Ce script sait en plus utiliser les comptes Premium sur MegaUpload (mon préféré) ainsi qu&#8217;<strong>uploader</strong> sur MegaUpload, RapidShare et 2Shared. Si vous n&#8217;avez pas de compte premium, il est même capable de <strong>déchiffrer les captcha</strong>!<br />
<!--more--></p>
<h3>Installation</h3>
<p>Assurez-vous d&#8217;abord d&#8217;avoir toutes les dépendances nécessaires : <span style="font-family: monospace;">curl recode imagemagick tesseract spidermonkey aview</span>.</p>
<p>Ensuite, <a href="http://code.google.com/p/plowshare/downloads/list">téléchargez</a> et décompressez la dernière version de plowdown. En root, déplacez-vous dans son répertoire et exécutez<br />
<code>./setup.sh install</code></p>
<p>Vous pouvez désormais utiliser les commandes <span style="font-family: monospace; font-weight: bold;">plowdown</span> pour télécharger et <span style="font-family: monospace; font-weight: bold;">plowup</span> pour uploader !</p>
<h3>Quelques exemples de commandes</h3>
<ul>
<li>Simplement télécharger un fichier sur un des fournisseurs compatibles : <code>plowdown http://...</code></li>
<li>Télécharger avec un compte utilisateur (MegaUpload uniquement) : <code>plowdown -a user:password http://www.megaupload.com/?d=XXXXXXXX</code></li>
<li>Télécharger tous liens répertoriés dans fichier.txt, un lien par ligne : <code>plowdown fichier.txt</code></li>
<li>Récupérer le lien de download direct : <code>plowdown --link-only http://...</code></li>
<li>Si vous préférez wget : <code>plowdown --link-only http://... | xargs -rt wget</code></li>
<li>Uploader un fichier chez MegaUpload : <code>plowup -a user:password -d "Description" film.avi megaupload</code></li>
<h3>Lecture des captchas</h3>
<p><a href="http://geekfault.org/wp-content/uploads/2009/08/Captcha-MegaUpload.png" title="Le captcha de MegaUpload décrypté en un seul essai" rel="lightbox.1427"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/08/Captcha-MegaUpload-300x175.png" alt="Le captcha de MegaUpload décrypté en un seul essai" title="Le captcha de MegaUpload décrypté en un seul essai" width="300" height="175" class="alignleft size-medium wp-image-1429" /></a>Grâce à tesseract ce script arrive à <strong>déchiffer les captchas</strong> parfois présents sur ces services de téléchargement. Je n&#8217;ai essayé que celui de MegaUpload et, même s&#8217;il lui faut souvent plusieurs essais, il y arrive quand même à tous les coups.</p>
<p>À noter que sous Gentoo j&#8217;ai dû télécharger et <a href="http://code.google.com/p/tesseract-ocr/wiki/ReadMe">installer manuellement</a> tesseract <strong>plus les fichiers data</strong> (absents de l&#8217;ebuild officiel) pour qu&#8217;il arrive à lire les captcha.</p>
<h3>Un script bien pratique!</h3>
<p>Ce script est très utile si vous possédez un <strong>serveur dédié</strong>. Vous pourrez ainsi exploiter la puissance (j&#8217;ai déjà pompé à plus de 9Mo/sec <img src='http://geekfault.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ) et stabilité de sa connexion. Ensuite vous pouvez récupérer le fichier sur votre propre ordinateur avec le support de la reprise d&#8217;un téléchargement interrompu!</p>
<p>Le but premier de ce script n&#8217;était sans doute pas le warez mais il faut avouer qu&#8217;il s&#8217;y prête bien <img src='http://geekfault.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Il est d&#8217;ailleurs très pratique pour partager un compte Premium (uniquement MegaUpload dans sa version actuelle) derrière une seule et même IP.</p>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2010/04/12/les-autres-nouveautes-de-html-5/' rel='bookmark' title='Les autres nouveautés de l&#8217;HTML 5'>Les autres nouveautés de l&#8217;HTML 5</a></li>
<li><a href='http://geekfault.org/2009/09/14/telecharger-les-guignols-de-linfo-v2/' rel='bookmark' title='Télécharger les Guignols de l&#8217;Info v2'>Télécharger les Guignols de l&#8217;Info v2</a></li>
<li><a href='http://geekfault.org/2010/03/01/nginx-et-python-le-perfect-setup/' rel='bookmark' title='nginx et python &#8211; le perfect setup'>nginx et python &#8211; le perfect setup</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2009/08/26/plowshare-megaupload-rapidshare-en-cli/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Google Wave #3 : L&#8217;interface de Google Wave Sandbox</title>
		<link>http://geekfault.org/2009/08/21/wave-3-interface-google/</link>
		<comments>http://geekfault.org/2009/08/21/wave-3-interface-google/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 18:08:12 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[Wave]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=1376</guid>
		<description><![CDATA[Voici le troisième article de notre série consacrée au futur de la communication sur internet : Wave. Si vous ne l&#8217;avez pas déjà fait, je vous invite à lire les deux articles précédents. Google Wave #1 : C’est quoi Wave? Google Wave #2 : C’est quoi une Wave? Comme déjà répété, Wave est un nouveau [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/08/21/concours-google-wave-sandbox/' rel='bookmark' title='Concours : deux jours d&#8217;accès à la Google Wave Sandbox'>Concours : deux jours d&#8217;accès à la Google Wave Sandbox</a></li>
<li><a href='http://geekfault.org/2009/08/16/wave-2-cest-quoi-une-wave/' rel='bookmark' title='Google Wave #2 : C&#8217;est quoi une Wave?'>Google Wave #2 : C&#8217;est quoi une Wave?</a></li>
<li><a href='http://geekfault.org/2009/08/05/wave-1-c-est-quoi-wave/' rel='bookmark' title='Google Wave #1 : C&#8217;est quoi Wave?'>Google Wave #1 : C&#8217;est quoi Wave?</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://geekfault.org/wp-content/uploads/2009/08/Google-Wave-Full.png" title="Vue d&#039;ensemble de Google Wave" rel="lightbox.1376"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/08/Google-Wave-Full-300x175.png" alt="Vue d&#039;ensemble de Google Wave" title="Vue d&#039;ensemble de Google Wave" width="300" height="175" class="alignleft size-medium wp-image-1378" /></a>Voici le troisième article de notre série consacrée au futur de la communication sur internet : Wave. Si vous ne l&#8217;avez pas déjà fait, je vous invite à lire les deux articles précédents.</p>
<ul style="text-align: left;">
<li><a href="http://geekfault.org/2009/08/05/wave-1-c-est-quoi-wave/">Google Wave #1 : C’est quoi Wave?</a></li>
<li><a href="http://geekfault.org/2009/08/16/wave-2-cest-quoi-une-wave/">Google Wave #2 : C’est quoi une Wave?</a></li>
</ul>
<p>Comme déjà répété, Wave est un nouveau protocole et non pas un service proposé par Google. À terme des dizaines de clients différents coexisteront, qu&#8217;ils soient en ligne ou pas. Mais il est intéressant de regarder à quoi l&#8217;interface en ligne de Google ressemble puisque <strong>c&#8217;est elle qui va établir le standard pour les prochains clients</strong>.<br />
<!--more--></p>
<h3>Vous oublierez que c&#8217;est une application en ligne</h3>
<p>Google ayant bâti la majorité de son business en ligne ne compte pas l&#8217;oublier de si tôt. Les applications en ligne ont des avantages indéniables dont, entre autres, l&#8217;interopérabilité entre les différents OS. C&#8217;est donc logiquement que <strong>le premier client de Google Wave est une application en ligne</strong>.</p>
<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;' align="right"   src="http://geekfault.org/wp-content/uploads/2009/08/Google-Wave-TitleBar-Buttons.png" alt="Les boutons de la barre de titre" title="Les boutons de la barre de titre" width="234" height="126" class="alignright size-full wp-image-1382" />Créée avec Google Web Toolkit, cette interface tout en HTML et JavaScript est très réussie. Les ingénieurs de chez Google nous l&#8217;ont promis : « <em>Vous oublierez que c&#8217;est une application en ligne</em> ». Et effectivement ce client est assez proche d&#8217;un <a href="http://geekfault.org/2009/08/19/echinus-wm/"><strong>gestionnaire de fenêtres en tiling</strong></a>. Chaque partie possède sa &#8220;barre de titre&#8221; possédant un bouton de réduction et, éventuellement, des boutons d&#8217;agrandissement ou de fermeture.</p>
<p><a href="http://geekfault.org/wp-content/uploads/2009/08/Google-Wave-Dropdown.png" title="Fenêtres réduites dont une ouverte en consultation rapide" rel="lightbox.1376"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/08/Google-Wave-Dropdown-300x252.png" alt="Fenêtres réduites dont une ouverte en consultation rapide" title="Fenêtres réduites dont une ouverte en consultation rapide" width="300" height="252" class="alignleft size-medium wp-image-1386" /></a>Une fenêtre réduite va se placer tout en haut de l&#8217;interface. En plus d&#8217;un bouton permettant de la restaurer à son emplacement d&#8217;origine, on voit apparaître un bouton de &#8220;<strong>consultation rapide</strong>&#8221; qui permet d&#8217;agrandir la fenêtre par-dessus les autres pendant quelques instants. Seules les Waves possèdent le bouton &#8220;agrandir&#8221; qui permet à une Wave d&#8217;utiliser tout l&#8217;espace disponible en réduisant toutes les autres fenêtres.</p>
<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;' align="right"   src="http://geekfault.org/wp-content/uploads/2009/08/Google-Wave-Resize.png" alt="Redimensionnement d&#039;une fenêtre" title="Redimensionnement d&#039;une fenêtre" width="141" height="119" class="alignright size-full wp-image-1384" />L&#8217;avantage d&#8217;un tel système de fenêtrage c&#8217;est qu&#8217;il permet d&#8217;<strong>ouvrir plusieurs Waves en même temps</strong> tout en modulant l&#8217;agencement pour correspondre aux désirs de l&#8217;utilisateur. À noter finalement que les différentes fenêtres peuvent être redimensionnées pour laisser plus de place aux autres.</p>
<h3>Une Wave</h3>
<p><a href="http://geekfault.org/wp-content/uploads/2009/08/Exemple-dune-Wave.png" title="Une Wave exploitant les différents types de blips" rel="lightbox.1376"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/08/Exemple-dune-Wave-150x150.png" alt="Une Wave exploitant les différents types de blips" title="Une Wave exploitant les différents types de blips" width="150" height="150" class="alignleft size-thumbnail wp-image-1036" /></a>Dans l&#8217;article précédent vous avez déjà pu voir des screenshots d&#8217;une Wave. Vous l&#8217;aurez sans doute compris, une Wave est représentée par une fenêtre et c&#8217;est à l&#8217;intérieur de cette fenêtre que toutes les interactions ont lieu : lecture, rédaction, ajout de participants&#8230;</p>
<p>En haut de la fenêtre on a donc le bandeau présentant l&#8217;<strong>avatar de tous les participants</strong> à la Wave (plus de détails en cliquant dessus) et très logiquement le bouton pour en inviter de nouveaux. Juste en dessous, il y a une barre de boutons qui rappellent fortement les interactions avec les e-mails : répondre, archiver, déplacer, marquer comme spam&#8230; Uniquement le meilleur donc <img src='http://geekfault.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/08/Google-Wave-Bar.png" alt="Barre d&#039;outils en haut de la Wave" title="Barre d&#039;outils en haut de la Wave" width="585" height="85" class="alignleft size-full wp-image-1390 noborder" /></p>
<p>Cette barre d&#8217;actions évolue selon ce que vous êtes en train de faire. En mode <strong>playback</strong> (fonction permettant de voir l&#8217;évolution de la Wave dans le temps) cette barre se transforme en ligne du temps. Lors de la rédaction ou la modification d&#8217;un blip, on retrouve bien entendu les fonctions de <strong>mise en page</strong>, d&#8217;insertion de pièces jointes et autres widgets que nous détaillerons dans un prochain article.</p>
<p><a href="http://geekfault.org/wp-content/uploads/2009/08/Google-Wave-Answer.png" title="Réponse en cours de rédaction" rel="lightbox.1376"><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;' align="right"   src="http://geekfault.org/wp-content/uploads/2009/08/Google-Wave-Answer-300x189.png" alt="Réponse en cours de rédaction" title="Réponse en cours de rédaction" width="300" height="189" class="alignright size-medium wp-image-1394" /></a>En-dessous de cette barre on retrouve forcément la Wave. Lorsqu&#8217;on répond ou modifie la Wave, <strong>la zone de consultation se transforme en zone éditable</strong>, ce qui rappelle bien que nous travaillons ici avec un objet unique, et non plus une suite de réponse comme c&#8217;est le cas des e-mails.</p>
<h3>Améliorations futures?</h3>
<p>Cette interface répond à peu près correctement à toutes les exigences du protocole, tout en gardant une <strong>simplicité et ergonomie parfaites</strong>. Une fois le concept des Waves maîtrisé, cette présentation très sobre est un réel atout.</p>
<p><a href="http://geekfault.org/wp-content/uploads/2009/08/Google-Wave-Beaucoup-de-lecture.png" title="Beaucoup de lecture en vue! Plus de 99 messages non lus sur 285." rel="lightbox.1376"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/08/Google-Wave-Beaucoup-de-lecture.png" alt="Beaucoup de lecture en vue! Plus de 99 messages non lus sur 285." title="Beaucoup de lecture en vue! Plus de 99 messages non lus sur 285." width="108" height="48" class="alignleft size-full wp-image-1403" /></a>Nous regrettons par contre que des Waves très longues ou très actives soient si <strong>difficiles à suivre</strong>, du fait de la hiérarchisation des réponses. Mais peut-être que Google trouvera à nouveau la solution miracle à ce problème!</p>
<p>Avec ce premier client Wave, <strong>Google place la barre très haut</strong>. Les futurs clients devront gérer très précautionneusement leur ergonomie et leur présentation pour concurrencer ce client en ligne. Je pense tout de même qu&#8217;un client natif permettrait de gagner en rapidité et, plus important, des <strong>notifications</strong> qui manquent cruellement à ces &#8220;webiciels&#8221;.</p>
<h3>Envie de tester Google Wave?</h3>
<p>À plus d&#8217;un mois de l&#8217;ouverture de 100.000 nouveaux comptes, <strong>Geekfault met en jeu 48 heures d&#8217;accès à la Google Wave Sandbox!</strong> Tous les détails du concours dans l&#8217;<a href="http://geekfault.org/2009/08/21/concours-google-wave-sandbox/">article dédié</a>!</p>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/08/21/concours-google-wave-sandbox/' rel='bookmark' title='Concours : deux jours d&#8217;accès à la Google Wave Sandbox'>Concours : deux jours d&#8217;accès à la Google Wave Sandbox</a></li>
<li><a href='http://geekfault.org/2009/08/16/wave-2-cest-quoi-une-wave/' rel='bookmark' title='Google Wave #2 : C&#8217;est quoi une Wave?'>Google Wave #2 : C&#8217;est quoi une Wave?</a></li>
<li><a href='http://geekfault.org/2009/08/05/wave-1-c-est-quoi-wave/' rel='bookmark' title='Google Wave #1 : C&#8217;est quoi Wave?'>Google Wave #1 : C&#8217;est quoi Wave?</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2009/08/21/wave-3-interface-google/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Concours : deux jours d&#8217;accès à la Google Wave Sandbox</title>
		<link>http://geekfault.org/2009/08/21/concours-google-wave-sandbox/</link>
		<comments>http://geekfault.org/2009/08/21/concours-google-wave-sandbox/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 18:08:05 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[Wave]]></category>
		<category><![CDATA[concours]]></category>
		<category><![CDATA[Geekfault]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=1408</guid>
		<description><![CDATA[À l&#8217;occasion du troisième article sur Google Wave, Geekfault met en jeu deux fois 48 heures d&#8217;accès à la Google Wave Sandbox ! La règle est simple : laissez en commentaire à cet article une idée de slogan pour Geekfault. Les meilleurs seront ajoutés à la liste de slogans aléatoires de notre header. Mercredi à [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/08/21/wave-3-interface-google/' rel='bookmark' title='Google Wave #3 : L&#8217;interface de Google Wave Sandbox'>Google Wave #3 : L&#8217;interface de Google Wave Sandbox</a></li>
<li><a href='http://geekfault.org/2009/08/05/wave-1-c-est-quoi-wave/' rel='bookmark' title='Google Wave #1 : C&#8217;est quoi Wave?'>Google Wave #1 : C&#8217;est quoi Wave?</a></li>
<li><a href='http://geekfault.org/2009/08/16/wave-2-cest-quoi-une-wave/' rel='bookmark' title='Google Wave #2 : C&#8217;est quoi une Wave?'>Google Wave #2 : C&#8217;est quoi une Wave?</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/08/google-wave-logo-150x150.png" alt="Logo de Google Wave" title="Logo de Google Wave" width="150" height="150" class="alignleft size-thumbnail wp-image-955" />À l&#8217;occasion du <a href=" http://geekfault.org/2009/08/21/wave-3-interface-google/">troisième article sur Google Wave</a>, Geekfault met en jeu deux fois 48 heures d&#8217;accès à la Google Wave Sandbox !</p>
<p>La règle est simple : <strong>laissez en commentaire à cet article une idée de slogan pour Geekfault</strong>. Les meilleurs seront ajoutés à la liste de slogans aléatoires de notre header.</p>
<p><strong>Mercredi à 13 heures</strong>, nous choisirons les deux vainqueurs :</p>
<ul>
<li><strong>Celui ayant proposé le meilleur slogan</strong></li>
<li><strong>Un autre tiré au hasard</strong> grâce à <a href="http://random.org">random.org</a></li>
</ul>
<p>Ces deux personnes gagneront 48 heures d&#8217;accès à la <a href="http://wavesandbox.com">Google Wave Sandbox</a> et seront contactées par e-mail (veuillez donc préciser une adresse valable).</p>
<p>Bonne chance à tous <img src='http://geekfault.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><em><strong>EDIT:</strong> Les vainqueurs du concours sont Alex_Kalibur (slogans) et xiu (tirage au sort) ! Bravo à eux deux, ils seront contactés par e-mail pour les deux jours d&#8217;accès à Google Wave Sandbox <img src='http://geekfault.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </em></p>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/08/21/wave-3-interface-google/' rel='bookmark' title='Google Wave #3 : L&#8217;interface de Google Wave Sandbox'>Google Wave #3 : L&#8217;interface de Google Wave Sandbox</a></li>
<li><a href='http://geekfault.org/2009/08/05/wave-1-c-est-quoi-wave/' rel='bookmark' title='Google Wave #1 : C&#8217;est quoi Wave?'>Google Wave #1 : C&#8217;est quoi Wave?</a></li>
<li><a href='http://geekfault.org/2009/08/16/wave-2-cest-quoi-une-wave/' rel='bookmark' title='Google Wave #2 : C&#8217;est quoi une Wave?'>Google Wave #2 : C&#8217;est quoi une Wave?</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2009/08/21/concours-google-wave-sandbox/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Geekfault recherche des partenaires</title>
		<link>http://geekfault.org/2009/08/17/partenariat-geekfault/</link>
		<comments>http://geekfault.org/2009/08/17/partenariat-geekfault/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 20:24:20 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[Geekfault]]></category>
		<category><![CDATA[bannière]]></category>
		<category><![CDATA[partenariat]]></category>
		<category><![CDATA[plublicité]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=1054</guid>
		<description><![CDATA[Après maintenant 5 mois d&#8217;existence et une quarantaine d&#8217;articles, Geekfault atteint maturation. En période d&#8217;activité, Geekfault totalise une centaine de visisteurs absolus et le double de pages vues quotidiennement. Il est temps que nous essayions d&#8217;atteindre un plus grand nombre de lecteurs. Nous officialisons aujourd&#8217;hui notre partenariat avec GeekNode, Geek factory since 2005. GeekNode est [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/12/22/difficultes-techniques-de-geekfault/' rel='bookmark' title='Difficultés techniques de Geekfault'>Difficultés techniques de Geekfault</a></li>
<li><a href='http://geekfault.org/2009/08/28/geekfault-disponible-en-ipv6/' rel='bookmark' title='Geekfault disponible en IPv6'>Geekfault disponible en IPv6</a></li>
<li><a href='http://geekfault.org/2009/04/18/nouveautes-sur-geekfault/' rel='bookmark' title='Nouveautés sur Geekfault'>Nouveautés sur Geekfault</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/04/geekfault.png" alt="Logo Geekfault" title="Logo Geekfault" width="128" height="128" class="alignleft size-full wp-image-203" />Après maintenant 5 mois d&#8217;existence et une quarantaine d&#8217;articles, Geekfault atteint maturation. En période d&#8217;activité, Geekfault totalise <strong>une centaine de visisteurs absolus et le double de pages vues quotidiennement</strong>. Il est temps que nous essayions d&#8217;atteindre un plus grand nombre de lecteurs.</p>
<p>Nous officialisons aujourd&#8217;hui notre partenariat avec <a href="http://www.geeknode.org/">GeekNode</a>, <em>Geek factory since 2005</em>. GeekNode est une association fournissant le réseau IRC hébergeant <a href="irc://irc.geeknode.org/geekfault">notre channel</a> et qui fournit d&#8217;autres services à ses membres.</p>
<p>Dans la même optique, nous lançons notre campagne de recherche de partenaires. Si vous êtes intéressé par un <strong>échange de lien ou de bannière</strong> entre votre site internet (ou toute autre organisation geek) et Geekfault, il vous suffit de nous contacter à <strong><a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#112;&#97;&#114;&#116;&#101;&#110;&#97;&#114;&#105;&#97;&#116;&#64;&#103;&#101;&#101;&#107;&#102;&#97;&#117;&#108;&#116;&#46;&#111;&#114;&#103;">&#112;&#97;&#114;&#116;&#101;&#110;&#97;&#114;&#105;&#97;&#116;&#64;&#103;&#101;&#101;&#107;&#102;&#97;&#117;&#108;&#116;&#46;&#111;&#114;&#103;</a> ou sur <a href="irc://irc.geeknode.org/geekfault">notre channel IRC</a></strong>. 20 visisteurs quotidiens sont suffisants pour envisager un partenariat!</p>
<p>Bientôt, en haut de la colonne à droite de ce blog, apparaîtra un bloc <strong>&#8220;Geekfault vous recommande&#8230;&#8221;</strong> reprenant les banières (format à discuter) et liens vers, peut-être, votre blog <img src='http://geekfault.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/12/22/difficultes-techniques-de-geekfault/' rel='bookmark' title='Difficultés techniques de Geekfault'>Difficultés techniques de Geekfault</a></li>
<li><a href='http://geekfault.org/2009/08/28/geekfault-disponible-en-ipv6/' rel='bookmark' title='Geekfault disponible en IPv6'>Geekfault disponible en IPv6</a></li>
<li><a href='http://geekfault.org/2009/04/18/nouveautes-sur-geekfault/' rel='bookmark' title='Nouveautés sur Geekfault'>Nouveautés sur Geekfault</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2009/08/17/partenariat-geekfault/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

