<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
   <channel>
      <title>PoXd</title>
      <link>http://www.poxd.org//</link>
      <description />
      <language>fr</language>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs>
      <generator>Hyde</generator>
      <webMaster>jacqueminv@gmail.com (Valentin Jacquemin)</webMaster>
          
      <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/poxd-feed" /><feedburner:info uri="poxd-feed" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
         <title>Critique de livre: Le seigneur des anneaux</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/p-viOP81LNM/critique-de-livre-le-seigneur-des-anneaux.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/critique-de-livre-le-seigneur-des-anneaux.html</guid>
         <description>&lt;p&gt;En trois tomes, Tolkien fait voyager le lecteur dans les plaines du
Gondor aux côtés des désormais 8 célèbres protagonistes de cette
aventure&amp;nbsp;fantastique.&lt;/p&gt;
&lt;p&gt;Pour être franc je n&amp;#8217;ai pas été un immense fan de l&amp;#8217;adaptation
cinématographique de la part de Peter Jackson. Du moins au
départ. J&amp;#8217;ai commencé par le 2ème volet et il faut bien dire ce qui
n&amp;#8217;est pas très judicieux. Sans vraiment connaître l&amp;#8217;histoire et les
personnages je me suis ennuyé durant le film à voir ces arbres nommés
&lt;em&gt;ents&lt;/em&gt; faire durer en longueur toutes ces histoires avec Merry et
Pipin sur leurs&amp;nbsp;branches.&lt;/p&gt;
&lt;p&gt;Mais ça ce n&amp;#8217;est que mon avis à propos des films et d&amp;#8217;ailleurs après
avoir pu voir la série dans l&amp;#8217;ordre je me suis bien plus laissé&amp;nbsp;séduire.&lt;/p&gt;
&lt;p&gt;Si je reviens aux livres je ne peux qu&amp;#8217;en dire du bien. C&amp;#8217;est magique,
un voyage extraordinaire, tout ce que j&amp;#8217;ai envie de dire c&amp;#8217;est que
j&amp;#8217;adore ces hobbits et que j&amp;#8217;ai envie de les rejoindre à Hobittbourg de&amp;nbsp;suite!&lt;/p&gt;
&lt;p&gt;L&amp;#8217;écriture est enchanteresse. On se plonge volontiers dans ces
immenses plaines à la recherche du meilleur chemin pour atteindre le
Mont du Destin. On a envie de faire partie de la&amp;nbsp;troupe.&lt;/p&gt;
&lt;p&gt;Pour ma part vous l&amp;#8217;aurez compris ce serait de préférence sous la peau
d&amp;#8217;un hobbit. Je crois que j&amp;#8217;aime surtout Sam. Tous les hobbits aiment
particulièrement manger et boire mais il est le seul à se trimbaler
ses casseroles dans l&amp;#8217;aventure! C&amp;#8217;est le seul à faillir faire tout
capoter lorsqu&amp;#8217;il fait rôtir un lapin pour son exténué de maître&amp;#8230; Et
moi ça me fait bien rire ce genre de&amp;nbsp;péripétie.&lt;/p&gt;
&lt;p&gt;Rejoignez-moi et&amp;nbsp;criez:&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Vive les Semi-Hommes! Louez-les avec de grandes&amp;nbsp;louanges!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je ne peux que recommander chaudement de lire ces livres. Les films
sont bien je les aime aujourd&amp;#8217;hui mais bien sûr les livres regorgent
d&amp;#8217;une pléthore de détails et d&amp;#8217;épisodes que le film a dû&amp;nbsp;délaisser.&lt;/p&gt;
&lt;div class="centered"&gt;
  &lt;iframe src="http://rcm-fr.amazon.fr/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=thpowo-21&amp;o=8&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;md=0V7HTNAW9BB7KPZWWWG2&amp;asins=2266154117" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;
&lt;iframe src="http://rcm-fr.amazon.fr/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=thpowo-21&amp;o=8&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;md=0V7HTNAW9BB7KPZWWWG2&amp;asins=2266154133" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;
&lt;iframe src="http://rcm-fr.amazon.fr/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=thpowo-21&amp;o=8&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;md=0V7HTNAW9BB7KPZWWWG2&amp;asins=2266154125" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;
  &lt;p class="caption"&gt;
    En achetant l&amp;#8217;un de ces livres en cliquant sur les images vous me permettrez de recevoir une commission de la part&amp;nbsp;d&amp;#8217;Amazon.
  &lt;/p&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/p-viOP81LNM" height="1" width="1"/&gt;</description>
         <pubDate>02 Sep 10 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/critique-de-livre-le-seigneur-des-anneaux.html</feedburner:origLink></item>    
      <item>
         <title>Mon retour sur Jazoon</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/u3M3dKaVep4/mon-retour-sur-jazoon.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/mon-retour-sur-jazoon.html</guid>
         <description>&lt;p&gt;C&amp;#8217;est dans le complexe cinématographique Arena Filmcity de Zürich que
j&amp;#8217;ai participé à ma toute première conférence internationale sur
Java. Sur une durée de trois jours, c&amp;#8217;est comme un petit gamin
émerveillé par un mur de bonbons que j&amp;#8217;ai navigué de session en
session dont voici un aperçu&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt;. La conférence s&amp;#8217;est déroulée du 1 au
3 juin j&amp;#8217;ai donc plus d&amp;#8217;un mois de retard sur les faits mais ça prend
du temps tout de même d&amp;#8217;écrire un article pareil, non&amp;nbsp;mais!&lt;/p&gt;
&lt;p&gt;Toutes les présentations dans un zip &lt;a href="http://jazoon.com/Portals/0/Content/downloads/Jazoon%2710_Presentation_Slides.zip"&gt;ici&lt;/a&gt;&lt;/p&gt;
&lt;div class="toc"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#le-mardi"&gt;Le mardi&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="#java-se-and-javafx-the-road-ahead"&gt;Java &lt;span class="caps"&gt;SE&lt;/span&gt; and JavaFX: The Road&amp;nbsp;Ahead&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#the-java-ee-6-platform-powerful-productive-extensible"&gt;The Java &lt;span class="caps"&gt;EE&lt;/span&gt; 6 Platform: Powerful, Productive, Extensible&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="#web-profile"&gt;Web&amp;nbsp;Profile&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#packaging"&gt;Packaging&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#jax-rs-11"&gt;&lt;span class="caps"&gt;JAX&lt;/span&gt;-&lt;span class="caps"&gt;RS&lt;/span&gt;&amp;nbsp;1.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#ejb"&gt;&lt;span class="caps"&gt;EJB&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#bean-validation"&gt;Bean&amp;nbsp;Validation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#di-dependency-injection"&gt;&lt;span class="caps"&gt;DI&lt;/span&gt; &amp;#8212; &lt;em&gt;Dependency&amp;nbsp;Injection&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#et-encore"&gt;Et&amp;nbsp;encore&amp;#8230;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#cdi-seam-resteasy-you-havent-seen-rest-yet"&gt;&lt;span class="caps"&gt;CDI&lt;/span&gt;, Seam &lt;span class="amp"&gt;&amp;amp;&lt;/span&gt; RESTEasy: You haven&amp;#8217;t seen &lt;span class="caps"&gt;REST&lt;/span&gt;&amp;nbsp;yet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#objects-of-value"&gt;Objects of&amp;nbsp;Value&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#server-side-osgi-with-apache-sling"&gt;Server-side OSGi with Apache&amp;nbsp;Sling&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#servlet-30-asynchronous-extensibility-ease-of-development"&gt;Servlet 3.0 &amp;#8212; Asynchronous, extensibility, ease of&amp;nbsp;development&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#97-things-every-programmer-should-know"&gt;97 Things Every Programmer Should&amp;nbsp;Know&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#le-mercredi"&gt;Le mercredi&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="#total-cost-of-ownership-and-return-on-investment"&gt;Total cost of ownership and return on&amp;nbsp;investment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#iphoneipad-development-from-the-java-perspective"&gt;iPhone/iPad development from the Java perspective&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="#lexperience-utilisateur"&gt;L&amp;#8217;expérience&amp;nbsp;utilisateur&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#lecosysteme"&gt;L&amp;#8217;écosystème&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#le-cote-hype"&gt;Le côté &lt;em&gt;hype&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#a-se-rememorer"&gt;A se&amp;nbsp;remémorer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#et-lipad"&gt;Et&amp;nbsp;l&amp;#8217;iPad?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#les-outils"&gt;Les&amp;nbsp;outils&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#whats-new-in-hibernate-a-jpa-2-perspective"&gt;What&amp;#8217;s new in Hibernate: a &lt;span class="caps"&gt;JPA&lt;/span&gt; 2 perspective&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="#envers"&gt;Envers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#recherche"&gt;Recherche&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#et-aussi"&gt;Et&amp;nbsp;aussi&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#java-persistence-criteria-api"&gt;Java persistence criteria&amp;nbsp;&lt;span class="caps"&gt;API&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#patterns-in-practices-in-hibernate"&gt;Patterns in practices in&amp;nbsp;Hibernate&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#how-java-powers-large-online-retail-sites"&gt;How Java powers large online retail sites&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="#quelques-conseils-darchitecture"&gt;Quelques conseils&amp;nbsp;d&amp;#8217;architecture&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#la-deuxieme-journee-se-termine"&gt;La deuxième journée se&amp;nbsp;termine&amp;#8230;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#le-jeudi"&gt;Le jeudi&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="#the-gaia-satellite-and-data-processing"&gt;The Gaia satellite and data&amp;nbsp;processing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#essentials-of-testing-the-tools-you-need-to-know"&gt;Essentials of testing: the tools you need to&amp;nbsp;know&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#rapid-application-development-with-apache-wicket"&gt;Rapid application development with Apache&amp;nbsp;Wicket&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#exploring-html5-with-javaserver-faces-20"&gt;Exploring &lt;span class="caps"&gt;HTML5&lt;/span&gt; with JavaServer Faces&amp;nbsp;2.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#search-find-classify-a-short-tour-through-apache-solr"&gt;Search, Find, Classify - A short tour through Apache&amp;nbsp;Solr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#real-java-ee-testing-with-arquillian"&gt;Real Java &lt;span class="caps"&gt;EE&lt;/span&gt; testing with&amp;nbsp;Arquillian&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#mon-retour-final"&gt;Mon retour&amp;nbsp;final&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h1 id="le-mardi"&gt;Le&amp;nbsp;mardi&lt;/h1&gt;
&lt;p&gt;Ce premier jour restera mon préféré. De bonnes session d&amp;#8217;introduction
et de conclusion, un apéro bien sympa en fin d&amp;#8217;après-midi et la
découverte d&amp;#8217;une conférence super bien organisée. Bien accueilli, bien
nourri, tout est quasi&amp;nbsp;parfait.&lt;/p&gt;
&lt;h2 id="java-se-and-javafx-the-road-ahead"&gt;Java &lt;span class="caps"&gt;SE&lt;/span&gt; and JavaFX: The Road&amp;nbsp;Ahead&lt;/h2&gt;
&lt;p&gt;La toute première présentation est donnée par Danny Coward, &lt;em&gt;Chief
Architect for Client Software&lt;/em&gt; chez Oracle. Membre du &lt;span class="caps"&gt;JCP&lt;/span&gt;, présent sur
Java depuis la version 1.0, il a notamment mené la standardisation de
l&amp;#8217;api servlet. Il en connaît donc un&amp;nbsp;bout.&lt;/p&gt;
&lt;p&gt;Avec son accent british, l&amp;#8217;orateur nous rappelle que Java a 15 ans,
qu&amp;#8217;il y a aujourd&amp;#8217;hui 7 millions de développeurs Java et que Java se
trouve partout des smartcards jusqu&amp;#8217;aux téléviseurs. Petit clin d&amp;#8217;oeil
au &lt;em&gt;green project&lt;/em&gt; avec un iphone des années 1990 dans les labos de Sun&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;En revenant sur l&amp;#8217;actualité il parle ensuite des divers évolutions
actuellement en cours de discussion au sein du jcp pour la version 7
du jdk. Il pointe du doigt pour commencer sur l&amp;#8217;effort de
refactorisation et de modularisation. Le jdk7 sera modulaire grâce à
un système de &lt;em&gt;class loading&lt;/em&gt; plus efficace en chargeant uniquement
les classes&amp;nbsp;nécessaires.&lt;/p&gt;
&lt;p&gt;L&amp;#8217;accent est ensuite mis sur le parallélisme. La version 7 du jdk
améliorera les choses de ce côté-là notamment grâce à un &lt;em&gt;garbage
collector&lt;/em&gt; amélioré tournant selon les dire de Danny Coward quasiment
en même temps que l&amp;#8217;application. Un &lt;em&gt;framework&lt;/em&gt; Fork/Join&lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt; fera
également son apparition permettant de séparer des tâches en petit
bouts, les exécuter en parallèle et ensuite rassembler les résultats
pour ainsi profiter de la présence de tous les processeurs de la
machine. Ce framework est une extension du package
&lt;code&gt;java.util.concurrent&lt;/code&gt; apparu dans la version 5 du&amp;nbsp;jdk.&lt;/p&gt;
&lt;p&gt;La machine virtuelle étant l&amp;#8217;un des grands atouts de Java, il existe
aujourd&amp;#8217;hui plus de 200 langages pouvant s&amp;#8217;exécuter sur celle-ci. Le
jdk7 apportera également des améliorations à ce niveau-là notamment en
terme de&amp;nbsp;performances.&lt;/p&gt;
&lt;p&gt;Finalement concernant le code produit par les développeurs au jour le
jour Danny Coward explique qu&amp;#8217;ajouter de nouvelles fonctionnalités à ce
niveau-là est pris très au sérieux et bien réfléchi car une fois
ajoutées, ces nouvelles fonctionnalités restent présentes à jamais. On
pourra néanmoins retrouver plusieurs&amp;nbsp;ajouts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;diamond type inference&lt;/em&gt; : déclarations utilisant les &lt;em&gt;generics&lt;/em&gt;&amp;nbsp;simplifiées&lt;/li&gt;
&lt;li&gt;&lt;em&gt;exception handling&lt;/em&gt; : possibilité d&amp;#8217;avoir plusieurs exceptions dans un seul &lt;code&gt;catch&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;try(&amp;lt;closeable resource){}&lt;/code&gt; : utilisation simplifiée des ressources devant être &amp;#8216;fermées&amp;#8217; (ex: les flux&amp;nbsp;d&amp;#8217;entrée-sortie)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;switch&lt;/code&gt; sur des &lt;code&gt;String&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;closures : gros sujet de discussions, aucune syntaxe n&amp;#8217;a clairement été choisie&amp;nbsp;aujourd&amp;#8217;hui&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le but étant clairement d&amp;#8217;alléger notre code, de le rendre plus
lisible. On retrouve plusieurs idées venant du monde des langages&amp;nbsp;dynamiques&amp;#8230;&lt;/p&gt;
&lt;p&gt;Pour finir Danny Coward nous parle de &lt;a href="http://javafx.com/"&gt;JavaFX&lt;/a&gt;. Une démo de ce qui
a été fait pour le site des jeux olympiques de Vancouver, des
composants compatibles du mobile à la tv, des performances améliorées,
etc. Oracle ne lache donc pas le morceau concernant sa plateforme
&lt;span class="caps"&gt;RIA&lt;/span&gt;. JavaFX fait d&amp;#8217;ailleurs le sujet pas moins de six&amp;nbsp;sessions.&lt;/p&gt;
&lt;p&gt;Très bonne présentation donnée par Danny Coward, la conférence
commence alors très&amp;nbsp;fort.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jazoon.com/Portals/0/Content/slides/tu_a5_0930-1030_coward_keynote.pdf"&gt;Télécharger les slides de la&amp;nbsp;présentation&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="the-java-ee-6-platform-powerful-productive-extensible"&gt;The Java &lt;span class="caps"&gt;EE&lt;/span&gt; 6 Platform: Powerful, Productive,&amp;nbsp;Extensible&lt;/h2&gt;
&lt;p&gt;Cette session présentée par Jérome Docher et Alexis Moussine-Pouchkine
est là pour nous parler des nouveautés de &lt;span class="caps"&gt;JEE&lt;/span&gt; 6. Une nouvelle notion
de profile, de nouvelles annotations, une api &lt;span class="caps"&gt;REST&lt;/span&gt;, un système de
&lt;em&gt;packaging&lt;/em&gt; simplifié et une version &lt;em&gt;lite&lt;/em&gt; des &lt;span class="caps"&gt;EJB&lt;/span&gt; font notamment
leur&amp;nbsp;apparition.&lt;/p&gt;
&lt;h3 id="web-profile"&gt;Web&amp;nbsp;Profile&lt;/h3&gt;
&lt;p&gt;La spécification de &lt;span class="caps"&gt;JEE&lt;/span&gt; 6 fait mention d&amp;#8217;un sous-ensemble d&amp;#8217;api&lt;sup id="fnref:4"&gt;&lt;a href="#fn:4" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt;
disponible dans ce qui est appelé le web profile. Ce profile comme le
démontre la liste des api disponibles fourni le nécessaire pour la
plupart des applications entreprises sans inclure toutes les api
entreprises existantes comme par exemple &lt;span class="caps"&gt;EJB&lt;/span&gt; 3.1. La notion de
profile est extensible et tout un chacun peut créer son propre&amp;nbsp;profile.&lt;/p&gt;
&lt;h3 id="packaging"&gt;Packaging&lt;/h3&gt;
&lt;p&gt;Il n&amp;#8217;est dorénavant plus impératif de créer un &lt;code&gt;ear&lt;/code&gt; dès lors qu&amp;#8217;un
projet contient des &lt;span class="caps"&gt;EJB&lt;/span&gt;. Tout composant peut se retrouver dans une
archive &lt;code&gt;war&lt;/code&gt;. Une notion de &lt;em&gt;web fragment&lt;/em&gt; apparaît également
permettant une meilleure intégration des librairies dans les projets
&lt;span class="caps"&gt;JEE&lt;/span&gt;. A noter également que le fichier &lt;code&gt;web.xml&lt;/code&gt; n&amp;#8217;est dorénavant plus
obligatoire grâce notamment à l&amp;#8217;ajout d&amp;#8217;annotations telles que
&lt;code&gt;@WebServlet&lt;/code&gt; et &lt;code&gt;@WebFilter&lt;/code&gt;. En parlant d&amp;#8217;annotations une autre
nouveauté intéressante: l&amp;#8217;annotation &lt;code&gt;@HandlesTypes&lt;/code&gt;qui permet
d&amp;#8217;ajouter depuis le code des mapping &amp;#8212; entre autre &amp;#8212; à chaud dans le&amp;nbsp;container.&lt;/p&gt;
&lt;h3 id="jax-rs-11"&gt;&lt;span class="caps"&gt;JAX&lt;/span&gt;-&lt;span class="caps"&gt;RS&lt;/span&gt;&amp;nbsp;1.1&lt;/h3&gt;
&lt;p&gt;L&amp;#8217;implémentation de &lt;em&gt;RESTful web services&lt;/em&gt; se fait grâce à la
spécification &lt;span class="caps"&gt;JAX&lt;/span&gt;-&lt;span class="caps"&gt;RS&lt;/span&gt; à partir de &lt;span class="caps"&gt;JEE&lt;/span&gt; 6. Basée sur des annotations mais
proposant également une api disponible depuis le code,
l&amp;#8217;implémentation de référence se nomme Jersey et elle est disponible
conjointement avec&amp;nbsp;glassfish.&lt;/p&gt;
&lt;h3 id="ejb"&gt;&lt;span class="caps"&gt;EJB&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;Une nouvelle version mineure fait son apparition avec en nouveauté
quelques annotations: &lt;code&gt;@Singleton&lt;/code&gt;, &lt;code&gt;@Startup&lt;/code&gt; et &lt;code&gt;@Asynchronous&lt;/code&gt; mais
également comme évoqué plus haut la possibilité dorénavant de créer un
&lt;span class="caps"&gt;EJB&lt;/span&gt; au sein même d&amp;#8217;une application web. Plus besoin forcément d&amp;#8217;un
&lt;code&gt;ear&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;L&amp;#8217;&lt;code&gt;EJBContainer&lt;/code&gt; voit également le jour permettant de lancer une
instance d&amp;#8217;un container &lt;span class="caps"&gt;EJB&lt;/span&gt; localement. Ce nouveau composant devrait
notamment faciliter grandement les tests d&amp;#8217;&lt;span class="caps"&gt;EJB&lt;/span&gt; mais aussi permettre
aux applications jse d&amp;#8217;acceuillir des &lt;span class="caps"&gt;EJB&lt;/span&gt; en leur&amp;nbsp;sein.&lt;/p&gt;
&lt;p&gt;La contrainte pour la version &lt;em&gt;lite&lt;/em&gt; évoquée plus haut se trouve au
niveau du type d&amp;#8217;&lt;span class="caps"&gt;EJB&lt;/span&gt; qu&amp;#8217;il est permis de déployer dans cette
version. Uniquement les &lt;span class="caps"&gt;EJB&lt;/span&gt; de type local sont&amp;nbsp;permis.&lt;/p&gt;
&lt;h3 id="bean-validation"&gt;Bean&amp;nbsp;Validation&lt;/h3&gt;
&lt;p&gt;Cette spécification permet la validation des propriétés au sein des
beans au moyen soit d&amp;#8217;annotations (ex: &lt;code&gt;@NotNull&lt;/code&gt;) soit au moyen d&amp;#8217;une
api disponible. A noter également que cette api n&amp;#8217;est pas dépendante
du container, il est possible de l&amp;#8217;utiliser depuis n&amp;#8217;importe quel type&amp;nbsp;d&amp;#8217;applications.&lt;/p&gt;
&lt;h3 id="di-dependency-injection"&gt;&lt;span class="caps"&gt;DI&lt;/span&gt; &amp;#8212; &lt;em&gt;Dependency&amp;nbsp;Injection&lt;/em&gt;&lt;/h3&gt;
&lt;p&gt;La notion d&amp;#8217;injection de dépendances est maintenant prise en charge
par le container. Ca va un peu plus loin que ce que fait par exemple
Spring dans le sens que le container peut gérer la portée des
propriétés injectées (ex: session, requête, etc.). L&amp;#8217;annotation
&lt;code&gt;@Resource&lt;/code&gt; permet toujours d&amp;#8217;injecter les composants configurés sur
le serveur comme les ressources &lt;span class="caps"&gt;JNDI&lt;/span&gt; par exemple. &lt;code&gt;@Inject&lt;/code&gt; fait son
arrivée en proposant l&amp;#8217;injection &lt;em&gt;type safe&lt;/em&gt;. Autre arrivée: les
&lt;em&gt;qualifier&lt;/em&gt; qui sont des annotations définies par le développeur
lui-même dans le but de spécifier quel type d&amp;#8217;instance injecter. Les
slides prennent comme exemple un objet &lt;code&gt;User&lt;/code&gt; devant être injecté dans
un &lt;code&gt;CheckoutHandler&lt;/code&gt; et le &lt;em&gt;qualifier&lt;/em&gt; &lt;code&gt;LoggedIn&lt;/code&gt; permet de s&amp;#8217;assurer
que l&amp;#8217;instance injectée sera l&amp;#8217;utilisateur identifié à l&amp;#8217;application
dans ce&amp;nbsp;contexte-ci.&lt;/p&gt;
&lt;p&gt;Une autre possibilité de gérer les dépendances avec &lt;span class="caps"&gt;JEE&lt;/span&gt; 6 c&amp;#8217;est avec
les événements qui font leur arrivée avec l&amp;#8217;annotation &lt;code&gt;@Observe&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="et-encore"&gt;Et&amp;nbsp;encore&amp;#8230;&lt;/h3&gt;
&lt;p&gt;Des nouveautés aussi côté &lt;span class="caps"&gt;JSF&lt;/span&gt; avec support simplifié d&amp;#8217;ajax, des
événements systèmes mais aussi côté &lt;span class="caps"&gt;JPA&lt;/span&gt; avec l&amp;#8217;arrivée d&amp;#8217;une api
&lt;em&gt;Criteria&lt;/em&gt; permettant la création de requête &lt;em&gt;type-safe&lt;/em&gt; et plus
uniquement une suite de &lt;code&gt;String&lt;/code&gt; source d&amp;#8217;erreur à&amp;nbsp;l&amp;#8217;exécution.&lt;/p&gt;
&lt;p&gt;La présentation se termine avec une démo utilisant glassfish
l&amp;#8217;implémentation de référence de &lt;span class="caps"&gt;JEE&lt;/span&gt; 6. Petit détail intéressant
révélé durant la démo: la possibilité de redémarer une application
tout en gardant la session dans le même état. Pour plus de détail
n&amp;#8217;hésitez pas à consulter les slides ou bientôt la session directement
puisque cette session s&amp;#8217;est déroulée dans la salle 5 qui était&amp;nbsp;filmée.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jazoon.com/Portals/0/Content/slides/tu_a5_1100-1150_dochez.pdf"&gt;Télécharger les slides de la&amp;nbsp;présentation&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="cdi-seam-resteasy-you-havent-seen-rest-yet"&gt;&lt;span class="caps"&gt;CDI&lt;/span&gt;, Seam &lt;span class="amp"&gt;&amp;amp;&lt;/span&gt; RESTEasy: You haven&amp;#8217;t seen &lt;span class="caps"&gt;REST&lt;/span&gt;&amp;nbsp;yet&lt;/h2&gt;
&lt;p&gt;Dan Allen reprend ici les principes de &lt;span class="caps"&gt;REST&lt;/span&gt; tout d&amp;#8217;abord en expliquant
en trois points les aspects essentiels d&amp;#8217;une architecture centrée sur
les&amp;nbsp;ressources:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Uniforme: architecturer les &lt;span class="caps"&gt;URL&lt;/span&gt; pour adresser les besoins, les
méthodes adressent les opérations (&lt;span class="caps"&gt;GET&lt;/span&gt;, &lt;span class="caps"&gt;PUT&lt;/span&gt;, &lt;span class="caps"&gt;DELETE&lt;/span&gt;,&amp;nbsp;&lt;span class="caps"&gt;POST&lt;/span&gt;)&lt;/li&gt;
&lt;li&gt;Orienté&amp;nbsp;représentation&lt;/li&gt;
&lt;li&gt;Communication sans état: plus &lt;em&gt;scalable&lt;/em&gt; et plus cohérent avec le
protocol&amp;nbsp;&lt;span class="caps"&gt;HTTP&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;S&amp;#8217;ensuit quelques extraits de code avec explications utilisant &lt;span class="caps"&gt;JAX&lt;/span&gt;-&lt;span class="caps"&gt;RS&lt;/span&gt;
comme base de référence. Il termine par une démo de RESTEasy qui se
trouve être l&amp;#8217;implémentation de &lt;span class="caps"&gt;JAX&lt;/span&gt;-&lt;span class="caps"&gt;RS&lt;/span&gt; par JBoss. Cette implémentation
propose entre autre l&amp;#8217;avantage d&amp;#8217;avoir un serveur embarqué pour les
tests et une forte intégration au framework&amp;nbsp;Seam.&lt;/p&gt;
&lt;p&gt;Dan Allen résume finalement en citant les principaux bénéfices de&amp;nbsp;&lt;span class="caps"&gt;REST&lt;/span&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Respect du protocole&amp;nbsp;&lt;span class="caps"&gt;HTTP&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Simplicité&lt;/li&gt;
&lt;li&gt;Exposition des données au travers d&amp;#8217;une &lt;span class="caps"&gt;API&lt;/span&gt;&amp;nbsp;standardisée&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://jazoon.com/Portals/0/Content/slides/tu_a3_1200-1250_allen.pdf"&gt;Télécharger la&amp;nbsp;présentation&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="objects-of-value"&gt;Objects of&amp;nbsp;Value&lt;/h2&gt;
&lt;p&gt;Après un bon lunch je continue avec cette session présentée par Kevlin
Henney. Si vous avez l&amp;#8217;occasion de le voir à une conférence ça vaut le
coup. C&amp;#8217;est vraiment un excellent&amp;nbsp;présentateur.&lt;/p&gt;
&lt;p&gt;Il nous a parlé ici un peu philosophiquement de l&amp;#8217;importance que nos
objets aient une identité clairement définie. Trop souvent les
&lt;code&gt;String&lt;/code&gt; font office de&amp;nbsp;fourre-tout.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jazoon.com/Portals/0/Content/slides/tu_a5_1400-1450_henney.pdf"&gt;Télécharger la&amp;nbsp;présentation&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="server-side-osgi-with-apache-sling"&gt;Server-side OSGi with Apache&amp;nbsp;Sling&lt;/h2&gt;
&lt;p&gt;Le présentateur était malheureusement pas assez à l&amp;#8217;aise pour rendre
le sujet intéressant. Soporifique à souhait, la pause café s&amp;#8217;est faite&amp;nbsp;désirer&amp;#8230;&lt;/p&gt;
&lt;p&gt;Le principe de Sling est de &lt;em&gt;mapper&lt;/em&gt; une &lt;span class="caps"&gt;URL&lt;/span&gt; à une ressource et d&amp;#8217;y
apposer un script de traitement. Les ressources en question sont
hierarchiquement disposées dans un &lt;em&gt;repository&lt;/em&gt; &lt;span class="caps"&gt;JCR&lt;/span&gt;. Tout ça fournit
une base solide à l&amp;#8217;implémentation d&amp;#8217;un &lt;span class="caps"&gt;CMS&lt;/span&gt; personalisable, d&amp;#8217;ailleurs
utilisé par Day Software au travers de leur solution commerciale&amp;nbsp;&lt;span class="caps"&gt;CQ&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jazoon.com/Portals/0/Content/slides/tu_a7_1500-1550_meschberger.pdf"&gt;Télécharger la&amp;nbsp;présentation&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="servlet-30-asynchronous-extensibility-ease-of-development"&gt;Servlet 3.0 &amp;#8212; Asynchronous, extensibility, ease of&amp;nbsp;development&lt;/h2&gt;
&lt;p&gt;La version 3 de l&amp;#8217;api servlet &amp;#8212; intégrée à &lt;span class="caps"&gt;JEE&lt;/span&gt; 6 &amp;#8212; est vantée par
Rajiv Mordani dans cette session suivie par une démo par Arun&amp;nbsp;Gupta.&lt;/p&gt;
&lt;p&gt;Extensibilité et asynchronicité sont donc les maîtres mots de cette
nouvelle mouture. Il est dorénavant possible &amp;#8212; comme vu plus haut &amp;#8212;
d&amp;#8217;ajouter dynamiquement depuis le code de nouveau composants au
container de servlet. Pour parler d&amp;#8217;extensibilité la notion de
fragment fait aussi son arrivée. Cela devrait faciliter la vie du
développeur notamment lors de l&amp;#8217;utilisation de frameworks tiers. En
effet ces frameworks pourront se configurer d&amp;#8217;eux-mêmes au sein de
l&amp;#8217;application, plus besoin de définir le nécessaire pour configurer un
framework au sein du fichier &lt;code&gt;web.xml&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;En plus de ces points forts, l&amp;#8217;arrivée de plusieurs annotations
devraient également faciliter notre vie&amp;#8230; Voir la présentation The
Java &lt;span class="caps"&gt;EE&lt;/span&gt; 6 Platform: Powerful, Productive, Extensible pour plus&amp;nbsp;d&amp;#8217;info.&lt;/p&gt;
&lt;p&gt;A noter finalement la possibilité de se passer complètement du fichier
&lt;code&gt;web.xml&lt;/code&gt; à partir de cette nouvelle&amp;nbsp;version.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jazoon.com/Portals/0/Content/slides/tu_a3_1630-1720_mordani.pdf"&gt;Télécharger la&amp;nbsp;présentation&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="97-things-every-programmer-should-know"&gt;97 Things Every Programmer Should&amp;nbsp;Know&lt;/h2&gt;
&lt;p&gt;A nouveau une présentation par Kevlin Henney et à nouveau un vrai
régal. Pour cette dernière session de la journée on est tous
rassemblée dans la salle principale. Et plus d&amp;#8217;une fois les rires ont
émergé de l&amp;#8217;assistance, Kevlin est vraiment un bon&amp;nbsp;orateur&amp;#8230;&lt;/p&gt;
&lt;p&gt;Cette session-ci présentait son dernier livre portant le même nom que
la session. Ce livre est une compilation d&amp;#8217;avis d&amp;#8217;une ribambelle
d&amp;#8217;experts sollicités par&amp;nbsp;Kevlin.&lt;/p&gt;
&lt;p&gt;Comme conseils on a pu retrouver par&amp;nbsp;exemple:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Apprender à estimer: on négocie les objectifs, mais pas les&amp;nbsp;estimations&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Commenter uniquement ce que le code ne dit pas: un bon code nécessitera moins de commentaire qu&amp;#8217;un mauvais&amp;nbsp;code.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ecrire les tests pour être lus par des humains: de bon tests font acte de&amp;nbsp;documentation&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Préférer des objets ayant une signification métier plutôt que d&amp;#8217;utiliser des types primitifs. J&amp;#8217;ai particulièrement aimé l&amp;#8217;idée d&amp;#8217;utiliser un &lt;em&gt;tag cloud&lt;/em&gt; sur le code d&amp;#8217;un projet. Après génération de ce &lt;em&gt;tag cloud&lt;/em&gt;, si on a une idée de quoi on parle c&amp;#8217;est mieux&amp;#8230; L&amp;#8217;idée est initialement présentée sur &lt;a href="http://fragmental.tw/2009/04/29/tag-clouds-see-how-noisy-your-code-is/"&gt;cet article&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://jazoon.com/Portals/0/Content/slides/tu_a5_1740-1830_henney_keynote.pdf"&gt;Télécharger la&amp;nbsp;présentation&lt;/a&gt;&lt;/p&gt;
&lt;h1 id="le-mercredi"&gt;Le&amp;nbsp;mercredi&lt;/h1&gt;
&lt;p&gt;Que ce soit pour ce deuxième jour ou le troisième et dernier je serai
certainement moins prolixe. Moins enthousiaste, moins de sessions de&amp;nbsp;qualité&amp;#8230;&lt;/p&gt;
&lt;h2 id="total-cost-of-ownership-and-return-on-investment"&gt;Total cost of ownership and return on&amp;nbsp;investment&lt;/h2&gt;
&lt;p&gt;Ken Schwaber, co-créateur de la méthodologie Scrum, est l&amp;#8217;orateur de
cette première session du matin. L&amp;#8217;idée est de pointer du doigt les
méthodes traditionnelles de développement ne prenant pas forcément en
compte les coûts à long terme d&amp;#8217;un projet&amp;nbsp;logiciel.&lt;/p&gt;
&lt;p&gt;Cette session aura été la toute première à nous faire participer
puisque durant celle-ci, l&amp;#8217;orateur nous demande d&amp;#8217;échanger entre
assistants notre conception de ce qu&amp;#8217;est &amp;#8220;&lt;em&gt;done&lt;/em&gt;&amp;#8220;. Autrement dit que
doit contenir un projet terminé. Les tests d&amp;#8217;intégrations doivent en
faire partie? Les tests de performance? De&amp;nbsp;charge?&lt;/p&gt;
&lt;p&gt;Si la notion de &lt;em&gt;done&lt;/em&gt; n&amp;#8217;est pas complète toute une série de travail à
faire est reporté en fin de projet ou du moins à plus tard. Si l&amp;#8217;on
reporte trop de choses à plus tard &amp;#8212; dû à une mauvaise notion de ce
qui est &lt;em&gt;done&lt;/em&gt; &amp;#8212; forcément qu&amp;#8217;un gros boulot restera à faire. Cela
ressort bien de la slide&amp;nbsp;12:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Stabilization is when you do all the &amp;#8220;undone&amp;#8221;&amp;nbsp;work&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;La suite de la session n&amp;#8217;est que publicité pour le nouveau cours scrum
disponible. Si cela vous intéresse rendez-vous sur le site officiel: &lt;a href="http://www.scrum.org/"&gt;http://www.scrum.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jazoon.com/Portals/0/Content/slides/we_a5_0900-1000_schwaber_keynote.pdf"&gt;Télécharger la&amp;nbsp;présentation&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="iphoneipad-development-from-the-java-perspective"&gt;iPhone/iPad development from the Java&amp;nbsp;perspective&lt;/h2&gt;
&lt;p&gt;Carrément impatient d&amp;#8217;assister à cette présentation, je ne suis
visiblement pas le seul vu l&amp;#8217;assistance en nombre venue pour écouter
Ognen Ivanovski prodiguer ses conseils sur le développement&amp;nbsp;iPhone/iPad.&lt;/p&gt;
&lt;h3 id="lexperience-utilisateur"&gt;L&amp;#8217;expérience&amp;nbsp;utilisateur&lt;/h3&gt;
&lt;p&gt;Premier élément évoqué: le hardware. Développer sur mobile signifie
davantage de contraintes à ce niveau-là par rapport à du développement
&lt;span class="caps"&gt;JEE&lt;/span&gt; sur de gros serveurs. Petit récapitulatif provenant de la&amp;nbsp;présentation:&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
   &lt;td&gt;iPhone&lt;/td&gt;&lt;td&gt;&lt;span class="caps"&gt;ARM11&lt;/span&gt; ~&lt;span class="caps"&gt;400MHZ&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;   
   &lt;td&gt;iPhone 3G&lt;/td&gt;&lt;td&gt;&lt;span class="caps"&gt;128MB&lt;/span&gt; &lt;span class="caps"&gt;RAM&lt;/span&gt; (~&lt;span class="caps"&gt;50MB&lt;/span&gt; for an application)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;   
   &lt;td&gt;iPod Touch&lt;/td&gt;&lt;td&gt;Hardware Graphics Accelerator&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;   
   &lt;td&gt;iPod Touch 2nd generation&lt;/td&gt;&lt;td&gt;slightly faster&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;   
   &lt;td&gt;iPhone &lt;span class="caps"&gt;3GS&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="caps"&gt;ARM&lt;/span&gt; Cortex V8 ~600MHz / &lt;span class="caps"&gt;256MB&lt;/span&gt; &lt;span class="caps"&gt;RAM&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;   
   &lt;td&gt;iPad&lt;/td&gt;&lt;td&gt;Apple A4 SoC (&lt;span class="caps"&gt;ARM&lt;/span&gt;) ~1GHz / &lt;span class="caps"&gt;256MB&lt;/span&gt; &lt;span class="caps"&gt;RAM&lt;/span&gt;&lt;/td&gt;               
&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;Si les contraintes au niveau matériel sont bien réelles il faudra
également reconsidérer nos préconceptions par rapport à l&amp;#8217;utilisation
de l&amp;#8217;application. Une application sur iPhone qui demande beaucoup
d&amp;#8217;interactions avec l&amp;#8217;utilisateur pour atteindre un résultat n&amp;#8217;est pas
une bonne application. L&amp;#8217;iPhone s&amp;#8217;utilise dans le bus, en marchant,
dans l&amp;#8217;ascenseur, le canapé, dans quasiment toutes situations si ce
n&amp;#8217;est à un bureau, tout l&amp;#8217;inverse des applications dont on a
l&amp;#8217;habitude de développer. Il faudra par conséquent bien réfléchir
l&amp;#8217;interaction utilisateur, qu&amp;#8217;elle se fasse le plus simplement
possible et ce avec le minimum d&amp;#8217;information entrée par
l&amp;#8217;utilisateur. Lorsqu&amp;#8217;il se doit d&amp;#8217;interagir, il faut aussi penser à
afficher des contrôles suffisamment grands, l&amp;#8217;utilisateur entre les
données avec ses doigts et non plus avec une souris&amp;#8230; Autre
préconception à s&amp;#8217;enlever de la&amp;nbsp;tête.&lt;/p&gt;
&lt;p&gt;Une bonne utilisation du &lt;em&gt;multi-touch&lt;/em&gt; et des animations permettront
également de rendre l&amp;#8217;application plus &lt;em&gt;responsive&lt;/em&gt; et de faire
comprendre à l&amp;#8217;utilisateur où il en est, ce qu&amp;#8217;il peut faire et
comment. Même si l&amp;#8217;on peut y être un peu habitué au sein des
applications web au travers par exemple des progrès réalisés au sein
des frameworks javascript, l&amp;#8217;iPhone pousse l&amp;#8217;expérience encore plus&amp;nbsp;loin.&lt;/p&gt;
&lt;h3 id="lecosysteme"&gt;L&amp;#8217;écosystème&lt;/h3&gt;
&lt;p&gt;L&amp;#8217;image du &lt;em&gt;Walled Garden&lt;/em&gt; est bien connue lorsqu&amp;#8217;on parle d&amp;#8217;Apple et
on y revient automatiquement dès lors que l&amp;#8217;orateur commence à nous
parler de l&amp;#8217;écosystème d&amp;#8217;un développement pour iPhone. Des licences
qu&amp;#8217;il faut garder à l&amp;#8217;oeil du fait de leurs variations incessantes, un
risque de rejet de son application dès le départ ou encore sur une
évolution ultérieure, tels sont quelques points à risque lors qu&amp;#8217;on
attaque ce marché. Une des dernières évolutions de licence en dates
ayant fait le plus de bruit a été l&amp;#8217;interdiction pur et simple
d&amp;#8217;utiliser des outils de &lt;em&gt;cross-compilation&lt;/em&gt; permettant de développer
une application par exemple sous Flash pour au final fonctionner en
Objective-C le langage d&amp;#8217;Apple. Par rapport au processus de validation
l&amp;#8217;orateur en faisant part de son expérience nous explique que
l&amp;#8217;approbation est d&amp;#8217;habitude prévisible. A noter tout de même que ce
processus de validation à un côté très positif: l&amp;#8217;utilisateur donne
une grande confiance aux applications présentes dans&amp;nbsp;l&amp;#8217;AppStore.&lt;/p&gt;
&lt;h3 id="le-cote-hype"&gt;Le côté &lt;em&gt;hype&lt;/em&gt;&lt;/h3&gt;
&lt;p&gt;Pouvoir proposer ses solutions au travers de l&amp;#8217;AppStore ajoute un côté
marketing certain aujourd&amp;#8217;hui avec tout l&amp;#8217;effet de mode auprès du
grand public que l&amp;#8217;iPhone a pu engendrer. Dès lors si le produit est
bon tout ça peut devenir une mine d&amp;#8217;or, par contre un solution bancale
risque de faire mal à l&amp;#8217;image de&amp;nbsp;marque.&lt;/p&gt;
&lt;h3 id="a-se-rememorer"&gt;A se&amp;nbsp;remémorer&lt;/h3&gt;
&lt;p&gt;Une bonne application iPhone devra répondre à un besoin typique
d&amp;#8217;utilisateur &lt;strong&gt;mobile&lt;/strong&gt;. Typiquement vérifier les horaires de train
fera une très bonne application du moment qu&amp;#8217;elle est pensée de
manière ergonomique (notion de &lt;em&gt;minimum input/maximum output&lt;/em&gt;). L&amp;#8217;idée
sera donc d&amp;#8217;identifier ces situations où une utilisation de manière
mobile d&amp;#8217;une application pourrait combler un&amp;nbsp;besoin.&lt;/p&gt;
&lt;p&gt;L&amp;#8217;idée vraiment ressortie durant cette session c&amp;#8217;est de se rappeler
que sur un appareil de ce type les contraintes mémoires sont à prendre
bien plus au sérieux par rapport à un développement sur serveur ou
machine de bureau. Autre point important, réfléchir à l&amp;#8217;utilisation
mobile faite par l&amp;#8217;utilisateur. L&amp;#8217;utilisateur n&amp;#8217;est pas assis devant
son écran. Il ne faut pas manquer également la phase de test réelle
sur l&amp;#8217;appareil directement. Les tests sur émulateur pouvant
effectivement être parfois&amp;nbsp;trompeurs&amp;#8230;&lt;/p&gt;
&lt;h3 id="et-lipad"&gt;Et&amp;nbsp;l&amp;#8217;iPad?&lt;/h3&gt;
&lt;p&gt;Vu le titre de la session je m&amp;#8217;attendais à un peu plus de contenu
concernant l&amp;#8217;iPad mais c&amp;#8217;est vrai que début juin il était vraiment à
peine sorti en Suisse. Malgré cela l&amp;#8217;orateur en a tout de même parlé
succinctement en mentionnant un projet qu&amp;#8217;ils ont pu mener avant même
que l&amp;#8217;iPad soit sorti. Pour s&amp;#8217;en sortir ils ont sorti des maquettes
1:1 par rapport à la résolution de l&amp;#8217;appareil. On en saura pas&amp;nbsp;plus.&lt;/p&gt;
&lt;h3 id="les-outils"&gt;Les&amp;nbsp;outils&lt;/h3&gt;
&lt;p&gt;Sur la fin de la session, les outils permettant le développement
d&amp;#8217;applications iPhone nous sont succintements présentés ainsi qu&amp;#8217;un
petit aperçu de ce à quoi ressemble Objective&amp;nbsp;C.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jazoon.com/Portals/0/Content/slides/we_a3_1030-1130_ivanovski.pdf"&gt;Télécharger la&amp;nbsp;présentation&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="whats-new-in-hibernate-a-jpa-2-perspective"&gt;What&amp;#8217;s new in Hibernate: a &lt;span class="caps"&gt;JPA&lt;/span&gt; 2&amp;nbsp;perspective&lt;/h2&gt;
&lt;p&gt;Emmanuel Bernard prend place dans la salle numéro 5 pour nous parler
des nouveautés sur Hibernate. Session intéressante par l&amp;#8217;initiateur du
podcast des Cast Codeurs j&amp;#8217;y ai appris une chose ou deux vraiment&amp;nbsp;intéressantes.&lt;/p&gt;
&lt;h3 id="envers"&gt;Envers&lt;/h3&gt;
&lt;p&gt;La première chose c&amp;#8217;est le projet
&lt;a href="http://www.jboss.org/envers"&gt;envers&lt;/a&gt;. Ce projet a pour but de fournir
une historisation automatique des entités gérées par Hibernate. Pour
se faire, Hibernate crée un nouveau schéma en parallèle complètement
géré par Hibernate et permettant de stocker toutes les différentes
versions de chaque entité. Le produit permettra de remonter dans le
temps sur ses entités. Bigrement&amp;nbsp;intéressant!&lt;/p&gt;
&lt;h3 id="recherche"&gt;Recherche&lt;/h3&gt;
&lt;p&gt;Deuxième point super intéressant, la possibilité dorénavant de faire
une recherche &lt;em&gt;fulltext&lt;/em&gt; sur le schéma d&amp;#8217;entités. Cette fonctionnalité
s&amp;#8217;appuie sur le projet Lucene d&amp;#8217;Apache. L&amp;#8217;avantage étant que le
développeur n&amp;#8217;a pas besoin de configurer ce dernier, Hibernate prend
tout en charge au travers du sous-projet Hibernate&amp;nbsp;Search.&lt;/p&gt;
&lt;h3 id="et-aussi"&gt;Et&amp;nbsp;aussi&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Clustering&lt;/em&gt; amélioré, de nouvelles possibilités de mapping,
 compatibilité &lt;span class="caps"&gt;JPA&lt;/span&gt; 2.0, la validation, tels sont d&amp;#8217;autres sujets
 abordés durant cette&amp;nbsp;présentation.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jazoon.com/Portals/0/Content/slides/we_a5_1130-1220_bernard.pdf"&gt;Télécharger la&amp;nbsp;présentation&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="java-persistence-criteria-api"&gt;Java persistence criteria&amp;nbsp;&lt;span class="caps"&gt;API&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Après le repas, très dur d&amp;#8217;assister à cette présentation pour faire
poli&amp;#8230;&amp;nbsp;Soporiphique.&lt;/p&gt;
&lt;p&gt;Je n&amp;#8217;ai pas grand chose à dire sur cette présentation puisque
l&amp;#8217;oratrice n&amp;#8217;a pas apporté de réelle plus-value par rapport aux slides
de la&amp;nbsp;présentation.&lt;/p&gt;
&lt;p&gt;En résumé la Criteria &lt;span class="caps"&gt;API&lt;/span&gt; permet au développeur de créer une requête
typée. Autrement dit pas de type &lt;code&gt;String&lt;/code&gt; comme le sont les requêtes
&lt;span class="caps"&gt;JPQL&lt;/span&gt;. L&amp;#8217;avantage de cette solution c&amp;#8217;est qu&amp;#8217;une erreur sera
directement découverte à la compilation et non plus uniquement au
moment de&amp;nbsp;l&amp;#8217;exécution.&lt;/p&gt;
&lt;p&gt;Pour plus de détails, jetez un oeil aux&amp;nbsp;slides.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jazoon.com/Portals/0/Content/slides/we_a3_1330-1420_demichiel.pdf"&gt;Télécharger la&amp;nbsp;présentation&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="patterns-in-practices-in-hibernate"&gt;Patterns in practices in&amp;nbsp;Hibernate&lt;/h2&gt;
&lt;p&gt;Dans ma lancée j&amp;#8217;assiste à nouveau à une présentation plutôt
désagréable. La session a été inlassablement obstruée par des
&amp;#8220;eeeeee&amp;#8221;, &amp;#8220;aaaaaaa&amp;#8221;, &amp;#8220;meeeeeuuuuuuu&amp;#8221;, typiquement le genre de choses
qui me fait péter un&amp;nbsp;plomb!&lt;/p&gt;
&lt;p&gt;Bref du coup j&amp;#8217;ai eu pas mal de peine à suivre. Cette session avait
pour but de démontrer quelques pièges à éviter lors de l&amp;#8217;utilisation&amp;nbsp;d&amp;#8217;Hibernate.&lt;/p&gt;
&lt;p&gt;Je ne peux malheureusement rien ajouter de plus par rapport à ce que
disent directement les&amp;nbsp;slides.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jazoon.com/Portals/0/Content/slides/we_a3_1430-1520_wegrzynowicz.pdf"&gt;Télécharger la&amp;nbsp;présentation&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="how-java-powers-large-online-retail-sites"&gt;How Java powers large online retail&amp;nbsp;sites&lt;/h2&gt;
&lt;p&gt;Retour d&amp;#8217;expérience intéressant du &lt;span class="caps"&gt;CEO&lt;/span&gt; de &lt;span class="caps"&gt;ATG&lt;/span&gt; gros fournisseur de
solutions e-commerce. L&amp;#8217;orateur nous explique son expérience avec Java
qui a été choisi dès le début pour leur solution. On parle ici de gros
système e-commerce traitant (cf slides) plus d&amp;#8217;un million de visiteurs
par jour et des dizaines de milliers de commandes par&amp;nbsp;jour.&lt;/p&gt;
&lt;p&gt;Que ce soit la partie &lt;em&gt;content management&lt;/em&gt;, la partie &lt;em&gt;analytics&lt;/em&gt;, les
interfaces de paiement, l&amp;#8217;intégration &lt;em&gt;back-office&lt;/em&gt; avec la gestion du
stock, des commandes d&amp;#8217;approvisionnement etc. ou encore les différents
systèmes service clients toute partie fait bon sujet à implémentation
avec Java selon&amp;nbsp;l&amp;#8217;orateur.&lt;/p&gt;
&lt;p&gt;Durant la session, les composantes mobiles et sociales ont été
identifiées également comme tendances de marchés. Oui, du social même
dans le e-commerce, jetez un oeil par exemple à
&lt;a href="http://tor.com/"&gt;tor.com&lt;/a&gt; pour vous en convaincre. Ou encore ce
système qui permet aux commerçants de proposer directement sur la
vitrine de leur boutique un barcode qui lorsqu&amp;#8217;il est scanné par un
mobile type Android ou iPhone redirigera directement sur la page
google personnalisée de la boutique où le client pourra critiquer les
produits et partager avec la toile entière ses impressions et bons
plans&amp;#8230; &lt;em&gt;The Web is watching&amp;nbsp;you!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Bref, intéressante session avec ces retours d&amp;#8217;expérience et cette
vérité toujours évidente que Java est bien un langage, une plateforme
même qui tient un bon&amp;nbsp;avenir.&lt;/p&gt;
&lt;h3 id="quelques-conseils-darchitecture"&gt;Quelques conseils&amp;nbsp;d&amp;#8217;architecture&lt;/h3&gt;
&lt;p&gt;Durant sa présentation on sent le besoin de définir une bonne
architecture pour tenir la route sur ce genre de produit si l&amp;#8217;on veut
supporter la&amp;nbsp;masse.&lt;/p&gt;
&lt;p&gt;Sur de tels système, il conseil d&amp;#8217;avoir des experts plus ou moins par
domaine ou par composant (ex. catalogue, profiles utilisateurs, etc.)
et de fournir des composants réutilisables. Rien de révolutionnaire
mais certainement d&amp;#8217;autant plus important sur un produit devant
supporter autant de&amp;nbsp;charge.&lt;/p&gt;
&lt;p&gt;Autre point important: garder un modèle de données propre et simple
afin de permettre des performances acceptable et une bonne gestion et
une possibilité facilitée de&amp;nbsp;grandir.&lt;/p&gt;
&lt;p&gt;Il a également donné plusieurs conseils d&amp;#8217;architecture physique en
parlant notamment du sujet bouillant u moment, le
&lt;em&gt;cloud&lt;/em&gt;. Référez-vous aux slides pour plus d&amp;#8217;infos sur le&amp;nbsp;sujet.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jazoon.com/Portals/0/Content/slides/we_a5_1600-1650_brazile.pdf"&gt;Télécharger la&amp;nbsp;présentation&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="la-deuxieme-journee-se-termine"&gt;La deuxième journée se&amp;nbsp;termine&amp;#8230;&lt;/h2&gt;
&lt;p&gt;Avec les présentation &lt;em&gt;rookies&lt;/em&gt; mettant en scène des jeunes de moins
de 26 ans qui ont l&amp;#8217;opportunité d&amp;#8217;appréhender pour la première fois la
scène. Une grande chance d&amp;#8217;autant plus qu&amp;#8217;ils ont pu profiter des
critiques d&amp;#8217;un jury de professionnels&lt;sup id="fnref:5"&gt;&lt;a href="#fn:5" rel="footnote"&gt;5&lt;/a&gt;&lt;/sup&gt;. Le contenu a été
intéressant et j&amp;#8217;ai impressionné par la qualité de leur prestance. Ca
valait bien certaines sessions&amp;nbsp;officielles.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1ère présentation rookie: &lt;a href="http://jazoon.com/Portals/0/Content/slides/we_a5_1710-1730_hofmann.pdf"&gt;OpenSocial done right - Integrating OpenSocial for 16 million&amp;nbsp;users&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2ème présentation : &lt;a href="http://jazoon.com/Portals/0/Content/slides/we_a5_1740-1800_Ion.pdf"&gt;End-to-End Security: Accounting for the User Factor - A Real Case of Application&amp;nbsp;Development&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;3ème présentation (le gagnant): &lt;a href="http://jazoon.com/Portals/0/Content/slides/we_a5_1810-1830_muskalla.pdf"&gt;Analyze Heapdumps in a Web Browser - Single Sourcing in&amp;nbsp;Practice&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="le-jeudi"&gt;Le&amp;nbsp;jeudi&lt;/h1&gt;
&lt;h2 id="the-gaia-satellite-and-data-processing"&gt;The Gaia satellite and data&amp;nbsp;processing&lt;/h2&gt;
&lt;p&gt;Présentation vraiment dur à suivre au sortir du lit. William O&amp;#8217;Mullane
a présenté ici le projet de de l&amp;#8217;European Space Astronomy Centre avec
un zoom sur la partie développement bien&amp;nbsp;sûr.&lt;/p&gt;
&lt;p&gt;Java est aussi utilisé dans le domaine de la recherche spatiale et
cette session en a donné un joli&amp;nbsp;aperçu.&lt;/p&gt;
&lt;p&gt;Je vous suggère de voir les slides si le sujet vous intéresse ou bien
d&amp;#8217;attendre la publication de la vidéo sur
&lt;a href="http://parleys.com"&gt;parleys.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jazoon.com/Portals/0/Content/slides/th_a5_0900-1000_o&amp;apos;mullane_keynote.pdf"&gt;Télécharger la&amp;nbsp;présentation&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="essentials-of-testing-the-tools-you-need-to-know"&gt;Essentials of testing: the tools you need to&amp;nbsp;know&lt;/h2&gt;
&lt;p&gt;Beaucoup de monde pour cette session, à tel point qu&amp;#8217;il n&amp;#8217;y avait pas
assez de sièges&amp;nbsp;disponibles.&lt;/p&gt;
&lt;p&gt;Cette session avait pour objectif d&amp;#8217;offrir un retour d&amp;#8217;expérience
partagé par deux expert de gestion qualité à propos du challenge de
mettre en place et de garder à jour un ensemble d&amp;#8217;outils permettant
d&amp;#8217;améliorer la qualité d&amp;#8217;un projet de&amp;nbsp;développement.&lt;/p&gt;
&lt;p&gt;Une série d&amp;#8217;outils étant à disposition et ce pour chaque couche d&amp;#8217;un
logiciel il peut devenir difficile de faire son choix et ensuite de
les intégrer tous ensemble. Ces employés d&amp;#8217;AdNovum ont donc passé
cette session à présenter tout d&amp;#8217;abord la liste des outils disponibles
par couche logiciel et ensuite ce qu&amp;#8217;il est possible de faire avec ces
outils notamment au travers de quelques&amp;nbsp;démos.&lt;/p&gt;
&lt;p&gt;Premier conseil d&amp;#8217;importance: la notion de pyramide que l&amp;#8217;on retrouve
en slide 11. Cette pyramide encourage une large part de tests
unitaires. Ces tests succins et dirigés clairement sur une fonction
précise doivent être rapidement exécutables et devraient faire partie
du livrable de l&amp;#8217;application. Vous vous rappelez de la notion du
&lt;em&gt;done&lt;/em&gt; défendue dans la session sur Scrum? Les tests unitaires doivent
être inclus à part égale avec le code applicatif. Concernant les tests
d&amp;#8217;intégration, fonctionnels et d&amp;#8217;interface graphique bien qu&amp;#8217;ils
soient aussi très importants leur lourdeur demandera davantage de
temps à développer et à exécuter un équilibre sera donc de mise pour
mettre en oeuvre une batterie de tests couvrant tous les cas et
donnant le plus de garantie possibles au client que tout est sous&amp;nbsp;contrôle.&lt;/p&gt;
&lt;p&gt;La slide numéro 13 vaut également le détour offrant une petite vue
d&amp;#8217;ensemble de la solution qu&amp;#8217;ils ont choisi avec la possibilité de
voir quelles couches sont testées avec quels outils. Au delà de ça je
trouve vraiment bien que les notions de qualités et plus
particulièrement de tests fasse l&amp;#8217;objet de sujet de conférences. Bien
trop souvent dans les projets, parler de tests applicatifs rime
uniquement avec tests unitaires. Aujourd&amp;#8217;hui il est possible de
pousser bien plus loin et la qualité de nos projets augmentera j&amp;#8217;en
suis certain si l&amp;#8217;on fait l&amp;#8217;effort de démocratiser ce genre de&amp;nbsp;connaissances.&lt;/p&gt;
&lt;p&gt;D&amp;#8217;un point de vue technique les orateurs ont pu dire que HtmlUnit est
bien plus rapide que Selenium, à tester, je ne connaissais pas ce&amp;nbsp;framework&amp;#8230;&lt;/p&gt;
&lt;p&gt;D&amp;#8217;autres notions intéressantes ont été abordées, je vous laisse
visionner les slides pour plus&amp;nbsp;d&amp;#8217;informations.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jazoon.com/Portals/0/Content/slides/th_a6_1030-1120_polasek.pdf"&gt;Télécharger la&amp;nbsp;présentation&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="rapid-application-development-with-apache-wicket"&gt;Rapid application development with Apache&amp;nbsp;Wicket&lt;/h2&gt;
&lt;p&gt;Wicket est un framework né en 2005 proposant de faire du développement
web un peu à la manière d&amp;#8217;un développement Swing. Ce projet profite
d&amp;#8217;une communauté très active et d&amp;#8217;une certaine simplicité
rafraîchissante. Rien qu&amp;#8217;à voir comment on commence un projet wicket:
un jar wicket et slf4j pour le logging et c&amp;#8217;est parti! Maven propose
d&amp;#8217;ailleurs un archetype de démarrage, tout semble fait pour du simple
et&amp;nbsp;efficace.&lt;/p&gt;
&lt;p&gt;L&amp;#8217;idée donc derrière ce framework est de proposer des composants
réutilisables et de les insérer dans des pages html grâce à des
attributs spécifiques au éléments formant la page mais sans jamais
utiliser de langages particulier. On s&amp;#8217;appuie uniquement sur des
attributs html. Pas de langage &lt;span class="caps"&gt;EL&lt;/span&gt; ou autre, rien. Cela peut être un
sacré atout dès lors que l&amp;#8217;on veuille travailler avec des webdesigners
ne connaissant justement pas toutes les particularités du
développement java et en particulier le langage &lt;span class="caps"&gt;EL&lt;/span&gt; ou autre scriplets&amp;nbsp;(beurk).&lt;/p&gt;
&lt;p&gt;Après avoir défendu ces quelques avantages et d&amp;#8217;autres encore que j&amp;#8217;ai
certainement oublié de noter, plusieurs démo s&amp;#8217;en sont suivies et je
dois dire que c&amp;#8217;est plutôt séduisant comme&amp;nbsp;idée&amp;#8230;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jazoon.com/Portals/0/Content/slides/th_a3_1130-1220_lombardi.pdf"&gt;Télécharger la&amp;nbsp;présentation&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="exploring-html5-with-javaserver-faces-20"&gt;Exploring &lt;span class="caps"&gt;HTML5&lt;/span&gt; with JavaServer Faces&amp;nbsp;2.0&lt;/h2&gt;
&lt;p&gt;Après un nouveau bon lunch je retrouve une session sur &lt;span class="caps"&gt;HTML5&lt;/span&gt; et&amp;nbsp;&lt;span class="caps"&gt;JSF2&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Connaissant un peu les nouveautés de &lt;span class="caps"&gt;HTML5&lt;/span&gt;, enfin les grandes
nouveautés en tout cas avec l&amp;#8217;arrivée des tags &lt;code&gt;audio&lt;/code&gt;, &lt;code&gt;video&lt;/code&gt; et
d&amp;#8217;autres plus sémantiques comme &lt;code&gt;section&lt;/code&gt; ou encore &lt;code&gt;article&lt;/code&gt; le début
de session ne m&amp;#8217;a rien appris à ce sujet. Je fondais alors mes espoirs
sur ce qu&amp;#8217;allais nous apprendre l&amp;#8217;orateur sur &lt;span class="caps"&gt;JSF2&lt;/span&gt; à ce&amp;nbsp;niveau-là.&lt;/p&gt;
&lt;p&gt;Malheureusement j&amp;#8217;ai été un peu déçu puisqu&amp;#8217;il a majoritairement parlé
de ce qui était possible de faire avec &lt;span class="caps"&gt;HTML5&lt;/span&gt; et ensuite s&amp;#8217;est
visiblement aperçu qu&amp;#8217;il avait pris trop de temps à le faire pour
finalement parler qu&amp;#8217;en vitesse de l&amp;#8217;intégration à &lt;span class="caps"&gt;JSF2&lt;/span&gt;. Ce qui au
final semble donc être simplement des composants composites utilisant
les tags &lt;span class="caps"&gt;HTML5&lt;/span&gt; derrière, rien de bien passionnant&amp;nbsp;donc.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jazoon.com/Portals/0/Content/slides/th_a7_1330-1420_kitain.pdf"&gt;Télécharger la&amp;nbsp;présentation&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="search-find-classify-a-short-tour-through-apache-solr"&gt;Search, Find, Classify - A short tour through Apache&amp;nbsp;Solr&lt;/h2&gt;
&lt;p&gt;Un orateur tout simplement pitoyable, j&amp;#8217;ai quitté la session tellement
c&amp;#8217;était agaçant à écouté, à nouveau des &amp;#8220;mmmmmm&amp;#8221;, &amp;#8220;aaaaaa&amp;#8221;. Pas bon
pour moi en plus je commence à fatiguer après toutes ces sessions à me
concentrer à comprendre ce qu&amp;#8217;on dit en anglais&amp;#8230;. Je pars assister à
la session sur les hautes performances en accès aux bases de données
relationnelles avec comme contenu la présentation de la librairie
cliente de MySQL ClusterJ. Plusieurs benchmarks et quelques chiffres
intéressants, cette librairie n&amp;#8217;utilise pas &lt;span class="caps"&gt;JDBC&lt;/span&gt; mais optimise de son
côté les accès aux bases donc MySQL. Intéressant, si le sujet vous
intéresse n&amp;#8217;hésitez pas à consulter les&amp;nbsp;slides.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jazoon.com/Portals/0/Content/slides/th_a5_1430-1520_maurmann.pdf"&gt;Télécharger la présentation&lt;/a&gt;
&lt;a href="http://jazoon.com/Portals/0/Content/slides/th_a6_1430-1520_russell.pdf"&gt;Télécharger la présentation sur les performances d&amp;#8217;accès aux bases de données&amp;nbsp;relationnelles&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="real-java-ee-testing-with-arquillian"&gt;Real Java &lt;span class="caps"&gt;EE&lt;/span&gt; testing with&amp;nbsp;Arquillian&lt;/h2&gt;
&lt;p&gt;Cette dernière session à laquelle j&amp;#8217;assiste est une session programmée
sur 20 minutes faite quasiment uniquement de&amp;nbsp;démos.&lt;/p&gt;
&lt;p&gt;En deux mots, Arquillian est un framework développé au sein de JBoss permettant d&amp;#8217;effectuer ses tests au sein d&amp;#8217;un container distant ou embarqué. Le projet en est à ses débuts, les démos ont démontré en tout cas que cela fonctionne mais ça me fait quand même furieusement rappeler le projet &lt;a href="http://cargo.codehaus.org/Maven2+plugin"&gt;cargo&lt;/a&gt;, je me&amp;nbsp;trompe?&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jazoon.com/Portals/0/Content/slides/th_a7_1600-1620_knutsen.pdf"&gt;Télécharger la&amp;nbsp;présentation&lt;/a&gt;&lt;/p&gt;
&lt;h1 id="mon-retour-final"&gt;Mon retour&amp;nbsp;final&lt;/h1&gt;
&lt;p&gt;Je finis ces trois jours de session fatigué. Fatigué par le fait que
je dois encore trop me concentrer pour comprendre ce que disent les
orateurs. C&amp;#8217;est pas encore assez fluide dans mon esprit pour pouvoir
le faire plus librement, avec moins&amp;nbsp;d&amp;#8217;énergie.&lt;/p&gt;
&lt;p&gt;Je rentre donc un peu fatigué mais au-delà de ça j&amp;#8217;ai passé 3 jours
exceptionnels, c&amp;#8217;était ma toute première conférence de ce genre et
j&amp;#8217;ai été servi en contenu et en rencontres. Entre les lunchs et apéros
offerts par Jazoon, j&amp;#8217;ai pu rencontrer plusieurs développeurs sympas
partageants la même passion. Je peux assurément encore faire des
efforts pour dépasser ma timidité et aller encore plus à la rencontre
des autres mais j&amp;#8217;ai tout de même fait la connaissance de plusieurs
gars bien&amp;nbsp;sympas!&lt;/p&gt;
&lt;p&gt;Autre point super positif, l&amp;#8217;organisation. Lunchs, apéros, sessions
intéressantes, wifi (même si un peu récalcitrant le 1er jour) tout
était quasiment parfait. Tout ça dans un complexe de cinémas, c&amp;#8217;est
génial! J&amp;#8217;ai pu découvrir un peu plus la ville de Zürich et ça vaut le
coup de visiter, c&amp;#8217;est aussi ça qui n&amp;#8217;a peut-être pas arrangé le coup
de fatigue du jeudi&amp;nbsp;:)&lt;/p&gt;
&lt;p&gt;Bref je suis vraiment super content d&amp;#8217;avoir pu profiter de cette
opportunité de rencontres et de veille technologique parce que c&amp;#8217;est
vrai ce genre de conférence permet merveilleusement de voir ce qu&amp;#8217;il
se fait dans beaucoup de domaines, c&amp;#8217;est très enrichissant et je ne
peux qu&amp;#8217;encourager tout à chacun à tenter&amp;nbsp;l&amp;#8217;expérience.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/u3M3dKaVep4" height="1" width="1"/&gt;</description>
         <pubDate>11 Jul 10 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/mon-retour-sur-jazoon.html</feedburner:origLink></item>    
      <item>
         <title>Critique de livre: Le paradis perdu de John Milton</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/ScrSs3TrtUs/critique-de-livre-le-paradis-perdu.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/critique-de-livre-le-paradis-perdu.html</guid>
         <description>&lt;div class="five left"&gt;
  &lt;p&gt;Encore un livre que je n&amp;#8217;aurais certainement pas lu si la liste des
110 meilleurs livres ne le&amp;nbsp;conseillait.&lt;/p&gt;
&lt;p&gt;John Milton, british né le 9 décembre 1608, a mis au jour ici une
oeuvre poétique retraçant la vie d&amp;#8217;Adam et Eve et la perte de leur
condition d&amp;#8217;êtres parfaits dans ce qui est donc le paradis&amp;nbsp;perdu.&lt;/p&gt;
&lt;p&gt;Le texte est qualifié de poétique mais ne me demandez pas pourquoi, je
ne suis de loin pas assez qualifié pour définir les critères qui le
font entrer dans cette catégorie. N&amp;#8217;attendez pas de rime ou
d&amp;#8217;alexandrins, ce texte est poétique mais pas comme&amp;nbsp;ca.&lt;/p&gt;
&lt;p&gt;Si vous aimez les phrases bien tournées, contenant des mots
sophistiqués et que l&amp;#8217;histoire biblique du début de la création vous
intéresse, ce livre vous enchentera à coup sûr. J&amp;#8217;ai apprécié même
s&amp;#8217;il m&amp;#8217;a fallu un bout de temps pour le terminer, j&amp;#8217;ai apprécié. Ce ne
sera pas le livre qui restera dans ma mémoire mais je suis franchement
content de l&amp;#8217;avoir&amp;nbsp;lu.&lt;/p&gt;
&lt;p&gt;A vous de vous faire votre&amp;nbsp;opinion.&lt;/p&gt;
&lt;p&gt;Finissons avec une traditionelle petite&amp;nbsp;citation:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Adam ne fit aucun scrupule d&amp;#8217;en manger malgré ce qu&amp;#8217;il savait; il ne
  fut pas trompé; il fut follement vaincu par le charme d&amp;#8217;une&amp;nbsp;femme.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ahhh ces femmes, la cause de tous nos&amp;nbsp;soucis.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="one left lr"&gt;
  &lt;strong&gt;Sur Amazon&lt;/strong&gt;
  &lt;iframe src="http://rcm-fr.amazon.fr/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=thpowo-21&amp;o=8&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;md=0V7HTNAW9BB7KPZWWWG2&amp;asins=2070328384" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/ScrSs3TrtUs" height="1" width="1"/&gt;</description>
         <pubDate>05 Jun 10 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/critique-de-livre-le-paradis-perdu.html</feedburner:origLink></item>    
      <item>
         <title>Lire en vitesse rapide (x2 ou x3) un podcast sous itunes</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/UvgVw3hzun0/lire-en-vitesse-rapide-un-podcast-sous-itunes.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/lire-en-vitesse-rapide-un-podcast-sous-itunes.html</guid>
         <description>&lt;p&gt;L&amp;#8217;iPhone permet déjà depuis pas mal de temps de passer les podcasts en
lecture rapide mais malheureusement itunes lui n&amp;#8217;a pas suivi la même
tendance. Ca en embètent&amp;nbsp;certains&amp;#8230;&lt;/p&gt;
&lt;div class="centered"&gt;
&lt;a href="http://twitter.com/emmanuelbernard/status/12457844844" class="centered"&gt;
&lt;img src="/media/images/eb-itunes.png" width="500" alt="I wish iTunes had the reading option x2 speed like the iPhone"/&gt;
&lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Comptez-moi dans le lot. Enfin jusque aujourd&amp;#8217;hui puisqu&amp;#8217;en fait il y
a une solution toute simple. Cette solution n&amp;#8217;utilise pas itunes et
donc le titre est un peu trompeur mais j&amp;#8217;imagine que les utilisateurs
rencontrant ce problème l&amp;#8217;ont avec itunes donc je voulais faire dans
le pratique&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Dans la perspective podcast d&amp;#8217;itunes, faire un clic-droit sur l&amp;#8217;épisode du podcast à&amp;nbsp;lire&lt;/li&gt;
&lt;li&gt;Sélectionner &amp;#8220;Show in&amp;nbsp;Finder&amp;#8221;&lt;/li&gt;
&lt;li&gt;Clic-droit sur le fichier dans le finder et ouvrir le fichier avec&amp;nbsp;Quicktime&lt;/li&gt;
&lt;li&gt;Une fois Quicktime ouvert, faire Window -&amp;gt; Show A/V&amp;nbsp;Controls&lt;/li&gt;
&lt;li&gt;Parmis les options, régler la vitesse désirée sous Playback&amp;nbsp;Speed&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Et voilà problème résolu! Quand même un peu bête qu&amp;#8217;itunes n&amp;#8217;inclut
pas directement cette&amp;nbsp;fonctionalité!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/UvgVw3hzun0" height="1" width="1"/&gt;</description>
         <pubDate>05 Jun 10 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/lire-en-vitesse-rapide-un-podcast-sous-itunes.html</feedburner:origLink></item>    
      <item>
         <title>SICP en version epub</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/y_VDHBojIFw/sicp-en-version-epub.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/sicp-en-version-epub.html</guid>
         <description>&lt;p&gt;Après avoir terminé la lecture de la biographie de Richard Stallman
j&amp;#8217;ai été un peu plus séduit par le format epub. Le confort
d&amp;#8217;utilisation est supérieur à ce que je pensais et plusieurs
fonctionalités offertes par un &lt;em&gt;e-reader&lt;/em&gt; sont fort
sympathiques&amp;#8230; J&amp;#8217;y reviendrai lors d&amp;#8217;une prochaine critique de la bio&amp;nbsp;susmentionnée.&lt;/p&gt;
&lt;p&gt;Pour l&amp;#8217;instant le sujet de ce billet, c&amp;#8217;est la publication de &lt;a href="http://mitpress.mit.edu/sicp/"&gt;&lt;span class="caps"&gt;SICP&lt;/span&gt;&lt;/a&gt; en
version epub&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt;. A ma surprise elle n&amp;#8217;existait pas encore ou en tout cas
je ne l&amp;#8217;ai pas trouvée. Si je me trompe donnez-moi un lien&amp;nbsp;please!&lt;/p&gt;
&lt;p&gt;Je possède &lt;span class="caps"&gt;SICP&lt;/span&gt; en version papier mais de l&amp;#8217;avoir en version ebook sur
mon iphone&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; est un confort supplémentaire non&amp;nbsp;négligeable.&lt;/p&gt;
&lt;p&gt;Bref si vous êtes intéressé c&amp;#8217;est par là:
&lt;a href="http://db.tt/ryenOj"&gt;http://db.tt/ryenOj&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Copiez simplement cette url dans votre &lt;em&gt;e-reader&lt;/em&gt; et hop après
téléchargement plongez-vous confortablement dans ce livre&amp;nbsp;incroyable!&lt;/p&gt;
&lt;p&gt;Pour les intéressés voici le snippet en python que j&amp;#8217;ai utilisé pour
convertir le livre en ligne en un seul fichier html. J&amp;#8217;ai ensuite
utilisé le logiciel &lt;a href="http://calibre-ebook.com/"&gt;Calibre&lt;/a&gt; pour la conversion en format epub ce
qui nous donne au final un ebook fonctionnel. Oui fonctionnel, sans
plus mais moi ça me convient très bien. Certains liens ne fonctionnent
pas depuis la table des matières, d&amp;#8217;autres marchent&amp;#8230; Je n&amp;#8217;ai pas
cherché à comprendre pourquoi (vous vous rappelez &lt;a href="http://www.poxd.org/blog/adopter-le-assez-bien.html"&gt;&lt;em&gt;Adopter le &amp;#8220;assez
bien&amp;#8221;&lt;/em&gt;&lt;/a&gt; ?). Si quelqu&amp;#8217;un a une piste qu&amp;#8217;il n&amp;#8217;hésite pas à me
prodiguer ses&amp;nbsp;lumières.&lt;/p&gt;
&lt;div class="syntax"&gt;&lt;pre&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;urllib2&lt;/span&gt; &lt;span class="kn"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;urllib&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;re&lt;/span&gt;

&lt;p&gt;&lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;http://mitpress.mit.edu/sicp/full-text/book/book.html&amp;quot;&lt;/span&gt;
&lt;span class="n"&gt;base&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;http://mitpress.mit.edu/sicp/full-text/book/&amp;quot;&lt;/span&gt;
&lt;span class="n"&gt;navigation&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;compile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&amp;lt;p&amp;gt;&amp;lt;div class=navigation.+?&amp;lt;p&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;href&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;compile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&amp;lt;a(.+)href=&lt;/span&gt;&lt;span class="se"&gt;&amp;amp;quot;&lt;/span&gt;&lt;span class="s"&gt;(?!http://).+.html#(.+?)&lt;/span&gt;&lt;span class="se"&gt;&amp;amp;quot;&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;body&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;compile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;.*&amp;lt;body&amp;gt;(.+)&amp;lt;/body&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;&lt;span class="caps"&gt;DOTALL&lt;/span&gt;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;download_resources&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;_load&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;resource&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;urllib&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;urlopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;resource_content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;resource&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;read&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="n"&gt;resource&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;close&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;resource_content&lt;/span&gt;
    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;_write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;local_url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;binary&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;mode&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;w&amp;quot;&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;binary&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;mode&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;b&amp;quot;&lt;/span&gt;
        &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;local_url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;mode&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;local_resource&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;local_resource&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;      &lt;br /&gt;
    &lt;span class="c"&gt;#1 load css &lt;/span&gt;
    &lt;span class="n"&gt;links&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;search&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;&amp;lt;link .&lt;em&gt; href=&amp;quot;(.+)&amp;quot;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;links&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;resource_url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;links&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;groups&lt;/span&gt;&lt;span class="p"&gt;()[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="n"&gt;resource_content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;_load&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;base&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;resource_url&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;_write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;resource_url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;resource_content&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="c"&gt;#2 load images&lt;/span&gt;
    &lt;span class="n"&gt;img_set&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;img&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;finditer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;&amp;lt;img.+?src=&lt;a href="?!http"&gt;&lt;/span&gt;&lt;span class="se"&gt;&amp;#39;&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&lt;/a&gt;(.+?)[&lt;/span&gt;&lt;span class="se"&gt;&amp;amp;#39;&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;].&lt;/em&gt;?&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;img_url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;img&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;groups&lt;/span&gt;&lt;span class="p"&gt;()[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="n"&gt;img_set&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;base&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;img_url&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;img_set&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;resource_content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;_load&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;_write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;base&lt;/span&gt;&lt;span class="p"&gt;):],&lt;/span&gt; &lt;span class="n"&gt;resource_content&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="c"&gt;#initial content&lt;/span&gt;
&lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;urllib&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;urlopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;read&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;head&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;(&amp;lt;!doctype.+)&amp;lt;body&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;&lt;span class="caps"&gt;DOTALL&lt;/span&gt;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;head&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;head&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;groups&lt;/span&gt;&lt;span class="p"&gt;()[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;body&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;groups&lt;/span&gt;&lt;span class="p"&gt;()[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="c"&gt;#loop through the book until no &amp;#39;next&amp;#39; url is found&lt;/span&gt;
&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;next_url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_next_url&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;next_url&lt;/span&gt; &lt;span class="ow"&gt;is&lt;/span&gt; &lt;span class="bp"&gt;None&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;break&lt;/span&gt;
    &lt;span class="n"&gt;next_url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;http://mitpress.mit.edu/sicp/full-text/book/&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;next_url&lt;/span&gt;
    &lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;navigation&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_content&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;next_url&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;sanitize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;match&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;match&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;groups&lt;/span&gt;&lt;span class="p"&gt;()[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;%&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;href&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;match&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;groups&lt;/span&gt;&lt;span class="p"&gt;()[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;href&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;href&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;%&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;&amp;lt;a &lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s"&gt; href=&amp;#39;#&lt;/span&gt;&lt;span class="si"&gt;%s&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;&amp;quot;&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;href&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;href&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;sanitize&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;&amp;lt;a name=&amp;quot;(.+)&amp;quot;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;lambda&lt;/span&gt; &lt;span class="n"&gt;m&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;&amp;lt;a name=&amp;quot;&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;m&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;groups&lt;/span&gt;&lt;span class="p"&gt;()[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;%&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;&amp;quot;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;navigation&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;head&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;&amp;lt;body&amp;gt;&amp;quot;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&amp;quot;&lt;/span&gt;
&lt;span class="n"&gt;download_resources&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="c"&gt;#print the final book&lt;/span&gt;
&lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="n"&gt;content&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/y_VDHBojIFw" height="1" width="1"/&gt;</description>
         <pubDate>29 May 10 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/sicp-en-version-epub.html</feedburner:origLink></item>    
      <item>
         <title>La semaine prochaine java bien aller avec Jazoon!</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/8QpZpEPMFfQ/la_semaine_prochaine_java_bien_aller_avec_jazoon.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/la_semaine_prochaine_java_bien_aller_avec_jazoon.html</guid>
         <description>&lt;p&gt;La semaine prochaine sera spécialement Java pour moi avec la
conférence &lt;a href="http://jazoon.com"&gt;Jazoon&lt;/a&gt;. Je n&amp;#8217;ai jamais assisté à une conférence de cette
envergure, je me réjouis un max! Le programme en lui-même est
alléchant avec plusieurs sessions auxquelles je me réjouis d&amp;#8217;assister,
voyons le programme que je pense me&amp;nbsp;faire&amp;#8230;&lt;/p&gt;
&lt;h1 id="le-mardi"&gt;Le&amp;nbsp;mardi&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Java &lt;span class="caps"&gt;SE&lt;/span&gt; and JavaFX: The Road Ahead par &lt;em&gt;Danny&amp;nbsp;Coward&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;The Java &lt;span class="caps"&gt;EE&lt;/span&gt; 6 Platform: Powerful, Productive, Extensible par &lt;em&gt;Jerome Dochez&lt;/em&gt; et &lt;em&gt;Alexis&amp;nbsp;Moussine-Pouchkine&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="caps"&gt;CDI&lt;/span&gt;, Seam &lt;span class="amp"&gt;&amp;amp;&lt;/span&gt; RESTEasy: You haven&amp;#8217;t seen &lt;span class="caps"&gt;REST&lt;/span&gt; yet par &lt;em&gt;Dan&amp;nbsp;Allen&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Pour le slot de 14:00-14:50 je ne sais pas du&amp;nbsp;tout&lt;/li&gt;
&lt;li&gt;De 15:00-15:50 mon coeur balance entre Construction Techniques for Domain Specific Languages et Server-side OSGi with Apache Sling. La première pour le speaker Neal Ford, la deuxième pour le contenu. Le projet Sling étant un projet que je suis de&amp;nbsp;loin.&lt;/li&gt;
&lt;li&gt;A nouveau un peu hésitant pour l&amp;#8217;avant-dernière session mais je pense assister à Servlet 3.0 - Asynchronous, extensibility, ease of development par &lt;em&gt;Rajiv Mordani&lt;/em&gt; et &lt;em&gt;Jan&amp;nbsp;Luehe&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;97 Things Every Programmer Should Know par &lt;em&gt;Kevlin&amp;nbsp;Henney&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="le-mercredi"&gt;Le&amp;nbsp;mercredi&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Total Cost of Ownership par &lt;em&gt;Ken&amp;nbsp;Schwaber&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;iPhone/iPad development from the Java Perspective par &lt;em&gt;Ognen&amp;nbsp;Ivanovski&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;What&amp;#8217;s new in Hibernate: a &lt;span class="caps"&gt;JPA&lt;/span&gt; 2 perspective par &lt;em&gt;Emmanuel&amp;nbsp;Bernard&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;The Java Persistence Criteria &lt;span class="caps"&gt;AP&lt;/span&gt; par &lt;em&gt;Linda&amp;nbsp;DeMichiel&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Patterns and Practices in Hibernate par &lt;em&gt;Patrycja&amp;nbsp;Wegrzynowicz&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;How Java Powers Large Online Retail Sites par &lt;em&gt;Robert Brazile&lt;/em&gt; et &lt;em&gt;Jason&amp;nbsp;Brazile&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Au moins une des 3 sessions rookie qui terminent la&amp;nbsp;journée.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="le-jeudi"&gt;Le&amp;nbsp;jeudi&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;The Gaia satellite and Data Processing par &lt;em&gt;William&amp;nbsp;O&amp;#8217;Mullane&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Essentials of Testing: The Tools You Need to Know par &lt;em&gt;Bettina Polasek&lt;/em&gt; et &lt;em&gt;Marco&amp;nbsp;Cicolini&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Rapid Application Development with Apache Wicke par &lt;em&gt;Andrew&amp;nbsp;Lombardi&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Exploring &lt;span class="caps"&gt;HTML5&lt;/span&gt; With JavaServer Faces 2.0 par &lt;em&gt;Roger&amp;nbsp;Kitain&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Search, Find, Classify - A short tour through Apache Solr par &lt;em&gt;Sven Maurmann&lt;/em&gt; ou Spring &lt;span class="caps"&gt;ROO&lt;/span&gt; - A New Level of Enterprise Java Productivity par &lt;em&gt;Eberhard&amp;nbsp;Wolff&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Pour l&amp;#8217;avant dernière on verra sur le&amp;nbsp;moment.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Plutôt chargé! On va voir comment tout ça se déroule mais je suis
clairement impatient de découvrir encore un peu plus la communauté
Java &lt;em&gt;en vrai&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Si certains lecteurs de passage s&amp;#8217;y rendent aussi dites-le moi qu&amp;#8217;on
boive un verra&amp;nbsp;là-bas!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/8QpZpEPMFfQ" height="1" width="1"/&gt;</description>
         <pubDate>28 May 10 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/la_semaine_prochaine_java_bien_aller_avec_jazoon.html</feedburner:origLink></item>    
      <item>
         <title>Linux's Forgotten Man</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/pBUwD8Wtneo/linux-s-forgotten-man.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/linux-s-forgotten-man.html</guid>
         <description>&lt;p&gt;En cette fin de weekend plutôt maussade, un excellent article, concis
et riche à propos de &lt;span class="caps"&gt;RMS&lt;/span&gt; et de sa position par rapport à Linus
Torvals, créateur du noyau Linux. On y découvre également une fois de
plus que l&amp;#8217;open source n&amp;#8217;est pas forcément éthiquement relié au
mouvement du logiciel&amp;nbsp;libre.&lt;/p&gt;
&lt;p&gt;Aujourd&amp;#8217;hui bien que Linux ne soit &lt;em&gt;que&lt;/em&gt; le noyau et non le système
d&amp;#8217;exploitation dans son ensemble, le commun des utilisateurs &lt;strong&gt;et&lt;/strong&gt;
des dévelopeurs n&amp;#8217;utilisent plus que Linux pour le désigner. Comme le
montre bien cet extrait ce n&amp;#8217;est pas sans chagriner&amp;nbsp;&lt;span class="caps"&gt;RMS&lt;/span&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span class="dquo"&gt;&amp;#8220;&lt;/span&gt;[Torvalds] is basically an engineer,&amp;#8221; Stallman said. &amp;#8220;He likes free
software, but isn&amp;#8217;t concerned with issues of freedom. That&amp;#8217;s why I&amp;#8217;m
unhappy when the &lt;span class="caps"&gt;GNU&lt;/span&gt; system is called Linux&amp;#8230;. People are no longer
exposed to the philosophical views of the &lt;span class="caps"&gt;GNU&lt;/span&gt;&amp;nbsp;project.&amp;#8221;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;#8212; &lt;a href="http://www.wired.com/science/discoveries/news/1999/03/18291"&gt;Linux&amp;#8217;s Forgotten Man&lt;/a&gt;, article &lt;a href="http://wired.com"&gt;wired&lt;/a&gt; du 3 mai&amp;nbsp;1999&lt;/p&gt;
&lt;p&gt;Bonne semaine à&amp;nbsp;tous!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/pBUwD8Wtneo" height="1" width="1"/&gt;</description>
         <pubDate>09 May 10 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/linux-s-forgotten-man.html</feedburner:origLink></item>    
      <item>
         <title>Liberté, égalité, fraternité, signum du logiciel libre</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/sRHgyTnw6vI/liberte-egalite-fraternite-signum-du-libre.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/liberte-egalite-fraternite-signum-du-libre.html</guid>
         <description>&lt;p&gt;S&amp;#8217;il ne fallait en mentionner qu&amp;#8217;un ce serait lui: &lt;span class="caps"&gt;RMS&lt;/span&gt;. Maître respecté au sein
de la nation hacker, c&amp;#8217;est &lt;span class="caps"&gt;LE&lt;/span&gt; nom qu&amp;#8217;on retrouve partout lorsqu&amp;#8217;on parle du
monde du&amp;nbsp;libre.&lt;/p&gt;
&lt;p&gt;&lt;span class="caps"&gt;RMS&lt;/span&gt; pour Richard Matthew Stallman, le pionnier en chef du libre. Car même si le
mode du libre subsistait avant sa formalisation &amp;#8212; je pense en premier lieu au
milieu universitaire &amp;#8212; &lt;span class="caps"&gt;RMS&lt;/span&gt; a bien été le fer de lance du mouvement. Il en est
d&amp;#8217;ailleurs toujours l&amp;#8217;icône et le plus vif défenseur. Voyons comment tout est&amp;nbsp;né&amp;#8230;&lt;/p&gt;
&lt;h1 id="new-unix-implementation"&gt;&lt;span class="dquo"&gt;&amp;#8220;&lt;/span&gt;New Unix&amp;nbsp;implementation&amp;#8221;&lt;/h1&gt;
&lt;p&gt;Le 27 septembre 1983, &lt;span class="caps"&gt;RMS&lt;/span&gt; envoie sur 2 &lt;em&gt;newsgroups&lt;/em&gt; son intention de développer
un tout nouveau système d&amp;#8217;exploitation entièrement libre. Ses intentions &amp;#8212; et
par là même toute l&amp;#8217;idéologie du libre &amp;#8212; ressortent bien lorsqu&amp;#8217;il
dit:&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;sup&gt;,&lt;/sup&gt;&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Je considère comme règle d&amp;#8217;or le fait que si j&amp;#8217;apprécie un programme je dois
le partager avec d&amp;#8217;autres personnes. Je ne peux pas signer un accord de non
divulgation et être en accord avec ma&amp;nbsp;conscience.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div&gt;
&lt;aside class="three left"&gt;
  &lt;strong&gt;&lt;i&gt;Free as in speech&lt;/i&gt;&lt;/strong&gt;
  &lt;p&gt;La confusion entre logiciels libres et
  gratuité est très courante mais peut-être encore davantage dans les
  contrées anglophones où &amp;#8220;gratuit&amp;#8221; et &amp;#8220;libre&amp;#8221; portent le même nom
  : &lt;i&gt;free&lt;/i&gt;.&lt;/p&gt;&lt;p&gt;Deux tournures permettent de contourner le
  problème et de savoir de quoi l&amp;#8217;on parle: &lt;i&gt;free as in speech&lt;/i&gt;
  pour signifier la liberté d&amp;#8217;expression et &lt;i&gt;free as in beer&lt;/i&gt;
  pour la&amp;nbsp;gratuité.&lt;/p&gt;
&lt;/aside&gt;
&lt;/div&gt;

&lt;p&gt;Tout part de cette envie de partage.  Retenez donc ça: le libre veut promouvoir
un esprit égalitaire au sein de l&amp;#8217;industrie du logiciel. Ce qui au passage n&amp;#8217;a
rien à voir avec le coût mercantile du-dit logiciel. Non, ici égalitaire veut
plutôt dire qu&amp;#8217;un utilisateur ne doit se voir privé d&amp;#8217;aucun de ses droits par le
logiciel. Ceci implique principalement 4 commandements, appelés les &lt;strong&gt;4
libertés&lt;/strong&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;La liberté d&amp;#8217;exécuter le programme et ce pour tout&amp;nbsp;usage.&lt;/li&gt;
&lt;li&gt;La liberté d&amp;#8217;étudier le fonctionnement du programme au moyen des sources
fournies avec le&amp;nbsp;logiciel.&lt;/li&gt;
&lt;li&gt;La liberté de redistribuer des copies payantes ou&amp;nbsp;non.&lt;/li&gt;
&lt;li&gt;La liberté d&amp;#8217;améliorer le programme et de publier ces&amp;nbsp;améliorations.&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id="gnus-not-unix"&gt;&lt;span class="dquo"&gt;&amp;#8220;&lt;/span&gt;&lt;span class="caps"&gt;GNU&lt;/span&gt;&amp;#8217;s not&amp;nbsp;Unix&amp;#8221;&lt;/h1&gt;
&lt;p&gt;La création de ce nouveau système d&amp;#8217;exploitation complètement libre passe par le
projet &lt;em&gt;&lt;span class="caps"&gt;GNU&lt;/span&gt;&lt;/em&gt;&lt;sup id="fnref:4"&gt;&lt;a href="#fn:4" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt;, un ensemble de briques applicatives. Pour y arriver le projet
a dû regrouper de nombreux développeurs brillants même si Stallman lui-même
n&amp;#8217;est pas dénué de talent de ce côté-là. Jugez vous-même: c&amp;#8217;est lui qui a &amp;#8212;
entre autres &amp;#8212; développé le fameux Emacs ou encore le compilateur C du projet
&lt;em&gt;&lt;span class="caps"&gt;GNU&lt;/span&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;A côté de ça il se penche également sur les implications légales du mouvement
qu&amp;#8217;il défend en mettant au jour&lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt; la première licence dite libre: la fameuse
&lt;em&gt;&lt;span class="caps"&gt;GNU&lt;/span&gt; General Public License&lt;/em&gt;. Le 4 octobre 1985 cet effort mène à la création de
la &lt;em&gt;Free Software Foundation&lt;/em&gt; ayant pour objectif de promouvoir la liberté des
utilisateurs de logiciels et de défendre leurs&amp;nbsp;droits.&lt;/p&gt;
&lt;p&gt;Pour se faire cette fondation mène des campagnes&lt;sup id="fnref:5"&gt;&lt;a href="#fn:5" rel="footnote"&gt;5&lt;/a&gt;&lt;/sup&gt; de promotion, supporte le
développement de logiciels libres &amp;#8212; en sponsorisant le projet &lt;em&gt;&lt;span class="caps"&gt;GNU&lt;/span&gt;&lt;/em&gt; par exemple
&amp;#8212; ou encore enregistre chaque année des milliers de &lt;em&gt;copyrights&lt;/em&gt; auprès de
l&amp;#8217;administration américaine afin de pouvoir toujours mieux défendre les droits
des logiciels libres et de leur&amp;nbsp;créateurs.&lt;/p&gt;
&lt;h1 id="open-source-spannespan-logiciel-libre"&gt;Open source &lt;span&gt;&amp;ne;&lt;/span&gt; Logiciel&amp;nbsp;libre&lt;/h1&gt;
&lt;p&gt;Le développement du libre a ainsi pu prendre forme sur maintenant près de trois
décennies mais en chemin un cousin est né lorsqu&amp;#8217;en 1998 le mouvement &lt;em&gt;Open
Source&lt;/em&gt; est&amp;nbsp;créé.&lt;/p&gt;
&lt;p&gt;Il ne faudrait toutefois pas le confondre avec le logiciel libre. Bien que
l&amp;#8217;&lt;em&gt;Open Source&lt;/em&gt; obéisse au 2ème commandement du libre, il n&amp;#8217;est pas aussi
profondément attaché au principe éthique de liberté. Il est ainsi possible
aujourd&amp;#8217;hui de mêler logiciels &lt;em&gt;open source&lt;/em&gt; et produits propriétaires, cela
n&amp;#8217;étant pas vrai du logiciel&amp;nbsp;libre.&lt;/p&gt;
&lt;p&gt;Bref voilà comment en un peu plus de 500 mots on peut définir l&amp;#8217;idéologie
derrière le logiciel libre, ce qu&amp;#8217;il défend, d&amp;#8217;où il vient. Mais bien que ce
discours de liberté soit des plus louable dans le concret qu&amp;#8217;est-ce que cela a&amp;nbsp;donné?&lt;/p&gt;
&lt;p&gt;Rendez-vous au prochain article de cette série pour voir les succès du logiciel&amp;nbsp;libre.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/sRHgyTnw6vI" height="1" width="1"/&gt;</description>
         <pubDate>27 Mar 10 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/liberte-egalite-fraternite-signum-du-libre.html</feedburner:origLink></item>    
      <item>
         <title>Biographie de RMS, le druide</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/HOr_E0g4cOw/biographie-rms.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/biographie-rms.html</guid>
         <description>&lt;p&gt;Je fais pas mal de recherches actuellement pour ma suite d&amp;#8217;articles
à propos du logiciel libre. A ce propos un livre vient d&amp;#8217;être publié
librement faisant la biographie de Richard Matthew Stallman, guru de la
communauté du&amp;nbsp;libre.&lt;/p&gt;
&lt;p&gt;En lisant le deuxième chapitre vous trouverez une excellente analogie
donnée par le maître lui-même à propos des &lt;strong&gt;enjeux du libre&lt;/strong&gt;. La&amp;nbsp;voici:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Il compare un logiciel à une recette de cuisine : les deux donnent
d’utiles instructions, pas à pas, pour accomplir une tâche
souhaitée. Ils peuvent être aisément modifiés en fonction des désirs
spécifiques de l’usager, ou de circonstances particulières. « Vous
n’avez pas à suivre une recette avec précision [&amp;#8230;]. Vous pouvez
laisser de côté certains ingrédients. Ajouter quelques champignons
parce que vous en raffolez. Mettre moins de sel car votre médecin vous
le conseille – peu importe.&amp;nbsp;»&lt;/p&gt;
&lt;p&gt;« De surcroît [&amp;#8230;], logiciels et recettes sont faciles à partager. En
donnant une recette à un invité, un cuisinier n’y perd que du temps et
le coût du papier sur lequel il l’inscrit. Partager un logiciel
nécessite encore moins, habituellement quelques clics de souris et un
minimum d’électricité. Dans tous les cas, la personne qui donne
l’information y gagne deux choses : davantage d’amitié et la
possibilité de récupérer en retour d’autres recettes&amp;nbsp;intéressantes. »&lt;/p&gt;
&lt;p&gt;[&amp;#8230;] « Imaginez que les recettes soient emballées dans des boîtes
noires. Vous ne pourriez pas connaître les ingrédients utilisés,
encore moins les changer. Et si vous en faisiez une copie pour un ami,
ils vous qualifieraient de pirate et essaieraient de vous faire
emprisonner des années durant. Un tel changement susciterait un énorme
scandale chez les gens ayant l’habitude de partager des recettes. Mais
c’est exactement ce que nous impose le monde du logiciel
propriétaire. Un monde dans lequel la bienséance commune envers les
autres est prohibée ou empêchée.&amp;nbsp;»&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="/media/images/framabook.org.png" class="links-ico"/&gt; &lt;a href="http://forge.framabook.org/stallman/"&gt;Richard
Stallman et la révolution du logiciel libre&lt;/a&gt; (&lt;a href="http://www.amazon.fr/gp/product/2212126093?ie=UTF8&amp;amp;tag=thpowo-21&amp;amp;linkCode=as2&amp;amp;camp=1642&amp;amp;creative=19458&amp;amp;creativeASIN=2212126093"&gt;l&amp;#8217;acheter en format
papier sur Amazon&lt;/a&gt;)&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/HOr_E0g4cOw" height="1" width="1"/&gt;</description>
         <pubDate>11 Mar 10 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/biographie-rms.html</feedburner:origLink></item>    
      <item>
         <title>Adopter le "assez bien"</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/JQ1qtZvCEXA/adopter-le-assez-bien.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/adopter-le-assez-bien.html</guid>
         <description>&lt;p&gt;Le perfectionisme &amp;#8212; même dans une mesure relative &amp;#8212; est l&amp;#8217;un des
plus grand freins à la réalisation de mes projets, informatiques ou
non d&amp;#8217;ailleurs. Le fait de ne pas atteindre le top du top peut
carrément stopper la progression mais comme le mentionne cet article,
un trop grand nombre de fonctionalités, une portée trop large ou une
mise au jour du public tardive n&amp;#8217;aident pas non&amp;nbsp;plus.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Perfectionism is the enemy of completion. Nitpick and worry about
  getting it “just right”, and you’ll never get it done. Done is
  better than&amp;nbsp;right.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Il faut vraiment que je fasse tout pour garder ces conseils en&amp;nbsp;tête!&lt;/p&gt;
&lt;p&gt;&lt;img src="/media/images/zenhabits.net.ico" class="links-ico"/&gt; &lt;a href="http://zenhabits.net/2010/02/completion-principles/"&gt;4 Simple
                               Principles of
                               Getting to&amp;nbsp;Completion&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/JQ1qtZvCEXA" height="1" width="1"/&gt;</description>
         <pubDate>22 Feb 10 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/adopter-le-assez-bien.html</feedburner:origLink></item>    
      <item>
         <title>Correction orthographique en français sous Emacs Carbon</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/Wk3quo8_vNY/correction_orthographique_en_francais_sous_emacs_carbon.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/correction_orthographique_en_francais_sous_emacs_carbon.html</guid>
         <description>&lt;p&gt;Depuis la migration de ce blog à &lt;a href="http://ringce.com/hyde"&gt;hyde&lt;/a&gt; j&amp;#8217;écris tous mes billets
sous Emacs. Cette véritable machine à tout faire me convient
parfaitement pour écrire, je le mets en mode plein écran et c&amp;#8217;est&amp;nbsp;parti.&lt;/p&gt;
&lt;p&gt;Avant la publication je vérifie les erreurs d&amp;#8217;orthographe qui ont pu
s&amp;#8217;insérer par inadvertance. Emacs fournit de base cette fonctionnalité
grâce à la fonction &lt;code&gt;ispell&lt;/code&gt;. Sur mon mac par contre
uniquement le dictionnaire anglais est supporté de base et vu le temps
que j&amp;#8217;ai mis à configurer Emacs pour supporter la correction en
français, je me suis dit qu&amp;#8217;un petit billet pourrait en aider&amp;nbsp;d&amp;#8217;autres&amp;#8230;&lt;/p&gt;
&lt;h1 id="verifier-linstallation-de-ispell"&gt;Vérifier l&amp;#8217;installation de&amp;nbsp;ispell&lt;/h1&gt;
&lt;p&gt;&lt;code&gt;ispell&lt;/code&gt; n&amp;#8217;est pas réservé à Emacs, &lt;code&gt;ispell&lt;/code&gt; est
un outil en ligne de commande sur tout système d&amp;#8217;exploitation
Unix. Emacs utilise donc une interface à cet outil afin de fournir la
correction. Tapez &lt;code&gt;ispell -v&lt;/code&gt; sur la ligne de commande afin
de vérifier qu&amp;#8217;il est bien installé. Si par hasard ce n&amp;#8217;était pas le
cas, rendez-vous sur la &lt;a href="http://www.gnu.org/software/ispell/"&gt;page dédiée&lt;/a&gt; à l&amp;#8217;outil et suivez ensuite
les instructions au sein du fichier &lt;code&gt;README&lt;/code&gt; tout devrait
se dérouler sans problème. L&amp;#8217;appel à &lt;code&gt;ispell -v&lt;/code&gt; devrait
alors&amp;nbsp;fonctionner.&lt;/p&gt;
&lt;h1 id="trouver-le-dictionnaire-francais-pour-ispell"&gt;Trouver le dictionnaire français pour&amp;nbsp;ispell&lt;/h1&gt;
&lt;p&gt;&lt;code&gt;ispell&lt;/code&gt; a besoin de dictionnaires pour lancer sa
correction, la première tâche est donc de trouver un dictionnaire
français adapté. Après avoir &lt;em&gt;googlé&lt;/em&gt; durant une bonne vingtaine de
minutes sans succès, je me suis connecté au channel
irc &lt;code&gt;#fsf&lt;/code&gt; pour y demander de l&amp;#8217;aide. En deux secondes j&amp;#8217;ai
été redirigié sur les &lt;a href="http://packages.debian.org/fr/sid/ifrench-gut"&gt;archives des packages de la distribution Linux
Debian&lt;/a&gt; fournissant exactement ce dont j&amp;#8217;avais besoin. Comme quoi
Google n&amp;#8217;a pas toujours réponse à tout tout de&amp;nbsp;suite.&lt;/p&gt;
&lt;p&gt;Une fois le dictionnaire téléchargé pour la plate-forme adéquate il ne
reste plus qu&amp;#8217;à lancer l&amp;#8217;utilitaire &lt;code&gt;makehash&lt;/code&gt;. Ce dernier
compile le dictionnaire dans le format requis
par &lt;code&gt;ispell&lt;/code&gt;. Il ne reste plus qu&amp;#8217;à déplacer ces fichiers
compilés. Dans mon cas je les ai déplacé dans le
répertoire &lt;code&gt;/usr/local/lib&lt;/code&gt;, dans le vôtre ce sera
peut-être&amp;nbsp;différent.&lt;/p&gt;
&lt;p&gt;Retour à la ligne de commande et testez &lt;code&gt;ispell -d
francais&lt;/code&gt;. Vous pouvez dorénavant entrez n&amp;#8217;importe quel mot
français et la correction se fera en&amp;nbsp;fonction.&lt;/p&gt;
&lt;h1 id="integration-a-emacs"&gt;Intégration à&amp;nbsp;Emacs&lt;/h1&gt;
&lt;p&gt;Ce n&amp;#8217;est pas encore terminé car même si &lt;code&gt;ispell&lt;/code&gt; fonctionne
maintenant bien en ligne de commande ce n&amp;#8217;est peut-être pas encore le
cas sous Emacs. A ma surprise en effet, Emacs bien que proposant la
fonction
&lt;code&gt;ispell&lt;/code&gt; pour lancer la correction, utilise au final
&lt;code&gt;aspell&lt;/code&gt; qui est un autre outil de correction
similaire. Quelle&amp;nbsp;confusion!&lt;/p&gt;
&lt;p&gt;Sous Emacs&lt;sup id="fnref:0"&gt;&lt;a href="#fn:0" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt;, lancez la commande &lt;code&gt;(setq ispell-program-name
"ispell")&lt;/code&gt; ou bien ajoutez-la directement dans le fichier de
configuration
&lt;code&gt;~/.emacs&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Après avoir configuré Emacs pour choisir le dictionnaire français
(&lt;code&gt;ispell-change-dictionary&lt;/code&gt;), plus qu&amp;#8217;à lancer la commande
&lt;code&gt;ispell&lt;/code&gt; et cette fois-ci le tour est&amp;nbsp;joué!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/Wk3quo8_vNY" height="1" width="1"/&gt;</description>
         <pubDate>20 Feb 10 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/correction_orthographique_en_francais_sous_emacs_carbon.html</feedburner:origLink></item>    
      <item>
         <title>Critique de livre: La taupe de John Le Carré</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/_-Pv5A8ATpg/critique-de-livre-la-taupe.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/critique-de-livre-la-taupe.html</guid>
         <description>&lt;div class="five left"&gt;
  &lt;p&gt;Lorsqu&amp;#8217;un livre me plaît, je lis volontiers dans le train en allant au
boulot et en en revenant. Lorsqu&amp;#8217;un livre m&amp;#8217;accroche sérieusement en
plus du train je lis également en me couchant mais alors si un livre
me passionne, que j&amp;#8217;ai envie de le dévorer je suis prêt à faire
l&amp;#8217;asocial sur ma pause de midi pour m&amp;#8217;isoler et&amp;nbsp;lire&amp;#8230;&lt;/p&gt;
&lt;p&gt;Tout ça pour dire, que La Taupe de John le Carré, j&amp;#8217;ai mis presque un
mois à le lire, donc non je ne l&amp;#8217;ai pas souvent lu dans le train,
jamais en me couchant et mes collègues ne m&amp;#8217;ont pas vu disparaître
durant tout ce temps-là à la pause&amp;nbsp;déjeuné.&lt;/p&gt;
&lt;p&gt;Ce livre a pourtant une excellente critique, c&amp;#8217;est pas pour rien qu&amp;#8217;il
figure dans la &lt;em&gt;liste des 110 meilleurs livres&lt;/em&gt;&amp;#8230; Bon sang j&amp;#8217;ai
loupé&amp;nbsp;quoi?!&lt;/p&gt;
&lt;p&gt;Pour faire l&amp;#8217;analyse de ma &lt;em&gt;non-motivation&lt;/em&gt; à lire ce livre je crois
que l&amp;#8217;on peut résumer ça à peu de choses: des personnages qui ne m&amp;#8217;ont
pas forcément marqué, un départ trop lent et une intrigue un peu&amp;nbsp;vague.&lt;/p&gt;
&lt;p&gt;Souvent en lisant je me disais &amp;#8220;ah oui celui-là c&amp;#8217;est qui déjà? &amp;#8212;
il est arrivé quand? &amp;#8212; il est dans quel camp?&amp;#8221;. Je crois pas que c&amp;#8217;est
par manque de compréhension mais vraiment plus un manque
d&amp;#8217;emprise. Prenons par exemple le &lt;em&gt;pauvre&lt;/em&gt; Smiley &amp;#8212; le personnage principal &amp;#8212; il
est certes intelligent, il avance gaillardement dans son enquête mais
bref, il fait pas envie! Il aime sa Ann qui ne l&amp;#8217;aime plus, il est
persuadé qu&amp;#8217;elle l&amp;#8217;a trompé, il l&amp;#8217;a voit plus et il est complètement
morose. En plus on comprend rapidement qu&amp;#8217;il s&amp;#8217;est fait jeter par les
services secrets, bref c&amp;#8217;est pas la joie sa vie. D&amp;#8217;ailleurs pour ne
citer qu&amp;#8217;un extrait du livre, voilà ce que ça&amp;nbsp;donne:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;L&amp;#8217;espace d&amp;#8217;un moment, voilà ce qu&amp;#8217;était Smiley: un espion bedonnant
  et pieds nus, comme dirait Ann, déçu en amour et impuissant dans la
  haine, serrant un pistolet dans une main, un bout de ficelle dans
  l&amp;#8217;autre, tout en attendant dans&amp;nbsp;l&amp;#8217;obscurité.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Triste&amp;nbsp;non?&lt;/p&gt;
&lt;p&gt;C&amp;#8217;est pas seulement la morosité qui m&amp;#8217;a rebuté. La lenteur aussi. Au
départ on se trouve dans un collège avec un gamin qui rencontre un
nouveau prof avec qui se crée un certain lien&amp;#8230; Mais c&amp;#8217;est long!
L&amp;#8217;action tarde à venir, l&amp;#8217;intrigue aussi, on ne sait pas pourquoi on
est là, ni quand&amp;nbsp;d&amp;#8217;ailleurs.&lt;/p&gt;
&lt;p&gt;Bref, je n&amp;#8217;ai pas envie de dégoûter les amateurs de livres et peut-être
&amp;#8212; je l&amp;#8217;espère &amp;#8212; que j&amp;#8217;ai loupé un truc mais personnellement ce ne
sera pas mon livre de chevet de sitôt. Il me faudra certainement le
relire un jour pour essayer de percer la chose et comprendre pourquoi
un si grand nombre de gens adorent ce livre, disant même que c&amp;#8217;est l&amp;#8217;un
des tous meilleurs livres&amp;nbsp;d&amp;#8217;espionnage.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="one left lr"&gt;
  &lt;strong&gt;Sur Amazon&lt;/strong&gt;
  &lt;iframe src="http://rcm-fr.amazon.fr/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=thpowo-21&amp;o=8&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;md=0V7HTNAW9BB7KPZWWWG2&amp;asins=2020479915" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/_-Pv5A8ATpg" height="1" width="1"/&gt;</description>
         <pubDate>16 Feb 10 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/critique-de-livre-la-taupe.html</feedburner:origLink></item>    
      <item>
         <title>Pourquoi l'iPad va être un nouveau succès</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/58f7vfnUHJo/pourquoi-l-ipad-va-etre-un-nouveau-succes.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/pourquoi-l-ipad-va-etre-un-nouveau-succes.html</guid>
         <description>&lt;p&gt;Bien que l&amp;#8217;iPad ait connu un accueil en demi teinte je suis persuadé que ce sera un franc succès de plus pour Apple&amp;#8230; Je voulais d&amp;#8217;ailleurs en écrire un article. Mais après avoir lu &amp;#8220;If your product is great, it doesn&amp;#8217;t need to be good&amp;#8221;, je n&amp;#8217;ai plus rien à&amp;nbsp;dire.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;if your product needs &amp;#8220;everything&amp;#8221; in order to be good, then it&amp;#8217;s probably not very innovative (though it might be a nice upgrade to an existing product). Put another way, if your product is great, it doesn&amp;#8217;t need to be&amp;nbsp;good.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Même si beaucoup ont été déçu de voir l&amp;#8217;absence de caméra, de flash ou encore d&amp;#8217;un support multi-tâche ce dont on peut être quasi certain c&amp;#8217;est que le jour où il passera entre nos mains, l&amp;#8217;engin ne manquera pas de séduire et là bam! Tout le monde sera convaincu, parce que ce que fait Apple, Apple le fait génialement&amp;nbsp;bien!&lt;/p&gt;
&lt;p&gt;&lt;img src="/media/images/blogspot.com.ico" style="height:22px;position:relative;top:5px;"/&gt;&amp;nbsp;&lt;a href="http://paulbuchheit.blogspot.com/2010/02/if-your-product-is-great-it-doesnt-need.html"&gt;If your product is great, it doesn&amp;#8217;t need to be&amp;nbsp;good&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/58f7vfnUHJo" height="1" width="1"/&gt;</description>
         <pubDate>14 Feb 10 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/pourquoi-l-ipad-va-etre-un-nouveau-succes.html</feedburner:origLink></item>    
      <item>
         <title>Ton ordi ne t'appartient pas</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/WAHACB5-Ld8/ton-ordi-ne-t-appartient-pas.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/ton-ordi-ne-t-appartient-pas.html</guid>
         <description>&lt;p&gt;Bien trop nombreux sont ceux qui aujourd&amp;#8217;hui encore confondent &lt;em&gt;logiciel libre&lt;/em&gt; et gratuité ou pire &lt;em&gt;logiciel libre&lt;/em&gt; et piètre qualité. Le dernier exemple en date que j&amp;#8217;ai pu trouver étant un article sur &lt;a href="http://arstechnica.com/tech-policy/news/2010/01/protestors-ipad-is-nothing-more-than-a-golden-calf-of-drm.ars"&gt;Ars Technica&lt;/a&gt; évoquant l&amp;#8217;opposition de la Free Software Fondation à la &lt;em&gt;méthode&lt;/em&gt; Apple encline à trop fermer ses systèmes. Je n&amp;#8217;ai pas compté le nombre de commentaires faisant l&amp;#8217;amalgame entre libre et gratuité. Du&amp;nbsp;genre:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span class="dquo"&gt;&amp;#8220;&lt;/span&gt;No Free&amp;nbsp;Software&amp;#8221;?&lt;/p&gt;
&lt;p&gt;App Store is full of free software. Or is there something we should know&amp;nbsp;about?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div style="text-align:center;"&gt;&lt;img style="height:70%;" src="/media/images/apple-ipad-protest.jpg" alt="Apple et le monde du libre pas toujours sur la même longueur d'onde"/&gt;&lt;p style="font-size:0.8em;"&gt;Apple et le monde du libre pas toujours sur la même longeur&amp;nbsp;d&amp;#8217;onde.&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;Ca me chagrine tant il suffit de faire quelques recherches sur qu&amp;#8217;est réellement la philosophie du logiciel libre pour comprendre que celà n&amp;#8217;a rien à voir avec la notion de gratuité et que oui, il existe des logiciels libres de qualité. Pour aller plus loin on y trouve même une réelle idéologie ayant pour centre le&amp;nbsp;partage.&lt;/p&gt;
&lt;p&gt;Si confusion il y a aujourd&amp;#8217;hui elle existe depuis toujours je crois. Celà vient peut-être du fait que l&amp;#8217;effort d&amp;#8217;évangélisation n&amp;#8217;est pas assez présent au sein de la communité du &lt;em&gt;libre&lt;/em&gt;. Je ne sais pas mais en tout les cas j&amp;#8217;ai bien envie de mettre ma pierre à l&amp;#8217;édifice et d&amp;#8217;essayer d&amp;#8217;en faire connaître davantage à ne serait-ce qu&amp;#8217;un internaute sur ce monde communautaire&amp;nbsp;fascinant.&lt;/p&gt;
&lt;p&gt;Pour ce faire j&amp;#8217;aborderai le sujet sous trois&amp;nbsp;aspects:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://www.poxd.org/blog/liberte-egalite-fraternite-signum-du-libre.html"&gt;Les origines du logiciel&amp;nbsp;libre&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ses&amp;nbsp;succès&lt;/li&gt;
&lt;li&gt;Ses&amp;nbsp;adversaires&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Chacun de ces points faisant office d&amp;#8217;un billet séparé, mon but ici est d&amp;#8217;informer, de partager ce que je sais. Bien sûr j&amp;#8217;en ai certainement à apprendre, n&amp;#8217;hésitez donc pas à critiquer!&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/WAHACB5-Ld8" height="1" width="1"/&gt;</description>
         <pubDate>09 Feb 10 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/ton-ordi-ne-t-appartient-pas.html</feedburner:origLink></item>    
      <item>
         <title>Critique de livre: Cycle fondation par Isaac Asimov</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/9f4zaROJY8g/critique-de-livre-cycle-fondation.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/critique-de-livre-cycle-fondation.html</guid>
         <description>&lt;p&gt;Que vous aimiez la science-fiction ou pas, lisez cette série. C&amp;#8217;est un pur bonheur. Mélange d&amp;#8217;enquête policière, quête fantastique avec une pointe de romantisme, Asimov a écrit ici une série&amp;nbsp;captivante.&lt;/p&gt;
&lt;p&gt;Chose particulière, elle a été écrite sur 40 ans. Les 3 premiers tomes paraissent en tant que livres compilés au début des années 1950 &amp;#8212; alors que les nouvelles les composants sont publiées 10 ans plus tôt dans un &lt;a href="http://www.analogsf.com/index.html"&gt;magazine&lt;/a&gt; &amp;#8212;, les 4 et 5èmes au début des années 1980, et le prélude fin des années&amp;nbsp;1980.&lt;/p&gt;
&lt;p&gt;Lors des premières publications en tant que nouvelles, Isaac Asimov n&amp;#8217;avait que la vingtaine, il était alors étudiant en chimie à Columbia. Un homme brilliant puisqu&amp;#8217;il a poursuivi ses études jusqu&amp;#8217;à un doctorat en&amp;nbsp;biochimie.&lt;/p&gt;
&lt;p&gt;Cette profonde intelligence lui a certainement servi à nous pondre une histoire aussi captivante. Pour vraiment en profiter par contre j&amp;#8217;encouragerai volontiers à lire tout d&amp;#8217;abord le cycle des robots qui se trouve chronologiquement avant Fondation. On en trouve plusieurs références tout au long de cette série et le tout en devient d&amp;#8217;autant plus &lt;em&gt;enthousiasmant&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;L&amp;#8217;histoire se passe dans un futur où la terre a été complètement oubliée. On se trouve sous l&amp;#8217;empire galactique et Hari Seldon, savant psychohistorien, prédit sa fin ainsi qu&amp;#8217;une période de chaos longue de plusieurs milliers d&amp;#8217;années. Il prévoit alors un plan. Ce plan devrait permettre de redonner vie à l&amp;#8217;empire sous 1000 ans &amp;#8220;seulement&amp;#8221;. Est-ce que ce plan va fonctionner? Tout peut être prévu grâce aux calculs statistiques du&amp;nbsp;savant?&lt;/p&gt;
&lt;p&gt;Toute l&amp;#8217;histoire respire le concret, on a l&amp;#8217;impression que c&amp;#8217;est possible. Voyageant dans l&amp;#8217;espace, on se dit que tout est normal de prendre son vaisseau pour passer de planète en planète, de &amp;#8220;voir&amp;#8221; la galaxie en tridimension sur le &lt;em&gt;radian&lt;/em&gt;&amp;#8230; C&amp;#8217;est l&amp;#8217;une des raisons du succès de cette série pour moi, on ne ressent pas tant que ça la&amp;nbsp;fiction.&lt;/p&gt;
&lt;p&gt;Bref, j&amp;#8217;ai vraiment adoré cette lecture, mais je le répète, lisez les Robots avant, ce sera d&amp;#8217;autant plus&amp;nbsp;savoureux!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/9f4zaROJY8g" height="1" width="1"/&gt;</description>
         <pubDate>22 Jan 10 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/critique-de-livre-cycle-fondation.html</feedburner:origLink></item>    
      <item>
         <title>Flash va mourir</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/ILNCXxdb_HA/flash_va_mourir.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/flash_va_mourir.html</guid>
         <description>&lt;p&gt;Durant certains cours ennuyeux il m&amp;#8217;est arrivé de lancer une ou deux &lt;a href="http://www.miniclip.com/games/boom-boom-volleyball/en/"&gt;parties de volley&lt;/a&gt; avec un ami tout aussi peu motivé par certains cours. On aimait beaucoup ce jeu pour son fun, sa rapidité, la possibilité de s&amp;#8217;affronter en réseau&amp;#8230; Bref quoi de mieux pour faire passer le temps et oublier le prof nous parler des détails obscures du protocol tcp? Dans ce domaine, la technologie flash a permis à Adobe d&amp;#8217;asseoir un certain monopole dans ce genre d&amp;#8217;applications tout comme pour ce qui est d&amp;#8217;embarquer du contenu vidéo ou encore créer des effets très dynamiques. Plus d&amp;#8217;une âme douée de sens artistique s&amp;#8217;en est donnée à coeur joie grâce notamment aux outils fortement orientés designer fournis&amp;nbsp;conjointement.&lt;/p&gt;
&lt;p&gt;Oui mais voilà, flash a vécu. Flash va dorénavant devoir laisser sa place&amp;#8230; Pour plusieurs&amp;nbsp;raisons.&lt;/p&gt;
&lt;h1 id="ce-qui-va-perdre-flash"&gt;Ce qui va perdre&amp;nbsp;flash&lt;/h1&gt;
&lt;p&gt;L&amp;#8217;iPhone favorise fortement sa perte en ne le supportant tout simplement pas. Ce marché lucratif attire toujours plus de dévelopeurs, et cela fait toujours plus de dévelopeurs qui ne font pas leur boulot en Flash. C&amp;#8217;est bien triste lorsqu&amp;#8217;on sait combien les applications pour le mobile pommé entrerait bien dans le champs d&amp;#8217;applications des dévelopements&amp;nbsp;flash.&lt;/p&gt;
&lt;p&gt;Deuxièmement, la poussée de &lt;a href="http://www.google.com/chrome"&gt;Chrome&lt;/a&gt; a également son rôle a jouer dans l&amp;#8217;éviction de flash en tant que technologie riche. Les équipes du géant de Mountain View ont tellement favorisé l&amp;#8217;amélioration des performances&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt; des moteurs Javascript qu&amp;#8217;il est à prévoir dès maintenant les applications les plus folles directement dans le navigateur sans passer par un plugin tiers! Jetez donc un œil par exemple à cet &lt;a href="http://benfirshman.com/projects/jsnes/"&gt;émulateur &lt;span class="caps"&gt;NES&lt;/span&gt;&lt;/a&gt; ou encore cet &lt;a href="http://www.bytestrom.eu/blog/2009/1120a_jpeg_encoder_for_javascript"&gt;encodeur &lt;span class="caps"&gt;JPEG&lt;/span&gt;&lt;/a&gt;! Tout ça en&amp;nbsp;Javascript!&lt;/p&gt;
&lt;p&gt;Associée à la montée en puissance de Javascript, l&amp;#8217;arrivée de &lt;span class="caps"&gt;HTML&lt;/span&gt; 5 ne fait pas non plus les affaires d&amp;#8217;Adobe puisque l&amp;#8217;inclusion de vidéos et de clips audio devraient &amp;#8212; si la standardisation va jusqu&amp;#8217;au bout &amp;#8212; une fois de plus évincer l&amp;#8217;un des gros avantage de&amp;nbsp;flash. &lt;/p&gt;
&lt;div style="text-transform: small-caps; font-size: 0.8em; text-align:center;"&gt;
&lt;img alt="Flash et iPhone ne font pas bon ménage" src="/media/images/flash_dead_on_iphone.PNG"/&gt;&lt;p&gt;Flash et iPhone ne font pas bon&amp;nbsp;ménage&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;Enfin &lt;a href="http://fr.wikipedia.org/wiki/WebGL"&gt;WebGL&lt;/a&gt; pourrait être la goutte faisant déborder le vase; ce nouvel effort de standardisation nous permettant d&amp;#8217;accéder aux composants de la carte graphique laisse entrevoir les applications 3D les plus&amp;nbsp;folles.&lt;/p&gt;
&lt;h1 id="a-quelques-nuances-pres"&gt;A quelques nuances&amp;nbsp;près&lt;/h1&gt;
&lt;p&gt;Qu&amp;#8217;est-ce qui peut bien rester à flash alors? Ne vendons pas la peau de l&amp;#8217;ours avant de l&amp;#8217;avoir tué car si flash est menacé les ingénieurs d&amp;#8217;Adobe ne sont pas bras croisés à rien faire! A commencer par Flex. Framework ayant pour base flash et qui permet par exemple de créer des applications pouvant sortir du navigateur web (ex: &lt;a href="http://parleys.com"&gt;parleys.com&lt;/a&gt;). Flex donne aussi la possibilité de créer des applications d&amp;#8217;entreprises très attractives avec entre autres de beaux graphiques. Alléchant pour les managers et autres décideurs! Il y a aussi le projet &lt;a href="http://www.openscreenproject.org/about/"&gt;open screen project&lt;/a&gt; &amp;#8212; vous aussi c&amp;#8217;est la première fois que vous en entendez parler? &amp;#8212; ayant pour but avoué d&amp;#8217;homogénéiser l&amp;#8217;expérience multimédia; du mobile à la&amp;nbsp;tv.&lt;/p&gt;
&lt;p&gt;Mais bon finalement le mieux ne serait-il pas tout simplement de fusionner les deux mondes et d&amp;#8217;offrir un runtime flash en javascript? C&amp;#8217;est le but avoué d&amp;#8217;un &lt;a href="http://github.com/tobeytailor/gordon/"&gt;projet sur github&lt;/a&gt;, vous pouvez déjà jeter un oeil aux premières &lt;a href="http://paulirish.com/work/gordon/demos/"&gt;démos&lt;/a&gt;. Ainsi, les designers pourraient continuer d&amp;#8217;exercer leurs talents aux travers des excellents outils associés à flash tout en les exécutant sur tout navigateur supportant Javascript. Il est évidemment trop tôt pour savoir ce que cela va donner, mais avouons que l&amp;#8217;idée est fort intéressante! On pourrait lancer des parties en réseau, durant les cours, sur&amp;nbsp;l&amp;#8217;iPhone!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/ILNCXxdb_HA" height="1" width="1"/&gt;</description>
         <pubDate>15 Jan 10 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/flash_va_mourir.html</feedburner:origLink></item>    
      <item>
         <title>Hyde: bloguer comme un hacker c'est fun!</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/siVBDrZMQLU/hyde-bloguer-comme-un-hacker-c-est-fun.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/hyde-bloguer-comme-un-hacker-c-est-fun.html</guid>
         <description>&lt;p&gt;Wordpress c&amp;#8217;est sympa mais dès lors que l&amp;#8217;on veut par exemple insérer du code Javascript pour un article ou customiser l&amp;#8217;affichage ça devient tout de suite un peu plus galère. Wordpress agit comme boîte noire en arrière plan. J&amp;#8217;en avais marre et je suis allé voir ailleurs pour finalement tomber sur &lt;a href="http://ringce.com/hyde"&gt;hyde&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A mon avis hyde permettra a plus d&amp;#8217;un de retrouver le fun de tenir un blog&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt;. Voici en quelques lignes&amp;nbsp;pourquoi.&lt;/p&gt;
&lt;h1 id="plus-de-base-de-donnees"&gt;Plus de base de&amp;nbsp;données&lt;/h1&gt;
&lt;p&gt;Tout est statique, entièrement basé sur le système de fichier. A chaque nouvelle publication hyde régénère tout votre site en s&amp;#8217;appuyant entre autre sur le moteur de templates &lt;a href="http://www.djangoproject.com/"&gt;django&lt;/a&gt;. Grâce a django il est très simple de définir des zones réutilisables et de créer une hiérarchie de&amp;nbsp;templates.&lt;/p&gt;
&lt;p&gt;Quel avantage? Outre le sentiment de vous sentir original vous serez heureux d&amp;#8217;avoir un effort de maintenance bien moindre pour tout votre blog! On y reviendra lors d&amp;#8217;un prochain&amp;nbsp;billet.&lt;/p&gt;
&lt;h1 id="une-plus-grande-liberte"&gt;Une plus grande&amp;nbsp;liberté&lt;/h1&gt;
&lt;p&gt;Insérer un code Javascript ou personaliser l&amp;#8217;affichage pour un article spécifique&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; devient aussi simple que d&amp;#8217;éditer un fichier purement &lt;span class="caps"&gt;HTML&lt;/span&gt;. Autant le dire tout de suite, c&amp;#8217;est &lt;span class="caps"&gt;LA&lt;/span&gt; fonctionalite qui m&amp;#8217;a le plus attiré. C&amp;#8217;est vrai, même si je ne suis pas un webdesigner j&amp;#8217;ai souvent envie de changer l&amp;#8217;agencement de mon blog ou simplement de tester des choses. Wordpress me décourageait de le faire. Hyde c&amp;#8217;est une bouffée d&amp;#8217;air frais en ce qui me&amp;nbsp;concerne!&lt;/p&gt;
&lt;h1 id="lavenir"&gt;L&amp;#8217;avenir&lt;/h1&gt;
&lt;p&gt;Hyde n&amp;#8217;en est qu&amp;#8217;a ses prémices. Plusieurs fonctionalités sont en dévelopement et le nombre de &lt;em&gt;fork&lt;/em&gt; sur &lt;a href="http://ringce.com/hyde"&gt;github&lt;/a&gt; va croissant ce qui est encourageant! Je l&amp;#8217;ai moi même &lt;em&gt;forké&lt;/em&gt; le jour ou je suis tombé sur un commentaire de Lakshmi Vyas &amp;#8212; initiateur de hyde &amp;#8212; sur un &lt;a href="http://www.oiledmachine.com/posts/2008/12/27/overview-of-jekyll--a-static-site-generator-written-in-ruby.html"&gt;article&lt;/a&gt; à propos de &lt;a href="http://jekyllrb.com/"&gt;Jekyll&lt;/a&gt; la source d&amp;#8217;inspiration de hyde developée en&amp;nbsp;ruby.&lt;/p&gt;
&lt;p&gt;Parmis ces fonctionalités en dévelopement on notera la création d&amp;#8217;une interface web permettant de publier un nouveau billet, la gestion des catégories et tout ce qui va avec, la personalisation des flux rss et certainement bien d&amp;#8217;autres a&amp;nbsp;venir. &lt;/p&gt;
&lt;p&gt;Ce projet me passsionne en ce moment et j&amp;#8217;aime y contribuer. J&amp;#8217;expliquerai prochainement comment démarrer son site avec hyde&amp;#8230; En espérant en séduire plus&amp;nbsp;d&amp;#8217;un!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/siVBDrZMQLU" height="1" width="1"/&gt;</description>
         <pubDate>09 Jan 10 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/hyde-bloguer-comme-un-hacker-c-est-fun.html</feedburner:origLink></item>    
      <item>
         <title>Critique de livre: Les jeux funéraires -- Alexandre le Grand tome 3</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/dMyp4ryva9k/critique-de-livre-les-jeux-funeraires.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/critique-de-livre-les-jeux-funeraires.html</guid>
         <description>&lt;blockquote&gt;
&lt;p&gt;Il avait un mystère. Il était capable de nous faire croire tout possible tout ce qu&amp;#8217;il pensait possible lui-même. Et nous le faisions nous aussi. (&amp;#8230;) Nous aurions donné notre vie pour ne pas trahir sa&amp;nbsp;confiance.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;A sa mort, Alexandre laisse derrière lui un peuple gigantesque sans aucun dirigeant imposé. Tout un royaume est ainsi menacé&amp;nbsp;d&amp;#8217;implosion.&lt;/p&gt;
&lt;p&gt;Mary Renaud narre cet après-Alexandre dans un style différent. Il n&amp;#8217;est plus question ici d&amp;#8217;être dans la peau d&amp;#8217;un personnage durant tout le livre. On navigue de conspirateur en conspirateur, de prétendant en prétendant. Bagoas &amp;#8212; narateur du tome 2 &amp;#8212; est à peine évoqué. Ce dernier tome m&amp;#8217;a déçu. Il aurait été parfaitement possible de s&amp;#8217;arrêter à la fin du deuxième, à la mort d&amp;#8217;Alexandre. C&amp;#8217;est sûr l&amp;#8217;aspect historique est intéressant mais malheureusement on perd le côté romanesque si séduisant des deux premiers&amp;nbsp;tomes.&lt;/p&gt;
&lt;p&gt;Bref ma note finale de cette série a beau être un tantinet négative, l&amp;#8217;ensemble est un régal à lire! Cette conquête en avant de Macédoine jusqu&amp;#8217;en Asie sur fond de mélange culturel, de conspirations et autres alliances séditieuses est purement passionant à suivre. Mary Renaud est sans conteste un auteur à avoir lu au moins une fois.&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/dMyp4ryva9k" height="1" width="1"/&gt;</description>
         <pubDate>28 Nov 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/critique-de-livre-les-jeux-funeraires.html</feedburner:origLink></item>    
      <item>
         <title>Critique de livre: Histoire de la guerre du Péloponnèse -- Tome 2</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/JTNceDsgkhs/critique-de-livre-histoire-de-la-guerre-du-peloponnese.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/critique-de-livre-histoire-de-la-guerre-du-peloponnese.html</guid>
         <description>&lt;p&gt;En avoir terminé avec Thucydide c&amp;#8217;est quelque chose tant ces deux tomes sont condensés d&amp;#8217;informations historiques. Il faudra une certaine persévérence au lecteur amateur pour en venir à&amp;nbsp;bout.&lt;/p&gt;
&lt;p&gt;Suite et fin donc du récit de l&amp;#8217;un des premiers historiens connus à ce jour. Athéniens contre Péléponnésiens, même décors, même combats qu&amp;#8217;au cours du premier tome. Des Athéniens gourmands qui veulent conquérir &amp;#8212; suite à leurs succès probants &amp;#8212; la Sicile sur laquelle ils se cassent les dents après l&amp;#8217;avoir parcourue en long en large. Les Syracusains en sont restés les maîtres. Suite à cette première défaite de marque les Athéniens vont échouer de plus en plus leur&amp;nbsp;domination.&lt;/p&gt;
&lt;p&gt;Je ne conseillerai pas ce livre à moins d&amp;#8217;avoir en face de moi un passioné d&amp;#8217;Histoire l&amp;#8217;unique public possible à ce genre de récit concit, épuré de toute formule décoratrice résultant une densité sans mesure.&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/JTNceDsgkhs" height="1" width="1"/&gt;</description>
         <pubDate>23 Nov 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/critique-de-livre-histoire-de-la-guerre-du-peloponnese.html</feedburner:origLink></item>    
      <item>
         <title>Vaincre le burnout et bien plus</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/T-vBlkyZ1EE/vaincre-le-burnout-et-bien-plus.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/vaincre-le-burnout-et-bien-plus.html</guid>
         <description>&lt;p&gt;En auteur invité, &lt;a href="http://artofgreatthings.com/"&gt;Jeffrey&lt;/a&gt; donne quelques astuces pour vaincre le burnout.
Ces points vont cependant bien plus loin que le combat contre le burnout et il
vaut le coup de les lire si l&amp;#8217;on s&amp;#8217;intéresse à travailler plus efficacement.
J&amp;#8217;ai&amp;nbsp;retenu:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Progresser pas à&amp;nbsp;pas&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Travailler moins ou se débarasser de&amp;nbsp;l&amp;#8217;inutile&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Etablir des limites claires et&amp;nbsp;précises&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;#8230; Et bien d&amp;#8217;autres. Ces points rejoignent plus d&amp;#8217;une fois la méthodologie
&lt;em&gt;Getting Things Done&lt;/em&gt; mais il est bien parfois de se remettre les idées en
place. Retrouvez &lt;a href="http://zenhabits.net/2009/10/how-to-defeat-burnout-and-stay-motivated/"&gt;How to Defeat Burnout and Stay Motivated&lt;/a&gt; sur le blog
&lt;a href="http://zenhabits.net/"&gt;Zen Habits&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/T-vBlkyZ1EE" height="1" width="1"/&gt;</description>
         <pubDate>09 Nov 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/vaincre-le-burnout-et-bien-plus.html</feedburner:origLink></item>    
      <item>
         <title>Critique de livre: L'enfant perse</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/xZNUPFvkAJk/critique-de-livre-l-enfant-perse.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/critique-de-livre-l-enfant-perse.html</guid>
         <description>&lt;p&gt;C&amp;#8217;est dans la peau du jeune perse Bagoas que l&amp;#8217;on suit les péripéties d&amp;#8217;Alexandre tout au cours de ce &lt;a href="http://www.amazon.fr/gp/product/225310924X?ie=UTF8&amp;tag=thpowo-21&amp;linkCode=as2&amp;camp=1642&amp;creative=19458&amp;creativeASIN=225310924X"&gt;deuxième tome&lt;/a&gt;&lt;img src="http://www.assoc-amazon.fr/e/ir?t=thpowo-21&amp;l=as2&amp;o=8&amp;a=225310924X" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;. On poursuit l&amp;#8217;histoire d&amp;#8217;un grand homme dans un premier temps depuis le camp adverse puisque Bagoas se trouve aux services de Darius en tant&amp;nbsp;qu&amp;#8217;eunuque.&lt;/p&gt;
&lt;p&gt;Bien que Bagoas soit lui-même un esclave d&amp;#8217;un genre plutôt privilégié - il est l&amp;#8217;amant du roi - on retrouve toute l&amp;#8217;importance que les esclaves vouent à leur maître. Il réserve ainsi une admiration à son roi bien que celui-ci se retrouve plus d&amp;#8217;une fois dans une situation peu valorisante. Il perd en effet plusieurs fois l&amp;#8217;occasion de démontrer son courage  lors de plusieurs batailles. Le clou de son règne étant la bataille de Gaugamèle lorsqu&amp;#8217;il bat retraite alors qu&amp;#8217;Alexandre domine l&amp;#8217;armée perse. C&amp;#8217;en est trop pour les compatriotes de Bagoas, Darius va&amp;nbsp;tomber.&lt;/p&gt;
&lt;p&gt;Darius tombe et à partir de là, nous retrouvons Alexandre qui à son tour prend Bagoas à son service. Et alors que Bagoas vouait un grand respect à son roi perse, Alexandre va pouvoir compter sur l&amp;#8217;amour authentique de Bagoas. Bagoas l&amp;#8217;admire. Au travers de ses yeux on découvre ce qu&amp;#8217;est devenu Alexandre. Alors qu&amp;#8217;au cours du premier tome nous avions pu voir un Alexandre téméraire et très précoce on découvre ici un roi&amp;nbsp;courageux:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Et il n&amp;#8217;a peur de rien! rien du&amp;nbsp;tout!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Un roi qui attache une importance toute particulière à la fidélité, à&amp;nbsp;l&amp;#8217;amour &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Il ne cesse jamais&amp;nbsp;d&amp;#8217;aimer&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Il a une haute estime pour tous ses compatriotes, il aime réellement son peuple et ce même lorsqu&amp;#8217;il s&amp;#8217;étent à plusieurs cultures. Cela comporte des difficultés évidemment. Par exemple pour les macédoniens il est devenu normal de pouvoir converser et évoquer ses problèmes avec le roi de manière quasi&amp;nbsp;familière:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ils ne veulent pas suivre une image royale qu&amp;#8217;ils ne peuvent approcher qu&amp;#8217;à plat&amp;nbsp;ventre.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Par contre pour les perses, c&amp;#8217;est tout autre! Le respect du roi est bien plus présent, c&amp;#8217;est impensable de se voir présenté à lui sans faire de génuflexion. D&amp;#8217;où un casse-tête pour Alexandre, mais comme toujours il s&amp;#8217;en sort à bon compte en arrivant à unir ces deux cultures forcément très&amp;nbsp;différentes.&lt;/p&gt;
&lt;p&gt;Alexandre aimait son peuple jusqu&amp;#8217;à penser parfois qu&amp;#8217;il lui était impossible de faire quelque chose de mal. Bagoas apprécie beaucoup cet aspect de sa personnalité lorsqu&amp;#8217;il&amp;nbsp;dit:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Je l&amp;#8217;aimais d&amp;#8217;avoir tant de mal à envisager le pire, même de la part d&amp;#8217;un homme qui lui avait tant&amp;nbsp;nui.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Bref, les qualités d&amp;#8217;Alexandre sont fort bien vantées par l&amp;#8217;auteur. On y découvre également l&amp;#8217;envie insatiable d&amp;#8217;Alexandre de découvrir le monde et d&amp;#8217;y faire régner des principes élevés. Dans un style toujours autant agréable, on passe un moment très agréable en découvrant de multiples cultures, des contrées du monde lointaines&amp;#8230; Bref, je le recommande tout autant que le premier!&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/xZNUPFvkAJk" height="1" width="1"/&gt;</description>
         <pubDate>16 Sep 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/critique-de-livre-l-enfant-perse.html</feedburner:origLink></item>    
      <item>
         <title>Vous faisiez quoi à 12 ans vous?</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/ypk1GMO29vk/vous-faisiez-quoi-a-12-ans-vous.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/vous-faisiez-quoi-a-12-ans-vous.html</guid>
         <description>&lt;p&gt;Moi à 12 ans je passais mon temps entre jouer, jouer et
jouer. J&amp;#8217;exagère mais à peine, encore aujourd&amp;#8217;hui si ce que je dois
faire peut prendre une forme ludique je n&amp;#8217;hésiterai&amp;nbsp;pas.&lt;/p&gt;
&lt;p&gt;Tout ça pour dire que certains à 12 ans, donnent des présentations
chez Google. Rien que ça! Ce petit bonhomme donne d&amp;#8217;ailleurs une
introduction de très bonne facture à jQuery dans le cadre du &lt;em&gt;Summer
of Code&lt;/em&gt; the Google dans lequel d&amp;#8217;ailleurs il a officié - en tout cas
cette année - &lt;a href="http://google-opensource.blogspot.com/2009/08/wrapping-our-fifth-google-summer-of.html"&gt;en tant que &lt;em&gt;mentor&lt;/em&gt;&lt;/a&gt;!&lt;/p&gt;
&lt;div style="text-align: center;"&gt;&lt;p&gt;&lt;object width="425"
height="344"&gt;&lt;param name="movie"
value="http://www.youtube.com/v/8mwKq7_JlS8&amp;hl=fr&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param
name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param
name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed
src="http://www.youtube.com/v/8mwKq7_JlS8&amp;hl=fr&amp;fs=1&amp;"
type="application/x-shockwave-flash" allowscriptaccess="always"
allowfullscreen="true" width="425"
height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;Plutôt bluffant non? On peut retrouver le présentateur sur son &lt;a href="http://dmitrizone.com/"&gt;site&lt;/a&gt; ou
encore sur &lt;a href="twitter"&gt;twitter&lt;/a&gt;.&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/ypk1GMO29vk" height="1" width="1"/&gt;</description>
         <pubDate>27 Aug 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/vous-faisiez-quoi-a-12-ans-vous.html</feedburner:origLink></item>    
      <item>
         <title>Ecrire sans ennuyer</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/717RfajOStA/ecrire-sans-ennuyer.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/ecrire-sans-ennuyer.html</guid>
         <description>&lt;p&gt;Je blog peu actuellement mais ça va revenir on ne s&amp;#8217;inquiète pas&amp;#8230; Plusieurs
projets sur le feu. En attendant voici un billet très intéressant si écrire un
article ou un livre technique vous attire: &lt;a href="http://broadcast.oreilly.com/2009/08/a-few-quick-thoughts-on-keepin.html"&gt;A few quick thoughts on keeping
readers motivated&lt;/a&gt;. Etant personnellement admiratif du travail effectué par
&lt;a href="http://diveintomark.org/"&gt;Mark Pilgrim&lt;/a&gt; et de l&amp;#8217;équipe de &lt;a href="http://www.headfirstlabs.com/"&gt;Head First&lt;/a&gt; en général, ce genre
d&amp;#8217;article est intéressant! Il contient plus d&amp;#8217;une ressource à fouiner,
notamment un livre que je m&amp;#8217;en vais de suite ajouter à ma &lt;a href="http://www.amazon.fr/registry/wishlist/22WYQI37NFKZI/ref=reg_hu-wl_goto-registry?_encoding=UTF8&amp;amp;sort=date-added"&gt;liste amazon&lt;/a&gt;&amp;#8230;
On retrouve par exemple Kathy Sierra en pleine interview super&amp;nbsp;intéressante!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/717RfajOStA" height="1" width="1"/&gt;</description>
         <pubDate>20 Aug 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/ecrire-sans-ennuyer.html</feedburner:origLink></item>    
      <item>
         <title>Critique de livre: Histoire de la guerre du Péloponnèse, tome 1</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/YaHkKrGj4c0/critique-de-livre-histoire-de-la-guerre-du-peloponnese-tome-1.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/critique-de-livre-histoire-de-la-guerre-du-peloponnese-tome-1.html</guid>
         <description>&lt;p&gt;Traducteur de l&amp;#8217;oeuvre qui est passée entre mes mains, Jean Voilquin fait de l&amp;#8217;oeuvre de Thucydide une introduction des plus&amp;nbsp;vantarde:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;La valeur de l&amp;#8217;oeuvre de Thucidyde ne saurait être exagérée (&amp;#8230;). Faut-il, en outre, signaler l&amp;#8217;intérêt actuel qui s&amp;#8217;attache à la guerre du Péloponnèse? Tous les problèmes politiques, moraux ou philosophiques qui tourmentent à l&amp;#8217;heure actuelle une humanité désorientée s&amp;#8217;y trouvent posés: rapports de l&amp;#8217;individu et de l&amp;#8217;Etat, rapports des peuples entre eux, immoralité de la force brutale, rôle des individus dans la conduite des sociétés. (&amp;#8230;) Quand des esprits paradoxaux croient pouvoir nier l&amp;#8217;utilité de l&amp;#8217;histoire, nous découvrons à chaque instant dans la vie moderne des analogies avec le monde dont Thucidyde a écrit&amp;nbsp;l&amp;#8217;histoire.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Certainement! On le sait bien, connaître l&amp;#8217;histoire devrait nous permettre de ne plus commettre les mêmes erreurs, d&amp;#8217;analyser avec intelligence les situations pouvant être similaires à l&amp;#8217;heure actuelle&amp;#8230; Mais pouvons-nous seulement dire qu&amp;#8217;aujourd&amp;#8217;hui nous avons réellement progressé depuis l&amp;#8217;ère de domination grecque? Débat dans lequel je ne m&amp;#8217;engagerai pas, parlons plutôt de l&amp;#8217;oeuvre en&amp;nbsp;elle-même.&lt;/p&gt;
&lt;p&gt;L&amp;#8217;une des premières choses à ressortir à mon avis, c&amp;#8217;est l&amp;#8217;effort donné par Thucydide pour se montrer neutre. Surtout lorsque l&amp;#8217;on sait qu&amp;#8217;il était partie prenante à cette guerre! Il y défend d&amp;#8217;ailleurs à un moment donné ses actes avec une certaine ferveur. Je ne suis pas spécialiste des oeuvres historiennes et n&amp;#8217;aurait certainement pas pu l&amp;#8217;être. Rien qu&amp;#8217;à voir le temps que j&amp;#8217;ai mis pour livre l&amp;#8217;entier de ce livre, j&amp;#8217;aurais trop rapidement baissé les bras! Je ne peux donc pas comparer le travail de Thucydide avec celui d&amp;#8217;autres auteurs. Je n&amp;#8217;ai cependant jamais eu le sentiment en tant que lecteur que les grecques aient été mis sur un pied d&amp;#8217;estal. Le narrateur tente d&amp;#8217;ailleurs de mettre rapidement les choses au clair lorsqu&amp;#8217;il&amp;nbsp;déclare:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;On n&amp;#8217;accordera pas la confiance aux poètes, qui amplifient les événements, ni aux logographques qui, plus pour charmer les oreilles que pour servir la vérité, rassemblent des faits impossibles à vérifier rigoureusement et aboutissent finalement pour la plupart à un récit incroyable et merveilleux. On doit penser que mes informations proviennent des sources les plus sûres et présentent, étant donné leur antiquité, une certitute suffisante. (&amp;#8230;) Quant aux événements de la guerre, je n&amp;#8217;ai pas jugé bon de les rapporter sur la foi du premier venu, ni d&amp;#8217;après mon&amp;nbsp;opinion.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ce louable effort rend malheureusement le récit terne pour la majeur partie. Je ne sais si récit est le bon mot. C&amp;#8217;est assurément un témoignage de l&amp;#8217;époque, on y découvre les problèmes politiques, les idéologies partagées par les athéniens d&amp;#8217;un côté et les lacédémoniens de l&amp;#8217;autre. Mais c&amp;#8217;est bien un témoignage! Pas de sentiment, pas de parti pris, ce n&amp;#8217;est pas un roman, c&amp;#8217;est un livre d&amp;#8217;histoire! Et visiblement, c&amp;#8217;est l&amp;#8217;une des premières oeuvres à être qualifiée en tant que&amp;nbsp;tel.&lt;/p&gt;
&lt;p&gt;Thucydide parle donc de la guerre du Péloponnèse se déroulant de -431 à -404 et mettant aux prises les Athéniens, grands navigateurs prônant la démocratie aux Lacédémoniens (dont fait partie Sparte) prônant l&amp;#8217;aristocratie. Malgré l&amp;#8217;ennui que peut provoquer certains passages du livre, on apprend beaucoup et ça j&amp;#8217;adore. Ce qui m&amp;#8217;a le plus captivé ce sont les passages où l&amp;#8217;on devient auditeur de grands stratèges, de grands orateurs tel que Démosthène, Brasidas ou encore Périclès. J&amp;#8217;ai aimé imaginer l&amp;#8217;impact de ces discours bien souvent dynamisants, truffés de tournures faisant l&amp;#8217;éloge de dirigeants bons tout en ne laissant finalement pas de réels choix quant aux &amp;#8220;propositions&amp;#8221; données. On découvre aussi les stratégies mises en place de part et d&amp;#8217;autre pour écraser l&amp;#8217;adversaire, les résultats du génie militaire (les débuts des lance-flammes!), les effets terrible d&amp;#8217;une peste&amp;#8230; bref j&amp;#8217;ai appris des choses ce qui est l&amp;#8217;essentiel pour moi lorsque je lis un&amp;nbsp;livre.&lt;/p&gt;
&lt;p&gt;Pour lire ce livre vous devez soit être un passionné d&amp;#8217;histoire, soit être assez curieux pour pouvoir vous engager dans le genre de défis que je me suis lancé à savoir lire ces 110 meilleurs livres à lire!&amp;nbsp;Enjoy!&lt;/p&gt;
&lt;h2 id="si-ca-vous-interesse"&gt;Si ça vous&amp;nbsp;intéresse&amp;#8230;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://fr.wikipedia.org/wiki/Guerre_du_Péloponnèse"&gt;L&amp;#8217;histoire de la guerre du Péloponnèse sur&amp;nbsp;Wikipédia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://fr.wikipedia.org/wiki/Thucydide#Recherche_de_la_v.C3.A9rit.C3.A9"&gt;Thucydide sur&amp;nbsp;Wikipédia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/YaHkKrGj4c0" height="1" width="1"/&gt;</description>
         <pubDate>25 Jul 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/critique-de-livre-histoire-de-la-guerre-du-peloponnese-tome-1.html</feedburner:origLink></item>    
      <item>
         <title>Pourquoi j’envie les développeurs Erlang</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/xEAZJVxHlMY/pourquoi-jenvie-les-developpeurs-erlang.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/pourquoi-jenvie-les-developpeurs-erlang.html</guid>
         <description>&lt;p&gt;Alors qu’actuellement je subis les redémarrage très coûteux du serveur&amp;nbsp;JBoss…&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What are the advantages of hot&amp;nbsp;swapping?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You’re joking. In my world we want to build systems that are started once and thereafter never stop. They evolve with time. Stopping a system to upgrade the code is an admission of&amp;nbsp;failure.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Rien à ajouter. Retrouvez toute l’interview de Joe Armstrong – créateur d’Erlang – ici: &lt;a href="http://www.computerworld.com.au/article/307418/-z_programming_languages_erlang?pp=3"&gt;http://www.computerworld.com.au/article/307418/-z_programming_languages_erlang?pp=3&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/xEAZJVxHlMY" height="1" width="1"/&gt;</description>
         <pubDate>16 Jun 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/pourquoi-jenvie-les-developpeurs-erlang.html</feedburner:origLink></item>    
      <item>
         <title>Unix a 40 ans</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/zZUf4oj59Lk/Unix-a-40-ans.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/Unix-a-40-ans.html</guid>
         <description>&lt;p&gt;Computerworld a publié un &lt;a href="http://www.computerworld.com/action/article.do?command=printArticleBasic&amp;amp;taxonomyName=Operating+Systems&amp;amp;articleId=9133570&amp;amp;taxonomyId=89"&gt;article&lt;/a&gt; intéressant sur les 40 ans de &lt;a href="http://www.unix.org/what_is_unix/single_unix_specification.html"&gt;Unix&lt;/a&gt;. Un peu d&amp;#8217;histoire ne fait pas de&amp;nbsp;mal!&lt;/p&gt;
&lt;p&gt;Découvrez comment Ken Thompson - l&amp;#8217;un des tout grand hacker de l&amp;#8217;histoire - a mis à profit un mois de temps libre pour produire la première version de l&amp;#8217;une des oeuvres majeures de l&amp;#8217;informatique pour également donner naissance à d&amp;#8217;autres &lt;strong&gt;unix look-alike&lt;/strong&gt; tel que&amp;nbsp;Linux.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Nearly from the start, the system was able to, and did, maintain itself. Since all source programs were always available and easily modified online, we were willing to revise and rewrite the system and its software when new ideas were invented, discovered, or suggested by&amp;nbsp;others.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Qui a dit précurseur du mouvement &lt;strong&gt;open source&lt;/strong&gt;&amp;#8230;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/zZUf4oj59Lk" height="1" width="1"/&gt;</description>
         <pubDate>14 Jun 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/Unix-a-40-ans.html</feedburner:origLink></item>    
      <item>
         <title>Critique de livre: Cityboy</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/xxL5NtMQmgc/critique-de-livre-cityboy.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/critique-de-livre-cityboy.html</guid>
         <description>&lt;p&gt;Naviguant entre fiction et autobiographie Geraint Anderson dévoile avec ce premier livre les dessous plutôt scabreux de la City. Autrement dit le milieu de la finance&amp;nbsp;londonienne.&lt;/p&gt;
&lt;p&gt;Et autant le dire tout de suite, c&amp;#8217;est pas beau. On y croise des gens malheureuxvivant pour le travail, avides, bourrés d&amp;#8217;un esprit de compétitions à faire pâlir un noir. Durant plusieurs pages on passe par des partouses à faire vomir, des tromperies, des mensonges et j&amp;#8217;en passe. Bref, la moralité est incroyablement basse mais l&amp;#8217;auteur veut dénoncer ici un milieu qui n&amp;#8217;a vraiment rien d&amp;#8217;enviable. Pourquoi est-ce qu&amp;#8217;aujourd&amp;#8217;hui tant de personnes y travaillent pourrait-on se demander. L&amp;#8217;auteur a son&amp;nbsp;idée:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Oscar Wilde décrivait les cyniques comme des gens qui connaissaient &amp;#8220;le prix de chaque chose et la valeur d&amp;#8217;aucune&amp;#8221;, mais il aurait aussi bien pu parler des Cityboys (&amp;#8230;) Avec notre besoin pathétique de toujours surpasser nos pairs, il neigera en enfer bien avant que ne se matérialise une baisse de la&amp;nbsp;consommation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;C&amp;#8217;est simple, mettez à profit la cupidité de l&amp;#8217;homme et son envie d&amp;#8217;être au-dessus des autres et il sera d&amp;#8217;accord de passer sa vie au travail, de trahir, de tromper et de passer par des choses les plus viles simplement pour se dire qu&amp;#8217;il est meilleur. Le personnage principal ce cette histoire reste d&amp;#8217;ailleurs dans ce milieu uniquement pour humilier un certain Hugo qui l&amp;#8217;a un peu trop rabaissé à son goût lors de ses premiers pas dans la&amp;nbsp;City.&lt;/p&gt;
&lt;p&gt;L&amp;#8217;esprit de compétition est ainsi l&amp;#8217;un des éléments moteur de ce système pernicieux. Bien mis en évidence tout au fil de la lecture, l&amp;#8217;auteur l&amp;#8217;explique en toutes lettres en page&amp;nbsp;117:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Si ma théorie est exacte, si cet esprit de compétition est bien endémique dans la City et s&amp;#8217;il résulte de sentiments d&amp;#8217;infériorité, alors je pense pouvoir conclure sans risque que le manque d&amp;#8217;assurance est la principale force de la City (ainsi qu&amp;#8217;une insatiable cupidité bien entendu). (&amp;#8230;) Seule cette volonté désespérée de gagner, soigneusement entretenue et catalysée par un profond sentiment d&amp;#8217;insécurité, peut expliquer pourquoi les travailleurs de la City se lèvent chaque jour à cinq heures et demie du matin et bossent plus de soixante-dix heures par semaine alors que la vie est si&amp;nbsp;courte.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Et autant le dire, de cet acharnement au travail résulte des salaires et surtout des bonus tout simplement indécents. L&amp;#8217;auteur le reconnaît le premier et le dénonce mais c&amp;#8217;est bizarre je trouve assez facile de le reconnaître maintenant après en avoir profité durant plus de 10 ans&amp;#8230; Enfin bref je me perds là.&amp;nbsp;Reprenons.&lt;/p&gt;
&lt;p&gt;L&amp;#8217;un des gros problème avec ce système financier faisant la part belle aux bonus mirobolant se répercute directement sur le citoyen lambda de&amp;nbsp;Londres.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;La somme que j&amp;#8217;ai dépensée ce jour de mai 2001 avec Richard me révéla combien les prix avaient augmenté dans cette bonne vieille ville et je me demandai où le pékin moyen pouvait trouver les moyens de sortir le soir, à moins de se faire dealer ou de braquer les&amp;nbsp;grands-mères.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Un autre problème de ce système touchant cette fois-ci les cityboys eux-mêmes est que ces rétributions éxubérantes ne les rend de loin pas heureux. Pire elles pourrisssent leur vie! Soit ils se baladent en costumes à plusieurs milliers de livres dans une voiture de luxe, font la fête aux quatre coins du monde, mais et alors? A côté de Áa ils n&amp;#8217;ont pas d&amp;#8217;amis, se droguent et vivent une vie fondée sur la peur! Merci mais même pour un salaire défiant tout bon sens je préfère garder le miens, raisonnable qui me permet de vivre &lt;em&gt;normalement&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;A noter également que ce livre comporte un humour bien trempé avec des sorties parfois même &lt;em&gt;woodyallenesque&lt;/em&gt; mais également certaines citations fort&amp;nbsp;intéressantes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La victoire a cent pères mais la défaite est orpheline -&amp;nbsp;&lt;span class="caps"&gt;JFK&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Je vous défie de soulever un peuple au ventre plein - William&amp;nbsp;Cobbett&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ce que je peux dire en conclusion c&amp;#8217;est qu&amp;#8217;à mon humble avis ce livre critique de la bonne manière notre système capitaliste occidental actuel qui pousse chacun de ses partisans (volontaires ou tacites) à donner toujours plus de lui-même, qui est rétribué assez aléatoirement en fonction de ce qu&amp;#8217;il produit mais &lt;strong&gt;qui surtout ne sera - et ne doit pas être - satisfait pour autant&lt;/strong&gt;. Le moteur du capitalisme comme bien démontré par l&amp;#8217;auteur est l&amp;#8217;esprit de compétition et la consommation à outrance&amp;#8230; Jusqu&amp;#8217;à ce que notre planète dise&amp;nbsp;stop!&lt;/p&gt;
&lt;p&gt;Malgré un langage cru, parfois trop à mon goût, et des scènes à vous rendre nauséeux je recommande ce livre qui me laisse un sentiment de colère mais qui m&amp;#8217;a d&amp;#8217;un autre côté fait rire plus d&amp;#8217;une fois. J&amp;#8217;y vois un grand opportunisme de l&amp;#8217;auteur qui a profité de ce système pendant plusieurs années et qui maintenant le dénonce. Certains penseront qu&amp;#8217;il crache dans la soupe.&amp;nbsp;Soit.&lt;/p&gt;
&lt;p&gt;Finalement, il faut aussi noter que l&amp;#8217;auteur fait une description intéressante de plusieurs événements marquants dans l&amp;#8217;économie récente comme l&amp;#8217;affaire Enron, Worldom ou encore&amp;nbsp;Tyco. &lt;/p&gt;
&lt;p&gt;Et en bonus on y apprend la confirmation que les suisses-allemand sont&amp;nbsp;ennuyeux:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A Zürich, je crois pouvoir dire que j&amp;#8217;ai rencontré les individus les plus ennuyeux qu&amp;#8217;il m&amp;#8217;ait été donné de croiser. Le manque de joie de vivre des suisses-allemands n&amp;#8217;avaient d&amp;#8217;égal que leur&amp;nbsp;maniaquerie.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cityboy a généré un certain buz, si vous êtes intéressé vous pouvez retrouver la page d&amp;#8217;accueil du bouquin avec tout ses dérivés sur &lt;a href="http://www.cityboy.biz" title="Fear and loathing in the city"&gt;www.cityboy.biz&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/xxL5NtMQmgc" height="1" width="1"/&gt;</description>
         <pubDate>13 Jun 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/critique-de-livre-cityboy.html</feedburner:origLink></item>    
      <item>
         <title>Critique de livre: The Non-Designer's Design Book</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/lw3cn9nLwBA/critique-de-livre-the-non-designers-design-book.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/critique-de-livre-the-non-designers-design-book.html</guid>
         <description>&lt;p&gt;En presque 200 pages, Robin Williams nous emmène dans le monde du design. Et
quel voyage! Nombreux sont ceux qui arrivent à évaluer l&amp;#8217;attractivité d&amp;#8217;une
publicité, du design d&amp;#8217;un site web ou que sais-je. Mais qui est-ce qui est
capable de dire &lt;strong&gt;pourquoi&lt;/strong&gt;? Exercice bien plus difficile. On a en effet pour
beaucoup un certain sens du goût et de ce qui est beau, mais l&amp;#8217;auteure le dit
bien: &lt;em&gt;if you can put the dynamics of the relationship into words, you have
power over it.&lt;/em&gt; Mettre un nom sur les concepts et on s&amp;#8217;en trouve maître! A ce
propos, Robin Williams, démarre sa rédaction par un fait très intéressant:
elle a reçu un jour un livre de description d&amp;#8217;arbres. Elle feuillette son
livre et y découvre un arbre très facile à reconnaître mais qu&amp;#8217;elle ne pense
pas trouver dans sa région. Bref, elle sort se promener dans le quartier afin
de tenter de reconnaître quelques arbres et qu&amp;#8217;est-ce qu&amp;#8217;elle voit? 4 maisons
sur 6 de son voisinage possédaient cet arbre dans leur jardin&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt;! Du moment qu&amp;#8217;elle a pu mettre un
nom sur cet arbre, elle s&amp;#8217;est rendue compte qu&amp;#8217;il y en avaientt dans son
quartier. L&amp;#8217;idée de ce livre part du même principe. Savoir pourquoi un design
est bon, mettre un nom, des règles sur ce qui rend beau permettra au novice de
bien démarrer. Le texte passe 4 principes en revue en première&amp;nbsp;partie:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Contraste : attire l&amp;#8217;oeil, donne de l&amp;#8217;attrait. Devise: &lt;strong&gt;don&amp;#8217;t be a
wimp!&lt;/strong&gt;&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; Si le contraste est trop faible il
s&amp;#8217;apparente à une&amp;nbsp;erreur.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Répétition :&amp;nbsp;consistence&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Alignement : crée une cohésion, même si deux éléments sont éloignés l&amp;#8217;un
de&amp;nbsp;l&amp;#8217;autre&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Proximité: savoir grouper les&amp;nbsp;éléments&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La deuxième partie donne une introduction sur les fontes de caractères. J&amp;#8217;y ai
beaucoup appris et beaucoup apprécié comment l&amp;#8217;auteure pousse à observer dans
les magazines par exemple les différentes fontes existantes. Et à nouveau,
donner un nom. De quel groupe fait partie tel fonte? Quelles sont ses
caractéristiques (serif, ou sans, stress ou pas, roman, italique, etc.)?
Pourquoi l&amp;#8217;interaction entre deux fontes fonctionne ou pas? Bref, lire ce
livre permet d&amp;#8217;en savoir plus sur le design. Connaître certains principes de
bases donnent une petite assurance et fait naître une envie de critiquer (bien
ou mal) ce qu&amp;#8217;on voit en y donnant un nom. On sait pourquoi ça marche et on se
sens du coup davantage capable. Je ne peux donc que le conseiller à qui
aimerait découvrir le design et acquérir une certaine&amp;nbsp;base.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/lw3cn9nLwBA" height="1" width="1"/&gt;</description>
         <pubDate>22 May 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/critique-de-livre-the-non-designers-design-book.html</feedburner:origLink></item>    
      <item>
         <title>SCBCD je t'aurai!</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/UR06xFOxxa0/scbcd-je-taurai.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/scbcd-je-taurai.html</guid>
         <description>&lt;p&gt;C&amp;#8217;est décidé. Cette année je passe la certification &lt;span class="caps"&gt;SCBCD&lt;/span&gt; autrement dit le
développement de composants &lt;span class="caps"&gt;EJB&lt;/span&gt;. Passer une certification est un exercice que
j&amp;#8217;apprécie tant il pousse à faire le tour complet d&amp;#8217;une technologie. En tout
cas l&amp;#8217;expérience faite avec les certifications &lt;span class="caps"&gt;SCJP&lt;/span&gt; et &lt;span class="caps"&gt;SCWCD&lt;/span&gt; ne m&amp;#8217;ont pas déçu
et m&amp;#8217;ont permis d&amp;#8217;être à l&amp;#8217;aise et d&amp;#8217;avoir le sentiment de maîtriser mon
sujet. Je ne connais pas encore très bien les &lt;span class="caps"&gt;EJB&lt;/span&gt;, j&amp;#8217;ai eu à maintenir une
application qui en utilisaient mais cela reste un peu flou pour moi pour
l&amp;#8217;instant. Le moment est propice puisque je commence également un nouveau
projet chez Merck Serono. Projet &lt;span class="caps"&gt;J2EE&lt;/span&gt; utilisant Seam, &lt;span class="caps"&gt;JSF&lt;/span&gt; et les &lt;span class="caps"&gt;EJB&lt;/span&gt; 3, je
pourrai de ce fait directement mettre en pratique ce que j&amp;#8217;apprends et
apprendre de ma pratique. Passer une certification est anecdotique dans
l&amp;#8217;apprentissage d&amp;#8217;une technologie mais c&amp;#8217;est motivant. On a envie de bien
réussir l&amp;#8217;examen et de pouvoir ajouter une ligne à son cv n&amp;#8217;est pas
négligeable non plus même si ça ne fait pas&amp;nbsp;tout.&lt;/p&gt;
&lt;h1 id="mon-plan-daction"&gt;Mon plan&amp;nbsp;d&amp;#8217;action&lt;/h1&gt;
&lt;p&gt;Pour y arriver dans un délai court je pense lire rapidement Mastering
Enterprise JavaBeans 3.0, disponible gratuitement sur le net. Parallèlement,
je souhaite exercer mes connaissances en utilisant pour se faire le serveur
Glassfish, implémentation de référence de &lt;span class="caps"&gt;SUN&lt;/span&gt;. Je pense également passer en
revue les specs (il y en a 3) et tester mes connaissances sur Javablackbelt.
Avec ce beau planning j&amp;#8217;espère passer cette certification d&amp;#8217;ici septembre.
J&amp;#8217;espère vraiment y arriver, celà met de côté mes autres objectifs (&lt;span class="caps"&gt;SICP&lt;/span&gt; par
exemple, arg!) mais bon c&amp;#8217;est temporaire. Si certains certifiés passent par
là, n&amp;#8217;hésitez pas à donner vos conseils!&amp;nbsp;Ressources:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Les objectifs de la certifications:
&lt;a href="http://www.sun.com/training/catalog/courses/CX-310-091.xml"&gt;http://www.sun.com/training/catalog/courses/&lt;span class="caps"&gt;CX&lt;/span&gt;-310-091.xml&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span class="caps"&gt;FAQ&lt;/span&gt; de JavaRanch sur le sujet :
&lt;a href="http://faq.javaranch.com/java/ScbcdLinks#scbcd50"&gt;http://faq.javaranch.com/java/ScbcdLinks#scbcd50&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tutoriel de Sun :
&lt;a href="http://java.sun.com/javaee/5/docs/tutorial/doc/bncns.html"&gt;http://java.sun.com/javaee/5/docs/tutorial/doc/bncns.html&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/UR06xFOxxa0" height="1" width="1"/&gt;</description>
         <pubDate>09 May 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/scbcd-je-taurai.html</feedburner:origLink></item>    
      <item>
         <title>Nouveau venu dans la famille des podcasts sur Java</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/6bLlfStcbO8/nouveau-venu-dans-la-famille-des-podcasts-sur-java.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/nouveau-venu-dans-la-famille-des-podcasts-sur-java.html</guid>
         <description>&lt;p&gt;Il s&amp;#8217;appelle &lt;a href="http://lescastcodeurs.com/"&gt;Les Cast Codeurs Podcast&lt;/a&gt; et c&amp;#8217;est le tout nouveau podcast à
propos du monde Java. On y parle également des langages supportés par la
machine virtuelle tels que Groovy mais on nous promet également Scala,
Clojures, etc. Le point particulier? On y parle &lt;strong&gt;en français&lt;/strong&gt;, sympa! Le but
suivi est le&amp;nbsp;suivant:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;discussion sur les nouvelles du monde Java avec vos hôtes&amp;nbsp;habituels&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;la sélection des outils de la semaine: un outil que l’on utilise au
quotidien pour coder ou&amp;nbsp;travailler&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Java, les mains dans le cambouis: une discussion détaillée sur
un sujet peu connu&amp;nbsp;des développeur&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;l’interview: une interview d’un acteur Francophone (si possible) du
monde&amp;nbsp;Java&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je suis un habitué de &lt;a href="http://javaposse.com/"&gt;Java Posse&lt;/a&gt; - la référence en la matière - mais
après avoir écouté une bonne partie du 1er épisode je suis séduit. Il leur
manque un générique qui tienne la route, peut-être aussi un poil plus d&amp;#8217;humour
mais saluons l&amp;#8217;initiative! D&amp;#8217;autant plus qu&amp;#8217;avec des chroniqueurs comme
Emmanuel Bernard, Antonio Goncalves, Guillaume Laforge et Vincent Masso on
peut espérer un contenu de très haute qualité! N&amp;#8217;hésitez pas à vous abonner au
podcast en cliquant sur le lien ci-dessous et à faire passer le&amp;nbsp;message!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=312239675"&gt;&lt;img alt="" src="http://lescastcodeurs.com/img/itunes.gif" /&gt; Souscrire dans&amp;nbsp;iTunes&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/6bLlfStcbO8" height="1" width="1"/&gt;</description>
         <pubDate>15 Apr 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/nouveau-venu-dans-la-famille-des-podcasts-sur-java.html</feedburner:origLink></item>    
      <item>
         <title>Critique de livre: Alexandre - Le feu du ciel</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/mc14snfZdIk/critique-de-livre-alexandre-le-feu-du-ciel.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/critique-de-livre-alexandre-le-feu-du-ciel.html</guid>
         <description>&lt;div class="five left"&gt;
  &lt;blockquote&gt;
&lt;p&gt;Il regarda. Il n&amp;#8217;avait pas une égratignure, il avait toujours eu un coup
d&amp;#8217;avance. Héphaistion lui parla et il lui répondit en souriant. Il touchait,
resplendissant et calme, au sommet de son secret: la divine liberté de tuer la
peur. La peur gisait morte à ses&amp;nbsp;pieds.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Dans ce 1er tome de la trilogie, Mary Renault nous fait découvrir l&amp;#8217;enfance
d&amp;#8217;Alexandre. Très proche de sa mère, Alexandre est un garçon vif, intelligent
et très curieux&amp;#8230; Ce petit bonhomme devient (très) vite adulte. Alors que
déjà petit on découvre un Alexandre en avance sur les enfants de son âge, à
seulement 12 ans il va &amp;#8220;tuer son homme&amp;#8221;! Ce nouveau statut va petit à petit
l&amp;#8217;éloigner de sa mère et rendre son père, &lt;a href="http://fr.wikipedia.org/wiki/Philippe_II_de_Mac%C3%A9doine"&gt;Philippe de Macédoine&lt;/a&gt;, plus
attentif à ses actes. On se rend compte toujours plus des qualités
d&amp;#8217;Alexandre: courage, détermination et intelligence. Pour qui aime l&amp;#8217;Histoire,
n&amp;#8217;hésitez pas. Pour qui aime les bonnes histoires, n&amp;#8217;hésitez pas! En effet,
Mary Renault nous mène dans un genre agréable mêlant historique et roman avec
un style très agréable, on se laisse emporter facilement. J&amp;#8217;ai beaucoup aimé
cette lecture et me réjouis des 2 prochains tomes (commandés cette semaine sur
Amazon,&amp;nbsp;youpi!)&lt;/p&gt;
&lt;/div&gt;
&lt;div class="one left lr"&gt;
  &lt;strong&gt; Sur Amazon&lt;/strong&gt;
  &lt;a href="http://www.amazon.fr/gp/product/2253109266?ie=UTF8&amp;tag=thpowo-21&amp;linkCode=as2&amp;camp=1642&amp;creative=19458&amp;creativeASIN=2253109266"&gt;
  &lt;img src="http://www.poxd.org/wp-content/uploads/2009/04/516p6rzk2cl_sl160_.jpg"/&gt;
  &lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/mc14snfZdIk" height="1" width="1"/&gt;</description>
         <pubDate>04 Apr 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/critique-de-livre-alexandre-le-feu-du-ciel.html</feedburner:origLink></item>    
      <item>
         <title>Il est temps de se mettre à Scala</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/CCrZGngEqGc/il-est-temps-de-se-mettre-a-scala.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/il-est-temps-de-se-mettre-a-scala.html</guid>
         <description>&lt;blockquote&gt;
&lt;p&gt;Addressing developers at the annual Web 2.0 Expo in San Francisco,
California, Payne argued that Scala - not Ruby on Rails or &lt;span class="caps"&gt;PHP&lt;/span&gt; or Python -
should be the language of choice for the modern web&amp;nbsp;startup.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Selon Alex Payne, dévelopeur de Twitter, Scala serait donc &lt;span class="caps"&gt;LE&lt;/span&gt; langage de choix
pour le dévelopement de services internet&amp;#8230; Il faudrait vraiment que j&amp;#8217;y jète
un oeil. [Source: article &lt;a href="http://www.theregister.co.uk/2009/04/01/twitter_on_scala/"&gt;theregister&lt;/a&gt; titré &lt;em&gt;Twitter jilts Ruby for
Scala&lt;/em&gt;]&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/CCrZGngEqGc" height="1" width="1"/&gt;</description>
         <pubDate>02 Apr 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/il-est-temps-de-se-mettre-a-scala.html</feedburner:origLink></item>    
      <item>
         <title>Kathy Sierra : mon choix pour l'Ada Lovelace DAY</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/txJ69zB8vPY/kathy-sierra-mon-choix-pour-lada-lovelace-day.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/kathy-sierra-mon-choix-pour-lada-lovelace-day.html</guid>
         <description>&lt;p&gt;Sur une idée de &lt;a href="http://suw.org.uk/2009/01/06/join-me-on-ada-lovelace-day/"&gt;Suw Charman-Anderson&lt;/a&gt; avec l&amp;#8217;&lt;a href="http://www.promessotheque.com/AdaLovelaceDay"&gt;Ada Lovelace Day&lt;/a&gt;, voici
l&amp;#8217;opportunité de mettre en avant une personnalité, une femme dans le monde de
la technologie. J&amp;#8217;ai choisi &lt;a href="http://en.wikipedia.org/wiki/Kathy_Sierra"&gt;Kathy Sierra&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;L&amp;#8217;informatique vit une époque extraordinaire. Il est possible aujourd&amp;#8217;hui
grâce à la révolution Internet d&amp;#8217;en apprendre sur tout. Un  accès illimité à
une connaissance infinie. C&amp;#8217;est merveilleux,&amp;nbsp;j&amp;#8217;adore.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Il y a un art de savoir et un art d&amp;#8217;enseigner. &lt;strong&gt;Cicéron&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;D&amp;#8217;un autre côté, celles et ceux ayant fait l&amp;#8217;effort de se plonger dans les
œuvres techniques en ligne ou littéraire auront été rebuté plus d&amp;#8217;une fois
face à la monotonie et l&amp;#8217;ennui que procure la lecture d&amp;#8217;un sujet technique&amp;#8230;
C&amp;#8217;est là qu&amp;#8217;intervient Kathy Sierra. Kathy Sierra, officiellement programmeuse
dans l&amp;#8217;industrie du jeu vidéo, m&amp;#8217;a fait découvrir comment m&amp;#8217;initier à un sujet
technique en m&amp;#8217;amusant. Avant de tomber sur sa série &lt;a href="http://www.headfirstlabs.com/"&gt;Head First&lt;/a&gt;, l&amp;#8217;idée
même de me plonger dans un bouquin technique me repoussait. Dorénavant, grâce
à sa nouvelle manière de présenter les choses et de structurer le contenu un
sujet de prime abord barbant devient réellement &lt;strong&gt;amusant&lt;/strong&gt;. Mais, bien plus
important, aide incroyablement à la &lt;strong&gt;mémorisation&lt;/strong&gt;! Une façon attractive de
présenter le sujet ajoutée à des exemples et des exercices sortant du commun,
tout est fait pour aider le lecteur à être impliqué au maximum par ce qu&amp;#8217;il
lit. Ses recherches sur le cerveau et l&amp;#8217;aspect cognitif auront certainement
aidé au succès de cette série qu&amp;#8217;elle a créée conjointement avec &lt;a href="http://www.headfirstlabs.com/bert.php"&gt;Bert
Bates&lt;/a&gt;. Ce qui a été dit plus haut pourra d&amp;#8217;ailleurs certainement
s&amp;#8217;appliquer au travail de son co-équipier, mais aujourd&amp;#8217;hui c&amp;#8217;est à une femme
qu&amp;#8217;il faut rendre honneur! Bref, grâce à leur travail, les bouquins techniques
ne m&amp;#8217;effraient plus, je plonge dedans sans appréhension. Au final on s&amp;#8217;ammuse
et c&amp;#8217;est le plus important, tout devrait suivre la même philosophie!
&lt;strong&gt;Apprendre en s&amp;#8217;amusant c&amp;#8217;est vraiment fun&lt;/strong&gt;! Mais ce n&amp;#8217;est pas tout, Kathy
Sierra a également mis sur pied une communauté autour de Java sur le site
&lt;a href="http://www.javaranch.com/"&gt;JavaRanch&lt;/a&gt;. Ressource de qualité, des modérateurs sur le forum qui ont une
grande connaissance dans le domaine du développement, décidément ce qu&amp;#8217;elle
met en place est synonyme de&amp;nbsp;succès!&lt;/p&gt;
&lt;h2 id="pourquoi-ada-lovelace"&gt;Pourquoi Ada&amp;nbsp;Lovelace&lt;/h2&gt;
&lt;p&gt;J&amp;#8217;aurais bien aimé en dire plus sur Kathy, j&amp;#8217;aurais pu en dire plus sur son
blog, ses activités d&amp;#8217;enseignement chez Sun ou encore les conférences qu&amp;#8217;elle
donne, mais je vous laisse découvrir tout ce qu&amp;#8217;elle a pu faire: &lt;a href="http://en.wikipedia.org/wiki/Kathy_Sierra"&gt;sa page
Wikipédia&lt;/a&gt; référence tout. Pour savoir pourquoi avoir choisi Ada Lovelace
comme figure d&amp;#8217;honneur je vous laisse consulter la &lt;a href="http://www.promessotheque.com/AdaLovelaceDay"&gt;description&lt;/a&gt; de cette
idée originale. Allez Mesdames, n&amp;#8217;ayez pas peur de vous jeter à l&amp;#8217;eau et de
rentrer dans le cadre de ce monde de&amp;nbsp;machos!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/txJ69zB8vPY" height="1" width="1"/&gt;</description>
         <pubDate>24 Mar 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/kathy-sierra-mon-choix-pour-lada-lovelace-day.html</feedburner:origLink></item>    
      <item>
         <title>Javascript "The Good Parts" en vidéo</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/tiq5cn4mSLY/javascript-the-good-parts-en-video.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/javascript-the-good-parts-en-video.html</guid>
         <description>&lt;p&gt;Javascript étant l&amp;#8217;un des langages les plus utilisés mais en même temps les
moins bien compris, les conseils d&amp;#8217;&lt;a href="http://www.crockford.com/"&gt;un expert&lt;/a&gt; sont toujours très utiles.
Je l&amp;#8217;utilise moi-même beaucoup depuis un an maintenant chez Merck Serono. Le
problème avec ce langage (qui parraît être un avantage au départ) étant que
très rapidement on arrive avoir un résultat. Javascript ne fait que très peu
de vérifications sur le code et ne retournera que rarement une erreur. Donc au
final, on est content d&amp;#8217;avoir pu produire rapidement un code fonctionnel mais
l&amp;#8217;objectif d&amp;#8217;un bon développeur ne devrait-il pas être de livrer un code
clair, maintenable et performant? Sans aller très loin, voici une liste des
choses &lt;strong&gt;à savoir&lt;/strong&gt; sur&amp;nbsp;Javascript:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Déclarer toutes les variables avec le mot-clé var&lt;/strong&gt;. L&amp;#8217;omission du mot-
clé créera une variable globale et ce quelque soit l&amp;#8217;emplacement de la&amp;nbsp;déclaration:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="syntax"&gt;&lt;pre&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;
    &lt;span class="nx"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;hello world&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;//variable globale!&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;text&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;A éviter comme la peste. Une variable globale déclarée dans une fonction
écrasant une autre variable légitimement globale (définie par exemple dans une
librairie externe) sera un pur cauchemard à débugger! Sans parler des attaques
&lt;span class="caps"&gt;XSS&lt;/span&gt; dont fait mention Doug dans sa présentation.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Vérifier une condition uniquement avec un triple opérateur.&lt;/strong&gt;
C&amp;#8217;est-à-dire === ou !=== . Oui parce qu&amp;#8217;en fait en Javascript : 0 == &amp;#8221; donne
false mais &amp;#8221; == 0 donne true! A ce qu&amp;#8217;en dit Doug, des règles régissent ce
comportement. On va pas chercher à comprendre ces règles: utilisez toujours
=== ou !=== pour les conditions&amp;nbsp;d&amp;#8217;égalité!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Le style n&amp;#8217;est pas qu&amp;#8217;une affaire de goût.&lt;/strong&gt; Avec les deux codes&amp;nbsp;suivants:&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="syntax"&gt;&lt;pre&gt;&lt;span class="k"&gt;return&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;content&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;div class="syntax"&gt;&lt;pre&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;content&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;On peut penser que ce n&amp;#8217;est qu&amp;#8217;une affaire de goût. Bien nous en garde! Dans
le premier cas, Javascript ajoute un point-virgule après le return et ne lance
aucune&amp;nbsp;erreur!&lt;/p&gt;
&lt;p&gt;3 points à garder à l&amp;#8217;esprit lors de développements Javascript mais en
visionnant la vidéo on en découvre d&amp;#8217;autres et certainement qu&amp;#8217;en lisant le
bouquin on va encore plus loin. &lt;a href="http://www.poxd.org/blog/2008/12/14/dom-et-ses-bonnes-pratiques/"&gt;Une fois de plus&lt;/a&gt;, Doug Crockford concocte
ici une vidéo fort intéressante. Bon&amp;nbsp;visionnage!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/tiq5cn4mSLY" height="1" width="1"/&gt;</description>
         <pubDate>19 Mar 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/javascript-the-good-parts-en-video.html</feedburner:origLink></item>    
      <item>
         <title>Critique de livre: Le Prince de Machiavel</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/23wH-BGETVo/critique-de-livre-le-prince-de-machiavel.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/critique-de-livre-le-prince-de-machiavel.html</guid>
         <description>&lt;div class="one left"&gt;
  &lt;strong&gt;Sur Amazon&lt;/strong&gt;
  &lt;a href="http://www.amazon.fr/gp/product/0553212788?ie=UTF8&amp;tag=thpowo-21&amp;linkCode=as2&amp;camp=1642&amp;creative=19458&amp;creativeASIN=0553212788"&gt;
    &lt;img src="http://www.poxd.org/wp-content/uploads/2009/03/leprince.jpg" /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;div class="five left lr"&gt;
  &lt;p&gt;Faisant partie des &lt;a href="http://www.poxd.org/blog/2009/02/07/les-110-meilleurs-livres-a-lire/"&gt;110 oeuvres à lire&lt;/a&gt;, ce livre est typiquement le genre
d&amp;#8217;écrit que je n&amp;#8217;aurais pas abordé si on ne me l&amp;#8217;avait pas&amp;nbsp;recommandé.&lt;/p&gt;
&lt;p&gt;Mon ressenti est mitigé. Mais tout d&amp;#8217;abord je tiens à relever quelque chose
qui me fascine: la capacité de certains d&amp;#8217;analyser et d&amp;#8217;abstraires des règles
(pas forcément juste j&amp;#8217;en conviens) de l&amp;#8217;Histoire&amp;#8230; Parce qu&amp;#8217;a fait Machiavel
ici c&amp;#8217;est une grande synthèse de la vie de plusieurs hauts personnages tels
que Moïse, Cyrus, Marc Aurèle et j&amp;#8217;en passe. Et de ressortir un ensemble de 26
chapitres exposant des principes politiques qui - il me semble - s&amp;#8217;appliquent
encore à ce jour; moi je dis bravo! En ce sens, Machiavel, entre pour moi dans
la catégorie des sages (un Merlin quoi ;). D&amp;#8217;un autre côté, c&amp;#8217;est une œuvre
qui parle de politique. Et moi la politique j&amp;#8217;ai de la peine à bien la
digérer. Cette envie absolue d&amp;#8217;avoir du pouvoir sur les autres, de se montrer
bon, juste, digne et fort (très accentué par Machiavel) ont tendances à me
repousser. Pour résumer, si je m&amp;#8217;incline devant le génie de l&amp;#8217;auteur, je
dirais que le contenu ne me rassure pas quant à la nature humaine
malheureusement. J&amp;#8217;ai tout de même pris du plaisir à lire ce livre dont voici
deux passages qui m&amp;#8217;ont particulièrement&amp;nbsp;plu:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Mais quant à l&amp;#8217;exercice de l&amp;#8217;esprit, le prince doit lire les histoires et
considérer en celles-ci les actions des hommes excellents, voir comment ils se
sont gouvernés dans les guerres, examiner les causes de leurs victoires et de
leurs défaites, pour pouvoir fuir celles-ci et imiter celles-là; et surtout
faire comme a fait, dans le passé, quelque homme excellent qui a pris en
imitation un homme qui, avant lui, a été loué et glorifié, et e celui-ci a
toujours tenu auprès de lui les gestes et les actions, comme on dit
qu&amp;#8217;Alexandre le Grand imitait Achille, Césrar, Alexandre, Scipion,&amp;nbsp;Cyrus.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;J&amp;#8217;adhère à cette idée d&amp;#8217;apprendre de nos pères, bien que dans le contexte de
cette citation, Machiavel lui l&amp;#8217;applique à un capital de savoir à acquérir en
temps de paix pour mieux s&amp;#8217;en servir en temps d&amp;#8217;adversité; ce qui en fait un
but un poil trop belliqueux pour moi&amp;#8230; Passons au deuxième passage que j&amp;#8217;ai&amp;nbsp;choisi:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Je conclus donc que, la fortune et les temps variant et les hommes demeurant
obstinés dans leurs manières, ils sont heureux tandis qu&amp;#8217;ils s&amp;#8217;accordent
ensemble et malheureux, quand ils sont en désaccord. Je juge en revanche ceci,
qu&amp;#8217;il est meilleur d&amp;#8217;être impétueux que circonspect, parce que la fortune est
femme et il est nécessaire de la battre et de l&amp;#8217;affronter, quand on veut la&amp;nbsp;soumettre.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ce passage m&amp;#8217;a bien fait rire. Je trouve qu&amp;#8217;il met bien en avant le côté macho
italien! Enfin bon, la chance ça se provoque comme on dit et une fois de plus
j&amp;#8217;y adhère. Trop facile de dire que nos vies sont dirigées par le destin, ça
ne marche pas pour moi. Machiavel défend très bien cette idée dans le chapitre
25 d&amp;#8217;où est tiré la dernière citation. Bref, Le Prince de Machiavel, une
oeuvre majeure ayant fait couler beaucoup d&amp;#8217;encre mérite certainement d&amp;#8217;être
lue mais vous demandera une certaine persévérance si, comme moi, la politique
ne vous passionne&amp;nbsp;pas.&lt;/p&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/23wH-BGETVo" height="1" width="1"/&gt;</description>
         <pubDate>08 Mar 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/critique-de-livre-le-prince-de-machiavel.html</feedburner:origLink></item>    
      <item>
         <title>Comment ne plus procrastiner</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/s6qGkairCYo/comment-ne-plus-procrastiner.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/comment-ne-plus-procrastiner.html</guid>
         <description>&lt;p&gt;Vous êtes beaucoup à reporter les choses au lendemain&amp;#8230;. Oui ok, &lt;span class="caps"&gt;NOUS&lt;/span&gt; sommes
beaucoup à reporter les choses au lendemain. C&amp;#8217;est l&amp;#8217;enfer comme trop souvent
on se retrouve à devoir au dernier moment nous mettre à bosser comme des fous
pour terminer une tâche&amp;#8230; Mais comment s&amp;#8217;améliorer? Voici une observation
fort utile dans ce contexte tirée du site &lt;a href="http://esciencenews.com/articles/2009/01/12/why.we.procrastinate.and.how.stop"&gt;e! Science News&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The findings, reported in &lt;em&gt;Psychological Science&lt;/em&gt;, a journal of the
Association for Psychological Science, were very clear. Even though all of the
students were being paid upon completion, those who thought about the
questions abstractly were much more likely to procrastinate&amp;#8212;and in fact some
never got around to the assignment at all. By contrast, those who were focused
on the how, when and where of doing the task e-mailed their responses much
sooner, suggesting that they hopped right on the assignment rather than
delaying&amp;nbsp;it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Voilà peut-être l&amp;#8217;une des clés. Définir &lt;strong&gt;comment&lt;/strong&gt;, &lt;strong&gt;quand&lt;/strong&gt; et &lt;strong&gt;où&lt;/strong&gt;
effectuer nos tâches restantes. Je ne suis pas psychologue mais pour moi, le
&lt;strong&gt;pourquoi&lt;/strong&gt; est quasi aussi important pour rester productif. Je suis persuadé
que si l&amp;#8217;on comprend bien le pourquoi de la tâche, ce qu&amp;#8217;elle apportera
concrètement une fois accomplie, la motivation sera encore plus grande que de
simplement connaître le processus pour l&amp;#8217;accomplir. Celà rappelle facilement
la &lt;a href="http://www.poxd.org/blog/2008/10/23/critique-de-livre-getting-things-done-de-david-allen/"&gt;méthodologie Getting Things Done&lt;/a&gt; de Dave Allen qui, si vous ne la
connaissez pas encore vous enchantera j&amp;#8217;en suis&amp;nbsp;certain!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/s6qGkairCYo" height="1" width="1"/&gt;</description>
         <pubDate>07 Mar 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/comment-ne-plus-procrastiner.html</feedburner:origLink></item>    
      <item>
         <title>Elle date de combien de temps ta dernière sauvegarde?</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/SYej5B1Lg8M/elle-date-de-combien-de-temps-ta-derniere-sauvegarde.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/elle-date-de-combien-de-temps-ta-derniere-sauvegarde.html</guid>
         <description>&lt;p&gt;Les sauvegardes font partie de ces choses qu&amp;#8217;il faudrait faire mais qu&amp;#8217;on a
tendance à repousser indéfiniment. Lisez cet article et vous aurez une méthode
qui vous demandera 2 minutes à mettre en place (aller 5 grand max) et vous
n&amp;#8217;aurez plus à vous inquiéter de vos&amp;nbsp;sauvegardes!&lt;/p&gt;
&lt;h1 id="creer-un-compte-dropbox"&gt;Créer un compte&amp;nbsp;DropBox&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://www.getdropbox.com/"&gt;DropBox&lt;/a&gt; est un service en ligne s&amp;#8217;intégrant merveilleusement bien à tout
système d&amp;#8217;exploitation. Son but: synchroniser les fichiers entre plusieurs
ordinateurs avec la possibilité de partager des fichiers.  Son prix: gratuit
jusqu&amp;#8217;à 2Go et &lt;a href="https://www.getdropbox.com/pricing"&gt;payant&lt;/a&gt; pour&amp;nbsp;50Go.&lt;/p&gt;
&lt;p&gt;&lt;img alt="dropbox" src="http://www.poxd.org/wp-content/uploads/2009/02/dropbox.jpeg" title="dropbox" /&gt;&lt;/p&gt;
&lt;p&gt;La seule chose à faire est de télécharger le client correspondant à son
système et de l&amp;#8217;installer. Vous aurez ensuite un dossier pas tout à fait comme
les autres (se trouvant par défaut sous Mes Documents sur Windows mais
paramètrable) qui dès que vous en modifiez son contenu, se synchronise
automatiquement avec votre compte DropBox en ligne. Si vous utilisez plusieurs
ordinateurs, pas de problème, vous installez le client et hop il se
synchronise, même sur votre&amp;nbsp;iPhone!&lt;/p&gt;
&lt;h1 id="script-de-copie"&gt;Script de&amp;nbsp;copie&lt;/h1&gt;
&lt;p&gt;Profitant de cette synchronisation automatique sur Internet il n&amp;#8217;y a plus qu&amp;#8217;à
se créer un script copiant les fichiers à sauvegarder dans le dossier DropBox!
Travaillant sur une station Microsoft au boulot mon script est un .bat mais
sera très facilement porté sur n&amp;#8217;importe quel système (zip étant sur tout &lt;span class="caps"&gt;OS&lt;/span&gt;)!
Pour ma part voici son&amp;nbsp;contenu:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;zip -9 -v -u -r Dropbox\backups\merck merck &amp;gt;&amp;gt; Dropbox\backups\log.txt

zip -9 -v -u -r Dropbox\backups\Logica Logica &amp;gt;&amp;gt; Dropbox\backups\log.txt
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Les paramètres devront être ajustés à votre convenance. Ici nous&amp;nbsp;avons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;-9 : compression&amp;nbsp;maximum&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;-v : verbeux pour le rapport enregistré dans le fichier&amp;nbsp;log.txt&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;-u : met à jour l&amp;#8217;archive ne la recrée pas à chaque fois&amp;nbsp;complètement&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;-r : récursif dans l&amp;#8217;arborescence, tout le contenu du dossier et de ses
sous-dossiers sont&amp;nbsp;archivés&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Je n&amp;#8217;ai sur ma machine que deux dossiers que je veux absolument sauvegarder,
je n&amp;#8217;ai donc pour ma part pas besoin d&amp;#8217;un espace disque énorme (je tiens
largement sur un compte gratuit DropBox). Par contre si vous voulez
sauvegarder vos mp3, vos photos et vos films ça va vite faire volumineux. Dans
ce cas-là il existe d&amp;#8217;autres solutions tout aussi avantageuses (ou presque).
Je vous laisse jeter un oeil au &lt;a href="http://paulstamatiou.com/2008/06/08/how-i-use-amazon-s3"&gt;très bon article&lt;/a&gt; de Paul Stamatiou
concernant son utilisation du service d&amp;#8217;Amazon: &lt;a href="http://aws.amazon.com/s3/"&gt;S3&lt;/a&gt;.&lt;/p&gt;
&lt;h1 id="automatisation"&gt;Automatisation&lt;/h1&gt;
&lt;p&gt;Finalement, plus qu&amp;#8217;à demander à sa machine de lancer &lt;strong&gt;régulièrement &lt;/strong&gt;le
script ci-dessus et hop plus besoin de s&amp;#8217;inquiéter de la sauvegarde de ses
données! Cron sur systèmes Unix et planificateur des tâches (at en ligne de
commande) sous Windows feront l&amp;#8217;affaire! Les sauvegardes sont trop souvent
mises de côtés mais lorsqu&amp;#8217;un crash arrive on se sent tout perdu et on s&amp;#8217;en
veut de ne pas en avoir fait assez souvent, ou pas du tout. J&amp;#8217;espère que cette
méthode en encouragera plus d&amp;#8217;un à ne plus la mettre de côté! Si c&amp;#8217;est le cas
demandez-moi une invitation à DropBox ce qui me permettra d&amp;#8217;augmenter la
capacité de stockage de mon compte&amp;nbsp;;)&lt;/p&gt;
&lt;h3 id="pour-aller-plus-loin"&gt;Pour aller plus&amp;nbsp;loin&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://aplawrence.com/Unixart/backup_rsync.html"&gt;Backing up Windows machines using rsync and ssh by Manu Garg&lt;/a&gt; concis et
puissant, méthode plus poussée et plus généraliste (en&amp;nbsp;anglais) &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.tux-planet.fr/sauvegarder-un-site-web-avec-rsync/"&gt;Sauvegarder un site web avec rsync&lt;/a&gt; utilise le même outil que l&amp;#8217;article précédent (en&amp;nbsp;français) &lt;/li&gt;
&lt;li&gt;&lt;a href="http://paulstamatiou.com/2008/06/08/how-i-use-amazon-s3"&gt;How I Use Amazon S3&lt;/a&gt; autre option utilisant Amazon S3 (en&amp;nbsp;anglais)&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/SYej5B1Lg8M" height="1" width="1"/&gt;</description>
         <pubDate>26 Feb 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/elle-date-de-combien-de-temps-ta-derniere-sauvegarde.html</feedburner:origLink></item>    
      <item>
         <title>Parfois la solution est juste plus simple que ce que l'on pensait...</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/Xu9vd1st5FM/parfois-la-solution-est-juste-plus-simple-que-ce-que-lon-pensait.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/parfois-la-solution-est-juste-plus-simple-que-ce-que-lon-pensait.html</guid>
         <description>&lt;p&gt;La lecture de The Pragmatic Programmer from journeyman to master vaut la
peine. Le chapitre que je viens de terminer m&amp;#8217;a une fois de plus permis de
garder à l&amp;#8217;esprit certains points dont on est certainement tous conscients,
mais les mettre par écrit fait parfois toute la&amp;nbsp;différence.&lt;/p&gt;
&lt;h2 id="il-doit-y-avoir-un-moyen-plus-facile"&gt;Il doit y avoir un moyen plus&amp;nbsp;facile!&lt;/h2&gt;
&lt;p&gt;Qui ne s&amp;#8217;est pas retrouvé un jour face un problème technique n&amp;#8217;offrant
visiblement aucune solution? Tourner le problème dans tous les sens ne suffit
parfois pas à le résoudre: on est bloqué! La deadline approche, c&amp;#8217;est la
panique! Il est bon à ce moment-là - voir bien avant si possible - de ce poser
ce genre de&amp;nbsp;questions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Est-ce qu&amp;#8217;il y a une autre solution plus facile à implémenter? Est-ce
qu&amp;#8217;il est obligé de le résoudre de cette manière? Parfois faire les choses
juste autremement peut être non seulement plus facile à implémenter mais
encore mieux: offrir une solution que le client n&amp;#8217;avait pas forcément imaginée
et qui&amp;nbsp;l&amp;#8217;enchante!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Est-ce que je suis en train de passer mon temps sur le vrai problème?
Attention! Les défis techniques peuvent se transformer en vraies de trappes
mangeuses de&amp;nbsp;temps.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pourquoi ce problème est-il un? Pourquoi est-ce si difficile de le
résoudre? Le formuler, à soi ou à un collègue peut ouvrir la porte à une&amp;nbsp;solution.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Est-ce que la fonctionnalité sous-jacente nous posant problème à
implémenter est réellement indispensable? &amp;#8220;Instead of outdoing, try
underdoing.&amp;#8221; - &lt;a href="http://gettingreal.37signals.com/ch02_Build_Less.php"&gt;Build Less&lt;/a&gt; du livre &lt;a href="http://gettingreal.37signals.com/index.php"&gt;Getting&amp;nbsp;Real&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Je ne sais pas pourquoi mais il m&amp;#8217;arrive régulièrement de rester bloqué sur un
problème et de me rendre compte tout d&amp;#8217;un coup que la solution pourrait être
beaucoup plus simple! Mais est-ce que je suis le seul dans ce cas? Une chose
est sûre, ce genre de questions ne peut qu&amp;#8217;aider à s&amp;#8217;en&amp;nbsp;sortir!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/Xu9vd1st5FM" height="1" width="1"/&gt;</description>
         <pubDate>18 Feb 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/parfois-la-solution-est-juste-plus-simple-que-ce-que-lon-pensait.html</feedburner:origLink></item>    
      <item>
         <title>Après DestroyFlickr, DestroyTwitter!</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/cXuekyJU29c/apres-destroyflickr-destroytwitter.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/apres-destroyflickr-destroytwitter.html</guid>
         <description>&lt;p&gt;&lt;img alt="DestroyToday" src="http://farm4.static.flickr.com/3204/3285106435_cc31cf8159_o.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Je n&amp;#8217;en ai jamais parlé ici mais j&amp;#8217;adore &lt;a href="http://www.destroytoday.com/projects/destroyflickr" title="DestroyFlickr"&gt;DestroyFlickr&lt;/a&gt;. Cette application
superbement sobre et intuitive permet de naviguer librement au sein de
l&amp;#8217;immense masse d&amp;#8217;images de &lt;a href="http://flickr.com" title="Flickr"&gt;Flickr&lt;/a&gt;. Codée sur la plateforme Air, on se
retrouve en 2 clics sur des photothèques que l&amp;#8217;on n&amp;#8217;aurait jamais parcourue
depuis le site de Flickr et ce avec un plaisir infini. Attention, à ne pas
installer au boulot! Bref tout ça pour dire, que Jonnie Hallman, le talentueux
développeur derrière DestroyFlickr (allez voir son &lt;a href="http://www.destroytoday.com/lab/convex_hull_2/"&gt;labo&lt;/a&gt;), nous offre
maintenant le pendant twitter: j&amp;#8217;ai nommé &lt;a href="http://www.destroytoday.com/projects/destroyflickr"&gt;DestroyTwitter&lt;/a&gt;! Habitué à
Tweetdeck, Twitterrific et twhirl, je me réjouis de voir ce que cela donne&amp;#8230;
Au 1er coup d&amp;#8217;oeil, on retrouve des animations simples et agréables un design
d&amp;#8217;une sobriété frappante qui est très loin de me déplaire&amp;#8230; Bref, cela vaut
assurément le coup que vous alliez jeter un oeil à ce qu&amp;#8217;il&amp;nbsp;fait!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/cXuekyJU29c" height="1" width="1"/&gt;</description>
         <pubDate>16 Feb 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/apres-destroyflickr-destroytwitter.html</feedburner:origLink></item>    
      <item>
         <title>Les 110 meilleurs livres à lire</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/yAyFwCL7lEQ/les-110-meilleurs-livres-a-lire.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/les-110-meilleurs-livres-a-lire.html</guid>
         <description>&lt;p&gt;&lt;strong&gt;&lt;span class="caps"&gt;MAJ&lt;/span&gt;:&lt;/strong&gt; pour encore plus de listes de recommandations voici une source
intéressante: &lt;a href="http://www.flashlightworthybooks.com/"&gt;Flashlight Worthy&lt;/a&gt;. Vous connaissez un autre site du même
style? N&amp;#8217;hésitez pas à m&amp;#8217;en faire part, j&amp;#8217;en suis&amp;nbsp;friand!&lt;/p&gt;
&lt;p&gt;Lire c&amp;#8217;est la liberté, lire c&amp;#8217;est se cultiver mais lire peut aussi parfois
devenir ennuyeux lorsqu&amp;#8217;on tombe sur une oeuvre qui ne nous accroche pas. Dans
ce cas-là, on est libre d&amp;#8217;arrêter la lecture bien sûr&amp;#8230; Mais pourquoi donc je
n&amp;#8217;arrive pratiquement jamais poser un livre qui ne me plaît même pas? Pennac
le dit pourtant très bien dans Comme un roman, on a le droit de lire à voix
haute, on a le droit de ne pas lire, on fait ce qu&amp;#8217;on veut avec un livre, le
but est de passer un bon moment&amp;#8230; Bref, je ne sais pas. Mais si j&amp;#8217;essayais de
contourner le problème et de ne trouver que des livres passionants! C&amp;#8217;est vrai
quitte à lire au moins que des bons&amp;nbsp;livres!&lt;/p&gt;
&lt;p&gt;Vers qui se tourner pour obtenir de bonnes recommandations? Je suis tombé il y
a déjà un bout de temps de celà sur un article du &lt;a href="http://www.telegraph.co.uk/"&gt;Telegraph&lt;/a&gt; mentionnant
les 110 meilleurs livres à lire. Autant commencer par ceux-là! Lesquels sont
déjà passés entre vos mains? Lesquels vous ont le plus marqués? Des coups de&amp;nbsp;coeur?&lt;/p&gt;
&lt;p&gt;J&amp;#8217;ai commencé à en faire une &lt;a href="http://www.amazon.fr/gp/registry/wishlist/1C2C0ZYLXXUVS/ref=cm_wl_rlist_go"&gt;liste cadeau sur Amazon&lt;/a&gt; si cela vous
intéresse de vous les procurer (ou de m&amp;#8217;en offrir un ;) ). Par défaut, j&amp;#8217;y
insère la version livre de poche pour que le porte-monnaie supporte la charge.
Au final, il y aura plus de 110 livres puisque certaines oeuvres sont en
plusieurs volumes. Il est à noter également que certains livres mentionnés
dans l&amp;#8217;article ne trouve pas de correspondant en français, je ne les ai donc
pas ajoutés. Bon&amp;nbsp;voyage!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://flickr.com/photos/vipulmathur/471634239/"&gt;&lt;img alt="Love books" src="http://www.poxd.org/wp-content/uploads/2009/02/471634239_8aa6879098.jpg" title="Love books" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Photo Flickr: &lt;em&gt;for the love of books&lt;/em&gt; par &lt;a href="http://flickr.com/photos/vipulmathur/"&gt;Chocolate&amp;nbsp;Geek&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Iliad and The Odyssey&lt;/strong&gt; par&amp;nbsp;Homer&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Barchester Chronicles&lt;/strong&gt; par Anthony&amp;nbsp;Trollope&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pride and Prejudice&lt;/strong&gt; par Jane&amp;nbsp;Austen&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Gulliver&amp;#8217;s Travels&lt;/strong&gt; par Jonathan&amp;nbsp;Swift&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Jane Eyre&lt;/strong&gt; par Charlotte&amp;nbsp;Brontë&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;War and Peace &lt;/strong&gt; par&amp;nbsp;Tolstoy&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;David Copperfield&lt;/strong&gt; par Charles&amp;nbsp;Dickens&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Vanity Fair&lt;/strong&gt; par William Makepeace&amp;nbsp;Thackeray&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Madame Bovary&lt;/strong&gt; par Gustave&amp;nbsp;Flaubert&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Middlemarch&lt;/strong&gt; par George&amp;nbsp;Eliot&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sonnets&lt;/strong&gt; par&amp;nbsp;Shakespeare&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Divine Comedy&lt;/strong&gt; par&amp;nbsp;Dante&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Canterbury Tales&lt;/strong&gt; par&amp;nbsp;Chaucer&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Prelude&lt;/strong&gt; par William&amp;nbsp;Wordsworth&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Odes&lt;/strong&gt; par John&amp;nbsp;Keats&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Waste Land&lt;/strong&gt; par T. S.&amp;nbsp;Eliot&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Paradise Lost &lt;/strong&gt; par John&amp;nbsp;Milton&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Songs of Innocence and Experience&lt;/strong&gt; par William&amp;nbsp;Blake&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Collected Poems&lt;/strong&gt; par W. B.&amp;nbsp;Yeats&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Collected Poems&lt;/strong&gt; par Ted&amp;nbsp;Hughes&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Portrait of a Lady&lt;/strong&gt; par Henry&amp;nbsp;James&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A la recherche du temps perdu&lt;/strong&gt; par&amp;nbsp;Proust&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ulysses&lt;/strong&gt; par James&amp;nbsp;Joyce&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;For Whom the Bell Tolls&lt;/strong&gt; par Ernest&amp;nbsp;Hemingway&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sword of Honour trilogy&lt;/strong&gt; par Evelyn&amp;nbsp;Waugh&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Ballad of Peckham Rye&lt;/strong&gt; par Muriel&amp;nbsp;Spark&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rabbit series&lt;/strong&gt; par John&amp;nbsp;Updike&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;One Hundred Years of Solitude&lt;/strong&gt; par Gabriel García&amp;nbsp;Márquez&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Beloved&lt;/strong&gt; par Toni&amp;nbsp;Morrison&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Human Stain&lt;/strong&gt; par Philip&amp;nbsp;Roth&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rebecca&lt;/strong&gt; par Daphne du&amp;nbsp;Maurier&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le Morte D&amp;#8217;Arthur&lt;/strong&gt; par Thomas&amp;nbsp;Malory&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Les Liaisons Dangereuses&lt;/strong&gt; par Choderlos de&amp;nbsp;Laclos&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I, Claudius&lt;/strong&gt; par Robert&amp;nbsp;Graves&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Alexander Trilogy&lt;/strong&gt; par Mary Renault [Critique: &lt;a href="http://www.poxd.org/blog/2009/04/04/critique-de-livre-alexandre-le-feu-du-ciel/"&gt;tome 1&lt;/a&gt; - &lt;a href="http://www.poxd.org/blog/critique-de-livre-lenfant-perse/"&gt;tome 2&lt;/a&gt;]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Master and Commander&lt;/strong&gt; par Patrick&amp;nbsp;O&amp;#8217;Brian&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Gone with the Wind&lt;/strong&gt; par Margaret&amp;nbsp;Mitchell&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dr Zhivago&lt;/strong&gt; par Boris&amp;nbsp;Pasternak&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tess of the D&amp;#8217;Urbervilles&lt;/strong&gt; par Thomas&amp;nbsp;Hardy&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Plantagenet Saga&lt;/strong&gt; par Jean&amp;nbsp;Plaidy&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Swallows and Amazons&lt;/strong&gt; par Arthur&amp;nbsp;Ransome&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Lion, the Witch and the Wardrobe &lt;/strong&gt; par C.S.&amp;nbsp;Lewis&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Lord of the Rings&lt;/strong&gt; par &lt;span class="caps"&gt;J.R.&lt;/span&gt; R.&amp;nbsp;Tolkien&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;His Dark Materials &lt;/strong&gt; par Philip&amp;nbsp;Pullman&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Babar&lt;/strong&gt; par Jean de&amp;nbsp;Brunhoff&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Railway Children&lt;/strong&gt; par E.&amp;nbsp;Nesbit&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Winnie-the-Pooh&lt;/strong&gt; par A.A.&amp;nbsp;Milne&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Harry Potter &lt;/strong&gt; par J.K.&amp;nbsp;Rowling&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Wind in the Willows&lt;/strong&gt; par Kenneth&amp;nbsp;Grahame&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Treasure Island&lt;/strong&gt; par Robert Louis&amp;nbsp;Stevenson&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Frankenstein&lt;/strong&gt; par Mary&amp;nbsp;Shelley&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Twenty Thousand Leagues Under the Sea&lt;/strong&gt; par Jules&amp;nbsp;Verne&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Time Machine&lt;/strong&gt; par H.G.&amp;nbsp;Wells&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Brave New World&lt;/strong&gt; par Aldous Huxley [Critique &lt;a href="http://www.poxd.org/blog/2007/12/17/lectures-3/"&gt;ici&lt;/a&gt;]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1984&lt;/strong&gt; par George&amp;nbsp;Orwell&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Day of the Triffids&lt;/strong&gt; par John&amp;nbsp;Wyndham &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Foundation&lt;/strong&gt; par Isaac&amp;nbsp;Asimov &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2001: A Space Odyssey&lt;/strong&gt; par Arthur C.&amp;nbsp;Clarke&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Do Androids Dream of Electric Sheep?&lt;/strong&gt; par Philip K.&amp;nbsp;Dick &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Neuromancer&lt;/strong&gt; par William&amp;nbsp;Gibson&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Talented Mr Ripley&lt;/strong&gt; par Patricia&amp;nbsp;Highsmith&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Maltese Falcon&lt;/strong&gt; par Dashiell&amp;nbsp;Hammett &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Complete Sherlock Holmes &lt;/strong&gt; par Sir Arthur Conan&amp;nbsp;Doyle &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Big Sleep&lt;/strong&gt; par Raymond&amp;nbsp;Chandler &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tinker, Tailor, Soldier, Spy&lt;/strong&gt; par John le&amp;nbsp;Carré &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Red Dragon&lt;/strong&gt; par Thomas&amp;nbsp;Harris&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Murder on the Orient Express&lt;/strong&gt; par Agatha&amp;nbsp;Christie &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Murders in the Rue Morgue&lt;/strong&gt; par Edgar Allan&amp;nbsp;Poe &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Woman in White&lt;/strong&gt; par Wilkie&amp;nbsp;Collins &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Killshot&lt;/strong&gt; par Elmore&amp;nbsp;Leonard &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Das Kapital&lt;/strong&gt; par Karl&amp;nbsp;Marx&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Rights of Man&lt;/strong&gt; par Tom&amp;nbsp;Paine&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Social Contract&lt;/strong&gt; par Jean-Jacques&amp;nbsp;Rousseau&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Democracy in America&lt;/strong&gt; par Alexis de&amp;nbsp;Tocqueville &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;On War&lt;/strong&gt; par Carl von&amp;nbsp;Clausewitz &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Prince&lt;/strong&gt; par Niccolo Machiavelli  ** [Critique &lt;a href="http://www.poxd.org/blog/2009/03/08/critique-de-livre-le-prince-de-machiavel/"&gt;ici&lt;/a&gt;]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Leviathan&lt;/strong&gt; par Thomas&amp;nbsp;Hobbes &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;On the Interpretation of Dreams&lt;/strong&gt; par Sigmund&amp;nbsp;Freud&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;On the Origin of Species&lt;/strong&gt; par Charles&amp;nbsp;Darwin &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;L&amp;#8217;Encyclopédie&lt;/strong&gt; par Diderot, et&amp;nbsp;al&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Zen and the Art of Motorcycle Maintenance&lt;/strong&gt; par Robert M.&amp;nbsp;Pirsig&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Jonathan Livingston Seagull&lt;/strong&gt; par Richard&amp;nbsp;Bach&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Hitchhiker&amp;#8217;s Guide to the Galaxy&lt;/strong&gt; par Douglas&amp;nbsp;Adams&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Tipping Point&lt;/strong&gt; par Malcolm&amp;nbsp;Gladwell&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Beauty Myth&lt;/strong&gt; par Naomi&amp;nbsp;Wolf&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How to Cook&lt;/strong&gt; par Delia&amp;nbsp;Smith&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A Year in Provence&lt;/strong&gt; par Peter&amp;nbsp;Mayle&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A Child Called &amp;#8216;It&amp;#8217; &lt;/strong&gt; par Dave&amp;nbsp;Pelzer&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Eats, Shoots and Leaves&lt;/strong&gt; par Lynne&amp;nbsp;Truss&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Schott&amp;#8217;s Original Miscellany&lt;/strong&gt; par Ben&amp;nbsp;Schott&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Decline and Fall of the Roman Empire&lt;/strong&gt; par Edward&amp;nbsp;Gibbon&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A History of the English-Speaking Peoples &lt;/strong&gt; par Winston&amp;nbsp;Churchill&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A History of the Crusades&lt;/strong&gt; par Steven&amp;nbsp;Runciman&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Histories&lt;/strong&gt; par&amp;nbsp;Herodotus&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The History of the Peloponnesian War&lt;/strong&gt; par Thucydides **[Critique: &lt;a href="http://www.poxd.org/blog/critique-de-livre-histoire-de-la-guerre-du-peloponnese-tome-1/"&gt;tome1&lt;/a&gt;]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Seven Pillars of Wisdom&lt;/strong&gt; par T. E.&amp;nbsp;Lawrence&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A People&amp;#8217;s Tragedy&lt;/strong&gt; par Orlando&amp;nbsp;Figes&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Citizens: A Chronicle of the French Revolution&lt;/strong&gt; par Simon&amp;nbsp;Schama&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Origins of the Second World War&lt;/strong&gt; par &lt;span class="caps"&gt;A.J.&lt;/span&gt;P.&amp;nbsp;Taylor&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Confessions&lt;/strong&gt; par St&amp;nbsp;Augustine&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lives of the Caesars&lt;/strong&gt; par&amp;nbsp;Suetonius&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lives of the Artists&lt;/strong&gt; par&amp;nbsp;Vasari&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;If This is a Man&lt;/strong&gt; par Primo&amp;nbsp;Levi&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Memoirs of a Fox-Hunting Man&lt;/strong&gt; par Siegfried&amp;nbsp;Sassoon&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Eminent Victorians&lt;/strong&gt; par Lytton&amp;nbsp;Strachey&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A Life of Charlotte Brontë&lt;/strong&gt; par Elizabeth&amp;nbsp;Gaskell&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Goodbye to All That&lt;/strong&gt; par Robert&amp;nbsp;Graves&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Life of Dr Johnson&lt;/strong&gt; par&amp;nbsp;Boswell&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Diaries&lt;/strong&gt; par Alan&amp;nbsp;Clark&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;[Source : &lt;a href="http://www.telegraph.co.uk/culture/books/3672376/110-best-books-The-perfect-library.html"&gt;&lt;em&gt;110 best books: the perfect library&lt;/em&gt;&lt;/a&gt;]&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/yAyFwCL7lEQ" height="1" width="1"/&gt;</description>
         <pubDate>07 Feb 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/les-110-meilleurs-livres-a-lire.html</feedburner:origLink></item>    
      <item>
         <title>Que conseilleriez-vous à quelqu'un qui voudrait devenir programmeur mais sans aller à l'uni?</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/ozLktwyKCds/que-conseilleriez-vous-a-quelquun-qui-voudrait-devenir-programmeur-mais-sans-aller-a-luni.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/que-conseilleriez-vous-a-quelquun-qui-voudrait-devenir-programmeur-mais-sans-aller-a-luni.html</guid>
         <description>&lt;p&gt;Un changement d&amp;#8217;orientation professionnelle est aujourd&amp;#8217;hui certainement plus
facile qu&amp;#8217;auparavent. La question se pose donc pour les programmeurs
reconvertis mais également à ceux qui n&amp;#8217;ont pas la possibilité d&amp;#8217;accéder à une
formation supérieure (pour cause de manque de financement, de temps, charges
familiales, etc.) ou encore qui n&amp;#8217;en ont tout simplement pas envie! &lt;strong&gt;Quels
conseils donneriez-vous à quelqu&amp;#8217;un voulant devenir programmeur sur le tas
sans passer par une formation universitaire?&lt;/strong&gt; Premièrement, ne pas baisser
les bras c&amp;#8217;est tout à fait possible! Le monde online donne accès à une mine
d&amp;#8217;information gigantesque. Le plus dur sera donc peut-être de s&amp;#8217;organiser pour
tirer le meilleur parti possible de ce savoir qui nous tend les bras. Dans ce
sens, il faudra sûrement résister à la tentation de vouloir trop en faire. Le
développement couvre une foule de sujets intéressants, attention donc à ne pas
se disperser. Une tactique peut être de dresser une liste de sujets ((Ne pas
hésiter à demander de l&amp;#8217;aide pour élaborer cette liste)) à suivre afin
d&amp;#8217;assimiler tous les concepts dans l&amp;#8217;ordre. La deuxième étape sera de trouver
les informations pour chaque sujets, cela peut aller d&amp;#8217;un simple tutoriel à un
cours online et gratuit donné &amp;#8212; justement &amp;#8212; par une université. Internet a
grandement encouragé le partage du savoir, autant en&amp;nbsp;profiter!&lt;/p&gt;
&lt;h1 id="par-ou-commencer"&gt;Par où&amp;nbsp;commencer?&lt;/h1&gt;
&lt;p&gt;Voici un extrait d&amp;#8217;une &lt;a href="http://www.reddit.com/goto?id=7qf6f"&gt;discussions sur reddit&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Conversation sur reddit - repère de Hackers" src="http://www.poxd.org/wp-content/uploads/2009/01/reddit_self_learning.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="caps"&gt;LE&lt;/span&gt; livre donc par lequel commencer: &lt;a href="http://mitpress.mit.edu/sicp/"&gt;&lt;span class="caps"&gt;SICP&lt;/span&gt;&lt;/a&gt;. Rendez-vous sur ce site,
récupérez le livre &amp;#8212; gratuitement &amp;#8212; et étudiez-en le contenu. Etudier,
c&amp;#8217;est-à-dire lire, visionner les &lt;a href="http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/"&gt;vidéos &lt;/a&gt;et &amp;#8212; surtout &amp;#8212; faire les
exercices, tout les exercices! On n&amp;#8217;est pas à l&amp;#8217;école mais justement raison de
plus! Il faut vraiment assimiler le contenu de ce bouquin. Un autre avantage
de se focaliser sur ce livre est qu&amp;#8217;il devrait susciter votre curiosité et
vous pousser à approfondir vos connaissances dans le développement en général.
Prenez note de chacun de ces domaines mais gardez-les pour plus tard! C&amp;#8217;est
aller (trop) loin que de dire qu&amp;#8217;après avoir lu ce livre, vous serez plus
avancé qu&amp;#8217;un informaticien sortant de l&amp;#8217;université. Par contre, ce sera
certainement une excellente base! C&amp;#8217;est un livre consistant mais gardez
courage et aller jusqu&amp;#8217;au bout&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt;! Parallèlement à cela, mettez la main à la pâte: &lt;span class="caps"&gt;CODER&lt;/span&gt;! C&amp;#8217;est en
forgeant qu&amp;#8217;on devient forgeron. Pour se faire trouvez un projet open-source
plutôt que de partir dans votre coin. Trouvez un projet, récupérez le code
source, modifiez, testez, jouez avec. Coder est peut-être la meilleure
formation imaginable mais le plus gros avantage à développer sur un projet
open-source est de &lt;em&gt;cotoyer&lt;/em&gt; des développeurs expérimentés et souvent (très)
talentueux &amp;#8212; des geeks passionés. Si vous êtes perdus et que vous ne savez pas
vers quel projet vous tourner, jetez peut-être un oeil à la demande sur le
marché de l&amp;#8217;emploi pour orienter votre choix en rapport à la technologie&amp;nbsp;utilisée.&lt;/p&gt;
&lt;p&gt;Troisième et dernier conseil, prenez régulièrement du temps pour parcourir les
blogs de développeurs que vous appréciez, voir au fil du temps que vous
admirez. Ajoutez encore à ces blogs, un ou deux sites communautaires tels que
reddit (section &lt;a href="http://www.reddit.com/r/programming/"&gt;programming&lt;/a&gt;) ou encore &lt;a href="http://dzone.com/"&gt;dzone &lt;/a&gt;et tenez-vous ainsi au
courant des tendances actuelles, des expériences d&amp;#8217;autres développeurs ou
encore de l&amp;#8217;état actuel des produits que vous aimez. Mais attention! Fixez-
vous une limite à ce temps pour qu&amp;#8217;il ne déborde pas sur les deux princiaples
activités précédemment&amp;nbsp;citées.&lt;/p&gt;
&lt;h3 id="quelques-articles-interessants-de-developpeurs"&gt;Quelques articles intéressants de&amp;nbsp;développeurs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.norvig.com/21-days.html"&gt;Teach Yourself Programming in Ten Years&lt;/a&gt; par Peter&amp;nbsp;Norvig&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://steve.yegge.googlepages.com/practicing-programming"&gt;Practicing Programming&lt;/a&gt; par Steve&amp;nbsp;Yegge&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.codinghorror.com/blog/archives/000552.html"&gt;How Not To Become a Rockstar Programmer&lt;/a&gt; Jeff&amp;nbsp;Atwood&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://savvyduck.blogspot.com/2009/01/do-i-need-cs-degree-to-be-software.html"&gt;Do I Need a &lt;span class="caps"&gt;CS&lt;/span&gt; Degree to be a Software&amp;nbsp;Developer?&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="avant-de-nous-quitter"&gt;Avant de nous&amp;nbsp;quitter&lt;/h1&gt;
&lt;p&gt;Le plus important: programmer doit vous faire plaisir! Si vous ne prenez pas
de plaisir arrêtez, pour être développeur il faut être passionné. Devenir
programmeur se résume donc à étudier, coder, et ce dans un cycle continu.
Suivez-le si la passion vous anime! Voilà pour une liste non exhaustive de
plusieurs choses à faire pour devenir &amp;#8212; à mon avis &amp;#8212; un bon&amp;nbsp;programmeur&amp;#8230;&lt;/p&gt;
&lt;p&gt;Qu&amp;#8217;en&amp;nbsp;pensez-vous?&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/ozLktwyKCds" height="1" width="1"/&gt;</description>
         <pubDate>22 Jan 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/que-conseilleriez-vous-a-quelquun-qui-voudrait-devenir-programmeur-mais-sans-aller-a-luni.html</feedburner:origLink></item>    
      <item>
         <title>Critique de livre: La Religieuse de Denis Diderot</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/uZj1fx-T6zM/critique-de-livre-la-religieuse-de-denis-diderot.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/critique-de-livre-la-religieuse-de-denis-diderot.html</guid>
         <description>&lt;p&gt;Diderot révèle au moyen de ce roman les affres du monde religieux de son
époque. Ce roman suit, semble-t&amp;#8217;il, une affaire révélée au grand public
mettant aux prises une religieuse ayant voulu faire annuler ses voeux. Celle-
ci en est allée jusqu&amp;#8217;au tribunal, mais malheureusement pour elle sans succès.
Le roman met en oeuvre une religieuse, du nom de Suzanne, qui est envoyée au
couvent sans avoir droit au chapitre. Principalement du fait que cette Suzanne
serait née d&amp;#8217;un autre père que ses deux soeurs ainées, histoire de famille
donc&amp;#8230; Il s&amp;#8217;ensuit que pour Suzanne c&amp;#8217;est loin d&amp;#8217;être la vie rêvée! Elle
finit par sortir du couvent une première fois pour rapidement se retrouver
dans un autre&amp;#8230; Eh oui Suzanne n&amp;#8217;a pas de chance dans la vie! Ce n&amp;#8217;est
qu&amp;#8217;après un dernier transfert qu&amp;#8217;elle se trouve dans un troisième couvent où
elle sera bien traitée. La vie semble - enfin - lui sourire. Au cours de ce
troisième séjour, Suzanne explique toutes ses mésaventures à la mère
religieuse. Cette mère-ci est d&amp;#8217;ores et déjà très attachée à Suzanne et prend
particulièrement à cœur les épreuves de Suzanne jusqu&amp;#8217;à&amp;nbsp;dire:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Il n&amp;#8217;y a que dans les couvents où l&amp;#8217;hummanité puisse s&amp;#8217;éteindre à ce point.
Lorsque la haine vient à s&amp;#8217;unir à la mauvaise humeur habituelle, on ne sait
plus où les choses seront&amp;nbsp;portées.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Pleine de compassion, il s&amp;#8217;ensuit une relation vraiment spéciale entre Suzanne
et cette mère religieuse&amp;#8230; Ca en devient érotique par moment et je dois dire
que ça m&amp;#8217;a pas trop conquis! Bref, je conseille cette lecture à qui veut lire
du Diderot mais qui n&amp;#8217;a pas peur d&amp;#8217;entrer dans l&amp;#8217;intimité de deux femmes ayant
plus qu&amp;#8217;une amitié platonique (bien que Suzanne soit toute naïve du début à la&amp;nbsp;fin).&lt;/p&gt;
&lt;h3 id="pour-aller-plus-loin"&gt;Pour aller plus&amp;nbsp;loin&lt;/h3&gt;
&lt;p&gt;Une analyse de l&amp;#8217;oeuvre:
&lt;a href="http://membres.lycos.fr/jccau/ressourc/romem/diderot.htm"&gt;http://membres.lycos.fr/jccau/ressourc/romem/diderot.htm&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/uZj1fx-T6zM" height="1" width="1"/&gt;</description>
         <pubDate>16 Jan 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/critique-de-livre-la-religieuse-de-denis-diderot.html</feedburner:origLink></item>    
      <item>
         <title>Résumé 2008</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/7KXCSjWgizc/resume-2008.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/resume-2008.html</guid>
         <description>&lt;p&gt;Avec un peu de retard, je voulais quand même faire un petit bilan de 2008 et
poser quelques objectifs sur l&amp;#8217;année&amp;nbsp;2009.&lt;/p&gt;
&lt;h1 id="le-boulot"&gt;Le&amp;nbsp;boulot&lt;/h1&gt;
&lt;p&gt;2008 a marqué mes réels débuts au sein de Logica. Après mon stage de 3 mois à
Lyon, j&amp;#8217;ai débuté ma première mission chez Merck Serono où je travaille encore
actuellement. Le métier de consultant est enrichissant et offre la possibilité
de progresser dans beaucoup de domaines. Très heureux de pouvoir profiter de
cette opportunité, je tiens encore une fois à remercier (si elle me lit)
Patricia. Merci de m&amp;#8217;avoir donné ma&amp;nbsp;chance!&lt;/p&gt;
&lt;h1 id="le-developpement"&gt;Le&amp;nbsp;développement&lt;/h1&gt;
&lt;p&gt;Côté technique, j&amp;#8217;ai passé la grande majorité de 2008 à coder en &lt;span class="caps"&gt;PHP&lt;/span&gt; -
&lt;span class="caps"&gt;PL&lt;/span&gt;/&lt;span class="caps"&gt;SQL&lt;/span&gt; (Oracle) - &lt;span class="caps"&gt;HTML&lt;/span&gt;/&lt;span class="caps"&gt;CSS&lt;/span&gt; - JavaScript (&lt;span class="caps"&gt;YUI&lt;/span&gt;). Sur la fin de l&amp;#8217;année j&amp;#8217;ai
également eu le plaisir de débuter un projet à temps partiel en Java (Spring,
Hibernate, Castor)&amp;#8230; A nouveau: très&amp;nbsp;satisfaisant!&lt;/p&gt;
&lt;h1 id="lectures"&gt;Lectures&lt;/h1&gt;
&lt;p&gt;Sur mes lectures de 2008, il m&amp;#8217;est tout bonnement impossible de ressortir
qu&amp;#8217;une oeuvre du lot. Voici un petit melting pot de mes lectures préférées sur&amp;nbsp;l&amp;#8217;année:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Pour se marer: Gros problème de Dave&amp;nbsp;Barry&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pour un beau français : Cyrano de Bergerac de&amp;nbsp;Rostand&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pour gérer ses activités: Getting Things Done de Dave&amp;nbsp;Allen&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pour une histoire touchante: For One More Day de Mitch&amp;nbsp;Albom&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pour un moment d&amp;#8217;Histoire: Le Maître de Garamond d&amp;#8217;Anne&amp;nbsp;Cunéo&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pour philosopher un peu mais pas trop: Hackers and Painters de Paul&amp;nbsp;Graham&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ces bouquins ne quitteront pas de sitôt ma&amp;nbsp;bibliothèque!&lt;/p&gt;
&lt;h1 id="poxd"&gt;PoXd&lt;/h1&gt;
&lt;p&gt;Au niveau de ce blog, il y a eu du changement en un an avec la phase relooking
dont je suis assez satisfait bien qu&amp;#8217;il me reste encore une ou deux choses à
régler. La fréquentation est également montée d&amp;#8217;un cran, mais ça flatte juste
mon égo à la limite&amp;#8230; Ce blog existe surtout à usage perso. Evidemment s&amp;#8217;il
devient utile à d&amp;#8217;autres, j&amp;#8217;en suis ravi! J&amp;#8217;ai également publié davantage de
billets sur la 2ème moitié de l&amp;#8217;année. En espérant pouvoir continuer sur ma
lancée en&amp;nbsp;2009&amp;#8230;&lt;/p&gt;
&lt;h1 id="2009"&gt;2009&lt;/h1&gt;
&lt;p&gt;Dans un an il y a 2 choses principales que j&amp;#8217;aimerais pouvoir&amp;nbsp;dire:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;span class="dquo"&gt;&amp;#8220;&lt;/span&gt;J&amp;#8217;ai terminé la lecture de &lt;span class="caps"&gt;SICP&lt;/span&gt; et - surtout - compris tout ce que j&amp;#8217;y
ai lu.&amp;#8221; C&amp;#8217;est un challenge, je l&amp;#8217;ai toujours en tête et je fais ce que je peux
pour le remporter mais c&amp;#8217;est loin d&amp;#8217;être&amp;nbsp;facile!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span class="dquo"&gt;&amp;#8220;&lt;/span&gt;Voici ma première contribution à un projet Open-Source (autre qu&amp;#8217;un
projet perso).&amp;#8221; J&amp;#8217;ai déjà quelques idées de ce côté-là. Celà demande un peu
d&amp;#8217;investissement mais je suis persuadé que celà en vaut largement la peine. En
plus le développement me passionne&amp;nbsp;alors&amp;#8230;. &lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Au-delà de ces objectifs, j&amp;#8217;aimerais beaucoup développer mes compétences
business et élargir toujours plus mes contacts. J&amp;#8217;ai beaucoup à apprendre de
ce côté-là mais je préfère mettre plus l&amp;#8217;accent pour le moment sur mes
compétences&amp;nbsp;techniques.&lt;/p&gt;
&lt;p&gt;C&amp;#8217;est reparti pour une année, rempli de volonté et de bons objectifs,
souhaitons-là autant&amp;nbsp;enrichissante!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/7KXCSjWgizc" height="1" width="1"/&gt;</description>
         <pubDate>08 Jan 09 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/resume-2008.html</feedburner:origLink></item>    
      <item>
         <title>Tests unitaires JavaScript avec YUI</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/pHwFf37k3jQ/tests-unitaires-javascript-avec-yui.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/tests-unitaires-javascript-avec-yui.html</guid>
         <description>&lt;p&gt;La méthodologie &lt;span class="caps"&gt;TDD&lt;/span&gt;, &lt;a href="http://www.poxd.org/blog/2008/12/03/test-driven-development-et-javascript/"&gt;on l&amp;#8217;a vu&lt;/a&gt;, propose d&amp;#8217;écrire les tests comme première
étape de code. Mais comment s&amp;#8217;y prendre en JavaScript? Jetons un oeil à la
solution proposée par les développeurs Yahoo! Ceux connaissant Java ont
l&amp;#8217;habitude des frameworks tel JUnit ou encore TestNG. Le principe est le même
avec &lt;span class="caps"&gt;YUI&lt;/span&gt; Test (développé donc par Yahoo!) qui va être utilisé lors de cet
article. Si maintenant nous entrons dans le coeur du sujet, imaginons que nous
ayons à programmer une fonction qui vérifie que l&amp;#8217;entrée d&amp;#8217;un formulaire est
bien un nombre. Si l&amp;#8217;on suit la méthodologie &lt;span class="caps"&gt;TDD&lt;/span&gt;, on écrit d&amp;#8217;abord le test de
cette fonction. Cela va donner quelque chose comme&amp;nbsp;ça:&lt;/p&gt;
&lt;div class="syntax"&gt;&lt;pre&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;oTestCase&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;&lt;span class="caps"&gt;YAHOO&lt;/span&gt;&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;tool&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;TestCase&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
    &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;Test Common Fonctions&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nx"&gt;setUp&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39; -1&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;+1&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;a234&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;034&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="nx"&gt;tearDown&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;delete&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="nx"&gt;testIsNumber&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;notN&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nx"&gt;n&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
        &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;isNumber&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="nx"&gt;&lt;span class="caps"&gt;YAHOO&lt;/span&gt;&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;util&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Assert&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;isTrue&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Quelques explications sont peut-être&amp;nbsp;nécessaires:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;On utilise ici l&amp;#8217;objet &lt;span class="caps"&gt;YAHOO&lt;/span&gt;.tool.TestCase qui permet de rassembler nos
tests. Dans l&amp;#8217;idéal il faudrait veiller à garder un objet &lt;em&gt;logique&lt;/em&gt;,
c&amp;#8217;est-à-dire ayant un ensemble de tests qui ont un rapport entre eux comme par
exemple le test d&amp;#8217;un fichier javascript&amp;nbsp;spécifique.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;La propriété _name _permet de savoir quel test a été lancé. On le verra
plus loin, une console nous permet de savoir rapidement si des tests ont
échoués ou&amp;nbsp;réussis.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Les fonctions setUp et tearDown permettent de définir et détruire des
objets nécessaires aux&amp;nbsp;tests.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Les tests en eux-mêmes commencent par &lt;em&gt;test&lt;/em&gt; (ici testIsNumber). Ces
contiennent ce qu&amp;#8217;on appelle des &lt;a href="http://developer.yahoo.com/yui/yuitest/#assertions"&gt;assertions&lt;/a&gt;, qui en l&amp;#8217;occurence dans le
cas présent va vérifier que la valeur retournée par isNumber vaut bien true.
Dans l&amp;#8217;exemple ci-dessus je ne teste que la première entrée du membre data,
mais c&amp;#8217;est un exemple, ce n&amp;#8217;est pas un test complet. Pour bien faire ses
tests, il faut essayer de tester tous les cas&amp;nbsp;possibles.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Passons maintenant à la deuxième étape: l&amp;#8217;implémentation de notre fonction&amp;nbsp;isNumber:&lt;/p&gt;
&lt;div class="syntax"&gt;&lt;pre&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;isNumber&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;chain&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;intval&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;chain&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Nous avons donc notre implémentation de prête. L&amp;#8217;exemple est ici très simple
et j&amp;#8217;espère qu&amp;#8217;il ne déssert par la méthodologie dans le sens que &lt;strong&gt;ce n&amp;#8217;est
pas une perte de temps que de commencer par les tests&lt;/strong&gt;. Un code dont on prend
la peine de bien tester devient vraiment robuste et &lt;em&gt;facilement&lt;/em&gt; maintenable.
Le développeur garde également confiance en son code et si un nouveau
développeur vient sur son code il peut rapidement se faire la main simplement
en parcourant les tests! Bref, de nombreux avantages&amp;#8230; Maintenant pour lancer
les tests, c&amp;#8217;est comme toujours très simple avec&amp;nbsp;&lt;span class="caps"&gt;YUI&lt;/span&gt;:&lt;/p&gt;
&lt;div class="syntax"&gt;&lt;pre&gt;&lt;span class="nx"&gt;&lt;span class="caps"&gt;YAHOO&lt;/span&gt;&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;tool&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;TestRunner&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;oTestCase&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;oLogger&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;&lt;span class="caps"&gt;YAHOO&lt;/span&gt;&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;tool&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;TestLogger&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nx"&gt;&lt;span class="caps"&gt;YAHOO&lt;/span&gt;&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;tool&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;TestRunner&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;run&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Et encore uniquement les deux dernières lignes sont nécessaires! En ajoutant
la première on a l&amp;#8217;avantage d&amp;#8217;avoir un affichage plus précis sur une console
comme&amp;nbsp;celle-là:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Console YUI " src="http://www.poxd.org/wp-content/uploads/2008/12/yui_console.png" /&gt;&lt;/p&gt;
&lt;p&gt;Simple non? La documentation fera découvrir encore d&amp;#8217;autres utilisations
possibles de &lt;span class="caps"&gt;YUI&lt;/span&gt; Test mais encore une fois, je ne peux qu&amp;#8217;encourager cette
méthode de développement qui facilitera la vie à bien plus&amp;nbsp;d&amp;#8217;un!&lt;/p&gt;
&lt;h2 id="pour-aller-plus-loin"&gt;Pour aller plus&amp;nbsp;loin&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://developer.yahoo.com/yui/yuitest/"&gt;La documentation de &lt;span class="caps"&gt;YUI&lt;/span&gt; Test&lt;/a&gt; pour découvrir toutes les possibilités
du&amp;nbsp;framework.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://fr.video.yahoo.com/watch/3737228/10267335"&gt;La vidéo&lt;/a&gt; (~50 minutes) qui m&amp;#8217;a fait découvrir &lt;span class="caps"&gt;YUI&lt;/span&gt;&amp;nbsp;Test.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.poxd.org/wp-content/uploads/2008/12/yuitestshow.txt"&gt;Code source&lt;/a&gt; de&amp;nbsp;l&amp;#8217;exemple&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://iridescence.no/post/JavaScript-is-Code-Too-Test-It!.aspx"&gt;Autre billet parlant de &lt;span class="caps"&gt;YUI&lt;/span&gt; Test&lt;/a&gt; en anglais qui va dans le même&amp;nbsp;sens&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://yuiblog.com/blog/2009/01/05/effective-tests/"&gt;Writing Effective JavaScript Unit Tests with &lt;span class="caps"&gt;YUI&lt;/span&gt;&amp;nbsp;Test&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/pHwFf37k3jQ" height="1" width="1"/&gt;</description>
         <pubDate>18 Dec 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/tests-unitaires-javascript-avec-yui.html</feedburner:origLink></item>    
      <item>
         <title>Critique de livre: Un risque calculé de Katherine Neville</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/gFX8g9xxz6c/critique-de-livre-un-risque-calcule-de-katherine-neville.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/critique-de-livre-un-risque-calcule-de-katherine-neville.html</guid>
         <description>&lt;p&gt;C&amp;#8217;est histoire est sympathique et agréable. A découvrir par un dimanche
pluvieux devant la cheminée&amp;#8230; L&amp;#8217;histoire tourne autour de Vérity Banks qui
voudrait faire payer les banquiers verreux et corrompus. Elle-même travaille
dans le mileu, à la sécurité plus particulièrement. Elle se lance alors dans
un défi de plus grande envergure que ce qu&amp;#8217;elle imaginait au départ et ce à
cause (ou grâce) de Zlotan Tor&amp;#8230; C&amp;#8217;est assez bien écrit bien que ce ne soit
pas l&amp;#8217;histoire la plus captivante que j&amp;#8217;ai lue. Si le milieu bancaire ou
informatique vous intéresse, je vous le conseille. Sinon je ne pense pas trop
qu&amp;#8217;il en vaille la&amp;nbsp;peine.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Les tekos sont plus proches des ordinateurs que de leurs congénères. Ils
travaillent mieux la nuit, quand tous les animaux, à l&amp;#8217;exception des rapaces,
sont allés se coucher. Ils mangent peu et n&amp;#8217;importe quoi, sans aucun souci de
gastronomie. Ils ne voient jamais le jour. Ne respirent jamais de l&amp;#8217;air frais.
Ils ne s&amp;#8217;épanouissent qu&amp;#8217;à la lumière artificielle, dans une atmosphère
climatisée. S&amp;#8217;ils se marient, s&amp;#8217;ils font des enfants, ils les répartissent en
analogiques et en numériques. Ils peuvent se montrer arrogants, désordonnées,
incontrôlables et antisociaux. Je sais tout sur les tekos, parce que je suis
de la même race.&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/gFX8g9xxz6c" height="1" width="1"/&gt;</description>
         <pubDate>16 Dec 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/critique-de-livre-un-risque-calcule-de-katherine-neville.html</feedburner:origLink></item>    
      <item>
         <title>DOM et ses bonnes pratiques</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/dDqTQAvfqbk/dom-et-ses-bonnes-pratiques.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/dom-et-ses-bonnes-pratiques.html</guid>
         <description>&lt;p&gt;J&amp;#8217;ai terminé le visionnage d&amp;#8217;une série &lt;a href="http://fr.video.yahoo.com/watch/111584/996008"&gt;de&lt;/a&gt; &lt;a href="http://fr.video.yahoo.com/watch/111583/996002"&gt;3&lt;/a&gt; &lt;a href="http://fr.video.yahoo.com/watch/111584/996008"&gt;vidéos&lt;/a&gt; concernant
les bonnes pratiques sur du traitement &lt;span class="caps"&gt;DOM&lt;/span&gt;. Je voulais en garder une trace
parce que ces vidéos contiennent vraiment des choses&amp;nbsp;intéressantes&amp;#8230;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Ceci n&amp;#8217;est pas une introduction à &lt;span class="caps"&gt;DOM&lt;/span&gt;. Si cet acronyme vous est inconnu vous
n&amp;#8217;êtes pas sur le bon article, un bon point de départ: &lt;a href="http://fr.wikipedia.org/wiki/Document_Object_Model"&gt;Wikipedia &lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Présentateur: &lt;a href="http://www.crockford.com/"&gt;Douglas&amp;nbsp;Crockford&lt;/a&gt;&lt;/p&gt;
&lt;h1 id="gestionnaires-devenements"&gt;Gestionnaires&amp;nbsp;d&amp;#8217;événements&lt;/h1&gt;
&lt;p&gt;Il existe pas moins de 3 méthodes pour affecter une fonction à un type
d&amp;#8217;événement sur un&amp;nbsp;noeud:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;node&lt;/em&gt;[&amp;#8220;on&amp;#8221; + type] = &lt;em&gt;fonction&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;node._attachEvent(&amp;#8220;on&amp;#8221; + type,  _fonction&lt;/em&gt;) - valide uniquement sur&amp;nbsp;&lt;span class="caps"&gt;IE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;node._addEventListener(type, _fonction&lt;/em&gt;, false) - Recommendation W3c mais
non supporté sur&amp;nbsp;&lt;span class="caps"&gt;IE&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour bien faire, il faut utiliser les 3! Vive le monde du web&amp;#8230; En plus &lt;span class="caps"&gt;IE&lt;/span&gt;
possède une variable globale event contenant les données de l&amp;#8217;événement
(source, target, etc.) alors que le &lt;span class="caps"&gt;W3C&lt;/span&gt; recommande le passage d&amp;#8217;un paramètre
au gestionnaire contenant ces&amp;nbsp;données&amp;#8230;&lt;/p&gt;
&lt;h2 id="fuites-memoire"&gt;Fuites&amp;nbsp;mémoire&lt;/h2&gt;
&lt;p&gt;Toujours prendre bien garde que &lt;span class="caps"&gt;IE&lt;/span&gt; 6 utilise une stratégie minimaliste
concernant la gestion de la mémoire. Cette stratégie se base sur un entier
incrémenté lorsqu&amp;#8217;une nouvelle référence à un objet se crée et décrémenté
lorsque cette référence est supprimée&amp;#8230; Le problème surgit lorsqu&amp;#8217;une
application met en oeuvre des références circulaire (explications et exemples
sur &lt;a href="http://www.crockford.com/javascript/memory/leak.html"&gt;cet article de Crockford&lt;/a&gt;). Cette gestion peut facilement occasionner
des fuites mémoires et ce particulièrement lorsque les gestionnaires
d&amp;#8217;événements interviennent. &lt;span class="caps"&gt;IE&lt;/span&gt; crée une référence cyclique entre le noeud &lt;span class="caps"&gt;DOM&lt;/span&gt;
sur lequel on attache un gestionnaire et le code de ce gestionnaire lui-même
(dans le cas où ce code utilise le noeud - donc très souvent), c&amp;#8217;est là qu&amp;#8217;est
le problème&amp;#8230; Ce qui fait qu&amp;#8217;il faudra explicitement mettre à null tous les
membres d&amp;#8217;un noeud étant une fonction avant de le retirer (ou de le remplacer,
attention aussi par l&amp;#8217;intermédiaire de innerHTML) du &lt;span class="caps"&gt;DOM&lt;/span&gt; sous peine de voir
proliférer des zones mémoires occupées et qui le resteront tant que &lt;span class="caps"&gt;IE&lt;/span&gt; reste&amp;nbsp;ouvert!&lt;/p&gt;
&lt;h1 id="tips"&gt;Tips&lt;/h1&gt;
&lt;p&gt;Pour simple rappel perso je publie ici encore quelques conseils à ne pas&amp;nbsp;oublier:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;placer les balises javascript le plus bas possible dans le document&amp;nbsp;&lt;span class="caps"&gt;HTML&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;placer les imports des fichiers &lt;span class="caps"&gt;CSS&lt;/span&gt; le plus haut&amp;nbsp;possible&lt;/li&gt;
&lt;li&gt;rassembler les fichiers externes autant que possible (une bonne piste:&lt;a href="http://developer.yahoo.com/yui/compressor/"&gt;
&lt;span class="caps"&gt;YUI&lt;/span&gt; Compressor&lt;/a&gt; pour les js et les&amp;nbsp;css)&lt;/li&gt;
&lt;li&gt;ne pas utiliser&amp;nbsp;document.write&lt;/li&gt;
&lt;li&gt;ne pas utiliser les collections de l&amp;#8217;objet document (anchors, forms,&amp;nbsp;etc.)&lt;/li&gt;
&lt;li&gt;ne pas utilier&amp;nbsp;document.all&lt;/li&gt;
&lt;li&gt;les éléments dans le &lt;span class="caps"&gt;DOM&lt;/span&gt; sont en &lt;span class="caps"&gt;MAJUSCULES&lt;/span&gt; (tendance à&amp;nbsp;l&amp;#8217;oublier)&lt;/li&gt;
&lt;li&gt;utiliser la méthode setAttribute des noeuds plutôt que d&amp;#8217;affecter la
valeur à la propriété&amp;nbsp;directement&lt;/li&gt;
&lt;li&gt;cloner un noeud retourne un noeud qui n&amp;#8217;est pas dans le&amp;nbsp;&lt;span class="caps"&gt;DOM&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Quelques indices bon à savoir pour créer une application web toujours plus
performante! &lt;strong&gt;Note:&lt;/strong&gt; utiliser un framework comme &lt;a href="http://developer.yahoo.com/yui/"&gt;&lt;span class="caps"&gt;YUI&lt;/span&gt;&lt;/a&gt; simplifiera
souvent &lt;strong&gt;beaucoup&lt;/strong&gt; les&amp;nbsp;choses.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/dDqTQAvfqbk" height="1" width="1"/&gt;</description>
         <pubDate>14 Dec 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/dom-et-ses-bonnes-pratiques.html</feedburner:origLink></item>    
      <item>
         <title>Conception et développement Spring - 3ème jour</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/1WOJ3x4L7m8/conception-et-developpement-spring-3eme-jour.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/conception-et-developpement-spring-3eme-jour.html</guid>
         <description>&lt;p&gt;Ces 3 jours de formation ont été vraiment sympa. Ils m&amp;#8217;ont permis de surtout
en apprendre au niveau conception par rapport à l&amp;#8217;intitulé du cours. Comme
j&amp;#8217;avais déjà parcouru le livre Spring In Action, les infos révélées en rapport
à Spring lui-même ne m&amp;#8217;ont pas été d&amp;#8217;un grand apport. Merci donc à Logica pour
cette sympathique opportunité! Le 3ème jour a été passé à implémenter la
solution finale du cas d&amp;#8217;authentification avec une intégration d&amp;#8217;Hibernate et
Struts. Je mets le &lt;a href="http://dl.getdropbox.com/u/132511/formation_spring.zip"&gt;code source à disposition&lt;/a&gt; comme simple référence. Le
zip contient un versioning de chaque étape que l&amp;#8217;on a suivi en cours. Si vous
avez des questions n&amp;#8217;hésitez pas à me&amp;nbsp;contacter!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/1WOJ3x4L7m8" height="1" width="1"/&gt;</description>
         <pubDate>12 Dec 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/conception-et-developpement-spring-3eme-jour.html</feedburner:origLink></item>    
      <item>
         <title>JavaFX 1.0 est sorti!</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/Pq-u-IZGj0M/javafx-10-est-sorti.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/javafx-10-est-sorti.html</guid>
         <description>&lt;p&gt;Le domaine des applications riches m&amp;#8217;intéresse toujours plus et j&amp;#8217;ai de la
chance parce qu&amp;#8217;en ce moment l&amp;#8217;activité dans le domaine est chargée! Adobe
prépare Flex 4 et Catalyst, Microsoft s&amp;#8217;ouvre aussi avec Silverlight&amp;#8230; Et
aujourd&amp;#8217;hui Sun s&amp;#8217;y met avec son nouveau-né: JavaFX. Ca m&amp;#8217;intéresse tellement
que j&amp;#8217;en avais&lt;a href="http://vjacquemin.blogspot.com/"&gt; ouvert un blog&lt;/a&gt; il y a 6 mois de cela (plus très actif pour
le moment mais j&amp;#8217;avais commencé un petit tuto sur&amp;nbsp;JavaFX). &lt;/p&gt;
&lt;p&gt;Donc aujourd&amp;#8217;hui c&amp;#8217;est JavaFX qui est au centre du sujet, que fait &lt;a href="http://javafx.com/about/"&gt;valoir Sun&lt;/a&gt;
pour ce nouveau venu? Alors en&amp;nbsp;bref:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;langage s&amp;#8217;exécutant au sein de la machine virtuelle, on parle donc
toujours de langage Java compilé au&amp;nbsp;final&lt;/li&gt;
&lt;li&gt;applications multi-supports: desktop, web, tv,&amp;nbsp;mobile&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;support&amp;nbsp;audio-vidéo&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;découpage entre développeurs et&amp;nbsp;designers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On se trouve donc à la version 1.0 de la plateforme, logique que l&amp;#8217;on se
trouve loin (très loin) de ce qu&amp;#8217;offre Flex par exemple en terme de
composants. Mais le fait que ce soit du java n&amp;#8217;est vraiment pas pour me
déplaire, ce langage m&amp;#8217;a toujours bien plu. Le problème c&amp;#8217;est que sans
composants à mettre en avant il va être difficile de mettre en place des
applications riches en entreprise&amp;#8230; Cependant l&amp;#8217;un des atouts majeurs de Java
est d&amp;#8217;avoir une communauté énorme de plus composée de grands talents. On peut
donc espérer voir arriver bientôt un nombre important de jolies démo. Un autre
point important à relever est la richesse de Java sur lequel se base JavaFX.
Le nombre de librairies venant par exemple d&amp;#8217;Apache est bien là pour démontrer
la richesse de la communauté. Toutes ces librairies sont toujours utilisables
depuis JavaFX, en ce sens Java a un bon coup à jouer. &lt;em&gt;Last but not least&lt;/em&gt;, un
nombre impressionnant d&amp;#8217;applications tournent en entreprise sur Java et ce que
ce soit desktop, web ou même mobile. Un point de plus donc qui fait penser que
l&amp;#8217;adoption de JavaFX peut se faire rapidement&amp;#8230; On&amp;nbsp;verra.&lt;/p&gt;
&lt;h3 id="pour-aller-plus-loin"&gt;Pour aller plus&amp;nbsp;loin:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.javafx.com/"&gt;JavaFX&lt;/a&gt; : le site officiel avec beaucoup d&amp;#8217;exemples, tutos,&amp;nbsp;etc.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.sun.com/chrisoliver/"&gt;Chris Oliver&amp;#8217;s Weblog&lt;/a&gt; : le tout premier développeur de F3 - ancien
nom de&amp;nbsp;JavaFX&lt;/li&gt;
&lt;li&gt;&lt;a href="http://learnjavafx.typepad.com/"&gt;James Weaver&amp;#8217;s JavaFX Blog&lt;/a&gt; : blog d&amp;#8217;un précurseur dans l&amp;#8217;utilisation
de&amp;nbsp;JavaFX&lt;/li&gt;
&lt;li&gt;&lt;a href="http://silveiraneto.net/"&gt;Silvera Neto&lt;/a&gt; blog : blog d&amp;#8217;un autre développeur&amp;nbsp;JavaFX&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/Pq-u-IZGj0M" height="1" width="1"/&gt;</description>
         <pubDate>08 Dec 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/javafx-10-est-sorti.html</feedburner:origLink></item>    
      <item>
         <title>Test Driven Development et JavaScript</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/YGbC5vM06Ds/test-driven-development-et-javascript.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/test-driven-development-et-javascript.html</guid>
         <description>&lt;p&gt;&lt;span class="caps"&gt;TDD&lt;/span&gt; est une méthodologie bien connue &amp;#8212; devrait en tout cas &amp;#8212; des développeurs,
mais l&amp;#8217;appliquez-vous à votre code JavaScript? Personnellement, moi non. En
tout cas pas jusqu&amp;#8217;à maintenant&amp;#8230; Je dois dire que je n&amp;#8217;y prêtais même pas
attention, je fonçais tête baissée dans le code et ensuite hop je lançais
firebug et essayais de voir ce qui n&amp;#8217;allait pas. Pour moi, le développement
JavaScript n&amp;#8217;était pas vraiment ma tasse de thé mais il est évident qu&amp;#8217;en
procédant de cette manière, il était difficile d&amp;#8217;espérer une autre issue
Voyons donc ce que la méthodologie &lt;span class="caps"&gt;TDD&lt;/span&gt; peut apporter en terme d&amp;#8217;&lt;strong&gt;efficacité&lt;/strong&gt;
et de &lt;strong&gt;professionalisme&lt;/strong&gt;. Mais qu&amp;#8217;est-ce que &lt;span class="caps"&gt;TDD&lt;/span&gt;, quels en sont les
avantages, et comment l&amp;#8217;appliquer au code JavaScript? Je vais essayer de
répondre à ces questions dans cet&amp;nbsp;article.&lt;/p&gt;
&lt;h1 id="quest-ce-donc-que-tdd"&gt;Qu&amp;#8217;est-ce donc que&amp;nbsp;&lt;span class="caps"&gt;TDD&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span class="caps"&gt;TDD&lt;/span&gt; est une méthodologie de développement faisant la part belle aux tests
unitaires. Dans la pratique cela voudra dire que les tests se feront avant le
code à proprement parler. Schématisons tout&amp;nbsp;ça:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Méthodologie TDD" src="http://www.poxd.org/wp-content/uploads/2008/12/tdd_js.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Le processus est très simple &amp;#8212; si l&amp;#8217;on prend une fonctionnalité précise à&amp;nbsp;implémenter:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Conception: étape où l&amp;#8217;on définit la fonctionnalité, où l&amp;#8217;on réfléchit à
l&amp;#8217;interface et aux paramètres d&amp;#8217;entrée et de sortie nécessaires à son&amp;nbsp;fonctionnement&lt;/li&gt;
&lt;li&gt;Écriture des tests: la réponse à &amp;#8220;&lt;strong&gt;comment mon code doit se comporter&lt;/strong&gt;&amp;#8221;
&amp;#8212; suivant ces données en entrée, je m&amp;#8217;attend à cet état en&amp;nbsp;sortie&lt;/li&gt;
&lt;li&gt;Code: implémentation de la&amp;nbsp;fonctionnalité&lt;/li&gt;
&lt;li&gt;Lancement des tests sur le code: si les tests révèlent une erreur, retour
à l&amp;#8217;étape 3 et ainsi de suite jusqu&amp;#8217;à ce que tous les tests soient&amp;nbsp;réussis&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Au premier abord, il peut paraître étrange d&amp;#8217;écrire des tests sur du code que
l&amp;#8217;on a même pas commencé à écrire. Mais comme on va le voir, plusieurs
avantages ressortent de cette manière de&amp;nbsp;faire.&lt;/p&gt;
&lt;h1 id="ses-avantages"&gt;Ses&amp;nbsp;avantages&lt;/h1&gt;
&lt;p&gt;Écrivez en premier lieu les tests unitaires de vos fonctionnalités et vous
verrez alors &amp;#8212; dans le désordre &amp;#8212;&amp;nbsp;que:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;vous aurez plus facilement identifié les tâches à effectuer pour
implémenter vos&amp;nbsp;fonctionnalités&lt;/li&gt;
&lt;li&gt;vous aurez une meilleure compréhension de votre&amp;nbsp;code&lt;/li&gt;
&lt;li&gt;vous gagnerez du temps au final lorsqu&amp;#8217;il faudra amener des évolutions à
votre&amp;nbsp;application&lt;/li&gt;
&lt;li&gt;vous aurez un excellent point de départ lorsqu&amp;#8217;un bug vous sera rapporté
(eh oui il y a toujours des bugs &amp;#8212; dans ce cas soit le test unitaire n&amp;#8217;a pas
couvert totalement le code, soit la conception n&amp;#8217;a pas prévu tous les cas
possibles ou encore une utilisation de la fonctionnalité n&amp;#8217;avait pas été&amp;nbsp;prévue)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sûrement que d&amp;#8217;autres bienfaits ne sont pas sortis de mon cerveau à temps pour
les lister ici mais c&amp;#8217;est déjà pas mal! Ces avantages en valent certainement
la peine encore faut-il essayer cette méthodologie! Dans le cas présent je
voulais l&amp;#8217;appliquer à du code JavaScript. Quelles sont les possibilités de ce&amp;nbsp;côté-là?&lt;/p&gt;
&lt;h1 id="yui-test"&gt;&lt;span class="caps"&gt;YUI&lt;/span&gt;&amp;nbsp;Test&lt;/h1&gt;
&lt;p&gt;&lt;a href="http://developer.yahoo.com/yui/"&gt;&lt;span class="caps"&gt;YUI&lt;/span&gt;&lt;/a&gt; est un framework javascript développé par &lt;span class="caps"&gt;YAHOO&lt;/span&gt;! qui fournit de
nombreux composants graphiques mais pas seulement. Bref, si vous ne connaissez
pas je vous encourage vivement à y jeter un oeil, il facilite beaucoup les
choses&amp;#8230; Au passage, lire les sources du framework peut être une très bonne
idée dans le but d&amp;#8217;améliorer ses compétences dans ce langage. Le framework
lui-même contient une batterie de tests complète pour chaque composant, rien
de tel pour se former! Ce framework fournit les bases nécessaires pour se
lancer de l&amp;#8217;écriture de tests unitaires javascript. Par l&amp;#8217;intermédiare des
classes &lt;span class="caps"&gt;YAHOO&lt;/span&gt;.tool.TestCase, &lt;span class="caps"&gt;YAHOO&lt;/span&gt;.tool.TestRunner et &lt;span class="caps"&gt;YAHOO&lt;/span&gt;.tool.TestLogger
tout est prêt pour se lancer! Il permet de plus de simuler des événement
utilisateurs comme un clic de la souris. Last but not least, ce framework est
compatible avec la majorité des browsers, donc plus (ou presque) de soucis à
se&amp;nbsp;faire!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/YGbC5vM06Ds" height="1" width="1"/&gt;</description>
         <pubDate>03 Dec 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/test-driven-development-et-javascript.html</feedburner:origLink></item>    
      <item>
         <title>Conception et développement Spring - 2ème jour</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/3L_72M8QaD4/conception-et-developpement-spring-2eme-jour.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/conception-et-developpement-spring-2eme-jour.html</guid>
         <description>&lt;p&gt;Après le 1er jour, nous avons pu voir comment séparer convenablement les
couches d&amp;#8217;une application et une première piste pour modulariser celle-ci.
Modularisation grace au modèle de conception Factory Method. Durant le
deuxième jour, nous avons vu comment aller plus loin avec l&amp;#8217;introduction de
l&amp;#8217;inversion de&amp;nbsp;contrôle.&lt;/p&gt;
&lt;h1 id="inversion-de-controle"&gt;Inversion de&amp;nbsp;contrôle&lt;/h1&gt;
&lt;p&gt;Ces trois lettres ont été longtemps à la mode sur la
toile: IoC ou &lt;a href="http://en.wikipedia.org/wiki/Inversion_of_control"&gt;Inversion of Control&lt;/a&gt;. Ce modèle est la base du container de
Spring et bien que je connaissais déjà Spring avant cette formation, j&amp;#8217;ai eu
un véritable plaisir à suivre la méthodologie adoptée, à savoir implémenter
les concepts de Spring nous-mêmes pour découvrir les avantages à l&amp;#8217;utiliser.
Lors du premier jour, l&amp;#8217;abstraction au moyen du modèle Factory Method a permis
de bien délimiter les différentes couches applicatives et de maintenir une
certaine indépendance entre&amp;nbsp;elles.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Avant d&amp;#8217;arriver concrètement à l&amp;#8217;inversion de contrôle il nous a fallu élever
à un niveau encore supérieur nos factories. Une Factory Application. Suite à
cette refactorisation, nous nous retrouvons avec plus qu&amp;#8217;une seule Factory
utilisée pour récupérer chaque couche applicative (cf.&amp;nbsp;schéma).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;L&amp;#8217;inversion de contrôle trouve tout son sens à partir de là. Puisqu&amp;#8217;il est
possible d&amp;#8217;avoir une seule Factory pour chaque module, pourquoi ne pas en
externaliser l&amp;#8217;implémentation et la gestion afin de développer nos
applications de manière modulaire? C&amp;#8217;est ce que Spring fait (entre&amp;nbsp;autre).&lt;/p&gt;
&lt;p&gt;Le reste de la journée a été passée à implémenter l&amp;#8217;étude de cas en utilisant
Spring et en intégrant une Datasource. L&amp;#8217;objectif de cette retrospective n&amp;#8217;est
pas de montrer du code mais plutôt d&amp;#8217;insister sur la conception. Je publierai
plus tard un billet conernant l&amp;#8217;utilisation de base de&amp;nbsp;Spring.&lt;/p&gt;
&lt;h1 id="osgi"&gt;&lt;span class="caps"&gt;OSGI&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;Notre prof n&amp;#8217;a fait qu&amp;#8217;une toute petite parenthèse sur &lt;span class="caps"&gt;OSGI&lt;/span&gt; mais c&amp;#8217;est un
élément qu&amp;#8217;il me faut aborder et creuser à l&amp;#8217;avenir. Encore un acronyme très à
la mode actuellement. Voici un extrait de ce que nous dit &lt;a href="http://fr.wikipedia.org/wiki/OSGi"&gt;Wikipedia&lt;/a&gt; sur
le&amp;nbsp;sujet:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;une plate-forme de services basée sur le langage &lt;a href="http://fr.wikipedia.org/wiki/Java_%28langage%29" title="Java (langage)"&gt;Java&lt;/a&gt; qui peut être
gérée de manière distante. Le cœur de cette spécification est un framework
(cadriciel) qui définit un modèle de gestion de cycle de vie d’une
application, un référentiel (registry) de services, un environnement
d&amp;#8217;exécution et des modules. Basés sur ce framework, un grand nombre de couches
(Layers) &lt;span class="caps"&gt;OSGI&lt;/span&gt;, d’&lt;span class="caps"&gt;API&lt;/span&gt; et de services ont été&amp;nbsp;définis&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Plutôt pas mal dans l&amp;#8217;objectif de modularisation d&amp;#8217;applications&amp;#8230; A&amp;nbsp;investiguer&amp;#8230;&lt;/p&gt;
&lt;p&gt;Ce deuxième jour nous a donc appris ce que faisait Spring en le mettant en
oeuvre par nous-même pour ensuite commencer à réellement l&amp;#8217;utiliser. L&amp;#8217;étude
de cas est utilisable en fin de journée mais uniquement en interrogeant une
base de données au travers de &lt;span class="caps"&gt;JDBC&lt;/span&gt;. Le dernier jour, nous avons appris à
intégrer deux frameworks ultra-connus: Hibernate et&amp;nbsp;Struts.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/3L_72M8QaD4" height="1" width="1"/&gt;</description>
         <pubDate>30 Nov 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/conception-et-developpement-spring-2eme-jour.html</feedburner:origLink></item>    
      <item>
         <title>Conception et développement Spring - 1er jour</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/YxpyaWUI0U4/conception-et-dveloppement-spring-1er-jour.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/conception-et-dveloppement-spring-1er-jour.html</guid>
         <description>&lt;p&gt;Paris m&amp;#8217;accueille parée de bleu pour cette formation Spring que j&amp;#8217;espérais
enrichissante. Le 1er jour ne m&amp;#8217;aura pas déçu! Le formateur nous a donné pour
commencer les différents points développés durant cette&amp;nbsp;formation:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Paysage web&amp;nbsp;actuel&lt;/li&gt;
&lt;li&gt;Fondamentaux Spring (2ème&amp;nbsp;jour)&lt;/li&gt;
&lt;li&gt;Intégration de différents frameworks au moyen de Spring (2ème et 3ème&amp;nbsp;jour)&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id="paysage-actuel"&gt;Paysage&amp;nbsp;actuel&lt;/h1&gt;
&lt;p&gt;Autrement dit quels frameworks sont à notre diposition actuellement pour
réaliser nos applications web ((Je focalise bien sûr ici sur les solutions
Java &lt;span class="caps"&gt;JEE&lt;/span&gt;))? Le bilan est une longue liste partageable en 3&amp;nbsp;couches:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Présentation: Struts 1.x/ Struts 2.x - Jsf - Gwt -&amp;nbsp;Cocoon&lt;/li&gt;
&lt;li&gt;Persistance: Hibernate - iBatis - &lt;span class="caps"&gt;EJB&lt;/span&gt; -&amp;nbsp;&lt;span class="caps"&gt;JDBC&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="caps"&gt;EAI&lt;/span&gt;: &lt;span class="caps"&gt;JMS&lt;/span&gt; -&amp;nbsp;&lt;span class="caps"&gt;WS&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;L&amp;#8217;idée ici est de montrer que le paysage est plutôt chargé et que si nous
désirons utiliser plusieurs de ces frameworks (ou d&amp;#8217;autres) il serait pratique
de pouvoir facilement les emboîter. Bon c&amp;#8217;est pas trop difficile à deviner,
dans notre cas Spring sera la solution dédiée. Solution qui s&amp;#8217;affirme plus
clairement de jour en jour à (pratiquement) toute solution &lt;span class="caps"&gt;JEE&lt;/span&gt;. Voici donc la
première chose à retenir: Spring est (quasi de-facto) le socle de base d&amp;#8217;une
solution &lt;span class="caps"&gt;JEE&lt;/span&gt; utilisant plusieurs frameworks de différentes&amp;nbsp;couches.&lt;/p&gt;
&lt;h1 id="objectif-modulaire"&gt;Objectif:&amp;nbsp;modulaire&lt;/h1&gt;
&lt;p&gt;Le formateur nous le fait comprendre rapidement: &lt;strong&gt;une solution non modulaire
est une solution destinée à l&amp;#8217;échec&lt;/strong&gt;. Et attention, la modularité technique
(apportée grâce au modèle &lt;span class="caps"&gt;MVC&lt;/span&gt;) n&amp;#8217;est pas une finalité! Ce que nous désirons
ici en tant que concepteur d&amp;#8217;applications c&amp;#8217;est d&amp;#8217;avoir également une
modularité fonctionnelle. Autrement dit la possibilité de réutiliser certains
services sur plusieurs applications avec le moins de codage possible (Plug and
Play). Le bienfait de raisonner de cette manière? Le code produit devient
facilement réutilisable et la maintenance sera un régal comparé à ce que l&amp;#8217;on
peut trouver sur certains projets&amp;#8230; En effet passer par exemple de Hibernate
v2 à v3 nous demandera de modifier uniquement le module persistance de notre
application sans impacter le restant du code. De plus, d&amp;#8217;un côté fonctionnel,
nous pourrons par exemple réutiliser un service d&amp;#8217;authentification de manière
transparente sur une autre application&amp;#8230; Et donc de ce fait, une meilleure
visibilité, une meilleure productivité et une réelle valeur ajoutée grâce aux
différents services&amp;nbsp;réutilisables.&lt;/p&gt;
&lt;h1 id="etude-de-cas"&gt;Etude de&amp;nbsp;cas&lt;/h1&gt;
&lt;p&gt;Durant cette formation, nous mettons en oeuvre une étude de cas chère aux
français: la gestion des congés (bon au final on s&amp;#8217;est penché uniquement sur
le module d&amp;#8217;authentification). Nous avons ainsi débuté la conception de cette
étude de cas en utilisant une distribution d&amp;#8217;Eclipse que je ne connaissais pas
personnellement, &lt;a href="http://topcased-mm.gforge.enseeiht.fr/website/index.html"&gt;topcased&lt;/a&gt;. Cette distribution est fourni avec une
perspective &lt;span class="caps"&gt;UML&lt;/span&gt; gratuite et open-source permettant de créer tous les
diagrammes &lt;span class="caps"&gt;UML&lt;/span&gt; utiles à la conception d&amp;#8217;applications. Pour cette phase de
conception je découvre encore un nouvel élément: Le &lt;a href="http://jargonf.org/wiki/2TUP"&gt;cycle en Y&lt;/a&gt;. J&amp;#8217;y
reviendrai plus tard&amp;#8230; Comme décrit dans ce cycle, les livrables peuvent être
dispatchés sur une architecture distribuée. Sur ce point, le formateur nous a
précisé quelque chose d&amp;#8217;intéressant concernant les machines virtuelles Java et
leur capacité à monter en charge. En effet, un réflex lorsqu&amp;#8217;une application à
de la peine à tourner pourrait être de rajouter des ressources physiques (&lt;span class="caps"&gt;RAM&lt;/span&gt;
et/ou processeur). Il faut cependant garder à l&amp;#8217;esprit qu&amp;#8217;une &lt;span class="caps"&gt;JVM&lt;/span&gt; ne pourra
pas dépasser un certain plafond puisque le Garbage Collector effectuera son
boulot sur une quantité de mémoire toujours plus grande et prendra ainsi
toujours plus de temps à le faire. Ce plafond atteint, il ne servira à rien de
lui donner plus de mémoire, la seule solution alors est d&amp;#8217;ajouter un (ou
plusieurs) nouveaux serveurs. A tenir en compte lorsqu&amp;#8217;un serveur vendu avec
une licence de plusieurs milliers de francs est&amp;nbsp;choisi&amp;#8230;&lt;/p&gt;
&lt;h2 id="conception"&gt;Conception&lt;/h2&gt;
&lt;p&gt;L&amp;#8217;approche lors de cette formation a été à mon avis optimale. L&amp;#8217;idée était de
découvrir Spring en débutant par mettre en place son fonctionnement de base
nous-même afin d&amp;#8217;en discerner le comportement et par la même occassion les
bénéfices d&amp;#8217;une telle architecture. Après un
bref résumé du modèle &lt;span class="caps"&gt;MVC&lt;/span&gt; et de son utilité dans la conception d&amp;#8217;applications,
la première étape dans cette découverte a été de mettre en place le modèle de
conception &lt;a href="http://fr.wikipedia.org/wiki/Fabrique_(patron_de_conception)"&gt;Factory Method&lt;/a&gt;. Nous nous sommes ainsi retrouvés avec une
factory sur les couches persistance et service comme le montre le schéma ci-
contre. En mettant en place ce modèle nous garantissons la possibilité de
changer d&amp;#8217;implémentation de façon centralisée. De plus, il devient possible en
suivant cette architecture de reprendre la couche service, persistance et
entité et de réutiliser ce &lt;strong&gt;module&lt;/strong&gt; dans une autre application. Nous avons
donc là une &lt;strong&gt;modularité fonctionnelle&lt;/strong&gt;! On approche une solution modulaire
mais comme nous le verrons prochainement on peut encore faire mieux et c&amp;#8217;est
lors du 2ème jour de cette formation qu&amp;#8217;on l&amp;#8217;a&amp;nbsp;vu.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/YxpyaWUI0U4" height="1" width="1"/&gt;</description>
         <pubDate>17 Nov 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/conception-et-dveloppement-spring-1er-jour.html</feedburner:origLink></item>    
      <item>
         <title>World Usability Day</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/jGQKchmQ0mE/world-usability-day.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/world-usability-day.html</guid>
         <description>&lt;p&gt;&lt;strong&gt;Présentations (slides + vidéos) sont dispo &lt;a href="http://simpleweb.fredcavazza.net/journee-mondiale-de-lutilisabilite/edition-2008/"&gt;ici&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;J&amp;#8217;ai eu la chance d&amp;#8217;être à Paris au bon moment pour assister à une série de
conférences sous le thème de l&amp;#8217;utilisabilité appliquée aux applications &lt;span class="caps"&gt;RIA&lt;/span&gt;.
Sujet qui je dois le dire me passionne de plus en plus. Exceptionnellement,
ces conférences ce sont tenues hier soir au sein des beaux locaux de Microsoft
Paris mais la journée mondiale de l&amp;#8217;utilisabilité c&amp;#8217;est bien aujourd&amp;#8217;hui jeudi
13 novembre. D&amp;#8217;ailleurs si vous êtes sur Genève et qu&amp;#8217;à 17h vous êtes dispo,
ne loupez pas cet événement (&lt;a href="http://www.worldusabilityday.org/world-usability-day-geneva"&gt;En savoir plus&lt;/a&gt;)! Pour en revenir aux
conférences, c&amp;#8217;est du condensé mais au combien instructif et varié. Avec pas
moins de 6 présentations d&amp;#8217;agences (&lt;a href="http://www.piaction.com/"&gt;&lt;span class="caps"&gt;PIA&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://www.tequilarapido.com/"&gt;Tequilarapido&lt;/a&gt;), d&amp;#8217;éditeurs
(&lt;a href="http://www.adobe.com/"&gt;Adobe&lt;/a&gt;, &lt;a href="http://www.microsoft.com/en/us/default.aspx"&gt;Microsoft&lt;/a&gt;) et d&amp;#8217;indépendants (&lt;a href="http://www.fredcavazza.net/"&gt;Fred Cavazza&lt;/a&gt;, &lt;a href="http://www.strategy-interactive.com/blog/index.php/"&gt;Patricia
Gallot-Lavallée&lt;/a&gt;) on est passé par la définition des &lt;span class="caps"&gt;RIA&lt;/span&gt; et de ses nouveaux
défis au solutions proposées aux entreprises utilisant cette technologie en
passant par les concepts de jeux vidéo qui pourraient être applicables au
interfaces applicatives. Personnellement les présentations des éditeurs ainsi
que celle de Patricia m&amp;#8217;ont particulièrement captivé. Celle de Patricia pour
son dynamisme et &lt;a href="http://www.strategy-interactive.com/blog/index.php/2007/03/25/23-le-flow"&gt;la description&lt;/a&gt; du &lt;a href="http://www.google.fr/search?q=flow+%2B+Mihaly+Csikszentmihalyi&amp;amp;ie=utf-8&amp;amp;oe=utf-8&amp;amp;aq=t&amp;amp;rls=org.mozilla:fr:official&amp;amp;client=firefox-a"&gt;Flow &lt;/a&gt;(équilibre entre challenge
et maîtrise). Les Adobe guys quant à eux m&amp;#8217;ont scotché avec leur différentes
démos. Finalement l&amp;#8217;introduction aux interfaces holistiques par Microsoft
n&amp;#8217;était de loin pas en reste. Si ça ne vous dit rien c&amp;#8217;est pas grave jetez un
oeil sur les &lt;a href="http://research.microsoft.com/vibe/"&gt;travaux de recherches menés par Microsoft&lt;/a&gt; pour vous rendre
compte de ce que ça peut donner. J&amp;#8217;ai pris quelques notes de toutes ces
conférences, mais vous pouvez trouver toutes les présentations en ligne donc
plutôt que d&amp;#8217;en faire un résumé je vous invite à consulter directement le
contenu à la&amp;nbsp;source.&lt;/p&gt;
&lt;h2 id="en-savoir-plus"&gt;En savoir&amp;nbsp;plus&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Toutes les présentations sont disponibles sur &lt;a href="http://simpleweb.fredcavazza.net/journee-mondiale-de-lutilisabilite/edition-2008/"&gt;SimpleWeb&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.navigation-web.com/"&gt;Donne-moi ce que je veux!&lt;/a&gt; livre écrit par&amp;nbsp;Patricia&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.welie.com/patterns/"&gt;Patterns in interaction&amp;nbsp;design&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bytearray.org/"&gt;Thibault Imbert&lt;/a&gt;, &lt;a href="http://codemoiunmouton.wordpress.com/"&gt;Michael Chaize&lt;/a&gt;, &lt;a href="http://www.viadeo.com/fr/profile/woodman.sam"&gt;Sam Woodman&lt;/a&gt; (pas de
blog/portfolio/site ?), les Adobe&amp;nbsp;guys.&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/jGQKchmQ0mE" height="1" width="1"/&gt;</description>
         <pubDate>13 Nov 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/world-usability-day.html</feedburner:origLink></item>    
      <item>
         <title>Paris me voilà!</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/tULl8uFq-kA/paris-me-voila.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/paris-me-voila.html</guid>
         <description>&lt;p&gt;C&amp;#8217;est demain que débute ma formation Spring dont l&amp;#8217;objectif est le&amp;nbsp;suivant:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Maîtriser le framework Spring pour le développement d&amp;#8217;applications Java&amp;nbsp;&lt;span class="caps"&gt;EE&lt;/span&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Pour l&amp;#8217;atteindre cette formation de 3 jours offerte par Logica va aborder les
principes de base le 1er jour, les transactions le 2ème et enfin les
applications &lt;span class="caps"&gt;MVC&lt;/span&gt; et les web services vendredi&amp;#8230; Beau&amp;nbsp;programme. &lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://farm2.static.flickr.com/1159/869942883_eb7264baae.jpg?v=0" /&gt; &lt;/p&gt;
&lt;p&gt;J&amp;#8217;ai déjà pu aborder un peu Spring grâce au livre Spring in Action mais je me
réjouis de pouvoir acquérir de nouvelles compétences sur ce framework. En plus
coup de bol pile durant cette semaine s&amp;#8217;organise une conférence gratuite
autour de l&amp;#8217;&lt;a href="http://simpleweb.fredcavazza.net/journee-mondiale-de-lutilisabilite/edition-2008/"&gt;utilisabilité&lt;/a&gt;. Je ne vais pas manquer d&amp;#8217;y aller, si vous y
êtes faites-moi signe! A côté de tout ça je suis en train de faire un nouveau
design de ce site&amp;#8230; Plus de nouvelles&amp;nbsp;bientôt!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/tULl8uFq-kA" height="1" width="1"/&gt;</description>
         <pubDate>11 Nov 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/paris-me-voila.html</feedburner:origLink></item>    
      <item>
         <title>Michael Crichton s'en est allé</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/dOig--DgAkE/michael-crichton-sen-est-alle.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/michael-crichton-sen-est-alle.html</guid>
         <description>&lt;p&gt;Un grand nom de la science-fiction s&amp;#8217;en est allé en la personne de &lt;a href="http://www.crichton-official.com/"&gt;Michael
Crichton&lt;/a&gt;. Brutalement décédé le 4 novembre des suites d&amp;#8217;un cancer, il
laisse derrière lui pas moins de &lt;a href="http://worldcat.org/identities/lccn-n50-18616"&gt;429 travaux&lt;/a&gt; dont certaines pointures
comme la série Urgences, les Jurassic Park ou encore Sphère et Prisonnier du
temps&amp;#8230; N&amp;#8217;hésitez pas à parcourir ses oeuvres littéraires, ses recherches
dans les domaines technologiques en font des oeuvres&amp;nbsp;fameuses!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/dOig--DgAkE" height="1" width="1"/&gt;</description>
         <pubDate>06 Nov 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/michael-crichton-sen-est-alle.html</feedburner:origLink></item>    
      <item>
         <title>Critique de livre: Les cerfs-volants de Kaboul par Khaled Hosseini</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/re5Rj_MiU3w/critique-de-livre-les-cerfs-volants-de-kaboul-par-khaled-hosseini.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/critique-de-livre-les-cerfs-volants-de-kaboul-par-khaled-hosseini.html</guid>
         <description>&lt;p&gt;Voilà une œuvre passionnante racontant l&amp;#8217;histoire d&amp;#8217;un américain immigré à mi
chemin entre culpabilité et rédemption face à son passé douloureux en
Afghanistan. On y découvre tout d&amp;#8217;abord un beau pays , chaleureux et
hospitalier mais qui malheureusement sous le feu du fanatisme ou d&amp;#8217;une
dévotion quelque peu &amp;#8220;spéciale&amp;#8221; s&amp;#8217;est retrouvé subitement face aux explosions
et autres exécutions en&amp;nbsp;public.&lt;/p&gt;
&lt;p&gt;Une amitié liant Amir, un afghan chiite et Hassan son serviteur sunnite, voilà
la trame de fond de ce livre. Autour de cela, à l&amp;#8217;instar des mouvements
extrémistes, on découvre la haine et l&amp;#8217;intolérance face aux différences&amp;nbsp;idéologiques.&lt;/p&gt;
&lt;p&gt;Véritable tragédie, l&amp;#8217;auteur m&amp;#8217;a personnellement captivé de part son ton et
les sentiments qu&amp;#8217;il fait passer entre Baba et son fils, entre ce fils et son
serviteur, etc. Ce livre en apprend également beaucoup sur l&amp;#8217;histoire afghane
et c&amp;#8217;est pas pour me&amp;nbsp;déplaire&amp;#8230;&lt;/p&gt;
&lt;p&gt;Finissons avec une citation du livre résumant bien la&amp;nbsp;situation:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Si les enfants sont nombreux en Afghanistan, l&amp;#8217;enfance, elle, y est quasi&amp;nbsp;inexistante.&lt;/p&gt;
&lt;/blockquote&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/re5Rj_MiU3w" height="1" width="1"/&gt;</description>
         <pubDate>30 Oct 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/critique-de-livre-les-cerfs-volants-de-kaboul-par-khaled-hosseini.html</feedburner:origLink></item>    
      <item>
         <title>Exercice SICP 1.10</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/Qq_mGCo9b-s/exercice-sicp-110.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/exercice-sicp-110.html</guid>
         <description>&lt;p&gt;J&amp;#8217;ai terminé la lecture du premier chapitre de &lt;span class="caps"&gt;SICP&lt;/span&gt; et j&amp;#8217;ai commencé à
m&amp;#8217;attaquer aux exercices qui se sont entassés au fur et à mesure de ma
progression. Initialement, je pensais les faire directement durant ma lecture
mais ma flemme ajoutée à mon envie d&amp;#8217;avancer dans la lecture du bouquin m&amp;#8217;y
ont découragé. L&amp;#8217;avantage de devoir revenir maintenant sur les exercices c&amp;#8217;est
que j&amp;#8217;ai la possibilité de revoir - par la pratique cette fois-ci - les
concepts que j&amp;#8217;ai passivement lu dans le livre. A mon avis celà devrait graver
d&amp;#8217;autant mieux la matière dans mon esprit&amp;#8230;. Soit mais bon maintenant le
titre de ce billet n&amp;#8217;attendait ni plus ni moins la solution de l&amp;#8217;exercice
1.10! Donc nous y voilà, je mets ici ma solution parce qu&amp;#8217;elle m&amp;#8217;a pris pas
mal de ligne à l&amp;#8217;expliquer et je ne veux pas trop poluer ma page dédiée aux
exercices de &lt;span class="caps"&gt;SICP&lt;/span&gt;&amp;#8230; Cet exercice propose de prédire le résultat de la
&lt;a href="http://fr.wikipedia.org/wiki/Fonction_d%27Ackermann"&gt;fonction d&amp;#8217;Ackerman&lt;/a&gt;&lt;a href="http://"&gt;n&lt;/a&gt; (générateur de grands nombres très rapide grâce
à la récursivité) au vu de certains paramètres donnés. La fonction d&amp;#8217;Ackermann
est fournie par le&amp;nbsp;livre:&lt;/p&gt;
&lt;div class="syntax"&gt;&lt;pre&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;define &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="nv"&gt;x&lt;/span&gt; &lt;span class="nv"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;cond &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;= &lt;/span&gt;&lt;span class="nv"&gt;y&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;= &lt;/span&gt;&lt;span class="nv"&gt;x&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;* &lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="nv"&gt;y&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
            &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;= &lt;/span&gt;&lt;span class="nv"&gt;y&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;else &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;- &lt;/span&gt;&lt;span class="nv"&gt;x&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="nv"&gt;x&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;- &lt;/span&gt;&lt;span class="nv"&gt;y&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;))))))&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Mon objectif a été de résoudre qu&amp;#8217;un seul des trois exercices&amp;nbsp;proposés:&lt;/p&gt;
&lt;div class="syntax"&gt;&lt;pre&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;p&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;16&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;16&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;A&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="nv"&gt;^16&lt;/span&gt; &lt;span class="nv"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;65536&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;En espérant être assez clair, j&amp;#8217;ai procédé la fonction en suivant l
&amp;#8216;&lt;a href="http://en.wikipedia.org/wiki/Applicative-"&gt;&lt;em&gt;applicative-order&lt;/em&gt;&lt;/a&gt; pour ne pas finir avec une ligne immense mais plutôt
remplacer chaque appel de fonction avec la valeur calculée. Ce qui finalement
nous amène à (A 1 16). A ce moment-là, j&amp;#8217;aurais pu continuer le processing
jusque trouver la solution mais on peut constater une abstraction lorsque la
fonction d&amp;#8217;Ackerman est appelée suivant le motif &lt;em&gt;(A 1 n)&lt;/em&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;(A 1 2) =&amp;nbsp;4&lt;/li&gt;
&lt;li&gt;(A 1 3) =&amp;nbsp;8&lt;/li&gt;
&lt;li&gt;(A 1 4) =&amp;nbsp;16&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Autrement dit, (A 1 n) = 2 ^ n et donc (A 1 16) = 2 ^ 16 = 65536. Trouver ce
motif permet en plus de répondre à la 2ème partie de la&amp;nbsp;question:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;(define (f n) (A 0 n)) = 2*n

(define (g n) (A 1 n)) = 2^n

(define (h n) (A 2 n)) = 2 ^ 2 ^ 2 ... n fois
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;La dernière se retrouve également dans la preuve de (A 2&amp;nbsp;4):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;(A 2 3) = 16 = 2 ^ 2 ^&amp;nbsp;2&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(A 2 2) = 4 = 2 ^&amp;nbsp;2&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(A 2 1) = 2 = 2 ^ 1 (cas spécial dans la&amp;nbsp;fonction)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si ce genre d&amp;#8217;exercices vous intéressent, je ne peux que vous conseiller la
lecture de&amp;nbsp;&lt;span class="caps"&gt;SICP&lt;/span&gt;!&lt;/p&gt;
&lt;p&gt;order_evaluation#Applicative_order&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/Qq_mGCo9b-s" height="1" width="1"/&gt;</description>
         <pubDate>27 Oct 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/exercice-sicp-110.html</feedburner:origLink></item>    
      <item>
         <title>Critique de livre: Getting Things Done de David Allen</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/j5bGwhKOJXU/critique-de-livre-getting-things-done-de-david-allen.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/critique-de-livre-getting-things-done-de-david-allen.html</guid>
         <description>&lt;p&gt;Waow ça claque! Ce livre, c&amp;#8217;est juste une merveille! A lire absolument, qui
que vous soyez! Au premier coup d&amp;#8217;œil on pourrait penser qu&amp;#8217;il est plutôt
destiné à une audience de managers et autres cadres mais croyez-moi, loin s&amp;#8217;en
faut! Il est destiné à toutes personnes qui a des projets. Et un projet c&amp;#8217;est
quoi? Simplement un ensemble d&amp;#8217;actions destiné à atteindre un objectif
prédéfini&amp;#8230;. Or qui n&amp;#8217;a pas d&amp;#8217;objectif même tout petit petit?&amp;nbsp;&lt;span class="caps"&gt;PERSONNE&lt;/span&gt;!&lt;/p&gt;
&lt;p&gt;Nous abordons tous différemment la gestion de nos petits projets mais si vous
avez déjà eu des réflexions du genre &amp;#8220;ce serait tellement bien que j&amp;#8217;arrive
à&amp;#8230;&amp;#8221; ou encore &amp;#8220;je devrais faire ça&amp;#8230;. ah quand j&amp;#8217;aurai le temps&amp;#8221; la suite
peut vous&amp;nbsp;intéresser&amp;#8230;.&lt;/p&gt;
&lt;h2 id="vider-sa-tete"&gt;Vider sa&amp;nbsp;tête&lt;/h2&gt;
&lt;p&gt;L&amp;#8217;une des premières étapes qui ressort du livre et sur laquelle David Allen
insiste beaucoup c&amp;#8217;est de faire une liste exhaustive de &lt;span class="caps"&gt;TOUS&lt;/span&gt; les projets
actuels. Cela va des courses pour la semaine à l&amp;#8217;achat d&amp;#8217;une maison en passant
par les projets professionnels actuels. Passer par cette étape et la faire
jusqu&amp;#8217;au bout permettra de se vider la tête et de pouvoir se focaliser
entièrement sur les tâches à faire. Mais comment être sûr d&amp;#8217;avoir tous listé?
&lt;span class="caps"&gt;GTD&lt;/span&gt;&amp;nbsp;répond:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When nothing else shows up as a reminder in your&amp;nbsp;mind.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Il est donc bien de s&amp;#8217;arrêter et de prendre le temps de faire cette liste le
plus consciencieusement possible. Le problème c&amp;#8217;est que souvent quand on a une
idée ou un rappel en tête, on a rien pour notifier ce rappel. D&amp;#8217;où ce&amp;nbsp;conseil:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Keep good writing tools around all the time so you never have any
unconscious resistance to thinking due to not having anything to capture it&amp;nbsp;with.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;L&amp;#8217;idée est là: ne plus avoir une seule trace de résistance inconsciente dans
la tête. Lister tous ses projets et définir la prochaine action concrète à
faire sur chacun d&amp;#8217;eux. Voilà peut-être la meilleure façon d&amp;#8217;améliorer
significativement sa&amp;nbsp;productivité.&lt;/p&gt;
&lt;h2 id="avoir-un-objectif-clair"&gt;Avoir un objectif&amp;nbsp;clair&lt;/h2&gt;
&lt;p&gt;Ça parait évident mais l&amp;#8217;auteur va très loin en conseillant de le faire de
manière très concrète. Je m&amp;#8217;explique en deux points. Premièrement, il faut
vraiment &lt;strong&gt;définir ce qu&amp;#8217;il faut produire&lt;/strong&gt;. Quel est le but de ce projet?
Dans l&amp;#8217;idéal, à quoi ressemblerait la réalisation de mon projet? Telles sont
des questions qui peuvent vraiment aider à définir cet&amp;nbsp;objectif.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Everything you experience as incomplete must have a reference point for&amp;nbsp;&amp;#8220;complete&amp;#8221;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Deuxièmement, il faudrait définir un objectif à très court terme. Pour dire
vrai l&amp;#8217;objectif de la toute prochaine action. Cet objectif doit être très
concret; c&amp;#8217;est une&lt;strong&gt; action physique qui doit se voir&lt;/strong&gt; (téléphoner un tel,
écrire ce mail, programmer cet algorithme). De ce fait, en définissant une
action concrète pour chacun des projets en cours, jamais plus vous ne devriez
vous sentir comme un&amp;nbsp;moustique&amp;#8230;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I am rather like a mosquito in a nudist camp; I know what I want to do, but
I don&amp;#8217;t know where to begin. - &lt;em&gt;Stephen&amp;nbsp;Bayne&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Blague mise à part, c&amp;#8217;est la formule magique pour améliorer sa capacité de
concentration et son sens des&amp;nbsp;priorités.&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;C&amp;#8217;est une véritable méthodologie qui a été mise au point ici par David Allen
et je n&amp;#8217;ai fait que mettre en avant 2 étapes qui m&amp;#8217;ont semblées importantes
mais croyez-moi, ce livre est une mine d&amp;#8217;or. Si vous avez l&amp;#8217;envie de réaliser
vos projets et mener une vie moins stressante tout en étant plus productive,
ce livre est fait pour vous. Mais comme je le disais, il est utile à tout le
monde, lisez-le, lisez-le, lisez-le! Pour aller plus loin:
&lt;a href="http://www.thesimpledollar.com/2007/05/06/review-getting-things-done/"&gt;http://www.thesimpledollar.com/2007/05/06/review-getting-things-done/&lt;/a&gt; (en&amp;nbsp;anglais)&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/j5bGwhKOJXU" height="1" width="1"/&gt;</description>
         <pubDate>23 Oct 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/critique-de-livre-getting-things-done-de-david-allen.html</feedburner:origLink></item>    
      <item>
         <title>Traitement de fichiers PDF en python et un client satisfait</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/MtJbUqZNjXo/traitement-de-fichiers-pdf-en-python-et-un-client-satisfait.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/traitement-de-fichiers-pdf-en-python-et-un-client-satisfait.html</guid>
         <description>&lt;p&gt;Si vous lisez ce blog, vous savez que j&amp;#8217;aime bien Java et Flex. Mais lorsqu&amp;#8217;on
a besoin de faire des traitements typiquement automatisés et accédant au
système ou ne demandant aucune interaction graphique avec l&amp;#8217;utilisateur ces
langages ne sont certainement pas les mieux adaptés. Je ne vais pas m&amp;#8217;étendre
sur cette assertion maintenant&amp;#8230; Ca pourrait faire le sujet d&amp;#8217;un autre billet
tiens&amp;#8230; Mon choix personnel du moment pour ce type d&amp;#8217;action porte sur Python.
((Python is a dynamic object-oriented programming language that can be used
for many kinds of software development. - &lt;a href="www.python.org"&gt;www.python.org&lt;/a&gt;)) Le but ici
n&amp;#8217;est pas de défendre les atouts de Python. Ceux-ci sont déjà largement
reconnus par les développeurs. Le nombre de projets open-source l&amp;#8217;atteste tout
comme le classement &lt;a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html"&gt;&lt;span class="caps"&gt;TIOBE&lt;/span&gt;&lt;/a&gt; évoqué il y a &lt;a href="http://www.poxd.org/2008/07/10/netbeans-et-python/"&gt;quelques temps&lt;/a&gt;. Récemment
j&amp;#8217;ai eu la joie de faire un petit développement en freelancing ayant pour but
un simple traitement de fichiers &lt;span class="caps"&gt;PDF&lt;/span&gt;. Python a une nouvelle fois pleinement
répondu à mes attentes. Ce que j&amp;#8217;aime principalement lorsque je développe en
Python c&amp;#8217;est sa simplicité et de ce fait la rapidité de développement
associée, le nombre de librairies disponibles ou encore un code naturellement
facile à lire. Pour ce projet, le workflow était le&amp;nbsp;suivant:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Lister tous les fichiers &lt;span class="caps"&gt;PDF&lt;/span&gt; du dossier&amp;nbsp;courant&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Parser chaque fichier et récupérer le texte le plus haut dans la première&amp;nbsp;page&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enregistrer le fichier avec cette&amp;nbsp;valeur&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Très simple en apparence. Mais c&amp;#8217;est sans compter sur le fait que les fichiers
&lt;span class="caps"&gt;PDF&lt;/span&gt; ont une structure disons pas très naturelle. J&amp;#8217;ai donc du passer un
certain temps à comprendre cette structure. Pour ce faire j&amp;#8217;ai utilisé la
libraire &lt;a href="http://www.unixuser.org/~euske/python/pdfminer/index.html"&gt;PDFMiner&lt;/a&gt; codée par &lt;a href="http://cs.nyu.edu/yusuke/"&gt;Yusuke Shinyama&lt;/a&gt; qui a fait un excellent
boulot en l&amp;#8217;occurence. Après avoir atteint ces 3 objectifs j&amp;#8217;ai simplement du
me pencher sur les possibilités de python à compiler le tout en exécutable
Mac&amp;#8230; Et là c&amp;#8217;est &lt;a href="http://stackoverflow.com/questions/2933/an-executable-python-app"&gt;stackoverflow qui m&amp;#8217;a aidé&lt;/a&gt;&amp;#8230; &lt;a href="http://svn.pythonmac.org/py2app/py2app/trunk/doc/index.html"&gt;py2app&lt;/a&gt; m&amp;#8217;a permis
de compiler le tout et hop le tour est joué! Sur ce, l&amp;#8217;expérience python m&amp;#8217;a
une fois de plus convaincu mais qu&amp;#8217;est-ce qu&amp;#8217;en a pensé mon client? Aussi
clair qu&amp;#8217;un code&amp;nbsp;Python:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Test réussi! C&amp;#8217;est parfait. Je vous remercie beaucoup de l&amp;#8217;excellente&amp;nbsp;collaboration.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ca fait toujours plaisir&amp;nbsp;:D&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/MtJbUqZNjXo" height="1" width="1"/&gt;</description>
         <pubDate>11 Oct 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/traitement-de-fichiers-pdf-en-python-et-un-client-satisfait.html</feedburner:origLink></item>    
      <item>
         <title>Critique de livre: Toute l'histoire du monde</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/mfO8jUKZerg/critique-de-livre-toute-lhistoire-du-monde.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/critique-de-livre-toute-lhistoire-du-monde.html</guid>
         <description>&lt;p&gt;J&amp;#8217;ai été carrément scotché par le résumé fait au dos du&amp;nbsp;livre:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Il y a un siècle, ceux qui savaient lire savaient aussi se situer dans
l&amp;#8217;espace et dans le temps. Il n&amp;#8217;en est plus ainsi. Les Français, et d&amp;#8217;ailleurs
tous les Occidentaux, sont devenus, pour la plupart, des hommes sans passé,
des &amp;#8221; immémorants &amp;#8220;. Notre modernité fabrique, hélas, davantage de
consommateurs-zappeurs interchangeables que de citoyens responsables, désireux
de comprendre et de construire. Est-il possible de déchiffrer l&amp;#8217;actualité sans
références historiques ? Comment situer, par exemple, les guerres d&amp;#8217;Irak sans
avoir entendu parler de la Mésopotamie ? On voit tout, tout de suite, en
direct, mais on ne comprend rien. D&amp;#8217;où l&amp;#8217;idée simple, ambitieuse et modeste à
la fois, d&amp;#8217;écrire un livre assez court qui soit un récit de l&amp;#8217;histoire du
monde, fermement chronologique, pour tous ceux qui souhaitent &amp;#8221; s&amp;#8217;y retrouver
&amp;#8221; et situer leur destin personnel dans la grande histoire collective de
l&amp;#8217;espèce&amp;nbsp;humaine.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Après percution donc j&amp;#8217;ai acheté ce livre et été rapidement séduit par
le récit. On navigue au travers de l&amp;#8217;histoire humaine du début jusqu&amp;#8217;à
maintenant. Ou comment avoir une rapide vision globale de notre monde&amp;#8230; J&amp;#8217;ai
assez aimé; bien qu&amp;#8217;à force c&amp;#8217;est tout de même triste de constater que l&amp;#8217;une
des seule choses communes à tous les hommes, c&amp;#8217;est l&amp;#8217;envie de dominer son
prochain&amp;#8230; Pour finir par des guerres, génocides, dictatures, etc. Triste
monde! Heureusement les auteurs n&amp;#8217;oublient tout de même pas de relever le
génie de certains personnages marquants (Ératosthène, Bouddha, Platon,
Archimède, Voltaire, Mozart et j&amp;#8217;en passe); ca fait quand meme du bien de se
rappeler que l&amp;#8217;homme est capable de bonnes choses. Bref, je recommande ce
livre à tous ceux qui ont envie de faire un lien rapide entre les différentes
puissances mondiales qui se sont succédées et comment d&amp;#8217;un point de vue
politique le monde à évolué pour en arriver là où nous&amp;nbsp;sommes.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/mfO8jUKZerg" height="1" width="1"/&gt;</description>
         <pubDate>07 Oct 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/critique-de-livre-toute-lhistoire-du-monde.html</feedburner:origLink></item>    
      <item>
         <title>Apprentissage de Flex</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/VtJx0Rlo0wo/apprentissage-de-flex.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/apprentissage-de-flex.html</guid>
         <description>&lt;p&gt;Alors que j&amp;#8217;ai bien de la peine à avancer ma progression en ce qui concerne
&lt;a href="http://www.poxd.org/2008/06/16/structure-and-interpretation-of-computer-programs/"&gt;&lt;span class="caps"&gt;SICP&lt;/span&gt;&lt;/a&gt; (la pile d&amp;#8217;exercices est effrayante, j&amp;#8217;ai stoppé la lecture du
bouquin..), j&amp;#8217;ai commencé mon apprentissage de Flex. Par chance je suis bien
plus sérieux de coté-là. Allez savoir pourquoi&amp;#8230; Enfin bref, je ne veux pas
lâcher &lt;span class="caps"&gt;SICP&lt;/span&gt; ça c&amp;#8217;est sûr (la lecture en est très instructive) mais comme
j&amp;#8217;aime à le faire, j&amp;#8217;ai commencé à reporter ce que j&amp;#8217;apprends sur Flex dans un
document que &lt;a href="http://docs.google.com/Doc?id=dhbjj3rb_4685m6f8vx"&gt;je mets à disposition de qui voudra&lt;/a&gt; (en ~anglais). Je le
mets à jour à mesure de mon avancement, n&amp;#8217;hésitez donc pas à le consulter
régulièrement. Ce sont des notes en vrac mais qui peuvent être utiles pour
tout nouvel arrivant sur Flex, enfin je l&amp;#8217;espère! Quelques resources à ceux
qui voudraient également se lancer dans cette&amp;nbsp;aventure:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.insideria.com/2008/02/lffs1-meet-the-authors-meet-fl.html"&gt;La série &lt;span class="caps"&gt;LFFS&lt;/span&gt;&lt;/a&gt; sur &lt;a href="http://www.insideria.com/"&gt;InsideRIA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.adobe.com/devnet/flex/videotraining/"&gt;Flex in a Week&lt;/a&gt; conçu par&amp;nbsp;Adobe&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Et bien sûr comme toujours, je suis preneur de tout conseils ou suggestions
dans cet&amp;nbsp;apprentissage.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/VtJx0Rlo0wo" height="1" width="1"/&gt;</description>
         <pubDate>24 Sep 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/apprentissage-de-flex.html</feedburner:origLink></item>    
      <item>
         <title>Stackoverflow en version publique</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/faL-ZeP8JU8/stackoverflow-en-version-publique.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/stackoverflow-en-version-publique.html</guid>
         <description>&lt;p&gt;L&amp;#8217;info cours sur la toile: l&amp;#8217;ouverture d&amp;#8217;une nouvelle plateforme &lt;em&gt;programming
Q&amp;amp;A&lt;/em&gt; complètement ouverte et gratuite. Cette nouvelle plateforme a pour nom
stackoverflow et a été initiée par (non des moindres) les auteurs des blogs
&lt;a href="http://www.codinghorror.com"&gt;Coding Horror&lt;/a&gt; et&lt;a href="http://www.joelonsoftware.com"&gt; Joel on Software&lt;/a&gt;, j&amp;#8217;ai nommé &lt;a href="http://www.codinghorror.com/blog/archives/000021.html"&gt;Jeff Atwood&lt;/a&gt; et&lt;a href="http://fr.wikipedia.org/wiki/Joel_Spolsky"&gt;
Joel Spolsky.&lt;/a&gt; Ce genre de plateforme tient son existence principalement à
la communauté qui la suit. Dès lors j&amp;#8217;espère vraiment que soutient il y aura
et que le genre de &amp;#8220;souci&amp;#8221; que Joel décrit &lt;a href="http://www.joelonsoftware.com/items/2008/09/15.html"&gt;dans son billet&lt;/a&gt; disparaîtra
bel et bien, autrement dit, dès qu&amp;#8217;une question se profile&amp;#8230; Je ne tape non
plus google.com (avec ses inconvénients lors de questions précises..) mais
plutôt stackoverflow.com! L&amp;#8217;idée est très bonne et les initiateurs sont des
gars très talentueux, on peut donc se dire qu&amp;#8217;on est entre de bonnes mains et
que si espoir il devait y avoir, on est en tout cas bien parti pour que ça
prenne bonne&amp;nbsp;forme.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://www.poxd.org/wp-content/uploads/img/2008-09-16_1114.png" /&gt; &lt;/p&gt;
&lt;p&gt;A ma première impression, je vois un design épuré,
une navigation conviviale et rapide. Je vois également que les auteurs
s&amp;#8217;impliquent au niveau du contenu de la plateforme et ca c&amp;#8217;est plutôt pas
mal&amp;#8230; Il ne reste donc plus qu&amp;#8217;à voir comment va réagir la communauté et si
l&amp;#8217;engouement passé, un réel groupement de développeurs va venir enrichir le
contenu de&amp;nbsp;ce:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;synthesize aspects of Wikis, Blogs, Forums, and Digg/Reddit in a way that is
somewhat&amp;nbsp;original&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;On croise les&amp;nbsp;doigts!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/faL-ZeP8JU8" height="1" width="1"/&gt;</description>
         <pubDate>16 Sep 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/stackoverflow-en-version-publique.html</feedburner:origLink></item>    
      <item>
         <title>Netbeans et PHP</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/PBJQdFIxHFo/netbeans-et-php.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/netbeans-et-php.html</guid>
         <description>&lt;p&gt;Non je n&amp;#8217;ai toujours pas jeté un oeil au support &lt;span class="caps"&gt;PHP&lt;/span&gt; (ni python d&amp;#8217;ailleurs)
proposé par Netbeans. Et pourtant &lt;a href="http://www.poxd.org/?p=78"&gt;j&amp;#8217;encourageais&lt;/a&gt; à le faire il y a
peu&amp;#8230;. Bref c&amp;#8217;est pas grave, une séance de rattrapage est proposée par les
éditeurs de &lt;a href="http://netbeans.tv"&gt;Netbeans &lt;span class="caps"&gt;TV&lt;/span&gt;&lt;/a&gt; avec ce&amp;nbsp;screencast:&lt;/p&gt;
&lt;p&gt;En moins de 10 minutes, on y aborde l&amp;#8217;intégration d&amp;#8217;un projet &lt;span class="caps"&gt;PHP&lt;/span&gt;
(wordpress) couplée à la gestion de sa base de données (MySQL) mais aussi du
debugging et la traditionnelle completion syntaxique. Ca vaut vraiment le coup
de le visionner en plus accompagné par un accent indien toujours aussi&amp;nbsp;sympa!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/PBJQdFIxHFo" height="1" width="1"/&gt;</description>
         <pubDate>02 Sep 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/netbeans-et-php.html</feedburner:origLink></item>    
      <item>
         <title>Merck Serono, 1er retour d'expérience</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/QhEbmti6fUs/merck-serono-1er-retour-dexperience.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/merck-serono-1er-retour-dexperience.html</guid>
         <description>&lt;p&gt;Cela fait maintenant quelques mois que je suis en mission chez &lt;a href="http://www.merckserono.net/"&gt;Merck
Serono&lt;/a&gt; et comme à l&amp;#8217;accoutumée, changement d&amp;#8217;environnement de travail,
gain d&amp;#8217;expérience! Si je voulais faire une petite rétro perspective, je
pourrais dire que j&amp;#8217;en ai surtout appris au niveau de l&amp;#8217;organisation de &lt;strong&gt;mon
&lt;/strong&gt;travail. Et sous ce rapport j&amp;#8217;aime assez ce qu&amp;#8217;a dit Ralph  Waldo&amp;nbsp;Emerson:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;L&amp;#8217;ancêtre de chaque action est une&amp;nbsp;réflexion.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;C&amp;#8217;est si facilement dit; et pourtant ce n&amp;#8217;est que depuis mon passage chez
Merck que je me rends compte combien il est important au début de chaque
journée de réfléchir à ce qu&amp;#8217;il y a à faire (surtout dans l&amp;#8217;environnement de
travail ici). La réflexion sera dans la majorité des cas triviale mais d&amp;#8217;une
importance majeure! Ici (département de recherche informatique chez Merck
Genève) il y a peu d&amp;#8217;organisation et plusieurs petits projets (principalement
en maintenance pour ma part). Bien souvent chacun mène le sien comme il
l&amp;#8217;entend et il n&amp;#8217;y a ni de specs, ni un planning, ni rien (!). Il y a bien un
chef de projet qui supervise le tout mais nous sommes en quelques sorte chacun
notre propre chef de projet&amp;#8230; On aime ou pas. Pour ma part il faut dire que
je suis assez surpris que dans une entreprise de cette envergure il y ait
autant de liberté. Quand on a l&amp;#8217;habitude d&amp;#8217;être cadré un minimum on peut
facilement se sentir perdu ou rapidement démotivé. Ça a été un peu mon cas, le
temps de s&amp;#8217;adapter. Car c&amp;#8217;est vrai cela peut paraître génial d&amp;#8217;avoir autant de
largeur mais ne pas avoir d&amp;#8217;objectif défini ni un temps imparti peut
rapidement amener à un sentiment de lassitude. Je me suis alors rendu compte
de mon devoir de prendre les choses en&amp;nbsp;main.&lt;/p&gt;
&lt;h2 id="reflexion-avant-dagir"&gt;Réflexion avant&amp;nbsp;d&amp;#8217;agir&lt;/h2&gt;
&lt;p&gt;La première chose que je fais maintenant en arrivant à mon bureau est de
dresser la liste des tâches à effectuer durant la journée en mentionnant
également la première action concrète pour y arriver ainsi qu&amp;#8217;un temps
imparti. Cela peut parraître rien du tout mais en attendant cela me cadre bien
mieux mon travail! Dans un environnement de projet normal ce genre de choses
sont imposées par le chef de projet, mais lorsque cela ne se fait pas, il
&lt;strong&gt;faut &lt;/strong&gt;se l&amp;#8217;imposer. Dans mon cas en tout cas c&amp;#8217;est vraiment important.
Chaque expérience permet d&amp;#8217;en apprendre un peu plus. Ici, en plus d&amp;#8217;en
apprendre au niveau technique, je suis content d&amp;#8217;avoir eu la possibilité de
m&amp;#8217;améliorer dans mon organisation et de m&amp;#8217;être adapté à mon environnement de&amp;nbsp;travail.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/QhEbmti6fUs" height="1" width="1"/&gt;</description>
         <pubDate>21 Aug 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/merck-serono-1er-retour-dexperience.html</feedburner:origLink></item>    
      <item>
         <title>Les atouts de Flex selon Ward</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/iJZrdUe70_Q/les-atouts-de-flex-selon-ward.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/les-atouts-de-flex-selon-ward.html</guid>
         <description>&lt;p&gt;Une &lt;a href="http://www.uiresourcecenter.com/rich-internet-applications/articles/the-ria-puzzle.html?s=2_1"&gt;interview&lt;/a&gt; très intéressante à lire si vous vous intéressez au
développement Flex mais que vous ne savez pas trop quels en sont les
avantages. &lt;a href="http://www.jamesward.com/wordpress/2008/07/16/the-ria-puzzle/"&gt;James Ward&lt;/a&gt; répond au &lt;span class="caps"&gt;CEO&lt;/span&gt; d&amp;#8217;&lt;a href="http://www.effectiveui.com/redirect.php?source=uirc"&gt;EffectiveUI&lt;/a&gt; en mentionnant par
exemple deux cas d&amp;#8217;utilisations en entreprise. Il met également en avant les
résultats d&amp;#8217;une étude en cours d&amp;#8217;élaboration par les gaillards d&amp;#8217;Adobe : 30%
de temps de gagné en choisissant Flex! Certainement à prendre avec des
pincettes. &lt;span class="caps"&gt;MAIS&lt;/span&gt;! Oui mais.. Quelques lignes plus haut, Ward explique que le
temps perdu à débugger de l&amp;#8217;&lt;span class="caps"&gt;AJAX&lt;/span&gt;, on le récupère directement sur Flex puisque
le framework gère lui-même les communications client/serveur. Or&amp;#8230; Le temps
de débuggage quantifié est égal à&amp;#8230; 30%! Vous en avez marre de débugger de
l&amp;#8217;&lt;span class="caps"&gt;AJAX&lt;/span&gt;? Il serait peut-être temps de jeter un oeil à&amp;nbsp;Flex&amp;#8230;&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://www.digitalbucket.net/Public/Download.ashx?q=edfd82fec6f30d1ca20b0dbcc90d2b91" /&gt;&lt;/p&gt;
&lt;h3 id="thinking-in-flex"&gt;Thinking in&amp;nbsp;Flex!&lt;/h3&gt;
&lt;p&gt;Toujours dans l&amp;#8217;actualité Flex, le blog &lt;a href="http://codemoiunmouton.wordpress.com/"&gt;Code moi un mouton&lt;/a&gt; nous apprend
une &lt;a href="http://codemoiunmouton.wordpress.com/2008/07/09/soiree-java-avec-james-ward/"&gt;bonne nouvelle&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Scoop:&lt;/strong&gt; James Ward et Bruce Eckel (l’auteur de Thinking in Java)
préparent un livre de 120 pages qui s’adresse à tous les développeurs qui
souhaitent apprendre Flex. Ca sent le&amp;nbsp;best-seller…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Pour ceux qui ont parcouru &lt;a href="http://www.mindview.net/Books/TIJ/"&gt;Thinking in Java&lt;/a&gt; (j&amp;#8217;ai pu faire mes débuts
avec cet excellent bouquin) et qui souhaite en apprendre un peu plus sur Flex,
je sens que ca va être le point de départ idéal! Je me réjouis! Et pour finir
en beauté avec le monde Flash/Flex (du moins avec ce post), voici le dernier
clip de Radiohead réalisé en flash et ce sans caméra(!):  &lt;a href="http://www.insideria.com/2008/07/impressive-data-visualization.html?sdid=DKANW"&gt;Quelques
explications ici&lt;/a&gt; et &lt;a href="http://blog.papervision3d.org/2008/07/15/radiohead%e2%80%99s-house-of-cards/"&gt;ici&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/iJZrdUe70_Q" height="1" width="1"/&gt;</description>
         <pubDate>21 Jul 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/les-atouts-de-flex-selon-ward.html</feedburner:origLink></item>    
      <item>
         <title>Wiihab</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/s1f0CeCraBE/wiihab.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/wiihab.html</guid>
         <description>&lt;p&gt;La console made in Japan est utilisée afin de traiter certaines affections et
est recommandée à certains patients! Encore une fois, comment lier l&amp;#8217;utile et&amp;nbsp;l&amp;#8217;agréable!&lt;/p&gt;
&lt;div style="text-align:center;"&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="FlashVars" value="vidFile=8n070708_WiiHab&amp;amp;connectUrl=rtmp://cp24911.edgefcs.net/ondemand/21923/8n070708_WiiHab&amp;amp;br=9&amp;amp;si=11&amp;amp;ncat=6005:2:13792:&amp;amp;cid=209874&amp;amp;nd=13792&amp;amp;pt=6475&amp;amp;autoplay=false&amp;amp;still=http://i.zdnet.com/gallery/209875-400-300.jpg" /&gt;&lt;param name="wmode" value="transparent" /&gt;&lt;param name="src" value="http://i.zdnet.com/flash/cnb_video.swf" /&gt;&lt;embed type="application/x-shockwave-flash" width="400" height="350" src="http://i.zdnet.com/flash/cnb_video.swf" wmode="transparent" flashvars="vidFile=8n070708_WiiHab&amp;amp;connectUrl=rtmp://cp24911.edgefcs.net/ondemand/21923/8n070708_WiiHab&amp;amp;br=9&amp;amp;si=11&amp;amp;ncat=6005:2:13792:&amp;amp;cid=209874&amp;amp;nd=13792&amp;amp;pt=6475&amp;amp;autoplay=false&amp;amp;still=http://i.zdnet.com/gallery/209875-400-300.jpg"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/s1f0CeCraBE" height="1" width="1"/&gt;</description>
         <pubDate>11 Jul 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/wiihab.html</feedburner:origLink></item>    
      <item>
         <title>Netbeans et Python</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/ROuMr5M0bow/netbeans-et-python.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/netbeans-et-python.html</guid>
         <description>&lt;p&gt;&lt;a href="http://www.netbeans.org/"&gt;Netbeans&lt;/a&gt; est déjà un excellent &lt;span class="caps"&gt;IDE&lt;/span&gt; pour le langage Java, C/C++ et Ruby.
Il est certainement trop peu utilisé (moi y compris) face au quasi standard
Eclipse&amp;#8230; Mais l&amp;#8217;actualité récente le concernant devrait encourager plus d&amp;#8217;un
à au moins l&amp;#8217;essayer. Ses créateurs lui ajoutent en effet régulièrement &lt;a href="http://www.artima.com/lejava/articles/javaone_2008_gregg_sporar.html"&gt;le
support de nouveaux langages&lt;/a&gt;. &lt;/p&gt;
&lt;div style="text-align:center;"&gt;&lt;img src="http://python.org/images/python-logo.gif" alt="python"/&gt;&lt;/div&gt;

&lt;p&gt;Déjà avec la sortie de la version 6, Netbeans a apporté un
&lt;a href="http://www.netbeans.org/kb/61/ide/javascript-editor.html"&gt;support à JavaScript&lt;/a&gt; largement apprécié par la communauté.. La version
6.5 &lt;a href="http://wiki.netbeans.org/NewAndNoteWorthyMilestone1NB65#section-NewAndNoteWorthyMilestone1NB65-PHP"&gt;prédit le support&lt;/a&gt; de Php et avant-hier, &lt;a href="http://www.infoq.com/news/2008/07/sun_python"&gt;InfoQ&lt;/a&gt; a &lt;a href="http://www.sauria.com/blog/2008/07/08/python-in-netbeans-nbpython/"&gt;diffusée
l&amp;#8217;annonce&lt;/a&gt; du support prévu de &lt;a href="http://www.python.org"&gt;Python&lt;/a&gt;! &lt;/p&gt;
&lt;p&gt;Prenant forme d&amp;#8217;un projet opensource, il est possible de retrouver les développeurs de ce projet sur le
site: &lt;a href="https://nbpython.dev.java.net/" title="https://nbpython.dev.java.net/"&gt;https://nbpython.dev.java.net/&lt;/a&gt; &amp;#8230; Vous noterez que leur logo est
bien laid :) Excellent nouvelle que voilà, je me réjouis de voir ce que cela
va donner. C&amp;#8217;est en tout cas une raison de plus de tester Netbeans. Python est
un langage qui monte avec constance et qui, comme le mentionne l&amp;#8217;article
d&amp;#8217;InfoQ, &lt;a href="http://developers.slashdot.org/article.pl?sid=08/01/09/1819221"&gt;passe gentiment devant&lt;/a&gt; &lt;a href="http://www.perl.org/"&gt;Perl&lt;/a&gt;. De plus, ce qui n&amp;#8217;est pas
négligeable c&amp;#8217;est que ce langage est très agréable à utiliser et possède une
forte communauté. Pour preuve Google a récemment lancé sa plateforme
&lt;a href="http://code.google.com/appengine/"&gt;AppEngine&lt;/a&gt; basée sur ce&amp;nbsp;langage. &lt;/p&gt;
&lt;p&gt;Si vous ne connaissez pas encore ce
langage, jetez-vous dessus! Le meilleur départ: &lt;a href="http://www.diveintopython.org/"&gt;Dive Into Python&lt;/a&gt;.
Dernière chose, Sun a lancé en parallèle un nouveau &lt;em&gt;&lt;a href="http://developers.sun.com/python/"&gt;Developper Center&lt;/a&gt;&lt;/em&gt;
sur ce qui tourne autour de python, à ne pas&amp;nbsp;manquer!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/ROuMr5M0bow" height="1" width="1"/&gt;</description>
         <pubDate>10 Jul 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/netbeans-et-python.html</feedburner:origLink></item>    
      <item>
         <title>Wiiiiiii</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/-gmkEXB8s30/wiiiiiii.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/wiiiiiii.html</guid>
         <description>&lt;p&gt;Nous avons fait le grand pas de nous acheter une &lt;a href="http://www.nintendo.fr/NOE/fr_FR/wii_54.html"&gt;Wii&lt;/a&gt;! Après la déception
de ne pas avoir réussi à m&amp;#8217;en procurer une sur &lt;a href="http://www.qoqa.ch"&gt;Qoqa&lt;/a&gt;, c&amp;#8217;est fait, nous
avons craqué face à ce système de&amp;nbsp;consommation!&lt;/p&gt;
&lt;p&gt;La Wii parce que &lt;a href="http://www.nintendo.fr/NOE/fr_FR/index.html"&gt;Nintendo&lt;/a&gt;, la Wii parce que Zelda le jeu qui m&amp;#8217;a le plus
marqué (Ocarina of Times sur N64). La Wii parce que Wii Remote. La Wii parce
que &lt;a href="http://www.nintendo.fr/NOE/fr_FR/systems/console_virtuelle_1706.html"&gt;console virtuelle&lt;/a&gt;, parce que moins cher, parce que fun, parce que,
parce&amp;#8230;. Bref, la&amp;nbsp;Wii!&lt;/p&gt;
&lt;p&gt;&amp;#8230; J&amp;#8217;ai déjà casser un verre en jouant au bowling mais que c&amp;#8217;est fun!&amp;#8230;
Certainement qu&amp;#8217;à l&amp;#8217;avenir donc nous trouverons ici et là quelques&amp;nbsp;tests..&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/-gmkEXB8s30" height="1" width="1"/&gt;</description>
         <pubDate>08 Jul 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/wiiiiiii.html</feedburner:origLink></item>    
      <item>
         <title>Lectures #5</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/sVTAwemqp6A/lectures-5.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/lectures-5.html</guid>
         <description>&lt;p&gt;La lecture est une passion pour moi, j&amp;#8217;adore me plonger dans toutes sortes
d&amp;#8217;histoires. Ces temps-ci je suis passé par des styles très différents comme
va le montrer mes différentes&amp;nbsp;critiques: &lt;/p&gt;
&lt;h1 id="for-one-more-day-mitch-albom"&gt;For one more day - Mitch&amp;nbsp;Albom&lt;/h1&gt;
&lt;p&gt;Ce récit m&amp;#8217;a beaucoup touché. L&amp;#8217;histoire raconte la relation d&amp;#8217;un homme
avec sa mère et rejoint le style de L&amp;#8217;Enfant d&amp;#8217;Hiroshima que j&amp;#8217;avais également
beaucoup apprécié. Les histoires entre un enfant et sa mère m&amp;#8217;ont toujours
passionné et ému. Je ne suis pas sûr de savoir pourquoi mais ce qui est sûr
c&amp;#8217;est que j&amp;#8217;aime me remémorer mes moments à moi avec ma maman&amp;#8230; Et c&amp;#8217;est sûr
que ce genre de récit aide à s&amp;#8217;en rappeler! Bref, après avoir lu cette
histoire on est un peu plus déterminé à profiter de l&amp;#8217;instant présent et à
faire plus attention aux gens qu&amp;#8217;on aime et à leur montrer qu&amp;#8217;on les aime
justement&amp;#8230; Je ne peux que conseiller cette lecture, un&amp;nbsp;5/5! &lt;/p&gt;
&lt;h1 id="les-robots-isaac-asimov"&gt;Les robots - Isaac&amp;nbsp;Asimov&lt;/h1&gt;
&lt;p&gt;On passe dans un style complètement différent! Livre à grand succès et lu par une grand public
amateur de &lt;span class="caps"&gt;SF&lt;/span&gt;, j&amp;#8217;y avais jusqu&amp;#8217;alors échappé mais me réjouissais grandement de
le lire. La seule chose que je peux dire c&amp;#8217;est que je l&amp;#8217;ai dévoré et que
l&amp;#8217;histoire m&amp;#8217;a pationné, mais malheureusement allez savoir pourquoi je ne me
rappelle plus trop pourquoi. Voilà ce que c&amp;#8217;est que de ne pas écrire tout de
suite les critiques de ses lectures! Je conseille aussi cette lecture à 4/5.
Je me rappelle juste avoir eu un ou deux passage un peu&amp;nbsp;longuet&amp;#8230; &lt;/p&gt;
&lt;h1 id="le-maitre-de-garamond-anne-cuneo"&gt;Le maître de Garamond - Anne&amp;nbsp;Cuneo&lt;/h1&gt;
&lt;p&gt;Après &lt;a href="http://www.poxd.org/2008/06/13/le-matre-de-garamond/"&gt;avoir parlé récemment&lt;/a&gt; de cette lecture sur un aspect particulier, je peux juste dire que cette lecture est un
moment vraiment agréable passé au contact de personnes ayant vécu au 16ème
siècle aux débuts de l&amp;#8217;imprimerie. On y retrouve des valeurs que j&amp;#8217;apprécie
beaucoup: abnégation, curiosité, fidélité. Ceux qui aiment les récits
historiques seront servis avec cette oeuvre d&amp;#8217;Anne Cuneo. J&amp;#8217;ai bien envie de
parcourir le reste de ses&amp;nbsp;oeuvres. &lt;/p&gt;
&lt;h1 id="hackers-painters-paul-graham"&gt;Hackers &lt;span class="amp"&gt;&amp;amp;&lt;/span&gt; Painters - Paul&amp;nbsp;Graham&lt;/h1&gt;
&lt;p&gt;On est plus dans un recueil d&amp;#8217;essais technologiques et psychologiques
avec ce livre&amp;#8230; Quand je disais que je suis passé par plusieurs styles ces
temps&amp;#8230; Paul Graham est un homme très intelligent et cela se ressent tout au
long du livre. Ce livre est davantage ciblé à un public d&amp;#8217;informaticien mais
par-ci par-là des textes deviennent accessibles à tout un chacun (je pense par
exemple à What You Can&amp;#8217;t Say ou encore How to Make Wealth) et font bien
réfléchir, j&amp;#8217;adore! Tous les essais contenus dans le livre sont en ligne sur
le site de Paul Graham: &lt;a href="http://www.paulgraham.com/articles.html"&gt;http://www.paulgraham.com/articles.html&lt;/a&gt;
Appréciation:&amp;nbsp;5/5 &lt;/p&gt;
&lt;h1 id="neverwhere-neil-gaiman"&gt;Neverwhere - Neil&amp;nbsp;Gaiman&lt;/h1&gt;
&lt;p&gt;J&amp;#8217;ai été un peu déçu par la lecture de ce roman &lt;span class="caps"&gt;SF&lt;/span&gt; de l&amp;#8217;auteur de Stardust (dont j&amp;#8217;ai d&amp;#8217;ailleurs adoré
l&amp;#8217;adaptation au cinéma). C&amp;#8217;est l&amp;#8217;histoire d&amp;#8217;un gars qui passe d&amp;#8217;un instant à
l&amp;#8217;autre de la vie d&amp;#8217;un fonctionnaire sans histoire à une vie de quête dans un
monde qu&amp;#8217;il ne connaissait même pas: le Londres d&amp;#8217;en-dessous. On découvre
alors un monde imaginaire mais loin de ce que je recherche dans ce genre de
roman: l&amp;#8217;évasion! Pas facile d&amp;#8217;expliquer pourquoi je n&amp;#8217;ai pas été embarqué
mais cela doit se résumer au fait que je n&amp;#8217;avais tout simplement pas l&amp;#8217;envie
d&amp;#8217;y être. Un peu simplet mais par exemple par rapport au Robots, je crois
qu&amp;#8217;il y avait trop d&amp;#8217;abstrait dans ce roman. Je dois être un poil trop
pragmatique pour être emporté par ce genre d&amp;#8217;oeuvres&amp;#8230; Et pourtant j&amp;#8217;ai adoré
la série d&amp;#8217;Arthur de Marion Zimmer Bradley donc aller savoir, faut pas
chercher&amp;#8230; Je note 3/5 car c&amp;#8217;est quand même assez bien&amp;nbsp;écrit. &lt;/p&gt;
&lt;h1 id="gros-probleme-dave-barry"&gt;Gros problème - Dave&amp;nbsp;Barry&lt;/h1&gt;
&lt;p&gt;Je termine par le non des moindres Gros problème: une comédie carrément hilarente! &lt;a href="http://www.davebarry.com/"&gt;Dave Barry&lt;/a&gt; est un chroniqueur pour le &lt;a href="http://www.miamiherald.com/dave_barry/"&gt;Miami
Herald&lt;/a&gt; entre autre et je ne sais plus trop comment mais c&amp;#8217;est comme ça
que je l&amp;#8217;ai découvert. Il est très connu et apprécié aux Etats-Unis. Si on est
fan de l&amp;#8217;humour british c&amp;#8217;est un must du genre. C&amp;#8217;est une histoire tellement
rocambolesque et absurde: à mourir de rire! Je me rappellerai encore longtemps
du chien appeuré par un gros crapaud dans sa gamelle! Rien que d&amp;#8217;y penser j&amp;#8217;ai
envie de rire&amp;#8230; Enfin bref le seul point négatif dans tout ça c&amp;#8217;est qu&amp;#8217;il y a
trop peu de livre de lui!! Je le note sans conteste 5/5. &amp;#8230; Je n&amp;#8217;en ai pas le
temps maintenant mais je recommande aussi la lecture d&amp;#8217;Ensemble c&amp;#8217;est tout de
Gavalda&amp;#8230; Tous mes livres (depuis quelques mois) sur librarything: &lt;a href="http://www.librarything.fr/catalog/poxd"&gt;http://www.librarything.fr/catalog/poxd&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/sVTAwemqp6A" height="1" width="1"/&gt;</description>
         <pubDate>01 Jul 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/lectures-5.html</feedburner:origLink></item>    
      <item>
         <title>Structure and Interpretation of Computer Programs</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/Wb1A16OetN8/structure-and-interpretation-of-computer-programs.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/structure-and-interpretation-of-computer-programs.html</guid>
         <description>&lt;p&gt;J&amp;#8217;ai recommencé la lecture de &lt;a href="http://mitpress.mit.edu/sicp/full-text/book/book.html"&gt;Structure and Interpretation of Computer
Programs&lt;/a&gt; et à l&amp;#8217;image d&amp;#8217;&lt;a href="http://eli.thegreenplace.net/2007/06/19/introducing-the-sicp-reading-notes/"&gt;Eli Bendersky&lt;/a&gt; je me fixe les objectifs
suivants:&lt;img alt="" src="http://www.poxd.org/wp-content/uploads/2008/06/cover.jpg" /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Lire le livre (ça doit être la 3ème fois que je le recommence ;)&amp;nbsp;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Visionner les &lt;a href="http://www.swiss.ai.mit.edu/classes/6.001/abelson-sussman-lectures/"&gt;vidéos&lt;/a&gt; du&amp;nbsp;cours&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Faire le maximum des exercices contenus dans le&amp;nbsp;livre&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Je mets cet objectif entre parenthèse: faire l&amp;#8217;un des &lt;a href="http://mitpress.mit.edu/sicp/psets/index.html"&gt;&lt;em&gt;assignements&lt;/em&gt;&lt;/a&gt;
du&amp;nbsp;cours&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ce livre introduit de nombreux concepts et a été utilisé jusque très récemment
par le &lt;span class="caps"&gt;MIT&lt;/span&gt; comme support de cours. Grâce à cette lecture, j&amp;#8217;espère développer
ma compréhension des langages fonctionnels mais aussi atteindre les attentes
du livre, expliquées dans la&amp;nbsp;préface:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;First&lt;/strong&gt;, we want to establish the idea that a computer language is not
just a way of getting a computer to perform operations&amp;#8230; Programs must be
written for people to read, and only incidentally for machines to execute.
&lt;strong&gt;Second&lt;/strong&gt;, the techniques used to control the intellectual complexity of
large software&amp;nbsp;systems&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Tout ce qui se rapporte à cet exercice se trouvera sous la catégorie &lt;span class="caps"&gt;SICP&lt;/span&gt;; en
mettant cela par écrit, j&amp;#8217;espère me donner du courage et atteindre une bonne
fois pour toute cet objectif!&amp;nbsp;Go!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/Wb1A16OetN8" height="1" width="1"/&gt;</description>
         <pubDate>16 Jun 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/structure-and-interpretation-of-computer-programs.html</feedburner:origLink></item>    
      <item>
         <title>Le maître de Garamond</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/LXsobGZDwng/le-matre-de-garamond.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/le-matre-de-garamond.html</guid>
         <description>&lt;p&gt;Je parlerai bientôt des différends bouquins que j&amp;#8217;ai pu lire ces derniers
temps mais là il me faut absolument faire mention du livre que je viens de
terminer: Le &lt;a href="http://www.amazon.fr/Ma%C3%AEtre-Garamond-Augereau-imprimeur-libraire/dp/2253109959/ref=sr_1_6?ie=UTF8&amp;amp;s=books&amp;amp;qid=1213368444&amp;amp;sr=8-6"&gt;maître de Garamond&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Je voulais particulièrement parler de deux choses concernant cette oeuvre d&amp;#8217;Anne Cuneo..
Mais il y a trop à dire, je vais me focaliser déjà sur la&amp;nbsp;première.&lt;/p&gt;
&lt;h3 id="lusage-de-la-memoire-internet-va-til-nous-rendre-stupide"&gt;L&amp;#8217;usage de la mémoire&amp;#8230; Internet va-t&amp;#8217;il nous rendre&amp;nbsp;stupide?&lt;/h3&gt;
&lt;p&gt;Oudin, tel est le nom d&amp;#8217;un personnage de l&amp;#8217;histoire. Ancien saltimbanque, il
se lie avec un imprimeur grâce à Garamond, le narrateur de l&amp;#8217;histoire. Oudin
possède plusieurs caractéristiques particulières mais l&amp;#8217;une d&amp;#8217;elles est des
plus étonnante et m&amp;#8217;a fait réfléchir. Il est capable dans l&amp;#8217;histoire de
réciter des contes, des conversations, des tirades, des événements de mémoire
avec infiniment de détails. Je dis que cela m&amp;#8217;a fait réfléchir mais Antoine
Augereau le maître de Garamond fait cette réflection avant moi lorsqu&amp;#8217;il&amp;nbsp;dit:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;C&amp;#8217;est parce que nous venons d&amp;#8217;un monde où l&amp;#8217;imprimerie n&amp;#8217;existait pas
encore&amp;#8230; Nous étions forcés d&amp;#8217;exercer notre mémoire. Maintenant, pour vous,
c&amp;#8217;est la belle vie. On imprime les choses, et puis on peut les laisser
s&amp;#8217;estomper. On n&amp;#8217;a plus qu&amp;#8217;à consulter les livres&amp;#8230;. Plus il y aura de
livres, moins il y aura&amp;nbsp;d&amp;#8217;Oudin.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Qu&amp;#8217;est-ce que dirait ce Maître Augereau maintenant! Nous avons accès à
tellement d&amp;#8217;information grâce aux livres mais surtout grâce à Internet! J&amp;#8217;ai
d&amp;#8217;ailleurs déjà vu sur le net certains avancer qu&amp;#8217;il n&amp;#8217;y a même plus besoin de
livre pour apprendre tant Internet nous donne accès à tout ce qu&amp;#8217;on veut (mais
bon le confort n&amp;#8217;y est pas encore&amp;#8230;). Au vu du contraste entre les capacités
d&amp;#8217;Oudin mises en avant dans ce roman et les capacités de mémoire de chacun
aujourd&amp;#8217;hui (enfin dans cette assertion je ne peux que me baser sur ma propre
mémoire ;) ) on peut facilement arriver à ce genre de questions: exerçons-nous
donc encore notre mémoire, ou du moins l&amp;#8217;utilisons-nous efficacement?
Arrivera-t-il un jour où les livres ou Internet nous auront rendus incapables
d&amp;#8217;user de cette mémoire? C&amp;#8217;est un raisonnement assez paradoxale mais encore
aujourd&amp;#8217;hui j&amp;#8217;ai pu lire un article intéressant à ce sujet dans la tribune de
Genève: &lt;a href="http://www.tdg.ch/pages/home/tribune_de_geneve/l_actu/sciences_hi_tech/detail_hi_tech/(contenu)/236172#formulaire_reactions"&gt;Le Web nous rend-il incapables de lire?&lt;/a&gt; Cet article fait mention
d&amp;#8217;un essai publié récemment ayant pour titre «Google nous rend-il bêtes?»
(«__&lt;a href="www.theatlantic.com/doc/200807/google"&gt;Is Google Making Us Stupid»)&lt;/a&gt;. L&amp;#8217;article nous informe par exemple
comment Platon avait le même genre d&amp;#8217;idée que Maître Augereau mais lui à
propos de&amp;nbsp;l&amp;#8217;écriture: &lt;/p&gt;
&lt;p&gt;&lt;img alt="garamond-tg3" src="http://www.poxd.org/wp-content/uploads/2008/06/garamond-tg3-thumb.png" /&gt;&lt;/p&gt;
&lt;p&gt;A mon avis certains sont assez répulsifs au changement. Internet c&amp;#8217;est vrai peut très bien changer nos
habitudes de lecture mais est-ce pour autant que l&amp;#8217;on deviendrait moins
intelligent? Comme toute nouveauté, il faut savoir s&amp;#8217;en servir et à mon avis
Internet n&amp;#8217;est qu&amp;#8217;un nouvel outil à disposition de tous les curieux de la
planète! L&amp;#8217;article se veut d&amp;#8217;ailleurs rassurant de par sa&amp;nbsp;conclusion:&lt;/p&gt;
&lt;p&gt;&lt;img alt="garamond-tg4" src="http://www.poxd.org/wp-content/uploads/2008/06/garamond-tg4-thumb.png" /&gt;&lt;/p&gt;
&lt;p&gt;N.B.: Quelques astuces pour améliorer sa mémoire et en savoir plus sur le sujet: &lt;a href="http://www.languesplus.com/pages2/apprentissagepag.html"&gt;cliquez ici&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/LXsobGZDwng" height="1" width="1"/&gt;</description>
         <pubDate>13 Jun 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/le-matre-de-garamond.html</feedburner:origLink></item>    
      <item>
         <title>Building GWT Comet based web app using Grizzly Comet</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/MvVDNlbovas/building-gwt-comet-based-web-app-using-grizzly-comet.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/building-gwt-comet-based-web-app-using-grizzly-comet.html</guid>
         <description>&lt;p&gt;J&amp;#8217;ai &lt;a href="http://www.poxd.org/2007/11/19/java-et-le-web-20/"&gt;parlé il y a quelque temps&lt;/a&gt; des difficultés de Java à fournir la
possibilité de mettre en place une architecture web riche&amp;#8230; JavaOne étant
terminé, on retrouve maintenant ici et là les différentes présentations
disponibles sur le net et concernant ce sujet d&amp;#8217;actualité, l&amp;#8217;une d&amp;#8217;elles
semble être particulièrement intéressante. J&amp;#8217;ai nommé: &lt;a href="https://www28.cplan.com/cc191/session_details.jsp?isid=294922&amp;amp;ilocation_id=191-1&amp;amp;ilanguage=english"&gt;Writing Real-Time Web
Applications, Using Google Web Toolkit and Comet&lt;/a&gt;. Il est possible de
retrouver les slides de la présentations en cliquant &lt;a href="http://weblogs.java.net/blog/jfarcand/archive/Grizzly_GWT_BOF-4922.pdf"&gt;sur ce lien&lt;/a&gt;. La
présenation se base sur l&amp;#8217;utilisation de l&amp;#8217;outil de google &lt;a href="http://code.google.com/webtoolkit/"&gt;&lt;span class="caps"&gt;GWT&lt;/span&gt;&lt;/a&gt; et du
serveur de Sun GlassFish couplé à &lt;a href="http://weblogs.java.net/blog/jfarcand/archive/2006/07/the_grizzly_com.html"&gt;Grizzly Comet&lt;/a&gt;.&amp;nbsp;Enjoy!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/MvVDNlbovas" height="1" width="1"/&gt;</description>
         <pubDate>21 May 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/building-gwt-comet-based-web-app-using-grizzly-comet.html</feedburner:origLink></item>    
      <item>
         <title>Package java.lang.reflect</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/QHAvhnvn9Hg/package-javalangreflect.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/package-javalangreflect.html</guid>
         <description>&lt;p&gt;Après avoir substantiellement passé en revu le package &lt;a href="http://www.poxd.org/2008/04/01/package-javalang/"&gt;java.lang&lt;/a&gt;, je vais
me porter sur java.lang.reflect durant ce post. Comme son nom l&amp;#8217;indique, nous
retrouvons dans ce package tout l&amp;#8217;attirail nécessaire pour jouer avec la
&lt;em&gt;reflection&lt;/em&gt;. Autrement dit, en ciblant un objet donné, nous pourrons
découvrir chacun de ses&amp;nbsp;membres.&lt;/p&gt;
&lt;h3 id="a-quoi-ca-sert"&gt;A quoi ça sert&amp;nbsp;?&lt;/h3&gt;
&lt;p&gt;Concrètement, la &lt;em&gt;reflection&lt;/em&gt; trouve son utilité par exemple
dans les éditeurs de développement (&lt;span class="caps"&gt;IDE&lt;/span&gt;). Comme l&amp;#8217;image ci-dessous le montre,
ces outils nous permettent de découvrir la structure d&amp;#8217;une classe mais aussi
où est-ce qu&amp;#8217;elle se trouve dans la hierarchie objet. Ceci souvent au moyen
d&amp;#8217;un arbre et ce que ce soit en cours de développement mais encore, de manière
avantageuse, en cours de&amp;nbsp;débugage. &lt;/p&gt;
&lt;p&gt;&lt;img alt="eclipse_refl" src="http://www.poxd.org/wp-content/uploads/2008/05/eclipse-refl.png" /&gt;&lt;/p&gt;
&lt;p&gt;Il existe d&amp;#8217;autres utilisations à la reflection comme par exemple dans les processus de sérialisation, dans
l&amp;#8217;utilisation d&amp;#8217;objets métiers distribués (&lt;span class="caps"&gt;EJB&lt;/span&gt;), les containers web et
d&amp;#8217;inversion de contrôle etc. Mais dans la pratique comment font donc ces &lt;span class="caps"&gt;IDE&lt;/span&gt;
pour nous décrire la structure de nos objets? C&amp;#8217;est ce que nous allons
découvrir maintenant avec la suite de cet&amp;nbsp;article.&lt;/p&gt;
&lt;h3 id="les-classes-de-bases"&gt;Les classes de&amp;nbsp;bases&lt;/h3&gt;
&lt;p&gt;En plus des classes se trouvant dans ce package, il nous faudra également
faire appel à une classe étant dans le package java.lang: &lt;a href="http://java.sun.com/javase/6/docs/api/java/lang/Class.html"&gt;Class&lt;/a&gt;. Je n&amp;#8217;en
avais pas encore parlé, voici donc le moment venu&amp;#8230; Class représente une
classe (ou une interface) tournant dans la machine virtuelle. Les objets Class
sont créés automatiquement par la &lt;span class="caps"&gt;JVM&lt;/span&gt; au moyen du &lt;a href="http://java.sun.com/javase/6/docs/api/java/lang/ClassLoader.html"&gt;ClassLoader &lt;/a&gt;(faisant
aussi parti du package java.lang) au chargement. Il nous faut en premier lieu
utiliser cette classe avant de pouvoir profiter du contenu de
java.lang.reflect: &lt;code&gt;Class lClazz = Class.forName(className);&lt;/code&gt; Suite à
l&amp;#8217;exécution de cette ligne de code nous pouvons être certains qu&amp;#8217;un objet
Class correspondant est créé. En effet, le ClassLoader ne va pas charger
toutes les classes de la librairie (ouf!) mais uniquement celles qui sont
utilisées dans&amp;nbsp;l&amp;#8217;application.&lt;/p&gt;
&lt;p&gt;&lt;img alt="reflect" src="http://www.poxd.org/wp-content/uploads/2008/05/reflect1.png" /&gt;&lt;/p&gt;
&lt;p&gt;Comme exemple j&amp;#8217;ai créé une petite application&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt; listant tous les membres d&amp;#8217;une classe entrée par&amp;nbsp;l&amp;#8217;utilisateur.&lt;/p&gt;
&lt;p&gt;champ texte par exemple org.poxd.Reflect ou n&amp;#8217;importe quelle classe du&amp;nbsp;&lt;span class="caps"&gt;JDK&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Comme vous pouvez le constater dans les sources après avoir l&amp;#8217;objet Class tout
est accessible grâce aux classes &lt;a href="http://java.sun.com/javase/6/docs/api/java/lang/reflect/Constructor.html"&gt;Constructor&lt;/a&gt;, &lt;a href="http://java.sun.com/javase/6/docs/api/java/lang/reflect/Field.html"&gt;Field&lt;/a&gt;, &lt;a href="http://java.sun.com/javase/6/docs/api/java/lang/reflect/Method.html"&gt;Method &lt;/a&gt;et
&lt;a href="http://java.sun.com/javase/6/docs/api/java/lang/reflect/Modifier.html"&gt;Modifiers &lt;/a&gt;de l&amp;#8217;&lt;span class="caps"&gt;API&lt;/span&gt; java.lang.reflect. A noter que grâce à la reflection,
il est possible de contourner les modificateurs d&amp;#8217;accès! Pour davantage
d&amp;#8217;informations, je vous invite à lire &lt;em&gt;&lt;a href="http://progx.org/index.php?section=replies&amp;amp;newsid=572"&gt;Accès privé&amp;#8230; pas tant que ça&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Voilà pour les bases de la reflection. Maintenant un peu plus intéressant,
découvrons l&amp;#8217;utilisation des Proxy et leur importance au sein d&amp;#8217;un certain&amp;nbsp;framework.&lt;/p&gt;
&lt;h3 id="proxy"&gt;Proxy&lt;/h3&gt;
&lt;p&gt;La classe &lt;a href="http://java.sun.com/javase/6/docs/api/java/lang/reflect/Proxy.html"&gt;Proxy&lt;/a&gt; offre la possibilité de créer des &lt;a href="http://fr.wikipedia.org/wiki/Proxy_%28patron_de_conception%29"&gt;proxy
dynamiques&lt;/a&gt;. Autrement dit, elle permet d&amp;#8217;ajouter une couche entre un
objet &lt;em&gt;target&lt;/em&gt; et son créateur. Pourquoi rajouter une couche direz-vous&amp;#8230; Eh
bien pour le découvrir entrons dans les entrailles du framework &lt;a href="http://www.springframework.org/"&gt;Spring&lt;/a&gt;&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;. L&amp;#8217;un des modules de Spring permet de faire de
la programmation par aspect (&lt;span class="caps"&gt;AOP&lt;/span&gt; pour Aspect Oriented Programming) ce qui
offre la possibilité de créer des classes avec une meilleure granularité.
Voici par exemple la configuration &lt;span class="caps"&gt;XML&lt;/span&gt; permettant d&amp;#8217;afficher un message sur la
console avant l&amp;#8217;appel de certaines&amp;nbsp;méthodes: &lt;/p&gt;
&lt;div class="syntax"&gt;&lt;pre&gt;&lt;span class="nt"&gt;&amp;lt;bean&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;kwikEMart&amp;quot;&lt;/span&gt; 
    &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;org.springframework.aop.framework.ProxyFactoryBean&amp;quot;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="c"&gt;&amp;lt;!-- interface interface implémentée par l&amp;#39;objet _target_ --&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;property&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;proxyInterfaces&amp;quot;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;org.poxd.store.KwikEMArt&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/property&amp;gt;&lt;/span&gt; 
    &lt;span class="nt"&gt;&amp;lt;property&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;interceptorNames&amp;quot;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt; 
        &lt;span class="nt"&gt;&amp;lt;list&amp;gt;&lt;/span&gt; 
            &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;welcomeAdvice&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt; 
        &lt;span class="nt"&gt;&amp;lt;/list&amp;gt;&lt;/span&gt; 
    &lt;span class="nt"&gt;&amp;lt;/property&amp;gt;&lt;/span&gt; 
    &lt;span class="nt"&gt;&amp;lt;property&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;target&amp;quot;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;ref&lt;/span&gt;&lt;span class="err"&gt;=&amp;quot;kwikEMartTarget&amp;quot;&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/bean&amp;gt;&lt;/span&gt; `
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Nous n&amp;#8217;avons ici qu&amp;#8217;une partie du travail à effectuer mais il y a ce qu&amp;#8217;il
nous faut. Ce bout de code &lt;span class="caps"&gt;XML&lt;/span&gt; permet à Spring de créer un &lt;em&gt;ProxyFactoryBean&lt;/em&gt;.
Cette classe offre la possibilité d&amp;#8217;ajouter des &lt;em&gt;interceptors&lt;/em&gt; dans le
&lt;em&gt;workflow&lt;/em&gt; de votre application. Dans notre cas, le bean correspondant à
welcomeAdvice sera appelé (suivant une règle définie ailleurs) par exemple
avant l&amp;#8217;invocation de la méthode start de notre application pour afficher un
message de&amp;nbsp;bienvenue_._&lt;/p&gt;
&lt;p&gt;&lt;img alt="proxy" src="http://www.poxd.org/wp-content/uploads/2008/05/proxy1.gif" /&gt; &lt;/p&gt;
&lt;p&gt;A la base nous avons toujours notre classe ne contenant aucun
appel à welcomAdvice. C&amp;#8217;est Spring qui va rajouter cet appel avant de
poursuivre avec la classe que nous avons développé au départ. Pour ce faire,
Spring utilise un Proxy. L&amp;#8217;image ci-contre démontre bien le fonctionnement.
Avant que le proxy &lt;em&gt;invoke&lt;/em&gt; l&amp;#8217;objet &lt;em&gt;target&lt;/em&gt; il peut faire n&amp;#8217;importe quelle
opération (dans notre cas appeler welcomeAdvice)! Et de notre côté,
l&amp;#8217;architecture n&amp;#8217;est pas touchée, nos classes ont un &lt;em&gt;focus&lt;/em&gt; bien&amp;nbsp;défini.&lt;/p&gt;
&lt;p&gt;Voilà en pour ce qui concerne le package java.lang.ref. En attendant que je me
penche sur une partie du &lt;span class="caps"&gt;JDK&lt;/span&gt;, les commentaires sont les&amp;nbsp;bienvenus!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/QHAvhnvn9Hg" height="1" width="1"/&gt;</description>
         <pubDate>09 May 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/package-javalangreflect.html</feedburner:origLink></item>    
      <item>
         <title>Apprendre l'anglais</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/QODYhz8CJug/apprendre-langlais.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/apprendre-langlais.html</guid>
         <description>&lt;p&gt;Les cours d&amp;#8217;anglais sont peut-être éloignés et vous avez envie de vous y&amp;nbsp;replonger?&lt;/p&gt;
&lt;p&gt;J&amp;#8217;ai le privilège actuellement de suivre un cours d&amp;#8217;anglais par téléphone. Mon
employeur a la bonté de m&amp;#8217;offrir cette prestation en partenariat avec
&lt;a href="http://gofluent.com"&gt;goFluent&lt;/a&gt;. Je dois dire qu&amp;#8217;avoir des conversations uniquement en anglais
fait progresser, c&amp;#8217;est réellement utile. Malheureusement tout le monde n&amp;#8217;a pas
un employeur aussi sympa et non plus les moyens de s&amp;#8217;offrir un telle&amp;nbsp;prestation&amp;#8230;&lt;/p&gt;
&lt;p&gt;Il existe cependant sur la toile plusieurs ressources extrêmement utiles pour&amp;nbsp;s&amp;#8217;améliorer:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;De nombreux podcats gratuits: il n&amp;#8217;y a qu&amp;#8217;à taper &lt;em&gt;english learn&lt;/em&gt; dans le
champ de recherche sous iTunes et une longue liste va s&amp;#8217;afficher.
Personnellement j&amp;#8217;aime beaucoup &lt;a href="http://www.eslpod.com/website/"&gt;&lt;em&gt;English as second language podcast&lt;/em&gt;&lt;/a&gt;_
&lt;em&gt;qui propose 2 podcasts par semaine avec 2 formule: l&amp;#8217;_English Cafe &lt;/em&gt;(sujets à
propos de la vie aux Etats-Unis) et un podcast traitant d&amp;#8217;un sujet en
particulier (talking about prices, going into the military, etc.). Il est
également facile de trouver des podcasts pour améliorer son vocabulaire ou sa
grammaire&amp;#8230; Really&amp;nbsp;usefull!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Afin de lier l&amp;#8217;utile à l&amp;#8217;agréable, je trouve sympa de faire des mots
croisés en anglais. Et on peut en trouver pour tous les niveaux sur le net!
Par exemple, comme mon niveau est moyen pour l&amp;#8217;anglais courant, en ce moment
je consulte ce site: &lt;a href="http://www.crosswordsite.com/usbeginner.shtml"&gt;http://www.crosswordsite.com/usbeginner.shtml&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enfin pour apprendre une langue, le plus important est de la parler! Et à
ce sujet j&amp;#8217;ai reçu un mail hier concernant &lt;a href="http://www.polyglot-learn-language.com/"&gt;Polyglot&lt;/a&gt;. Polyglot est une
communauté ayant pour but de rassembler ses membres et de simplement faire
converser tout le monde, autour d&amp;#8217;un verre, dans n&amp;#8217;importe quelle langue
parlée par les membres de cette communauté. Le premier rassemblement des
membres suisses à lieu aujourd&amp;#8217;hui à Genève! J&amp;#8217;espère vraiment que cette idée
va se&amp;nbsp;poursuivre.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Voilà trois moyens offerts gratuitement par Internet pour apprendre l&amp;#8217;anglais.
Pas belle la vie? Vous connaissez d&amp;#8217;autres bon plans? N&amp;#8217;hésitez pas à laisser
un&amp;nbsp;commentaire.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/QODYhz8CJug" height="1" width="1"/&gt;</description>
         <pubDate>08 May 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/apprendre-langlais.html</feedburner:origLink></item>    
      <item>
         <title>Je suis un intello!</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/rytbZG1hqsc/je-suis-un-intello.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/je-suis-un-intello.html</guid>
         <description>&lt;p&gt;Avant de me croire prétentieux, qu&amp;#8217;est-ce qu&amp;#8217;un intello? Peut-être que la
définition qui suit ne convient pas à ce terme quoiqu&amp;#8217;il en soit je l&amp;#8217;aime&amp;nbsp;beaucoup:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Être intello ça veut dire aimer s&amp;#8217;instruire, être curieux, attentif,
admirer, s&amp;#8217;émouvoir, essayer de comprendre comment tout ça tient debout et
tenter de se coucher un peu moins con que la veille ((Extrait tiré du livre
&lt;a href="http://www.librarything.fr/work/376299/book/29467523"&gt;Ensemble c&amp;#8217;est tout&lt;/a&gt; d&amp;#8217;Anna&amp;nbsp;Gavalda)).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cette définition fait abstraction de la notion d&amp;#8217;intelligence. Tout le monde
peut faire preuve de curiosité c&amp;#8217;est l&amp;#8217;une des seules justices de ce monde,
par contre curiosité n&amp;#8217;est pas égale à intelligence et malheureusement (ou
heureusement peu importe) chacun ne naît pas avec le même &lt;em&gt;capital&lt;/em&gt; et les
mêmes&amp;nbsp;possibilités.&lt;/p&gt;
&lt;p&gt;Mais lorsqu&amp;#8217;à l&amp;#8217;école un bambin balançait &amp;#8220;oh l&amp;#8217;intello&amp;#8221; il ne voulait pas
dire &amp;#8220;oh mais comme il est curieux mon camarade&amp;#8221;&amp;#8230; Mais bien plutôt &amp;#8220;celui-là
il me gonfle il sait tout!&amp;#8221; Dans ce sens la définition ci-dessus n&amp;#8217;est
peut-être pas adéquate mais qu&amp;#8217;elle se rapporte à &lt;em&gt;intello&lt;/em&gt; ou n&amp;#8217;importe
quelle autre expression, je voulais la partager car je l&amp;#8217;apprécie&amp;nbsp;beaucoup.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/rytbZG1hqsc" height="1" width="1"/&gt;</description>
         <pubDate>30 Apr 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/je-suis-un-intello.html</feedburner:origLink></item>    
      <item>
         <title>Teach Yourself Programming in ten years</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/O1PmXWH1R7Y/teach-yourself-programming-in-ten-years.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/teach-yourself-programming-in-ten-years.html</guid>
         <description>&lt;p&gt;Je suis retombé récemment sur cet article extrêmement intéressant: &lt;a href="http://norvig.com/21-days.html"&gt;&lt;em&gt;Teach
yourself programming in ten years&lt;/em&gt;&lt;/a&gt;. Passé l&amp;#8217;introduction, Peter Norvig
expose plusieurs points qui selon lui sont la recette du succès pour devenir
un bon programmeur. Peter Norvig est actuellement Directeur de Recherche chez
Google &lt;span class="caps"&gt;US&lt;/span&gt;, il est donc légitime de faire confiance en ses dire. Les voici en&amp;nbsp;résumé:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Avoir du plaisir! Programmer parce qu&amp;#8217;on aime ça. Et le faire avec
suffisamment d&amp;#8217;envie pour pouvoir le faire encore dix&amp;nbsp;après.&lt;/li&gt;
&lt;li&gt;Avoir un échange avec d&amp;#8217;autres programmeurs. Lire le code d&amp;#8217;autres
développeurs . Et aujourd&amp;#8217;hui avec la multitude de projets open sources (qui a
dit Java?) il n&amp;#8217;y a pas d&amp;#8217;excuse pour trouver du code écrit par des&amp;nbsp;professionnels.&lt;/li&gt;
&lt;li&gt;Coder, coder, coder et encore coder! En effet, n&amp;#8217;oublions pas que c&amp;#8217;est en
forgeant que l&amp;#8217;on devient&amp;nbsp;forgeron.&lt;/li&gt;
&lt;li&gt;Obtenir un titre universitaire permettra de postuler sur des emplois
demandant un papier et permettra également d&amp;#8217;avoir une compréhension plus
profonde du sujet. Cependant l&amp;#8217;expérience ne s&amp;#8217;acquiert ni en lisant des
livres, ni en assistant à des cours. Il est donc possible de devenir un
programmeur professionnel en ayant uniquement une formation de base et en
développant ses compétences par la pratique. L&amp;#8217;expérience de Peter Norvig nous
apprend que l&amp;#8217;un des meilleures programmeurs qu&amp;#8217;il ait eu l&amp;#8217;occasion
d&amp;#8217;embaucher était de niveau pré-universitaire (l&amp;#8217;un des créateurs de netscape
entre&amp;nbsp;autre).&lt;/li&gt;
&lt;li&gt;Travailler avec d&amp;#8217;autres&amp;nbsp;programmeurs&lt;/li&gt;
&lt;li&gt;Travailler sur des projets &lt;a href="http://www.poxd.org/2008/01/28/lunion-fait-la-forcelunion-fait-la-force/"&gt;_après _d&amp;#8217;autres programmeurs&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Apprendre au moins une demi douzaine de langages. Un supportant
l&amp;#8217;abstraction de class (Java, Python..), un supportant l&amp;#8217;abstraction
fonctionnelle (Lisp, Haskel), un supportant l&amp;#8217;abstraction syntactique (Lisp),
un supportant les spécifications déclaratives (C++ templates), un supportant
les coroutines (Scheme) et enfin un supportant le parallélisme&amp;nbsp;(Sisal).&lt;/li&gt;
&lt;li&gt;Prendre part dans l&amp;#8217;effort de standardisation d&amp;#8217;un langage. Même dans un
contexte local, sur un projet personnel par&amp;nbsp;exemple.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;J&amp;#8217;ai pris la liberté de ne pas mentionner tous les points mentionnés dans
l&amp;#8217;article. Mais rien qu&amp;#8217;avec cette liste, il y aura certainement toujours
quelque chose à faire, à améliorer. C&amp;#8217;est aussi cela qui est passionnant avec
l&amp;#8217;informatique. Se dire que l&amp;#8217;on n&amp;#8217;aura jamais fait le tour du sujet, qu&amp;#8217;il
sera toujours possible d&amp;#8217;en apprendre et de nourrir abondamment sa
curiosité&amp;#8230; Ca ca me&amp;nbsp;plait!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/O1PmXWH1R7Y" height="1" width="1"/&gt;</description>
         <pubDate>20 Apr 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/teach-yourself-programming-in-ten-years.html</feedburner:origLink></item>    
      <item>
         <title>Une aide bienvenue pour se certifier SCWCD</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/gKAE7t7xjZ4/une-aide-bienvenue-pour-se-certifier-scwcd-2.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/une-aide-bienvenue-pour-se-certifier-scwcd-2.html</guid>
         <description>&lt;p&gt;Une seconde édition du livre &lt;a href="http://www.oreilly.com/catalog/9780596516680/?CMP=NLC-HF707&amp;amp;ATT=0408"&gt;&lt;em&gt;Head First Servlets and &lt;span class="caps"&gt;JSP&lt;/span&gt;&lt;/em&gt;&lt;/a&gt; est&amp;nbsp;sortie!&lt;/p&gt;
&lt;p&gt;Si vous êtes à la recherche d&amp;#8217;une aide adéquate pour obtenir le niveau de la
certification &lt;span class="caps"&gt;SCWCD&lt;/span&gt;, ce livre est parfait! Cette seconde édition couvre la
spécification 5 de Java Entreprise alors que la précédente portait sur la
version 1.4. Par contre pour ceux qui sont déjà certifié sur la version 4 je
ne pense pas qu&amp;#8217;il y ait un grand intérêt à la passer du fait que les ajouts
ont surtout été fait au niveau du langage et moins sur les specs&amp;nbsp;Servlet/&lt;span class="caps"&gt;JSP&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Faisant partie de la série Head First (existe aussi en français sous le nom
&lt;em&gt;&lt;a href="http://www.oreilly.fr/tags/t%C3%AAte-la-premi%C3%A8re"&gt;Tête la Première&lt;/a&gt;&lt;/em&gt; - cet ouvrage n&amp;#8217;est pas traduit), la lecture est non
seulement facile, elle aide énormément à la mémorisation et à la
compréhension. Les auteurs se sont en effet mis au courant des dernières
avancées en recherche cognitive et on peut dire que c&amp;#8217;est sacrément&amp;nbsp;efficace!&lt;/p&gt;
&lt;p&gt;Et si vous êtes curieux n&amp;#8217;hésitez pas à jeter un oeil aux &lt;a href="http://www.oreilly.com/store/series/headfirst.html"&gt;autres livres de la
série&lt;/a&gt; qui abordent des sujets plus intéressant les uns que les&amp;nbsp;autres!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/gKAE7t7xjZ4" height="1" width="1"/&gt;</description>
         <pubDate>16 Apr 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/une-aide-bienvenue-pour-se-certifier-scwcd-2.html</feedburner:origLink></item>    
      <item>
         <title>Package java.lang</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/f1s5a6VDZFI/package-javalang.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/package-javalang.html</guid>
         <description>&lt;p&gt;La &lt;a href="http://java.sun.com/javase/6/docs/api/"&gt;bibliotheque Java&lt;/a&gt; est vaste, tres vaste. Sans conteste cela lui
procure une grande richesse puisque de ce fait il est possible de quasiment
tout faire avec. Il devient cependant de plus en plus difficile de s&amp;#8217;y
retrouver a mesure que le langage evolue. Ces evolutions sont bien regulees
par le &lt;em&gt;Java Community Process&lt;/em&gt; mais n&amp;#8217;empeche que les fonctionnalites sont
toujours plus&amp;nbsp;nombreuses!&lt;/p&gt;
&lt;p&gt;Je vais tenter par une serie de plusieurs articles de parcourir quelques-uns
des packages de Java afin de montrer les differentes classes disponibles. Bien
sur ce ne sera qu&amp;#8217;un survol mais toujours utile, que l&amp;#8217;on decouvre le langage
ou que l&amp;#8217;on ait davantage l&amp;#8217;habitude d&amp;#8217;utiliser Java (enfin&amp;nbsp;j&amp;#8217;espere).&lt;/p&gt;
&lt;p&gt;Pour bien commencer, prenons les choses par le debut: &lt;a href="http://java.sun.com/javase/6/docs/api/java/lang/package-summary.html"&gt;java.lang&lt;/a&gt;. Ce
package est automatiquement importe lorsque l&amp;#8217;on developpe en Java. Toutes les
classes presentes dans ce package sont tres souvent utilisees dans les
programmes et le compilateur nous facilite la vie en faisant lui-meme le lien
lorsqu&amp;#8217;il en rencontre une&amp;nbsp;utilisation.&lt;/p&gt;
&lt;h3 id="wrapper-types"&gt;Wrapper&amp;nbsp;types&lt;/h3&gt;
&lt;p&gt;On retrouve ainsi la definition des types de Java (&lt;em&gt;Boolean&lt;/em&gt;, &lt;em&gt;Byte&lt;/em&gt;,
&lt;em&gt;Character&lt;/em&gt;&amp;#8230; et le venerable &lt;em&gt;Object&lt;/em&gt; sans qui rien ne serait possible). On
les nomme generalement _&lt;a href="http://en.wikipedia.org/wiki/Wrapper_type"&gt;Wrapper types&lt;/a&gt; _pour faire ressortir que ce n&amp;#8217;est
que la correspondance des types natifs (ou primitifs) qui sont utilises
lorsque l&amp;#8217;on fait par&amp;nbsp;exemple:&lt;/p&gt;
&lt;div class="syntax"&gt;&lt;pre&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;theResponse&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Lorsque l&amp;#8217;on code sur Java a partir de la version 5, une fonctionnalite
existante peut faire completement oublier ce concept: l&amp;#8217;autoboxing. En effet,
precedemment le code suivant ne compilait&amp;nbsp;pas:&lt;/p&gt;
&lt;div class="syntax"&gt;&lt;pre&gt;&lt;span class="n"&gt;Integer&lt;/span&gt; &lt;span class="n"&gt;laReponseATteVosQuestion&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;h3 id="threading"&gt;Threading&lt;/h3&gt;
&lt;p&gt;Tous les outils de concurrences ne se trouvent pas dans ce package. Cependant,
le socle de base de la programmation multi-threading est integre dans
&lt;em&gt;java.lang&lt;/em&gt;. On y trouve la classe de base: &lt;a href="http://java.sun.com/javase/6/docs/api/java/lang/Thread.html"&gt;java.lang.Thread&lt;/a&gt; mais aussi
par exemple &lt;a href="http://java.sun.com/javase/6/docs/api/java/lang/ThreadLocal.html"&gt;java.lang.ThreadLocal&lt;/a&gt; qui est utilisee afin d&amp;#8217;implementer le
pattern &lt;a href="http://www.ibm.com/developerworks/java/library/j-threads3.html"&gt;Thread Local Session&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;On peut tres bien n&amp;#8217;utiliser que la classe &lt;em&gt;Thread&lt;/em&gt; pour les besoins
concurrents. Nous verrons cependant lorsque nous aborderons le package
&lt;a href="http://java.sun.com/javase/6/docs/api/java/util/concurrent/package-frame.html"&gt;java.util.concurrent&lt;/a&gt; qu&amp;#8217;il existe plusieurs outils supplementaires qui
facilitent la vie du developpeur lorsqu&amp;#8217;il met le pied dans le monde du multi-&amp;nbsp;threading.&lt;/p&gt;
&lt;h3 id="acces-systeme"&gt;Acces&amp;nbsp;systeme&lt;/h3&gt;
&lt;p&gt;Enfin, plusieurs classes de ce package permettent de faire appel au systeme
sur lequel tourne&amp;nbsp;Java.&lt;/p&gt;
&lt;p&gt;La classe &lt;a href="http://java.sun.com/javase/6/docs/api/java/lang/System.html"&gt;System&lt;/a&gt; contient uniquement des membres statiques permettant par
exemple de recuperer le flux de sortie de Java (le flux utilise pour afficher
des donnees a l&amp;#8217;ecran, la console), le temps actuel en millisecondes ou en
nanosecondes, recuperer une variable d&amp;#8217;environnement, enregistrer une
propriete systeme, charger une classe ou une librairie dynamiquement ou encore
enregistrer un &lt;em&gt;SecurityManager&lt;/em&gt;&amp;nbsp;personnalise.&lt;/p&gt;
&lt;p&gt;La classe &lt;a href="http://java.sun.com/javase/6/docs/api/java/lang/Runtime.html"&gt;Runtime&lt;/a&gt; est elle davantage liee au &amp;#8220;systeme&amp;#8221; de Java. Il est
ainsi possible de l&amp;#8217;utiliser afin de recuperer la memoire disponible dans la
machine virtuelle, lancer le &lt;em&gt;Garbage Collector&lt;/em&gt; (aussi possible depuis la
classe &lt;em&gt;System&lt;/em&gt; qui fait en fait une redirection sur la classe &lt;em&gt;Runtime&lt;/em&gt;) et
enfin avant de mentionner la derniere classe, Runtime permet d&amp;#8217;executer un
nouveau processus&amp;nbsp;systeme&amp;#8230;&lt;/p&gt;
&lt;p&gt;La classe &lt;a href="http://java.sun.com/javase/6/docs/api/java/lang/Process.html"&gt;Process&lt;/a&gt; liee donc a Runtime mais aussi a &lt;a href="http://java.sun.com/javase/6/docs/api/java/lang/ProcessBuilder.html"&gt;ProcessBuilder&lt;/a&gt;
represente un processus natif. Une utilisation de ce genre de classe peut bien
evidemment limiter la portabilite de l&amp;#8217;application; il faut par consequent
bien reflechir quant a son&amp;nbsp;utilisation.&lt;/p&gt;
&lt;p&gt;Par exemple, pour une application graphique permettant d&amp;#8217;executer des imports
de donnees sur une base Oracle il existe l&amp;#8217;outil bien connu &lt;a href="http://www.oracle.com/technology/products/database/utilities/htdocs/sql_loader_overview.html"&gt;Sql Loader&lt;/a&gt;
qui permet de charger les donner en ligne de commande. Il sera possible
d&amp;#8217;appeler directement depuis le code Java l&amp;#8217;executable d&amp;#8217;Oracle de cette&amp;nbsp;maniere:&lt;/p&gt;
&lt;div class="syntax"&gt;&lt;pre&gt;&lt;span class="n"&gt;Process&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="n"&gt;ProcessBuilder&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;sqlldr&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; 
                    &lt;span class="s"&gt;&amp;quot;userid=root control=control.ctl&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;).&lt;/span&gt;&lt;span class="na"&gt;start&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Ensuite les flux de sortie, d&amp;#8217;entree et d&amp;#8217;erreur sont disponibles et doivent
etre recuperes afin de pouvoir communiquer avec le processus&amp;nbsp;lance.&lt;/p&gt;
&lt;p&gt;Autour de tout cela je n&amp;#8217;ai pas pris le temps de parler de l&amp;#8217;ensemble
d&amp;#8217;exceptions et d&amp;#8217;erreurs se trouvant dans le package mais comme je l&amp;#8217;ai dit
dans l&amp;#8217;introduction, ce n&amp;#8217;est et ne sera qu&amp;#8217;un&amp;nbsp;aperçu!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/f1s5a6VDZFI" height="1" width="1"/&gt;</description>
         <pubDate>01 Apr 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/package-javalang.html</feedburner:origLink></item>    
      <item>
         <title>La charte des droits du programmeur</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/a7vEDTmf6tM/la-charte-des-droits-du-programmeur.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/la-charte-des-droits-du-programmeur.html</guid>
         <description>&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Tout programmeur &lt;a href="http://www.necus.com/necus/media/press_releases/template.cfm?DID=1947"&gt;doit avoir un affichage double&amp;nbsp;écran&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tout programmeur doit avoir une station&amp;nbsp;performante&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tout programmeur doit se procurer lui-même sa souris et son clavier&amp;nbsp;personnels&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tout programmeur doit avoir une chaise&amp;nbsp;confortable&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tout programmeur doit avoir une connexion rapide à&amp;nbsp;Internet&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tout programmeur doit avoir un environnement de travail&amp;nbsp;calme.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Dans ma courte expérience professionnelle, tout ce que je peux dire c&amp;#8217;est
qu&amp;#8217;en Suisse on est bien traité! Un commentaire intéressant sur l&amp;#8217;original de
cette charte: &amp;#8220;mettre des écouteurs, parfois même sans aucune musique (&lt;a href="http://notes.torrez.org/"&gt;Andre
Torrez&lt;/a&gt;)&amp;#8221; permet simplement de remplir les conditions de l&amp;#8217;article numéro 6
de la charte ;) &amp;#8230; Ayant travaillé à Lyon durant 3 mois, les conditions m&amp;#8217;ont
amené à tenter l&amp;#8217;expérience avec succès! [source : &lt;a href="http://www.codinghorror.com/blog/archives/000666.html"&gt;coding horror&lt;/a&gt;]&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/a7vEDTmf6tM" height="1" width="1"/&gt;</description>
         <pubDate>09 Mar 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/la-charte-des-droits-du-programmeur.html</feedburner:origLink></item>    
      <item>
         <title>Lectures #4</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/fvPeuDw39J8/lectures-4.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/lectures-4.html</guid>
         <description>&lt;p&gt;Cela fait un bout de temps que je n&amp;#8217;ai plus parlé de mes lectures. Je ne vais
pas les mentionner toutes mais il y en a une ou deux qui en valent la&amp;nbsp;peine.&lt;/p&gt;
&lt;h1 id="le-juge-degypte-christian-jacq"&gt;Le juge d&amp;#8217;Egypte (Christian&amp;nbsp;Jacq)&lt;/h1&gt;
&lt;p&gt;Les histoires narrées par &lt;em&gt;Christian Jacq&lt;/em&gt; sont rarement décevantes. On y retrouve une fois de plus pour son compte grâce aux
multiples péripéties rencontrées par &lt;em&gt;Pazair&lt;/em&gt;, petit juge provincial. Le
personnage est armé de forts sentiments de justice et d&amp;#8217;intégrité; bien sûr ce
ne sera pas du goût de tout le monde.L&amp;#8217;intrigue tourne autour d&amp;#8217;un mystérieux
vol ayant lieu dans l&amp;#8217;une des grandes pyramides. Et ce n&amp;#8217;est évidemment qu&amp;#8217;à
la toute fin que ce jeu de piste s&amp;#8217;achève. C&amp;#8217;est une lecture captivante et
vraiment agréable. On est mené à travers l&amp;#8217;Egypte entier, on se trouve immergé
dans l&amp;#8217;ambiance de cette civilisation quelque peu&amp;nbsp;mythique.&lt;/p&gt;
&lt;h1 id="le-bouc-emissaire-daphne-du-maurier"&gt;Le bouc émissaire (Daphné Du&amp;nbsp;Maurier)&lt;/h1&gt;
&lt;p&gt;La seule critique pour cet ouvrage est très
favorable.Personnellement, la seule oeuvre que j&amp;#8217;avais lu de &lt;em&gt;Daphné Du
Maurier&lt;/em&gt; auparavant était_ l&amp;#8217;Auberge de la Jamaïque_ et il est clair que le
résultat n&amp;#8217;est pas le même.L&amp;#8217;histoire est plus lente et m&amp;#8217;a personnellement
moins captivé. D&amp;#8217;ailleurs j&amp;#8217;ai l&amp;#8217;impression que si je me lance à expliquer en
quelques mots l&amp;#8217;histoire j&amp;#8217;en dirai déjà beaucoup trop si des candidats à
cette lecture passent par là. C&amp;#8217;est dire si c&amp;#8217;est lent ;) Au delà de cela on
retrouve tout de même la belle et agréable écriture de l&amp;#8217;auteure avec des
personnages très bien décris.J&amp;#8217;ai aussi pu lire &lt;em&gt;Cyrano de Bergerac&lt;/em&gt; récemment
(eh oui je ne l&amp;#8217;avais pas encore lu) et force est de constater que c&amp;#8217;est un
chef d&amp;#8217;oeuvre! Un réel hommage à la langue française. C&amp;#8217;était un véritable
plaisir de me plonger dans ce bouquin, cela ne m&amp;#8217;étonnerais pas que je le
relise un jour.Pour finir, je déconseille la lecture de &lt;em&gt;J&amp;#8217;irai cracher sur
vos tombes&lt;/em&gt; de &lt;em&gt;Boris Vian&lt;/em&gt;. C&amp;#8217;est trop cru (voir repoussant) à mon&amp;nbsp;goût.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/fvPeuDw39J8" height="1" width="1"/&gt;</description>
         <pubDate>28 Feb 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/lectures-4.html</feedburner:origLink></item>    
      <item>
         <title>L'union fait la force</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/WqEXA_cO6K8/lunion-fait-la-force.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/lunion-fait-la-force.html</guid>
         <description>&lt;p&gt;Il est toujours intéressant de parcourir du code source créé par d&amp;#8217;autres
personnes, c&amp;#8217;est à mes yeux une excellente formation pour devenir un bon
développeur. Je peux le vérifier en ce moment puisque je travaille sur la
résolutions d&amp;#8217;incidents sur une application web ayant pour base principale
&lt;a href="http://struts.apache.org"&gt;Struts&lt;/a&gt;. J&amp;#8217;ai été vraiment impressionné par le nombre de classes utilisées
simplement pour supporter les opérations ajout, récupération,mise à jour et
suppression de données (&lt;a href="http://en.wikipedia.org/wiki/Create%2C_read%2C_update_and_delete"&gt;&lt;span class="caps"&gt;CRUD&lt;/span&gt;&lt;/a&gt;). A la décharge de l&amp;#8217;équipe ayant créé cette
application, il faut avouer que le modèle de Struts encourage à créer une
classe par &lt;strong&gt;action&lt;/strong&gt;. Personnellement, je pense que la philosophie objet est
respectée si l&amp;#8217;on décide de regrouper les opérations &lt;span class="caps"&gt;CRUD&lt;/span&gt; dans une seule et
même classe. Le nombre de classes va ainsi diminuer et rendre plus de clarté à
l&amp;#8217;environnement et l&amp;#8217;objectif de chaque classe sera toujours bien défini. De
plus pour ne rien gâcher, Struts propose lui-même cette solution! La classe
&lt;a href="http://struts.apache.org/1.3.8/apidocs/org/apache/struts/actions/DispatchAction.html"&gt;DispatchAction&lt;/a&gt; permet en effet au développeur de regrouper plusieurs
actions en une-seule. Cette classe se trouvant dans la hiérarchie de la
standard &lt;a href="http://struts.apache.org/1.3.8/apidocs/org/apache/struts/action/Action.html"&gt;Action&lt;/a&gt; n&amp;#8217; est donc pas très différente de celle-ci. En reprenant
ce qu&amp;#8217;explique la javadoc de cette nouvelle recrue, voici comment doter
davantage de fonctionnalités à une&amp;nbsp;action:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;la déclaration de la classe dans le fichier struts-config est quelque peu
différente:&lt;code&gt;&lt;action path="/saveSubscription"
type="org.apache.struts.actions.DispatchAction" name="subscriptionForm"
scope="request" input="/subscription.jsp" parameter="method"/&gt;&lt;/code&gt; Le type de
l&amp;#8217;action correspond à la nouvelle classe et l&amp;#8217;attribut &lt;em&gt;parameter&lt;/em&gt; tient
également un rôle particulier dans cette situation. C&amp;#8217;est ce paramètre qui va
être utilisé afin de définir quelle action sera&amp;nbsp;exécutée.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;définir une méthode par action suivant le modèle suivant: &lt;code&gt;public
ActionForward delete(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;la dernière chose à faire est de faire passer le paramètre &amp;#8216;method&amp;#8217; (la
valeur de l&amp;#8217;attribut &lt;em&gt;parameter&lt;/em&gt; de la 1ère étape) avec comme valeur le nom de
l&amp;#8217;action. Pour ce faire il n&amp;#8217;y a qu&amp;#8217;à passer par un lien ou un champ caché
dans un&amp;nbsp;formulaire!&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le résultat devient tout de même beaucoup plus agréable! La productivité va
également sûrement être favorisée du fait qu&amp;#8217;il n&amp;#8217;y aura plus à jongler entre
plusieurs classes pour changer d&amp;#8217;opération sur un certain objet&amp;#8230; Et le
développeur qui devra passer plus tard sur un code plus compact en sera très
reconnaissant&amp;nbsp;;)&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/WqEXA_cO6K8" height="1" width="1"/&gt;</description>
         <pubDate>28 Jan 08 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/lunion-fait-la-force.html</feedburner:origLink></item>    
      <item>
         <title>Lectures #3</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/XhKn4yEVAmI/lectures-3.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/lectures-3.html</guid>
         <description>&lt;h1 id="et-si-cetait-vrai-marc-levy"&gt;Et si c&amp;#8217;était vrai&amp;#8230; (Marc&amp;nbsp;Levy)&lt;/h1&gt;
&lt;p&gt;Tout le monde la déjà lu mais pas moi. Maintenant c&amp;#8217;est fait et comme la
plupart des lecteurs j&amp;#8217;ai été conquis par ce roman. L&amp;#8217;histoire menée avec
rythme nous envoûte très rapidement. On se sent embarqué au fil des pages dans
la vie de cet architecte pour qui tout va bien&amp;#8230; Un peu de piment dans sa vie
nous plonge dans des réflexions que l&amp;#8217;on manque trop facilement au rythme où
vont nos vies&amp;nbsp;aujourd&amp;#8217;hui.&lt;/p&gt;
&lt;p&gt;Cette histoire n&amp;#8217;a fait que confirmer une envie en moi&amp;#8230;. Visiter la région
de San Francisco et la côte jusqu&amp;#8217;à Monterey&amp;#8230; Un roman qui se dévore et qui
laisse un souvenir agréable&amp;#8230; Un plaisir! De plus le personnage de Paul est
réellement&amp;nbsp;hilarent.&lt;/p&gt;
&lt;h1 id="le-dictateur-et-le-hamac-daniel-pennac"&gt;Le dictateur et le hamac (Daniel&amp;nbsp;Pennac)&lt;/h1&gt;
&lt;p&gt;Mon premier roman de Pennac. Une histoire drôle dans tout les sens du terme.
J&amp;#8217;en ressors avec dans la tête une histoire confuse mais qui m&amp;#8217;a fait passer
un bon moment en compagnie du narrateur&amp;#8230; dans son hamac. On est projeté dans
les péripéties d&amp;#8217;un président et de quelques-uns de ses sosies successifs
lorsque lui-même se rend compte qu&amp;#8217;il est&amp;nbsp;agoraphobe&amp;#8230;&lt;/p&gt;
&lt;p&gt;Un humour que je n&amp;#8217;avais encore que peu rencontré dans les livres&amp;#8230; Décalé,&amp;nbsp;délicieux.&lt;/p&gt;
&lt;h1 id="le-meilleur-des-mondes-aldous-huxley"&gt;Le meilleur des mondes (Aldous&amp;nbsp;Huxley)&lt;/h1&gt;
&lt;p&gt;Le meilleur des mondes se situe dans les romans d&amp;#8217;anticipation. Ecrit après la
guerre, ce roman décrit la vie dans un futur où les bébés ne sont plus conçus
naturellement mais par un long processus régulé par des humains qui sont
eux-mêmes des &amp;#8220;humains&amp;#8221; conditionnés depuis leur naissance. Pour que
l&amp;#8217;équilibre soit toujours de mise, un système de classe a été défini. On se
retrouve alors à suivre la vie d&amp;#8217;un homme de haute classe qui est quelque peu
différend des autres&amp;#8230; Il réfléchit, se pose des questions, aime être&amp;nbsp;seul&amp;#8230;&lt;/p&gt;
&lt;p&gt;J&amp;#8217;ai eu du mal à entrer réellement dans l&amp;#8217;histoire mais finalement ce bouquin
m&amp;#8217;a plu. L&amp;#8217;imagination de l&amp;#8217;auteur est impressionnante&amp;#8230; A quand les cinéma
sentants? La distribution de soppor? La familiarisation à la&amp;nbsp;mort?&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/XhKn4yEVAmI" height="1" width="1"/&gt;</description>
         <pubDate>17 Dec 07 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/lectures-3.html</feedburner:origLink></item>    
      <item>
         <title>Amazon Web Service</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/pp3n19V8Nts/amazon-web-service.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/amazon-web-service.html</guid>
         <description>&lt;p&gt;Les applications aujourd&amp;#8217;hui connectées à Internet peuvent interroger des
services web afin d&amp;#8217;obtenir des données externes aux objets de l&amp;#8217;application.
Il est ainsi possible d&amp;#8217;interroger des miliers de bases de données en&amp;nbsp;ligne.&lt;/p&gt;
&lt;p&gt;Nous avions par exemple vu l&amp;#8217;application Delicious Library. L&amp;#8217;appel d&amp;#8217;un
service web se fait au moment où on lance une recherche à propos d&amp;#8217;un média.
En entrant un simple mot vous obtenez une liste de livre, cd, dvd ou encore de
jeux vidéos correspondant à votre recherche. L&amp;#8217;application utilise le service
web de la plateforme amazon et par cet article je vais démontrer la facilité
avec laquelle il est possible d&amp;#8217;interroger se service web en Java. C&amp;#8217;est&amp;nbsp;parti!&lt;/p&gt;
&lt;p&gt;Il faut tout d&amp;#8217;abord créer un compte sur la plateforme depuis cet url :
&lt;a href="http://www.amazon.com/gp/browse.html?node=3435361"&gt;http://www.amazon.com/gp/browse.html?node=3435361&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Après inscription il est possible d&amp;#8217;obtenir un identifiant (acces key id)
nécessaire à l&amp;#8217;interrogation du service web. Il nous manque plus que le lien
reliant notre application et le service web. L&amp;#8217;utilitaire en ligne de commande
wsimport va nous créer ce lien. Cet outil est intégré au &lt;span class="caps"&gt;JDK&lt;/span&gt;. Donc si
l&amp;#8217;environnement est bien configuré il sera possible de directement lancer cet
utilitaire depuis le prompt. Sinon il faudra vérifier que le répertoire &lt;span class="caps"&gt;JDK&lt;/span&gt;
est bien référencé dans le _PATH _de&amp;nbsp;l&amp;#8217;environnement.&lt;/p&gt;
&lt;p&gt;Utilisons donc cet utilitaire pour nous créer les classes nécessaires à
l&amp;#8217;interrogation du service web. Pour cela rien de plus simple : &lt;code&gt;wsimport
http://www.amazon.com/gp/browse.html?node=3435361 -d src -p org.poxd.gen&lt;/code&gt;
Après exécution de cette ligne dans le shell (prompt &lt;span class="caps"&gt;DOS&lt;/span&gt; ou shell unix) un
ensemble de classes sont créées. Celles-ci feront tout le travail
d&amp;#8217;interrogation sur le service&amp;nbsp;web.&lt;/p&gt;
&lt;p&gt;Suite à la création de ces classes, nous allons les utiliser afin d&amp;#8217;interroger
amazon pour nous retourner les résultats de livres pour un auteur renseigné
par l&amp;#8217;utilisateur dans une application graphique. L&amp;#8217;aspect graphique peut en
rebuter plus d&amp;#8217;un lorsqu&amp;#8217;il faut s&amp;#8217;attaquer à la librairie swing qui a
mauvaise réputation. Cependant en utilisant Netbeans il devient très facile
d&amp;#8217;arranger des composants ensembles grâce à Matisse son _GUI Builder. _En 2
minutes on peut se créer une fenêtre contenant une liste, un champ de texte,
un bouton, une barre de menu et une gestion complète du positionnement et de
la taille de la fenêtre qui vont être mémorisées à la fermeture de
l&amp;#8217;application pour les restaurer au prochain démarrage. Voici le rendu de mon
application&amp;nbsp;:&lt;/p&gt;
&lt;p&gt;&lt;img alt="aws-gui" src="http://www.poxd.org/wp-content/uploads/poxd.files.wordpress.com/2007/12/sans-titre.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Netbeans s&amp;#8217;appuie sur l&amp;#8217;Application framework développé par Sun ce qui tend à
rendre les choses plus facile pour ce genre de développement. Tout ce qui est
de la gestion de l&amp;#8217;internationalisation, des actions, du modèle de Swing est
plus accessible à tout&amp;nbsp;développeur.&lt;/p&gt;
&lt;p&gt;Maintenant si nous retournons à notre application nous allons y intégrer
l&amp;#8217;appel au service web d&amp;#8217;amazon en passant par nos classes générées par
wsimport. Pour récupérer donc une liste de livres correspondant à un auteur le
tout est aussi simple que&amp;nbsp;ça:&lt;/p&gt;
&lt;div class="syntax"&gt;&lt;pre&gt;&lt;span class="n"&gt;AWSECommerceService&lt;/span&gt; &lt;span class="n"&gt;service&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="n"&gt;AWSECommerceService&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
&lt;span class="n"&gt;AWSECommerceServicePortType&lt;/span&gt; &lt;span class="n"&gt;portType&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; 
            &lt;span class="n"&gt;service&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getAWSECommerceServicePort&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
&lt;span class="n"&gt;ItemSearchRequest&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="n"&gt;ItemSearchRequest&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt; 
&lt;span class="n"&gt;Holder&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;OperationRequest&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;operationrequest&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; 
            &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="n"&gt;Holder&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;OperationRequest&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;();&lt;/span&gt;
&lt;span class="n"&gt;Holder&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;java&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;util&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;List&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Items&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;items&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; 
            &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="n"&gt;Holder&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;java&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;util&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;List&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Items&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;();&lt;/span&gt;
&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setSearchIndex&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Books&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt; 
&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setAuthor&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;tevis&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt; 
&lt;span class="n"&gt;ItemSearch&lt;/span&gt; &lt;span class="n"&gt;search&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="n"&gt;ItemSearch&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt; 
&lt;span class="n"&gt;search&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setAWSAccessKeyId&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;&lt;span class="caps"&gt;AWSID&lt;/span&gt;&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;search&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getRequest&lt;/span&gt;&lt;span class="o"&gt;().&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt; 
&lt;span class="n"&gt;List&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="n"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
&lt;span class="n"&gt;portType&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;itemSearch&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;&lt;span class="caps"&gt;AWSID&lt;/span&gt;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;&lt;span class="caps"&gt;AWSID&lt;/span&gt;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="n"&gt;search&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getRequest&lt;/span&gt;&lt;span class="o"&gt;(),&lt;/span&gt; &lt;span class="n"&gt;operationrequest&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;La variable &lt;span class="caps"&gt;AWSID&lt;/span&gt; étant la clé fournie par amazon après création d&amp;#8217;un compte. A ce moment-là, la liste
&lt;em&gt;result _contient toutes les informations dont on peut avoir besoin! Tout est
accessible depuis son membre _value&lt;/em&gt;. Pour de plus amples informations sur ce
qui est possible et comment je vous laisse consulter le centre de ressources
d&amp;#8217;amazon. Voici en quelques minutes ce que l&amp;#8217;on peut obtenir conjointement
avec les services web d&amp;#8217;Amazon et Netbeans&amp;nbsp;6.&lt;/p&gt;
&lt;p&gt;&lt;img alt="result-aws" src="http://www.poxd.org/wp-content/uploads/poxd.files.wordpress.com/2007/12/result.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Vous pouvez trouver les sources &lt;a href="http://digitalbucket.net/Public/Download.ashx?q=9f5316edbe182634c7f80eb879642cda"&gt;ici&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/pp3n19V8Nts" height="1" width="1"/&gt;</description>
         <pubDate>12 Dec 07 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/amazon-web-service.html</feedburner:origLink></item>    
      <item>
         <title>Envie de rire un coup ?</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/WWvLJZ5z-vA/envie-de-rire-un-coup.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/envie-de-rire-un-coup.html</guid>
         <description>&lt;p&gt;Pour certains c&amp;#8217;est encore pire le lundi&amp;nbsp;matin&amp;#8230;.&lt;/p&gt;
&lt;div style="text-align:center;"&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/D4a1z7NLnNk&amp;#038;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/D4a1z7NLnNk&amp;#038;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt; &lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/WWvLJZ5z-vA" height="1" width="1"/&gt;</description>
         <pubDate>26 Nov 07 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/envie-de-rire-un-coup.html</feedburner:origLink></item>    
      <item>
         <title>Java et le web 2.0</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/pXlI-zu_qCE/java-et-le-web-20.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/java-et-le-web-20.html</guid>
         <description>&lt;p&gt;Un &lt;a href="http://www.ibm.com/developerworks/web/library/wa-aj-web2jee/?S_TACT=105AGX54&amp;amp;S_CMP=A1109&amp;amp;ca=dnw-843"&gt;article intéressante&lt;/a&gt; concernant java et les appels asynchrones est
consultable sur&amp;nbsp;developerwors.&lt;/p&gt;
&lt;p&gt;Il met bien à l&amp;#8217;index les lacunes de l&amp;#8217;architecture Servlet de Java en ce qui
concerne le buzz du moment : le web 2.0. Mais ce qu&amp;#8217;il y a d&amp;#8217;intéressant c&amp;#8217;est
que l&amp;#8217;article propose des pistes sur lesquelles se diriger lorsque l&amp;#8217;on veut
créer une gestion asynchrones de requêtes. Il est parlé entre autre de du
projet &lt;a href="http://mina.apache.org/"&gt;Apache &lt;span class="caps"&gt;MINA&lt;/span&gt;&lt;/a&gt; , &lt;a href="http://www.eecs.harvard.edu/~mdw/proj/seda/"&gt;&lt;span class="caps"&gt;SEDA&lt;/span&gt;&lt;/a&gt;, mais également du pattern &lt;a href="http://www.webtide.com/downloads/whitePaperWhyAjax.html"&gt;&lt;span class="caps"&gt;COMET&lt;/span&gt;&lt;/a&gt;.
Très bon tour d&amp;#8217;horizon et d&amp;#8217;idées à consulter. Un benchmark est de plus
utilisé afin de prouver l&amp;#8217;apport des appels asynchrones par rapport à la
démarche synchrone traditionnelle à Java. Il propose de nombreuses ressources;
à aller&amp;nbsp;consulter!&lt;/p&gt;
&lt;p&gt;Pour info l&amp;#8217;article parle également de 2 solutions proposées par les
conteneurs Tomcat et Jetty qui permettent une communication asynchrone :
&lt;a href="http://tomcat.apache.org/tomcat-6.0-doc/aio.html"&gt;Apache Tomcat 6 Comet &lt;span class="caps"&gt;API&lt;/span&gt;&lt;/a&gt; et &lt;a href="http://docs.codehaus.org/display/JETTY/Continuations"&gt;Jetty Continuations&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/pXlI-zu_qCE" height="1" width="1"/&gt;</description>
         <pubDate>19 Nov 07 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/java-et-le-web-20.html</feedburner:origLink></item>    
      <item>
         <title>Lectures #2</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/aOzC-eVqaak/lectures-2.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/lectures-2.html</guid>
         <description>&lt;h1 id="loiseau-damerique-walter-tevis"&gt;L&amp;#8217;oiseau d&amp;#8217;amérique (Walter&amp;nbsp;Tevis)&lt;/h1&gt;
&lt;p&gt;Un roman &lt;span class="caps"&gt;SF&lt;/span&gt; mais trop tout comme j&amp;#8217;aime. C&amp;#8217;est l&amp;#8217;histoire de ce qu&amp;#8217;est devenu
l&amp;#8217;humanité en l&amp;#8217;an 2100 et quelques au contact de robots de classes plus ou
moins sophistiquées. A cette époque tout est régulé jusqu&amp;#8217;au taux
d&amp;#8217;infantilité. Ce taux est d&amp;#8217;ailleurs devenu très bas au point qu&amp;#8217;il n&amp;#8217;y a
carrément plus d&amp;#8217;enfants qui naisse&amp;#8230;. Mais tout n&amp;#8217;est pas perdu. &amp;#8230; (je ne
sais plus son nom) , un humain, lui travaille à l&amp;#8217;université de New-York et
peut consulter de nombreux livres&amp;#8230; Il apprend à lire et découvre ce qu&amp;#8217;était
l&amp;#8217;homme au &lt;span class="caps"&gt;XX&lt;/span&gt;ème siècle. Il prend goût à la lecture et au visionnage d&amp;#8217;oeuvres
cinématographiques ce qui le change complètement. Il ne fume plus d&amp;#8217;herbe, ne
prend plus de _soppor _et est&amp;nbsp;heureux!&lt;/p&gt;
&lt;p&gt;Je vous laisse découvrir cet ouvrage magnifique qui est un hommage à la
lecture et à cette détermination de vivre innée à&amp;nbsp;l&amp;#8217;homme. &lt;/p&gt;
&lt;h1 id="et-apres-guillaume-musso"&gt;Et après (Guillaume&amp;nbsp;Musso)&lt;/h1&gt;
&lt;p&gt;Roman quelque peu fictif (un peu moins celui-ci) et à suspens. C&amp;#8217;est
l&amp;#8217;histoire d&amp;#8217;un gamin qui manque de se noyer à l&amp;#8217;âge de 8 ans et qui devient
plus tard avocat renommé sur Manhattan. Un épisode tragique rend la séparation
d&amp;#8217;avec sa femme inévitable. Celle-ci déménage à l&amp;#8217;autre bout des Etats-Unis
mais un contact régulier est maintenu entre lui et sa petite fille Bonnie.
C&amp;#8217;est alors qu&amp;#8217;un étrange chirurgien entre dans sa vie avec des révélations
bien&amp;nbsp;étranges&amp;#8230;.&lt;/p&gt;
&lt;p&gt;Si vous ne l&amp;#8217;avez pas lu, sautez dessus! J&amp;#8217;ai particulièrement aimé les
dialogues entre le père et sa fille qui lui inculque le respect des gens quels
qu&amp;#8217;ils soient, le respect de l&amp;#8217;argent, le respect tout court. Une autre chose
qui ressort bien de se livre est notre changement d&amp;#8217;attitude lorsque l&amp;#8217;on se
dit que l&amp;#8217;on va bientôt mourir&amp;#8230; A chacun de nous de ne pas oublier de vivre
chaque journée à fond pour n&amp;#8217;avoir aucun regret (plus facile à dire qu&amp;#8217;à&amp;nbsp;faire).&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/aOzC-eVqaak" height="1" width="1"/&gt;</description>
         <pubDate>15 Nov 07 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/lectures-2.html</feedburner:origLink></item>    
      <item>
         <title>La perle</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/Naux3SMEt3A/la-perle.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/la-perle.html</guid>
         <description>&lt;div class="two left"&gt;
  &lt;strong&gt;Sur Amazon&lt;/strong&gt;
  &lt;a href="http://www.amazon.fr/Perle-John-Steinbeck/dp/2070404242/ref=pd_bbs_sr_1/171-8764138-6399431?ie=UTF8&amp;s=books&amp;qid=1192786808&amp;sr=8-1"&gt;&lt;img src="http://www.poxd.org/wp-content/uploads/poxd.files.wordpress.com/2007/10/la_perle.jpg" alt="Couverture la perle" title="la perle"/&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;div class="four left lr"&gt;
  &lt;p&gt;Il y a des livres qui sont simples mais dont la morale peut nous laisser une
marque&amp;nbsp;indélébile.&lt;/p&gt;
&lt;p&gt;Dans ce genre de lecture, j&amp;#8217;ai nommé &lt;a href="http://www.amazon.fr/Perle-John-Steinbeck/dp/2070404242/ref=pd_bbs_sr_1/171-8764138-6399431?ie=UTF8&amp;amp;s=books&amp;amp;qid=1192786808&amp;amp;sr=8-1"&gt;La Perle&lt;/a&gt; de &lt;a href="http://fr.wikipedia.org/wiki/John_Steinbeck"&gt;John Steinbeck&lt;/a&gt;. Ce
livre dépeint une histoire somme toute assez simple d&amp;#8217;une famille pauvre
vivant dans un petit village. Un malheur arrive lorsque Coyotito, le bébé, se
fait mordre par un scorpion. Heureusement Kino, le papa, trouve une perle
énorme qui permettra certainement de régler tout les problèmes que cette
famille naissante pourrait rencontrer grâce à l&amp;#8217;argent que cette perle
rapportera. C&amp;#8217;est alors que Kino se met à rêver de tout ce qu&amp;#8217;il va pouvoir
faire avec l&amp;#8217;argent qu&amp;#8217;il est près d&amp;#8217;obtenir. La morale du livre ressort à ce
moment-là très&amp;nbsp;bien:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span class="dquo"&gt;&amp;#8220;&lt;/span&gt;C&amp;#8217;est le fusil qui rompit les digues. C&amp;#8217;était l&amp;#8217;objet hors d&amp;#8217;atteinte, et
si Kino pouvait concevoir l&amp;#8217;idée d&amp;#8217;un fusil, alors il n&amp;#8217;y avait plus de
limites à ses désirs. Car on dit que l&amp;#8217;homme n&amp;#8217;est jamais satisfait; qu&amp;#8217;une
chose lui soit offerte, et il en souhaite une seconde. Cela est dit dans un
sens de dénigrement et c&amp;#8217;est cependant là une des plus grandes qualités de la
race humaine, celle qui la rend supérieure aux animaux, lesquels se contentent
de ce qu&amp;#8217;ils&amp;nbsp;ont.&amp;#8221;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;![la perle][3] Cet extrait pousse à la réflexion et c&amp;#8217;est ce que j&amp;#8217;aime dans
la lecture. La lecture permet de s&amp;#8217;ouvrir à des choses auxquelles ont n&amp;#8217;a pas
le temps de réfléchir en regardant un film ou en jouant à un jeu vidéo. En
lisant cet extrait on peut se dire que c&amp;#8217;est vrai que cette envie d&amp;#8217;aller
toujours plus loin peut valoir des choses extraordinaires. Rien qu&amp;#8217;en pensant
à toutes les possibilités offertes depuis la révolution industrielle, c&amp;#8217;est
remarquable! Par contre il est également possible de réfléchir au sentiment
d&amp;#8217;insatisfaction qui ressort d&amp;#8217;une telle attitude. Aujourd&amp;#8217;hui nous pouvons
tellement acquérir de choses qu&amp;#8217;il devient facile de ne plus apprécier à sa
juste valeur les choses que nous possédons déjà ou les choses que nous avons
pu faire nous-même. Personnellement, j&amp;#8217;aime de temps en temps essayer de
sortir de cet environnement publicitaire, marketing, pécuniaire à outrance,
afin de profiter des choses qui m&amp;#8217;entourent. Et à mon avis c&amp;#8217;est quelque chose
de bénéfique, d&amp;#8217;indispensable pour avoir un sentiment de&amp;nbsp;satisfaction.&lt;/p&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/Naux3SMEt3A" height="1" width="1"/&gt;</description>
         <pubDate>19 Oct 07 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/la-perle.html</feedburner:origLink></item>    
      <item>
         <title>Bee</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/zJ_cq1s9k6g/bee.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/bee.html</guid>
         <description>&lt;p&gt;Bee est une application &lt;span class="caps"&gt;AIR&lt;/span&gt; (j&amp;#8217;ai décidé de m&amp;#8217;y plonger donc). Une fois de
plus, l&amp;#8217;intégration se fait très simplement. Une fois sur le site proposant
l&amp;#8217;application un clic et l&amp;#8217;application est installé sur votre machine après
avoir accepté la licence ainsi que l&amp;#8217;accès à vos&amp;nbsp;données.&lt;/p&gt;
&lt;p&gt;&lt;img alt="bee" src="http://www.poxd.org/wp-content/uploads/poxd.files.wordpress.com/2007/10/bee.png" /&gt;&lt;/p&gt;
&lt;p&gt;Cette application vous permet d&amp;#8217;éditer votre blog à la manière d&amp;#8217;ecto. Bee est
moins évolué que celui-ci en fonctionnalités mais au niveau interface ca
poutre comme on dit! Des effets de transparences, de fade in/out,
d&amp;#8217;animation&amp;#8230; Tout y est et ca donne vraiment bien! Je continue mon
exploration, j&amp;#8217;espère bientot créer ma première&amp;nbsp;applic.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/zJ_cq1s9k6g" height="1" width="1"/&gt;</description>
         <pubDate>10 Oct 07 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/bee.html</feedburner:origLink></item>    
      <item>
         <title>Adobe AIR</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/KpEIjVF6Wv0/adobe-air.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/adobe-air.html</guid>
         <description>&lt;p&gt;Un article très intéressant concernant les &lt;a href="http://www.devx.com/RichInternetApps/Article/35208/"&gt;applications desktop riches&lt;/a&gt;
(&lt;span class="caps"&gt;RIA&lt;/span&gt;) est parru sur&amp;nbsp;DevX.com&lt;/p&gt;
&lt;p&gt;Cet article compare 3 technologies ayant pour but la création de ce genre
d&amp;#8217;application. Silverlight, Adobe &lt;span class="caps"&gt;AIR&lt;/span&gt; (anciennement connu sous le nom Apollo)
et JavaFX sont mis côte à côte pour la création d&amp;#8217;un même widget, un&amp;nbsp;chronomètre.&lt;/p&gt;
&lt;p&gt;Il est comme toujours évident qu&amp;#8217;une technologie ne répondra pas à tous les
besoins. Mais concernant le développement d&amp;#8217;application riche je me dis que je
vais peut-être bien me pencher davantage sur Adobe &lt;span class="caps"&gt;AIR&lt;/span&gt; quant on voit le
résultat du chronomètre sous cette technologie et le développement y ayant
mené. Ainsi le widget n&amp;#8217;a aucune décoration et supporte la transparence. C&amp;#8217;est
la différence principale mise en avant dans l&amp;#8217;article. Peut-être qu&amp;#8217;il y a
possibilité d&amp;#8217;y arriver avec les autres technologies (en Java c&amp;#8217;est possible
d&amp;#8217;ôter la décoration donc en JavaFX sûrement aussi) mais &lt;span class="caps"&gt;AIR&lt;/span&gt; le fait très
simplement. Au niveau du déploiement les 3 technologies me semblent
défendables; il n&amp;#8217;est en tout cas pas difficile d&amp;#8217;effectuer cette opération
sur aucune des 3&amp;nbsp;technologies.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/KpEIjVF6Wv0" height="1" width="1"/&gt;</description>
         <pubDate>08 Oct 07 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/adobe-air.html</feedburner:origLink></item>    
      <item>
         <title>LibraryThing</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/nP56Xtr8QVw/librarything.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/librarything.html</guid>
         <description>&lt;p&gt;J&amp;#8217;ai parlé il y a quelques temps de &lt;a href="http://www.delicious-monster.com"&gt;Delicious
Library&lt;/a&gt;. Application permettant de gérer votre médiathèque de façon
agréable grâce à de beaux effets&amp;#8230; Aujourd&amp;#8217;hui j&amp;#8217;ai découvert
&lt;a href="http://www.librarything.fr"&gt;LibraryThing&lt;/a&gt;. Ce site permet de gérer sa bibliothèque en ligne et d&amp;#8217;être
lié a une communauté forte de plus de 280&amp;#8216;000 membres. Les fonctionnalités
sont similaires à Delicious mais il est évident que l&amp;#8217;accès au travers de la
grande toile apporte quelques avantages. Il est ainsi possible de consulter
l&amp;#8217;avis des autres membres sur des livres que l&amp;#8217;on posséde ou qui sont
similaires. On peut également intégrer des groupes d&amp;#8217;internautes qui ont les
memes gouts que vous pour parler de vos découvertes ou d&amp;#8217;échanger tout
simplement vos appréciations&amp;#8230; Bref le fait de rendre l&amp;#8217;application plus
sociale est vraiment&amp;nbsp;sympathique&amp;#8230;&lt;/p&gt;
&lt;p&gt;La communauté de développeurs autour de LibraryThing a l&amp;#8217;air bien active. Elle
alimente un &lt;a href="http://www.librarything.fr/blog/"&gt;blog&lt;/a&gt; et fournit plusieurs &lt;a href="http://www.librarything.fr/tools"&gt;outils sympathique&lt;/a&gt; en marge de
l&amp;#8217;application comme un widget à publier sur son blog personnel ou encore un
plugin firefox permettant de faire directement une recherche sur le site à partir d&amp;#8217;une sélection de&amp;nbsp;texte.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/nP56Xtr8QVw" height="1" width="1"/&gt;</description>
         <pubDate>07 Oct 07 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/librarything.html</feedburner:origLink></item>    
      <item>
         <title>Les joies de la configuration réseau</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/kHhzLKu7RT0/les-joies-de-la-configuration-reseau.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/les-joies-de-la-configuration-reseau.html</guid>
         <description>&lt;p&gt;/etc/modprobe.c/blacklist : un fichier important! &amp;#8230;. La configuration de
serveur, stations et autres périphériques est la chose la plus ennuyeuse à mes
yeux en informatique. Mais bon il faut bien y passer de temps en temps. J&amp;#8217;ai
enfin terminé la configuration de mon serveur sous ubuntu feisty. Si vous
possédez comme moi un chip sis 191 comme carte ethernet voici quelques notes&amp;nbsp;importantes:&lt;/p&gt;
&lt;p&gt;Le driver intégré à la distrib fait arrêter le démarrage de votre os. Il faut
donc désactiver le composant depuis le bios. Ensuite pour installer le driver
on est obligé, à ma connaissance mais ca peut très bien évoluer, de passer par
un driver windows. Il vous faut donc le dowloader depuis le site de sis.
Ensuite il va falloir installer ndiswrapper qui permet d&amp;#8217;installer le&amp;nbsp;driver:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;sudo ndiswrapper -i &lt;em&gt;nom_driver.inf&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;sudo depmod&amp;nbsp;-a&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;sudo modprobe&amp;nbsp;ndiswrapper&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;sudo ndiswrapper&amp;nbsp;-m&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Voilà ndiswrapper est maintenant configuré. Ce qu&amp;#8217;il m&amp;#8217;a fallu encore faire
que &lt;a href="http://ubuntuforums.org/archive/index.php/t-522139.html"&gt;je n&amp;#8217;ai pas trouvé sur cette procédure&lt;/a&gt; c&amp;#8217;est d&amp;#8217;ajouter le module
sis190 au fichier /etc/modprobe.c/blacklist. Il faut juste ajouter blacklist
sis190 et le tour est joué. Sans ajouter cette ligne, ubuntu va tenter de
charger ce module pour la carte réseau et va faire planter le démarrage. Après
blacklistage, ndiswrapper prend les choses en main et tout&amp;nbsp;fonctionne.&lt;/p&gt;
&lt;p&gt;C&amp;#8217;était le plus compliqué à trouver mais maintenant c&amp;#8217;est tout bon j&amp;#8217;ai mon
serveur ssh qui tourne dessus et grâce à &lt;a href="http://www.ntfs-3g.org/"&gt;ce driver&lt;/a&gt; il est enfin possible
de lire et écrire sur partition ntfs donc je n&amp;#8217;ai pas à me casser bonbon à
convertir/réorganiser toutes mes partitions&amp;#8230; Ouf! Voilà qui est bien, enfin
fini&amp;#8230; Ah et pis chose rien à voir&amp;#8230; Si vous voulez utiliser tomcat sur
système Unix (en tout cas sur mac), ajouter bien l&amp;#8217;autorisation d&amp;#8217;exécution à
tous les fichiers .sh sinon vous vous prendrez une erreur concernant une
variable &lt;span class="caps"&gt;BASEDIR&lt;/span&gt;&amp;#8230; Enfin bon pas toujours&amp;nbsp;logique.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/kHhzLKu7RT0" height="1" width="1"/&gt;</description>
         <pubDate>05 Oct 07 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/les-joies-de-la-configuration-reseau.html</feedburner:origLink></item>    
      <item>
         <title>Multithreaded Java GUI Programming</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/mqgplyY6vb4/multithreaded-java-gui-programming.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/multithreaded-java-gui-programming.html</guid>
         <description>&lt;p&gt;J&amp;#8217;ai lu récemment &lt;a href="http://www.informit.com/articles/article.aspx?p=787119&amp;amp;seqNum=1"&gt;cet article&lt;/a&gt; sur InformIT. J&amp;#8217;ai cependant une petite
précision à faire. Il est en effet important de connaître la structure de
swing au niveau threading avant de faire passer une application monothread à
une application multithread. Ce n&amp;#8217;est pas aussi simple que l&amp;#8217;article semble le&amp;nbsp;montrer.&lt;/p&gt;
&lt;p&gt;Au départ de toute application, swing ou pas, la machine virtuelle démarre un
thread de lancement. Ce thread a pour nom le &lt;em&gt;main-thread&lt;/em&gt;, c&amp;#8217;est donc au sein
de celui-ci qu&amp;#8217;est lancé la méthode &lt;em&gt;main&lt;/em&gt; de votre application. Ensuite votre
code peut initialiser, lancer, tuer des threads à souhait. Mais lorsque vous
développez une application graphique avec le framework swing, un thread
additionnel est lancé. Il se nomme l&amp;#8217;&lt;em&gt;Event Dispatch Thread (_abbrévié _EDT)&lt;/em&gt;.
Ce thread a pour but de gérer les interactions de l&amp;#8217;utilisateur et l&amp;#8217;affichage
des composants graphiques de votre application. Ce qui est important c&amp;#8217;est que
ce thread n&amp;#8217;ait à faire que des tâches très courtes afin que votre application
ne gèle pas mais également que tout changement d&amp;#8217;apparence de votre
application passe par&amp;nbsp;lui.&lt;/p&gt;
&lt;p&gt;Si maintenant nous revenons à l&amp;#8217;article de Monsieur &lt;a href="http://www.informit.com/authors/bio.aspx?a=ff0e7b03-51ce-4983-9e3f-68485b1e8ceb"&gt;Morris&lt;/a&gt; nous pouvons
voir en page 3 que pour lui passer une application swing en multithreading est
aussi simple que de créer un thread lors d&amp;#8217;un clic de bouton et le lancer. Ce
pourrait en effet paraître très facile! Mais il faut faire très attention en
suivant cette méthode&amp;#8230; En effet si vous mettez à jour votre application
depuis le thread lancé il peut vous arriver malheur et ce qu&amp;#8217;il fait dans&amp;nbsp;l&amp;#8217;article.&lt;/p&gt;
&lt;p&gt;En revenant à notre description (très rapide) de l&amp;#8217;architecture swing nous
nous rappelons de l&amp;#8217;&lt;span class="caps"&gt;EDT&lt;/span&gt;. Tout ce qui concerne un changement graphique doit
passer par ce thread puisque c&amp;#8217;est lui gère &lt;strong&gt;tout&lt;/strong&gt; (redimensionnement,
rafraîchissement, disposition&amp;#8230;) ! Il existe plusieurs méthodes dans l&amp;#8217;&lt;span class="caps"&gt;API&lt;/span&gt; de
java qui permettent d&amp;#8217;ajouter une tâche à effectuer dans l&amp;#8217;&lt;span class="caps"&gt;EDT&lt;/span&gt;:
&lt;a href="http://java.sun.com/javase/6/docs/api/javax/swing/SwingUtilities.html#invokeLater(java.lang.Runnable)"&gt;SwingUtilities.invokeLater(Runnable r)&lt;/a&gt; et
&lt;a href="http://java.sun.com/javase/6/docs/api/javax/swing/SwingUtilities.html#invokeAndWait(java.lang.Runnable)"&gt;SwingUtilities.invokeAndWait(Runnable&amp;nbsp;r)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Je vous laisse consulter la documentation pour connaître leur spécificités.
Tout cela pour dire qu&amp;#8217;il ne faut pas oublier de passer par l&amp;#8217;&lt;span class="caps"&gt;EDT&lt;/span&gt; pour changer
l&amp;#8217;aspect de votre application pour ne pas avoir de&amp;nbsp;surprise.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/mqgplyY6vb4" height="1" width="1"/&gt;</description>
         <pubDate>02 Oct 07 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/multithreaded-java-gui-programming.html</feedburner:origLink></item>    
      <item>
         <title>3 applics utiles</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/81txxhklGjk/3-applics-utiles.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/3-applics-utiles.html</guid>
         <description>&lt;p&gt;Les stations mac sont réellement splendides à mes yeux. L&amp;#8217;expérience
utilisateur est sans égale grâce aux différends effets de transparence et
d&amp;#8217;animation. Une toute autre manière de penser que Windows. Il est vrai que
Vista comporte également de sympathiques nouveautés mais bon je ne veux pas
faire de comparaisons ou de débats mais plutôt parler de quelques applications
que je trouve sympathiques sur&amp;nbsp;mac.&lt;/p&gt;
&lt;h2 id="delicious-library1"&gt;&lt;a href="http://www.delicious-monster.com/"&gt;Delicious&amp;nbsp;Library&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;La première d&amp;#8217;entre elle se nomme Delicious Library. Cette application permet
de gérer votre médiathèque entièrement. Vous pouvez y ajouter vos livres, cd,
jeux vidéos et films et ceux-ci prendront place dans votre étagère virtuelle.
L&amp;#8217;ajout se fait très facilement grâce à la recherche intégrée qui se couple à
&lt;a href="http://www.amazon.fr" title="Amazon France"&gt;Amazon&lt;/a&gt; (uniquement Canada et France dans la version démo). Mais la
première astuce (assez bluffante je dois dire), c&amp;#8217;est la lecture de code &lt;span class="caps"&gt;ISBN&lt;/span&gt;
grâce à l&amp;#8217;iSight! Vous défilez simplement votre livre devant la webcam et hop
votre média s&amp;#8217;ajoute sur l&amp;#8217;étagère! Si vous possédez un lecteur de code barre
vous pouvez bien sûr l&amp;#8217;utiliser et remplir votre médiathèque en moins de deux
de tout ce que vous possédez. L&amp;#8217;ajout effectué, la fiche est remplie avec
l&amp;#8217;avis général des internautes sur cette objet, différentes infos avec en
prime une liste d&amp;#8217;objets similaires (fort sympathique lorsque l&amp;#8217;on a apprécié
un bon bouquin par exemple.Delicious vous permet également de gérer une liste
d&amp;#8217;amis à qui vous auriez prêté des objets de votre collection et qui vous
renseigne sur la date de retour&amp;nbsp;prévu.&lt;/p&gt;
&lt;h2 id="parallels-desktop"&gt;Parallels&amp;nbsp;Desktop&lt;/h2&gt;
&lt;p&gt;Parallels Desktop est une machine virtuelle permettant de faire tourner des
systèmes opératifs au sein même du votre. Ceci me permet donc de lancer par
exemple Windows Xp sur mon Mac. Fort utile pour lancer des démos jouables des
jeux qui m&amp;#8217;intéressent et qui bien souvent ne tournent pas sur Mac. De plus
certaines applics ne sont pas portées sur Mac et donc une licence Microsoft
est souvent bien utile. Il existe plusieurs concurrents offrant ce genre de
service. J&amp;#8217;en ai essayé 2 jusqu&amp;#8217;à présent. Pour l&amp;#8217;instant je reste sur celui-
ci; l&amp;#8217;interaction entre la machine virtuelle et mon système hôte (ici mon mac)
est à mes yeux plus performante qu&amp;#8217;avec le concurrent que j&amp;#8217;ai pu essayer
(Innotek). Un partage commun est directement accessible, les périphériques
sont mieux gérés, DirectX sur la machine virtuelle (indispensable pour les
applications graphiques comme les jeux)&amp;#8230; Vraiment une application très utile
et qui s&amp;#8217;intègre très bien à Mac &lt;span class="caps"&gt;OS&lt;/span&gt;. Et encore davantage avec l&amp;#8217;application
qui&amp;nbsp;suit.&lt;/p&gt;
&lt;h2 id="virtuedesktop"&gt;VirtueDesktop&lt;/h2&gt;
&lt;p&gt;Cette application est simplement un gestionnaire de bureau. Très facile
d&amp;#8217;accès pour tout utilisateur. Vous aurez donc la possibilité de créer
plusieurs bureaux ce qui permet de gérer ingénieusement ces applications. Dans
mon cas sur un bureau j&amp;#8217;ai mon Mac &lt;span class="caps"&gt;OS&lt;/span&gt; et sur un autre bureau Windows &lt;span class="caps"&gt;XP&lt;/span&gt;. En
appuyant les touches &lt;em&gt;Shift + Ctrl + droite _ou _gauche&lt;/em&gt; du pavé directionnel
vous pouvez passer d&amp;#8217;un bureau à l&amp;#8217;autre avec une jolie animation
(configurable - perso j&amp;#8217;ai laissé l&amp;#8217;anim cubique) en prime. Ce qui est génial
c&amp;#8217;est que Parallels peut passer votre machine virtuelle en plein écran, vous
pouvez passer donc d&amp;#8217;un mac à un pc en une combinaison de&amp;nbsp;touches!&lt;/p&gt;
&lt;p&gt;Les deux dernières applics n&amp;#8217;ont une interface à proprement parler
extraordinaire. VirtueDesktop n&amp;#8217;a quasiment pas d&amp;#8217;interface mais ces
applications et les applications mac en général s&amp;#8217;intègrent vraiment bien à
l&amp;#8217;os. C&amp;#8217;est un réel plaisir que de travailler sur un mac. Je deviens vraiment
accro à tous ces effets&amp;#8230;. Et ne plus voir d&amp;#8217;écran bleu, ou de bulle de
notification toutes les 2 sec pour me faire savoir que des mises à jours sont
prêtes ou que je suis connecté au réseau local&amp;#8230;. Ca fait du bien! (P.S : je
ne suis point du tout anti-microsoft)&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/81txxhklGjk" height="1" width="1"/&gt;</description>
         <pubDate>01 Oct 07 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/3-applics-utiles.html</feedburner:origLink></item>    
      <item>
         <title>Les objets de conditions</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/lwb9WvmXaFg/les-objets-de-conditions.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/les-objets-de-conditions.html</guid>
         <description>&lt;p&gt;La &lt;span class="caps"&gt;JDK&lt;/span&gt; 5 a apporté de nombreuses fonctionnalités au niveau du développement
multi-threading. Aujourd&amp;#8217;hui j&amp;#8217;aimerais discuter un peu des objets de&amp;nbsp;conditions.&lt;/p&gt;
&lt;p&gt;Un objet de condition permet de définir une condition (non pas vrai?) à
remplir avant de continuer le processus définit par votre programme. Imaginons
que vous développiez une application de gestion de stock pour le garage
Marielo du centre du patelin. Angelo, le gérant, veut pouvoir gérer son stock
depuis la maison mais également que ses employés puissent le mettre à jour
directement avec les clients lors d&amp;#8217;un devis ou d&amp;#8217;une commande spécifique.
Maintenant passons par-dessus toute l&amp;#8217;analyse, que vous avez d&amp;#8217;ailleurs
parfaitement effectuée avec Angelo lui-même, pour arriver au coeur de votre
application: la méthode &lt;em&gt;removePieceFromStock(Piece p, int quantity)&lt;/em&gt;. Dans
cette méthode l&amp;#8217;utilisation d&amp;#8217;objets de conditions devient évidente. En effet
dans le cas ou plusieurs clients (de votre application donc) appellent cette
méthode il vous faudra vérifier que votre stock contient bien le nombre de
pièces à commander. S&amp;#8217;il s&amp;#8217;avère que le nombre de pièces est suffisant vous
pouvez alors les retirer. Avant de vérifier le nombre de pièces en stock vous
aurez obtenu un verrou sur l&amp;#8217;objet courant du fait que cette méthode modifie
l&amp;#8217;état de votre stock. Maintenant si vous obtenez le verrou pour l&amp;#8217;objet et
que votre condition échoue&amp;#8230; Vous devez libérer le verrou de l&amp;#8217;objet afin que
le stock puisse à nouveau être fourni en pièce(s) qu&amp;#8217;il vous&amp;nbsp;faut.&lt;/p&gt;
&lt;p&gt;Avant la &lt;span class="caps"&gt;JDK&lt;/span&gt; 5 la seule possibilité d&amp;#8217;utiliser un objet de condition était
d&amp;#8217;en créer soi-même et de gérer les accès depuis plusieurs threads. Autant
dire que sans être un expert du genre les erreurs de conception ou du moins
les performances pouvaient s&amp;#8217;en ressentir très&amp;nbsp;facilement.&lt;/p&gt;
&lt;p&gt;Le package java.util.concurrent.lock fournit 2 classes particulièrement utiles
dans notre situation. Je veux parler de Lock et de Condition. L&amp;#8217;interface Lock
définit un objet de verrou (plusieurs implémentations existent au sein du
&lt;span class="caps"&gt;JDK&lt;/span&gt;). La classe Condition quant à elle représente un objet de condition. Un
objet Lock comporte de nombreux avantages par rapport à une conception mettant
en oeuvre uniquement des méthodes ou des blocs &lt;em&gt;synchronized&lt;/em&gt; mais la
définition de ces avantages n&amp;#8217;est pas le but de ce post. Je vous laisse vous
référer à la javadoc pour obtenir une description complète sur ces éléments de
la librairie. Sommairement, il faut savoir qu&amp;#8217;un objet Lock peut avoir
plusieurs Conditions et que ces Conditions permettent de stopper le
déroulement de votre programme lorsqu&amp;#8217;une condition n&amp;#8217;est pas remplie et de
reprendre à cet endroit lorsqu&amp;#8217;un autre thread signale que la condition peut
avoir changé. Le principe est le même que celui des méthodes wait/notify de la
classe Thread. Le premier avantage est pour ma part une meilleure lisibilité
du code de l&amp;#8217;application puisque l&amp;#8217;on connaît directement l&amp;#8217;objet de la
condition à&amp;nbsp;remplir.&lt;/p&gt;
&lt;p&gt;Pour finir, voici une solution possible au développement pour&amp;nbsp;Angelo:&lt;/p&gt;
&lt;div class="syntax"&gt;&lt;pre&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;removePieceFromStock&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Piece&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;quantity&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt; 
    &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt; 
            &lt;span class="n"&gt;lock&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;lock&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;//acquiert le verrou &lt;/span&gt;
            &lt;span class="k"&gt;while&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;getQuantity&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;quantity&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
                &lt;span class="n"&gt;insuffisantCondition&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;await&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;//libère le verrou &lt;/span&gt;
                                              &lt;span class="c1"&gt;//retire le nombre de &lt;/span&gt;
                                              &lt;span class="c1"&gt;//pièces du stock &lt;/span&gt;
        &lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="k"&gt;finally&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt; &lt;span class="n"&gt;lock&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;unlock&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;//libère le verrou } }&lt;/span&gt;
    &lt;span class="cm"&gt;/**&lt;/span&gt;
&lt;span class="cm"&gt;    une autre méthode permettra de rajouter des pièces au stock; &lt;/span&gt;
&lt;span class="cm"&gt;    dans cette méthode il faudra signaler que la condition change &lt;/span&gt;
&lt;span class="cm"&gt;    en appelant la méthode insuffisantCondition.signalAll() ou &lt;/span&gt;
&lt;span class="cm"&gt;    insuffisantCondition.signal() ce qui permettra de relancer un&lt;/span&gt;
&lt;span class="cm"&gt;    thread en attente sur cette condition - à noter qu&amp;#39;il est &lt;/span&gt;
&lt;span class="cm"&gt;    impératif d&amp;#39;obtenir le verrou qui possède la condition afin &lt;/span&gt;
&lt;span class="cm"&gt;    de signaler un changement d&amp;#39;état &lt;/span&gt;
&lt;span class="cm"&gt;    **/&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/lwb9WvmXaFg" height="1" width="1"/&gt;</description>
         <pubDate>26 Sep 07 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/les-objets-de-conditions.html</feedburner:origLink></item>    
      <item>
         <title>Macbook arrivé!</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/1ERx1A0C3hE/macbook-arrive.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/macbook-arrive.html</guid>
         <description>&lt;p&gt;Quel&amp;nbsp;bonheur!&lt;/p&gt;
&lt;p&gt;J&amp;#8217;ai donc reçu mon macbook pro jeudi dernier dans l&amp;#8217;après-midi. Je l&amp;#8217;avais
commandé fin août suite à mon embauche chez Logica. J&amp;#8217;ai longtemps hésité
entre un macbook et un macbook pro mais la taille de l&amp;#8217;écran ainsi que la
carte graphique a forcé mon choix. J&amp;#8217;avais en effet peur qu&amp;#8217;un écran de 13&amp;#8221;
soit un peu short pour du dev et la carte graphique (une GeForce 8600M &lt;span class="caps"&gt;GT&lt;/span&gt; de
256mo) va me permettre de faire de la virtualisation sans problème. La
livraison a donc pris du temps, mais l&amp;#8217;attente est justifiée lorsque l&amp;#8217;on
constate la qualité du package. Un emballage splendide et l&amp;#8217;intérieur
également. Dans ce domaine Apple est vraiment remarquable; c&amp;#8217;est beau et ca
fait d&amp;#8217;autant plus plaisir! Voilà maintenant je n&amp;#8217;ai plus qu&amp;#8217;à configurer ma
station de bureau en mode serveur pour avoir accès à tout mon travail effectué
sans tout transférer&amp;#8230;. J&amp;#8217;adoooorrrrreeeee&amp;nbsp;ca&amp;#8230;.&lt;/p&gt;
&lt;p&gt;Au&amp;nbsp;boulot!&lt;/p&gt;
&lt;p&gt;[posted with &lt;a href="http://ecto.kung-foo.tv"&gt;ecto&lt;/a&gt;]&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/1ERx1A0C3hE" height="1" width="1"/&gt;</description>
         <pubDate>22 Sep 07 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/macbook-arrive.html</feedburner:origLink></item>    
      <item>
         <title>Embauche - Logica</title>
         <link>http://feedproxy.google.com/~r/poxd-feed/~3/pE1qiNI_3us/embauche-logica.html</link>
         <guid isPermaLink="false">http://www.poxd.org/blog/embauche-logica.html</guid>
         <description>&lt;p&gt;Nous sommes le 23 août 2007 et cela fait maintenant 23 jours que je suis sans
emploi. Durant tout ce temps j&amp;#8217;ai pu constater combien le métier
d&amp;#8217;informaticien est recherché! Je me rappelle encore la réunion d&amp;#8217;information
concernant l&amp;#8217;école que j&amp;#8217;ai fréquentée&amp;#8230;. &amp;#8220;Il faudrait couper les nouveaux
diplômés en 2 pour combler la demande!&amp;#8221;&amp;#8230; Eh bien visiblement la demande est
toujours forte! En tout cas au niveau développement c&amp;#8217;est flagrant.J&amp;#8217;ai ainsi
pu passer plusieurs entretiens et avoir plusieurs propositions (mandats,
contrats temporaires). Content du résultat je n&amp;#8217;ai pas fait l&amp;#8217;erreur de me
jeter tête baissée sur la 1ère offre venue mais j&amp;#8217;ai plutôt attendu quelque
peu&amp;#8230; Bien m&amp;#8217;en a fait! J&amp;#8217;ai en effet reçu plusieurs coups de fil après avoir
posté mon cv sur Monster (vous êtes dans l&amp;#8217;info et vous cherchez du boulot?
&amp;#8212;&amp;gt; &lt;a href="http://www.monster.ch/"&gt;monster.ch&lt;/a&gt;!) et à ma grande surprise l&amp;#8217;entreprise&lt;a href="http://www.logicacmg.com/ch"&gt; &lt;/a&gt;&lt;a href="http://www.logicacmg.com/page/400004588"&gt;LogicaCMG
&lt;/a&gt;s&amp;#8217;est grandement intéressé à mon profil. Après un contact téléphonique et
email j&amp;#8217;ai pu passer un entretien détendu et fort sympathique avec eux et à
présent mon embauche est en court de finalisation!  Conclusion: ne pas se
jeter sur la première offre d&amp;#8217;emploi venue et rester patient jusqu&amp;#8217;à ce qu&amp;#8217;une
offre vous plaise! Attention à ne pas idéaliser trop non plus (bien que pour
moi, je n&amp;#8217;aurais jamais imaginé entrer à mon âge dans une boîte du genre de&amp;nbsp;Logica)&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/poxd-feed/~4/pE1qiNI_3us" height="1" width="1"/&gt;</description>
         <pubDate>23 Aug 07 00:00 GMT</pubDate>
         <author>jacqueminv@gmail.com (Valentin Jacquemin)</author>
      <feedburner:origLink>http://www.poxd.org/blog/embauche-logica.html</feedburner:origLink></item>
   </channel>
</rss>
