<?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>./maxime.sh &#187; Ma vie</title>
	<atom:link href="http://maxime.sh/category/ma-vie/feed/" rel="self" type="application/rss+xml" />
	<link>http://maxime.sh</link>
	<description>Le blog de Maxime VALETTE : Web, Vin, Littérature, Culture outrancière.</description>
	<lastBuildDate>Mon, 26 Jul 2010 07:23:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Lily Poulp&#8217; et le Friedrich Effect</title>
		<link>http://maxime.sh/2010/07/lily-poulp-et-le-friedrich-effect/</link>
		<comments>http://maxime.sh/2010/07/lily-poulp-et-le-friedrich-effect/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 13:55:02 +0000</pubDate>
		<dc:creator>Maxime</dc:creator>
				<category><![CDATA[Ma vie]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://maxime.sh/?p=3109</guid>
		<description><![CDATA[Mes petits pandas. Vous parlez tous depuis hier de Paul le Poulpe qui aurait deviné l&#8217;issue du match Espagne-Allemagne d&#8217;hier soir. Mais je vous le dis ici, il n&#8217;y a qu&#8217;un seul poulpe qui vaille la peine en ce monde, c&#8217;est Lily Poulp&#8217;. Dédipix de Friedrich en mode photo de fille surexposée. Et si je [...]]]></description>
			<content:encoded><![CDATA[<p>Mes petits pandas. Vous parlez tous depuis hier de <a href="http://search.twitter.com/search?q=pulpo+paul" target="_blank">Paul le Poulpe</a> qui aurait deviné l&#8217;issue du match Espagne-Allemagne d&#8217;hier soir. Mais je vous le dis ici, il n&#8217;y a qu&#8217;un seul poulpe qui vaille la peine en ce monde, c&#8217;est <a href="http://aetazeichnung.blogspot.com/" target="_blank">Lily Poulp&#8217;</a>.</p>
<p class="image border"><a href="http://maxime.sh/wp-content/uploads/2010/07/Mobile-Photo-7-juil.-2010-20-27-38.jpg" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2010/07/Mobile-Photo-7-juil.-2010-20-27-38.jpg" alt="Mobile Photo 7 juil. 2010 20 27 38.jpg" border="0" /></a><br /><em>Dédipix de Friedrich en mode photo de fille surexposée.</em></p>
<p>Et si je dis ça c&#8217;est bien sûr uniquement parce que <a href="http://friedri.sh" target="_blank">Friedrich</a>, le plus beau chat de la Terre, a maintenant l&#8217;honneur d&#8217;être mentionné sur son blog. Avant d&#8217;être dessiné ? Si c&#8217;est le cas, Lily, fais gaffe, on l&#8217;a déjà dessiné gros une fois, il a eu du mal à s&#8217;en remettre.</p>
<p class="image border"><a href="http://maxime.sh/wp-content/uploads/2010/07/cqen.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2010/07/cqen.png" alt="cqen.png" border="0" /></a></p>
<p>Ces quelques dessins résument très bien ce qu&#8217;on appelle communément le <em>&laquo;&nbsp;Friedrich effect&nbsp;&raquo;</em>, cet effet qui rend gaga n&#8217;importe quel être humain après avoir eu un contact visuel avec mon chat ! Admirez. Merci Lily.</p>
<p style="text-align: center; margin: 20px;">Voir <a href="http://aetazeichnung.blogspot.com/2010/07/friedrich-part-1.html" target="_blank">Friedrich part 1</a> sur Lily Poulp&#8217;</li></p>
]]></content:encoded>
			<wfw:commentRss>http://maxime.sh/2010/07/lily-poulp-et-le-friedrich-effect/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>L&#8217;infrastructure VDM : Memcache</title>
		<link>http://maxime.sh/2010/03/linfrastructure-vdm-memcache/</link>
		<comments>http://maxime.sh/2010/03/linfrastructure-vdm-memcache/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 19:44:50 +0000</pubDate>
		<dc:creator>Maxime</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Ma vie]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://maxime.sh/?p=2661</guid>
		<description><![CDATA[La semaine dernière, je vous annonçais la création d&#8217;une suite d&#8217;articles concernant l&#8217;infrastructure de VDM. J&#8217;ai commencé en présentant mes serveurs MySQL. Récapitulatif : L’infrastructure que j’ai montée pour VDM/FML Dans cette série de billets (normalement trois en comptant celui là), je vais vous raconter ce qui se passe derrière les URL viedemerde.fr et fmylife.com, [...]]]></description>
			<content:encoded><![CDATA[<p>La semaine dernière, je vous annonçais la création d&#8217;une suite d&#8217;articles concernant l&#8217;infrastructure de VDM. J&#8217;ai commencé en présentant mes <a href="http://maxime.sh/2010/03/linfrastructure-vdm-mysql/" target="_blank">serveurs MySQL</a>. Récapitulatif :</p>
<p class="image"><a href="http://maxime.sh/wp-content/uploads/2010/03/betacie_network1.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2010/03/betacie_network1-500.png" border="0" alt="betacie_network.png" /></a><br />
<em>L’infrastructure que j’ai montée pour VDM/FML</em></p>
<p>Dans cette série de billets (normalement trois en comptant celui là), je vais vous raconter ce qui se passe derrière les URL viedemerde.fr et fmylife.com, qui représentent 98% du trafic de l’infrastructure d’hébergement de ma société, Beta&amp;Cie. Ces articles n’ont pas pour vocation de me vanter ou de dire au monde entier que ma solution est la meilleure, c’est juste ma solution et elle marche bien jusqu’à maintenant.</p>
<p>Aujourd&#8217;hui, parlons de <strong>Memcache</strong>.</p>
<h2>Présentation de memcached</h2>
<p>Comme nous l&#8217;avons vu la semaine dernière, les serveurs de données sont bien remplis en données diverses et variées, que ce soit des votes, des anecdotes, les informations de connexion. Beaucoup de données, dont une partie est redondante. Mais pas la totalité de la page puisque chaque anecdote est votée, impossible donc de <em>cacher</em> toute la page.</p>
<p>Un <a href="http://memcached.org/" target="_blank">serveur memcached</a> (d pour daemon) est un serveur léger qui permet de stocker temporairement des données en RAM. Si léger qu&#8217;il ne dispose d&#8217;aucun système d&#8217;identification pour accéder ou modifier ces données, donc faites bien attention à ne faire écouter le serveur qu&#8217;en local si vous installez un jour une telle solution pour votre serveur.</p>
<h2>Son utilisation sur VDM</h2>
<p>La technologie memcached permet donc de stocker n&#8217;importe quel type de données. Il sert souvent par exemple sur des clusters de serveurs Web pour centraliser les sessions PHP. On peut donc facilement en tirer profit pour mettre en cache plusieurs informations du site, et ainsi soulager de manière significative les serveurs MySQL.</p>
<p class="image border"><a href="http://maxime.sh/wp-content/uploads/2010/03/memcache.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2010/03/memcache.png" border="0" alt="memcache.png" /></a><br />
<em>One server to rule them all.</em></p>
<p>La problématique est maintenant la mise en place de cette solution sur le code PHP existant de VDM. PHP possède une <a href="http://php.net/manual/en/ref.memcache.php" target="_blank">extension Memcache</a> qui permet d&#8217;implémenter facilement une solution de cache.</p>
<p>La solution que j&#8217;ai retenue est résumée dans le code suivant. Les requêtes SQL sont transformées en hash MD5 pour le nom de la clé, et l&#8217;objet du résultat de la requête est stockée en cache, avec un cache par défaut d&#8217;une heure (3600 secondes). De cette manière, si la clé n&#8217;existe pas sur le serveur memcached, la requête est automatiquement exécutée et le résultat stocké.</p>
<pre class="brush: php;">&lt;?php

$memcache = new Memcache();
$memcache-&gt;pconnect(&quot;127.0.0.1&quot;,&quot;9000&quot;);

function mcache($query,$timeout=3600,$force=false) {

	global $memcache;

	$hash = md5($query);

	if (!$force) {

		$value = $memcache-&gt;get($hash);

	}

	if ($force || $value === FALSE) {

		$result = mysql_query($query);
		$value = mysql_fetch_object($result);
		$memcache-&gt;set($hash,$value,NULL,$timeout);

	}

	return $value;

}

function mcache_set($query,$value,$timeout=3600) {

	global $memcache;

	$hash = md5($query);

	$value = $memcache-&gt;set($hash,$value,NULL,$timeout);

	return $value;

}

function mcache_delete($query) {

	global $memcache;

	$hash = md5($query);
	$value = $memcache-&gt;delete($hash);

	return $value;

}

?&gt;</pre>
<p>Grâce à ces fonctions nous avons conservé toutes nos requêtes, et pouvons utiliser de manière transparente soit Memcache soit MySQL. Plus pratique pour pouvoir synchroniser rapidement les données entre les deux serveurs, en plus d&#8217;avoir facilité la migration vers Memcache.</p>
<p>Exemple d&#8217;utilisation :</p>
<pre class="brush: php;">&lt;?php

/* Je suis un nul alors je mets pas de mot de passe en root */
mysql_connect(&quot;localhost&quot;,&quot;root&quot;,&quot;&quot;);
mysql_select_db(&quot;base&quot;);

/* La requête MySQL normale sans cache */
$result = mysql_query(&quot;SELECT texte FROM articles WHERE id = '1337' LIMIT 1&quot;);
$row = mysql_fetch_object($result);

/* La requête avec le cache Memcache */
$row = mcache(&quot;SELECT texte FROM articles WHERE id = '1337' LIMIT 1&quot;);

?&gt;</pre>
<p>Grâce aux fonctions <span class="code">mcache()</span> et consorts, on peut donc sans trop de difficultés alléger le travail des serveurs de bases de données. Si vous avez besoin de mettre en cache un tableau de résultats, vous pouvez utiliser la fonction suivante :</p>
<pre class="brush: php;">&lt;?php

function mcache_array($query,$timeout=3600,$force=false) {

	global $memcache;

	$hash = md5($query);

	if (!$force) {

		$value = $memcache-&gt;get($hash);

	}

	if ($force || $value === FALSE) {

		$memcache-&gt;delete($hash);

		$result = mysql_query($query);
		while ($row = mysql_fetch_object($result)) {
			$value[] = $row;
		}

		$memcache-&gt;set($hash,$value,NULL,$timeout);

	}

	if (!is_array($value)) $value = array();
	return $value;

}

?&gt;</pre>
<p>Ainsi, sur VDM et FML, nous mettons en cache principalement les données suivantes :</p>
<ul>
<li>Les données &laquo;&nbsp;statiques&nbsp;&raquo; des anecdotes (texte, auteur, etc.)</li>
<li>Les totaux des votes sur les anecdotes (mis à jour à chaque vote sans appel à MySQL)</li>
<li>Les ID des dernières anecdotes lues par les utilisateurs, pour afficher les &laquo;&nbsp;NEW&nbsp;&raquo;</li>
<li>Certains rendus XML de l&#8217;API pour les applications mobiles</li>
</ul>
<p>Au niveau des chiffres, voici des statistiques sur les 3 dernières semaines d&#8217;utilisation du serveur memcached :</p>
<ul>
<li>900 connexions simultanées en permanence</li>
<li>90 000 connexions par jour</li>
<li>14,4 Mo écrits par seconde (via 622 requêtes en moyenne)</li>
<li>1,8 Go de données stockées en ce moment</li>
<li>6,9 millions de données stockées en ce moment</li>
<li>1,3 milliard de données stockées en tout</li>
</ul>
<p>Comme d&#8217;habitude, n&#8217;hésitez pas à commenter pour plus d&#8217;informations, j&#8217;ai sûrement oublié beaucoup de choses. La semaine prochaine nous parlerons de serveurs Web.</p>
]]></content:encoded>
			<wfw:commentRss>http://maxime.sh/2010/03/linfrastructure-vdm-memcache/feed/</wfw:commentRss>
		<slash:comments>75</slash:comments>
		</item>
		<item>
		<title>L&#8217;infrastructure VDM : MySQL</title>
		<link>http://maxime.sh/2010/03/linfrastructure-vdm-mysql/</link>
		<comments>http://maxime.sh/2010/03/linfrastructure-vdm-mysql/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 16:35:14 +0000</pubDate>
		<dc:creator>Maxime</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Ma vie]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://maxime.sh/?p=2500</guid>
		<description><![CDATA[Depuis des mois je promets une série d&#8217;articles qui ne va peut-être pas intéresser grand monde, mais qui aura le mérite d&#8217;exister et de soulager ma conscience (ma mère m&#8217;a dit que ce n&#8217;était pas joli de ne pas tenir ses promesses). Contrairement à ce que certains laissent penser, je fais quelque chose de mes [...]]]></description>
			<content:encoded><![CDATA[<p>Depuis des mois je promets une série d&#8217;articles qui ne va peut-être pas intéresser grand monde, mais qui aura le mérite d&#8217;exister et de soulager ma conscience (ma mère m&#8217;a dit que ce n&#8217;était pas joli de ne pas tenir ses promesses).</p>
<p>Contrairement à ce que certains laissent penser, je fais quelque chose de mes journées. Je suis développeur Web, mais aussi administrateur système. Créer puis s&#8217;occuper de l&#8217;hébergement de sites comme VDM et FML n&#8217;arrive pas tous les jours, et j&#8217;ai gagné beaucoup d&#8217;expérience ces 12 derniers mois en montant une infrastructure qui accueille chaque jour <em>plus de 3 millions de visiteurs</em>.</p>
<p class="image"><a href="http://maxime.sh/wp-content/uploads/2010/03/betacie_network.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2010/03/betacie_network-500.png" alt="betacie_network.png" border="0" /></a><br /><em>L&#8217;infrastructure que j&#8217;ai montée pour VDM/FML</em></p>
<p>Dans cette série de billets (normalement trois en comptant celui là), je vais vous raconter ce qui se passe derrière les URL viedemerde.fr et fmylife.com, qui représentent 98% du trafic de l&#8217;infrastructure d&#8217;hébergement de ma société, Beta&#038;Cie. Ces articles n&#8217;ont pas pour vocation de me vanter ou de dire au monde entier que ma solution est la meilleure, c&#8217;est juste ma solution et elle marche bien jusqu&#8217;à maintenant.</p>
<p>Passons au premier sujet : <strong>Les serveurs MySQL</strong>.</p>
<h2>Réplication circulaire</h2>
<p class="image border"><a href="http://maxime.sh/wp-content/uploads/2010/03/tv8n.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2010/03/tv8n-500.png" alt="tv8n.png" border="0" /></a><br /><em>Mes sept petits bouts de chou.</em></p>
<p>Comme le montre le schéma, mes sept serveurs sont configurés en réplication circulaire. C&#8217;est à dire que chacun est maître et esclave à la fois (pas de connotations sexuelles ici, merci !). s1 est donc maître sur s2, mais il est esclave de s7.</p>
<p>Cette configuration a l&#8217;avantage de bien fonctionner derrière un <em>load balancer</em> puisque chaque serveur a le droit d&#8217;écriture. C&#8217;est donc transparent pour le développeur qui n&#8217;a qu&#8217;à renseigner l&#8217;IP du load balancer dans sa connexion à MySQL et travailler comme s&#8217;il n&#8217;avait qu&#8217;un seul serveur.</p>
<p>L&#8217;inconvénient est un inconvénient de taille. Comme les requêtes s&#8217;exécutent comme dans une ronde, si un serveur plante, toute la ronde est cassée et plus rien ne se réplique. Il faut donc avoir du bon matériel, et au cas où ça arrive quand même, <a href="http://maxime.sh/2009/12/le-monitoring-cette-belle-activite/" target="_blank">agir très vite</a> pour éviter que les utilisateurs ne râlent :)</p>
<p>Une petite astuce pour éviter que votre réplication ne s&#8217;arrête pour des raisons connes : Je fais ignorer par mes serveurs systématiquement les erreurs 1062 (nouvelle entrée avec le même ID) et 1053 (déclenchée quand le serveur maître s&#8217;éteint ou redémarre) :</p>
<pre class="brush: plain;">slave-skip-errors=1062,1053</pre>
<p>Pour diminuer les latences de réplication il est aussi important d&#8217;avoir un bon réseau&#8230;</p>
<h2>Réseau VLAN</h2>
<p>Au delà de l&#8217;onomatopée, un VLAN est l&#8217;abréviation de Réseau Local Virtuel (RLV ça le faisait pas, hein ?). Il permet de créer un réseau indépendant du reste des machines du réseau où est hébergée l&#8217;infrastructure. Concrètement chaque serveur possède deux interfaces physiques :</p>
<pre class="brush: bash;"># ifconfig
eth0      Link encap:Ethernet  HWaddr 00:30:48:b9:42:e2
          inet addr:91.191.146.199  Bcast:91.191.146.255  Mask:255.255.255.192

eth1      Link encap:Ethernet  HWaddr 00:30:48:b9:42:e3
          inet addr:10.191.146.199  Bcast:10.191.146.255  Mask:255.255.255.0</pre>
<p>eth0 a l&#8217;adresse IP 91.191.146.199 qui est atteignable de l&#8217;extérieur du réseau, alors que eth1 a l&#8217;adresse IP 10.191.146.199 qui est interne au VLAN et qui par conséquent ne peut communiquer qu&#8217;avec ses copines du même VLAN qu&#8217;elle.</p>
<p>Avoir ses serveurs en VLAN diminue donc la latence entre les serveurs, la réplication se fait plus rapidement et avec plus de sécurité puisqu&#8217;aucun paquet ne sort de votre réseau local. Deux avantages indéniables qui devraient vous faire <s>quitter OVH</s> choisir un hébergeur qui fait du VLAN ! En effet les réseaux virtuels se configurent au niveau des routeurs/switches, il faut donc choisir un hébergeur qui puisse le prendre en charge.</p>
<h2>Disques SSD</h2>
<p>Pour économiser un certain nombre de machines dans ma réplication circulaire et ainsi réduire le nombre de défaillances matérielles, j&#8217;ai très vite décidé d&#8217;utiliser du SSD pour héberger les données de mes bases. Au début j&#8217;ai eu des X25-M chez OVH (mon ancien hébergeur), qui est le moyen de gamme du SSD, puis je suis passé récemment au X25-E, la version haut de gamme, comme le montre ce <a href="http://www.sd-france.com/news-200908/24/disques-ssd-intel-x25-e.html" target="_blank">benchmark par SD-France</a>, mon gentil hébergeur :</p>
<p class="image"><a href="http://maxime.sh/wp-content/uploads/2010/03/20090824-test-ssd-graph-ecriture.gif" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2010/03/20090824-test-ssd-graph-ecriture.gif" alt="20090824-test-ssd-graph-ecriture.gif" border="0" /></a></p>
<p>Le X25-E dépasse largement tous ses concurrents en terme d&#8217;écriture et de lecture de disque. Cela assure évidemment un meilleur temps de réponse sur les requêtes, différence qui se ressent lorsque l&#8217;on traite <strong>15 000 requêtes par seconde</strong>&#8230;</p>
<p>Les deux inconvénients de cette méthode :</p>
<ul>
<li>La capacité. La plus grande taille disponible est 64 Go, ce qui peut paraître beaucoup pour de simples bases de données, mais qui se remplit vite quand le site repose sur beaucoup d&#8217;anecdotes / commentaires et surtout votes.</li>
<li>Le prix. Les disques SSD X25-E sont encore très chers, même s&#8217;ils économisent parfois de nouvelles machines, je me fais taper quand j&#8217;en demande des nouveaux :D</li>
</ul>
<h2>Optimisations</h2>
<p>Comme le disque SSD est déjà pas mal occupé à traiter les requêtes SQL, la copie des résultats de SELECT sur les bases temporaires dans <span class="code">/tmp</span> (configuration par défaut) est fortement ralentie. En parallèle la RAM n&#8217;est en général pas utilisée à fond. Il est donc judicieux d&#8217;utiliser la RAM restante comme espace pour les fichiers temporaires, grâce au système de fichier <em>tmpfs</em> :</p>
<pre class="brush: bash;">mkdir /tmpfs
mount tmpfs /tmpfs -t tmpfs</pre>
<p>Vérifiez que votre nouveau répertoire fonctionne correctement, puis modifiez la configuration de votre <span class="code">my.cnf</span> pour la valeur suivante :</p>
<pre class="brush: plain;">tmpdir = /tmpfs</pre>
<p>Ne pas oublier de rajouter le montage du tmpfs dans votre <span class="code">/etc/fstab</span>, pour éviter les problèmes au reboot :)</p>
<p>Avec tout ceci, nous arrivons à traiter <em>vaguement</em> ces quelques données :</p>
<ul>
<li>2 millions d&#8217;anecdotes, 8000 nouvelles par jour</li>
<li>1,7 million de commentaires, 5000 nouveaux par jour</li>
<li><strong>630 millions de votes</strong>, 850 000 nouveaux par jour</li>
</ul>
<p>Voilà mes petits pandas, je pense avoir couvert pas mal des aspects principaux &laquo;&nbsp;caractéristiques&nbsp;&raquo; de l&#8217;infrastructure au niveau de MySQL. Mais j&#8217;ai sûrement oublié beaucoup de choses, alors n&#8217;hésitez pas si vous avez des questions.</p>
<p>Pas de date pour le prochain article mais j&#8217;espère la semaine prochaine.</p>
]]></content:encoded>
			<wfw:commentRss>http://maxime.sh/2010/03/linfrastructure-vdm-mysql/feed/</wfw:commentRss>
		<slash:comments>83</slash:comments>
		</item>
		<item>
		<title>BetaSeries : Diverses mises à jour</title>
		<link>http://maxime.sh/2010/03/betaseries-diverses-mises-a-jour/</link>
		<comments>http://maxime.sh/2010/03/betaseries-diverses-mises-a-jour/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 07:55:58 +0000</pubDate>
		<dc:creator>Maxime</dc:creator>
				<category><![CDATA[Ma vie]]></category>
		<category><![CDATA[Télévision]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://maxime.sh/?p=2430</guid>
		<description><![CDATA[Je n&#8217;en ai jamais parlé ici et pourtant, il s&#8217;agit d&#8217;une de mes occupations principales dans ma journée type de développeur Web. BetaSeries est un site qui vous permet de vous organiser dans vos séries et vous permet d&#8217;être prévenu quand de nouveaux épisodes sortent, ainsi que de nouveaux sous-titres. Un exemple avec mon profil [...]]]></description>
			<content:encoded><![CDATA[<p>Je n&#8217;en ai jamais parlé ici et pourtant, il s&#8217;agit d&#8217;une de mes occupations principales dans ma journée type de développeur Web. <a href="http://www.betaseries.com" target="_blank">BetaSeries</a> est un site qui vous permet de vous organiser dans vos séries et vous permet d&#8217;être prévenu quand de nouveaux épisodes sortent, ainsi que de nouveaux sous-titres. Un exemple avec <a href="http://www.betaseries.com/membres/Maxime" target="_blank">mon profil BetaSeries</a>.</p>
<p class="image"><a href="http://maxime.sh/wp-content/uploads/2010/03/p6hh.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2010/03/p6hh-500.png" alt="p6hh.png" border="0" /></a></p>
<p>Ce billet est en forme d&#8217;une note de service, j&#8217;ai fait quelques améliorations hier, listées ci-dessous :</p>
<ul>
<li>Amélioration de la rapidité lors du marquage d&#8217;un épisode.</li>
<li>Amélioration de la notation (même s&#8217;il y a toujours des bugs d&#8217;affichage à résoudre).</li>
<li>Alertes par mail lorsqu&#8217;une nouvelle saison d&#8217;une série suivie démarre.</li>
<li>Les icônes des sous-titres varient en fonction des sources (vert = Seriessub, bleu = Sous-titres.eu, marron = TVSubtitles ;)).</li>
<li>Ajout des dernières séries mises à jour sur la page d&#8217;accueil.</li>
</ul>
<p>J&#8217;aimerais aussi revoir un peu l&#8217;ergonomie générale du site, même si c&#8217;est une chose difficile, considérant tout le JavaScript qui s&#8217;y promène. Si vous êtes un utilisateur de BetaSeries et que vous lisez ceci, faites-moi part de vos <strong>suggestions en commentaires</strong>, je verrai si je peux y faire quelque chose :)</p>
<p><em>PS : Pour ceux qui attendaient un cinquième volet du pot très pourri, je suis désolé, la série s&#8217;arrêtera sur l&#8217;Epic Win de la semaine dernière. Je ne pourrai jamais reproduire un tel phénomène, il faut savoir s&#8217;arrêter en pleine gloire.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://maxime.sh/2010/03/betaseries-diverses-mises-a-jour/feed/</wfw:commentRss>
		<slash:comments>72</slash:comments>
		</item>
		<item>
		<title>Eric Dupin, l&#8217;homme de l&#8217;ombre</title>
		<link>http://maxime.sh/2010/01/eric-dupin-lhomme-de-lombre/</link>
		<comments>http://maxime.sh/2010/01/eric-dupin-lhomme-de-lombre/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 09:09:36 +0000</pubDate>
		<dc:creator>Maxime</dc:creator>
				<category><![CDATA[Ma vie]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://maxime.sh/?p=1912</guid>
		<description><![CDATA[Beaucoup d&#8217;entre vous connaissent mon ami et collègue Eric Dupin, blogueur à succès. Blogueur ? Pas seulement ! Détrompe-toi petit panda. Car Eric Dupin à ses heures perdues est aussi autobiographe. Oui, non, pas biographe, autobiographe. Je ne voulais pas le révéler mais il a publié mon autobiographie sur son blog dernièrement, en modifiant un [...]]]></description>
			<content:encoded><![CDATA[<p>Beaucoup d&#8217;entre vous connaissent mon ami et collègue <em>Eric Dupin</em>, blogueur à succès. Blogueur ? Pas seulement ! Détrompe-toi petit panda. Car <em>Eric Dupin</em> à ses heures perdues est aussi autobiographe. Oui, non, pas biographe, autobiographe. Je ne voulais pas le révéler mais il a publié <strong>mon autobiographie sur son blog</strong> dernièrement, en modifiant un article du 1er avril 2008. Bon, d&#8217;accord, dit comme ça ça fait un peu vicieux.</p>
<p class="image border"><a href="http://maxime.sh/wp-content/uploads/2010/01/20100126_pressecitron.jpg" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2010/01/20100126_pressecitron-500.jpg" alt="20100126_pressecitron.jpg" border="0" /></a><br />J&#8217;ai fait une capture d&#8217;écran pour pouvoir travailler<br />plus facilement dessus, au cas où <s>il soit supprimé</s> Internet soit coupé</p>
<p>Les liens qui vont bien :</p>
<ul>
<li>L&#8217;article sur <a href="http://www.presse-citron.net/vie-de-merde-vdm-lautobiographie-de-maxime-valette">le blog Presse-Citron</a></li>
<li>L&#8217;article sur <a href="http://209.85.229.132/search?client=safari&#038;rls=en&#038;q=cache:http://www.presse-citron.net/vie-de-merde-vdm-lautobiographie-de-maxime-valette&#038;ie=UTF-8&#038;oe=UTF-8">le cache Google</a></li>
<li>L&#8217;article sur <a href="http://ia360931.us.archive.org/2/items/VieDeMerdevdmLautobiographieDeMaximeValette/LautobiographieDeMaximeValettePresse-citron.html">le cache archive.org</a></li>
</ul>
<p>Le seul problème réside dans le fait que je n&#8217;ai pas eu le temps de relire son oeuvre avant la parution, et celle-ci comporte plusieurs inexactitudes. Je me permets donc de recopier une version corrigée par mes soins de mon autobiographie ci-dessous.</p>
<p><em>Mise à jour :</em> Réponses audio d&#8217;Eric à mes commentaires ! Merci l&#8217;ami !</p>
<p class="quote">Bonjour,</p>
<p>Je m’appelle Maxime Valette et je suis une star du web.</p>
<p>Jusque là, ça va, c&#8217;est à peu près correct, même si j&#8217;aime bien mettre mon nom de famille en majuscules comme les titres de <a href="http://ootweet.com/discussion/169">blogs geek et high tech</a>.</p>
<p><a href="http://cdn.betacie.com/.maxime/blog/autobiographie/eric1.mp3">Réponse d&#8217;Eric</a></p>
<p class="quote">Avant, je n’avais pas une vie très passionnante, et comme je m’ennuyais j’ai eu une idée : faire un site autobiographique. J’ai donc créé « VDM » (Vie De Merde), qui est un peu l’histoire de ma vie.</p>
<p>Bon pour ce côté-là, je t&#8217;avais demandé de t&#8217;inspirer de <a href="http://www.viedemerde.fr/faq">la FAQ du site</a> car tout le truc &laquo;&nbsp;comment ça vous est venu&nbsp;&raquo; on me le demande souvent. Cependant le site était autobiographique au début, maintenant tout le monde tente de copier mon style et ma vie pour pouvoir être publié !</p>
<p><a href="http://cdn.betacie.com/.maxime/blog/autobiographie/eric2.mp3">Réponse d&#8217;Eric</a></p>
<p class="quote">Ce site a rencontré tout de suite un grand succès. Le vécu y a que ça de vrai. Certaines mauvaises langues disent que je n’ai que « vaguement participé » à VDM et ça me met dans une colère noire car c’est rien que des mensonges.</p>
<p>Eric, roh, t&#8217;es un sacré déconneur ! Se traiter soi-même de mauvaise langue c&#8217;est mignon, j&#8217;aurais plutôt écrit &laquo;&nbsp;stars des blogs&nbsp;&raquo; pour remettre dans le contexte. Cependant faire une négation pour en oublier une autre, t&#8217;as abusé sur la syntaxe.</p>
<p><a href="http://cdn.betacie.com/.maxime/blog/autobiographie/eric3.mp3">Réponse d&#8217;Eric</a></p>
<p class="quote">Cela dit, depuis ma vie n’a pas beaucoup changé. Je m’ennuie autant qu’avant, mais maintenant je suis payé pour le faire (par Vie De Merde, qui est fortement sponsorisé par la publicité). C’est génial car ça me permet de m’acheter plein de Biactol.</p>
<p>J&#8217;étais déjà payé pour m&#8217;ennuyer avant en fait, ça s&#8217;appelle le travail efficace, et l&#8217;ennui <a href="http://maxime.sh/2009/12/le-monitoring-cette-belle-activite/">c&#8217;est ma passion</a>. Pour le Biactol, je t&#8217;avais dit, j&#8217;ai changé depuis qu&#8217;ils ont augmenté le prix, je suis passé à Eau Précieuse.</p>
<p><a href="http://cdn.betacie.com/.maxime/blog/autobiographie/eric4.mp3">Réponse d&#8217;Eric</a></p>
<p class="quote">Je suis même passé à la télévision, et les plus grands blogs m’ont fait l’honneur de publier plusieurs articles où ils disent plein de choses gentilles sur VDM. Je leur dois une bonne partie du succès du site, mais comme je déteste les blogueurs (enfin surtout ceux qui sont plus connus que moi) j’évite de le dire trop fort. D’ailleurs cracher dans la soupe est un de mes passe-temps favoris, ça me donne l’impression d’exister.</p>
<p>Tu peux laisser le &laquo;&nbsp;mauvaise langue&nbsp;&raquo; finalement, car tu t&#8217;es bien rattrapé sur le &laquo;&nbsp;fait l&#8217;honneur&nbsp;&raquo;, au temps pour moi, j&#8217;aurais dû tout lire avant. C&#8217;est vrai que d&#8217;avoir écrit &laquo;&nbsp;le meilleur concept depuis Digg&nbsp;&raquo;, tu le regrettes maintenant, non ? Le blog c&#8217;est comme Twitter, <a href="http://ootweet.com/users/pressecitron/mentions">rien ne se perd</a> !</p>
<p class="image border"><a href="http://maxime.sh/wp-content/uploads/2010/01/20080401_pressecitron.jpg" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2010/01/20080401_pressecitron-500.jpg" alt="20080401_pressecitron.jpg" border="0" /></a><br /><em>L&#8217;article original</em></p>
<p>Et puis je ne suis pas blogueur, et si je pouvais disparaître ça serait pas mal, je ne vis pas de mes followers ou de <a href="http://www.presse-citron.net/les-petites-conneries-du-vendredi-10">mon nombre de tweets</a>, t&#8217;as dû déconner en reprenant un bout de ta propre autobiographie.</p>
<p><a href="http://cdn.betacie.com/.maxime/blog/autobiographie/eric5.mp3">Réponse d&#8217;Eric</a></p>
<p class="quote">On me dit que j’ai un pris la grosse tête et que le succès interplanétaire de Vie De Merde est juste un coup de chance. Les gens qui disent ça sont des méchants (ou des adultes, ou les deux parce-que ça va souvent ensemble), et j’ai décidé de m’auto-investir d’une mission : purifier le web de tous les mécréants. Chez moi à Reims on m’appelle le Milosevic de la Marne.</p>
<p>T&#8217;en as trop dit là, je t&#8217;avais précisé de ne pas l&#8217;écrire quand on s&#8217;est parlé&#8230; Le problème c&#8217;est que moi aussi je suis un adulte, bon je n&#8217;ai pas 44 ans mais on n&#8217;accélère pas le temps, donc je travaille / m&#8217;ennuie jusqu&#8217;à ce jour où j&#8217;aurai enfin de la crédibilité grâce à ma date de naissance. Ce jour là j&#8217;aurai ma photo en <a href="http://snapplr.com/r8tn">favicon de mon blog</a>, et je pourrai mettre des <a href="http://snapplr.com/p1vr">pubs pour des sites pornos</a> à droite.</p>
<p>Pour mon surnom à Reims c&#8217;est plutôt Richard Cœur de Lion, en raison de ma grande bravoure sur un ordinateur.</p>
<p><a href="http://cdn.betacie.com/.maxime/blog/autobiographie/eric6.mp3">Réponse d&#8217;Eric</a></p>
<p class="quote">Pour cela, comme j’ai beaucoup de temps, je le passe à visiter les sites des autres, à scruter leur code-source, puis à en dire du mal. J’ai même créé un site exprès rien que pour ça, et j’espère bien figurer rapidement en tête du classement Wikio des hate-blogs.</p>
<p>Hmm t&#8217;as pas bien compris non plus ! Je visite tous les sites en code source, les réinterpréter dans ma tête ça me fait passer le temps entre deux <a href="http://ootweet.com/discussion/6614">clashes Twitter</a>. Et puis je n&#8217;ai jamais trop aimé Wikio, mais être dans le top 10 me permettrait de me faire payer un avocat si j&#8217;ai des soucis, j&#8217;avoue.</p>
<p><a href="http://cdn.betacie.com/.maxime/blog/autobiographie/eric7.mp3">Réponse d&#8217;Eric</a></p>
<p class="quote">C’est vous dire comment mes journées sont longues. Bien sûr je ne fais cela que derrière mon écran car dans la vraie vie j’ai un peu du mal à assumer, mais ça plait beaucoup à mes fans, comme mon ami Gonzague ou mon idôle Soymalau qui me font plein de RT sur Twitter.</p>
<p><a href="http://gonzague.me/">Gonzague</a> et <a href="http://soymalau.com/blog">Soymalau</a> sont mes amis, et je suis leur idole (pas de circonflexe, Ricky !), c&#8217;est important de préciser. Et je n&#8217;assume pas que derrière mon écran, j&#8217;assume derrière <a href="http://maxime.sh/2009/12/comment-etre-productif-avec-5-ecrans/">mes 5 écrans</a>, voire l&#8217;écran de mon iPhone aussi, et celui de mon Macbook Pro. C&#8217;est dire si j&#8217;assume à mort.</p>
<p><a href="http://cdn.betacie.com/.maxime/blog/autobiographie/eric8.mp3">Réponse d&#8217;Eric</a></p>
<p class="quote">Sinon, de temps en temps je pratique la délation, je tiens aussi des propos racistes sur les réseaux sociaux, et je monte des vidéos super marrantes avec Hitler dans le rôle principal, un autre grand Purificateur.</p>
<p>Au moins je n&#8217;ai rien à redire sur l&#8217;introduction et la conclusion, elles sont parfaites. Ça fait un peu Godwin quand même par moments, faudrait revoir le vocabulaire. Voir de la propagande Nazi dans la reprise d&#8217;un <a href="http://knowyourmeme.com/memes/downfall-hitler-meme">mème Internet</a> qui a fait le tour du monde, à part se sentir concerné par <a href="http://www.deuxcons.com/post/218542128/no-blogger-for-hitler">les sous-titres</a> je ne comprends pas bien !</p>
<p>Pour ceux qui ne connaissent pas bien mon collègue Eric Dupin, vous pourrez retrouver son autobiographie complète et exacte <a href="http://gonzague.me/maitre-sournois-sur-son-arbre-perche">chez Gonzague</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://maxime.sh/2010/01/eric-dupin-lhomme-de-lombre/feed/</wfw:commentRss>
		<slash:comments>39</slash:comments>
<enclosure url="http://cdn.betacie.com/.maxime/blog/autobiographie/eric1.mp3" length="5895" type="audio/mpeg" />
<enclosure url="http://cdn.betacie.com/.maxime/blog/autobiographie/eric2.mp3" length="10493" type="audio/mpeg" />
<enclosure url="http://cdn.betacie.com/.maxime/blog/autobiographie/eric3.mp3" length="53961" type="audio/mpeg" />
<enclosure url="http://cdn.betacie.com/.maxime/blog/autobiographie/eric4.mp3" length="22196" type="audio/mpeg" />
<enclosure url="http://cdn.betacie.com/.maxime/blog/autobiographie/eric5.mp3" length="7149" type="audio/mpeg" />
<enclosure url="http://cdn.betacie.com/.maxime/blog/autobiographie/eric6.mp3" length="10075" type="audio/mpeg" />
<enclosure url="http://cdn.betacie.com/.maxime/blog/autobiographie/eric7.mp3" length="25957" type="audio/mpeg" />
<enclosure url="http://cdn.betacie.com/.maxime/blog/autobiographie/eric8.mp3" length="150510" type="audio/mpeg" />
<enclosure url="http://cdn.betacie.com/.maxime/blog/autobiographie/eric1.mp3" length="5895" type="audio/mpeg" />
		</item>
		<item>
		<title>10 choses à savoir sur VDM</title>
		<link>http://maxime.sh/2010/01/10-choses-a-savoir-sur-vdm/</link>
		<comments>http://maxime.sh/2010/01/10-choses-a-savoir-sur-vdm/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 10:32:21 +0000</pubDate>
		<dc:creator>Maxime</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Ma vie]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://maxime.sh/?p=1800</guid>
		<description><![CDATA[&#8230; que vous ne savez sans doute pas. L&#8217;aventure VDM ayant commencé sur l&#8217;ancêtre de ce blog deux ans auparavant, ce n&#8217;est qu&#8217;un juste retour des choses de vous délivrer aujourd&#8217;hui, en remerciement, quelques histoires sur les débuts du site. 1. Je n&#8217;ai jamais acheté viedemerde.fr. Il y avait une opération &#171;&#160;.fr gratuits&#160;&#187; chez OVH [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230; que vous ne savez sans doute pas.</p>
<p>L&#8217;aventure VDM ayant commencé sur l&#8217;ancêtre de ce blog deux ans auparavant, ce n&#8217;est qu&#8217;un juste retour des choses de vous délivrer aujourd&#8217;hui, en remerciement, quelques histoires sur les débuts du site.</p>
<p class="image"><a href="http://maxime.sh/wp-content/uploads/2010/01/logo_vdm.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2010/01/logo_vdm-500.png" alt="logo_vdm.png" border="0" /></a></p>
<p>1. Je n&#8217;ai jamais acheté viedemerde.fr. Il y avait une opération &laquo;&nbsp;.fr gratuits&nbsp;&raquo; chez OVH pour promouvoir l&#8217;ouverture aux particuliers. J&#8217;en ai pris un paquet à l&#8217;époque, dont celui-là, en référence à notre channel IRC #viedemerde. L&#8217;article de présentation est d&#8217;ailleurs toujours lisible dans <a href="http://maxime.sh/archives/256/decouvrez-ma-vie-de-merde">les archives de mon blog</a>.</p>
<p>2. Le slogan de VDM &laquo;&nbsp;Ma vie c&#8217;est de la merde et je vous emmerde&nbsp;&raquo; est une contraction de mes deux principales influences Canal + : Les robins des bois (&laquo;&nbsp;Ma vie c&#8217;est de la merde et je l&#8217;échangerais bien avec celle du roi du Maroc&nbsp;&raquo;), et la chanson &laquo;&nbsp;Je vous emmerde&nbsp;&raquo; de Katerine qui était le générique d&#8217;une émission d&#8217;Edouard Baer si je ne m&#8217;abuse.</p>
<p>3. Au début il n&#8217;y avait qu&#8217;un vote &laquo;&nbsp;Je valide, tu as une vie de merde&nbsp;&raquo;. Le terme &laquo;&nbsp;je valide&nbsp;&raquo; est une expression en référence au jeu <em>La Cible</em>, où quand tu zappais le midi tu tombais sur un mec devant un pupitre qui te dit &laquo;&nbsp;Avion, Chouette, Alain Madelin, Cheeseburger&#8230; Je valide&nbsp;&raquo;.</p>
<p>4. Le deuxième vote &laquo;&nbsp;Tu l&#8217;as bien mérité&nbsp;&raquo; ne s&#8217;appelait à l&#8217;origine pas comme ça&#8230; Pendant une semaine je l&#8217;avais nommé &laquo;&nbsp;Bien fait pour sa gueule&nbsp;&raquo;. Puis on m&#8217;a dit que c&#8217;était peut-être un peu trop violent, alors on a vite trouvé un remplaçant un peu plus <em>corporate</em>.</p>
<p>5. La première version était basée sur un outil de micro-blogging open source. Par conséquence les sources de cette version <a href="http://www.viedemerde.fr/data/vdm_v1.rar">sont toujours disponibles</a>, avec énormément de bugs corrigés et le mode soumission / multi-auteurs. En revanche j&#8217;ai laissé les fautes d&#8217;orthographe dans le CSS, pour le fun !</p>
<p>6. Otto, le créateur du site <a href="http://www.chauffeurdebuzz.com" target="_blank">Chauffeurdebuzz.com</a> m&#8217;a appelé en Avril 2008 pour me convaincre pendant 45 minutes que ce buzz ne durerait encore que quelques semaines. Evidemment il voulait quand même racheter le site, pour une somme avoisinant le chiffre d&#8217;affaires d&#8217;un mois&#8230; Il m&#8217;a bloqué sur Twitter depuis que j&#8217;ai refusé, en divulguant des infos &laquo;&nbsp;qu&#8217;il ne répètera à personne&nbsp;&raquo; :)</p>
<blockquote><p>&laquo;&nbsp;C&#8217;est affreux ton site !!!&nbsp;&raquo;<br /><em>&mdash; Notre régie publicitaire, le 4 mars 2008.</em></p></blockquote>
<p>7. J&#8217;ai mis un mois et demi à convaincre la régie avec qui je travaillais depuis des années que le site pourrait rapporter un peu d&#8217;argent, en insistant sur le fait qu&#8217;on ne changerait pas la forme du site pour mettre des carrés ou des pop-ups. Maintenant nous sommes leur plus gros client.</p>
<p>8. Mettre ou non des commentaires était le plus gros débat interne aux débuts de VDM. On croulait déjà sous les anecdotes à modérer (il n&#8217;y avait pas l&#8217;auto-modération à l&#8217;époque). On a fini par tenter le coup à l&#8217;arrache. Maintenant on s&#8217;en fout il y a <a href="http://twitter.com/julienazarian" target="_blank">Julien</a> pour tout lire !</p>
<p>9. Le jour où nous sommes passés sur Canal +, la préparation de l&#8217;émission était complètement en retard car ils avaient passé leur après-midi à lire le site, et à en inventer pour les passer le soir après notre passage.</p>
<p>10. Après notre passage au grand journal nous avons reçu nos plus beaux mails d&#8217;insultes. Je vous les copie en intégralité. Sur le premier vous verrez comment il compense son manque de style intellectuel par du style artificiel, ça relève du traumatisme typique du 21è siècle :)</p>
<p class="image border"><a href="http://maxime.sh/wp-content/uploads/2010/01/yzkq.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2010/01/yzkq.png" alt="yzkq.png" border="0" /></a></p>
<p>Le second est nettement plus drôle, enfin, on n&#8217;a jamais eu le fin mot de l&#8217;histoire.</p>
<p class="image"><a href="http://maxime.sh/wp-content/uploads/2010/01/wfky.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2010/01/wfky.png" alt="wfky.png" border="0" /></a></p>
<p>J&#8217;espère que maintenant vous serez content de délivrer du <em>VDM fun fact</em> pour briller en société. En ce qui concerne la mienne, de société, j&#8217;espère que l&#8217;on pourra fournir autant de travail ces 12 prochains mois que ce qu&#8217;on a fait en 24, l&#8217;objectif est osé mais toujours réalisable. Merci encore !</p>
]]></content:encoded>
			<wfw:commentRss>http://maxime.sh/2010/01/10-choses-a-savoir-sur-vdm/feed/</wfw:commentRss>
		<slash:comments>64</slash:comments>
		</item>
		<item>
		<title>Comment ma vie est sauvée par RTM</title>
		<link>http://maxime.sh/2009/12/comment-ma-vie-est-sauvee-par-rtm/</link>
		<comments>http://maxime.sh/2009/12/comment-ma-vie-est-sauvee-par-rtm/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 19:26:02 +0000</pubDate>
		<dc:creator>Maxime</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Ma vie]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://maxime.sh/?p=1044</guid>
		<description><![CDATA[Il me semble évident que pour être productif il faut savoir se libérer l&#8217;esprit un maximum pour se concentrer sur son travail, au moins de manière temporaire. C&#8217;est pourquoi j&#8217;ai longtemps recherché un moyen de gérer mes nombreuses todo-lists de manière efficace. Depuis plus d&#8217;un an je pense l&#8217;avoir trouvé, grâce à l&#8217;excellent Remember The [...]]]></description>
			<content:encoded><![CDATA[<p>Il me semble évident que pour être productif il faut savoir se libérer l&#8217;esprit un maximum pour se concentrer sur son travail, au moins de manière temporaire. C&#8217;est pourquoi j&#8217;ai longtemps recherché un moyen de gérer mes nombreuses todo-lists de manière efficace. Depuis plus d&#8217;un an je pense l&#8217;avoir trouvé, grâce à l&#8217;excellent <strong>Remember The Milk</strong>.</p>
<p class="image"><a href="http://maxime.sh/wp-content/uploads/2009/12/rtm.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2009/12/rtm.png" alt="rtm.png" border="0" /></a></p>
<p>J&#8217;avais fait partie des <em>early adopters</em> de Remember The Milk, à l&#8217;époque où Loïc Le Meur en parlait sur son blog (maintenant il n&#8217;a plus de blog, pauvre de nous). A l&#8217;époque, RTM était loin de faire l&#8217;unanimité dans mon cerveau, puisque toute sa puissance réside bien ailleurs que sur le service lui-même.</p>
<p>Autant l&#8217;interface Web est aguichante, autant sur le concept je ne trouve pas ça pratique d&#8217;avoir tout le temps une fenêtre ouverte sur ses tâches. Après tout, mon client mail est déjà ouvert en permanence, il y aurait une redondance évidente. Seulement depuis quelques temps, RTM a développé sa vraie force : Une API et de vraies applications crées autour d&#8217;elle.</p>
<p class="image"><a href="http://maxime.sh/wp-content/uploads/2009/12/ss_iphone.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2009/12/ss_iphone.png" alt="ss_iphone.png" border="0" /></a></p>
<p>J&#8217;ai ainsi organisé ma todo-list RTM de la manière suivante :</p>
<ul>
<li><strong>Sur mon bureau :</strong> J&#8217;ai installé le <a href="http://www.rememberthemilk.com/services/gmail/">gadget Gmail Labs</a> ce qui me permet de garder un oeil sur les mails en même temps que sur mes listes en permanence, sans perdre de place pour une fenêtre supplémentaire.</li>
<li><strong>Sur mon iPhone :</strong> J&#8217;ai téléchargé l&#8217;application <a href="http://www.rememberthemilk.com/services/iphone/app/">RTM for iPhone</a>, elle est aussi disponible en version Web. Elle a gagné un Apple Design Award en 2008 ce qui me dispense de disserter sur son ergonomie.</li>
</ul>
<p>Grâce à ces deux services mes listes sont synchronisées en permanence.</p>
<p class="image"><a href="http://maxime.sh/wp-content/uploads/2009/12/ss_gmail.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2009/12/ss_gmail-500.png" alt="ss_gmail.png" border="0" /></a></p>
<p>Au final, la beauté de Remember The Milk réside dans le fait que je n&#8217;utilise jamais leur interface Web (sauf pour renouveler mon abonnement), mais tous les services autour de son API. Petit bémol si vous souhaitez utiliser la version iPhone ou Android, elle est réservée aux abonnés Pro, ce qui vous en coûtera $25 par an. Si vous ne voulez pas utiliser ces services mobiles, RTM est gratuit pour la vie !</p>
<p>Lien : <a href="http://www.rememberthemilk.com/">Remember The Milk</a> (<a href="http://www.rememberthemilk.com/signup/">Inscription</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://maxime.sh/2009/12/comment-ma-vie-est-sauvee-par-rtm/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>EDF me doit un peu plus que la lumière.</title>
		<link>http://maxime.sh/2009/12/edf-me-doit-un-peu-plus-que-la-lumiere/</link>
		<comments>http://maxime.sh/2009/12/edf-me-doit-un-peu-plus-que-la-lumiere/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 10:55:33 +0000</pubDate>
		<dc:creator>Maxime</dc:creator>
				<category><![CDATA[Ma vie]]></category>

		<guid isPermaLink="false">http://maxime.sh/?p=820</guid>
		<description><![CDATA[J&#8217;aurais pu intituler cet article Vis ma vie de SDF, mais reprendre le nom d&#8217;une émission de TF1 n&#8217;est pas ma tasse de thé (ou café). Reprenons pendant quelques minutes l&#8217;ordre des évènements d&#8217;hier qui m&#8217;ont amené à quitter mon havre de paix. Il est aux alentours de 14h30, je travaillais comme à l&#8217;accoutumée sur [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;aurais pu intituler cet article <em>Vis ma vie de SDF</em>, mais reprendre le nom d&#8217;une émission de TF1 n&#8217;est pas ma tasse de thé (ou café). Reprenons pendant quelques minutes l&#8217;ordre des évènements d&#8217;hier qui m&#8217;ont amené à quitter mon havre de paix.</p>
<p class="image"><a href="http://maxime.sh/wp-content/uploads/2009/12/electric-light.jpg" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2009/12/electric-light-500.jpg" alt="electric-light.jpg" border="0" /></a></p>
<p>Il est aux alentours de 14h30, je travaillais comme à l&#8217;accoutumée sur <a href="http://maxime.sh/2009/12/comment-etre-productif-avec-5-ecrans/">mon bureau de geek</a>, lorsque soudain, <strong>coupure de courant</strong>. Mon côté parano étant assez exacerbé, j&#8217;avais prévu le coup avec un onduleur qui m&#8217;a permis de sauver mon travail avant d&#8217;éteindre la machine. Ce qui m&#8217;a intrigué au premier abord était le fait que le modem continuait à fonctionner, alors qu&#8217;en général une coupure temporaire ferait au moins couper la ligne téléphonique dans le même temps.</p>
<p>Prenant au début cette coupure pour une coupure globale temporaire, je décide de prendre mon mal en patience et de faire les quelques courses de Noël qu&#8217;il me restait à effectuer. La foule aidant, je reviens une bonne demi-heure plus tard chez moi, avec ce même constat : L&#8217;électricité n&#8217;est toujours pas revenue. Cela commençait un peu à m&#8217;inquiéter ; sachant que la nuit tombera dans l&#8217;heure qui suit, il a fallu que je prenne les choses en main.</p>
<p>Je ressors rapidement de mes classeurs ma dernière facture EDF pour avoir la référence client que je ne manquerai pas de mentionner à moultes reprises. Je commence par appeler ERDF qui me fait faire les bons tests de base sur le disjoncteur afin d&#8217;éviter toute intervention inutile, ce qui est donc plutôt normal, bien que dans mon cas je savais que le disjoncteur n&#8217;avait aucun problème, d&#8217;où mon inquiétude grandissant avec la nuit. Le technicien, très cordial, finit par regarder le numéro de mon appartement pour énoncer un laconique : <em>&laquo;&nbsp;Votre fournisseur vous a coupé l&#8217;électricité volontairement&nbsp;&raquo;</em>. Gasp.</p>
<p class="image border"><a href="http://maxime.sh/wp-content/uploads/2009/12/lrvt.jpg" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2009/12/lrvt-500.jpg" alt="lrvt.jpg" border="0" /></a><br /><em>EDF vous souhaite un joyeux Noël.<br />(Cette photo a été réalisée grâce à l&#8217;éclairage d&#8217;un Macbook Pro en fin de batterie)</em></p>
<p>Il est donc temps pour moi d&#8217;appeler la redoutable et redoutée d&#8217;entre tous les services clients : La conseillère aigrie des coupures d&#8217;électricité injustifiées. Préparant mon coup, je tente l&#8217;approche psychologique en commençant par dire que quoiqu&#8217;il arrive ça ne sera pas de sa faute, que l&#8217;énervement ne résoudra rien et qu&#8217;il est dans notre intérêt commun de trouver une solution rapidement. Note pour plus tard : Ça marche.</p>
<p>Après vérifications auprès de ma fameuse référence client, le constat est sans appel : Je paie depuis 4 mois l&#8217;électricité de mon ancien appartement. Je ne pouvais pas le savoir, puisque le prélèvement était inchangé jusqu&#8217;à la fin de l&#8217;année. J&#8217;arrive à la conclusion que le conseiller EDF qui s&#8217;est occupé de mon déménagement n&#8217;a jamais fini la procédure, et ne m&#8217;en a jamais averti. Ayant reçu un e-mail de confirmation pour le changement de contrat, il aurait été compliqué pour moi de le deviner.</p>
<p>La conseillère m&#8217;aide à résoudre ces différents problèmes administratifs en antidatant le déménagement au 1er septembre, comme il était prévu sur le contrat désormais fantôme. Je vous passerai les détails des questions ironiques sur mon équipement électroménager alors qu&#8217;il commençait sérieusement à faire froid dans mon appartement. Une fois ces détails réglés, il ne restait plus qu&#8217;à prendre un rendez-vous de rétablissement de ligne&#8230; <strong>Pour dans 6 jours !</strong> Congés des techniciens obligent.</p>
<p class="image"><a href="http://maxime.sh/wp-content/uploads/2009/12/egdp.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2009/12/egdp.png" alt="egdp.png" border="0" /></a></p>
<p>C&#8217;est à ce moment-là que j&#8217;ai pu jovialement réutiliser le <em>social engineering</em> mis en place dès le début de mon appel. La conseillère avait un affect sur mon problème, il fallait que je m&#8217;en serve. Après avoir vu avec sa supérieure, elle finit par me proposer un <em>rendez-vous express</em> dans les prochaines 48 heures. Conditions cependant : l&#8217;intervention sera payante, et ne se fera peut-être pas, si les techniciens ont trop de travail pour daigner s&#8217;occuper de ma ligne, le rendez-vous reste fixé au lundi 28 décembre, soit 6 jours après la coupure volontaire.</p>
<p>Une question demeure : Pourquoi la trêve hivernale ne s&#8217;applique pas aux besoins de base comme l&#8217;électricité ? Couper la lumière et le chauffage, deux jours avant les vacances des techniciens, ça relève du vice pur et simple. Même mon agence pensait que c&#8217;était impossible.</p>
<p>Et quand bien même la coupure puisse-t-elle être légitime, il reste choquant de se voir couper l&#8217;électricité sans aucune lettre de rappel, que ce soit à la porte de l&#8217;appartement, sur la boîte aux lettres, ou même directement au propriétaire qui est censé savoir ce qui se passe dans son bien.</p>
<p>Les prochains jours nous diront si je passerai Noël dans le froid et dans le noir.</p>
]]></content:encoded>
			<wfw:commentRss>http://maxime.sh/2009/12/edf-me-doit-un-peu-plus-que-la-lumiere/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Le monitoring, cette belle activité</title>
		<link>http://maxime.sh/2009/12/le-monitoring-cette-belle-activite/</link>
		<comments>http://maxime.sh/2009/12/le-monitoring-cette-belle-activite/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 10:28:54 +0000</pubDate>
		<dc:creator>Maxime</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Ma vie]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://maxime.sh/?p=652</guid>
		<description><![CDATA[Dans un récent article Comment être productif avec 5 écrans (en même temps, ils sont tous récents vu l&#8217;âge de ce blog), je vous parlais de mon écran dédié au monitoring. Voici donc le billet tant attendu. Mais je vous préviens, il risque d&#8217;être inintéressant :-) L&#8217;hébergement des différents sites de ma société (en somme, [...]]]></description>
			<content:encoded><![CDATA[<p>Dans un récent article <a href="http://maxime.sh/2009/12/comment-etre-productif-avec-5-ecrans/">Comment être productif avec 5 écrans</a> (en même temps, ils sont tous récents vu l&#8217;âge de ce blog), je vous parlais de mon écran dédié au monitoring. Voici donc le billet tant attendu. Mais je vous préviens, il risque d&#8217;être inintéressant :-)</p>
<p>L&#8217;hébergement des différents sites de ma société (en somme, VDM et ses déclinaisons linguistiques) est entièrement géré par <a href="http://www.sd-france.com/">SD France</a> au niveau matériel, et par votre serviteur au niveau logiciel / administration système. La question qui s&#8217;est donc rapidement posée une fois que tout était mis en place fut celle de la surveillance de toutes ces machines, autrement appelée le <em>monitoring</em>.</p>
<p>Les premiers termes qui viennent à l&#8217;esprit lorsque l&#8217;on parle de monitoring sont <a href="http://www.nagios.org/">Nagios</a>, <a href="http://oss.oetiker.ch/mrtg/">MRTG</a>, et autres <a href="http://oss.oetiker.ch/rrdtool/">RRDTool</a>, qui sont les outils les plus populaires dans la surveillance en réseau. Pour ma part je les ai trouvés bien trop complexes pour les quelques données dont j&#8217;avais besoin au quotidien, c&#8217;est pour cela que je me suis orienté sur une solution maison que je vais vous décrire ci-dessous.</p>
<h2>Côté serveur</h2>
<p>Même si tout un écran peut sembler important niveau espace, lorsque l&#8217;on parle de 27 serveurs à monitorer individuellement, il faut se montrer efficace. Il a donc fallu identifier les points-clés à surveiller. J&#8217;ai choisi les suivants :</p>
<ul>
<li><strong>Etat de la réplication MySQL</strong> : Point névralgique évident lorsque l&#8217;on parle de réplication circulaire master-master. Si un des serveurs ne réplique plus, toute la boucle est endommagée immédiatement.</li>
<li><strong>Secondes de retard MySQL</strong> : Ce n&#8217;est pas précisément le temps de retard d&#8217;une réplication par rapport à son maître, il s&#8217;agit plus précisément de la différence entre le temps actuel et l&#8217;heure indiquée sur le log que l&#8217;esclave est en train de répliquer. Cela reste cependant un bon indicateur de l&#8217;état de santé de la réplication.</li>
<li><strong>Connexions Apache</strong> : Permet de savoir en permanence les connexions à un instant t sur le cluster Web, ainsi que les types de connexions (lecture, écriture, slot inactif).</li>
<li><strong>Statut du serveur Memcache</strong> : Le serveur memcache est assez sollicité pour stocker de manière centralisée les sessions PHP du cluster, ainsi que certaines données des sites.</li>
<li><strong>Modifications sur le FTP</strong> : Plusieurs personnes travaillant sur le FTP, il est parfois utile de savoir quels ont été les derniers fichiers modifiés lorsque survient un problème inexplicable par le simple état des machines. J&#8217;ai codé un script qui établit automatiquement un diff du fichier uploadé versus le fichier original, pour plus de lisibilité.</li>
</ul>
<p>Une fois ces points identifiés avec succès, il a fallu coder les agents qui enverront les données à un serveur central (j&#8217;ai dédié un serveur au monitoring). Ces agents envoient actuellement les informations toutes les 5 secondes via le réseau local sur une interface VLAN. Je les ai codés en PHP ou en Perl selon l&#8217;inspiration du moment. C&#8217;est un serveur Web qui récolte les données et peuple une base MySQL, mais peu importe le langage du moment que les variables sont renseignées dans la base de données.</p>
<h2>Côté client</h2>
<p>Ma base se peuple maintenant à la vitesse de la lumière (ou du cuivre, selon le degré de poésie). Il faut maintenant développer l&#8217;interface qui affichera les données en temps réel sur mon écran de droite.</p>
<p class="image border"><a href="http://maxime.sh/wp-content/uploads/2009/12/e25v.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2009/12/e25v.png" alt="e25v.png" border="0" /></a></p>
<p>Par pure déformation professionnelle, j&#8217;ai encore tâté de l&#8217;HTML. Les connexions à Apache que vous voyez ci-dessus ainsi que les secondes de retard MySQL plus bas ont été réalisées via l&#8217;excellente librairie Flash <a href="http://www.amcharts.com/">Amcharts</a> que j&#8217;avais déjà utilisée auparavant. Cette librairie crée des graphiques en Flash à la volée, au moyen de fichiers XML ou CSV, et permet aussi de rafraîchir ses données à intervalles de temps réguliers.</p>
<p class="image border"><a href="http://maxime.sh/wp-content/uploads/2009/12/awak.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2009/12/awak.png" alt="awak.png" border="0" /></a></p>
<p>Concernant les données qui ne nécessitent pas de vision en fonction du temps, j&#8217;ai tout simplement utilisé de l&#8217;AJAX (avec <a href="http://jquery.com/">jQuery</a>) qui permet par exemple de rafraîchir l&#8217;état de la réplication MySQL et d&#8217;afficher l&#8217;erreur explicite en cas de panne. J&#8217;ai aussi utilisé cette technique pour afficher les dernières modifications du serveur FTP.</p>
<p class="image border"><a href="http://maxime.sh/wp-content/uploads/2009/12/rh2t.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2009/12/rh2t.png" alt="rh2t.png" border="0" /></a></p>
<p>Enfin, comme le résultat donne une page Web, j&#8217;avais besoin qu&#8217;elle se comporte comme une véritable application, afin d&#8217;éviter qu&#8217;elle se ferme lorsque je devais redémarrer Safari, ou tout simplement pour pouvoir placer la fenêtre de manière permanente en plein écran sur la droite. J&#8217;ai utilisé comme à chaque fois <a href="http://fluidapp.com/">Fluid</a> qui permet tout cela, et même bien plus avec ses librairies Javascript intégrées (vous pouvez par exemple mettre des badges ou des notifications Growl très simplement).</p>
<h2>Et quand t&#8217;es dehors ?</h2>
<p>Avoir un <em>smartphone</em> est forcément indispensable, dans mon cas c&#8217;est un iPhone. Vous n&#8217;êtes pas sans savoir qu&#8217;il ne gère pas le Flash, et quand bien même il le gérerait, ce serait trop lourd pour vérifier d&#8217;un coup d&#8217;oeil l&#8217;état de mes serveurs en Edge ou en Wap. J&#8217;ai donc codé une page HTML avec les entêtes HTML qui vont bien pour que l&#8217;iPhone considère ça comme une application à part entière :</p>
<pre class="brush: xml;">&lt;meta name=&quot;robots&quot; content=&quot;noindex&quot; /&gt;
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;&quot;/&gt;
&lt;meta http-equiv=&quot;cache-control&quot; content=&quot;no-cache&quot;/&gt;
&lt;meta name=&quot;format-detection&quot; content=&quot;telephone=no&quot; /&gt;
&lt;meta content=&quot;yes&quot; name=&quot;apple-mobile-web-app-capable&quot; /&gt;
&lt;META http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;&gt;
&lt;link rel=&quot;apple-touch-icon&quot; href=&quot;/mgmt.png&quot;/&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
	addEventListener(
		&quot;load&quot;,
		function() {
		setTimeout(hideURLbar, 0);
		setTimeout('window.location.reload(true)', 5000);
		}, false
	);
	function hideURLbar() { window.scrollTo(0, 1); }
&lt;/script&gt;</pre>
<p>La page se rafraichit automatiquement toutes les 5 secondes pour me permettre de supprimer totalement la barre d&#8217;adresse de l&#8217;écran de contrôle.</p>
<p>J&#8217;ajoute à côté du screen une autre application qui s&#8217;appelle <a href="http://itunes.apple.com/fr/app/hostmonitor/id320248678?mt=8">HostMonitor</a> [iTunes], très pratique pour simplement tester des ports sur des machines distantes, le tout sous forme de groupes. Utile si vous voulez juste jeter un oeil sur l&#8217;état de santé de votre réseau.</p>
<p class="image"><a href="http://maxime.sh/wp-content/uploads/2009/12/IMG_0378.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2009/12/IMG_0378-iphone.png" alt="IMG_0378.PNG" border="0" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://maxime.sh/wp-content/uploads/2009/12/IMG_0379.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2009/12/IMG_0379-iphone.png" alt="IMG_0379.PNG" border="0" /></a><br /><em>Le monitoring version iPhone, et HostMonitor.</em></p>
<p>Un autre outil que j&#8217;utilise (mais moins souvent), c&#8217;est <a href="http://bjango.com/apps/istat/">iStat</a>. Cette application se présente sous la forme d&#8217;un client iPhone et de serveur à installer sur tous les ordinateurs que vous souhaitez monitorer. L&#8217;avantage est qu&#8217;il marche sur Linux aussi bien que sur Mac, avec seulement un port TCP à ouvrir sur chaque serveur. Le détail des paramètres système est paramétrable.</p>
<p class="image"><a href="http://maxime.sh/wp-content/uploads/2009/12/IMG_0376.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2009/12/IMG_0376-iphone.png" alt="IMG_0376.PNG" border="0" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://maxime.sh/wp-content/uploads/2009/12/IMG_0377.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2009/12/IMG_0377-iphone.png" alt="IMG_0377.PNG" border="0" /></a><br /><em>iStat en action.</em></p>
<p>Concernant l&#8217;installation sur des serveurs Linux, le code source est disponible sur <a href="http://bjango.com/help/istat/istatserverlinux/">Google Code</a>. Une bonne âme a créé un paquet Debian à partir de ces sources, elle s&#8217;appelle Marius (<a href="http://www.devilx.net/2009/08/24/istat-my-linux-on-my-phone/">iStat My Linux on My Phone</a>) et le lien se trouve en bas de son article. Un coup de dpkg -i plus tard et vous avez un serveur iStat sur votre Debian (pensez aussi à éditer le /etc/istat.conf si vous ne souhaitez pas que tout le monde connaisse vos stats).</p>
<p>Voilà pour le billet promis, désolé si j&#8217;ai mis un peu de temps à le rédiger, et pour la consistance finale de l&#8217;article, mais j&#8217;ai eu du mal à trouver une meilleure présentation. Comme d&#8217;habitude, si vous avez des questions, je tenterai d&#8217;y répondre avec mon humble expérience.</p>
]]></content:encoded>
			<wfw:commentRss>http://maxime.sh/2009/12/le-monitoring-cette-belle-activite/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>Comment être productif avec 5 écrans</title>
		<link>http://maxime.sh/2009/12/comment-etre-productif-avec-5-ecrans/</link>
		<comments>http://maxime.sh/2009/12/comment-etre-productif-avec-5-ecrans/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 07:34:11 +0000</pubDate>
		<dc:creator>Maxime</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Ma vie]]></category>

		<guid isPermaLink="false">http://maxime.sh/?p=400</guid>
		<description><![CDATA[Certains d&#8217;entre vous doivent encore se souvenir de cette photo publiée sur mon compte Twitter il y a presque deux mois jour pour jour, juste après l&#8217;installation de mon ordinateur dans mon nouvel appartement : Le contenu des écrans n&#8217;est pas représentatif ! On m&#8217;a accusé de temps à autres d&#8217;avoir cette configuration uniquement pour [...]]]></description>
			<content:encoded><![CDATA[<p>Certains d&#8217;entre vous doivent encore se souvenir de cette photo publiée sur <a href="http://twitter.com/maxime/status/4626325091">mon compte Twitter</a> il y a presque deux mois jour pour jour, juste après l&#8217;installation de mon ordinateur dans mon nouvel appartement :</p>
<p class="image"><a href="http://maxime.sh/wp-content/uploads/2009/12/dsc00205qj.jpg" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2009/12/dsc00205qj-500.jpg" alt="dsc00205qj.jpg" border="0" width="500" /></a><br /><em>Le contenu des écrans n&#8217;est pas représentatif !</em></p>
<p>On m&#8217;a accusé de temps à autres d&#8217;avoir cette configuration uniquement pour la frime, et n&#8217;en avoir aucune utilité dans la réalité. Voici donc un &laquo;&nbsp;petit&nbsp;&raquo; article pour expliquer comment avoir 5 écrans augmente ma productivité.</p>
<h2>Le matériel</h2>
<p>Seuls les deux LaCie ont été achetés pour l&#8217;occasion, les trois autres écrans étaient déjà en ma possession. Leur choix n&#8217;est pas spécialement primordial, les miens sont assez grands, ce qui au final est plutôt agréable si vous avez la place.</p>
<ul>
<li>Au centre : <strong>Acer P244W</strong> (24&#8243; 16:9)</li>
<li>A gauche et à droite : <strong>LaCie 324</strong> (24&#8243; 16:10)</li>
<li>Aux extrémités : <strong>Acer AL2216W</strong> (22&#8243; 16:10)</li>
</ul>
<p>Vous aurez judicieusement remarqué que les deux écrans aux extrémités n&#8217;avaient pas la place pour reposer sur la table, j&#8217;ai donc utilisé <strong>deux bras Ergotron</strong> pour les accrocher en l&#8217;air. Ce sont des bras assez chers mais qui valent vraiment le coup, pour avoir essayé leur équivalent &laquo;&nbsp;noname&nbsp;&raquo; auparavant, ça n&#8217;a rien à voir niveau qualité de fabrication.</p>
<p>L&#8217;ordinateur qui supporte tout cela peut aussi être n&#8217;importe quelle tour bien configurée, dans mon cas c&#8217;est un <strong>Mac Pro</strong>, avec trois cartes graphiques évidemment, pour pouvoir supporter les 5 sorties vidéo.</p>
<h2>Le logiciel</h2>
<p>La première réflexion qui vient souvent à l&#8217;esprit lorsque je parle de ma configuration c&#8217;est : &laquo;&nbsp;Ça ne t&#8217;arrive pas de perdre ta souris ?&nbsp;&raquo;. La réponse est si, bien sûr ! Mais il y a quelques astuces pour naviguer efficacement dans un espace aussi grand.</p>
<p>C&#8217;est là où les raccourcis clavier viennent à la rescousse de votre productivité :-) J&#8217;ai choisi d&#8217;utiliser <a href="http://www.keyboardmaestro.com/main/">Keyboard Maestro</a> après en avoir testé quelques autres, je ne sais pas si celui-là est le meilleur mais il m&#8217;a pleinement satisfait depuis un peu plus d&#8217;un an. Ce logiciel me sert à deux choses : reconfigurer certaines touches de mon Mac pour qu&#8217;elles réagissent comme un clavier Windows (un an et demi après avoir switché, je suis toujours persuadé que le clavier AZERTY est mieux pour coder), et ajouter des raccourcis pour accéder rapidement à n&#8217;importe quelle application située sur mes écrans.</p>
<p>Ces raccourcis clavier sont dits <em>globaux</em>, c&#8217;est à dire qu&#8217;ils fonctionnent peu importe l&#8217;application où vous vous trouvez sur votre ordinateur.</p>
<p class="image"><a href="http://maxime.sh/wp-content/uploads/2009/12/yjvv.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2009/12/yjvv-500.png" alt="yjvv.png" border="0" width="500" /></a></p>
<p>Au-delà de ça, j&#8217;ai aussi pris l&#8217;habitude de remettre ma souris au centre de l&#8217;écran principal avant d&#8217;éteindre mes écrans. :D</p>
<p>Passons maintenant au contenu des écrans à proprement parler.</p>
<h2>Au centre</h2>
<p>Certainement la partie la moins intéressante, l&#8217;écran du milieu me sert à coder (il vaut mieux le faire au centre, ça évite les torticolis), et à naviguer sur le Web, quelques terminaux SSH de temps en temps, rien d&#8217;autre.</p>
<h2>A gauche</h2>
<p>J&#8217;utilise l&#8217;écran de gauche pour iTunes (que j&#8217;utilise en permanence en travaillant), Adium (messagerie instantanée sous Mac), Gmail (via Mailplane).</p>
<p class="image"><a href="http://maxime.sh/wp-content/uploads/2009/12/gauche.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2009/12/gauche.png" alt="gauche.png" border="0" width="500" /></a></p>
<h2>A droite</h2>
<p>La télécommande EyeTV de l&#8217;écran tout à gauche (voir paragraphe ci-dessous), quelques bidouilles faites avec GeekTool, Tweetie, et Google Wave, mais vu l&#8217;inutilité grandissante de ce dernier, je pense le remplacer par un autre logiciel encore à déterminer. J&#8217;utilise l&#8217;espace quand j&#8217;ai des SSH à monitorer ponctuellement.</p>
<p class="image"><a href="http://maxime.sh/wp-content/uploads/2009/12/droite.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2009/12/droite.png" alt="droite.png" border="0" width="500" /></a></p>
<h2>Les extrémités</h2>
<p>De part leurs emplacements dans mon champ de vision, il était impossible d&#8217;envisager des écrans où je serais actif dessus. Les deux écrans me servent d&#8217;écran de <strong>&laquo;&nbsp;contrôle&nbsp;&raquo;</strong>. A droite, j&#8217;ai le monitoring de mes serveurs (qui est néanmoins primordial puisque c&#8217;est mon métier), quant à l&#8217;écran de gauche il me sert pour la télévision, souvent les infos mais aussi les reportages qu&#8217;on peut regarder d&#8217;un oeil tout en travaillant :-)</p>
<p class="image"><a href="http://maxime.sh/wp-content/uploads/2009/12/monitoring.png" target="_blank"><img src="http://maxime.sh/wp-content/uploads/2009/12/monitoring.png" alt="monitoring.png" border="0" width="500" /></a><br /><em>Mon monitoring, qui fera sans doute l&#8217;objet d&#8217;un autre article.</em></p>
<p>J&#8217;ai essayé de ne pas trop vous encombrer de détails sur la description de ma configuration de travail. Je concluerai en disant qu&#8217;il ne faut pas croire que c&#8217;est parce que vous avez 5 écrans que vous multiplierez votre productivité par 5, mais en s&#8217;habituant un peu, les avantages s&#8217;en font vite sentir. Si vous avez des questions (ou des conseils), laissez-moi un commentaire !</p>
]]></content:encoded>
			<wfw:commentRss>http://maxime.sh/2009/12/comment-etre-productif-avec-5-ecrans/feed/</wfw:commentRss>
		<slash:comments>46</slash:comments>
		</item>
	</channel>
</rss>
