<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2403570859990371391</id><updated>2011-12-16T14:10:09.363-08:00</updated><category term='Conférence'/><category term='games'/><category term='devoxx 2010'/><category term='apogee'/><category term='Valtech'/><category term='livre retour rework 37signals'/><category term='javascript paris mettup'/><category term='git github maven cygwin maven-release-plugin'/><title type='text'>Ulrich's Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ulrichinaction.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ulrichinaction.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ulrich's Blog</name><uri>http://www.blogger.com/profile/14701465377125729781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_aamVU703DWQ/TSJOyPoUUnI/AAAAAAAAA64/g25RVX1-Hr0/S220/face1b.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2403570859990371391.post-6665094669778114329</id><published>2010-12-10T03:25:00.000-08:00</published><updated>2011-01-04T03:38:09.706-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript paris mettup'/><title type='text'>Paris Javascript Meetup #2</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_aamVU703DWQ/TSMGX81SwYI/AAAAAAAAA7Y/i7y5E2cbVq4/s1600/pic%2B001.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_aamVU703DWQ/TSMGX81SwYI/AAAAAAAAA7Y/i7y5E2cbVq4/s320/pic%2B001.jpg" alt="" id="BLOGGER_PHOTO_ID_5558293373641736578" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;L'API Spore&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;J'ai continué mon immersion dans les mondes parallèles et vous propose un feedback rapide du très intéressant du Paris JS Meetup 2, qui s'est déroulé chez ISART Digital avec en maître de cérémonie Pierre-Loic. Intéressant à plus d'un titre, car non content d'y apprendre des choses passionnantes sur le vrai développement web, j'y ai rencontré des gens hors de la matrice Java/JavaEE, qui codent et qui le montrent. En outre et c'est là que l'on se rend compte de la richesse de ce type de soirée, je me suis trouvé à discuter aussi bien avec des développeurs iPhone, qu'avec des games designers ou encore des administrateurs systèmes fans de devops. La soirée s'est donc à peu près passée comme tout bon meetup qui se respecte, c'est à dire un enchaînement de quelques présentations, une pause pizzas, la suite des festivités et un dernier verre où l'on refait gentiment le monde.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;Voici en bref, le contenu des différentes présentations :&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;Présentation HTML5 - &lt;a href="http://twitter.com/#%21/paulgreg"&gt;Grégory PAUL&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;Grégory nous a présenté avec exemples à l'appui, des notions d'HTML5 sur :&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;Les &lt;b&gt;Webworker,&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;Le &lt;b&gt;WebGL&lt;/b&gt;,&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;Les &lt;b&gt;Websockets &lt;/b&gt;via un exemple de chat avec &lt;b&gt;node.js&lt;/b&gt;,&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;Le &lt;b&gt;Webstorage&lt;/b&gt;,&lt;/span&gt;&lt;/li&gt;&lt;li&gt;La &lt;b&gt;Géolocalisation,&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;...&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="white-space: normal;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;b&gt;Présentation de Spore et Node-Spore - &lt;a href="https://github.com/francois2metz/"&gt;François de Metz&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="white-space: normal;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;J'avais entendu parler de spore à l'OSDC FR 2010 cet été et j'avais trouvé l'idée relativement intéressante, car je n'avais pas réellement compris l'impact de cette API. En effet, le but de spore est de non seulement de décrire une API REST au travers d'une syntaxe JSon simple, mais aussi d'apporter du comportement dynamiquement au travers de middlewares dont le but est d'adapté une API cliente et ainsi de pouvoir gérer les différences de versions par exemple. Parmi les fonctionnalités énoncées par François, on retrouve :&lt;br /&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;La possibilité de rajouter des informations d'authentification à la volée,&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;La possibilité de réparer une API cassée,&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;La possibilité de mettre en cache les réponses,&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;Le middleware connect permettant de rajouter OAuth sur l'appel d'une API Twitter par exemple,&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;...&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;Présentation sur les jeux en HTML5 - &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://twitter.com/#%21/hexapode"&gt;&lt;span class="Apple-style-span" style="white-space: pre;font-size:medium;" &gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;b&gt;Pierre-Loic &lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;font-size:medium;" &gt;&lt;b&gt;Doulcet&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Encore une présentation aussi intéressante que technique avec un petit côté vintage, car Pierre-Loic nous a gentillement rappelé que sans la game-loop, point de salut ! Voici une énumération un peu sommaire du cookbook concocté par le speaker :&lt;br /&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;Un rappel sur ce qu'est une game-loop,&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;Eviter de redessiner tout l'écran afin de gagner en traitement,&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;Utiliser &lt;/span&gt;&lt;i style="white-space: pre;"&gt;setTimeOut&lt;/i&gt; &lt;span class="Apple-style-span" style="white-space: pre;"&gt;plutôt que &lt;/span&gt;&lt;i style="white-space: pre;"&gt;setIntervale&lt;/i&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;, &lt;/span&gt;&lt;/li&gt;&lt;li&gt;Utiliser le Webstorage locale,&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;Utiliser YUI Compressor et Closure pour optimiser le transfert, &lt;/span&gt;&lt;/li&gt;&lt;li&gt;Utiliser un &lt;i style="white-space: pre;"&gt;setTimeOut &lt;/i&gt;&lt;span style="white-space: pre;"&gt;et dynamique en fonction du temps déjà passé dans la game-loop,&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="white-space: pre;"&gt;Utiliser les &lt;i&gt;Webworker&lt;/i&gt; pour l'IA,&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="white-space: pre;"&gt;La balise Audio est juste super limitée !&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;A noter que Pierre-Loic organise en 2011 le Html Game Jam, soit 48h pour coder un jeu en HTML5 de manière collaborative.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;Présentation de La balise &lt;i&gt;video&lt;/i&gt; HTML5 et Javascript&lt;i&gt; - &lt;/i&gt;&lt;a href="http://twitter.com/#%21/@challet"&gt;Clément Hallet&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"&gt;Cette présentation nous a montré comme améliorer le comportement d'une balise HTML5 en Javascript. Le cas d'école a été la balise vidéo où Clément a pris un malin plaisir à modifier ses attributs par le DOM avec Mooplay. Un exemple intéressant a été l'ajout par incrustation d'une traduction sur l'image en cours de lecture. Un projet à suivre...&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2403570859990371391-6665094669778114329?l=ulrichinaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ulrichinaction.blogspot.com/feeds/6665094669778114329/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2403570859990371391&amp;postID=6665094669778114329' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default/6665094669778114329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default/6665094669778114329'/><link rel='alternate' type='text/html' href='http://ulrichinaction.blogspot.com/2010/12/jai-continue-mon-immersion-dans-les.html' title='Paris Javascript Meetup #2'/><author><name>Ulrich's Blog</name><uri>http://www.blogger.com/profile/14701465377125729781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_aamVU703DWQ/TSJOyPoUUnI/AAAAAAAAA64/g25RVX1-Hr0/S220/face1b.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_aamVU703DWQ/TSMGX81SwYI/AAAAAAAAA7Y/i7y5E2cbVq4/s72-c/pic%2B001.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2403570859990371391.post-344697786411957461</id><published>2010-11-30T22:03:00.000-08:00</published><updated>2010-12-14T16:03:02.459-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='devoxx 2010'/><title type='text'>Devoxx 2010</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_aamVU703DWQ/TQgFF1qbvOI/AAAAAAAAA6M/38I0iys-JkE/s1600/IMG_2546.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 442px; height: 240px;" src="http://1.bp.blogspot.com/_aamVU703DWQ/TQgFF1qbvOI/AAAAAAAAA6M/38I0iys-JkE/s320/IMG_2546.JPG" alt="" id="BLOGGER_PHOTO_ID_5550692138596678882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;i&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;Voici mon billet consacré à Devoxx 2010. Les meetings étant aussi riches en contenu qu'en rencontres, je ne parlerai que des faits et sessions qui m'ont le plus marqué.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="text-decoration: none; vertical-align: baseline;"&gt;&lt;div  style="font-weight: bold; font-style: normal;color:transparent;"&gt;&lt;span style="color: rgb(0, 0, 0); font-style: normal; text-decoration: none; vertical-align: baseline; font-weight: bold;"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-weight: bold; font-style: normal; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); font-weight: normal;font-family:Georgia,serif;" &gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;La keynote&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;span style="vertical-align: baseline; text-decoration: none; font-style: normal; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://2.bp.blogspot.com/_aamVU703DWQ/TQgEapgZ0vI/AAAAAAAAA6E/bQwewo-ve5M/s1600/IMG_2290.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_aamVU703DWQ/TQgEapgZ0vI/AAAAAAAAA6E/bQwewo-ve5M/s200/IMG_2290.JPG" alt="" id="BLOGGER_PHOTO_ID_5550691396599010034" border="0" /&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; text-decoration: none; font-style: normal; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;“Welcome  to Devoxx 2010” ! Cette phrase longuement attendue par la communauté  Java depuis quelques semaines a raisonné comme un go-ahead de  soulagement pour les 3000 personnes ayant bravé le climat Belge.  Toujours organisée dans l’immense salle 8 du Metropolis d’Anvers, cette  keynote divisée en trois parties, nous a appris que Devoxx 2010 a battu  son record de visiteurs, qui avoisine les 3000 personnes, qu’il y a un  wifi fiable (ce que je confirme), que la plateforme Parleys propose le  visionnage du contenu des sessions Devoxx à un prix vraiment intéressant  et dans des conditions (variété de clients) agréables. Brèf, une bonne  entrée pour &lt;a href="http://www.devoxx.com/display/Devoxx2K10/Stephan+Janssen"&gt;Stephan Janssen&lt;/a&gt;, l'organisateur de la conférence.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt; A suivie ensuite, l'intervention de &lt;a href="http://www.devoxx.com/display/Devoxx2K10/Mark+Reinhold"&gt;Mark Reinhold&lt;/a&gt; sur &lt;i&gt;Java SE The Road Ahead&lt;/i&gt;. Rien de bien nouveau dans la suite des évènements pour notre langage "favori", je vous encourage donc à lire l'article qui résume les futures fonctionnalités annoncées sur le site de &lt;a href="http://openjdk.java.net/projects/jdk7/features/"&gt;l'openjdk&lt;/a&gt;. Néanmoins, un point intéressant à noter est que la langage va devoir de plus en plus se prêter au jeu de la programmation concurrente, grâce notamment aux architectures 128&lt;/span&gt; processeurs. Il va falloir donc trouver d'autre moyens/pratiques de développement pour permettre aux développeurs de coder des applications simplement et c'est là que rentrera en jeu le projet &lt;a href="http://openjdk.java.net/projects/lambda/"&gt;lambda&lt;/a&gt;, dont les spécifications (mode raw) sont disponibles dans ce &lt;a href="http://mail.openjdk.java.net/pipermail/lambda-dev/attachments/20100122/3764c21a/attachment.txt"&gt;document&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="color: rgb(0, 0, 0);"&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="text-decoration: none; vertical-align: baseline;"&gt;&lt;div style="font-weight: bold; font-style: normal;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); font-weight: normal;font-family:Georgia,serif;" &gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;Enterprise IT vs. WWW&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://1.bp.blogspot.com/_aamVU703DWQ/TQgEHUNVcoI/AAAAAAAAA58/0JJj1zeht3E/s1600/IMG_2328.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_aamVU703DWQ/TQgEHUNVcoI/AAAAAAAAA58/0JJj1zeht3E/s200/IMG_2328.JPG" alt="" id="BLOGGER_PHOTO_ID_5550691064464372354" border="0" /&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;a href="http://www.devoxx.com/display/Devoxx2K10/Stefan+Tilkov"&gt;Stephan Stilkov&lt;/a&gt; a encore prouvé qu'il maitrisait sont &lt;a href="http://www.infoq.com/author/Stefan-Tilkov"&gt;sujet&lt;/a&gt;, c'est à dire REST. Même s'il n'est pas très difficile de mettre en lumière les avantages et inconvénients entre une architrecture SOAP et REST, il a su trouver les mots et les exemples justes pour inciter les gens a passer à la vitesse supérieure, j'ai cité REST. Il a comme à son habitude introduit son propos avec des phrases chocs des grands noms du développement, qui critiquent sans retenus les WS.  Le parallèle SOA/WS a fait mouche et le schéma montrait bien que les WS sont plus basés sur une architecture "technique" qu'une architecture logicielle. En effet, REST est avant un style de programmation et de pensée, qui est naturel au développement WEB. Il a donc prêché des convertis mais une piqure de rappel ne fait pas de mal de temps en temps.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="text-decoration: none; vertical-align: baseline; color: rgb(255, 204, 51);"&gt;&lt;div style="font-weight: bold; font-style: normal;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); font-weight: normal;font-family:Georgia,serif;" &gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;The Next Big JVM Language&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://4.bp.blogspot.com/_aamVU703DWQ/TQgD3n1bpEI/AAAAAAAAA50/BA3_zCWzuQM/s1600/IMG_2329.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 150px;" src="http://4.bp.blogspot.com/_aamVU703DWQ/TQgD3n1bpEI/AAAAAAAAA50/BA3_zCWzuQM/s200/IMG_2329.JPG" alt="" id="BLOGGER_PHOTO_ID_5550690794854917186" border="0" /&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;J'ai particulièrement bien aimé cette présentation juste et précise de &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;a href="http://www.devoxx.com/display/Devoxx2K10/Stephen+Colebourne"&gt;Stephen Colebourne&lt;/a&gt;. Il a dressé un panorama assez clair des différents challengers au langage Java, sans pour autant oublier de rappeler, que la JVM est avant tout une plateforme populaire, neutre, sure et auto-gérée.  Ses critères de sélections allaient du but du langage, au facteur humain de d'adoption, de compréhension, aux leçons &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;retenues des ses héritiers... Le premier a être passé sur le gril a été &lt;/span&gt;&lt;a style="color: rgb(0, 0, 0);" href="http://clojure.org/"&gt;Clojure&lt;/a&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;. Pour l'auteur, bien que Clojure soit pleinement fonctionnel, ait une approche intelligente et dispose d'une STM, il a néanmoins les principaux défauts d'être trop loin de Java et d'avoir une syntaxe a des années lumières de C/Java. Le second langage a avoir été passé en revu a été &lt;/span&gt;&lt;a style="color: rgb(0, 0, 0);" href="http://groovy.codehaus.org/"&gt;Groovy&lt;/a&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;. Encore une fois, ce langage ne sera pas le NBJL. En effet, l'auteur lui trouve comme d'autre l'avantage et l'inconvenient  d'être dynamique. Je vous laisse deviner pourquoi. En outre, l'auteur pense que ce langage est plus un complément à Java, qu'un remplaçant. Le troisième langage a avoir été décortiqué a été &lt;/span&gt;&lt;a style="color: rgb(0, 0, 0);" href="http://www.scala-lang.org/"&gt;Scala&lt;/a&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;. Ce langage a retenu l'attention de Stephen car il possède la caractéristique d'être aussi OO que fonctionnel, d'être massivement statiquement typé, d'être scallable par sa nature, d'être minimaliste au sens ou tout est librairie et que sa syntaxe est compréhensible des "humains". Le quatrième et dernier langage a avoir été passé en revue a été &lt;/span&gt;&lt;a style="color: rgb(0, 0, 0);" href="http://fantom.org/"&gt;Phantom&lt;/a&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;. Ce langage a également retenu l'attention du speaker pour les raisons suivantes : statiquement typé mais avec une pointe de dynamique, OO mais avec une pointe de fonctionnel, les variables ne peuvent être nulles, il est immutable, basé sur des modules et sa syntaxe est similaire à Java. Et le constat dans tout cela ? Et bien quand Scala est trop complexe, Fantom est fermé, quand Scala a un système de typage trop excessif, le typage de Phantom n'est pas assez puissant... Bref, pour conclure il semble qu'un bon NBJL est avant tout un langage que l'on maitrise et qui répond à une problématique donnée au bon moment. Et si Java X était le NBJL ?&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); font-weight: normal;font-family:Georgia,serif;" &gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-weight: bold;" class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;Building JavaFX Applications with Alternative Languages&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://4.bp.blogspot.com/_aamVU703DWQ/TQgDqn4rNNI/AAAAAAAAA5s/L0xhUUJ5iDI/s1600/IMG_2340.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 150px;" src="http://4.bp.blogspot.com/_aamVU703DWQ/TQgDqn4rNNI/AAAAAAAAA5s/L0xhUUJ5iDI/s200/IMG_2340.JPG" alt="" id="BLOGGER_PHOTO_ID_5550690571530220754" border="0" /&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;J'avoue avoir été un peu déçu par cette présentation qui relevait plus du pari qu'autre chose, il faut l'avouer. B&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;ien que &lt;/span&gt;&lt;a style="color: rgb(0, 0, 0);" href="http://www.devoxx.com/display/Devoxx2K10/Stephen+Chin"&gt;Stephen Chin&lt;/a&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; semblait connaître son affaire et que j'ai vu ce que j'attendais, c'est à dire voir du Clojure afficher de l'UI, j'ai trouvé la présentation un peu légère et peu dynamique. Néanmoins, il faut noter que la plupart des gros langages de la JVM actuelle comme JRuby, Clojure, Jython et Phantom peuvent utiliser &lt;/span&gt;&lt;a style="color: rgb(0, 0, 0);" href="http://javafx.com/"&gt;JavaFX&lt;/a&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; pour leur UI. Les exemples étaient simplistes mais avaient le méritent de fonctionner. J'ai pu noter toutefois que JavaFX Script APIs a été porté en Java et que l'on pourra donc s'affranchir du langage de script, qui a tant déplu aux développeurs, que les performances globales ont été améliorées, le support des animations CSS... En outre, j'ai noté un projet intéressant appelé &lt;/span&gt;&lt;a style="color: rgb(0, 0, 0);" href="https://code.google.com/p/visage/"&gt;Visage&lt;/a&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; qui est un DSL permettant de décrire les UI dans JavaFX.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; A suivre...&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);" class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); font-weight: normal;font-family:Georgia,serif;" &gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-weight: bold;" class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;Comparing JVM Web Frameworks&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://1.bp.blogspot.com/_aamVU703DWQ/TQgDW01DflI/AAAAAAAAA5k/W2lVZ7unRZM/s1600/IMG_2404.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_aamVU703DWQ/TQgDW01DflI/AAAAAAAAA5k/W2lVZ7unRZM/s200/IMG_2404.JPG" alt="" id="BLOGGER_PHOTO_ID_5550690231407312466" border="0" /&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;Ça fait tout drôle de le voir en vrai le &lt;a href="http://www.devoxx.com/display/Devoxx2K10/Matt+Raible"&gt;Matt Raible&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;. Fidèle à l'image que j'avais du personnage, la présentation a été aussi claire qu'utile. En effet, la recette miracle pour choisir le web framework de demain est simple : tout d'abord établir une pré-liste des candidats potentiels, créer un prototype à l'identique pour chacun d'entre eux, faire une matrice résumant les critères importants, faire une présentation qui résume le tout et permettre de s'approprier les documents, les applications d'exemples et recommandations (conclusions). Vient ensuite l'identification du type d'application cible : l'application à grand trafic et donc scalable, l'application à destination de l'intranet et donc avec peu d'utilisateurs, le produit maison qui doit tenir la route pour 5-10 ans, autre... Dans la foulée, n'oubliez pas d'établir une vingtaine de points&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;de comparaisons comme par exemple : la perception des développeur du framework, la courbe d'apprentissage, les jobs offerts cette techno, la validation la qualité de la documentation... Reste que vous pourrez retrouver tous ces points sur la slide de résumé disponible à l'URL suivante et vous laissez la surprise du grand vainqueur...&lt;/span&gt;&lt;br /&gt;&lt;a style="color: rgb(0, 0, 0);" href="https://bit.ly/jvm-frameworks-matrix"&gt;&lt;span class="name"&gt;JVM Web Framework Matrix&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); font-weight: normal;font-family:Georgia,serif;" &gt;&lt;span style="font-weight: bold;" class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;Defective Java: Mistakes that matter&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://1.bp.blogspot.com/_aamVU703DWQ/TQgC3mFcQJI/AAAAAAAAA5c/BQx6nuLLSbc/s1600/IMG_2439.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_aamVU703DWQ/TQgC3mFcQJI/AAAAAAAAA5c/BQx6nuLLSbc/s200/IMG_2439.JPG" alt="" id="BLOGGER_PHOTO_ID_5550689694873567378" border="0" /&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;a href="http://www.devoxx.com/display/Devoxx2K10/William+Pugh"&gt;William Pugh&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; étant à la fois professeur et ingénieur dans l'industrie, c'est avec la bienveillance du professeur et l'assurance du senior, qui l'a partagé son expérience en terme de qualité logicielle et productivité. Il a pris un malin plaisir a dresser un panorama des erreur les plus ou moins grossières, qui lui a été amené à rencontrer durant ses audits de code. Certaines vérités étant toujours bonnes à dire et à rappeler, voici un petit résumé des choses à faire ou ne pas faire : faites des tests ! Des tests unitaires, de non régressions, d'intégration, qu'importe, tester ! Un code ne peut anticiper une action non prévu, donc essayez de prévoir un maximum de cas, ne pas laisser le doute planer ou la place à l'improvisation. Si vous ne pouvez pas prévoir une erreur, tachez d'avoir les mécanismes de détections et de logging, la runtime est votre amie, car si une erreur inattendue arrive, nous devons le savoir, est-ce que mon code est facile à comprendre, à modifier ? Lancer une runtime est une façon raisonnable de planter gracieusement et s'assurer l'erreur est remontée, avec un peu de travail, nos sont souvent plus clairs et pratiques... Après ces quelques recommandations, William Pugh a enchainé avec un panorama du bestiaire des plus gros fails qu'il a rencontré sur Eclipse et chez Google au travers d'une analyse &lt;/span&gt;&lt;a style="color: rgb(0, 0, 0);" href="http://findbugs.sourceforge.net/"&gt;Findbugs&lt;/a&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;. Ce fût instructif et rassurant de voir que même chez les grands, des erreurs de la sorte peuvent arriver. La réalité dans tout cela, c'est qu'il n'y a pas d'arme magique à l'éradication d'un bug, qu'il faut tester, utiliser des outils d'analyse de code, qu'il faut être pragmatique dans l'écriture de son code, éradiquer le code mort où bien souvent le bug se réfugie... Toute une histoire.&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); font-weight: normal;font-family:Georgia,serif;" &gt;&lt;span style="font-weight: bold;" class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;Java Puzzlers - Scraping the Bottom of the Barrel&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="vertical-align: baseline; text-decoration: none; color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;br /&gt;A suivre...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2403570859990371391-344697786411957461?l=ulrichinaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ulrichinaction.blogspot.com/feeds/344697786411957461/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2403570859990371391&amp;postID=344697786411957461' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default/344697786411957461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default/344697786411957461'/><link rel='alternate' type='text/html' href='http://ulrichinaction.blogspot.com/2010/11/devoxx-2010.html' title='Devoxx 2010'/><author><name>Ulrich's Blog</name><uri>http://www.blogger.com/profile/14701465377125729781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_aamVU703DWQ/TSJOyPoUUnI/AAAAAAAAA64/g25RVX1-Hr0/S220/face1b.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_aamVU703DWQ/TQgFF1qbvOI/AAAAAAAAA6M/38I0iys-JkE/s72-c/IMG_2546.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2403570859990371391.post-1777287934210486406</id><published>2010-08-17T23:59:00.000-07:00</published><updated>2010-08-18T02:24:16.926-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='git github maven cygwin maven-release-plugin'/><title type='text'>Releaser avec Maven sur github</title><content type='html'>&lt;span style="font-size:85%;"&gt;Le but de l'exercice est de  &lt;span style="font-style: italic;"&gt;releaser &lt;/span&gt;un projet &lt;span style="font-weight: bold; font-style: italic;"&gt;Maven&lt;/span&gt;  simple en utilisant le &lt;a href="http://maven.apache.org/plugins/maven-release-plugin/"&gt;&lt;span style="font-weight: bold;"&gt;maven-release-plugin&lt;/span&gt;&lt;/a&gt;  via &lt;span style="font-weight: bold; font-style: italic;"&gt;Cygwin&lt;/span&gt; sur la plateforme &lt;span style="font-weight: bold; font-style: italic;"&gt;github&lt;/span&gt;. En effet, la procédure serait aussi simple que sur &lt;span style="font-weight: bold; font-style: italic;"&gt;Subversion&lt;/span&gt;, à la condition d'avoir ses &lt;span style="font-style: italic;"&gt;settings&lt;/span&gt; et ses POM au carré, ce que nous  allons voir de suite.&lt;br /&gt;&lt;br /&gt;Pour mener à bien l'opération, les pré-requis sont les suivants  :&lt;br /&gt;&lt;/span&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Avoir un environnement de développement sous  &lt;span style="font-style: italic;"&gt;Cygwin&lt;/span&gt;, le mien étant &lt;span style="font-style: italic;"&gt;Windows &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;XP SP3&lt;/span&gt; / &lt;span style="font-style: italic;"&gt;Cygwin &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;2.712&lt;/span&gt;, &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;/ java 1.6.0_17 / git 1.7.1 &lt;/span&gt;avec une auto-complétion des commandes &lt;span style="font-style: italic;"&gt;git&lt;/span&gt; bien pratique,&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Avoir une configuration &lt;span style="font-style: italic;"&gt;Maven&lt;/span&gt; opérationnelle dans le sens où vous avez accès aux maximums de &lt;span style="font-style: italic;"&gt;repositories&lt;/span&gt; publics et une plateforme d'hébergement/déploiement pour vos archives. La mienne étant &lt;span style="font-style: italic;"&gt;Maven 2.2.1  / Nexus™ Open Source Edition 1.7.1. &lt;/span&gt;J'avoue avoir de la chance, car j'utilise pour mes tests, ma plateforme d'entreprise (chez Vidal) configurée aux petits oignons par mon collègue Thierry que je salue au passage (&lt;a href="http://twitter.com/tnehr"&gt;@tnehr&lt;/a&gt;),&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Avoir un compte chez &lt;span style="font-style: italic;"&gt;github &lt;/span&gt;(&lt;/span&gt;&lt;span style="font-size:85%;"&gt;même gratuit&lt;/span&gt;&lt;span style="font-size:85%;"&gt;) pour héberger ses sources.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;"&gt;1. Créer son projet Maven&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pour effectuer notre opération vous devez disposer d'un projet &lt;span style="font-style: italic;"&gt;Maven&lt;/span&gt; simple. Nous allons en générer un à partir de la commande &lt;span style="font-style: italic;"&gt;Maven &lt;/span&gt;suivante :&lt;br /&gt;&lt;blockquote style="background-color: rgb(224, 224, 224);"&gt;mvn archetype:generate&lt;/blockquote&gt;Choisissez de préférence l'archétype &lt;span style="font-style: italic;"&gt;maven-archetype-quickstart, &lt;/span&gt;&lt;span&gt;qui &lt;/span&gt;nous offrira un projet simple (code + tests) à tester.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;"&gt;2. Créer et ajouter son projet sous &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(51, 102, 255); font-weight: bold;"&gt;github&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pour le créer, rien de plus simple, tout se fait au travers de la console d'administration &lt;span style="font-style: italic;"&gt;github. &lt;/span&gt;Donc, nous allons créer un projet "bar" via la commande :&lt;br /&gt;&lt;blockquote style="background-color: rgb(224, 224, 224);"&gt;Create a New Repository&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-style: italic;"&gt;Github&lt;/span&gt; vous indiquant comment importer le projet, je passe rapidement sur cette étape, mais voici tout de même pour informations, mes commandes &lt;span style="font-style: italic;"&gt;git&lt;/span&gt; :&lt;br /&gt;&lt;blockquote style="background-color: rgb(224, 224, 224);"&gt;- git init&lt;br /&gt;- git add *&lt;br /&gt;- git commit -m 'Push bar example project'&lt;br /&gt;- git remote add origin git@github.com:ulrich/bar.git&lt;br /&gt;- git push origin master&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 102, 255);"&gt;3. Préparer ses POM&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Cette étape est importante, car elle permet de "déployer" dans l'origine, un tag sous &lt;span style="font-style: italic;"&gt;github&lt;/span&gt;. Pour ce faire, nous allons ajouter dans notre &lt;span style="font-style: italic;"&gt;POM&lt;/span&gt;, la balise &lt;span style="font-style: italic;"&gt;SCM&lt;/span&gt; comme indiqué ci-dessous :&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote style="background-color: rgb(224, 224, 224);"&gt;&lt;span style="font-size:78%;"&gt;&amp;lt;scm&amp;gt;&lt;br /&gt;&amp;lt;connection&amp;gt;scm:git:ssh://git@github.com/ulrich/bar.git&amp;lt;/connection&amp;gt;&lt;br /&gt;&amp;lt;url&amp;gt;git:ssh://git@github.com/ulrich/bar.git&amp;lt;/url&amp;gt;&lt;br /&gt;&amp;lt;/scm&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;A vérifier, mais dans le cadre de nos projets avec plusieurs sous-modules, nous avons ajouté systématiquement la balise &lt;span style="font-style: italic;"&gt;SCM&lt;/span&gt; dans les &lt;span style="font-style: italic;"&gt;POM&lt;/span&gt; des modules (sachant qu'elle est identique).&lt;br /&gt;&lt;br /&gt;Un dernier ajustement concerne la connexion sous &lt;span style="font-style: italic;"&gt;github&lt;/span&gt;. En effet, lors du déploiement, le &lt;span style="font-style: italic;"&gt;plugin&lt;/span&gt; aura besoin de &lt;span style="font-style: italic;"&gt;commiter&lt;/span&gt;, mais surtout de &lt;span style="font-style: italic;"&gt;pusher&lt;/span&gt; ses modifications effectuées dans le &lt;span style="font-style: italic;"&gt;POM&lt;/span&gt;. Si vous avez généré une clé &lt;span style="font-style: italic;"&gt;SSH&lt;/span&gt; avec une &lt;span style="font-style: italic;"&gt;passphrase&lt;/span&gt;, vous aurez besoin de taper les commandes suivantes, afin d'ajouter votre clé à votre session en cours et ainsi, éviter de bloquer le déploiement.&lt;br /&gt;&lt;blockquote style="background-color: rgb(224, 224, 224);"&gt;- ssh-agent /bin/bash&lt;br /&gt;- ssh-add ~/.ssh/id_rsa&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 102, 255);"&gt;4. Exécuter le plugin&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Nous voilà en phase finale de procédure, le but étant bien entendu d'utiliser le &lt;span style="font-style: italic;"&gt;maven-release-plugin, &lt;/span&gt;qui au travers de deux actions/phases consécutives : de faire un tag &lt;span style="font-style: italic;"&gt;git &lt;/span&gt;avec la version souhaitée, de déployer nos archives JAR et de monter de version notre projet.  Nous devrons donc exécuter les commandes suivantes :&lt;br /&gt;&lt;blockquote style="background-color: rgb(224, 224, 224);"&gt;&lt;span style="font-size:78%;"&gt;- mvn release:prepare&lt;br /&gt;- mvn release:perform -Dgoals=deploy&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;Voilà ! Il est intéressant de noter les étapes et les commandes par lesquelles, le &lt;span style="font-style: italic;"&gt;plugin&lt;/span&gt; a exécuté son tag et sa montée de version.&lt;br /&gt;&lt;br /&gt;Nous voilà donc avec un tag &lt;span style="font-style: italic;"&gt;git&lt;/span&gt; fraîchement crée dans &lt;span style="font-style: italic;"&gt;github :&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_aamVU703DWQ/TGsC-gJKhZI/AAAAAAAAA44/vOzsBs_LlzI/s1600/blog.maven.release.github.PNG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 92px;" src="http://2.bp.blogspot.com/_aamVU703DWQ/TGsC-gJKhZI/AAAAAAAAA44/vOzsBs_LlzI/s200/blog.maven.release.github.PNG" alt="" id="BLOGGER_PHOTO_ID_5506498242194081170" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;N'hésitez pas à me remonter les points, qui peuvent vous sembler obscurs ou incorrects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2403570859990371391-1777287934210486406?l=ulrichinaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ulrichinaction.blogspot.com/feeds/1777287934210486406/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2403570859990371391&amp;postID=1777287934210486406' title='4 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default/1777287934210486406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default/1777287934210486406'/><link rel='alternate' type='text/html' href='http://ulrichinaction.blogspot.com/2010/08/releaser-avec-maven-sur-github.html' title='Releaser avec Maven sur github'/><author><name>Ulrich's Blog</name><uri>http://www.blogger.com/profile/14701465377125729781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_aamVU703DWQ/TSJOyPoUUnI/AAAAAAAAA64/g25RVX1-Hr0/S220/face1b.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_aamVU703DWQ/TGsC-gJKhZI/AAAAAAAAA44/vOzsBs_LlzI/s72-c/blog.maven.release.github.PNG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2403570859990371391.post-6700468300209869368</id><published>2010-08-15T05:27:00.000-07:00</published><updated>2010-08-15T10:35:00.074-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='livre retour rework 37signals'/><title type='text'>Retour sur Rework</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_aamVU703DWQ/TGgAJUWPSKI/AAAAAAAAA4w/Ova5qiT9jwo/s1600/rework-front-cover.png"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 124px; height: 200px;" src="http://3.bp.blogspot.com/_aamVU703DWQ/TGgAJUWPSKI/AAAAAAAAA4w/Ova5qiT9jwo/s200/rework-front-cover.png" alt="" id="BLOGGER_PHOTO_ID_5505650704541239458" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;Je me suis pour une fois sorti la tête des ouvrages techniques, de mon GoogleReader/programming/languages et autres joyeusetés de ce genre, pour me plonger dans le livre à la mode, &lt;span style="font-weight: bold;"&gt;Rework&lt;/span&gt;. Ce livre co-écrit par &lt;span style="font-weight: bold;"&gt;Jason Fried&lt;/span&gt; et &lt;span style="font-weight: bold;"&gt;David Heinemeier Hansson &lt;/span&gt;est un cookbook destiné aussi bien aux boss, qu'à leurs employés, désirant comprendre et décrypter les clés de la réussite de cette entreprise&lt;span style="font-weight: bold;"&gt; : 37signals&lt;/span&gt;, qui est au passage la boite qui a crée le website &lt;a href="http://basecamphq.com/"&gt;&lt;span style="font-weight: bold;"&gt;Basecamp&lt;/span&gt;&lt;/a&gt; et le framework &lt;span style="font-weight: bold;"&gt;&lt;a href="http://rubyonrails.org/"&gt;ROR&lt;/a&gt;. &lt;/span&gt;L'ensemble repose sur un enchainement intéressant de chapitres courts mais percutants, avec des illustrations  assez plaisantes. Tout est écrit en noir &amp;amp; blanc dans un anglais assez compréhensif, qui permet de le terminer en un clin d'œil, si vous n'avez pas fait comme moi et pris des notes quasiment à chaque chapitre.&lt;br /&gt;&lt;br /&gt;Je ne vais pas coucher toutes mes notes sur cette page, mais vous en énumérez les premiers points qui m'ont le plus marqué, car ce livre a été pour moi et sera je l'espère pour vous, un vrai catalyseur pour créer/&lt;/span&gt;&lt;span style="font-size:85%;"&gt;agir/&lt;/span&gt;&lt;span style="font-size:85%;"&gt;entreprendre/réaliser/coder/intégrer/... A noter, que ces énumérations sont le fruit de mon interprétation et peuvent avoir un autre sens pour vous.&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;Les erreurs ne sont pas une étape nécessaire vers la réussite, car comment peut-on apprendre d'une action &lt;/span&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;ratée, elle nous apprend à éviter les pièges mais pas à réussir. Et au contraire, le succès engendre le succès,&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;Faire un business plan impose bien souvent un cadre trop rigide à entrepreneuriat, car la réussite passe parfois par l'improvisation,&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;Maîtriser sa croissance, ce n'est pas en ajoutant des salariés que l'on aura une meilleur rendement. Les grandes écoles l'on compris et préfère avoir un ratio élève / professeur raisonnable, gage de la qualité de l'enseignement. Paradoxalement, les petites entreprises veulent grandir et les grandes devenir plus modulaires pour être plus agiles, ce qui est intrinsèquement la qualité d'une petite structure,&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt; &lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;Le vrai héros n'est pas la personne qui passe sa vie au travail, mais la personne qui sait accomplir sont travail en temps et en heure et mener une vie personnelle, lui permettant de s'épanouir,&lt;br /&gt;&lt;br /&gt;Un entrepreneur est juste une personne qui veut faire ce qu'elle aime, au moment ou elle souhaite le faire et de la manière qu'elle le souhaite. La meilleur façon de concevoir un produit est de le concevoir pour soit,&lt;br /&gt;&lt;br /&gt;Il ne faut pas s'abriter derrière l'excuse du temps pour ne pas entreprendre, car tout le monde peut trouver du temps et de plusieurs manières comme : partir une heure plus tôt du travail une fois dans la semaine, se coucher une heure plus tard...,&lt;br /&gt;&lt;br /&gt;Un bon business a une idée directrice à laquelle on doit rester fidèle.  Cela permet de mieux maîtriser son travail, de ne pas partir dans tous les sens et d'être cohérents aux yeux des clients,&lt;br /&gt;&lt;br /&gt;La startup n'est pas le format idéal pour entreprendre. En effet, elle déconnecte de la réalité et place les gens dans une bulle et le marché, le business, les concurrents sont parti de réalité,&lt;br /&gt;&lt;br /&gt;Rester léger. Eviter les process trop long, compliqués, les meetings trop nombreux... Etre léger permet le changement, force à se focaliser sur le produit,&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:85%;"&gt;Comme vous pouvez le voir, ce livre regorge de bons conseils et toutes les énumérer reviendraient à plagier les auteurs, c'est pour cela que je vous encourage à acheter ce livre et vous lancer comme moi, dans des projets qui vous donneront envie de partager et d'apprendre, &lt;span style="font-weight: bold;"&gt;bonne lecture.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2403570859990371391-6700468300209869368?l=ulrichinaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ulrichinaction.blogspot.com/feeds/6700468300209869368/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2403570859990371391&amp;postID=6700468300209869368' title='3 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default/6700468300209869368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default/6700468300209869368'/><link rel='alternate' type='text/html' href='http://ulrichinaction.blogspot.com/2010/08/retour-sur-rework.html' title='Retour sur Rework'/><author><name>Ulrich's Blog</name><uri>http://www.blogger.com/profile/14701465377125729781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_aamVU703DWQ/TSJOyPoUUnI/AAAAAAAAA64/g25RVX1-Hr0/S220/face1b.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_aamVU703DWQ/TGgAJUWPSKI/AAAAAAAAA4w/Ova5qiT9jwo/s72-c/rework-front-cover.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2403570859990371391.post-3488605493821671748</id><published>2010-07-21T09:39:00.000-07:00</published><updated>2010-07-21T10:13:13.977-07:00</updated><title type='text'>Groovy Grails User Group #2</title><content type='html'>Encore une bien sympathique rencontre au &lt;a href="http://www.meetup.com/Paris-Groovy-Grails/"&gt;Groovy Grails User Group&lt;/a&gt; hier soir avec les organisateurs et les gugers. Cette rencontre était basée sur l’étude du pourquoi et comment migrer une application web Java standard vers Grails par &lt;a href="http://www.meetup.com/Paris-Groovy-Grails/members/8840590/"&gt;Stéphane Maldini&lt;/a&gt;, qui est au passage commiter sur &lt;a href="http://www.icescrum.org/"&gt;iceScrum&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;J’ai bien aimé la façon dont Stéphane a amené la chose et exprimé le besoin en tant que développeur, de passer à d’autres outils aussi facile d’accès, qu’instinctifs et toujours dans l’esprit de vouloir voir autre chose.&lt;br /&gt;&lt;br /&gt;Je ne vais pas passer au crible les différents slides exposés par Stéphane car mon iPhone m’ayant joué des tours, j’ai perdu la moitié de mes notes. Néanmoins, j’ai été un peu étonné par un ou deux argument exposé.&lt;br /&gt;&lt;br /&gt;Le premier était que Grails favorise les tests. Je bloque sur ce point et ce, malgré les arguments exposés. En effet, je ne peux comprendre en quoi Grails permet ou facilite l’écriture de tests unitaires. L’idée de Stéphane était que le couple Groovy/Grails permettant un développement plus rapide du code et générant des squelettes de tests, il offre la possibilité au développeur d’utiliser son surplus de temps à l’écriture des tests (sic) !&lt;br /&gt;&lt;br /&gt;Le second est qu’il faut abandonner Maven au détriment d’IVY. Cet argument a provoqué une levée de bouclier dans l’assemblée, car bien évidemment, il remet en cause une migration déjà couteuse du SI. Le ressenti de Stéphane vis-à-vis de Maven provenait à priori sur l’aspect normé de Maven, qui impose sa structure de projet. Je pense personnellement, qui faut garder Maven pour les raisons suivantes :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;La majorité des SI aujourd’hui travail sous Maven,&lt;/li&gt;&lt;li&gt;   Le mapping du file system Maven sur Grails, n’est pas très couteux,&lt;/li&gt;&lt;li&gt;   Modulo un bon tunning des POM projets et des plugins, on garde la  possibilité d'utiliser un maximum de plugin et reporting sur son projet.&lt;/li&gt;&lt;/ul&gt;A l’issue de la présentation, des questions/réponses ont fusé, dont la mienne portant sur un comparatif &lt;a href="http://www.playframework.org/"&gt;Playframework&lt;/a&gt; vs Grails. La réponse a été mon cinglante que je ne le pensais, car il semble que Play! soit un bon challenger à Grails, mais sans la multitude de plugins offerts par Grails.&lt;br /&gt;&lt;br /&gt;Dommage, que je n’ai pu aller à la troisième mi-temps pour discuter et partager avec les gugers, mais j’espère rectifier le tir à la troisième rencontre !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2403570859990371391-3488605493821671748?l=ulrichinaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ulrichinaction.blogspot.com/feeds/3488605493821671748/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2403570859990371391&amp;postID=3488605493821671748' title='5 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default/3488605493821671748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default/3488605493821671748'/><link rel='alternate' type='text/html' href='http://ulrichinaction.blogspot.com/2010/07/groovy-grails-user-group-2.html' title='Groovy Grails User Group #2'/><author><name>Ulrich's Blog</name><uri>http://www.blogger.com/profile/14701465377125729781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_aamVU703DWQ/TSJOyPoUUnI/AAAAAAAAA64/g25RVX1-Hr0/S220/face1b.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2403570859990371391.post-2880532464360000910</id><published>2010-03-02T13:42:00.000-08:00</published><updated>2010-03-02T14:00:35.379-08:00</updated><title type='text'>I am back</title><content type='html'>Après un long silence du en partie à des petits soucis personnels, qui sont à ce jour "fixés". J'ai décidé de reprendre la maintenance de ce blog et m'appuiera sur celui-ci pour :&lt;br /&gt;&lt;br /&gt;1) Partager mon travail personnel sur divers projets que je lance cette année comme :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;L'étude (retour aux sources) de la programmation fonctionnelle (particulièrement de Clojure),&lt;/li&gt;&lt;li&gt;L'étude de solution NoSQL,&lt;/li&gt;&lt;li&gt;L'étude du framework Play!,&lt;/li&gt;&lt;li&gt;L'étude de JEE6,&lt;/li&gt;&lt;li&gt;L'étude du SCM Git,&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Le développement d'une seconde application Java sous Google App Engine,&lt;/li&gt;&lt;li&gt;L'étude de protocole de type Comet et framework comme Atmosphere.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;2) Partager mes impressions sur des meeting auxquels je participe assez régulièrement comme les BarCamp, JUG, NoSQL User Group, Devoxx...&lt;br /&gt;&lt;br /&gt;3) Partager le fruit de mon travail concernant le passage de ceinture sur Java black Belt et de la SCJP.&lt;br /&gt;&lt;br /&gt;A bientôt,&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2403570859990371391-2880532464360000910?l=ulrichinaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ulrichinaction.blogspot.com/feeds/2880532464360000910/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2403570859990371391&amp;postID=2880532464360000910' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default/2880532464360000910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default/2880532464360000910'/><link rel='alternate' type='text/html' href='http://ulrichinaction.blogspot.com/2010/03/i-am-back.html' title='I am back'/><author><name>Ulrich's Blog</name><uri>http://www.blogger.com/profile/14701465377125729781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_aamVU703DWQ/TSJOyPoUUnI/AAAAAAAAA64/g25RVX1-Hr0/S220/face1b.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2403570859990371391.post-5498367741755923280</id><published>2009-04-01T15:00:00.000-07:00</published><updated>2009-04-01T16:25:06.249-07:00</updated><title type='text'>JavaBarcamp#4</title><content type='html'>Voici un rapide billet décrivant ce sympathique JavaBarCamp#4. Sympathique à tout point de vue, car non seulement l'organisation orchestrée&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;par &lt;span style="font-style: italic;"&gt;Philippe Antoine&lt;/span&gt; et &lt;span style="font-style: italic;"&gt;Luc Bizeul&lt;/span&gt; a été sans faille, mais en plus nous avons eu le plaisir de passer la soirée dans les locaux de Google, avec au menu des goodies, un buffet très attractif et un accueil sans &lt;span style="font-style: italic;"&gt;blingbling&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Encore une fois, j'ai été agréablement surpris de croiser des têtes connues aux profils aussi variés, qu'intéressant. En effet, ce barcamp m'a permis de joindre l'utile à l'agréable et donc de boire un bon verre de blanc tout en discutant de Spring 3.0. Et malgré moult tentatives les dimanches en famille, je me retrouve assez rapidement cantonné à updater l'antivirus de l'organisateur du repas dominical. Bref.&lt;br /&gt;&lt;br /&gt;Côté contenu, peu de surprise car les principaux thèmes retenus ont été :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Spring 3,&lt;/li&gt;&lt;li&gt;Cloud computing,&lt;/li&gt;&lt;li&gt;TDD, DDD,&lt;/li&gt;&lt;li&gt;JQuery...&lt;/li&gt;&lt;/ul&gt;Et malgré quelques approches timides ma part et d'autres d'aborder des thèmes comme LIFT (merci Sadek), DSL, Life Hacking et autres joyeusetés et bien pas de quoi casser des briques. Néanmoins, il reste que les réunions auxquelles j'ai eu la chance de participer, qui étaient basées respectivement sur Spring 3.0 et TDD ont été de très bonnes qualités.&lt;br /&gt;&lt;br /&gt;Il en résulte que Spring 3.0 va principalement nous faciliter la tache au niveau de nos architectures REST et qu'il devient full 1.5. Côté TDD, je suis encore conforté dans l'idée qu'il s'agit d'une méthodologie difficile à mettre en œuvre mais qu'une fois prise en main, elle apporte un gain de fiabilité sans comparaison. J'ai en outre découvert, qu'il existait un plugin Eclipse appelé JUnitMax permettant de jouer en continu et de manière intelligente nos tests unitaires dans notre IDE préféré. A creuser. J'espère trouver le temps pour le mettre en œuvre chez Vidal et faire un retour sur ce blog dans les jours qui viennent.&lt;br /&gt;&lt;br /&gt;Autres post :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;01/04/2009 - &lt;a href="http://sunchic.free.fr/wordpress/index.php/archives/2009/04/01/javacampparis-4th-edition/"&gt;David&lt;/a&gt;&lt;/li&gt;&lt;li&gt;01/04/2009 - &lt;a href="http://www.touilleur-express.fr/2009/04/01/compte-rendu-leger-de-la-grosse-soiree-javacamp4/"&gt;Nicolas&lt;/a&gt;&lt;/li&gt;&lt;li&gt;01/04/2009 - &lt;a href="http://morlhon.net/blog/2009/04/01/javacamp4/"&gt;Jean-Laurent&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://barcamp.org/JavaCampParis4"&gt;Java Barcamp 4&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2403570859990371391-5498367741755923280?l=ulrichinaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ulrichinaction.blogspot.com/feeds/5498367741755923280/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2403570859990371391&amp;postID=5498367741755923280' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default/5498367741755923280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default/5498367741755923280'/><link rel='alternate' type='text/html' href='http://ulrichinaction.blogspot.com/2009/04/javabarcamp4-voici-un-rapide-billet.html' title='JavaBarcamp#4'/><author><name>Ulrich's Blog</name><uri>http://www.blogger.com/profile/14701465377125729781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_aamVU703DWQ/TSJOyPoUUnI/AAAAAAAAA64/g25RVX1-Hr0/S220/face1b.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2403570859990371391.post-8660377462617793502</id><published>2008-11-08T07:02:00.000-08:00</published><updated>2008-11-08T07:33:50.803-08:00</updated><title type='text'>Un peu de promo</title><content type='html'>Je suis heureux de vous annoncer qu'une boite frenchy, la mienne (&lt;a href="http://www.vidal.fr/"&gt;&lt;span style="font-weight: bold;"&gt;vidal.fr&lt;/span&gt;&lt;/a&gt;) a été mentionnée dans les slides d'&lt;a href="http://www.code4lib.org/erikhatcher"&gt;&lt;span style="font-weight: bold;"&gt;Erik Hatcher&lt;/span&gt;&lt;/a&gt;, un conférencier d'&lt;a href="http://www.us.apachecon.com/c/acus2008/"&gt;&lt;span style="font-weight: bold;"&gt;Apache CON 2008&lt;/span&gt;&lt;/a&gt; sur le thème &lt;span style="font-weight: bold;"&gt;&lt;a href="http://www.us.apachecon.com/c/acus2008/sessions/41"&gt;Lucene Case Studies&lt;/a&gt;. &lt;/span&gt;Erik Hatcher est &lt;span style="font-style: italic;"&gt;lead commiter&lt;/span&gt; dans plusieurs projets open-source, co-auteur de &lt;span style="font-style: italic;"&gt;Ant In Action&lt;/span&gt; et &lt;span style="font-style: italic;"&gt;Lucene In Action&lt;/span&gt;.  C'est à l'issu d'un &lt;span style="font-style: italic;"&gt;post&lt;/span&gt; sur la mailing list Lucene, qu'Erik a demandé de poster des études de cas du &lt;span style="font-style: italic;"&gt;framework&lt;/span&gt; en entreprise. J'ai pris mon courage à deux mains et détaillé les principes de fonctionnement de notre moteur de recherche &lt;span style="font-style: italic;"&gt;fulltext&lt;/span&gt;, basé sur Lucene et Hibernate Search dans nos outils web et embarqués.&lt;br /&gt;&lt;br /&gt;Donc merci à lui et à &lt;a href="http://morlhon.net/blog/"&gt;Jean-Laurent de Morlhon&lt;/a&gt; pour son soutient toujours avisé et constant.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2403570859990371391-8660377462617793502?l=ulrichinaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ulrichinaction.blogspot.com/feeds/8660377462617793502/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2403570859990371391&amp;postID=8660377462617793502' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default/8660377462617793502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default/8660377462617793502'/><link rel='alternate' type='text/html' href='http://ulrichinaction.blogspot.com/2008/11/un-peu-de-promo.html' title='Un peu de promo'/><author><name>Ulrich's Blog</name><uri>http://www.blogger.com/profile/14701465377125729781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_aamVU703DWQ/TSJOyPoUUnI/AAAAAAAAA64/g25RVX1-Hr0/S220/face1b.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2403570859990371391.post-8290962217916924231</id><published>2008-10-21T16:12:00.000-07:00</published><updated>2008-10-21T16:27:58.604-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Valtech'/><category scheme='http://www.blogger.com/atom/ns#' term='Conférence'/><title type='text'>Valtech Days 2008</title><content type='html'>Voici une petite rétrospective de cette première journée passée aux Valtech Day 2008.&lt;br /&gt;&lt;br /&gt; &lt;span style="font-weight: bold;"&gt;L'organisation&lt;/span&gt;&lt;br /&gt;Sans faille, comme l'année dernière tout était réglé comme du papier à musique, l'accueil était sympathique, les organisateurs étaient souriants et le buffet bien garni. En outre, les présentations auxquelles j'ai assisté ont démarré à l'heure.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Le type de public&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;Pas de surprise de ce côté là, j'ai pu côtoyer d'anciens clients, d'anciens collègues et de futur/ex employeurs. (j'avoue d'ailleurs avoir été tenté par un jet ou deux de cannelé sur d'anciens recruteurs). Par contre, il est toujours intéressant de se mélanger aux gens et de capter des conversations entre geek et DSI passionnés.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Les conférences&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;Elles étaient divisées en quatre catégories soient :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;                Planète Agiles,&lt;/li&gt;&lt;li&gt;Planète Architecture,&lt;/li&gt;&lt;li&gt;Planète Industrialisation,&lt;/li&gt;&lt;li&gt;Planète eCommerce et Web 2.0.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;       Voici un petit résumé des conférences auxquelles j'ai pu assister :&lt;br /&gt;          &lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"La programmation concurrente restera-t-elle une affaire d’experts ?" - Julien Delhomme&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Très satisfait, car le speaker à parler sans complexe et sans esbrouffe d'un sujet au combien nébuleux qu'est la programmation concurrente. Après un peu de vocabulaire et de pointeurs sur les acteurs majeurs du milieu, il a parlé des différentes approches que sont le "Multi-Threading sur mémoire partagée", le "Self Transactional Memory" et le "Message Passing" à la sauce Erlang, qui apporte une abstraction forte entre la gestion de la concurrence et le code itératif classique.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"Cloud Computing uniquement utile pour les Startups ?" - Nicolas Fonrose&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Très satisfait, car le speaker n'a pas fait l'éloge d'une solution sur une autre, mais à parlé d'une forme de cloud à la sauce Valtech appelée l'Office Cloud, qui d'ailleurs est opérationnelle. Il s'agit en fait d'une solution 100% Valtech destinée à une Business Unit et basée sur Google Spreadsheet. Je suis reparti de cette conférence avec des clés sur les PAAS et IAAS.&lt;br /&gt;          &lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"Tour d'horizon de Seam" - Denis Peyrusaubes&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Peu satisfait, car bien que la présentation était claire et orientée cas pratique, je n'ai toujours pas été convaincu par l'intérêt de passer à Seam et encore moins à JSF, à part bien sur pour son côté standard et composants riches. J'ai pu par contre découvrir qu'il existait d'autres types de scope comme par exemple le très pratique CONVERSATION_SCOPE. Open Issue : néanmoins, il faut que je me fasse une application Seam pour vraiment juger du framework.&lt;br /&gt;          &lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"Présentation de Spring Source Dynamic Module Server" - Denis Peyrusaubes&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Satisfait, car bien que le format de 15 mn soit très court, je suis partis avec toutes les informations nécessaires pour en parler à la machine à café. Plus sérieusement, il en ressort que Spring vole encore au secours aux solutions complexes comme pour le cas présent  OSGI.&lt;br /&gt;          &lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"LinQ" - Sadek Drobi&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Rien compris, dommage car cela semble être une solution très élégante et complémentaire aux solutions d'O/R Mapping.&lt;br /&gt;          &lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"Silverlight" - Xavier Paradon&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Satisfait, car bien que le format de 15 mn soit très court, j'ai pu comprendre en gros comment cela fonctionne et comment cette technologie a évolué. Dommage qu'il n'ait pas eu une petite application d'exemple à voir.&lt;br /&gt;          &lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"Les ESB Open Source" - Willy Goldgewicht&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;La meilleur. En effet, j'ai beaucoup aimé le speaker et son approche très concrète de la chose. En effet, il n'y pas eu le mec en costard, qui a soi disant pondu l'ESB de la mort, dans la grosse banque, pour des traders sans pitiés, qui voulaient une appli. avec un temps de réponse à la nano-seconde. Non. En fait, cette conférence avait pour but de démystifier les ESB via un panorama impartial des ESB de leurs composants. Il en résulte que le ESB de type JBI et EIP sont les grands vainqueurs, car ils ont pour eux de reposer sur des standards définis dans le premier cas sur les spécifications de SUN et dans le second cas sur les patterns pensés par les guru du genre.&lt;br /&gt;&lt;br /&gt;A suivre...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2403570859990371391-8290962217916924231?l=ulrichinaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ulrichinaction.blogspot.com/feeds/8290962217916924231/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2403570859990371391&amp;postID=8290962217916924231' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default/8290962217916924231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default/8290962217916924231'/><link rel='alternate' type='text/html' href='http://ulrichinaction.blogspot.com/2008/10/valtech-days-2008.html' title='Valtech Days 2008'/><author><name>Ulrich's Blog</name><uri>http://www.blogger.com/profile/14701465377125729781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_aamVU703DWQ/TSJOyPoUUnI/AAAAAAAAA64/g25RVX1-Hr0/S220/face1b.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2403570859990371391.post-6161715095858671184</id><published>2008-10-16T14:32:00.000-07:00</published><updated>2008-10-16T14:42:05.360-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><category scheme='http://www.blogger.com/atom/ns#' term='apogee'/><title type='text'>Apogee Software Themes</title><content type='html'>Voici une initiative sympa de la part d'un fan d'Apogee comme moi. Il s'agit d'une vidéo montrant l'évolution des thèmes musicaux des différents jeux au travers du temps. Monster Bash est bien entendu le plus réussi :)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.3drealms.com/news/the_classic_games/"&gt;http://www.3drealms.com/news/the_classic_games/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2403570859990371391-6161715095858671184?l=ulrichinaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ulrichinaction.blogspot.com/feeds/6161715095858671184/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2403570859990371391&amp;postID=6161715095858671184' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default/6161715095858671184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default/6161715095858671184'/><link rel='alternate' type='text/html' href='http://ulrichinaction.blogspot.com/2008/10/apogee-software-themes.html' title='Apogee Software Themes'/><author><name>Ulrich's Blog</name><uri>http://www.blogger.com/profile/14701465377125729781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_aamVU703DWQ/TSJOyPoUUnI/AAAAAAAAA64/g25RVX1-Hr0/S220/face1b.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2403570859990371391.post-4710372578927375304</id><published>2008-10-07T16:01:00.000-07:00</published><updated>2008-10-07T16:02:51.174-07:00</updated><title type='text'>Administrer sa Freebox</title><content type='html'>Je ne peux que vous conseiller ce très bon soft d'administration de Freebox. &lt;a target="_blank" title="FreeGo" href="http://www.free-go.net/"&gt;FreeGo&lt;/a&gt; permet via une interface simple, jolie et complète de paramétrer sa box sous Windows, Mac et Linux.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2403570859990371391-4710372578927375304?l=ulrichinaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ulrichinaction.blogspot.com/feeds/4710372578927375304/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2403570859990371391&amp;postID=4710372578927375304' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default/4710372578927375304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2403570859990371391/posts/default/4710372578927375304'/><link rel='alternate' type='text/html' href='http://ulrichinaction.blogspot.com/2008/10/administrer-sa-freebox.html' title='Administrer sa Freebox'/><author><name>Ulrich's Blog</name><uri>http://www.blogger.com/profile/14701465377125729781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_aamVU703DWQ/TSJOyPoUUnI/AAAAAAAAA64/g25RVX1-Hr0/S220/face1b.jpg'/></author><thr:total>0</thr:total></entry></feed>
