<?xml version="1.0" encoding="UTF-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
<title type="html">l&#039;Emacsien virulent</title>
<subtitle type="html">De tout et surtout de n&#039;importe quoi</subtitle>
<link href="http://www.etenilsrealm.nl/weblog/feed.php?atom" rel="self" type="application/atom+xml"/>
<link href="http://www.etenilsrealm.nl/weblog/" rel="alternate" type="text/html"/>
<updated>2010-08-21T13:40:00-01:00</updated>
<id>urn:md5:2ce3be467cde407f89e3be46649b14c6</id>
<generator uri="http://pluxml.org/">PluXml 4.3.1-2
</generator>
<entry>
	<title>Nouveau serveur, mettez votre feed a jour!</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article90/nouveau-serveur-mettez-votre-feed-a-jour"/>
	<id>urn:md5:a5eef5a9d37c9a9521ec0dc448de8410</id>
	<updated>2010-08-21T13:40:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>Accueil</dc:subject>
	<content type="html">&lt;p&gt;
Salut à toutes et à tous, je viens de mettre en marche mon nouveau serveur, et de fait le blog a donc déménagé. Il est à présent accessible à &lt;a href=&quot;http://etenil.thruhere.net&quot;&gt;http://etenil.thruhere.net&lt;/a&gt;. N&#039;oubliez pas de mettre à jour vos feeds RSS!
&lt;/p&gt;</content>
</entry>
<entry>
	<title>Mise au point sur la liberté logicielle</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article89/mise-au-point-sur-la-liberte-logicielle"/>
	<id>urn:md5:6ce1f42b7bb00a32fc9d6cd7ab23f576</id>
	<updated>2010-08-15T23:23:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>Logiciel libre</dc:subject>
	<content type="html">&lt;p class=&quot;center&quot;&gt;
&lt;a target=&quot;_blank&quot; href=&quot;data/images/cages.jpg&quot;&gt;&lt;img src=&quot;data/images/cages.jpg.tb&quot; alt=&quot;De jolies cages&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Les libristes ayant tout étudié du sujet de la liberté informatique s&#039;y retrouvent sans aucune difficulté. Ils connaissent sur le bout des doigts les avantages du logiciel libre et vous énoncent sans hésitation pourquoi les logiciels propriétaires (ou privateurs) sont à éviter à tout prix.
&lt;/p&gt;

&lt;p&gt;
Néanmoins pour la plupart des gens, ce n&#039;est pas si évident. Il y a même un grand nombre de connaisseurs de la question qui ne comprennent pas le bien être fondamental du logiciel libre.
&lt;/p&gt;

&lt;p&gt;
Etant un libriste moi même, et assez radical, je vais néanmoins tenter de répondre aux questions que je rencontre souvent chez les non-initiés. J&#039;espère de tout coeur que cela sera utile à ceux pour qui les valeurs du libre sont floues, et aux autres qui auront un jour ou l&#039;autre à répondre à de telles questions.
&lt;/p&gt;&lt;p&gt;
J&#039;aurais bien entendu pu me contenter de reprendre simplement un des discours de &lt;a href=&quot;http://fr.wikipedia.org/wiki/Richard Stallman&quot; target=&quot;_blank&quot;&gt;Richard Stallman&lt;/a&gt; pour écrire cet article, mais je sens que les propos du maitre ont été si repris et rabachés que certains n&#039;y prêtent même plus attention. De plus, j&#039;ai une expérience des logiciels libres différente de celle de RMS, et ma contribution n&#039;en sera, je l&#039;espère, que bénéfique.
&lt;/p&gt;

&lt;h3&gt;Le logiciel libre&lt;/h3&gt;
&lt;p&gt;
Tout d&#039;abord, et même si c&#039;est barbant, redéfinissons le logiciel libre. Il s&#039;agit de n&#039;importe quel programme qui est distribué dans le respect de l&#039;utilisateur final. Tout d&#039;abord il faut que l&#039;utilisateur puisse utiliser le logiciel comme bon lui semble. C&#039;est du bon sens; si on achète un outil quelconque, on peut l&#039;utiliser pour faire ce que l&#039;on veut. 
&lt;/p&gt;

&lt;p&gt;
Tout le monde sait que les logiciels ne sont jamais parfaits. Ca n&#039;est pas nouveau, les logiciels ont toujours eu des problèmes, ou bugs. De nos jours, les programmes sont devenus si complexes qu&#039;on peut aisément répertorier bon nombre de problèmes. Ces problèmes sont toujours gênants car ils peuvent empêcher l&#039;utilisateur d&#039;utiliser le logiciel. Pour cette raison, l&#039;utilisateur doit pouvoir modifier le programme. Il en découle que l&#039;utilisateur doit avoir accès au code source du logiciel.
&lt;/p&gt;

&lt;p&gt;
Les deux derniers points sont des points difficile à comprendre pour de nombreuses personnes. Ils nécessitent une remise en question de ce que l&#039;on nous a appris depuis qu&#039;on a de l&#039;argent de poche. Tout petits, nos parents nous ont toujours incités à prêter nos jouets et les échanger. Cela fait partie de la vie en société; les amis se rendent des services et s&#039;entraident et le bonheur de l&#039;un profite aux autres. Pour qu&#039;une société soit en bonne santé, ces échanges sains doivent exister. Or la nature d&#039;un logiciel fait qu&#039;il n&#039;est pas aisé de le prêter ou échanger. Il est très facile à copier. C&#039;est même idéal, car ainsi tous les amis peuvent profiter et partager en même temps. Pour le bien de la société et le respect de l&#039;utilisateur, on ne peut donc pas l&#039;empècher de copier et redistribuer le logiciel.
&lt;/p&gt;

&lt;p&gt;
Enfin, si une personne fait des modifications sur un logiciel, il est naturel qu&#039;elle en fasse profiter ses amis. Les utilisateurs doivent donc pouvoir redistribuer leurs modifications.
&lt;/p&gt;

&lt;p&gt;
Cette redéfinition du logiciel libre nous sera utile pour répondre aux quelques questions/objections habituelles que j&#039;ai relevé sur le sujet.
&lt;/p&gt;

&lt;h4&gt;Je ne suis pas programmeur&lt;/h4&gt;
&lt;p&gt;
Voici bien une objection que j&#039;ai très souvent rencontré. Il est vrai bien entendu que la plupart des gens ne savent pas programmer. Pour ces personnes, il n&#039;y a donc pas d&#039;intérêt à pouvoir modifier le logiciel. Néanmoins le logiciel libre garantit aussi qu&#039;elles pourront l&#039;utiliser comme elles le souhaitent et le redistribuer. Le droit de modifier le logiciel s&#039;applique indirectement pour ces personnes. Comme il y a beaucoup de monde dans ce cas la, elles pourraient se grouper et payer un programmeur pour régler les bugs du logiciel ou avoir un ami programmeur qui pourra les dépanner.
&lt;/p&gt;

&lt;h4&gt;Tu présume que le logiciel propriétaire est nuisible&lt;/h4&gt;
&lt;p&gt;
J&#039;ai entendu celle ci souvent aussi. Elle sort d&#039;habitude après qu&#039;un libriste ait énoncé sa volonté de ne pas utiliser un logiciel propriétaire. Cette objection est inexacte, le logiciel propriétaire n&#039;est pas présumé nuisible, il est nuisible, car il restreint l&#039;utilisateur au profit du développeur et en cela nuit à l&#039;utilisateur ou sa communauté.
&lt;/p&gt;

&lt;h4&gt;Les logiciels suivent la théorie de l&#039;évolution; seule la performance compte&lt;/h4&gt;
&lt;p&gt;
Les logiciels ne suivent bien évidemment pas la théorie de l&#039;évolution, sinon personne n&#039;aurait d&#039;iphone, et windows aurait coulé depuis bien longtemps. La société humaine, avec toutes ses lois et contraintes est émancipée de l&#039;évolution, et les logiciels en sont issus. Le marketing prime certainement, mais il me suffit de me remémorer ce que j&#039;ai vu en entreprise pour rire de &quot;la performance&quot;.
&lt;/p&gt;

&lt;h4&gt;Les logiciels libres sont un artifice communiste&lt;/h4&gt;
&lt;p&gt;
C&#039;est archi faux. L&#039;éco-système du libre est ultra-compétitif et n&#039;a rien de communiste. De plus, dans le bloc soviétique, les copies de document étaient interdites. Le logiciel libre se rapproche davantage d&#039;un capitalisme libéral extrême que des cocos.
&lt;/p&gt;

&lt;h4&gt;Les logiciels libres tuent les emplois&lt;/h4&gt;
&lt;p&gt;
En fait c&#039;est l&#039;inverse. Le logiciel libre ouvre sur la programmation en tant que service. C&#039;est déjà une réalité en entreprise, ou un développeur est engagé pour modifier un système informatique existant. Libre ne veut pas dire gratuit, et des boites comme redhat font leur beurre sur le développement de logiciels libres et le service. Cela veut dire que plus de programmeurs seront nécessaire, donc plus d&#039;emplois. Cela veut aussi dire que certains gagneront moins. Je suis programmeur moi-même, et je préfère gagner moins avec le logiciel libre que gagner un pont d&#039;or en faisant des logiciels qui vont aliéner leurs utilisateurs.
&lt;/p&gt;

&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;
Beaucoup de ceux qui parlent de liberté informatique n&#039;ont pas d&#039;expérience de ce dont ils parlent. Ils prèchent pour leur paroisse. Dans mon travail, je ressens l&#039;emprisonnement des logiciels propriétaires tous les jours. Je parle d&#039;emprisonnement à proprement parler, car les logiciels de l&#039;entreprise ont du être étendus et modifiés, seulement ils ne sont pas libres.
&lt;/p&gt;

&lt;p&gt;
Dans bien des cas, cela c&#039;est traduit par une impossibilité pure et dure, et les utilisateurs en souffrent tous les jours et doivent utiliser des procédures tordues et dénuées de sens pour faire leur travail. Dans d&#039;autre cas, il a fallu développer des daemons ou des programmes tiers pour pallier les écueils des programmes originaux. Il n&#039;y a pas un jour qui passe sans qu&#039;on se dise que si on avait pris des logiciels libres il y a quelques années, le système informatique de l&#039;entreprise serait optimal aujourd&#039;hui.
&lt;/p&gt;

&lt;p&gt;
La frustration est un bon vaccin. J&#039;étais déjà un fervent défenseur des logiciels libres auparavant, et cette expérience m&#039;a fait un effet similaire à l&#039;imprimante de Richard Stallman. Je ne me laisserais pas emprisonner; je n&#039;utiliserais pas de logiciels propriétaires.
&lt;/p&gt;</content>
</entry>
<entry>
	<title>Du nouveau du coté d&#039;OpenSolaris</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article88/du-nouveau-du-cote-d-opensolaris"/>
	<id>urn:md5:24f5e2561977cdc75512b3412b49385f</id>
	<updated>2010-08-04T09:42:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>Logiciel libre</dc:subject>
	<content type="html">&lt;p class=&quot;center&quot;&gt;
&lt;img src=&quot;data/images/logos/opensolaris.png&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
OpenSolaris est un système d&#039;exploitation (presque) libre issu de l&#039;ouverture de Solaris par Sun. Toute une communauté travaille dessus et certaines entreprises s&#039;en servent afin de créer des distributions basées sur OpenSolaris: Belenix, Nexenta etc.
&lt;/p&gt;

&lt;p&gt;
Seulement, depuis l&#039;acquisition de Sun par Oracle l&#039;année dernière, Oracle n&#039;a à priori pas travaillé sur OpenSolaris et n&#039;a pas sorti de nouvelle version à la date fixée, il y a près d&#039;un an. Face au manque de communication de la part d&#039;Oracle, la communauté d&#039;OpenSolaris et en particulier les distributions associées commencent sérieusement à s&#039;inquiéter.
&lt;/p&gt;

&lt;p&gt;
L&#039;assemblée communautaire d&#039;OpenSolaris a donc lancé un ultimatum à Oracle pour qu&#039;ils se prononcent sur l&#039;avenir du système d&#039;exploitation. Cet ultimatum n&#039;est pas encore fini, mais Oracle n&#039;a toujours pas répondu.
&lt;/p&gt;

&lt;p&gt;
Nexenta, une des distributions d&#039;OpenSolaris a quant à elle décidée de prendre le taureau par les cornes et de forker OpenSolaris sous le nom Illumos. Leur but est de créer une distribution fondatrice (comme debian par exemple) et uniquement maintenue par la communauté. Ils sont pour le moment en train de ré-écrire les morceaux non-libres d&#039;OpenSolaris en tant que logiciels libres, de manière à obtenir un système d&#039;exploitation entièrement libre.
&lt;/p&gt;

&lt;p&gt;
Donc croisons les doigts pour qu&#039;Illumos décolle, et j&#039;espère pouvoir tester Illumos rapidement!
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;Source: &lt;a href=&quot;http://www.illumos.org&quot;&gt;Illumos.org&lt;/a&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;/p&gt;</content>
</entry>
<entry>
	<title>J2EE - partie 1</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article87/j2ee-partie-1"/>
	<id>urn:md5:162e9bd23287ffda34e4eda6cc7f4520</id>
	<updated>2010-07-24T16:41:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>Tutoriel</dc:subject>
	<content type="html">&lt;p class=&quot;center&quot;&gt;
&lt;img src=&quot;data/images/logos/java_logo.gif&quot; alt=&quot;Logo de Java&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Ça faisait longtemps que ça me titillait, et j&#039;ai finalement décidé de m&#039;y mettre: j&#039;ai commencé à programmer des applications web en java.
&lt;/p&gt;

&lt;p&gt;
Qu&#039;on se le dise, ça n&#039;est pas par pur plaisir. En effet, une grande part du marché de la programmation repose sur java et ses serveurs d&#039;application (Tomcat, JBoss etc.).
&lt;/p&gt;

&lt;p&gt;
Étant donné que la chose n&#039;est pas des plus simples (PHP c&#039;est quand même bien à installer...), j&#039;ai décidé d&#039;en faire une série de tutos pour vous mâcher le travail, bande de veinards.
&lt;/p&gt;&lt;p&gt;
Qu&#039;on se le dise: installer et utiliser un serveur d&#039;application java n&#039;est pas simple. On peut même dire que c&#039;est la grosse misère. Surtout si comme moi on est allergique à Éclipse et qu&#039;on va donc pouvoir tout se taper à la main. Mais place aux explications.
&lt;/p&gt;

&lt;h2&gt;Installation&lt;/h2&gt;
&lt;p&gt;
Tout d&#039;abord, il faut choisir son serveur. J&#039;avais tout d&#039;abord choisi JBoss, qui a l&#039;air très sérieux. Mais sa non-inclusion dans les paquets de la distro le rend encore plus difficile à installer. Du coup je me suis tourné vers Tomcat, qui est quand même plus simple.
&lt;/p&gt;

&lt;p&gt;
Pour installer Tomcat dans RedHat/CentOS, il faut installer les paquets suivants:
&lt;/p&gt;

&lt;div class=&quot;code&quot;&gt;
# yum install tomcat5 tomcat5-webapps tomcat5-admin-webapps
&lt;/div&gt;

&lt;p&gt;
Une chiée de dépendances vont suivre, mais ayez confiannncee...
&lt;/p&gt;

&lt;p&gt;
Une fois le bousin installé, on peut démarrer le serveur avec la commande:
&lt;/p&gt;

&lt;div class=&quot;code&quot;&gt;
# /etc/init.d/tomcat5 start
Starting tomcat5:                            [ OK ]
&lt;/div&gt;

&lt;p&gt;
Ensuite, on peut se balader sur &lt;a href=&quot;http://localhost:8080&quot;&gt;http://localhost:8080&lt;/a&gt; pour y accéder et voir les trucs d&#039;administration.
&lt;/p&gt;

&lt;h2&gt;Les trucs d&#039;administration&lt;/h2&gt;
&lt;p&gt;
Pour pouvoir accéder aux modules d&#039;administration, il va falloir ruser car leur accès est désactivé par défaut. Pour cela, ouvrez le fichier de configuration de Tomcat:
&lt;/p&gt;

&lt;div class=&quot;code&quot;&gt;
# $EDITOR /etc/tomcat5/tomcat-users.xml
&lt;/div&gt;

&lt;p&gt;
Il va falloir changer le contenu de:
&lt;/p&gt;

&lt;div class=&quot;code&quot;&gt;
&amp;lt;?xml version=&#039;1.0&#039; encoding=&#039;utf-8&#039;?&amp;gt;
&amp;lt;tomcat-users&amp;gt;
  &amp;lt;role rolename=&quot;tomcat&quot;/&amp;gt;
  &amp;lt;role rolename=&quot;role1&quot;/&amp;gt;
  &amp;lt;user username=&quot;tomcat&quot; password=&quot;tomcat&quot; roles=&quot;tomcat&quot;/&amp;gt;
  &amp;lt;user username=&quot;both&quot; password=&quot;tomcat&quot; roles=&quot;tomcat,role1&quot;/&amp;gt;
  &amp;lt;user username=&quot;role1&quot; password=&quot;tomcat&quot; roles=&quot;role1&quot;/&amp;gt;
&amp;lt;/tomcat-users&amp;gt;
&lt;/div&gt;

&lt;p&gt;
à
&lt;/p&gt;

&lt;div class=&quot;code&quot;&gt;
&amp;lt;?xml version=&#039;1.0&#039; encoding=&#039;utf-8&#039;?&amp;gt;
&amp;lt;tomcat-users&amp;gt;
  &amp;lt;role rolename=&quot;manager&quot;/&amp;gt;
  &amp;lt;role rolename=&quot;tomcat&quot;/&amp;gt;
  &amp;lt;role rolename=&quot;admin&quot;/&amp;gt;
  &amp;lt;role rolename=&quot;role1&quot;/&amp;gt;
  &amp;lt;user username=&quot;both&quot; password=&quot;tomcat&quot; roles=&quot;tomcat,role1&quot;/&amp;gt;
  &amp;lt;user username=&quot;tomcat&quot; password=&quot;tomcat&quot; roles=&quot;tomcat&quot;/&amp;gt;
  &amp;lt;user username=&quot;admin&quot; password=&quot;admin&quot; roles=&quot;admin,manager&quot;/&amp;gt;
  &amp;lt;user username=&quot;role1&quot; password=&quot;tomcat&quot; roles=&quot;role1&quot;/&amp;gt;
&amp;lt;/tomcat-users&amp;gt;
&lt;/div&gt;

&lt;p&gt;
On redémarre le serveur:
&lt;/p&gt;

&lt;div class=&quot;code&quot;&gt;
# /etc/init.d/tomcat5 restart
&lt;/div&gt;

&lt;p&gt;
Maintenant, on peut retourner sur la page par défaut du serveur, puis cliquer sur &quot;Tomcat Manager&quot;, qui permet de voir les applications web disponibles et de les contrôler. Enregistrez vous avec admin, admin.
&lt;/p&gt;

&lt;p&gt;
Je vous laisse découvrir l&#039;interface (fort simple), et passons à une étape de programmation du Hello, World!
&lt;/p&gt;

&lt;h2&gt;Le Hello, world&lt;/h2&gt;
&lt;p&gt;
A présent, on va tenter d&#039;écrire notre premier servlet. Et vous allez voir que ce n&#039;est pas aussi simple qu&#039;on le voudrait. Tout d&#039;abord, il faut créer une arborescence qui va bien dans le dossier d&#039;applications de Tomcat. Nous allons créer une application &quot;Test&quot;. L&#039;arborescence est comme suit:
&lt;/p&gt;

&lt;pre&gt;
|-- WEB-INF
|   |-- classes
|   |-- lib
|   |-- src
|   `-- web.xml
|-- bin
`-- src
&lt;/pre&gt;

&lt;p&gt;
Pour créer cette arborescence, faites comme suit:
&lt;/p&gt;

&lt;div class=&quot;code&quot;&gt;
# mkdir -p Test/{WEB-INF/{classes,lib,src},bin,src}
&lt;/div&gt;

&lt;p&gt;
Maintenant, nous allons nous attaquer à la falaise en écrivant notre servlet. Ce sera donc une classe assez simple qui écrira &quot;Hello, World!&quot; dans la page web. On va inclure cette classe dans le package &lt;em&gt;com.servlet.test&lt;/em&gt;. Les servlets doivent être placés dans le dossier WEB-INF/classes. On va donc devoir créer cette arborescence dans ce dossier et y créer notre code source: DoIt.java. L&#039;arborescence se présente comme suit:
&lt;/p&gt;

&lt;pre&gt;
classes/
`-- com
    `-- servlet
        `-- test
            `-- DoIt.java
&lt;/pre&gt;

&lt;div class=&quot;code&quot;&gt;
[classes]# mkdir -p com/servlet/test
&lt;/div&gt;

&lt;p&gt;
Le contenu de notre classe DoIt.java est:
&lt;/p&gt;

&lt;div class=&quot;code&quot;&gt;
package com.servlet.test;
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class DoIt extends HttpServlet {

  public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException {
    response.setContentType(&quot;text/html&quot;);
    PrintWriter out = response.getWriter();
    out.println(&quot;&amp;lt;h1&amp;gt;Hello, World!&amp;lt;/h1&amp;gt;&quot;);
  }

}
&lt;/div&gt;

&lt;p&gt;
Le code est, je trouve, assez simple à comprendre. Hormis toute la lourdeur dûe aux imports et déclaration de classe. On définit le contenu de ce qui sortira du servlet (text/html), on attrappe le flux de sortie, puis on y écrit simplement &quot;Hello, World!&quot;.
&lt;/p&gt;

&lt;p&gt;
On va maintenant compiler le bousin. Je dois dire que ça m&#039;a pris un moment avant d&#039;y arriver. C&#039;est en fait assez simple. Il suffit de préciser au compilateur java d&#039;utiliser les libs de tomcat comme suit:
&lt;/p&gt;

&lt;div class=&quot;code&quot;&gt;
[test]# javac -classpath /usr/share/java/tomcat5-servlet-2.4-api.jar DoIt.java
&lt;/div&gt;

&lt;p&gt;
Ce qui nous crée notre servlet: DoIt.class. On va maintenant devoir dire à Tomcat de se servir de ce servlet lorsqu&#039;on arrivera sur cette application. Pour cela, il faut créer le fichier WEB-INF/web.xml et y mettre:
&lt;/p&gt;

&lt;div class=&quot;code&quot;&gt;
&amp;lt;web-app&amp;gt;
  &amp;lt;servlet&amp;gt;
    &amp;lt;servlet-class&amp;gt;com.servlet.test.DoIt&amp;lt;/servlet-class&amp;gt;
    &amp;lt;servlet-name&amp;gt;firstServlet&amp;lt;/servlet-name&amp;gt;
  &amp;lt;/servlet&amp;gt;
  &amp;lt;servlet-mapping&amp;gt;
    &amp;lt;servlet-name&amp;gt;firstServlet&amp;lt;/servlet-name&amp;gt;
    &amp;lt;url-pattern&amp;gt;/&amp;lt;/url-pattern&amp;gt;
  &amp;lt;/servlet-mapping&amp;gt;
&amp;lt;/web-app&amp;gt;
&lt;/div&gt;

&lt;p&gt;
Tout ce bout de code déclare le servlet &quot;firstServlet&quot; comme la classe &lt;em&gt;com.servlet.test.DoIt&lt;/em&gt; (la classe qu&#039;on a compilé). Ensuite, on spécifie au serveur d&#039;utiliser ledit servlet pour la racine du répertoire (/).
&lt;/p&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;
Voilà, j&#039;espère que ça vous a bien plu car ça m&#039;a prit presque tout l&#039;après midi pour pondre cet article. Notez que les tutos sur J2E se poursuivront. Bon courage à tous ceux qui comme moi galèrent avec cet environnement ;-).
&lt;/p&gt;</content>
</entry>
<entry>
	<title>Ecrire des dialogues avec LaTeX</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article86/ecrire-des-dialogues-avec-latex"/>
	<id>urn:md5:5d8504aeac49532b9ba2f0f4df2b0c99</id>
	<updated>2010-07-13T14:51:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>Tutoriel</dc:subject>
	<content type="html">&lt;p class=&quot;center&quot;&gt;
&lt;img src=&quot;data/images/logos/latex-logo.png&quot; alt=&quot;Logo de LaTeX&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Salut à toutes et tous. Pour mon retour de vacances, un petit tutoriel LaTeX en forme de &lt;a href=&quot;http://fr.wikipedia.org/wiki/livre dont vous êtes le héros&quot; target=&quot;_blank&quot;&gt;livre dont vous êtes le héro&lt;/a&gt;! Bonne lecture!
&lt;/p&gt;&lt;p&gt;
On vous le dit partout: &lt;a href=&quot;http://fr.wikipedia.org/wiki/LaTeX&quot; target=&quot;_blank&quot;&gt;LaTeX&lt;/a&gt; c&#039;est le bien! Avide d&#039;en apprendre plus sur ce logiciel au nom biscornu, vous vous êtes enfin décidé de vous y mettre, et force est de constater que LaTeX c&#039;est bien.
&lt;/p&gt;

&lt;p&gt;
Seulement maintenant, vous aimeriez bien écrire des choses intéressantes avec votre beau LaTeX tout neuf. Eh oui, les &lt;em&gt;lorem ipsum&lt;/em&gt;, ça va bien cinq minutes. Vous décidez donc d&#039;embrayer sur un petit roman de votre cru. Et là, c&#039;est le drame: LaTeX ne connaît pas la typographie Française! Pire, il ne connaît même pas les caractères accentués!
&lt;/p&gt;

&lt;p&gt;
Juste avant de jeter votre ordinateur par la fenêtre et de piquer une poupée vaudou symbolisant &lt;a href=&quot;http://fr.wikipedia.org/wiki/Donald Knuth&quot; target=&quot;_blank&quot;&gt;Donald Knuth&lt;/a&gt;, vous avez la présence d&#039;esprit de rechercher &quot;LaTeX français&quot; sur Internet et découvrez le paquet babel. Ouf, votre ordinateur soupire de soulagement.
&lt;/p&gt;

&lt;p&gt;
Remis de ces quelques émotions, vous vous attaquez à la butte et commencez allègrement la rédaction de votre &amp;oelig;uvre.
&lt;/p&gt;

&lt;p&gt;
Dès la première page pourtant, vous vous heurtez à un problème supplémentaire: LaTeX ne sait pas faire de dialogues. Vous savez ces blocs de textes dans des guillemets où chaque tirade est précedée d&#039;un tiret quadratin (ah, les joyeusetés de la langue Française...).
&lt;/p&gt;

&lt;p&gt;
Pris de panique, vous vous apprêtez une fois de plus à faire subir le supplice de la planche à votre ordinateur. Heureusement, vous êtes tombé sur mon blog, et c&#039;est pile le bon article.
&lt;/p&gt;

&lt;p&gt;
Pour pallier au casse-tête des dialogues dans LaTeX, j&#039;ai donc fait un environnement custom pour emballer le truc dans des guillemets et espaces insécables, ainsi qu&#039;une nouvelle commande pour insérer le tiret quadratin. C&#039;est assez simple et s&#039;utilise comme une liste; et donc d&#039;un format familier à tout utilisateur de LaTeX.
&lt;/p&gt;

&lt;p&gt;
Pour l&#039;utiliser, rien de compliqué, il suffit d&#039;insérer ces lignes dans l&#039;en-tête du document:
&lt;/p&gt;

&lt;div class=&quot;code&quot;&gt;
\documentclass[a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[francais]{babel}
\usepackage[T1]{fontenc}

%% Environnement dialogue, affiche le contenu entre guillemets.
\newenvironment{dialogue}{«~}{~»}
%% Une commande pour afficher les tirades.
\newcommand{\dire}{---~}
&lt;/div&gt;

&lt;p&gt;
Ensuite, pour l&#039;utiliser, il faut faire comme suit:
&lt;/p&gt;

&lt;div class=&quot;code&quot;&gt;
\begin{dialogue}
  Encore une panne d&#039;oreiller ce matin? Vous avez bien failli être en
  retard cette fois-ci.\\
  \dire Ah bonjour Mathilde. Oui, vous savez, après dix ans d&#039;efforts
  pour se lever à l&#039;heure, ça devient difficile. Et vous, quoi de neuf?\\
  \dire Oh, rien de nouveau. Ah, il y a de la nouveauté dans le
  bureau. Je ne vous en dis pas plus, vous le saurez bien assez tôt,
  fit-elle avec un sourire en coin.
\end{dialogue}
&lt;/div&gt;

&lt;p&gt;
N&#039;oubliez pas le &lt;strong&gt;\\&lt;/strong&gt; à la fin de chaque tirade pour qu&#039;elles soient bien agencées. Notez aussi que la première ligne ne doit pas comporter de &lt;strong&gt;\dire&lt;/strong&gt; pour être conforme à la typographie Française.
&lt;/p&gt;</content>
</entry>
<entry>
	<title>Google nous a roulé dans la farine</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article85/google-nous-a-roule-dans-la-farine"/>
	<id>urn:md5:64424dc2637b34025554303316489d46</id>
	<updated>2010-06-30T10:45:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>Pas content!</dc:subject>
	<content type="html">&lt;p class=&quot;center&quot;&gt;
&lt;a target=&quot;_blank&quot; href=&quot;data/images/poisson_farine.jpg&quot;&gt;&lt;img src=&quot;data/images/poisson_farine.jpg.tb&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;small&gt;&lt;i&gt;Photo de &lt;a href=&quot;http://www.flickr.com/photos/joebeone/3634384538/&quot;&gt;Joebeone&lt;/a&gt;, CC-by&lt;/i&gt;&lt;/small&gt;
&lt;/p&gt;

&lt;p&gt;
Google nous avait fait tout un foin il y a quelques temps au sujet de la liberté d&#039;expression et patati patata, et  comme ils l&#039;avaient soi-disant mauvaise car ils s&#039;étaient pris du buttsecks au verre pilé et gros sel par le gouvernement Chinois, ils avaient donc fait leurs gros rebelz en dé-constipant leurs résultats de recherche. Chose qui avait moyennement plu aux fonctionnaires de l&#039;empire du milieu, qui comme tout le monde sait aiment ce qui est bridé.
&lt;/p&gt;

&lt;p&gt;
Seulement quelques temps après cette envolée digne de &lt;a href=&quot;http://fr.wikipedia.org/wiki/Robin des bois&quot; target=&quot;_blank&quot;&gt;Robin des bois&lt;/a&gt; qui vole l&#039;information pour la donner librement &lt;del&gt;aux dissidents&lt;/del&gt; au peuple, Google est revenu gentiment en arrière.
&lt;/p&gt;&lt;p&gt;
Apparemment l&#039;envie de s&#039;offrir un testicule en platine était plus forte que la nouvelle éthique mise en avant par la firme. Et donc Google a remis en marche son moteur de recherche en version filtrée sans plus sourciller.
&lt;/p&gt;

&lt;p&gt;
Il faut rappeler qu&#039;à l&#039;époque ou Google s&#039;était pris pour le Batman de la liberté, l&#039;entreprise se prenait des volées de bois vert d&#039;un peu partout du fait de sa politique de protection de la vie privée discutable, son filtrage en Chine, son comportement big-brotheresque inquiétant, son détournement de logiciel libre etc. Beaucoup de casserolles au cul donc qu&#039;ils ont vite fait bien fait jeté sur un ennemi ancestral du capitalisme rampant (ou du moins ce qu&#039;en apprennent les gentils américains en se faisant bourrer le mou à &quot;l&#039;école&quot;).
&lt;/p&gt;

&lt;p&gt;
Je suis loin d&#039;être un fan du gouvernement Chinois (c&#039;est une &lt;a href=&quot;http://fr.wikipedia.org/wiki/litote&quot; target=&quot;_blank&quot;&gt;litote&lt;/a&gt;), mais je sais encore reconnaître un bouc émissaire quand j&#039;en vois un, et beaucoup de doutes planaît à l&#039;époque (le crackage de gmail restant une raison plausible).
&lt;/p&gt;

&lt;p&gt;
Donc pour conclure, Google montre une fois de plus sa nature, qui est ni plus moins la même que les autres entreprise: faire du blé à tous prix. Le mieux est alors de faire comme moi et ne pas prêter attention à la devise d&#039;une entreprise.
&lt;/p&gt;</content>
</entry>
<entry>
	<title>Se débarrasser des fourmis</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article84/se-debarrasser-des-fourmis"/>
	<id>urn:md5:98477a29c629b8c201daf46360983132</id>
	<updated>2010-06-28T22:17:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>Ma vie</dc:subject>
	<content type="html">&lt;p class=&quot;center&quot;&gt;
&lt;img src=&quot;data/images/ants.jpg&quot; alt=&quot;Fourmis&quot; /&gt;&lt;br/&gt;
&lt;small&gt;&lt;i&gt;Photo par &lt;a href=&quot;http://www.flickr.com/photos/pandiyan/140191136/&quot;&gt;Pandiyan&lt;/a&gt;, CC-by-NC&lt;/i&gt;&lt;/small&gt;
&lt;/p&gt;

&lt;p&gt;
Aaah, les fourmis, des petites fouineuses qui s&#039;avèrent particulièrement casse-pied quand elles décident d&#039;annexer votre logement.
&lt;/p&gt;

&lt;p&gt;
J&#039;ai scruté le web pour lutter contre ces invités indésirables. Il y a une pléthore de repoussants potentiels mais certains ne marchent pas vraiment. Pour s&#039;en débarrasser, une seule solution. Suivez le guide!
&lt;/p&gt;&lt;p&gt;
Les fourmis, comme beaucoup d&#039;insectes n&#039;aiment pas les choses épicés, la &lt;a href=&quot;http://fr.wikipedia.org/wiki/Capsaïcine&quot; target=&quot;_blank&quot;&gt;Capsaïcine&lt;/a&gt;, qui est pour eux un irritant. De fait, on peut mettre du poivre là où les fourmis cherchent et vous les verrez courrir hors de la zone poivrée la queue entre les jambes (ou presque).
&lt;/p&gt;

&lt;p&gt;
Seulement les petites bestioles sont têtues, et elles essayeront de contourner la zone poivrée. Si comme pour moi elles passent par une fenêtre, vous êtes cuit, elles vont passer par les montants. Et bien sur le poivre ne colle pas lui.
&lt;/p&gt;

&lt;p&gt;
Du coup, voici une formule maison pour faire du jus de piment. On peut aussi l&#039;utiliser pour faire du spray au poivre, mais les fourmis n&#039;ont pas encore essayé de me voler mon porte-feuille.
&lt;/p&gt;

&lt;p&gt;
Il va vous falloir les ingrédients suivants:
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;du piment de cayenne ou le plus fort possible&lt;/li&gt;
&lt;li&gt;de l&#039;eau bouillante ou bien de l&#039;alcool pur&lt;/li&gt;
&lt;li&gt;de l&#039;huile&lt;/li&gt;
&lt;li&gt;du papier absorbant&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
D&#039;abord broyez vos piments en poudre ou coupez les en petits bouts si vous n&#039;avez pas de mortier. Si vous avez opté pour l&#039;eau bouillante, mettez ça dans un gobelet ou un verre qui résiste aux chocs thermiques, sinon un verre quelconque fera l&#039;affaire. Ajoutez votre eau/alcool et touillez bien.
&lt;/p&gt;

&lt;p&gt;
Pour l&#039;eau bouillante, laissez bien refroidir (et donc infuser). Pour l&#039;alcool, laissez quelques minutes. Ajoutez un peu d&#039;huile (1/4 d&#039;huile) et agitez bien le mélange pour faire une sorte d&#039;émulsion.
&lt;/p&gt;

&lt;p&gt;
Enfin, roulez votre papier absorbant en cône et placez le sur un autre verre. Versez doucement votre solution dans le filtre et laissez filtrer. Après filtration, vous obtenez votre jus de piment. Vous pouvez le tester si ça vous dis, mais pas sur moi!
&lt;/p&gt;

&lt;p&gt;
Badigeonnez votre piment sur le contour de votre fenêtre et les fourmis ne devraient plus entrer du tout.
&lt;/p&gt;</content>
</entry>
<entry>
	<title>Flash nous offre une bouffée d&#039;air frais</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article83/flash-nous-offre-une-bouffee-d-air-frais"/>
	<id>urn:md5:9e9bbf030c79423a054d201886a73fe3</id>
	<updated>2010-06-28T21:14:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>De tout</dc:subject>
	<content type="html">&lt;p class=&quot;center&quot;&gt;
&lt;img src=&quot;data/images/nullplugin.jpg&quot; alt=&quot;Pas de plugin&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Salut à tous pour cet article très court.
&lt;/p&gt;

&lt;p&gt;
Vous n&#039;êtes pas sans savoir qu&#039;Adobe a récemment décidé d&#039;enlever les versions 64bits de son &lt;del&gt;ver&lt;/del&gt; logiciel. Je n&#039;en connais pas la raison précise, mais ayant récemment nettoyé mon ordinateur en 64bits, j&#039;ai donc remarqué que beaucoup de sites inutiles ne fonctionne plus, me permettant ainsi de me concentrer sur mon travail :(
&lt;/p&gt;

&lt;p&gt;
Mais pourquoi parle-je de flash ici? Eh bien parce que ce retrait de flash 64bit est également un bénéfice pour les standards ouverts. En effet, cela démontre à tous ceux qui ne le savaient pas que flash n&#039;est pas un standard et ne doit pas être considéré comme tel.
&lt;/p&gt;</content>
</entry>
<entry>
	<title>De la vente de jeux sous GNU/Linux</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article82/de-la-vente-de-jeux-sous-gnu-linux"/>
	<id>urn:md5:b7a03124a7584ace550caa0677abf709</id>
	<updated>2010-06-26T05:36:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>Pas content!</dc:subject>
	<content type="html">&lt;p class=&quot;center&quot;&gt;
&lt;img src=&quot;data/images/echecs_chinois.jpg&quot; alt=&quot;Jeu d&#039;échecs Chinois&quot; /&gt;&lt;br/&gt;
&lt;small&gt;&lt;em&gt;Photo par &lt;a href=&quot;http://www.flickr.com/photos/kevsunblush/&quot;&gt;Kevsunblush&lt;/a&gt;, CC-by-NC&lt;/em&gt;&lt;/small&gt;
&lt;/p&gt;

&lt;p&gt;
Salut à tous! Après avoir passé une très mauvaise nuit m&#039;ayant rendu passablement grognon (ce qui ne changera pas de d&#039;habitude, me direz vous), j&#039;ai décidé de lire un peu les nouvelles de l&#039;Internet. Et de tomber sur &lt;a href=&quot;http://games.slashdot.org/story/10/06/25/214220/Hemisphere-Games-Reveals-emOsmosem-Linux-Sales-Numbers&quot;&gt;un article slashdot&lt;/a&gt; qui m&#039;a achevé.
&lt;/p&gt;

&lt;p&gt;
Voici une traduction dudit texte faite main rien que pour vous, mes fidèles lecteurs que j&#039;aime:
&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;
Hemisphere Games a analysé les ventes de leur port sous Linux du jeu Osmos puis s&#039;est demandé &amp;laquo;est-ce que ça vaut le coup de porter des jeux sous Linux?&amp;raquo; La réponse simple et courte est &amp;laquo;oui&amp;raquo;. Les détails dans la suite.
&lt;/p&gt;

&lt;p&gt;
D&#039;autres détails sont intéressants: porter le jeu a prit environ 2 mois de travail pour un seul homme, le jour de la sortie de la version Linux a vu leurs meilleures ventes, et ils on reçu un intérêt suprenant de la Russie et les pays d&#039;Europe de l&#039;Est. Leurs données reflètent les ventes depuis leur site, et pointent vers &amp;laquo;le manque d&#039;un portail de vente central pour Linux en fait un système d&#039;exploitation bien moins attirant pour le développement commercial.&amp;raquo;. Espèrons qu&#039;un jour le fameux client Steam pour Linux aidera à changer la donne.
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
Nom d&#039;une pipe, ils manquent pas d&#039;air, venir polluer notre système libre avec leurs bousins propriétaires (ne vous laissez pas avoir par le &amp;laquo;commercial&amp;raquo;) ne leur suffit pas, voilà que maintenant ils veulent nous faire utiliser un système bidon, propriétaire aussi et pété de DRM: &lt;a href=&quot;http://fr.wikipedia.org/wiki/Steam&quot; target=&quot;_blank&quot;&gt;Steam&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
C&#039;est d&#039;une mauvaise foi d&#039;autant plus flagrante qu&#039;ils ont vendu de nombreux jeux sur leur site officiel, comme communiqué. Il y a de nombreux systèmes de vente en ligne libre, je connais même un module Drupal rien que pour ça! Non contents d&#039;avoir pu vendre un max de jeux pour les utilisateurs de GNU/Linux, ils osent venir se plaindre! Mais qui les retient d&#039;investir une paire de &amp;laquo;man-months&amp;raquo; supplémentaires et d&#039;étendre un des logiciels libres de vente en ligne pour en faire un beau portail de vente de jeux vidéos comme ils aiment bien. Quelle ingratitude! On a l&#039;impression qu&#039;ils veulent que tout leur soit mâché. La communauté du Libre n&#039;est pas Microsoft ni Apple, t&#039;es pas chez mémé, si un truc te manque, tu le fais!
&lt;/p&gt;</content>
</entry>
<entry>
	<title>Recadrage: Libre et ses contre-sens</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article81/recadrade-libre-et-ses-contre-sens"/>
	<id>urn:md5:23339f31f1df431871dea99347b8662b</id>
	<updated>2010-06-24T11:35:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>Pas content!</dc:subject>
	<content type="html">&lt;p class=&quot;center&quot;&gt;
&lt;a href=&quot;http://www.flickr.com/photos/settebart/2302931468/&quot;&gt;&lt;img src=&quot;data/images/mouette.jpg&quot; alt=&quot;Un oiseau libre&quot; /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;small&gt;&lt;em&gt;Image par &lt;a href=&quot;http://www.flickr.com/photos/settebart/2302931468/&quot;&gt;7Bart&lt;/a&gt;&lt;/em&gt;&lt;/small&gt;
&lt;/p&gt;

&lt;p&gt;
Lors de &lt;del&gt;mon moulage&lt;/del&gt; ma collecte d&#039;information quotidienne, j&#039;ai souvent constaté la confusion entre le terme &lt;em&gt;Libre&lt;/em&gt; et d&#039;autres non-appropriés. Cet article a pour but d&#039;examiner ces termes et de rappeler pourquoi ils ne sont pas convenables pour parler du Libre. Je sais que c&#039;est de la redite, mais apparemment, il y a besoin.
&lt;/p&gt;&lt;h3&gt;Open Source&lt;/h3&gt;
&lt;p&gt;
Commençons par le plus chiant. Le terme open-source a été à l&#039;origine créé pour pallier à la confusion entre &lt;em&gt;free&lt;/em&gt; = libre et &lt;em&gt;free&lt;/em&gt; = gratuit en anglais. De toute évidence, ce terme n&#039;a aucune utilité en Français, ou libre et gratuit ne portent pas à confusion.
&lt;/p&gt;

&lt;p&gt;
Open source ne devrait donc être employé que très spécifiquement lorsqu&#039;on parle de l&#039;&lt;a href=&quot;http://fr.wikipedia.org/wiki/OSI&quot; target=&quot;_blank&quot;&gt;OSI&lt;/a&gt; ou bien que l&#039;on veut pointer l&#039;orientation politique des développeurs d&#039;un logiciel. Il ne faut pas oublier que l&#039;Open source est une branche du Libre.
&lt;/p&gt;

&lt;h3&gt;Libre de droit&lt;/h3&gt;
&lt;p&gt;
Celle la je l&#039;ai rencontré souvent. D&#039;après &lt;a href=&quot;http://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Ressources_libres&quot;&gt;Wikipédia&lt;/a&gt;, &lt;em&gt;libre de droit&lt;/em&gt; est un terme venant du monde de la photographie signifiant qu&#039;on n&#039;a pas à payer l&#039;auteur pour l&#039;utilisation de la photographie. C&#039;est la traduction mot-à-mot de &lt;em&gt;royalty-free&lt;/em&gt;.
&lt;/p&gt;

&lt;p&gt;
On peut aussi le comprendre en tant que &quot;chose non-soumise au droit d&#039;auteur&quot;, ce qui est idiot car seulement ce qui est dans le domaine public n&#039;est pas soumis au droit d&#039;auteur.
&lt;/p&gt;

&lt;p&gt;
Hors le logiciel libre n&#039;est pas &quot;libre de droit&quot;. En fait il repose sur le droit d&#039;auteur et l&#039;auteur d&#039;un logiciel libre peut exiger rémunération (vendre le logiciel libre). Veillez donc à ne pas employer ce terme ambigu.
&lt;/p&gt;

&lt;h3&gt;Propriété intellectuelle&lt;/h3&gt;
&lt;p&gt;
Il s&#039;agit d&#039;un terme particulièrement ambigu que les marketeux et avocats de tous poils aiment utiliser car ça fait &quot;trop classe comment je suis trop compétent que même un grand requin blanc n&#039;est pas autant un squale que moi.&quot;
&lt;/p&gt;

&lt;p&gt;
En fait, ce terme regroupe à la fois trademark, droit d&#039;auteur et brevets. Chacun de ces items ont des spécificités et problèmes très différents et ne peuvent absolument pas être traités comme une entité.
&lt;/p&gt;

&lt;p&gt;
A titre d&#039;exemple, le droit d&#039;auteur couvre une réalisation, alors que les brevets couvrent une méthode ou une idée. Ce n&#039;est pas du tout la même chose alors les catégoriser ensemble n&#039;apporte que davantage de confusion.
&lt;/p&gt;

&lt;h3&gt;Logiciel commercial&lt;/h3&gt;
&lt;p&gt;
Celle la va être courte. Les logiciels libres peuvent être employés commercialement ainsi que vendus etc. Ils sont donc des logiciels commerciaux au même titre que les logiciels propriétaires.
&lt;/p&gt;

&lt;h3&gt;Piratage / Pirate&lt;/h3&gt;
&lt;p&gt;
Aaaah, le meilleur pour la fin. Pour ceux d&#039;entre vous qui ne le sauraient pas &lt;em&gt;oui, même toi là bas au fond qui bosse pour Univers sale&lt;/em&gt;, un pirate c&#039;est ça:
&lt;/p&gt;

&lt;p class=&quot;center&quot;&gt;
&lt;img src=&quot;data/images/pirate1.jpg&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Ou éventuellement ça:
&lt;/p&gt;

&lt;p class=&quot;center&quot;&gt;
&lt;img src=&quot;data/images/pirate2.jpg&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Mais ça n&#039;est certainement pas un utilisateur d&#039;Internet qui copie des fichiers. D&#039;ailleurs &lt;a href=&quot;http://www.youtube.com/watch?v=WKYyYSufZJc&quot;&gt;copier n&#039;est pas voler&lt;/a&gt;, donc partager des fichiers quels qu&#039;ils soient sur Internet n&#039;a absolument rien à voir avec la piraterie.
&lt;/p&gt;</content>
</entry>
<entry>
	<title>KDE3</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article80/kde3"/>
	<id>urn:md5:51cf3c264df2773cc550b05c60894d06</id>
	<updated>2010-06-23T09:34:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>Logiciel libre</dc:subject>
	<content type="html">&lt;p class=&quot;center&quot;&gt;
&lt;img src=&quot;data/images/kde3-logo.png&quot; alt=&quot;Logo de KDE&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Ces derniers temps, j&#039;ai discuté avec nombres de personnes plus jeunes que moi. Outre le sentiment de vieillesse qui m&#039;éprit, force est de constater que beaucoup de choses qui me paraîssent acquises sont inconnues des petits jeunes.
&lt;/p&gt;

&lt;p&gt;
L&#039;une de ces choses est le vénérable KDE3. Alors pour mes jeunes lecteurs (et les vieux aussi si vous aimez ma prose), je me suis décidé de faire un article pour rétro-présenter KDE3.
&lt;/p&gt;&lt;p&gt;
Commençons par le début: KDE3 ressemble à ça:
&lt;/p&gt;

&lt;p class=&quot;center&quot;&gt;
&lt;a target=&quot;_blank&quot; href=&quot;data/images/screenshots/kde3.png&quot;&gt;&lt;img src=&quot;data/images/screenshots/kde3.png.tb&quot; alt=&quot;Ecran de KDE3&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Alors oui, c&#039;est plus moche que KDE4, et c&#039;est plus vieux. Par contre c&#039;est stable et on s&#039;y retrouve relativement bien. Tous les logiciels ont un comportement &lt;em&gt;classique&lt;/em&gt; et réagissent comme sur d&#039;autres DE. KDE4 a quant à lui des paradigmes bizarroïdes qui rebuteront l&#039;utilisateur occasionel.
&lt;/p&gt;

&lt;p&gt;
A son époque, KDE3 était très populaire de par sa similitude avec l&#039;interface de Windows et sa pléthore de logiciels disponibles. Il était alors recommandé aux débutants et inclus par défaut dans de nombreuses distributions comme Mandrake ou Suse.
&lt;/p&gt;

&lt;p&gt;
Désormais, c&#039;est GNOME qui détient ce rôle, et KDE4 introduit trop de changements d&#039;un coup pour Mme Michu.
&lt;/p&gt;

&lt;p&gt;
Voilà, donc un article très court (il faut que je pense à travailler aussi). Il est difficile d&#039;expliquer des choses comme un DE. Je vous conseille à tous de l&#039;essayer, ne serait-ce que pour votre culture informatique. Il est toujours disponible sur &lt;a href=&quot;http://fr.wikipedia.org/wiki/Mepis&quot; target=&quot;_blank&quot;&gt;Mepis&lt;/a&gt; ainsi que &lt;a href=&quot;http://fr.wikipedia.org/wiki/Debian&quot; target=&quot;_blank&quot;&gt;Debian&lt;/a&gt; stable, et probablement d&#039;autres distributions.
&lt;/p&gt;</content>
</entry>
<entry>
	<title>J&#039;en ai une grosse!</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article79/j-en-ai-une-grosse"/>
	<id>urn:md5:6d52098fd31cb55d4ad0ca3eca66d208</id>
	<updated>2010-06-17T21:06:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>Ma vie</dc:subject>
	<content type="html">&lt;p&gt;
Ayant eu des problèmes de poignet récemment, j&#039;ai dû me débarasser de ma souris. En effet, la douleur était si intense que je ne pouvais même plus poser ma main sur ma souris. Du coup, j&#039;ai utilisé ma souris de la main gauche pour la journée.
&lt;/p&gt;

&lt;p&gt;
La douleur s&#039;est passée dans la soirée, mais craignant l&#039;apparition d&#039;un &lt;a href=&quot;http://fr.wikipedia.org/wiki/Troubles_musculosquelettiques&quot;trouble musculosquelettique&lt;/a&gt;, j&#039;ai décidé de prendre le problème par les cornes et me suis procuré une &lt;strong&gt;grosse boule&lt;/strong&gt;!
&lt;/p&gt;

&lt;p class=&quot;center&quot;&gt;
&lt;img src=&quot;data/images/trackball.jpg&quot; alt=&quot;Mon trackball&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Si l&#039;usage du trackball est particulièrement déroutant au début, il possède néanmoins d&#039;indéniables avantages.
&lt;/p&gt;&lt;p&gt;
Il est très sensible par rapport à une souris. Ma souris était pourtant assez précise, mais j&#039;ai du baisser la sensiblité de moitié pour le trackball. La boule ne demande qu&#039;à rouler aussi, et au début il est déliquat de garder le pointeur stable. Cela est dû à un réflexe de relâcher la boule pour cliquer du pouce, et fait bouger la boule avant de cliquer.
&lt;/p&gt;

&lt;p&gt;
Après quelques jours d&#039;utilisation, on commence à être précis avec. J&#039;ai maintenant la même précision qu&#039;avec ma souris, même si je suis toujours plus lent.
&lt;/p&gt;

&lt;p&gt;
En fait, pointer de l&#039;index (en bougeant la boule) est très naturel. On pointe tous de l&#039;index les choses, et on utilise ce même doigt pour les tâches de précision, alors que la souris demande des mouvements de poignet. Ça parait sans importance, mais beaucoup de troubles du poignet proviennent de la souris, comme le syndrôme du canal carpien (qui peut nécessiter opération.
&lt;/p&gt;

&lt;p&gt;
Avec le trackball, la main ne bouge pas et le poignet est fixe sur la partie noire en bas (que j&#039;aimerais molletonée, mais bon...). Seuls les doigts bougent, et au final c&#039;est plus confortable. J&#039;ai même utilisé ce machin pour jouer, et ça fonctionne. En fait c&#039;est même mieux, car on ne fait plus de grands mouvements de poignet pour recaler la souris.
&lt;/p&gt;

&lt;p&gt;
Voilà, donc si comme moi vous craignez les problèmes de poignet, n&#039;hésitez pas et foncez! Il y a même des modèles avec la boule au pouce, ou bien avec la boule qui fait aussi molette.
&lt;/p&gt;</content>
</entry>
<entry>
	<title>Parcellite</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article78/parcellite"/>
	<id>urn:md5:234c2c329a93a4f8e598d0e9324b3106</id>
	<updated>2010-06-15T10:35:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>Logiciel libre</dc:subject>
	<content type="html">&lt;p class=&quot;center&quot;
&lt;img src=&quot;data/images/clipboard.jpg&quot; alt=&quot;Un presse-papier&quot; /&gt;&lt;br/&gt;
&lt;small&gt;&lt;em&gt;Image de &lt;a href=&quot;http://www.flickr.com/photos/wheatfields/264892247/&quot;&gt;Net_efekt&lt;/a&gt;, CC-by-NC-SA&lt;/em&gt;&lt;/small&gt;
&lt;/p&gt;

&lt;p&gt;
J&#039;ai trouvé au fil de mon moulage quotidien &lt;a href=&quot;http://linuxfr.org/~yeKcim/29831.html&quot;&gt;cet article&lt;/a&gt; sur DLFP ou le monsieur pas content peste contre ces vilaines distributions grand public qui n&#039;incluent pas son logiciel favori: &lt;a href=&quot;http://parcellite.sourceforge.net/&quot;&gt;parcellite&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Pour ceux qui se poseraient la question, ça n&#039;a rien à voir avec de la cellulite. Parcellite enregistre ce qui vous copiez, et même ce que vous sélectionnez en vue de le coller plus tard. Il se souvient même des x derniers éléments copiés, et comble un problème de Gnome.
&lt;/p&gt;

&lt;p&gt;
En effet, bug ou pas bug, Gnome oublie les machins copiés sitôt l&#039;application qui contient le texte à coller est fermée. Ce comportement peut être particulièrement énervant, et donc parcellite est une bonne solution. J&#039;avais déjà essayé glipper pour ça, mais parcellite ne plante pas au moins.
&lt;/p&gt;

&lt;p&gt;
Donc voilà, si comme moi vous aimez Gnome, jetez un oeil à Parcellite. L&#039;essayer, c&#039;est l&#039;adopter!
&lt;/p&gt;</content>
</entry>
<entry>
	<title>Du nouveau pour PHPTextDB</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article77/du-nouveau-pour-phptextdb"/>
	<id>urn:md5:c3dcbfb0f7771a85a5a8d5967a204190</id>
	<updated>2010-06-15T08:32:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>Codage</dc:subject>
	<content type="html">&lt;p class=&quot;center&quot;&gt;
&lt;img src=&quot;data/images/papier.jpg&quot; alt=&quot;Beaucoup de papier&quot; /&gt;&lt;br /&gt;
&lt;small&gt;&lt;em&gt;Photo par &lt;a href=&quot;http://www.flickr.com/photos/orinrobertjohn/2188277801/&quot;&gt;Orin Zebest&lt;/a&gt;, CC-by&lt;/em&gt;&lt;/small&gt;
&lt;/p&gt;

&lt;p&gt;
Salut à tous!
&lt;/p&gt;

&lt;p&gt;
Conscient d&#039;un sérieux problème d&#039;allocation mémoire pour mon projet de BDD, j&#039;ai modifié le comportement du bousin de façon conséquente. Du coup, il ne charge désormais plus les tables en mémoire pour faire son travail. Il n&#039;a en fait qu&#039;une seule ligne en mémoire au maximum.
&lt;/p&gt;

&lt;p&gt;
Si ça améliore grandement le risque de dépassement de capacité mémoire de PHP, ça n&#039;est pas sans coût. Voyons un peu les performances.
&lt;/p&gt;&lt;p&gt;
Voici une série de benchmarks entre l&#039;ancienne version et la nouvelle. Le benchmark est exécuté 10 fois pour chaque version. Un benchmark consiste en 500 additions, 500 modifications aléatoires et 500 lectures. Chaque partie est mesurée ainsi que le temps total.
&lt;/p&gt;

&lt;p&gt;
Ma configuration matérielle est un phenom II x4 810 à 2.65GHz, 4Go de RAM, un Disque dur Sata II très standard (probablement 7200t/m). Mon système d&#039;exploitation est Fedora 13 avec PHP 5.3.2. Enfin, mon disque dur est formaté en ext4.
&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;&lt;/th&gt;
      &lt;th colspan=&quot;4&quot;&gt;Old&lt;/th&gt;
      &lt;th colspan=&quot;4&quot;&gt;New&lt;/th&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;run&lt;/th&gt;
      &lt;th&gt;Inserts&lt;/th&gt;
      &lt;th&gt;Updates&lt;/th&gt;
      &lt;th&gt;Select&lt;/th&gt;
      &lt;th&gt;Total&lt;/th&gt;
      &lt;th&gt;Inserts&lt;/th&gt;
      &lt;th&gt;Updates&lt;/th&gt;
      &lt;th&gt;Select&lt;/th&gt;
      &lt;th&gt;Total&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot;&gt;1&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;0.067831&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;4.448655&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;3.970845&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;8.487359&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;0.062392&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;6.457106&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;5.046361&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;11.565885&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot;&gt;2&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;0.060607&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;4.423389&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;3.931294&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;8.415319&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;0.059992&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;6.674605&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;4.913438&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;11.648064&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot;&gt;3&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;0.061770&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;4.439799&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;3.906782&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;8.408380&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;0.065914&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;6.508156&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;4.898536&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;11.472633&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot;&gt;4&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;0.064152&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;4.322745&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;3.915894&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;8.302816&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;0.065874&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;6.702431&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;4.640460&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;11.408792&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot;&gt;5&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;0.065438&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;4.684296&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;4.098114&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;8.847878&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;0.072750&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;6.524276&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;4.954894&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;11.551947&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot;&gt;6&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;0.064419&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;4.417275&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;3.949357&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;8.431082&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;0.071442&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;6.423577&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;4.903550&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;11.398594&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot;&gt;7&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;0.065387&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;4.514707&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;3.914814&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;8.494937&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;0.058960&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;6.407973&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;4.872633&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;11.339592&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot;&gt;8&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;0.074830&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;4.488467&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;3.977329&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;8.540653&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;0.075119&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;6.368927&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;4.720124&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;11.164198&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot;&gt;9&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;0.067941&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;4.442386&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;3.958499&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;8.468854&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;0.059483&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;6.385397&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;4.609893&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;11.054798&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot;&gt;10&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;0.069521&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;4.397215&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;3.937942&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;8.404707&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;0.065195&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;6.417185&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;4.919128&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;11.401534&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot;&gt;&lt;strong&gt;Average&lt;/strong&gt;&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;&lt;strong&gt;0.066190&lt;/strong&gt;&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;&lt;strong&gt;4.457893&lt;/strong&gt;&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;&lt;strong&gt;3.956087&lt;/strong&gt;&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;&lt;strong&gt;8.480198&lt;/strong&gt;&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;&lt;strong&gt;0.065712&lt;/strong&gt;&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;&lt;strong&gt;6.486963&lt;/strong&gt;&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;&lt;strong&gt;4.847902&lt;/strong&gt;&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;&lt;strong&gt;11.400604&lt;/strong&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot;&gt;&lt;strong&gt;Deviation&lt;/strong&gt;&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;&lt;strong&gt;0.004092&lt;/strong&gt;&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;&lt;strong&gt;0.094787&lt;/strong&gt;&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;&lt;strong&gt;0.055363&lt;/strong&gt;&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;&lt;strong&gt;0.144600&lt;/strong&gt;&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;&lt;strong&gt;0.005767&lt;/strong&gt;&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;&lt;strong&gt;0.117257&lt;/strong&gt;&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;&lt;strong&gt;0.142393&lt;/strong&gt;&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;&lt;strong&gt;0.181326&lt;/strong&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot;&gt;&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;&lt;/td&gt;
      &lt;td colspan=&quot;2&quot; align=&quot;right&quot;&gt;speed decrease&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;-0.72%&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;45.52%&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;22.54%&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;34.44%&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;
Notons que je n&#039;ai pas modifié du tout la logique de fontionnement de la bibliothèque, uniquement le stockage. On note une certain ralentissement, qui est sans doute dû à des ralentissement en I/O, un disque dur étant toujours plus lent que de la RAM.
&lt;/p&gt;

&lt;p&gt;
Il est intéressant de noter combien PHP est lent. À titre d&#039;exemple, &lt;a href=&quot;http://www.phoronix.com/scan.php?page=article&amp;item=fedora13_vs_ubuntu1004&amp;num=1&quot;&gt;PostgreSQL monte à 342 transactions par seconde sur un core i3&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
PHP a aussi certaines limitations qui ralentissent sensiblement le process, et en particulier les updates sur les données. En effet, un update consiste basiquement à éditer une ligne dans un fichier texte. Seulement ça se gâte si la ligne qu&#039;on veut mettre à la place ne fait pas même taille que l&#039;ancienne: PHP ne peut pas insérer du texte dans un fichier. Pour faire de même il faut soit mettre le fichier en mémoire (ce que je faisais avant), soit le copier ligne à ligne en appliquant les modifications (ce que je fais maintenant).
&lt;/p&gt;

&lt;p&gt;
Pour la suite, je vais essayer de me débarrasser du problème d&#039;insertion de texte de PHP. Pour cela, je vais fixer la taille des colonnes (pour les fans de SQL, ça consiste à faire des varchar(xx) plutot que des champs TEXT).
&lt;/p&gt;

&lt;p&gt;
Une fois la taille des colonnes fixée, je pourrais utiliser le curseur de fichier comme pointeur vers les lignes, et faire un index très facilement.
&lt;/p&gt;

&lt;p&gt;
J&#039;aimerais faire un index en &lt;a href=&quot;http://fr.wikipedia.org/wiki/B-Tree&quot; target=&quot;_blank&quot;&gt;B-Tree&lt;/a&gt;, mais la doc que j&#039;ai pour le moment est moins lisible que du Chinois. Je pense donc en faire un à ma façon dans un premier temps.
&lt;/p&gt;

&lt;p&gt;
Avec un bon index, les lectures et modifications devraient pouvoir être sérieusement améliorées pour les colonnes clés.
&lt;/p&gt;

&lt;p&gt;
Voilà, comme d&#039;habitude, &lt;a href=&quot;http://gitorious.org/phptextdb/&quot;&gt;vous pouvez voir et bidouiller mon code&lt;/a&gt;, et restez branchés sur le blog pour la suite!
&lt;/p&gt;</content>
</entry>
<entry>
	<title>Peut-on être trop libriste?</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article76/peut-on-etre-trop-libriste"/>
	<id>urn:md5:6a4b7a4efa547540f59e2551521bc56d</id>
	<updated>2010-06-12T00:00:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>Logiciel libre</dc:subject>
	<content type="html">&lt;p class=&quot;center&quot;&gt;
&lt;img src=&quot;data/images/rms_and_pdp.jpg&quot; alt=&quot;RMS joue de la flute a un papillon&quot; /&gt;
&lt;/p&gt;

&lt;h3&gt;Remise en contexte&lt;/h3&gt;

&lt;p&gt;
Le commun des mortels est du genre pragmatique. La fin justifie les moyens, quels qu&#039;ils soient. Les quelques olibrius qui décident tout à coup de s&#039;intéresser aux moyens sont piétinés par le reste de la société et classifiés parmi les utopistes casse-couilles. Ce n&#039;est pas nouveau. Qui s&#039;inquiète que sa paire de baskets soit fabriquée par des gamins de 10 ans payés à coup de trique?
&lt;/p&gt;&lt;p&gt;
La même chose existe dans le domaine de l&#039;informatique. Elle est même encore plus proche du peuple que l&#039;exemple précédent. Les logiciels privateurs (propriétaires) ne respectent pas l&#039;utilisateur final pour le profit du fabricant. Néanmoins, l&#039;utilisateur se venge en n&#039;en ayant rien a cirer et en craquant les logiciels propriétaires à tout va.
&lt;/p&gt;

&lt;p&gt;
Mais ce comportement est bien normal; après tout, il est on ne peut plus pragmatique. Le logiciel est employé dans un but particulier, sans aucune attention apportée au logiciel en lui-même. Certains trouvent cette façon de faire on ne peut plus naturelle.
Enfin c&#039;est mon avis.
&lt;/p&gt;

&lt;p&gt;
Le Libre est un courant très particulier dans le monde du logiciel, puisqu&#039;à contre-courant de la société, et ce depuis très longtemps. Il est composé d&#039;une bande de zigotos casse-pied qui passent leur temps à ronchonner que ce que fait la plupart des gens est mal. Faire partie de ce groupe est particulièrement épuisant à la fois pour le Libriste lui-même, et pour ses interlocuteurs.
&lt;/p&gt;

&lt;p&gt;
Les Libristes appliquent souvent à la lettre leurs propres doctrines et n&#039;utiliseront pas de programme non-libre. En cela, ils sont d&#039;un type masochiste qui préfère souffrir et rester moralement intègre que céder à l&#039;hédonisme primaire en se servant de ce qui leur tombe sous la main sans souffrance, mais avec arrières pensées.
&lt;/p&gt;

&lt;p&gt;
Lorsque les deux types d&#039;au-dessus se rencontre et discutent logiciel, ça finit bien souvent en eau de boudin, le Libriste se sentant incompris et Mr Tout-le-monde pensant avoir à faire à un extrêmiste.
&lt;/p&gt;

&lt;h3&gt;Un extrêmisme primaire?&lt;/h3&gt;

&lt;p&gt;
D&#039;où mon interrogation dans le titre: peut-on vraiment être trop Libriste? Est-il possible d&#039;être extêmiste du Libre? Avant tout, tentons de définir le degré de liberté d&#039;un logiciel. On passera sur le cas des Open-sourciens, qui sont à cheval entre les deux groupes et bien souvent classés parmis les libristes par Mr Tout-le-monde.
&lt;/p&gt;

&lt;p&gt;
Je ne vais pas vous refaire la leçon sur ce qu&#039;est un logiciel Libre, sinon on est encore là demain. Sa définition la plus commune est celle de la FSF, qui dit q&#039;un logiciel est libre si on peut:
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;l&#039;utiliser,&lt;/li&gt;
&lt;li&gt;l&#039;étudier,&lt;/li&gt;
&lt;li&gt;le modifier,&lt;/li&gt;
&lt;li&gt;le redistribuer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Selon cette définition même, il n&#039;y a qu&#039;un seul degré de liberté logicielle. Soit le logiciel est libre et satisfait aux précédentes règles, soit il ne l&#039;est pas. L&#039;éthique d&#039;un Libriste étant guidée par ces critères elle aussi, tout logiciel ne remplissant pas ces conditions est rejeté car non-libre.
&lt;/p&gt;

&lt;h3&gt;Une manière d&#039;être?&lt;/h3&gt;

&lt;p&gt;
En cela, être Libriste est d&#039;ores et déjà une forme d&#039;extrêmisme, la définition même du logiciel Libre étant binaire, on ne peut pas être plus extrême qu&#039;un autre Libriste. Néanmoins, dans la plupart des cas, on n&#039;est pas immédiatement catégorisé en tant que fanatique. Vient alors ma seconde interrogation; peut-on être aussi Libriste qu&#039;un autre mais sembler plus extrême par son comportement?
&lt;/p&gt;

&lt;p&gt;
Je pense que oui. Autant un partisan du Libre peut être frustré d&#039;une conversation avec une personne dépourvue d&#039;éthique logicielle, autant l&#039;inverse est vrai. Je pense que cette seconde catégorie de personne s&#039;attend à être écoutée sur la base que tout le monde pense comme eux. Ainsi, j&#039;ai de nombreux souvenirs de discussions barbantes au sujet de l&#039;iPhone ou de logiciels X que je ne connaissais pas. Étant poli et en minorité, j&#039;ai attendu patiemment la fin de la discussion pour changer de sujet plutôt que donner mon avis.
&lt;/p&gt;

&lt;p&gt;
Tout est alors dans la manière. Soit on met beaucoup d&#039;enrobage et on passe pour un doux rêveur, soit on met les pieds dans le plat et on est rangé juste en dessous d&#039;Al-Qaeda...
&lt;/p&gt;

&lt;h3&gt;Conclusion merdique&lt;/h3&gt;

&lt;p&gt;
Je pense que le fait que le concept du Libre est très à contre-courant de l&#039;idée consuméro-moutonesque du péquin moyen. De fait, l&#039;un comme l&#039;autre sont à deux extrêmes, qu&#039;ils le veuillent ou non, et il en résulte une grande difficulté de communication saine entre les deux parties (sur le thème des logiciels j&#039;entends).
&lt;/p&gt;

&lt;p&gt;
Si tant est qu&#039;entre ces deux catégories est venu s&#039;ajouter naturellement un tampon de personnes au comportement relativement schizophrène, qui aiment le Libre et en défendent les valeurs tout en utilisant et promouvant des logiciels privateurs (oui oui, ce sont les open-sourciens). Ce qui résulte en un ménage à trois pour le moins cocasse, avec les deux bouts qui ne se comprennent pas, les Libristes qui prennent de haut les open-sourciens, les Open-sourciens qui trouvent les Libristes trop extrêmes (alors que la définition du logiciel libre est binaire), et les autres qui bêlent.
&lt;/p&gt;

&lt;p&gt;
Je pense que Libristes et Open-sourciens sont nécessaires. Les uns sont garants des valeurs de liberté si précieuses dans notre monde, les autres ayant un profil attirant pour les utilisateurs lambda qui n&#039;ont pas été confrontés à l&#039;éthique logicielle. Je ne sais pas comment tout ceci va évoluer, mais j&#039;espère qu&#039;un jour on pourra enfin dire &lt;em&gt;&quot;Je n&#039;aime pas ce logiciel car il n&#039;est pas libre.&quot;&lt;/em&gt; sans être traité d&#039;extrêmiste!
&lt;/p&gt;</content>
</entry>
<entry>
	<title>PHPtextDB</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article75/phptextdb"/>
	<id>urn:md5:a76b602f5918f4c26feeabb97a2e5c56</id>
	<updated>2010-06-09T23:24:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>Codage</dc:subject>
	<content type="html">&lt;p class=&quot;center&quot;&gt;
&lt;a target=&quot;_blank&quot; href=&quot;data/images/comptes.jpg&quot;&gt;&lt;img src=&quot;data/images/comptes.jpg.tb&quot; alt=&quot;Rien que du texte!&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
J&#039;ai passé ces derniers temps à bosser sur un nouveau projet libre. Il s&#039;agit d&#039;une bibliothèque de base de données écrite entièrement en PHP. Mais venez donc faire le tour du propriétaire avec moi...
&lt;/p&gt;&lt;p&gt;
Il arrive assez souvent de ne pas avoir de base de données installée avec PHP; ou alors pas la bonne. Dans ce cas là, il faut se rabattre sur les programmes qui ne nécessitent pas de BDD, comme PluXML par exemple.
&lt;/p&gt;

&lt;p&gt;
PluXML n&#039;utilise pas de base de donnée, mais gère lui-même ses données dans des fichiers XML. C&#039;est pratique et ça fonctionne bien, mais ça a de nombreux inconvénients.
&lt;/p&gt;

&lt;p&gt;
Le premier c&#039;est que les fichiers XML contenant les données peuvent devenir très gros et sans une bonne indentation, ça devient impossible à lire (si on doit débugger ou bien bricoler des données). XML nécessite aussi un gros parseur; d&#039;ailleurs j&#039;ai entendu dire que XML peut être si complexe qu&#039;il n&#039;existe pas de parseur XML vraiment complet.
&lt;/p&gt;

&lt;p&gt;
Enfin, et certainement le point le plus ennuyeux dans PluXML en tout cas, la gestion des données n&#039;est pas détachée du moteur de blog. Ça rend le travail de maintenance et portage (le cas échéant) ardu et ennuyeux à mourrir.
&lt;/p&gt;

&lt;p&gt;
Maintenant que j&#039;ai fini de chier sur PluXML (pas taper, c&#039;était juste à titre d&#039;exemple!), passons à mon projet en mousse. Le but est donc d&#039;éviter les éceuils cités ci-dessus et de proposer une interface de programmation agréable et logique.
&lt;/p&gt;

&lt;p&gt;
L&#039;interface de programmation est assez pratique. Tout est en PHP (pas de SQL, pouah), les valeurs sont passées par des tableaux associatifs &lt;em&gt;colonne =&amp;gt; valeur&lt;/em&gt;. Certaines opérations peuvent être appliquées sur une partie des données en applicant des contraintes. Ces contraintes sont exprimées elles aussi par des tableaux associatifs (qui peuvent devenir compliqués) par exemple:
&lt;/p&gt;

&lt;div class=&quot;code&quot;&gt;
array(
    &#039;machin&#039; =&amp;gt; &#039;bidule&#039;,
    &#039;|truc&#039; =&amp;gt; &#039;&amp;lt;3&#039;,
    &#039;OR&#039; =&gt; array(
        &#039;machin&#039; =&amp;gt; &#039;!bidule&#039;,
        &#039;truc =&amp;gt; &#039;5&#039;,
        ),
    );
&lt;/div&gt;

&lt;p&gt;
Je vous en laisse deviner la signification... Je passe les détails car je me suis ennuyé à faire toute une documentation pour ça.
&lt;/p&gt;

&lt;p&gt;
Coté format maintenant, c&#039;est tout en texte et ça utilise le format &lt;a href=&quot;http://fr.wikipedia.org/wiki/CSV&quot; target=&quot;_blank&quot;&gt;CSV&lt;/a&gt;. Chaque table est un fichier texte, et les données y sont stockées telles quelles avec des point-virgules qui séparent les colonnes.
&lt;/p&gt;

&lt;p&gt;
Plusieurs utilisateurs peuvent accéder aux tables en même temps. Mais les opérations qui modifient une table créent un verrou qui permet d&#039;éviter les soucis. Le verrou est au niveau de la table, ce qui n&#039;est pas terrible, mais mieux que rien.
&lt;/p&gt;

&lt;p&gt;
Au niveau performance, je serais honnête en disant que ce n&#039;est pas terrible, Pour le moment, toute la table est lue en mémoire, gâchant pas mal de place et ralentissant sensiblement la base. Je pense implémenter des index en B-trees plus tard, mais pas pour l&#039;instant.
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;Mais pourquoi s&#039;être ennuyé à faire tout ça alors qu&#039;il y a déjà des machins qui le font?&lt;/em&gt; me direz vous. Eh bien, outre le fait que ça me permet de gagner en expérience (vivement que je devienne paladin libriste niveau 5!), ce projet va devenir la mule d&#039;un autre de mes projets: &lt;a href=&quot;http://home.gna.org/movicon/&quot;&gt;Movicon&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
J&#039;ai quand même tenu a le programmer à part car je pense qu&#039;il serait sans doute utile pour de nombreux projets qui souhaitent pouvoir être déployés sur toute installation de PHP.
&lt;/p&gt;

&lt;p&gt;
Enfin, un petit mot pour la route. La prochaine version de PHPtextDB comportera des index en B-trees, un serveur en PHP (pour dédier une machine ou l&#039;utiliser à distance) et j&#039;aimerais jeter un oeil à du clustering (&lt;em&gt;MER IL ET FOU&lt;/em&gt;).
&lt;/p&gt;

&lt;p&gt;
Pour les aventuriers et les paladins Libristes lvl 5+, vous pouvez zieuter au &lt;a href=&quot;http://gitorious.org/phptextdb/&quot;&gt;code source du bestiau&lt;/a&gt;. Et bonne continuation à tous!
&lt;/p&gt;</content>
</entry>
<entry>
	<title>Utiliser sqlite avec C++</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article74/utiliser-sqlite-avec-c"/>
	<id>urn:md5:6d4dfbd2a60aeaa32ea1ff6313fad363</id>
	<updated>2010-06-08T11:54:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>Codage</dc:subject>
	<content type="html">&lt;p class=&quot;center&quot;&gt;
&lt;img src=&quot;data/images/typematrix.jpg&quot; alt=&quot;Mon clavier&quot; /&gt;&lt;br/&gt;
Si si, c&#039;est mon clavier.
&lt;/p&gt;

&lt;p&gt;
Salut les moules! Aujourd&#039;hui, petit article tuto sur l&#039;utilisation de sqlite avec C++. Enfin, l&#039;utilisation que j&#039;en fais en tous cas.
&lt;/p&gt;&lt;p&gt;
Défonçons d&#039;abord les portes ouvertes. &lt;a href=&quot;http://fr.wikipedia.org/wiki/SQLite&quot; target=&quot;_blank&quot;&gt;SQLite&lt;/a&gt; est une base de donnée portable qui n&#039;est en fait qu&#039;une bibliothèque et est donc très pratique à utiliser.
&lt;/p&gt;

&lt;p&gt;
SQLite est écrite en C et est prévue pour être utilisée en C aussi. Ce n&#039;est pas un gros soucis, mais le mieux est de faire un wrapper en C++ qui sente bon le propre.
&lt;/p&gt;

&lt;p&gt;
Bon en ce qui me concerne, j&#039;ai fait très simple, puisque j&#039;ai une classe qui se charge d&#039;éxecuter du code SQL (en le passant à SQLite), et elle en renvoie une autre qui se charge d&#039;interprêter les résultats et les rendre utilisables.
&lt;/p&gt;

&lt;p&gt;
Pour rentrer dans le vif du sujet, voici un bout de code pour exécuter sa requête:
&lt;/p&gt;

&lt;div class=&quot;code&quot;&gt;
char **result;
char *err;
int nrow, ncol, last_error;

sqlite3 *db_handle;
sqlite3_open(&quot;machin.db&quot;, &amp;db_handle);

string statement = &quot;SELECT * FROM test;&quot;;
  
last_error = sqlite3_get_table(db_handle,
                               statement.c_str(),
                               &amp;result,
                               &amp;nrow,
                               &amp;ncol,
                               &amp;err);
if(err != NULL) {
  last_msg = string(err);
} else {
  last_msg = &quot;&quot;;
}

if(last_error != SQLITE_OK) {
  return 1;
}

/// Converting the crappy C-style array to a vector.
// Table
vector&amp;lt; vector&amp;lt;string&amp;gt; &amp;gt; data;

// Processing the table if necessary.
if(nrow &amp;gt; 0) {
  rows_pointer = -1;

  // Processing the results.
  for(int i = 0; i &amp;lt; ncol; i++) {
    header.push_back(result[i]);   /* First row heading */
  }
  if(nrow &gt; 0) {
    for(int row = ncol; row &amp;lt;= ncol*nrow; row += ncol) {
      // Parsing the data line by line.
      vector&amp;lt;string&amp;gt; vdata;
      for(int col = 0; col &amp;lt; ncol; col++) {
	try {
	  if(result[row + col] == NULL) { // NULL string are invalid
	    vdata.push_back(&quot;&quot;);
	  } else {  
	    vdata.push_back(result[row + col]);
	  }
	}
	catch(int e) {
          // Some wrong happened.
	  return 1;
	}
      }
      // Adding all that to the table&#039;s vector.
      data.push_back(vdata);
    }
  }
}
&lt;/div&gt;

&lt;p&gt;
Voilà c&#039;est barbare, comme prévu. C&#039;est assez simple, jusqu&#039;à la ligne 6, on prépare nos variables, puis on appelle sqlite avec notre requête. sqlite nous renvoie un tableau de type C.
&lt;/p&gt;

&lt;p&gt;
Ensuite, on le nettoie et on range tout ça dans un &lt;em&gt;vector&lt;/em&gt; bien propre. Plus qu&#039;à exploiter les données!
&lt;/p&gt;

&lt;p&gt;
Bon bien sur, on peut mettre une chiée de code en plus, comme pour lancer des exceptions, faire des transaction, assurer le locking et tout ça, mais là on a déjà la base fonctionnelle.
&lt;/p&gt;</content>
</entry>
<entry>
	<title>Libérons nous du minitel</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article73/liberons-nous-du-minitel"/>
	<id>urn:md5:f0cd6f9cd067df930d0d0d7326fdd885</id>
	<updated>2010-06-07T20:33:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>De tout</dc:subject>
	<content type="html">&lt;p class=&quot;center&quot;&gt;
&lt;a target=&quot;_blank&quot; href=&quot;data/images/minitel2.0.jpg&quot;&gt;&lt;img src=&quot;data/images/minitel2.0.jpg.tb&quot; alt=&quot;L&#039;Internet selon Google&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
L&#039;ami &lt;a href=&quot;http://maniatux.fr&quot;&gt;Maniatux&lt;/a&gt; et moi nous sommes ardemment intéressés à la problèmatique d&#039;Internet récemment. Après nombre de visionnages de conférences de &lt;a href=&quot;http://fr.wikipedia.org/wiki/Benjamin Bayart&quot; target=&quot;_blank&quot;&gt;Benjamin Bayart&lt;/a&gt; ainsi qu&#039;un bon tour d&#039;horizon, force est de constater qu&#039;Internet n&#039;est plus Internet.
&lt;/p&gt;&lt;p&gt;
&lt;em&gt;Mais qu&#039;est-ce qu&#039;Internet alors??&lt;/em&gt; C&#039;est bête comme choux: Internet est un réseau acentré. Il n&#039;y a donc pas de noeud central et tout ordinateur qui y est connecté est égal. Réfléchissez deux secondes, tentez de visualiser l&#039;Internet tel qu&#039;il vous apparaît, et demandez-vous si c&#039;est vraiment le cas?
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Non.&lt;/strong&gt; Désormais, Internet comporte au moins deux classes d&#039;ordinateurs: les serveurs et les clients. Enfin c&#039;est du moins ce qu&#039;on veut nous faire croire, et ce que les débutants croient dur comme fer.
&lt;/p&gt;

&lt;p&gt;
Le mythe du serveur web qui est un mastodonte dans une tour d&#039;ivoire est un artifice utile pour créer du contrôle sur le réseau. À l&#039;origine, si Mr Tartempion voulait envoyer un email à Mme Michu, l&#039;email arrivait directement sur la machine de Mme Michu (si celui-ci était allumé). Ça veut dire que les ordinateurs de Mr Tartempion et Mme Michu étaient tous deux serveurs &lt;a href=&quot;http://fr.wikipedia.org/wiki/SMTP&quot; target=&quot;_blank&quot;&gt;SMTP&lt;/a&gt; et &lt;a href=&quot;http://fr.wikipedia.org/wiki/POP&quot; target=&quot;_blank&quot;&gt;POP&lt;/a&gt;. Les addresses email gardent même cet héritage, l&#039;addresse email étant composée de:
&lt;/p&gt;

&lt;blockquote&gt;
&amp;lt;nom d&#039;utilisateur&amp;gt;@&amp;lt;machine&amp;gt;.&amp;lt;domaine&amp;gt;
&lt;/blockquote&gt;

&lt;p&gt;
Aujourd&#039;hui, ça n&#039;est même plus possible, d&#039;une part car de très nombreux &lt;a href=&quot;http://fr.wikipedia.org/wiki/FAI&quot; target=&quot;_blank&quot;&gt;FAI&lt;/a&gt; bloquent le port SMTP, d&#039;autre part parce que la majorité des serveurs POP refusent les emails venant d&#039;IP non-fixes. Du coup, on se retrouve forcé d&#039;utiliser des serveurs centraux pour ses emails. Et de créer des noeuds dans le réseau qui devient de moins en moins acentré.
&lt;/p&gt;

&lt;p&gt;
Et les exemples comme celui-ci sont nombreux. Il est alléchant de pouvoir contrôler Internet pour beaucoup de monde, et on en voit le résultat avec notemment &lt;a href=&quot;http://fr.wikipedia.org/wiki/HADOPI&quot; target=&quot;_blank&quot;&gt;HADOPI&lt;/a&gt;. Le point faible du réseau centré est le centre, les noeuds que sont les FAI, Google, Facebook, Hotmail... sont facilement contrôlables, filtrables, bloquables etc.
&lt;/p&gt;

&lt;p&gt;
Une des solutions pour lutter contre ce phénomène et tenter de faire d&#039;Internet ce qu&#039;il devrait être est simplement de refuser de ne pas mettre ses données sur sa machine. C&#039;est ce que Maniatux et moi pensons, et Maniatux a donc commencé à &lt;a href=&quot;http://maniatux.fr/?article46/experience&quot;&gt;mettre en place son propre serveur chez lui&lt;/a&gt;, avec un tout petit ordinateur consommant 10W (moins que sa *box). Bon courage à toi Maniatux!
&lt;/p&gt;

&lt;p&gt;
Si vous aussi vous ne voulez pas d&#039;un Internet centré, contrôlé et non-libre, faites votre propre serveur, ou mieux, montez votre propre FAI associatif!
&lt;/p&gt;</content>
</entry>
<entry>
	<title>Barre google translate parasitante</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article72/barre-google-translate-parasitante"/>
	<id>urn:md5:3b46f2e6f72c46946e1bab0501e5bcde</id>
	<updated>2010-06-07T07:37:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>Ma vie</dc:subject>
	<content type="html">&lt;p class=&quot;center&quot;&gt;
&lt;img src=&quot;data/images/journal.jpg&quot; alt=&quot;Petit dej tranquille&quot; /&gt;&lt;br/&gt;
&lt;em&gt;&lt;a href=&quot;http://www.flickr.com/photos/tegg/27070144/&quot;&gt;Photo: tegg&lt;/a&gt; CC-by-NC&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
Je prenais mon petit dej ce matin et lisais &lt;a href=&quot;http://libertes.blog.lemonde.fr/2010/06/07/letat-des-libertes-en-france-les-valeurs-de-1789-seloignent-selon-dominique-rousseau/#xtor=RSS-32280322#xtor=RSS-3208&quot;un fort sympathique article&lt;/a&gt; sur &lt;em&gt;Le Monde&lt;/em&gt; (c&#039;est bien la première fois) lorsque je me suis rendu compte qu&#039;une barre Google translate s&#039;était affichée au-dessus de la page.
&lt;/p&gt;&lt;p&gt;
Que se passe-t-il? Serais-je victime d&#039;un spyware de la société &lt;em&gt;don&#039;t be evil&lt;/em&gt;? Et de me demi-rasséréner aussitôt car il s&#039;agit bien d&#039;un spyware Google, mais introduit subrepticement par &lt;em&gt;Le Monde&lt;/em&gt;.
&lt;/p&gt;

&lt;p class=&quot;center&quot;&gt;
&lt;img src=&quot;data/images/lemonde.png&quot; alt=&quot;Le Monde vous surveille&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
La mode est aux &lt;em&gt;&lt;a href=&quot;http://fr.wikipedia.org/wiki/iframe&quot; target=&quot;_blank&quot;&gt;iframes&lt;/a&gt;&lt;/em&gt;. Entre &lt;em&gt;Facebook&lt;/em&gt; qui a défrayé la chronique avec son bouton &quot;J&#039;aime&quot; et celui de Google translate il n&#039;y a qu&#039;un pas. La barre de Google translate est certainement même plus vicieuse que celle de Facebook, étant donné qu&#039;elle ne s&#039;affiche que si notre navigateur n&#039;est pas dans la langue du site.
&lt;/p&gt;

&lt;p&gt;
Quel est le problème, me direz vous. Très simplement le fait que Google &lt;strong&gt;peut&lt;/strong&gt; collecter des données à partir de ses statistiques etc. pour entraver votre liberté et vous espionner. Notez bien le &quot;peut&quot;, rien n&#039;indique que Google le fasse ou le fera, mais il en a le pouvoir, et c&#039;est bien le problème.
&lt;/p&gt;

&lt;p&gt;
Comme d&#039;habitude, ça se résoud très facilement à coup de règle pour AdBlock:
&lt;/p&gt;

&lt;div class=&quot;code&quot;&gt;
||translate.google.com/*$third-party
||translate.googleapis.com/*$third-party
&lt;/div&gt;

&lt;p&gt;
Ceci fait, je pus reprendre la lecture de mon article. Un petit commentaire sur le fond d&#039;ailleur. S&#039;il est majoritairement juste, on se contrefout de la constitution de 1946 alors même que nombre des articles de la &lt;em&gt;Déclaration des Droits de l&#039;Homme et du Citoyen&lt;/em&gt; sont bafoués dans notre pays de moutons.
&lt;/p&gt;</content>
</entry>
<entry>
	<title>Faire cohabiter Fedora et Debian</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article71/faire-cohabiter-fedora-et-debian"/>
	<id>urn:md5:fedac54fccbd49a2963f46a7fe9d7f64</id>
	<updated>2010-06-06T19:09:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>Logiciel libre</dc:subject>
	<content type="html">&lt;p class=&quot;center&quot;&gt;
&lt;img src=&quot;data/images/logos/fedobian.png&quot; alt=&quot;Fedora and debian&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Je suis utilisateur et testeurs de noombreuses saveurs de GNU/Linux, mes préférées étant Fedora et Trisquel. J&#039;ai aussi un petit disque dur portable très pratique, et qui est formaté en ext3.
&lt;/p&gt;

&lt;p&gt;
Et là, c&#039;est le drame.
&lt;/p&gt;&lt;p&gt;
En effet, mes données qui viennent de trisquel ne sont pas accessibles dans Fedora et vice-versa. &lt;em&gt;Mais boudiou que se passe-t-il?&lt;/em&gt; me suis-je donc dis. En effet, mon nom d&#039;utilisateur est le même et tout ça, alors comment ce fait-ce?
&lt;/p&gt;

&lt;p&gt;
En fait c&#039;est très simple (et très bête), Fedora et Trisquel/Ubuntu/Debian n&#039;utilisent pas le même UID par défaut pour l&#039;utilisateur. Fedora affecte des numéros à partir de 500, alors que Debian commence à 1000 (idem pour le GID).
&lt;/p&gt;

&lt;p&gt;
Résultat des courses: ils ne peuvent pas se voir. La solution reste néanmoins simple puisqu&#039;il suffit de changer l&#039;UID et le GID d&#039;un des systèmes.
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;Mais comment qu&#039;on fait??&lt;/em&gt;, me direz-vous appeurés à l&#039;idée de trifouiller aux bidules magiques du système (c&#039;est vrai, vous ne voulez pas faire de vaudou, vous). Et bien suivez le guide! Mais d&#039;abord, rappel sur l&#039;UID et GID.
&lt;/p&gt;

&lt;p&gt;
Unix (l&#039;ancêtre de GNU/Linux) était un système pour utilisateurs multiples. En ce temps là, personne n&#039;avait d&#039;ordinateur chez lui, et il y avait donc de gros ordinateurs (moins puissant qu&#039;un téléphone non-smartphone) qui avaient des milliers d&#039;utilisateurs.
&lt;/p&gt;

&lt;p&gt;
Vu que les ordinateurs ne sont pas des flèches dès qu&#039;on commence à trifouiller à des données non-numériques (et pour le stockage aussi), chaque utilisateur se voit donc attribué un numéro: l&#039;UID. Ce numéro n&#039;est pas explicite, l&#039;utilisateur ne connaissant que son nom d&#039;utilisateur, mais est utilisé en interne.
&lt;/p&gt;

&lt;p&gt;
Il en va de même pour le GID, les utilisateurs étant divisés en groupes.
&lt;/p&gt;

&lt;p&gt;
Pour changer notre UID GID sur notre bécane, il faut tout d&#039;abord se déconnecter de sa session X. Ensuite ouvrez un bon vieux TTY (ctrl+alt+F2 fera l&#039;affaire), et connectez vous en tant que root (demerden sie sich pour ubuntu, ces idiots ayant désactivé l&#039;utilisateur root).
&lt;/p&gt;

&lt;p&gt;
Tapez ensuite:
&lt;/p&gt;

&lt;div class=&quot;code&quot;&gt;
# usermod -u 1000 machin
# groupmod -g 1000 machin
# chown -R machin.machin /home/machin
&lt;/div&gt;

&lt;p&gt;
Et voila le travail. La première ligne change l&#039;UID, la seconde le GID, et enfin la dernière vous réapproprie votre &lt;em&gt;home&lt;/em&gt;.
&lt;/p&gt;</content>
</entry>
<entry>
	<title>Les petites lignes de Fedora</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article70/les-petites-lignes-de-fedora"/>
	<id>urn:md5:3af46fd4fd50debd3f4012a763073087</id>
	<updated>2010-06-06T11:01:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>Logiciel libre</dc:subject>
	<content type="html">&lt;p class=&quot;center&quot;&gt;
&lt;img src=&quot;data/images/logos/fedora-logo.png&quot; alt=&quot;Logo de Fedora&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Voilà, juste un petit article inutile pour vous faire part d&#039;une réflexion personnelle. N&#039;hésitez surtout pas à me laissez votre avis dans les commentaires!
&lt;/p&gt;&lt;p&gt;
Ce matin, j&#039;allais télécharger ma petite ISO de Fedora tranquille mimile, quand tout à coup m&#039;est venu une réalisation:
&lt;/p&gt;

&lt;p class=&quot;center&quot;&gt;
&lt;img src=&quot;data/images/fedora_petites_lignes.png&quot; alt=&quot;Petites lignes de Fedora&quot; /&gt;

&lt;p&gt;
Pour ceux qui ne parlent pas cette langue barbare, voici une traduction de votre serviteur:
&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;
En cliquant et téléchargeant Fedora, vous acceptez de vous plier aux termes et conditions suivants:
&lt;/p&gt;

&lt;p&gt;
Les logiciels de Fedora et ses informations techniques sont soumises à l&#039;Administration de Régulation des Exports des États Unis ainsi que d&#039;autres lois Américaines et étrangères, et ne doivent pas être exportées ou ré-exportées vers certains pays (actuellement Cuba, Iran, Iraq, Corée du Nord, Soudan, Syrie) ou aux personnes enver lesquelles les exports des États Unis sont interdis...
&lt;/blockquote&gt;

&lt;p&gt;
J&#039;ai pas tout traduit sinon ça va me pourrir mon Dimanche. Pour faire simple, si le gouvernement Amerloque pense que vous dissidez un peu trop, vous n&#039;avez pas le droit de télécharger Fedora.
&lt;/p&gt;

&lt;p&gt;
Il est compréhensible que Fedora doive se plier aux lois locales (ils n&#039;ont pas vraiment le choix). Néanmoins, ces restrictions semblent venir d&#039;un autre âge en considérant la nature même du Logiciel Libre.
&lt;/p&gt;

&lt;p&gt;
Dans la communauté Libre, tout le monde travaille en synergie, même s&#039;il existe quelques tensions ça et là. Et la nationalité des participants est bien le cadet des soucis des Libristes. En fait, le concept même de pays semble si éloigné, que lorsqu&#039;il est mis en conflit avec les logiciels Libres comme ici, on dirait de la science fiction.
&lt;/p&gt;</content>
</entry>
<entry>
	<title>Brève: Microsoft n&#039;as-tu pas honte?</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article68/breve-microsoft-n-as-tu-pas-honte"/>
	<id>urn:md5:2e5a1aa6c4d6b6f64f5dc830e20d0638</id>
	<updated>2010-06-03T00:46:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>De tout</dc:subject>
	<content type="html">&lt;p&gt;
Suite aux rumeurs selon lesquelles Google devrait lâcher Windows au profit de Mac OSX ou GNU/Linux, Microsoft déclaré:
&lt;/p&gt;

&lt;blockquote&gt;
When it comes to security, even hackers admit we&#039;re doing a better job making our products more secure than anyone else. And it&#039;s not just the hackers; third-party influentials and industry leaders like Cisco tell us regularly that our focus and investment continues to surpass others.
&lt;/blockquote&gt;

&lt;p&gt;
Ce qui donne, dans la langue de Molière:
&lt;/p&gt;

&lt;blockquote&gt;
Dans le domaine de la sécurité, même les hackers admettent que nous faisons un meilleur travail pour sécuriser nos produits que n&#039;importe qui d&#039;autre. Et ce n&#039;est pas seulement les hackers; de grosses entreprises et leaders de l&#039;industrie comme Cisco nous disent régulièrement que notre concentration et investissement [en matière de sécurité] continue de surpasser les autres.
&lt;/blockquote&gt;

&lt;p&gt;
Franchement Mr microsoft, n&#039;as-tu pas honte? Même un nouveau né sait que Windows est un gruyère et que sans antivirus et pare feu d&#039;éditeurs tiers, votre mastodonte arthritique de Windows choperait la vérole et courerait droit à l&#039;extinction.
&lt;/p&gt;</content>
</entry>
<entry>
	<title>Une semaine de Vim</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article67/une-semaine-de-vim"/>
	<id>urn:md5:110b2b6070a8c5ff3d503efb1cff911b</id>
	<updated>2010-05-30T00:15:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>Logiciel libre</dc:subject>
	<content type="html">&lt;p class=&quot;center&quot;&gt;
&lt;img src=&quot;data/images/logos/vim.png&quot; alt=&quot;Logo de Vim&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
J&#039;ai passé la semaine sur mon eee-pc car en déplacement professionel. L&#039;engin étant particulièrement peu puissant, et connaissant la réputation de légèreté de &lt;a href=&quot;http://fr.wikipedia.org/wiki/Vim&quot; target=&quot;_blank&quot;&gt;Vim&lt;/a&gt; par rapport à &lt;a href=&quot;http://fr.wikipedia.org/wiki/Emacs&quot; target=&quot;_blank&quot;&gt;Emacs&lt;/a&gt;, ainsi que par curiosité, j&#039;ai décidé de tester Vim pendant une semaine.
&lt;/p&gt;&lt;p&gt;
Mes premières impressions sont que Vim est aussi puissant qu&#039;Emacs (en tant qu&#039;éditeur texte), et que chacun a des fonctionalités que l&#039;autre manque (mort aux trolls!).
&lt;/p&gt;

&lt;p&gt;
Ensuite, Vim est aussi rapide a apprendre qu&#039;Emacs, il faut juste en prendre l&#039;habitude. Le plus gros soucis que j&#039;ai eu est lié à la touche échap qui est encore plus loin que la touche controle...
&lt;/p&gt;

&lt;p&gt;
Enfin, et là on va m&#039;accuser de troll, Vim est aussi rapide qu&#039;Emacs en terminal. Jusqu&#039;ici je m&#039;y attendais&amp;nbsp;: l&#039;eee-pc est tout de même assez puissant pour démarrer les deux sans soucis. Néanmoins, Gvim est plus lent qu&#039;Emacs en mode graphique. Ils démarrent à la même vitesse, mais Gvim a un taux de rafraichissement très mauvais, et l&#039;écran clignotte sur mon eee-pc, me forçant à utiliser vim en terminal pour un usage confortable.
&lt;/p&gt;

&lt;p&gt;
Pour conclure, j&#039;ai trouvé Vim agréable à utiliser et ayant beaucoup de bonnes idées. Une fois de retour sur mon gros PC, il m&#039;a été difficile de retrouver mes réflexes d&#039;Emacs. Je me suis même demandé si je ne passerais pas complètement à Vim, mais je ne pense pas pouvoir m&#039;y mettre. Emacs dispose de beaucoup d&#039;autres choses qui en font plus qu&#039;un simple éditeur de texte, et il est difficile de se passer de certaines (comme l&#039;intégration géniale de gdb, chose qui merdouille avec Vim).
&lt;/p&gt;

&lt;p&gt;
Soyez donc rassurés, ce blog ne sera pas renommé &lt;em&gt;Le Vimiste virulent&lt;/em&gt;.
&lt;/p&gt;</content>
</entry>
<entry>
	<title>Contraste sélectif - Mis à jour</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article66/contraste-selectif"/>
	<id>urn:md5:459cb80c7392daf532354c556d386149</id>
	<updated>2010-05-24T07:39:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>Photo</dc:subject>
	<content type="html">&lt;p class=&quot;center&quot;&gt;
&lt;img src=&quot;data/images/flower.jpg&quot; alt=&quot;Petite fleur&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Salut à tous! Je suis allé me promener en forêt ce week end et j&#039;ai pris quelques photos sympathiques (voir ci-dessus). J&#039;ai fait quelques macro, dont certaines sont sous-exposées et on voit mal le sujet.
&lt;/p&gt;

&lt;p&gt;
Bien entendu, ce genre de problème peut être facilement corrigé par GIMP. Encore faut-il savoir comment procéder. D&#039;où un petit tuto sur le contraste sélectif.
&lt;/p&gt;&lt;p&gt;
Voici ma photo originale.
&lt;/p&gt;

&lt;p class=&quot;center&quot;&gt;
&lt;a target=&quot;_blank&quot; href=&quot;data/images/gimp/dscf0242.jpg&quot;&gt;&lt;img src=&quot;data/images/gimp/dscf0242.jpg.tb&quot; alt=&quot;Punaise sur une feuille&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Comme vous pouvez le voir, la photo est plutôt bonne, à ceci près que la punaise ne ressort pas et que la feuille du premier plan est trop sombre. Nous allons arranger ça rapidement.
&lt;/p&gt;

&lt;p&gt;
Ouvrez la photo dans le GIMP, puis dans le dialogue des calques, dupliquez le calque courant. Il vaut mieux prendre l&#039;habitude de travailler sur des copies de l&#039;image originale, certaines méthodes de GIMP étant destructives.
&lt;/p&gt;

&lt;p class=&quot;center&quot;&gt;
&lt;a target=&quot;_blank&quot; href=&quot;data/images/gimp/punaise1.png&quot;&gt;&lt;img src=&quot;data/images/gimp/punaise1.png.tb&quot; alt=&quot;Dupliquer le calque&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Maintenant nous allons réhausser le contraste de la copie. Ouvrez le dilogues des courbes puis faites une courbe en S qui remontera le contraste sérieusement.
&lt;/p&gt;

&lt;p class=&quot;center&quot;&gt;
&lt;a target=&quot;_blank&quot; href=&quot;data/images/gimp/punaise2.png&quot;&gt;&lt;img src=&quot;data/images/gimp/punaise2.png.tb&quot; alt=&quot;Appliquer les courbes&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Ensuite, cliquez droit sur le calque, puis choississez &quot;Ajouter un masque de calque&quot; puis choississez noir. Prenez le pinceau dans la boite d&#039;outils et choississez une brosse douce et de couleur blanche.
&lt;/p&gt;

&lt;p&gt;
Nous allons peindre le masque de calque (qui est noir) de blanc sur les parties où on veut que l&#039;image soit plus claire.
&lt;/p&gt;

&lt;p class=&quot;center&quot;&gt;
&lt;a target=&quot;_blank&quot; href=&quot;data/images/gimp/punaise3.png&quot;&gt;&lt;img src=&quot;data/images/gimp/punaise3.png.tb&quot; alt=&quot;Appliquer le contraste&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Allez-y tranquillement en vous appliquant, et vous aurez une jolie photo! Vous pouvez télécharger &lt;a href=&quot;punaise.xcf.bz2&quot;&gt;mon fichier GIMP&lt;/a&gt; si vous voulez.
&lt;/p&gt;

&lt;p class=&quot;center&quot;&gt;
&lt;a target=&quot;_blank&quot; href=&quot;data/images/gimp/punaise_result.jpg&quot;&gt;&lt;img src=&quot;data/images/gimp/punaise_result.jpg.tb&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Un autre exemple pour la forme:
&lt;/p&gt;

&lt;p class=&quot;center&quot;&gt;
&lt;a target=&quot;_blank&quot; href=&quot;data/images/gimp/punaise-bw-big.jpg&quot;&gt;&lt;img src=&quot;data/images/gimp/punaise-bw-big.jpg.tb&quot; alt=&quot;Punaise en tricolore&quot; /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;punaise-bw.xcf.bz2&quot;&gt;Source&lt;/a&gt;
&lt;/p&gt;</content>
</entry>
<entry>
	<title>Devilspie</title> 
	<link href="http://www.etenilsrealm.nl/weblog/?article65/devilspie"/>
	<id>urn:md5:4e88050de74536c2f407a951cb3f0176</id>
	<updated>2010-05-18T07:51:00-01:00</updated>
	<author><name>guillaume</name></author>
	<dc:subject>Logiciel libre</dc:subject>
	<content type="html">&lt;p class=&quot;center&quot;&gt;
&lt;img src=&quot;data/images/logos/pie.jpg&quot; alt=&quot;Une belle tarte!&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Vous allumez votre PC, puis démarrez votre session gnome. Vous démarrez toutes vos applications favories sans y penser: Evolution, Firefox, Empathy etc. puis vous allez vous faire un café. Vous revenez quelques instants après et constatez, non sans satisfaction, que Firefox est bien sur le premier bureau, Evolution sur le second, et qu&#039;Empathy est présent sur tous les bureaux.
&lt;/p&gt;&lt;p&gt;
C&#039;est ce que vous propose &lt;a href=&quot;http://live.gnome.org/DevilsPie&quot;&gt;Devilspie&lt;/a&gt;. Le gestionnaire de fenêtres de &lt;a href=&quot;http://fr.wikipedia.org/wiki/GNOME&quot; target=&quot;_blank&quot;&gt;GNOME&lt;/a&gt;: &lt;a href=&quot;http://fr.wikipedia.org/wiki/Metacity&quot; target=&quot;_blank&quot;&gt;Metacity&lt;/a&gt; ne supportant pas les règles de fenêtres, Devilspie est un programme qui applique des règles que vous définissez aux fenêtres selon nombre de paramètres.
&lt;/p&gt;

&lt;p&gt;
Pour l&#039;utiliser, installez Devilspie. Ensuite, il faut créer des règles pour les fenêtres. Mettons que vous souhaitiez que les fenêtres d&#039;Empathy traversent les bureaux virtuels. Dans ce cas, il convient avant tout de déterminer la classe desdites fenêtres.
&lt;/p&gt;

&lt;p&gt;
Démarrez donc Empathy, puis ouvrez la fenêtre qui vous intéresse. Ouvrez maintenant un terminal et tapez:
&lt;/p&gt;

&lt;div class=&quot;code&quot;&gt;
$ xprop
&lt;/div&gt;

&lt;p&gt;
Enfin, cliquez sur votre fenêtre. Une chiée de messages devrait s&#039;afficher dans le terminal. Vers la fin, vous trouverez la classe de la fenêtre indiquée:
&lt;/p&gt;

&lt;div class=&quot;code&quot;&gt;
WM_CLASS(STRING) = &quot;empathy&quot;, &quot;Empathy&quot;
&lt;/div&gt;

&lt;p&gt;
Nous allons maintenant écrire la règle. Créez un dossier &lt;em&gt;.devilspie&lt;/em&gt; dans votre dossier personnel. Créez le fichier &lt;em&gt;empathy.ds&lt;/em&gt; dedans, et ouvrez le avec votre éditeur texte favori (Emacs, gedit... oui, même Vim). Entrez le texte suivant:
&lt;/p&gt;

&lt;div class=&quot;code&quot;&gt;
(if (is (window_class) &quot;Empathy&quot;)
    (begin
     (pin)
))
&lt;/div&gt;

&lt;p&gt;
Voyons un peu ce que ces machins veulent dire ligne à ligne.
&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Si la classe de la fenêtre est &lt;em&gt;&quot;Empathy&quot;&lt;/em&gt;, on procède aux actions suivantes&lt;/li&gt;
&lt;li&gt;On démarre une action&lt;/li&gt;
&lt;li&gt;Pin signifie qu&#039;on &lt;em&gt;épingle&lt;/em&gt; la fenêtre, elle est donc présente sur tous les bureaux virtuels&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Pour tester, lancez devilspie dans votre terminal et vérifiez que vos &lt;strong&gt;nouvelles&lt;/strong&gt; fenêtres correspondant à la règle sont bien affectées. Une fois satisfait, ajoutez Devilspie au démarrage de GNOME (Système-&gt;Préférences-&gt;Démarrage).
&lt;/p&gt;

&lt;p&gt;
Voilà pour ce petit avant goût de devilspie. Personnellement, je ne peux plus m&#039;en passer. Il y a bien évidemment une &lt;a href=&quot;http://live.gnome.org/DevilsPie&quot;&gt;pléthore de possibilités et fonctions&lt;/a&gt; que je vous laisse découvrir (le &lt;a href=&quot;http://fr.wikipedia.org/wiki/RTFM&quot; target=&quot;_blank&quot;&gt;RTFM&lt;/a&gt; n&#039;a jamais fait de mal à personne.
&lt;/p&gt;</content>
</entry>
</feed>