<?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>Y.A.P.O.S. by rangzen</title>
	<atom:link href="http://tatouage.l-homme.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://tatouage.l-homme.com</link>
	<description>Il était une fois dans l&#039;web</description>
	<lastBuildDate>Tue, 27 Mar 2012 22:08:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Comprendre le processus Git</title>
		<link>http://tatouage.l-homme.com/2012/03/comprendre-le-processus-git/</link>
		<comments>http://tatouage.l-homme.com/2012/03/comprendre-le-processus-git/#comments</comments>
		<pubDate>Tue, 27 Mar 2012 08:21:50 +0000</pubDate>
		<dc:creator>rangzen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[traduction]]></category>

		<guid isPermaLink="false">http://tatouage.l-homme.com/?p=252</guid>
		<description><![CDATA[Traduction libre de votre serviteur de l&#8217;article Understanding the Git Workflow par Benjamin Sandofsky Comprendre le processus Git Si vous ne comprenez pas ce qui a poussé au design actuel de Git, vous allez souffrir en l&#8217;utilisant. Avec toutes ses &#8230; <a href="http://tatouage.l-homme.com/2012/03/comprendre-le-processus-git/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Traduction libre de votre serviteur de l&#8217;article <a title="Understanding the Git Workflow par Benjamin Sandofsky" href="http://sandofsky.com/blog/git-workflow.html" target="_blank">Understanding the Git Workflow</a> par <a title="Benjamin Sandofsky" href="http://sandofsky.com/" target="_blank">Benjamin Sandofsky</a></p>
<h1>Comprendre le processus Git</h1>
<p>Si vous ne comprenez pas ce qui a poussé au design actuel de Git, vous allez souffrir en l&#8217;utilisant. Avec toutes ses options, vous arriverez à forcer Git à agir comme vous pensez qu&#8217;il doit agir au lieu de le laisser agir comme il le souhaite. C&#8217;est comme utiliser un tournevis à la place d&#8217;un marteau, vous arriverez au résultat souhaité sauf que cela sera mal fait, ça prendra du temps et ça abîmera le tournevis.</p>
<p>Regardez comment le processus classique de Git peut s&#8217;écrouler.</p>
<blockquote><p>Créer une branche depuis Master, coder, fusionner la branche dans Master quand vous avez fini.</p></blockquote>
<p>La plupart du temps vous obtiendrez le comportement attendu car Master n&#8217;aura pas changé depuis la création de la branche. Plus tard, vous allez fusionner la branche dans Master mais Master n&#8217;aura pas divergé. Au lieu de créer un commit de fusion, Git va simplement faire pointer Master sur le dernier commit de la branche (ce qu&#8217;on appelle un «fast forward», une avance rapide, cf. ce <a href="http://sandofsky.com/images/fast_forward.pdf">diagramme</a>).</p>
<p>Malheureusement, votre branche contenait des commits d&#8217;étapes, des commits qui permettent de sauvegarder votre progression mais qui fixent un code non stabilisé. Maintenant ces commits sont confondus avec les commits stables de la branche Master. Vous pouvez facilement provoquer une pagaille en revenant en arrière.</p>
<p>Donc vous vous créez une nouvelle règle : «Quand je fusionne une branche, j&#8217;utilise l&#8217;option <em>–no-ff</em> pour forcer un nouveau commit.». Affaire résolue, on continue.</p>
<p>Et puis un beau jour vous découvrez un bug critique en production et vous avez besoin de revenir en arrière pour trouver quand il a été introduit. Vous utilisez <a href="http://book.git-scm.com/5_finding_issues_-_git_bisect.html">bisect</a> mais vous arrivez toujours sur des commits d&#8217;étapes. Vous abandonnez et vous finissez par chercher «à la main».</p>
<p>Vous arrivez à localiser le bug dans un fichier et vous utilisez <em>blame</em> pour voir comment il a évolué dans les dernières 48 heures. Vous savez que c&#8217;est impossible pourtant <em>blame</em> vous rapporte que le fichier n&#8217;a pas été modifié depuis des semaines. Il se trouve que <em>blame</em> rapporte les changements à la date du commit initial et pas à la fusion. Vos changements ont été fusionnés aujourd&#8217;hui mais votre premier commit d&#8217;étapes a modifié ce fichier il y a des semaines.</p>
<p>Entre le plâtre <em>no-ff</em>, <em>bisect</em> inutilisable et <em>blame</em> incompréhensible, nous avons tous les symptômes d&#8217;un tournevis utilisé comme un marteau.</p>
<h2 id="rethinking_revision_control">Repenser le contrôle de révision</h2>
<p>Le contrôle des révisions existe pour deux raisons.</p>
<p>La première est d&#8217;aider l&#8217;acte d&#8217;écrire du code. Vous avez besoin de synchroniser des changements avec vos collègues et de régulièrement sauvegarder votre travail. Non, envoyer des zips de vos fichiers ne tient pas la montée en charge.</p>
<p>La seconde est le <a href="http://en.wikipedia.org/wiki/Software_configuration_management">management de configuration</a>. Cela inclut le management en parallèle de plusieurs axes de développement comme travailler sur la prochaine version majeure tout en appliquant des corrections de bug sur la version existante en production. Le management de configuration est aussi utilisé pour comprendre exactement quand quelque chose a changé, ce qui en fait un outil de débogage qui n&#8217;a pas de prix.</p>
<p>Traditionnellement ces deux raisons sont en conflit.</p>
<p>Quand on maquette une fonctionnalité, on fait des commits d&#8217;étapes réguliers et souvent ces commits empêchent la compilation. Alors que dans un monde parfait, chaque changement dans votre historique de révision est succinct et stable. Il n&#8217;y a pas de bruit créé par des commits d&#8217;étapes. Il n&#8217;y a pas de commit géant de 10 000 lignes. Un historique propre facilite l&#8217;annulation de changement ou l&#8217;opération de <a href="http://gitready.com/intermediate/2009/03/04/pick-out-individual-commits.html">cherry-pick</a> entre les branches. Un historique propre facilite également l&#8217;analyse, l&#8217;inspection à posteriori. Cependant, maintenir un historique propre signifie attendre que le code soit parfait avant de l’enregistrer.</p>
<p>Donc quelle approche choisir ? Commit régulier ou historique propre ?</p>
<p>Si vous vous êtes à la veille de lancer votre mini startup, un historique propre ne va pas être un avantage décisif. Vous pouvez commiter à tout va et déployer quand bon vous chante.</p>
<p>Mais en conséquence d&#8217;une augmentation du nombre des modifications, que ce soit du à l&#8217;élargissement de l&#8217;équipe de développement ou à la taille de votre base d&#8217;utilisateurs, vous allez avoir besoin d&#8217;outils et de techniques pour maintenir les choses sous contrôle. Cela inclut les tests automatiques, les revues de code &#8230; et un historique propre.</p>
<p>Les branches de fonctionnalités peuvent sembler une solution équilibrée. Elles résolvent les problèmes de base du développement parallèle. Vous pensez à l&#8217;intégration au moment le moins opportun, quand vous écrivez du code, mais ça vous rattrapera. Quand le projet aura assez grossi, le simple processus branche/commit/fusion va s’effondrer. Finis les rafistolages, vous aurez besoin d&#8217;un historique de révision propre.</p>
<p>Git est révolutionnaire car il vous donne le meilleur des deux mondes. Vous pouvez maquetter une solution avec des commits réguliers mais également délivrer un historique propre lorsque vous avez fini. Et si c&#8217;est bien votre but, les choix par défaut de Git prennent alors tous leurs sens.</p>
<h2 id="the_workflow">Le processus</h2>
<p>Penser aux branches en les divisant en deux catégories : publique et privée.</p>
<p>Les branches publiques représentent l&#8217;autorité historique du projet. Dans une branche publique, chaque commit doit être succinct, atomique et un message de commit correctement rédigé. Une branche publique doit être la plus linéaire possible et non modifiable. Master et les branches de releases sont des branches publiques.</p>
<p>Une branche privée est personnelle. C&#8217;est votre brouillon quand vous travaillez sur un problème.</p>
<p>Il est plus sûr de garder locale une branche privée. Si vous avez besoin de la faire remonter sur dépôt, pour synchroniser vos ordinateurs professionnel et personnel par exemple, prévenez vos collègues que cette branche est privée et qu&#8217;ils n&#8217;ont pas besoin de travailler dessus.</p>
<p>Vous ne devriez jamais fusionner une branche privée directement dans une branche publique avec un <em>merge</em> de base. Vous devez d&#8217;abord nettoyer votre branche avec des outils comme reset, rebase, squash merges, et l&#8217;amendement de commit.</p>
<p>Mettez vous dans la peau d&#8217;un écrivain et prenez chaque commit comme le chapitre d&#8217;un livre. Les écrivains ne publient pas leurs premiers brouillons, Michael Crichton a dit «Les grands livres ne sont pas écris, ils sont réécris.».</p>
<p>Si vous venez d&#8217;autres systèmes, modifier l&#8217;historique peut vous sembler tabou. Vous avez été conditionnés pour considérer que les commits sont écris dans le marbre mais avec cette logique nous devrions désactiver la fonction «Annuler» dans nos éditeurs de textes.</p>
<p>Les gens pragmatiques prennent soin des changements jusqu&#8217;à ce que les changements ne soient que du bruit. Pour la gestion des configurations, nous prenons soin des changements importants. Les commits d&#8217;étapes ne sont que des brouillons sauvegardés dans le nuage.</p>
<p>Si vous traitez votre historique public comme une lady, les fusions avec avances rapides sont non seulement plus sûres mais nécessaires. Elles conservent l&#8217;historique linéaire et sont simples à suivre.</p>
<p>Le seul argument restant pour <em>–no-ff</em> c&#8217;est «la documentation». On peut utiliser les commits de fusion pour représenter la dernière version déployée du code en production. C&#8217;est un antipattern, utilisez les tags.</p>
<h2 id="guidelines_and_examples">Lignes directrices et exemples</h2>
<p>J&#8217;utilise trois approches de base en fonction de la taille de mes changements, du temps consacré à ce travail et de l&#8217;état de divergence de la branche</p>
<h3 id="short_lived_work">Travail à courte durée de vie</h3>
<p>Dans la majorité des cas, mon nettoyage consiste seulement à une fusion avec squash.</p>
<p>Imaginons que je crée une branche de fonctionnalité et une série de commits d&#8217;étapes pendant la prochaine heure :</p>
<pre><code>git checkout -b branche_privee_fonctionnalite
touch file1.txt
git add file1.txt
git commit -am "WIP"</code></pre>
<p>Quand j&#8217;ai fini, au lieu d&#8217;un merge de base, j&#8217;utilise :</p>
<pre><code>git checkout master
git merge --squash branche_privee_fonctionnalite
git commit -v </code></pre>
<p>Et je prends une minute pour écrire un message de commit détaillé.</p>
<h3 id="larger_work">Travail plus conséquent</h3>
<p>Parfois une fonctionnalité s&#8217;étale sur un projet de plusieurs jours avec des douzaines de petits commits.</p>
<p>Si je décide que ma modification doit être séparée en plusieurs modifications plus petites, squash est un peu trop bourrin (comme métrique, je me demande toujours «Est ce que ce code serait facile à faire valider ?»)</p>
<p>Si mes commits d&#8217;étapes suivent une progression logique, j&#8217;utilise le mode interactif de <a href="http://kernel.org/pub/software/scm/git/docs/git-rebase.html">rebase</a>. C&#8217;est très puissant, vous pouvez l&#8217;utiliser pour éditer un vieux commit, les séparés, changer l&#8217;ordre et dans ce cas utiliser squash sur quelques uns.</p>
<p>Sur ma branche de fonctionnalité :</p>
<pre><code>git rebase --interactive master</code></pre>
<p>Cela ouvre un éditeur avec une liste des commits. Sur chaque ligne, on retrouve l&#8217;opération à effectuer, le SHA1 du commit et le message de commit actuel. Une légende de la liste des commandes possibles est affichée.</p>
<p>Par défaut, chaque commit utilise «pick» qui ne modifie pas le commit.</p>
<pre><code>pick ccd6e62 Travail sur le bouton retour
pick 1c83feb Résolutions de bogues
pick f9d0c33 Début du travail sur la barre d'outils</code></pre>
<p>Je change l&#8217;opération en «squash» ce qui va fusionner le deuxième commit dans le premier.</p>
<pre><code>pick ccd6e62 Travail sur le bouton retour
squash 1c83feb Résolutions de bogues
pick f9d0c33 Début du travail sur la barre d'outils</code></pre>
<p>Quand je sauvegarde et ferme l&#8217;éditeur, un nouvel éditeur va s&#8217;afficher pour écrire le message de commit des commits fusionnés.<br />
Et c&#8217;est fini.</p>
<h3 id="declaring_branch_bankruptcy">Travail sur une branche en faillite</h3>
<p>Peut être que ma branche de fonctionnalité existe depuis très longtemps et que j&#8217;ai du fusionner plusieurs branches dans ma branche de fonctionnalité pour la garder à jour tout en travaillant dessus. L&#8217;historique est en vrille. Le plus simple est de récupérer les différences brutes et de créer une nouvelle branche.</p>
<pre><code>git checkout master
git checkout -b branche_propre
git merge --squash branche_privee_fonctionnalite
git reset</code></pre>
<p>J&#8217;ai maintenant un répertoire de travail avec toutes mes modifications sans traîner les valises de ma branche précédente. Je peux alors ajouter manuellement mes modifications et faire mes commits</p>
<h2 id="summary">Résumé</h2>
<p>Si vous vous battez avec les choix par défaut de Git, demandez vous &#8220;pourquoi ?&#8221;.</p>
<p>Traiter l&#8217;historique public comme immuable, atomique et facile à suivre. Traiter l&#8217;historique privé comme jetable et malléable.</p>
<p>Le processus prévu est :</p>
<ol>
<li>Créer un branche privée depuis une branche publique.</li>
<li>Commiter régulièrement sur cette branche privée.</li>
<li>Une fois que votre code est parfait, nettoyer son historique.</li>
<li>Fusionner cette branche nettoyée vers la branche publique.</li>
</ol>
<p><em>L&#8217;auteur remercie particulièrement @<a href="http://twitter.com/joshaber">joshaber</a> et @<a href="http://twitter.com/jbarnette">jbarnette</a> pour leurs retours sur les premiers brouillons.</em><br />
<em>Le traducteur remercie Mizu no kokoro pour sa lecture attentive d&#8217;un texte &#8220;totalement incompréhensible mais tellement poétique, hermétique et ésotérique&#8221;.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://tatouage.l-homme.com/2012/03/comprendre-le-processus-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Appliquer un format de code en masse avec Eclipse</title>
		<link>http://tatouage.l-homme.com/2012/03/appliquer-un-format-de-code-en-masse-avec-eclipse/</link>
		<comments>http://tatouage.l-homme.com/2012/03/appliquer-un-format-de-code-en-masse-avec-eclipse/#comments</comments>
		<pubDate>Thu, 15 Mar 2012 19:26:34 +0000</pubDate>
		<dc:creator>rangzen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://tatouage.l-homme.com/?p=243</guid>
		<description><![CDATA[Vous venez de vous mettre d&#8217;accord avec tout le monde sur un format de code dérivé de la convention de code Java avec quelques ajustements (taille de ligne à 160, on à des 24 pouces quand même, et &#8220;space only&#8221; pour &#8230; <a href="http://tatouage.l-homme.com/2012/03/appliquer-un-format-de-code-en-masse-avec-eclipse/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Vous venez de vous mettre d&#8217;accord avec tout le monde sur un format de code dérivé de <a title="Code Conventions for the Java Programming Language" href="http://www.oracle.com/technetwork/java/javase/documentation/codeconvtoc-136057.html" target="_blank">la convention de code Java</a> avec quelques ajustements (taille de ligne à 160, on à des 24 pouces quand même, et &#8220;space only&#8221; pour les tabulations), maintenant faut appliquer ça partout !</p>
<p>Vous avez également configurer le &#8220;Save actions&#8221; avec &#8220;Format source code&#8221;, parfait.<br />
Ou pas.<br />
Si vous attendez de passer dans le code pour reformatter, vous risquez de perdre la prochaine modification dans un énorme commit à cause d&#8217;un fichier entièrement reformaté, il faut donc faire un traitement de masse.</p>
<p style="text-align: center;"><span style="text-decoration: underline;"><strong><span style="background-color: #ffff99;">Attention à bien choisir le moment car<br />
vous risquez de perdre la comparaison de code pour tout le code précédent !</span></strong></span></p>
<p>J&#8217;ai trouvé la solution dans <a href="http://blogs.operationaldynamics.com/andrew/software/java-gnome/eclipse-code-format-from-command-line">http://blogs.operationaldynamics.com/andrew/software/java-gnome/eclipse-code-format-from-command-line</a> et <a href="http://www.peterfriese.de/formatting-your-code-using-the-eclipse-code-formatter/">http://www.peterfriese.de/formatting-your-code-using-the-eclipse-code-formatter/</a> par contre je préfère sauter l&#8217;étape d&#8217;enregistrer le formatage à un projet et utiliser le formattage affecter au workspace, ma ligne de commande ressemble donc plutôt à ça :</p>
<pre>&lt;path-to-eclipse&gt;\eclipse.exe
-nosplash
-verbose
-application org.eclipse.jdt.core.JavaCodeFormatter
-config &lt;path-to-workspace&gt;\.metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.jdt.core.prefs
&lt;path-to-your-source-files&gt;\src\</pre>
]]></content:encoded>
			<wfw:commentRss>http://tatouage.l-homme.com/2012/03/appliquer-un-format-de-code-en-masse-avec-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script de mise à jour de RetroShare par les sources (svn)</title>
		<link>http://tatouage.l-homme.com/2012/03/script-de-mise-a-jour-de-retroshare-par-les-sources-svn/</link>
		<comments>http://tatouage.l-homme.com/2012/03/script-de-mise-a-jour-de-retroshare-par-les-sources-svn/#comments</comments>
		<pubDate>Sun, 11 Mar 2012 00:13:26 +0000</pubDate>
		<dc:creator>rangzen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[retroshare]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://tatouage.l-homme.com/?p=234</guid>
		<description><![CDATA[À placer dans un compile_retroshare.sh (par exemple). Configuration avec RetroShare installé dans «/opt» : #!/bin/bash cd /opt/retroshare svn update cd /opt/retroshare/libbitdht/src qmake make clean make cd /opt/retroshare/libretroshare/src qmake make clean make cd /opt/retroshare/retroshare-gui/src qmake make clean make Oui, s&#8217;il n&#8217;y &#8230; <a href="http://tatouage.l-homme.com/2012/03/script-de-mise-a-jour-de-retroshare-par-les-sources-svn/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>À placer dans un compile_retroshare.sh (par exemple).<br />
Configuration avec <a title="RetroShare" href="http://retroshare.sourceforge.net/" target="_blank">RetroShare</a> installé dans «/opt» :</p>
<pre class="brush: bash; gutter: true">#!/bin/bash
cd /opt/retroshare
svn update
cd /opt/retroshare/libbitdht/src
qmake
make clean
make
cd /opt/retroshare/libretroshare/src
qmake
make clean
make
cd /opt/retroshare/retroshare-gui/src
qmake
make clean
make</pre>
<p>Oui, s&#8217;il n&#8217;y a pas eu de changement, les</p>
<pre>make clean</pre>
<p>font perdre un peu de temps mais ils m&#8217;ont débloqué, surtout pour retroshare-ui, un paquet de fois donc maintenant ils sont permanents.</p>
<p>Source : <a title="http://doc.ubuntu-fr.org/retroshare#depuis_la_source" href="http://doc.ubuntu-fr.org/retroshare#depuis_la_source" target="_blank">http://doc.ubuntu-fr.org/retroshare#depuis_la_source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tatouage.l-homme.com/2012/03/script-de-mise-a-jour-de-retroshare-par-les-sources-svn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Genesi Efika MX</title>
		<link>http://tatouage.l-homme.com/2012/02/genesi-efika-mx/</link>
		<comments>http://tatouage.l-homme.com/2012/02/genesi-efika-mx/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 13:56:42 +0000</pubDate>
		<dc:creator>rangzen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[efika mx]]></category>
		<category><![CDATA[genesi]]></category>
		<category><![CDATA[homeserver]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://tatouage.l-homme.com/?p=209</guid>
		<description><![CDATA[Ça fait plusieurs mois que je réorganise ma présence web, quel service j&#8217;utilise ou pas, à qui je donne mes données ou pas et j&#8217;ai décidé de rapatrier certaines données @Home comme au bon vieux temps. Après des tas de lectures, &#8230; <a href="http://tatouage.l-homme.com/2012/02/genesi-efika-mx/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://tatouage.l-homme.com/wp-content/uploads/2012/02/platform_efikamx.png"><img class="size-full wp-image-215 alignleft" title="Genesi Efika MX Smarttop" src="http://tatouage.l-homme.com/wp-content/uploads/2012/02/platform_efikamx.png" alt="Genesi Efika MX Smarttop" width="150" height="115" /></a>Ça fait plusieurs mois que je réorganise ma présence web, quel service j&#8217;utilise ou pas, à qui je donne mes données ou pas et j&#8217;ai décidé de rapatrier certaines données @Home comme au bon vieux temps.<br />
Après des tas de lectures, tests, avis, trolls, etc., mon choix s&#8217;est porté sur un <a title="Overview" href="http://www.powerdeveloper.org/platforms/efikamx" target="_blank">Genesi Efika MX  Smarttop</a> (ARM et consommation 5W).</p>
<p>Et bien ça y est, je l&#8217;ai reçu !<br />
Commandé sur <a href="http://www.genesi-europe.com/store/eu/">http://www.genesi-europe.com/store/eu/</a>, livraison en une semaine par DHL, la bête vient d&#8217;Allemagne.</p>
<h1>Headless</h1>
<p>Sortie HDMI uniquement. Aïe, j&#8217;avais pas vu ce point. Je boot, pas d&#8217;accés distant, je branche un écran et &#8230; c&#8217;était bloqué à l&#8217;install d&#8217;Ubuntu &#8230; Je finis l&#8217;installation et ça rame un peu. Allez on vire tout, c&#8217;est pour faire un serveur de toute façon. Est ce que je vire la couche X &#8230; Est ce que je shoot juste le lancement du service&#8230; Je me balade sur le forum officiel : <a href="http://www.powerdeveloper.org/forums/">http://www.powerdeveloper.org/forums/</a> et j&#8217;ai trouvé mon bonheur sur <a href="http://www.powerdeveloper.org/forums/viewtopic.php?t=1975">http://www.powerdeveloper.org/forums/viewtopic.php?t=1975</a>.</p>
<p>J&#8217;ai suivi le README sauf pour la création de la carte SD, j&#8217;ai utilisé</p>
<pre>xz -dc maverickheadless.img.xz | dd of=/dev/sde</pre>
<p>plutôt que</p>
<pre>xzcat maverickheadless.img.xz | dd bs=1M of=/dev/sde</pre>
<p>Tout se passe comme prévu, réinstall, reboot, etc.</p>
<pre>apt-get update
apt-get upgrade
reboot</pre>
<p>Et voilà !</p>
<h1>SSH</h1>
<p>Ajout de la clé avec ssh-copy-id (<a href="http://doc.ubuntu-fr.org/ssh#authentification_par_un_systeme_de_cles_publiqueprivee">http://doc.ubuntu-fr.org/ssh#authentification_par_un_systeme_de_cles_publiqueprivee</a>).</p>
<p>On vire l&#8217;authentification par mot de passe, on limite les utilisateurs et les tentatives.</p>
<p>SSH ne sera pas accessible de l’extérieur mais retenez toujours : &#8220;On ferme tout et on ouvre le strict nécessaire&#8221;.</p>
<h1>GIT</h1>
<p>J&#8217;aime bien suivre ce que je modifie donc j&#8217;utilise un gestionnaire de source pour suivre tout les changements de /etc. (update : attention à cette opération, cf. le lien d&#8217;<a href="http://blog.emillon.org/" rel="external nofollow">Etienne Millon</a> dans le premier commentaire)</p>
<p>On installe Git avec</p>
<pre>apt-get install git</pre>
<p>et on sauvegarde /etc avec</p>
<pre>cd /etc
git init
git add *
git -a -m "Add: Import initial."</pre>
<p>À chaque modification, upgrade, ne pas oublier de commiter.</p>
<h1>Munin</h1>
<p>Pour surveiller ce qui se passe un peu sur le serveur, j&#8217;adore <a title="munin" href="http://munin-monitoring.org/" target="_blank">munin</a>.</p>
<pre>apt-get install munin-node smartmontools lm-sensors ethtool</pre>
<p>Pour les problèmes de locale, installer le pack fr</p>
<pre>apt-get install language-pack-fr</pre>
<p>Préciser quel hôte à le droit de consulter les données avec le «allow» de /etc/munin/munin-node.conf</p>
<h1>La suite ?</h1>
<p>La suite bientôt avec nginx, owncloud, seeks, etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://tatouage.l-homme.com/2012/02/genesi-efika-mx/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Applications Android de gestion de liste de course et d&#8217;aide à la consommation</title>
		<link>http://tatouage.l-homme.com/2012/01/applications-android-de-gestion-de-liste-de-course-et-daide-a-la-consommation/</link>
		<comments>http://tatouage.l-homme.com/2012/01/applications-android-de-gestion-de-liste-de-course-et-daide-a-la-consommation/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 08:52:25 +0000</pubDate>
		<dc:creator>rangzen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[android]]></category>

		<guid isPermaLink="false">http://tatouage.l-homme.com/?p=197</guid>
		<description><![CDATA[Aide à la consommation, quel titre horrible &#8230; GroceryIQ https://market.android.com/details?id=com.coupons.GroceryIQ Site internet, on s&#8217;inscrit, on commence à remplir les listes, etc. On télécharge l&#8217;appli sur le market pour synchroniser et &#8230; et &#8230; non. Application réservée aux States &#8230; Bye. &#8230; <a href="http://tatouage.l-homme.com/2012/01/applications-android-de-gestion-de-liste-de-course-et-daide-a-la-consommation/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Aide à la consommation, quel titre horrible &#8230;</p>
<h1>GroceryIQ<br />
<a style="font-size: 13px; font-weight: normal;" href="https://market.android.com/details?id=com.coupons.GroceryIQ">https://market.android.com/details?id=com.coupons.GroceryIQ</a></h1>
<p>Site internet, on s&#8217;inscrit, on commence à remplir les listes, etc. On télécharge l&#8217;appli sur le market pour synchroniser et &#8230; et &#8230; non. Application réservée aux States &#8230;</p>
<p>Bye.</p>
<h1>OurGroceries<br />
<a style="font-size: 13px; font-weight: normal;" href="https://market.android.com/details?id=com.headcode.ourgroceries">https://market.android.com/details?id=com.headcode.ourgroceries</a></h1>
<p>Site internet, on s&#8217;inscrit, un peu viellot mais on fait ses listes, on synchronise et &#8230; Pas de gestion des accents français.</p>
<p>Bye.</p>
<h1>Prixing<br />
<a style="font-size: 13px; font-weight: normal;" href="https://market.android.com/details?id=fr.epicdream.beamy">https://market.android.com/details?id=fr.epicdream.beamy</a></h1>
<p>En français, application propre malgré la publicité qui envahie l&#8217;écran mais &#8220;c&#8217;est le jeu ma pauvre Lucette&#8221;. On trouve les prix à proximité, on scan en rafale, on organise ses listes de courses et &#8230; ah non, on organise rien, liste dans l&#8217;ordre des scans. Pas de possibilité de remanier la liste en fonction de l&#8217;ordre des rayons de son magasin ou de ses habitudes de slalom.</p>
<p>Bye &#8230; mais je garde installé pour la recherche de prix, etc.</p>
<h1>OI Shopping list<br />
<a style="font-size: 13px; font-weight: normal;" href="https://market.android.com/details?id=org.openintents.shopping">https://market.android.com/details?id=org.openintents.shopping</a></h1>
<p>Code libre ! Génial mais &#8230; trop limité.</p>
<h1>Shopwise<br />
<a style="font-size: 13px; font-weight: normal;" href="https://market.android.com/details?id=com.shopwise">https://market.android.com/details?id=com.shopwise</a></h1>
<p>Qu&#8217;est ce qu&#8217;il y a dans ce produit ? C&#8217;est quoi le E440 ? Toutes les informations sur un produit par recherche ou scan de son code barre.</p>
<p>Pas de gestion de liste mais à garder de coté comme Prixing.</p>
<h1>MonCaddy<br />
<a style="font-size: 13px; font-weight: normal;" href="https://market.android.com/details?id=com.agilys.moncaddy">https://market.android.com/details?id=com.agilys.moncaddy</a></h1>
<p>Scan des codes barres et récupération des images par internet ou perso par l&#8217;appareil photo. Liste pré renseignée. Légumes et fruits de saisons !!!</p>
<p>Possibilité de trier les allées (famille de produit mais vous pouvez créer les vôtres en tant qu&#8217;allées), enregistrement des magasins, partage de listes, très bon design pour mobile, etc.</p>
<p>Chapeau !</p>
<h1>Conclusion</h1>
<p>Pour la liste de course : <a title="MonCaddy" href="https://market.android.com/details?id=com.agilys.moncaddy" target="_blank">MonCaddy</a><br />
Informations : <a title="Prixing" href="https://market.android.com/details?id=fr.epicdream.beamy" target="_blank">Prixing</a> et <a title="Shopwise" href="https://market.android.com/details?id=com.shopwise" target="_blank">Shopwise</a></p>
<p>Des suggestions ?</p>
]]></content:encoded>
			<wfw:commentRss>http://tatouage.l-homme.com/2012/01/applications-android-de-gestion-de-liste-de-course-et-daide-a-la-consommation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Citation #4, management</title>
		<link>http://tatouage.l-homme.com/2011/11/citation-4-management/</link>
		<comments>http://tatouage.l-homme.com/2011/11/citation-4-management/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 22:58:57 +0000</pubDate>
		<dc:creator>rangzen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[citation]]></category>

		<guid isPermaLink="false">http://tatouage.l-homme.com/?p=190</guid>
		<description><![CDATA[Ils ne croient pas forcément que je prends les meilleures décisions, mais ils ont confiance dans le fait que je revienne sur mes mauvaises décisions. Traduction d&#8217;une entrevue de Linus Torvalds]]></description>
			<content:encoded><![CDATA[<p><em>Ils ne croient pas forcément que je prends les meilleures décisions, mais ils ont confiance dans le fait que je revienne sur mes mauvaises décisions.</em></p>
<p><a href="http://linuxfr.org/news/entretien-avec-linus%C2%A0torvalds-sur-zeit%C2%A0online" target="_blank">Traduction</a> d&#8217;une <a href="http://www.zeit.de/digital/internet/2011-11/linux-thorvalds-interview" target="_blank">entrevue</a> de <strong>Linus Torvalds</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://tatouage.l-homme.com/2011/11/citation-4-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Citation #3, le rêve américain</title>
		<link>http://tatouage.l-homme.com/2011/11/citation-3-le-reve-americain/</link>
		<comments>http://tatouage.l-homme.com/2011/11/citation-3-le-reve-americain/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 16:25:12 +0000</pubDate>
		<dc:creator>rangzen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[citation]]></category>

		<guid isPermaLink="false">http://tatouage.l-homme.com/?p=184</guid>
		<description><![CDATA[It&#8217;s called the American Dream because you have to be asleep to believe in. Transcript d&#8217;une vidéo de Geoge Carlin]]></description>
			<content:encoded><![CDATA[<p><em>It&#8217;s called the American Dream because you have to be asleep to believe in.</em></p>
<p>Transcript d&#8217;une <a href="http://www.youtube.com/watch?v=rsL6mKxtOlQ" target="_blank">vidéo</a> de <strong>Geoge Carlin</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://tatouage.l-homme.com/2011/11/citation-3-le-reve-americain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ma configuration internet de novembre 2011</title>
		<link>http://tatouage.l-homme.com/2011/11/ma-configuration-internet-de-novembre-2011/</link>
		<comments>http://tatouage.l-homme.com/2011/11/ma-configuration-internet-de-novembre-2011/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 23:55:46 +0000</pubDate>
		<dc:creator>rangzen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[internet]]></category>

		<guid isPermaLink="false">http://tatouage.l-homme.com/?p=142</guid>
		<description><![CDATA[J'utilise quoi pour ma configuration internet en novembre 2011 ? <a href="http://tatouage.l-homme.com/2011/11/ma-configuration-internet-de-novembre-2011/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h2>Navigateur</h2>
<p>Ce qui devait arriver arriva. Après des mois au bureau, c&#8217;est désormais le cas également à la maison : Chromium est mon navigateur par défaut. Bizarre.<br />
Une des raisons est l&#8217;extension Evernote qui est une catastrophe sous Firefox.</p>
<h3>Chromium (non, pas Chrome)</h3>
<p>Navigateur <del>complémentaire</del> principal : <a href="http://www.chromium.org/">Chromium</a>.</p>
<p>Je surveille <a href="http://build.chromium.org/p/chromium/console">http://build.chromium.org/p/chromium/console</a> puis je télécharge la version qui me semble la plus appropriée sur <a href="http://build.chromium.org/f/chromium/snapshots/">http://build.chromium.org/f/chromium/snapshots/</a></p>
<p>Modules complémentaires :</p>
<ul>
<li><a href="https://chrome.google.com/webstore/detail/cfhdojbkjhnklbpkdaibdccddilifddb" target="_blank">Adblock Plus</a></li>
<li><a href="https://chrome.google.com/webstore/detail/pioclpoplcdbaefihamjohnefbikjilc" target="_blank">Evernote</a></li>
</ul>
<div>Je cherche toujours une extension pour remplacer gTranslate et Linky.</div>
<div>Contrairement à Firefox, Chromium indique les éléments auxquels l&#8217;extension va pouvoir accéder et comme pour Android et le market, je fais de plus en plus attention à ces éléments là donc j&#8217;ai trouvé des extensions qui pourraient faire l&#8217;affaire mais qui ont des paramètres de sécurité rédhibitoire. Si vous avez des pistes &#8230;</div>
<h3>Firefox</h3>
<p>Navigateur <del>principal</del> complémentaire : <a href="http://www.mozilla.org/firefox/" target="_blank">Firefox</a> installé avec les .tar.gz dans un répertoire <em>/opt</em> pour ne pas attendre l&#8217;empaquetage de ma distribution.</p>
<p>Sans modules complémentaires on a pas un vrai Firefox donc dans l&#8217;ordre d&#8217;urgence d&#8217;installation :</p>
<ul>
<li><a href="http://noscript.net/" target="_blank">NoScript</a> pour bloquer les scripts</li>
<li><a href="http://adblockplus.org/en/firefox" target="_blank">Adblock Plus</a> pour bloquer les pubs</li>
<li><a href="http://lazarus.interclue.com/">Lazarus</a> pour sauvegarder les formulaires et ne plus perdre vos textes toujours au pire moment (avec un F5 malencontreux par exemple &#8230;)</li>
<li><a href="https://addons.mozilla.org/fr/firefox/addon/gtranslate/">gTranslate</a> pour avoir rapidement, sans 15000 options et fenêtres, la traduction d&#8217;un mot</li>
<li><a href="http://gemal.dk/mozilla/linky.html">Linky</a> pour pouvoir faire clic droit, Open Selected Links in tabs</li>
</ul>
<div>Modules supprimés</div>
<div>
<ul>
<li><a href="http://userlogos.org/extensions/fastdial">Fast Dial</a> avec des raccourcis en 10&#215;6. L&#8217;auteur met vraiment trop de temps entre les mises à jour Firefox et les mises à jour de son module.</li>
<li><a href="http://flashgot.net/">FlashGot</a> pour pouvoir faire clic droit, &#8220;Télécharger la sélection avec FlashGot&#8221;. Plus besoin puisque <a href="http://www.jdownloader.org/" target="_blank">JDownloader</a> surveille le presse papiers donc à la place je fais juste un Ctrl+C.</li>
</ul>
</div>
<h2>Service</h2>
<h3>Mail</h3>
<p><a href="https://mail.google.com" target="_blank">Google Mail</a> car je n&#8217;ai plus envie de gérer les filtres anti-spam, les comptes, etc.</p>
<h3>TODO</h3>
<p><a href="http://www.toodledo.com">Toodledo</a> car j&#8217;ai erré dans la jungle de <a href="http://fr.wikipedia.org/wiki/Getting_Things_Done" target="_blank">GTD</a> pendant des années (<a href="http://linuxfr.org/nodes/51781/comments/870372">preuve sur linuxfr.org</a> d&#8217;il y a 4 ans, si si 4 ans &#8230;) et j&#8217;en ai essayé des kilos. J&#8217;utilise donc Toodledo comme système et Evernote pour les références (cf. ci dessous).</p>
<p>En complément : <a href="https://market.android.com/developer?pub=Custom+Solutions" target="_blank">Ultimate To-Do List</a> sur mon téléphone avec le widget 1&#215;1 &#8220;New Task&#8221;.</p>
<h3>Notes et marques pages</h3>
<p><a href="http://evernote.com/">Evernote</a> avec <a href="http://tatouage.l-homme.com/2011/11/evernote-et-ma-folksonomie-pour-le-marquage-par-etiquettes-tag/" target="_blank">mes conseils et rêgles</a>.</p>
<p>Bon environnement logiciel : client Android, intégration dans d&#8217;autres logiciels, etc. mais :</p>
<ul>
<li>Bizarrerie dans l&#8217;interface web :</li>
<ul>
<li>pas de lien interne entre les notes</li>
<li>pas d&#8217;édition sur double-clic</li>
<li>pas de reconnaissance automatique des liens HTTP</li>
<li>pas d&#8217;éditeur HTML pour corriger certaines erreur de capture (<a href="http://forum.evernote.com/phpbb/viewtopic.php?f=43&amp;t=28799" target="_blank">contournement possible par le forum développeur</a>)</li>
</ul>
<li>Nécessite le client lourd pour fusionner les notes (fonctionne sous Wine mais un peu lent)</li>
<li>Attention, le client lourd libre <a href="http://nevernote.sourceforge.net/" target="_blank">Nevernote</a> m&#8217;a pourri plusieurs notes en s’emmêlant dans l&#8217;encodage.</li>
</ul>
<p>Sinon :</p>
<ul>
<li><a href="http://www.memonic.com">Memonic</a> à surveiller de très prés ! Reverse du code, Python, schéma technique cohérent</li>
<li><a href="http://springpadit.com">Springpad</a> je connais des inconditionnels mais je ne supporte pas leur interface</li>
<li>Suppression de <a href="http://diigo.com" target="_blank">Diigo</a> car trop de problème de mise à jour des tags</li>
<li>Peut être une migration vers <a href="http://sourceforge.net/projects/semanticscuttle/">Semantic Scuttle</a> le jour où les imports fournis fonctionneront mais c&#8217;est limité aux marque-pages</li>
</ul>
<h3>Document</h3>
<p><a href="http://docs.google.com" target="_blank">Google docs</a> mais je surveille <a href="http://owncloud.org">Owncloud</a>.</p>
<p>Pour OwnCloud, je ne l&#8217;utilise pas car mon hébergement actuel est un peu trop juste pour la charge et même si les fonctionnalités sont encore un peu limitées on est bien au delà d&#8217;un google docs, c&#8217;est carrément un espace disque partagé.</p>
<h3>Lecteur RSS</h3>
<p><a href="http://rsslounge.aditu.de/">RSS Lounge</a> découvert grâce à <a href="http://dadall.dyndns.org/blog/index.php?post/2011/08/18/Comme-se-faire-son-Google-monde">Dada</a>. Avec ces 2 hacks : <a href="http://code.google.com/p/rsslounge/issues/detail?id=63" target="_blank">63</a> et <a href="http://code.google.com/p/rsslounge/issues/detail?id=81" target="_blank">81</a> (de moi !), c&#8217;est parfait &#8230; et rapide !</p>
<p>J&#8217;ai eu plusieurs brefs passages par <a href="http://tt-rss.org">Tiny Tiny RSS</a> mais c&#8217;est vraiment trop lent.</p>
<h3>Photos</h3>
<p><a href="http://picasa.google.com/" target="_blank">Google Picasa</a> à cause &#8230; du client lourd Picasa pour la gestion des visages, le partage gratuit, la synchronisation des répertoires, la gestion des tags et du <a href="https://market.android.com/details?id=com.google.android.apps.plus" target="_blank">client Android pour Google+</a>.</p>
<p>J&#8217;envisage <a href="http://fr.piwigo.org/">Piwigo</a> à terme.</p>
]]></content:encoded>
			<wfw:commentRss>http://tatouage.l-homme.com/2011/11/ma-configuration-internet-de-novembre-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evernote et ma folksonomie pour le marquage par étiquettes (tag)</title>
		<link>http://tatouage.l-homme.com/2011/11/evernote-et-ma-folksonomie-pour-le-marquage-par-etiquettes-tag/</link>
		<comments>http://tatouage.l-homme.com/2011/11/evernote-et-ma-folksonomie-pour-le-marquage-par-etiquettes-tag/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 23:52:27 +0000</pubDate>
		<dc:creator>rangzen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[evernote]]></category>
		<category><![CDATA[tag]]></category>

		<guid isPermaLink="false">http://tatouage.l-homme.com/?p=177</guid>
		<description><![CDATA[Comment j'utilise Evernote et ma folksonomie pour le marquage par étiquettes (tag) <a href="http://tatouage.l-homme.com/2011/11/evernote-et-ma-folksonomie-pour-le-marquage-par-etiquettes-tag/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div>
<p><strong>Utilisation générale</strong></p>
<ul>
<li>Créer deux catégories : <em>Classées</em> et <em>A traiter</em></li>
<li>Dans les propriétés de <em>A traiter</em>, cocher &#8220;Définir comme carnet de notes par défaut&#8221;</li>
<li>Une fois mises en page, taguées, fusionnées, regrouper, etc. les notes passent dans Classées.</li>
<li>Ne pas utiliser d&#8217;autre catégorie
<ul>
<li>pas de problème de double classement</li>
<li>facilité de migration vers un autre service</li>
</ul>
</li>
</ul>
<p><strong>Étiquette (tag)</strong></p>
<ul>
<li>Affecter au moins un tag par note</li>
<li><a id="" href="http://fr.wikipedia.org/wiki/Racinisation" shape="rect" target="_blank">Raciniser</a> (<a id="" href="http://en.wikipedia.org/wiki/Stemming" shape="rect" target="_blank">stemming</a>) au maximum les tags. Ne pas créer de tag unique : «Si je crée ce tag, est ce que je vais m&#8217;en servir qu&#8217;une ou deux fois ?»</li>
<li>Un tag qui commence par @ est un tag de commande :
<ul>
<li>@check it later : à vérifier plus tard (exemple : commentaire sur un blog)</li>
<li>@favoris : les notes dont je me sers très souvent</li>
<li>@node : annuaire, point de départ sur un sujet (Racine du mot en titre : Python, Agile, etc.)</li>
<li>@read it later : à lire plus tard (exemple : un article long, une conférence TED, etc.)</li>
<li>@revolving : à vérifier tous les &#8220;<em>tant&#8221;, </em>souvent 1 fois par semaine (forum, page de websérie, etc.)</li>
<li>@running : en cours de traitement</li>
<li>@TODO : contient des choses à faire</li>
</ul>
</li>
<li>Un tag qui commence par # est un tag de type
<ul>
<li>#carte de visite</li>
<li>#dessin</li>
<li>#plan</li>
<li>#projet</li>
</ul>
</li>
</ul>
</div>
<div><strong>Référence</strong></div>
<div><a id="" href="http://en.wikipedia.org/wiki/Tag_%28metadata%29" shape="rect" target="_blank">http://en.wikipedia.org/wiki/Tag_%28metadata%29</a></div>
<div><a id="" href="http://en.wikipedia.org/wiki/Folksonomy" shape="rect" target="_blank">http://en.wikipedia.org/wiki/Folksonomy</a></div>
<div><a id="" href="http://en.wikipedia.org/wiki/Stemming" shape="rect" target="_blank">http://en.wikipedia.org/wiki/Stemming</a></div>
]]></content:encoded>
			<wfw:commentRss>http://tatouage.l-homme.com/2011/11/evernote-et-ma-folksonomie-pour-le-marquage-par-etiquettes-tag/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Récupérer sa «queue de skill» pour EveOnLine sans Evemon ou un autre client</title>
		<link>http://tatouage.l-homme.com/2011/10/recuperer-sa-%c2%abqueue-de-skill%c2%bb-pour-eveonline-sans-evemon-ou-un-autre-client/</link>
		<comments>http://tatouage.l-homme.com/2011/10/recuperer-sa-%c2%abqueue-de-skill%c2%bb-pour-eveonline-sans-evemon-ou-un-autre-client/#comments</comments>
		<pubDate>Fri, 28 Oct 2011 23:06:46 +0000</pubDate>
		<dc:creator>rangzen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[EVE Online]]></category>

		<guid isPermaLink="false">http://tatouage.l-homme.com/?p=167</guid>
		<description><![CDATA[Votre programme préféré n'est pas à jour des nouvelles APIs, vous n'êtes pas sur votre PC habituel, vous aimez le plain text, etc. ? <a href="http://tatouage.l-homme.com/2011/10/recuperer-sa-%c2%abqueue-de-skill%c2%bb-pour-eveonline-sans-evemon-ou-un-autre-client/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div>Votre programme préféré n&#8217;est pas à jour des nouvelles APIs, vous n&#8217;êtes pas sur votre PC habituel, vous aimez le <a href="http://en.wikipedia.org/wiki/Plain_text" target="_blank">plain text</a>, etc. ?</div>
<div>Voilà comment faire :</div>
<ul>
<li>Se rendre sur <a href="https://support.eveonline.com/api">https://support.eveonline.com/api</a></li>
<li>Cliquer sur «Create API Key»</li>
<li>Donner un nom (exemple : XMLover) et cocher «SkillInTraining»</li>
<li>Vous avez maintenant un ID et un code de vérification associé</li>
<li>Récupérer l&#8217;ID du personnage qui vous interresse sur les logs (à <a href="https://support.eveonline.com/api/Key/Log">https://support.eveonline.com/api/Key/Log</a>) ou avec <a href="https://api.eveonline.com/account/Characters.xml.aspx?keyID=&amp;vCode=">https://api.eveonline.com/account/Characters.xml.aspx?keyID=[ID]&amp;vCode=[Verification Code]</a> dans le champ «characterID»</li>
<li>Placer ces infos dans l&#8217;adresse <a href="https://api.eveonline.com/char/SkillInTraining.xml.aspx?keyID=&amp;vCode=&amp;characterID=">https://api.eveonline.com/char/SkillInTraining.xml.aspx?keyID=[ID]&amp;vCode=[Verification Code]&amp;characterID=[characterID]</a></li>
<li>«Et voilà !»</li>
</ul>
<div>Si vous êtes sur un ordinateur de confiance (ou si vous êtes un naturiste virtuel), enregistrer un marque page.</div>
<div>Pour d&#8217;autres fonctionnalités : <a href="http://wiki.eveonline.com/en/wiki/Category:API">http://wiki.eveonline.com/en/wiki/Category:API</a></div>
]]></content:encoded>
			<wfw:commentRss>http://tatouage.l-homme.com/2011/10/recuperer-sa-%c2%abqueue-de-skill%c2%bb-pour-eveonline-sans-evemon-ou-un-autre-client/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

