<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://batmat.net/blog/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>Blogounage</title>
  <link>http://batmat.net/blog/</link>
  <description></description>
  <language>fr</language>
  <pubDate>Wed, 17 Mar 2010 18:47:50 +0100</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Mon avis sur le livre &quot;Apache Maven&quot; de Nicolas De Loof et Arnaud Héritier</title>
    <link>http://batmat.net/blog/post/2010/03/09/Mon-avis-sur-le-livre-Apache-Maven-de-Nicolas-De-Loof-et-Arnaud-Heritier</link>
    <guid isPermaLink="false">urn:md5:27a142fd51215fb4cc5509560b1e4f7b</guid>
    <pubDate>Wed, 17 Mar 2010 19:30:00 +0100</pubDate>
    <dc:creator>batmat</dc:creator>
        <category>Technique</category>
            
    <description>    &lt;p&gt;J'ai lu le livre &lt;a href=&quot;http://www.pearson.fr/livre/?GCOI=27440100730370&quot;&gt;Apache Maven, édité chez Pearson&lt;/a&gt;.
Pour un premier livre en français sur Maven, on peut dire que l'expérience est globalement très réussie.&lt;/p&gt;


&lt;h4&gt;Mon expérience de maven&lt;/h4&gt;

&lt;p&gt;Disons-le tout de suite, je ne suis pas néophyte sur Maven. J'ai été utilisateur de maven 1 un tout petit peu (preuve &lt;a href=&quot;http://chronos.berlios.de/&quot;&gt;ici&lt;/a&gt; :-)), avant de me plonger dans maven 2 depuis maintenant plusieurs années.
Bon, ça c'est fait. J'espère que vous comprendrez que là, je veux pas me la péter hein. Je veux juste dire que nombre de concepts du livre m'étaient déjà connus. Et que, donc, mon analyse ne sera forcément pas celle d'un nouvel arrivant sur Maven.&lt;/p&gt;


&lt;h5&gt;Le style du livre&lt;/h5&gt;

&lt;p&gt;J'avoue que j'ai trouvé la lecture très agréable. C'est volontaire de la part des auteurs, et c'est réussi. Ils ont réussi à apporter beaucoup de concepts dans un style facile à lire. Ils ne sont pas tombés dans le piège de la documentation de référence, parfois un peu dure à lire, voire carrément chiante, qu'on n'ouvrirait que pour y faire un grep sur ce qu'on cherche (et ce n'est à mon sens pas le but pour un livre papier).&lt;/p&gt;


&lt;p&gt;Le livre se lit un peu comme un roman&amp;nbsp;: un petit projet débute, et rencontre les problèmes classiques du packaging qui devient une usine à gaz, et que seul celui qui l'a développé (et encore) peut lancer.
Au fil de l'eau, on explique donc comment fonctionne maven (et pourquoi il a été créé), comment packager simplement, etc. Ensuite, on se rend compte que l'écriture et le lancement de tests est fastidieuse, alors on explique comment ajouter des tests, et ainsi de suite en décrivant la mise en œuvre de choses de plus en plus complexes.&lt;/p&gt;


&lt;h4&gt;La structure et le contenu du livre&lt;/h4&gt;

&lt;h5&gt;&quot;Premiers pas avec Maven&quot;&lt;/h5&gt;

&lt;p&gt;La première partie introduit maven, d'où il arrive, qui l'a créé et pourquoi. Exemple&amp;nbsp;: un projet, quel qu'il soit (et dans quelque langage que ce soit), rencontre presque toujours les trois besoins suivants lors de sa construction&amp;nbsp;: préparer la construction (initialisation), compilation, puis assemblage.&lt;/p&gt;


&lt;p&gt;Tout y est, &quot;convention-over-configuration&quot;, la notion de dépendance, la transitivité, les scopes, les classifiers, etc...
Et tout passe comme une lettre à la poste. Vraiment, je le redis&amp;nbsp;: l'exploit de Nicolas et Arnaud réside dans la capacité à nous permettre de lire le livre sans avoir l'impression de lire une documentation technique.&lt;/p&gt;


&lt;p&gt;Comme je le disais sur &lt;a href=&quot;http://twitter.com/bmathus/status/10218149785&quot;&gt;twitter&lt;/a&gt;, je pense que ce livre est un outil formidable sur lequel s'appuyer pour préparer des sensibilisations à Maven dans vos boîtes. Mais surtout, &lt;a href=&quot;http://twitter.com/ndeloof/status/10222120761&quot;&gt;CITEZ VOS SOURCES&lt;/a&gt; !!! &lt;img src=&quot;/dotclear/themes/default/smilies/smile.png&quot; alt=&quot;:-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Dans la première partie, on la jouait petit. En tant qu'utilisateur expérimenté de maven, ça m'a surtout donné envie de voir comment on pourrait déployer Selenium et FitNesse en &lt;acronym title=&quot;Intégration Continue&quot;&gt;IC&lt;/acronym&gt; chez nous.&lt;/p&gt;


&lt;h5&gt;&quot;Maven en entreprise&quot;&lt;/h5&gt;

&lt;p&gt;Là, on commence à ouvrir les vannes. Le projet est devenu complexe&amp;nbsp;: comment gérer les dépendances proprement avec un repo manager, centraliser les informations dans un pom parent, utiliser Maven dans l'&lt;acronym title=&quot;Integrated Development Environment&quot;&gt;IDE&lt;/acronym&gt;.., et on arrive enfin à &quot;mais diantre, comment on release un projet avec Maven&amp;nbsp;? On pourrait pas gérer automatiquement ces actions répétitives, rébarbatives qu'on se tape à chaque livraison, et sur lesquelles on se trompe une fois sur deux ?&quot;.&lt;/p&gt;


&lt;h5&gt;&quot;Encore plus loin avec Maven&quot;&lt;/h5&gt;

&lt;p&gt;On lâche les chevaux&amp;nbsp;: écriture de plugin maison, comment le tester, intégrer de l'assurance qualité (analyse de code, couverture de code), la génération des rapports et enfin on parle de &lt;a href=&quot;http://sonar.codehaus.org&quot;&gt;Sonar&lt;/a&gt;, la rolls de l'analyse qualité d'un projet.&lt;/p&gt;


&lt;p&gt;Une fois la partie &quot;technique&quot; terminée, Arnaud et Nicolas se livrent même à l'exercice périlleux de prédiction&amp;nbsp;: Maven 3 et consorts (Encore bon pour le moment&amp;nbsp;: Maven 3 à attendre plutôt pour fin 2010, d'après le livre imprimé en novembre 2009. On en est à l'alpha-7 à ce jour.).&lt;/p&gt;


&lt;h4&gt;Les reproches&lt;/h4&gt;

&lt;p&gt;Il en faut, sinon, vous allez penser que je ne suis pas objectif :-).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Tests d'intégration&amp;nbsp;: les mettre dans le projet, ou dans un projet externe ?&lt;/em&gt; Le livre dit que les deux approches sont valides, mais sans creuser. J'aurais aimé davantage de retours sur le sujet. Au moins essayer de donner des pistes ou des exemples sur quelle stratégie plutôt adopter qu'une autre dans une situation en particulier. Ou même simplement l'avis d'Arnaud et de Nicolas (je suis sûr que vous en avez un :)) si aucun consensus n'existe effectivement.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Problèmes d'impression en N&amp;amp;B&lt;/em&gt;&amp;nbsp;: je suppose que quelques captures ou diagrammes (exemple&amp;nbsp;: p.206, un des écrans de &lt;a href=&quot;http://sonar.codehaus.org&quot;&gt;sonar&lt;/a&gt;) ont dû être envoyés à l'éditeur en couleur. Le passage au noir&amp;amp;blanc les rend peu lisibles (essayez de différencier du bleu et du vert une fois dans des nuances de gris...). Je pense qu'il aurait fallu soit vérifier la conversion au noir&amp;amp;blanc, soit voir avec l'éditeur pour imprimer en couleur au moins ceux-là (je suppose que ça permet de baisser le prix de revient du livre).&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Évolution de Maven 3&amp;nbsp;: pouvoir référencer un pom parent sans version&lt;/em&gt;. Le problème de la poule et de l'œuf de Maven. Cette évolution me paraît à la fois intéressante, et en même temps pose question. En effet, l'une des forces de Maven est qu'il est actuellement possible de checkouter un seul module (et non tous) et de travailler dessus. Un peu comme SVN, on peut checkouter n'importe quel niveau, et Maven s'y retrouve très bien. Je suppose que si la version parent n'est plus spécifiée, il devient impossible de checkouter de cette façon. Je pense que ce sera comme ça, mais j'aurais aimé quelques détails sur le sujet.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Mon impression générale&lt;/h4&gt;

&lt;p&gt;Dans la description de ce petit projet devenu gros, j'ai retrouvé une très grande partie des choses que nous avons faites chez nous. Je pense que certains choix n'ont pas toujours été faits immédiatement, et la lecture d'un tel livre nous aurait économisé pas mal de temps et de recherches (le release-plugin marche très bien, une fois qu'il marche. Mais il peut être difficile d'initialiser les premières releases, où il y a toujours un truc qui plante au milieu).&lt;/p&gt;


&lt;p&gt;Petit bonus en prime&amp;nbsp;: le style adopté, et la partie à la fin du livre vous donnent l'impression de connaître tout le monde, de faire un peu partie de la famille :). Maintenant on connait l'âge de tous les développeurs francophones de Maven, même celui de Vincent qui a tenté un chiffrement en héxa :-).&lt;/p&gt;


&lt;p&gt;Globalement, donc, je recommande chaudement ce livre à toute personne qui utilise maven et qui souhaite maîtriser l'outil. Le livre offre un accès facile à toutes les facettes du projet, des plus simples au plus avancées, sans omettre le côté humain qui est si important dans les projets opensource.&lt;/p&gt;</description>
    
    
    
          <comments>http://batmat.net/blog/post/2010/03/09/Mon-avis-sur-le-livre-Apache-Maven-de-Nicolas-De-Loof-et-Arnaud-Heritier#comment-form</comments>
      <wfw:comment>http://batmat.net/blog/post/2010/03/09/Mon-avis-sur-le-livre-Apache-Maven-de-Nicolas-De-Loof-et-Arnaud-Heritier#comment-form</wfw:comment>
      <wfw:commentRss>http://batmat.net/blog/feed/rss2/comments/316</wfw:commentRss>
      </item>
    
  <item>
    <title>Comment connaître la provenance d'une classe programmatiquement en Java</title>
    <link>http://batmat.net/blog/post/2010/01/13/Comment-connaitre-la-provenance-dune-classe-programmatiquement-en-java</link>
    <guid isPermaLink="false">urn:md5:385aa81317cbad2421f8b6bee62487eb</guid>
    <pubDate>Wed, 13 Jan 2010 18:07:00 +0100</pubDate>
    <dc:creator>batmat</dc:creator>
        <category>Technique</category>
        <category>java</category><category>programmation</category>    
    <description>    &lt;p&gt;Il est possible par programmation de savoir d'où vient une classe&amp;nbsp;: un jar&amp;nbsp;? un répertoire&amp;nbsp;? autre&amp;nbsp;?&lt;/p&gt;


&lt;p&gt;Use case classique&amp;nbsp;: vous pensez (et devez) ne plus avoir les commons-logging nulle part dans votre classpath, parce que vous êtes (intelligemment :-)) passés à &lt;a href=&quot;http://www.slf4j.org&quot;&gt;SLF4J&lt;/a&gt;. Malgré cela, il semble que cette fichue classe soit toujours trouvée, mais vous n'arrivez pas à savoir dans quel jar (ou quel répertoire si vous travaillez directement avec les .class). Résultat, ça vous fout un bazar monstre dans la configuration de vos logs. Certains continuent à apparaitre alors que vous avez demandé à ce qu'ils ne soient pas affichés...&lt;/p&gt;


&lt;p&gt;Le code est un peu sioux, alors je le mets ici au cas où ça vous servirait&amp;nbsp;:&lt;/p&gt;
&lt;pre class=&quot;geshi&quot;&gt;&lt;code class=&quot;java&quot;&gt;&lt;a href=&quot;http://www.google.com/search?q=allinurl%3ASystem+java.sun.com&amp;amp;bntl=1&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;System&lt;/span&gt;&lt;/a&gt;.&lt;span class=&quot;me1&quot;&gt;out&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;MaClasse.&lt;span class=&quot;kw2&quot;&gt;class&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;getProtectionDomain&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;getCodeSource&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;getLocation&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;&lt;strong&gt;MAJ du 15/03/2010&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Suite à l'incompréhension ci-dessous, voici quelques exemples pour illustrer ce que fait ce code&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;Le code&amp;nbsp;:&lt;/p&gt;
&lt;pre class=&quot;geshi&quot;&gt;&lt;code class=&quot;java&quot;&gt;&lt;a href=&quot;http://www.google.com/search?q=allinurl%3ASystem+java.sun.com&amp;amp;bntl=1&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;System&lt;/span&gt;&lt;/a&gt;.&lt;span class=&quot;me1&quot;&gt;out&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;org.&lt;span class=&quot;me1&quot;&gt;springframework&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;mail&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;MailSender&lt;/span&gt;.&lt;span class=&quot;kw2&quot;&gt;class&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;getProtectionDomain&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;getCodeSource&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;getLocation&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&lt;a href=&quot;http://www.google.com/search?q=allinurl%3ASystem+java.sun.com&amp;amp;bntl=1&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;System&lt;/span&gt;&lt;/a&gt;.&lt;span class=&quot;me1&quot;&gt;out&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;MyJunitTest.&lt;span class=&quot;kw2&quot;&gt;class&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;getProtectionDomain&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;getCodeSource&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;getLocation&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Affiche sous Windows&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
file:/C:/m2repository/org/springframework/spring-context-support/2.5.6/spring-context-support-2.5.6.jar
file:/C:/tests/myproject-core/target/test-classes/
&lt;/pre&gt;


&lt;p&gt;J'espère que l'utilité est un peu plus claire à présent.&lt;/p&gt;</description>
    
    
    
          <comments>http://batmat.net/blog/post/2010/01/13/Comment-connaitre-la-provenance-dune-classe-programmatiquement-en-java#comment-form</comments>
      <wfw:comment>http://batmat.net/blog/post/2010/01/13/Comment-connaitre-la-provenance-dune-classe-programmatiquement-en-java#comment-form</wfw:comment>
      <wfw:commentRss>http://batmat.net/blog/feed/rss2/comments/315</wfw:commentRss>
      </item>
    
  <item>
    <title>Bonne année 2010 à tous</title>
    <link>http://batmat.net/blog/post/2010/01/02/Bonne-annee-2010-a-tous</link>
    <guid isPermaLink="false">urn:md5:c6a51ec9b51443feaa0dd895345232ea</guid>
    <pubDate>Sat, 02 Jan 2010 11:48:00 +0100</pubDate>
    <dc:creator>batmat</dc:creator>
        <category>Général</category>
        <category>bonne année</category>    
    <description>    &lt;p&gt;Souhaitons que cette nouvelle année soit le début d'un retour aux manettes de ceux qui font à la place de ceux qui comptent.
Mais j'avoue que j'y crois très peu :-).&lt;/p&gt;</description>
    
    
    
          <comments>http://batmat.net/blog/post/2010/01/02/Bonne-annee-2010-a-tous#comment-form</comments>
      <wfw:comment>http://batmat.net/blog/post/2010/01/02/Bonne-annee-2010-a-tous#comment-form</wfw:comment>
      <wfw:commentRss>http://batmat.net/blog/feed/rss2/comments/314</wfw:commentRss>
      </item>
    
  <item>
    <title>Vu aucune différence de performances entre firefox 3.5 et les versions précédentes : vous utiliseriez pas Firebug ?</title>
    <link>http://batmat.net/blog/post/2009/12/23/Vu-aucune-difference-de-performances-entre-firefox-35-et-les-versions-precedentes-%3A-vous-utiliseriez-Firebug</link>
    <guid isPermaLink="false">urn:md5:41047de05f20448e0550a7925306cf19</guid>
    <pubDate>Wed, 23 Dec 2009 14:01:00 +0100</pubDate>
    <dc:creator>batmat</dc:creator>
        <category>Technique</category>
        <category>desactivation</category><category>firebug</category><category>firefox</category><category>jit</category><category>tracemonkey</category>    
    <description>    &lt;p&gt;Par le plus grand hasard, pendant la lecture d'un billet de &lt;a href=&quot;http://www.chevrel.org/fr/carnet/index.php?post/2009/12/18/Les-performances-Javascript-de-Firefox-%C3%A0-travers-le-temps&quot;&gt;Pascal sur les performances de firefox au fil des âges&lt;/a&gt;, je viens de m'apercevoir que je ne profitais en fait pas de &lt;a href=&quot;https://wiki.mozilla.org/JavaScript:TraceMonkey&quot;&gt;TraceMonkey, le compilateur JIT intégré à Firefox depuis la 3.5&lt;/a&gt;&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;C'est vrai que je n'avais pas fait très attention, mais que je n'avais pas non plus remarqué d'amélioration notable sur mon navigateur favori. En fait, c'était à cause du fait que j'avais, comme tout bon développeur qui se respecte :-), installé firebug depuis déjà un bon moment.&lt;/p&gt;


&lt;p&gt;Sur le blog de Pascal, la phrase suivante m'a donc fait tilter&amp;nbsp;:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;Un petit rappel si vous utilisez Firebug, votre moteur de compilation JIT de javascript est désactivé et vous aurez donc des perfs équivalentes à celles de Firefox 3.0, même si vous êtes en 3.5. La version 1.5beta7 de Firebug sortie hier devrait résoudre ce bug.&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Aussitôt dit, aussitôt fait. J'ai installé la version &lt;a href=&quot;http://getfirebug.com/releases/firebug/1.5X/&quot;&gt;1.5X.0b8 de firebug&lt;/a&gt; et j'ai tout de suite vu effectivement une différence. Gmail, Google Reader, Hudson, tout s'affiche plus vite.&lt;/p&gt;


&lt;p&gt;Comme j'avais fait le test &lt;a href=&quot;http://www2.webkit.org/perf/sunspider-0.9/sunspider-driver.html&quot;&gt;SunSpider&lt;/a&gt; avant la mise à jour, en gros, je peux vous dire que je suis passé de 3500 à 1500&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;Bref, installez-vite cette mise à jour&amp;nbsp;!&lt;/p&gt;</description>
    
    
    
          <comments>http://batmat.net/blog/post/2009/12/23/Vu-aucune-difference-de-performances-entre-firefox-35-et-les-versions-precedentes-%3A-vous-utiliseriez-Firebug#comment-form</comments>
      <wfw:comment>http://batmat.net/blog/post/2009/12/23/Vu-aucune-difference-de-performances-entre-firefox-35-et-les-versions-precedentes-%3A-vous-utiliseriez-Firebug#comment-form</wfw:comment>
      <wfw:commentRss>http://batmat.net/blog/feed/rss2/comments/313</wfw:commentRss>
      </item>
    
  <item>
    <title>Si vous maigrissez trop vite, prenez vos patch un jour sur deux</title>
    <link>http://batmat.net/blog/post/2009/12/21/Si-vous-maigrissez-trop-vite-prenez-vos-patch</link>
    <guid isPermaLink="false">urn:md5:86bb97aa4fb3dc3b7f78f700abccaf7f</guid>
    <pubDate>Mon, 21 Dec 2009 13:47:00 +0100</pubDate>
    <dc:creator>batmat</dc:creator>
        <category>Blogounette</category>
        <category>maigrir</category><category>vite</category>    
    <description>    &lt;p&gt;Je viens d'éclater de rire en voyant une publicité passer dans Gmail&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://batmat.net/dotclear/public/images/ScreenShot040.png&quot; alt=&quot;Maigrir trop vite...&quot; style=&quot;display:block; margin:0 auto;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Le plus extraordinaire, c'est que le site en question semble pourtant se vouloir très sérieux :-).&lt;/p&gt;</description>
    
    
    
          <comments>http://batmat.net/blog/post/2009/12/21/Si-vous-maigrissez-trop-vite-prenez-vos-patch#comment-form</comments>
      <wfw:comment>http://batmat.net/blog/post/2009/12/21/Si-vous-maigrissez-trop-vite-prenez-vos-patch#comment-form</wfw:comment>
      <wfw:commentRss>http://batmat.net/blog/feed/rss2/comments/312</wfw:commentRss>
      </item>
    
  <item>
    <title>Encoding par défaut avec XML : UTF-8</title>
    <link>http://batmat.net/blog/post/2009/11/19/Encoding-par-defaut-avec-XML-%3A-UTF-8</link>
    <guid isPermaLink="false">urn:md5:f4c8db93aa11420a0052b5ec55fd1943</guid>
    <pubDate>Thu, 19 Nov 2009 10:51:00 +0100</pubDate>
    <dc:creator>batmat</dc:creator>
        <category>Web Standards</category>
        <category>encoding</category><category>iso-8859-1</category><category>utf-8</category><category>xml</category>    
    <description>    &lt;p&gt;Nous gérons en ce moment un petit problème d'intégration avec des WebServices d'une entreprise qui ne s'attend qu'à du iso-8859-1.
XML a pourtant été conçu pour gérer plus simplement les problèmes de jeux de caractères et d'encodage utilisé, mais ce qui a été fait ne respecte tout simplement pas la spécification.&lt;/p&gt;


&lt;p&gt;En effet, notre code envoie une requête SOAP dans un tube HTTP annonçant de l'UTF-8. Comme ça ne marchait pas, nous avons carrément ajouté l'attribut encoding au prologue XML et retesté avec &lt;a href=&quot;http://www.soapui.org/&quot;&gt;Soapui&lt;/a&gt;, mais ça n'a rien donné.&lt;/p&gt;


&lt;p&gt;Alors, comme il faut que quelqu'un corrige son code, j'ai vérifié la &lt;a href=&quot;http://www.w3.org/TR/REC-xml/#sec-guessing&quot;&gt;spécification&lt;/a&gt;&lt;sup&gt;[&lt;a href=&quot;http://batmat.net/blog/post/2009/11/19/#pnote-311-1&quot; id=&quot;rev-pnote-311-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;, voici ce qui est indiqué&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Dans le cas où un encoding est précisé en externe, et que le prologue ne spécifie rien, c'est cet encoding qui est utilisé&lt;/li&gt;
&lt;li&gt;Si rien n'est spécifié dans les premiers octets du XML, alors on parse de l'UTF-8 par défaut.&lt;/li&gt;
&lt;li&gt;On trouve aussi cette phrase&amp;nbsp;: &lt;em&gt;&lt;a href=&quot;http://www.w3.org/TR/xml/#charsets&quot;&gt;All XML processors MUST accept the UTF-8 and UTF-16 encodings of Unicode&lt;/a&gt;&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bref, attendre de l'iso-8859-1 lorsque rien n'est indiqué est au minimum une bizarrerie, et au pire une erreur par rapport à ce que dit la spécification.&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://batmat.net/blog/post/2009/11/19/#rev-pnote-311-1&quot; id=&quot;pnote-311-1&quot;&gt;1&lt;/a&gt;] &lt;em&gt;Non-Normative&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;
</description>
    
    
    
          <comments>http://batmat.net/blog/post/2009/11/19/Encoding-par-defaut-avec-XML-%3A-UTF-8#comment-form</comments>
      <wfw:comment>http://batmat.net/blog/post/2009/11/19/Encoding-par-defaut-avec-XML-%3A-UTF-8#comment-form</wfw:comment>
      <wfw:commentRss>http://batmat.net/blog/feed/rss2/comments/311</wfw:commentRss>
      </item>
    
  <item>
    <title>Apache Subversion</title>
    <link>http://batmat.net/blog/post/2009/11/18/Apache-Subversion</link>
    <guid isPermaLink="false">urn:md5:c251a26d6aad7302c29338a7776835fc</guid>
    <pubDate>Wed, 18 Nov 2009 15:58:00 +0100</pubDate>
    <dc:creator>batmat</dc:creator>
        <category>Technique</category>
        <category>apache</category><category>subversion</category><category>tlp</category>    
    <description>    &lt;p&gt;Tiens, j'avais raté cette news (300 billets en attente dans mon google reader :-/, que je n'arrive à dépiler que 10 par 10. Ça ne suffit pas :-)) :
&lt;a href=&quot;http://www.collab.net/news/press/2009/svn-asf.html&quot;&gt;Subversion a intégré l'incubateur d'Apache&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;En français, ça veut dire que bientôt, Subversion sera un projet  faisant partie entièrement de la fondation Apache.
Subversion n'arrête pas son ascension, et c'est logique vu la qualité de l'outil.&lt;/p&gt;</description>
    
    
    
          <comments>http://batmat.net/blog/post/2009/11/18/Apache-Subversion#comment-form</comments>
      <wfw:comment>http://batmat.net/blog/post/2009/11/18/Apache-Subversion#comment-form</wfw:comment>
      <wfw:commentRss>http://batmat.net/blog/feed/rss2/comments/310</wfw:commentRss>
      </item>
    
  <item>
    <title>[Hudson] How to set a private maven repository by job and easily be able to delete them</title>
    <link>http://batmat.net/blog/post/2009/10/09/%5BHudson%5D-How-to-set-a-private-maven-repository-by-job-and-easily-be-able-to-delete-them</link>
    <guid isPermaLink="false">urn:md5:1eb535bfb6545a2edf56497456f1fc97</guid>
    <pubDate>Fri, 09 Oct 2009 10:17:00 +0200</pubDate>
    <dc:creator>batmat</dc:creator>
        <category>Technique</category>
        <category>hudson</category><category>maven</category>    
    <description>    &lt;p&gt;When building maven projects with hudson, there's some &lt;a href=&quot;http://www.sonatype.com/people/2009/01/maven-continuous-integration-best-practices/&quot;&gt;common best practices about maven repositories handling&lt;/a&gt; :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;isolate maven repositories between jobs&lt;/li&gt;
&lt;li&gt;regularly purge repositories&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;The problem&lt;/h3&gt;

&lt;p&gt;The basic way to do it is to activate the hudson per-job option : &quot;Use private Maven repository&quot;. But the thing is you have to do it for EVERY new job you add. There is no way inside hudson to activate it globally.&lt;/p&gt;


&lt;h3&gt;Documented solution&lt;/h3&gt;

&lt;p&gt;If you look at hudson help for this option, you'll see a link to a simple solution that &lt;a href=&quot;http://www.nabble.com/Hudson-on-2%2C-4%2C-8%2C-16-core-boxes--tt17767865.html#a17782153&quot;&gt;specify the repository directly in the maven settings.xml file&lt;/a&gt;.
The tip is to redefine the localRepository tag inside settings with this special value :&lt;/p&gt;
&lt;pre class=&quot;geshi&quot;&gt;&lt;code class=&quot;xml&quot;&gt;&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;localRepository&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;${env.WORKSPACE}/m2_repo&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/localRepository&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;This way, you're done with the first best practice : &lt;em&gt;isolate maven repositories&lt;/em&gt;. But not yet with the &lt;em&gt;regularly purge repositories&lt;/em&gt; one.
Actually, using this option will put the m2_repo inside each hudson job workspace. So, finding and deleting them could become a bit cumbersome. You'd have to cron something like &lt;code&gt;find . -name m2_repo -exec rm -rf &quot;{}&quot; \;&lt;/code&gt;.&lt;/p&gt;


&lt;h3&gt;Even better&lt;/h3&gt;

&lt;p&gt;As you might have understood, I was not thoroughly satisfied with this solution. I wanted to be able to &lt;em&gt;really easily&lt;/em&gt; delete the repositories. So I just changed the option above to have them all inside the same root directory under ~/.m2/repositories, one per job.&lt;/p&gt;


&lt;p&gt;Quite simple in fact, instead, just use :&lt;/p&gt;
&lt;pre class=&quot;geshi&quot;&gt;&lt;code class=&quot;xml&quot;&gt;&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;localRepository&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;/some/path/.m2/repositories/${env.JOB_NAME}/repository&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/localRepository&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;This way, the only thing you have to put in the cron job is &lt;code&gt;rm -rf /some/path/.m2/repositories/&lt;/code&gt;. A bit more straightforward, isn't it? &lt;img src=&quot;/dotclear/themes/default/smilies/smile.png&quot; alt=&quot;:-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Hope this helps.&lt;/p&gt;</description>
    
    
    
          <comments>http://batmat.net/blog/post/2009/10/09/%5BHudson%5D-How-to-set-a-private-maven-repository-by-job-and-easily-be-able-to-delete-them#comment-form</comments>
      <wfw:comment>http://batmat.net/blog/post/2009/10/09/%5BHudson%5D-How-to-set-a-private-maven-repository-by-job-and-easily-be-able-to-delete-them#comment-form</wfw:comment>
      <wfw:commentRss>http://batmat.net/blog/feed/rss2/comments/309</wfw:commentRss>
      </item>
    
  <item>
    <title>Encodages/jeux de caractères : Vincent et Hadrien, un grand merci !</title>
    <link>http://batmat.net/blog/post/2009/09/10/Encodages/jeux-de-caracteres-%3A-Vincent-et-Hadrien-un-grand-merci</link>
    <guid isPermaLink="false">urn:md5:9d22ad7e95ca518b2d2214045feb2bdd</guid>
    <pubDate>Thu, 10 Sep 2009 16:07:00 +0200</pubDate>
    <dc:creator>batmat</dc:creator>
        <category>Technique</category>
        <category>charset</category><category>encoding</category><category>iso</category><category>unicode</category>    
    <description>    &lt;p&gt;Non, ce billet n'est pas une nouvelle tentative d'explication de ce que sont encodages et jeux de caractères. Je garde toujours dans un coin de ma tête de chercher un jour à écrire moi aussi un billet sur le sujet. Qu'est-ce j'aimerais pouvoir faire comprendre ce sujet à la fois simple et complexe à tous en quelques mots...&lt;/p&gt;


&lt;p&gt;Non, ce billet est là pour remercier &lt;a href=&quot;http://genezys.net&quot;&gt;Vincent&lt;/a&gt; et &lt;a href=&quot;http://psydk.org/&quot;&gt;Hadrien&lt;/a&gt; pour leurs pages récapitulant les jeux de caractères les plus courants en France. Je viens de m'en servir à l'instant pour expliquer une nouvelle fois le sujet.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://psydk.org/mycharsets?charset=0&quot;&gt;iso-8859-1 (latin-1)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://psydk.org/mycharsets?charset=1&quot;&gt;iso-8859-15 (latin-9 ou latin-0)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://psydk.org/mycharsets?charset=2&quot;&gt;windows-1252&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://mess.genezys.net/unicode/&quot;&gt;Unicode&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Un autre site bien pratique, qui permet notamment d'avoir la valeur hexadécimale du stockage d'un point de code Unicode en UTF-8&amp;nbsp;: &lt;a href=&quot;http://www.fileformat.info/info/unicode/&quot;&gt;FileFormat.Info&lt;/a&gt;. Par exemple, le &lt;a href=&quot;http://www.fileformat.info/info/unicode/char/00ee/index.htm&quot;&gt;î (''LATIN SMALL LETTER I WITH CIRCUMFLEX'')&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Et encore un rappel d'articles en français que je vous conseille sur le sujet&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://french.joelonsoftware.com/Articles/Unicode.html&quot;&gt;http://french.joelonsoftware.com/Articles/Unicode.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://genezys.net/blog/post/99-comprendre-les-jeux-de-caracteres&quot;&gt;http://genezys.net/blog/post/99-comprendre-les-jeux-de-caracteres&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://batmat.net/blog/post/2009/09/10/Encodages/jeux-de-caracteres-%3A-Vincent-et-Hadrien-un-grand-merci#comment-form</comments>
      <wfw:comment>http://batmat.net/blog/post/2009/09/10/Encodages/jeux-de-caracteres-%3A-Vincent-et-Hadrien-un-grand-merci#comment-form</wfw:comment>
      <wfw:commentRss>http://batmat.net/blog/feed/rss2/comments/308</wfw:commentRss>
      </item>
    
  <item>
    <title>JSR 330 : Dependency Injection for Java</title>
    <link>http://batmat.net/blog/post/2009/05/29/JSR-330-%3A-Dependency-Injection-for-Java</link>
    <guid isPermaLink="false">urn:md5:6f157b7ab224a25772b80ee713f1d35a</guid>
    <pubDate>Fri, 29 May 2009 09:57:00 +0200</pubDate>
    <dc:creator>batmat</dc:creator>
        <category>Technique</category>
        <category>guice</category><category>injection de dépendances</category><category>java</category><category>spring</category>    
    <description>    &lt;p&gt;Récemment, SpringSource (Rod Johnson, créateur de Spring) et Google (Bob Lee, coauteur de Guice) lançaient une &lt;a href=&quot;http://docs.google.com/Doc?id=dd2fhx4z_13cw24s7dj&quot; hreflang=&quot;en&quot;&gt;proposition de &lt;acronym title=&quot;Java Specification Request&quot;&gt;JSR&lt;/acronym&gt; visant à standardiser un jeu d'annotations pour gérer l'injection de dépendances&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Cette proposition, « &lt;a href=&quot;http://jcp.org/en/jsr/detail?id=330&quot;&gt;Dependency Injection for Java&lt;/a&gt; », est devenue une véritable JSR depuis 3 jours.&lt;/p&gt;


&lt;p&gt;Personnellement, j'ai hâte de voir ce qui va ressortir de ce travail. Notamment, je regarderai attentivement en quoi cela complètera ou s'intégrera avec les annotations de &lt;a href=&quot;http://jcp.org/en/jsr/detail?id=250&quot;&gt;common annotations&lt;/a&gt; (JSR 250, dont sont notamment issues @PostConstruct, @PreDestroy, @Resource) et éventuellement les annotations de la spécification des EJB3 (@TransactionAttribute, notamment).&lt;/p&gt;


&lt;p&gt;Comme la spécification sera développée avec un &lt;acronym title=&quot;Source Control Manager&quot;&gt;scm&lt;/acronym&gt; et une liste de diffusion accessibles publiquement, j'essaierai de vous en dire plus à ce sujet dès que possible.&lt;/p&gt;


&lt;p&gt;À suivre.&lt;/p&gt;</description>
    
    
    
          <comments>http://batmat.net/blog/post/2009/05/29/JSR-330-%3A-Dependency-Injection-for-Java#comment-form</comments>
      <wfw:comment>http://batmat.net/blog/post/2009/05/29/JSR-330-%3A-Dependency-Injection-for-Java#comment-form</wfw:comment>
      <wfw:commentRss>http://batmat.net/blog/feed/rss2/comments/307</wfw:commentRss>
      </item>
    
  <item>
    <title>Citation du jour : Clémenceau</title>
    <link>http://batmat.net/blog/post/2009/05/28/Citation-du-jour-%3A-Clemenceau</link>
    <guid isPermaLink="false">urn:md5:78c63d82bb55c742e0520ff5b4ae1f89</guid>
    <pubDate>Thu, 28 May 2009 08:23:00 +0200</pubDate>
    <dc:creator>batmat</dc:creator>
        <category>Blogounette</category>
        <category>clémenceau</category><category>faure</category>    
    <description>    &lt;p&gt;En lisant un bouquin, j'ai découvert l'histoire de la mort de Félix Faure, et le commentaire fait par Clémenceau après son décès.
Félix Faure, président français de la fin du 19e siècle, est en effet mort en pleins ébats avec sa maîtresse.&lt;/p&gt;


&lt;p&gt;Et Clémenceau, publiquement de dire&amp;nbsp;:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;Il a voulu vivre César et il est mort Pompée.&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Superbe, Georges ! &lt;img src=&quot;/dotclear/themes/default/smilies/smile.png&quot; alt=&quot;:-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://batmat.net/blog/post/2009/05/28/Citation-du-jour-%3A-Clemenceau#comment-form</comments>
      <wfw:comment>http://batmat.net/blog/post/2009/05/28/Citation-du-jour-%3A-Clemenceau#comment-form</wfw:comment>
      <wfw:commentRss>http://batmat.net/blog/feed/rss2/comments/306</wfw:commentRss>
      </item>
    
  <item>
    <title>Java User Group Toulouse : première conférence</title>
    <link>http://batmat.net/blog/post/2009/05/11/Java-User-Group-Toulouse-%3A-premiere-conference</link>
    <guid isPermaLink="false">urn:md5:95766b43b563a43820797e5db273be40</guid>
    <pubDate>Mon, 11 May 2009 08:44:00 +0200</pubDate>
    <dc:creator>batmat</dc:creator>
        <category>Technique</category>
        <category>jugtoulouse</category>    
    <description>    &lt;p&gt;Pour ceux qui n'auraient pas encore vu passer l'information, demain soir a lieu la &lt;a href=&quot;http://www.jugtoulouse.org/index.php?option=com_content&amp;amp;view=article&amp;amp;id=54:la-premiere-&amp;amp;catid=1:latest-news&quot;&gt;première session du JUG toulousain&lt;/a&gt;. Vous êtes évidemment les bienvenus&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;Au &lt;a href=&quot;http://www.jugtoulouse.org/index.php?option=com_content&amp;amp;view=article&amp;amp;id=54:la-premiere-&amp;amp;catid=1:latest-news&quot;&gt;programme, GWT et Java ME&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;À demain&amp;nbsp;!&lt;/p&gt;</description>
    
    
    
          <comments>http://batmat.net/blog/post/2009/05/11/Java-User-Group-Toulouse-%3A-premiere-conference#comment-form</comments>
      <wfw:comment>http://batmat.net/blog/post/2009/05/11/Java-User-Group-Toulouse-%3A-premiere-conference#comment-form</wfw:comment>
      <wfw:commentRss>http://batmat.net/blog/feed/rss2/comments/305</wfw:commentRss>
      </item>
    
  <item>
    <title>L'église catholique à côté de la plaque</title>
    <link>http://batmat.net/blog/post/2009/03/27/Leglise-catholique-a-cote-de-la-plaque</link>
    <guid isPermaLink="false">urn:md5:67e95748d93187c7c3d2590df36ca6f9</guid>
    <pubDate>Fri, 27 Mar 2009 10:16:00 +0100</pubDate>
    <dc:creator>batmat</dc:creator>
        <category>Société</category>
        <category>andré</category><category>fort</category><category>ramolli</category><category>sida</category>    
    <description>    &lt;p&gt;Après la récente intervention &lt;em&gt;controversée&lt;/em&gt; du pape&lt;sup&gt;[&lt;a href=&quot;http://batmat.net/blog/post/2009/03/27/#pnote-303-1&quot; id=&quot;rev-pnote-303-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;, on a par contre maintenant affaire à un véritable débile en la personne d'André Fort.&lt;/p&gt;


&lt;p&gt;Je viens en effet de l'entendre nous expliquer à la radio que (de mémoire)&amp;nbsp;:
&lt;q&gt;les scientifiques savent très bien que le virus du SIDA est trop petit et traverse la paroi du préservatif&lt;/q&gt; (!).&lt;/p&gt;


&lt;p&gt;Inutile de préciser que toute la communité scientifique est dite indignée par de tels propos...
Et rappelons que si ! N'en déplaise à ce ramolli du bulbe d'André Fort, l'usage du préservatif est très sûr.&lt;/p&gt;


&lt;p&gt;Il est inadmissible de chercher à appuyer ses propos de la sorte en se référant à des soi-disants &quot;scientifiques&quot;. Ça me rappelle les créationnistes&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;Cela risque d'avoir simplement un impact sur la frange peut-être la plus fragile de la population qui pourrait croire ce discours, et à exaspérer encore davantage les catholiques... Je suis personnellement d'éducation catholique et non pratiquant (je n'ose pas dire simplement &quot;catholique non pratiquant&quot;) et les propos de ce genre de décérébré me rendent dingue.&lt;/p&gt;


&lt;p&gt;Heureusement que je connais d'autres prêtres plus intelligents, plus pragmatiques, plus ancrés dans la vie de tous les jours, pour ne pas me mettre simplement à penser comme certains doivent certainement le faire (et on peut les comprendre...)&amp;nbsp;: &quot;décidément, ces catholiques, qu'est-ce qu'ils peuvent être cons !&quot;.&lt;/p&gt;


&lt;p&gt;À bon entendeur.&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://batmat.net/blog/post/2009/03/27/#rev-pnote-303-1&quot; id=&quot;pnote-303-1&quot;&gt;1&lt;/a&gt;] attention à bien toutefois se renseigner quant aux propos exacts du pape avant de critiquer, cf. &lt;a href=&quot;http://www.maitre-eolas.fr/2009/03/18/1347-la-bonne-parole-est-a-la-defense&quot;&gt;la note de Maître Eolas&lt;/a&gt; par exemple. On a toujours l'air très con à critiquer des propos qui ne sont pas ceux que l'on pense précisément.&lt;/p&gt;&lt;/div&gt;
</description>
    
    
    
          <comments>http://batmat.net/blog/post/2009/03/27/Leglise-catholique-a-cote-de-la-plaque#comment-form</comments>
      <wfw:comment>http://batmat.net/blog/post/2009/03/27/Leglise-catholique-a-cote-de-la-plaque#comment-form</wfw:comment>
      <wfw:commentRss>http://batmat.net/blog/feed/rss2/comments/303</wfw:commentRss>
      </item>
    
  <item>
    <title>Abattre des cloisons non porteuses en briques</title>
    <link>http://batmat.net/blog/post/2009/03/15/Abattre-mur-et-plafond</link>
    <guid isPermaLink="false">urn:md5:47c6793ca9a5665f3695ea56f5b096b1</guid>
    <pubDate>Sun, 15 Mar 2009 09:53:00 +0100</pubDate>
    <dc:creator>batmat</dc:creator>
        <category>Travaux</category>
        <category>abattre</category><category>mur</category><category>plafonnette</category><category>travaux</category>    
    <description>    &lt;p&gt;Dans les travaux de notre maison actuellement, je me suis enfin décidé à expliquer comment nous avons procédé pour l'abattage de cloisons. Plusieurs personnes ont semble-t-il été étonnées que je n'en parlasse point avant :-).&lt;/p&gt;


&lt;h3&gt;Abattre des cloisons en brique&lt;/h3&gt;

&lt;p&gt;Nous avions environ 30 à 40 mètres linéaires à abattre, sur des hauteurs de 2m50 ou 2m80. L'objectif était d'abattre absolument toutes les cloisons, parce que nous n'avions pas de mur porteur (seuls les murs extérieurs sont porteurs sur cette maison). Ces cloisons étaient en brique de 7cm d'épaisseur.&lt;/p&gt;


&lt;h4&gt;Première étape&amp;nbsp;: se faire une idée de la difficulté des opérations&lt;/h4&gt;

&lt;p&gt;J'ai commencé par créer un passage entre les pièces pour faciliter la circulation. Ce premier perçage avait aussi pour objectif d'avoir une idée de la vitesse à laquelle nous pourrions abattre le reste.&lt;/p&gt;


&lt;p&gt;J'y suis allé franco&amp;nbsp;: à grands coups de masse. (J'avais acheté cette &quot;&lt;a href=&quot;http://www.castorama.fr/store/masse-tranche-4-kg-emmanch-e-PPRDm637083.htm&quot;&gt;masse trancheuse&lt;/a&gt;&quot; chez Casto. Le côté &quot;tranchant&quot; est effectivement bien pratique.).&lt;/p&gt;


&lt;p&gt;Note à ce propos&amp;nbsp;: faites très attention à ce qu'il n'y ait rien qui craigne les projections de gravats de l'autre côté de la cloison sur laquelle vous vous acharnez. En effet, taper à coup de masses dedans a dans mon cas projeté des gravats largement jusqu'au mur suivant (situé à environ 4 mètres). Réfléchissez donc aux fenêtres qui peuvent se trouver derrière, ou simplement aux personnes qui travaillent avec vous. Dans ce dernier cas, hurlez simplement &lt;strong&gt;tiiimbeeeer&lt;/strong&gt; avant de taper, ça fonctionne généralement plutôt bien :-).&lt;/p&gt;


&lt;h4&gt;Deuxième étape&amp;nbsp;: industrialiser le processus&lt;/h4&gt;

&lt;p&gt;La technique du &quot;c'est moi que vlà avec ma masse&quot;, c'est bien. Mais si vous cassez progressivement et simplement autour du point initial, ça va vous faire des tonnes de gravats à transporter par petits morceaux. Je vous la déconseille donc.&lt;/p&gt;


&lt;p&gt;Je vous recommande en effet plutôt une technique que j'ai adoptée ensuite&amp;nbsp;: casser le mur en faisant des grosses saignées pour réaliser des carrés de briques transportables. C'est plus simple à transporter dans la voiture que tout casser en petits bouts...&lt;/p&gt;


&lt;p&gt;Pour vous, j'ai testé plusieurs techniques&amp;nbsp;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;img src=&quot;http://batmat.net/dotclear/public/images/.1-apres-meulage_s.jpg&quot; alt=&quot;Ma tête après le meulage&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt; À la meuleuse d'angle et disque diamant (on l'appelle aussi souvent &quot;disqueuse&quot;)&amp;nbsp;: bof. Je vous la déconseille plutôt, sauf si vous avez besoin d'une découpe au millimètre. Mais ATTENTION&amp;nbsp;: si vous partez sur cette technique, préparez vous à faire de la poussière. Mais quand je dis poussière, je ne plaisante pas. La pièce sera remplie de poussière après 5 minutes de meulage...&lt;/li&gt;
&lt;li&gt;à la masse petit bout par petit bout&amp;nbsp;: vous faites un trou, puis vous l'élargissez progressivement. Cette technique a le gros inconvénient de vous imposer un long et fastidieux ramassage de gravats après coup. Je vous la déconseille aussi. Vous devrez aussi investir à mon avis dans un nombre très important de &quot;sacs de gravats&quot; (j'y reviens plus bas) ;&lt;/li&gt;
&lt;li&gt;à la masse, avec des saignées pour essayer d'obtenir des plaques de par exemple environ 1m² plus facilement transportables ;&lt;/li&gt;
&lt;li&gt;à la masse et au marteau, par pan de cloison entier... On part toujours sur le principe des saignées, sauf qu'on part du sol, on va jusqu'au plafond. On fait la saignée au ras du plafond avec escabeau et marteau, puis on redescend jusqu'au sol au bout de quelques mètres. Vous l'aurez compris. Cette technique est de loin la plus rapide. Un conseil toutefois&amp;nbsp;: soyez plusieurs et au moment où vous faites descendre la cloison, retenez la le plus longtemps possible. Par exemple, à trois, nous retenions sans aucun souci une cloison de 2m50 par environ 3m. Pensez aussi à mettre au sol des tapis ou toute chose de ce genre pour amortir le choc de la chute lorsque vous ne pouvez pas retenir jusqu'au bout. Nous avons utilisé cette technique pour les derniers 90% des cloisons sans soucis. Son gros avantage est qu'on peut ensuite simplement récupérer des morceaux de taille assez importante au sol sans trop de petits morceaux.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;img src=&quot;http://batmat.net/dotclear/public/images/.chute-accompagnee-cloison_s.jpg&quot; alt=&quot;Chute de cloison accompagnée...&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; /&gt;&lt;img src=&quot;http://batmat.net/dotclear/public/images/.saignees-cloison_s.jpg&quot; alt=&quot;Saignée dans les cloisons à abattre&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;
À propos des petits morceaux, les nombreux &quot;bouts&quot; de gravats que ce genre de travaux va vous produire, un conseil important&amp;nbsp;: achetez des &quot;sacs à gravats&quot; (&lt;a href=&quot;http://www.castorama.fr/store/5-sacs---gravats-50-litres-PPRDm290929.htm&quot;&gt;comme ceux-là&lt;/a&gt;). Ce sont des sacs en plastique extrêmement épais qui sont très utiles lorsqu'il faut balayer puis convoyer jusqu'à la déchetterie les bouts de briques cassées sur le sol. Attention, ne les jetez pas avec les gravats... Videz les simplement et réutilisez les jusqu'à ce qu'ils rendent l'âme (jusqu'ici, je dirais que nous avons utilisé chaque sac environ 5 à 10 fois, nous en avions acheté 24...)&lt;/p&gt;


&lt;p&gt;Si vous avez des questions, n'hésitez pas.&lt;/p&gt;


&lt;p&gt;Dans le prochain épisode, si vous êtes sage&amp;nbsp;: abattre un plafond en &lt;em&gt;plafonnette&lt;/em&gt; ou en &lt;em&gt;lattis&lt;/em&gt; (oui, j'ai les deux).&lt;/p&gt;</description>
    
    
    
          <comments>http://batmat.net/blog/post/2009/03/15/Abattre-mur-et-plafond#comment-form</comments>
      <wfw:comment>http://batmat.net/blog/post/2009/03/15/Abattre-mur-et-plafond#comment-form</wfw:comment>
      <wfw:commentRss>http://batmat.net/blog/feed/rss2/comments/302</wfw:commentRss>
      </item>
    
  <item>
    <title>Eclipse Killer Feature (un de plus) : formatage automatique du code modifié</title>
    <link>http://batmat.net/blog/post/2009/02/25/Eclipse-Killer-Feature-un-de-plus-%3A-formatage-automatique-du-code-modifie</link>
    <guid isPermaLink="false">urn:md5:c91c90995414689955b170b046885834</guid>
    <pubDate>Wed, 25 Feb 2009 17:28:00 +0100</pubDate>
    <dc:creator>batmat</dc:creator>
        <category>Technique</category>
        <category>eclipse</category><category>killer feature</category>    
    <description>    &lt;p&gt;Voilà pourquoi j'utilise Eclipse, pour ce genre d'apports qui peut paraître mineur au premier abord, mais qui en fait nous change la vie.&lt;/p&gt;


&lt;p&gt;Lorsqu'on développe dans une équipe, on souhaite généralement appliquer entre autre des normes communes de formatage. Dans Eclipse, le Ctrl-Shift-F permet d'exécuter le formatage sur le fichier (ou sur toute une arborescence) selon le modèle qu'on aura défini et chargé au préalable.&lt;/p&gt;


&lt;p&gt;Le Ctrl-Shift-F a cependant un défaut : sans sélection préalable, il va formater le fichier complet. La fois suivante que vous envoyez vos modifications aux gestionnaires de version (commit avec svn, par exemple), les développeurs qui récupèrent votre modification peuvent se demander pourquoi vous êtes allé modifier tout le fichier pour une simple faute de frappe...&lt;/p&gt;


&lt;p&gt;Autre cas encore plus problématique : vous faites du développement &lt;a href=&quot;http://batmat.net/blog/post/2009/02/25/Model driven architecture&quot;&gt;MDA&lt;/a&gt;. Une partie plus ou moins importante de votre code est donc générée. Vous ne devez donc a priori surtout pas toucher au code en dehors de ce qu'on appelle généralement le code utilisateur (on retrouve ce principe avec acceleo il me semble). Du genre&lt;/p&gt;
&lt;pre class=&quot;geshi&quot;&gt;&lt;code class=&quot;java&quot;&gt;&lt;span class=&quot;co1&quot;&gt;// Ici, le code modifié manuellement sera écrasé par le générateur.&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span class=&quot;co1&quot;&gt;// [DEBUT:METHODES]&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;co1&quot;&gt;// Là, le code ne sera pas écrasé à la régénération suivante.&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span class=&quot;co1&quot;&gt;// [FIN:METHODES] &lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Depuis la 3.3 d'Eclipse, dans la partie Java/Editor/Save Actions de Window/Preferences, on peut demander à ce que le code qu'on vient de modifier soit automatiquement formaté... C'est pas formidable, ça&amp;nbsp;? À chaque Ctrl-S, le code modifié et uniquement celui-ci va subir le formatage adéquat...
Via cette fonctionnalité, vous pouvez automatiser tout plein d'autres choses au moment de la sauvegarde, je vous laisse jouer avec :-).&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://batmat.net/dotclear/public/images/java-editor-saveactions.png&quot; alt=&quot;java-editor-saveactions.png&quot; style=&quot;display:block; margin:0 auto;&quot; /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://batmat.net/blog/post/2009/02/25/Eclipse-Killer-Feature-un-de-plus-%3A-formatage-automatique-du-code-modifie#comment-form</comments>
      <wfw:comment>http://batmat.net/blog/post/2009/02/25/Eclipse-Killer-Feature-un-de-plus-%3A-formatage-automatique-du-code-modifie#comment-form</wfw:comment>
      <wfw:commentRss>http://batmat.net/blog/feed/rss2/comments/301</wfw:commentRss>
      </item>
    
  <item>
    <title>Java User Group Toulouse</title>
    <link>http://batmat.net/blog/post/2009/01/30/Java-User-Group-Toulouse</link>
    <guid isPermaLink="false">urn:md5:272da35830a840e07e961c9acf912048</guid>
    <pubDate>Fri, 30 Jan 2009 10:10:00 +0100</pubDate>
    <dc:creator>batmat</dc:creator>
        <category>Technique</category>
        <category>java</category><category>jug</category><category>user group</category>    
    <description>    &lt;p&gt;Via &lt;a href=&quot;http://www.dng-consulting.com/blogs/index.php/2009/01/30/olaeacute-craeacute-ation-du-jug-toulous?blog=1&quot;&gt;Sami&lt;/a&gt;, j'apprends ce matin que ça y est, le &lt;a href=&quot;http://www.jugtoulouse.org/&quot;&gt;JUG Toulouse&lt;/a&gt; est né.
Je me suis d'ores et déjà inscrit à liste de diffusion.&lt;/p&gt;


&lt;p&gt;J'espère que je trouverai le temps de participer à ce groupe malgré les importants travaux à faire dans la maison que nous venons d'acheter.&lt;/p&gt;


&lt;p&gt;PS&amp;nbsp;: Sami, merci encore pour la bétonnière :-).&lt;/p&gt;</description>
    
    
    
          <comments>http://batmat.net/blog/post/2009/01/30/Java-User-Group-Toulouse#comment-form</comments>
      <wfw:comment>http://batmat.net/blog/post/2009/01/30/Java-User-Group-Toulouse#comment-form</wfw:comment>
      <wfw:commentRss>http://batmat.net/blog/feed/rss2/comments/299</wfw:commentRss>
      </item>
    
  <item>
    <title>Drop sequences for Oracle</title>
    <link>http://batmat.net/blog/post/2008/12/22/Drop-sequences-for-Oracle</link>
    <guid isPermaLink="false">urn:md5:6b8b768dceeb499852cad22700e45c1a</guid>
    <pubDate>Mon, 22 Dec 2008 09:41:00 +0100</pubDate>
    <dc:creator>batmat</dc:creator>
        <category>Technique</category>
            
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.adam-bien.com/roller/abien/entry/generating_drop_tables_for_oracle&quot; hreflang=&quot;en&quot;&gt;Adam already showed how to generate all the drop table statements&lt;/a&gt; (impossible to trackback):&lt;/p&gt;
&lt;pre class=&quot;geshi&quot;&gt;&lt;code class=&quot;sql&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;SELECT&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;'drop table '&lt;/span&gt;||table_name||&lt;span class=&quot;st0&quot;&gt;' CASCADE CONSTRAINTS;'&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;FROM&lt;/span&gt; USER_TABLES&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;As I just needed to drop sequences, based on Adam's query, here's the necessary:&lt;/p&gt;
&lt;pre class=&quot;geshi&quot;&gt;&lt;code class=&quot;sql&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;SELECT&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;'drop sequence '&lt;/span&gt;||sequence_name||&lt;span class=&quot;st0&quot;&gt;';'&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;FROM&lt;/span&gt; USER_SEQUENCES;&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Quite straightforward indeed.&lt;/p&gt;


&lt;p&gt;Hope this helps.&lt;/p&gt;</description>
    
    
    
          <comments>http://batmat.net/blog/post/2008/12/22/Drop-sequences-for-Oracle#comment-form</comments>
      <wfw:comment>http://batmat.net/blog/post/2008/12/22/Drop-sequences-for-Oracle#comment-form</wfw:comment>
      <wfw:commentRss>http://batmat.net/blog/feed/rss2/comments/298</wfw:commentRss>
      </item>
    
  <item>
    <title>À quelle vitesse vous tapez ?</title>
    <link>http://batmat.net/blog/post/2008/11/28/A-quelle-vitesse-vous-tapez</link>
    <guid isPermaLink="false">urn:md5:2231d7eadd42313b403c73f6a995bcee</guid>
    <pubDate>Fri, 28 Nov 2008 20:22:00 +0100</pubDate>
    <dc:creator>batmat</dc:creator>
        <category>Blogounette</category>
        <category>clavier</category><category>vitesse</category>    
    <description>    &lt;a href=&quot;http://french-speedtest.10-fast-fingers.com&quot; style=&quot;background: transparent url(http://speedtest.10-fast-fingers.com/img/french-badge1.png) no-repeat scroll 0% 0%; display: block; width: 300px; height: 100px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; padding-top: 50px; padding-left: 60px; color: rgb(0, 153, 51); font-weight: bold; text-decoration: none; font-family: Times New Roman,Arial,serif; font-size: 40px;&quot;&gt;41 mots&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;http://french-speedtest.10-fast-fingers.com&quot;&gt;Speed test&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://batmat.net/blog/post/2008/11/28/A-quelle-vitesse-vous-tapez#comment-form</comments>
      <wfw:comment>http://batmat.net/blog/post/2008/11/28/A-quelle-vitesse-vous-tapez#comment-form</wfw:comment>
      <wfw:commentRss>http://batmat.net/blog/feed/rss2/comments/297</wfw:commentRss>
      </item>
    
  <item>
    <title>L'image du jour</title>
    <link>http://batmat.net/blog/post/2008/10/17/Limage-du-jour</link>
    <guid isPermaLink="false">urn:md5:919ffcffc86f89ccba378dec1fceffe0</guid>
    <pubDate>Fri, 17 Oct 2008 21:14:00 +0200</pubDate>
    <dc:creator>batmat</dc:creator>
        <category>Blogounette</category>
            
    <description>    &lt;p&gt;Reçu ça il y a quelques jours, ça m'a beaucoup fait rire :
&lt;img src=&quot;http://batmat.net/dotclear/public/images/tapette.jpg&quot; alt=&quot;tapette.jpg&quot; /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://batmat.net/blog/post/2008/10/17/Limage-du-jour#comment-form</comments>
      <wfw:comment>http://batmat.net/blog/post/2008/10/17/Limage-du-jour#comment-form</wfw:comment>
      <wfw:commentRss>http://batmat.net/blog/feed/rss2/comments/296</wfw:commentRss>
      </item>
    
  <item>
    <title>Leçon de politique politicienne à l'américaine</title>
    <link>http://batmat.net/blog/post/2008/09/30/Lecon-de-politique-politicienne-a-lamericaine</link>
    <guid isPermaLink="false">urn:md5:404d35d8eee8baea432a8424cdc28d9b</guid>
    <pubDate>Tue, 30 Sep 2008 13:51:00 +0200</pubDate>
    <dc:creator>batmat</dc:creator>
        <category>Société</category>
        <category>crise</category><category>mccain</category><category>obama</category><category>états-unis</category>    
    <description>    &lt;p&gt;Je viens de lire &lt;a href=&quot;http://www.lemonde.fr/elections-americaines/article/2008/09/30/les-candidats-se-repositionnent-apres-le-rejet-du-plan-paulson_1101156_829254.html&quot;&gt;cet article du monde à propos du rejet du plan Paulson&lt;/a&gt;. Très fort, ce Douglas Holtz-Eakin...&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;Si M. McCain a évité de s'en prendre trop frontalement à Obama, son conseiller économique, Douglas Holtz-Eakin, n'a pas pris de pincettes.&lt;/p&gt;
&lt;p&gt;
Si l'adoption du plan de relance a échoué, explique-t-il, c'est &quot;à cause de Barack Obama et des démocrates, qui mettent la politique avant le pays&quot;. [...] Sur les 433 élus de la Chambre basse, 228 ont voté contre, dont &lt;strong&gt;133 républicains&lt;/strong&gt; et 95 démocrates.&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Refaisons le compte, d'après wikipedia, la &lt;a href=&quot;http://fr.wikipedia.org/wiki/Chambre_des_repr%C3%A9sentants_des_%C3%89tats-Unis&quot;&gt;chambre des représentants des États-Unis&lt;/a&gt;, aussi appelée &lt;em&gt;chambre basse&lt;/em&gt;, est composée de 435 membres, répartis comme suit :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Républicains : 202 sièges&lt;/li&gt;
&lt;li&gt;Démocrates : 233 sièges&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Et on nous dit donc qu'ont voté &lt;strong&gt;contre&lt;/strong&gt; le plan Paulson :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;133 républicains&lt;/li&gt;
&lt;li&gt;92 démocrates&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Comptons les votes pour :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Républicains&amp;nbsp;: 69 votes, soit 34% des républicains&lt;/li&gt;
&lt;li&gt;Démocrates : 141 votes, soit 60% des démocrates&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;En résumé, Douglas Holtz-Eakin, républicain, accuse les démocrates qui ont voté massivement pour (autant en nombre qu'en pourcentage) d'avoir fait échouer le plan Paulson...
C'est pas un rien malhonnête, ça, mon petit monsieur ?&lt;/p&gt;</description>
    
    
    
          <comments>http://batmat.net/blog/post/2008/09/30/Lecon-de-politique-politicienne-a-lamericaine#comment-form</comments>
      <wfw:comment>http://batmat.net/blog/post/2008/09/30/Lecon-de-politique-politicienne-a-lamericaine#comment-form</wfw:comment>
      <wfw:commentRss>http://batmat.net/blog/feed/rss2/comments/295</wfw:commentRss>
      </item>
    
</channel>
</rss>