<?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-6472731743974474036</id><updated>2012-01-24T13:56:12.137+01:00</updated><category term='Spring 3.0 M2'/><category term='m2eclipse'/><category term='clustering'/><category term='astuce démarrage'/><category term='Checkstyle'/><category term='J2ME'/><category term='JPA'/><category term='freeze logout'/><category term='virtual host apache'/><category term='sms'/><category term='bugs'/><category term='webmin'/><category term='strategy'/><category term='Silverlight 1.1'/><category term='maven'/><category term='Java 7'/><category term='migrate'/><category term='api'/><category term='second life architecture'/><category term='RIA'/><category term='java analyse'/><category term='securité'/><category term='JSon'/><category term='JConsole'/><category term='EJB'/><category term='Oracle coherence'/><category term='programmation'/><category term='O3D'/><category term='serveur d&apos;application'/><category term='resources'/><category term='JPA 2.0'/><category term='easy mock'/><category term='Java EE 6'/><category term='Hudson'/><category term='software programming'/><category term='conception'/><category term='scalable'/><category term='core J2EE patterns'/><category term='patch'/><category term='Naked objects'/><category term='facebook'/><category term='paint'/><category term='google wave'/><category term='constructeur'/><category term='linq'/><category term='JMeter'/><category term='JExcel'/><category term='débutant'/><category term='asynchronous web'/><category term='java'/><category term='CSS'/><category term='seam'/><category term='IoC'/><category term='Subversion'/><category term='Spring AOP'/><category term='it job trends'/><category term='Java mobile'/><category term='Messaging API'/><category term='information'/><category term='hamcrest'/><category term='humour'/><category term='Java FX'/><category term='StringBuffer'/><category term='slf4j'/><category term='IIS'/><category term='Java concurrency'/><category term='second caching level'/><category term='struts 2 tutorial'/><category term='webservice'/><category term='video conférence'/><category term='dsitributed data caching'/><category term='introspection'/><category term='Tomcat'/><category term='class  loading'/><category term='maven plugin'/><category term='dojo'/><category term='annotation'/><category term='load balancing'/><category term='game collision'/><category term='lively'/><category term='google code'/><category term='Reference'/><category term='soapui'/><category term='serveur proxy'/><category term='design'/><category term='lambdaj'/><category term='framework'/><category term='Java monitoring'/><category term='ubuntu'/><category term='J2EE'/><category term='linq2SQL'/><category term='iCal4J'/><category term='java generics'/><category term='google'/><category term='svn'/><category term='Java Real-time system'/><category term='generation de code'/><category term='Vista'/><category term='reflection'/><category term='CLR'/><category term='podcast'/><category term='n tiers'/><category term='POI'/><category term='PaaS'/><category term='probleme extinction pc'/><category term='java memory error'/><category term='debugger'/><category term='PMD'/><category term='.Net'/><category term='architecte'/><category term='sonar 1.11'/><category term='cxf'/><category term='W3AF'/><category term='wsdl'/><category term='Jboss seam'/><category term='recover'/><category term='SOA'/><category term='java me'/><category term='Fences'/><category term='Manage'/><category term='tutoriel'/><category term='loadrunner'/><category term='application server'/><category term='java memory'/><category term='design pattern'/><category term='KVM'/><category term='heap memory'/><category term='free books'/><category term='classloader'/><category term='Scala'/><category term='bibliothèque'/><category term='memory error'/><category term='plugin'/><category term='linux cheat sheets'/><category term='google wave gadgets'/><category term='apache JMeter'/><category term='revue de code'/><category term='tuning'/><category term='hardy heron'/><category term='Spring 3.0'/><category term='skipfish'/><category term='mémoire java'/><category term='web server'/><category term='code'/><category term='Mono 2.0'/><category term='configuration application'/><category term='pureQuery'/><category term='menu'/><category term='vaadin'/><category term='MooTools'/><category term='innotek'/><category term='java EE'/><category term='navigation'/><category term='framework MVC'/><category term='ebooks'/><category term='cloud computing'/><category term='security pattern'/><category term='java tutorial'/><category term='silverlight'/><category term='integration continue'/><category term='volta'/><category term='integration test'/><category term='performances'/><category term='Maven2'/><category term='migration'/><category term='jdk 1.5'/><category term='Prototype'/><category term='memory leaks'/><category term='archetype'/><category term='écran souple'/><category term='jquery'/><category term='scrum'/><category term='sql'/><category term='javaee'/><category term='elastic caching plateform'/><category term='kernel'/><category term='log'/><category term='lombok'/><category term='asp.Net'/><category term='JavaEE 6'/><category term='Linq2Hibernate'/><category term='symfony'/><category term='sculptor'/><category term='déclin'/><category term='Sitemesh'/><category term='virtualisation'/><category term='WPF'/><category term='xstream'/><category term='kde 4.1'/><category term='beginner'/><category term='programmint tutorial'/><category term='find bugs'/><category term='8.1'/><category term='anti-java'/><category term='java certification'/><category term='Build Number'/><category term='continuous integration'/><category term='enterpriseDB'/><category term='design java'/><category term='web'/><category term='sécurité'/><category term='cappuccino'/><category term='objective-j'/><category term='struts2'/><category term='open source'/><category term='3D 2D canvas'/><category term='noyau'/><category term='apache cxf'/><category term='iCalendar'/><category term='jvisualvm'/><category term='framabook'/><category term='performance test tool'/><category term='Yahoo YUI'/><category term='c#'/><category term='firefox'/><category term='pool'/><category term='mule ESB'/><category term='hyperic'/><category term='load tester'/><category term='MSDN'/><category term='Orange'/><category term='iphone'/><category term='RSS'/><category term='mocking'/><category term='web 2.0'/><category term='icone chargement d&apos;images'/><category term='web service'/><category term='programming stress'/><category term='findbugs'/><category term='sun'/><category term='javadesign.info'/><category term='Mono'/><category term='eclipse'/><category term='archiva'/><category term='struts 2'/><category term='asp'/><category term='Adobe'/><category term='pdm'/><category term='développement'/><category term='attaques session'/><category term='Spring security'/><category term='technical'/><category term='livre'/><category term='AIR'/><category term='programmeur'/><category term='licence'/><category term='téléphone'/><category term='XML'/><category term='fall'/><category term='geek'/><category term='permgen-space'/><category term='Cruise control'/><category term='google web toolkit'/><category term='flex'/><category term='oracle'/><category term='inversion of control'/><category term='visual studio'/><category term='pair programming'/><category term='évolutif'/><category term='interpreter'/><category term='I/O'/><category term='Rod Johnson interview'/><category term='Spring par l&apos;exemple'/><category term='JMX'/><category term='10MP1'/><category term='weblogic'/><category term='Elgg'/><category term='intégration continue'/><category term='JSF'/><category term='CSharp'/><category term='virtual box'/><category term='architecture'/><category term='java 3D'/><category term='blueprint'/><category term='free software magazine'/><category term='nhibernate'/><category term='contraintes sur un champ'/><category term='tests unitaires'/><category term='object javascript'/><category term='value'/><category term='optimisation'/><category term='GWT'/><category term='Bea'/><category term='roo'/><category term='jdbc'/><category term='grub'/><category term='Scott GUTHRIE'/><category term='Spring DM Server'/><category term='javascript'/><category term='Java memory leak'/><category term='serveur web'/><category term='cache'/><category term='dotNet'/><category term='maven release plugin'/><category term='génération'/><category term='Silverlight 2.0'/><category term='informatique'/><category term='glassfish'/><category term='Monitor'/><category term='SpringRC'/><category term='CI'/><category term='collection'/><category term='terracotta'/><category term='HTML4'/><category term='maven 2'/><category term='général'/><category term='HTML 5'/><category term='null pointer exception'/><category term='infinispan'/><category term='JBehave'/><category term='injection de dépendances'/><category term='Ivy'/><category term='SaaS'/><category term='social networking'/><category term='agile'/><category term='ireport'/><category term='Opera unite'/><category term='debian'/><category term='MBeans'/><category term='classloader tomcat'/><category term='JUnit'/><category term='Spring'/><category term='JSR 203'/><category term='Android'/><category term='mockito'/><category term='code review'/><category term='C Sharp'/><category term='linux'/><category term='debug'/><category term='Ajax tutorial'/><category term='hibernate'/><category term='ubuntu server'/><category term='JBoss'/><category term='JVM'/><category term='emacs'/><category term='visual studio 2008'/><category term='OSGi'/><category term='java analysis'/><category term='kubuntu'/><category term='Thread'/><category term='ajax'/><category term='java performance'/><category term='maven 2.1.0'/><category term='tutorial'/><category term='Springsource'/><category term='wii'/><category term='n-tiers'/><category term='mock object'/><category term='hire'/><category term='Sonar'/><category term='canonical'/><category term='constructor'/><category term='JavaFX'/><category term='Rich client'/><category term='bluetooth'/><category term='garbage collector'/><category term='software architecture'/><category term='jQuery plugins'/><category term='jarfinder'/><category term='IaaS'/><category term='Spring MVC'/><category term='Jenkins'/><category term='ehcache'/><category term='Gradle'/><category term='3D'/><category term='APIDEO'/><category term='InitializingBean'/><category term='String.valueOf'/><category term='jasper report'/><category term='javafx preview SDK'/><category term='pattern'/><category term='microsoft'/><category term='Joda-Time'/><category term='fuites mémoires'/><category term='DHTML'/><category term='build tool'/><category term='extension firefox'/><category term='NPE'/><category term='the grinder'/><category term='JSR 205'/><category term='StringBuilder'/><title type='text'>News - nouvelles technos</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default?start-index=101&amp;max-results=100'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>340</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-4828586280124470829</id><published>2012-01-17T09:34:00.002+01:00</published><updated>2012-01-17T09:38:15.345+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java generics'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><title type='text'>La classe, c'est être chic dans...</title><content type='html'>La classe, c'est être chic dans sa manière de coder des DAOs bien sûr! (La classe américaine inside ;)&lt;br /&gt;Trève de billevesée, &lt;a href="http://java.dzone.com/articles/simplifying-data-access-layer"&gt;cet article &lt;/a&gt;vous offre des exemples de DAO qui se basent sur Spring et les Generics.&lt;br /&gt;Plus besoin de coder n fois la même chose pour n objets différents. Je trouve ca propre.&lt;br /&gt;J'aimerais voir ce que ca donne au niveau des performances.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-4828586280124470829?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/4828586280124470829/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=4828586280124470829' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/4828586280124470829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/4828586280124470829'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2012/01/la-classe-cest-etre-chic-dans.html' title='La classe, c&apos;est être chic dans...'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-6400381092360552347</id><published>2011-12-28T15:19:00.003+01:00</published><updated>2011-12-28T15:22:02.077+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spring AOP'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA'/><title type='text'>Spring et la persistence</title><content type='html'>Tout ce que vous avez toujours voulu savoir sur la persistence avec Spring 3.1 se trouve &lt;a href="http://www.baeldung.com/persistence-with-spring-series/"&gt;ici&lt;/a&gt;.&lt;br /&gt;C'est complet et facile à lire. Ces tutoriaux partent de l'intégration de Spring et Hibernate en passant par la gestion des transactions via l'AOP. Ils se terminent en présentant JPA ainsi que Spring Data.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-6400381092360552347?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/6400381092360552347/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=6400381092360552347' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/6400381092360552347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/6400381092360552347'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2011/12/spring-et-la-persistence.html' title='Spring et la persistence'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-6800409100021877188</id><published>2011-11-23T17:00:00.003+01:00</published><updated>2012-01-24T13:56:12.147+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java FX'/><title type='text'>Java FX 2.0</title><content type='html'>Il fallait bien faire renaître ce blog un jour...&lt;br /&gt;Alors du coup j'écris parce que je ne suis pas content!&lt;br /&gt;&lt;br /&gt;Ce matin, je dépile mes mails : "Tiens, un reminder pour télécharger le magazine Java, gracieusement offert par Oracle, dans son édition Novembre/décembre".&lt;br /&gt;Très bien, me dis-je!&lt;br /&gt;Je télécharge, je feuillette et je tombe sur JavaFX 2.0. J'avais bien aimé jouer avec la version 1. Mais restons sérieux, cette technologie n'a jamais percée en entreprise.&lt;br /&gt;Plein de bonne volonté, je me dis que peut-être cette nouvelle version sera une révolution.&lt;br /&gt;Allons-y programmons un peu, pour cela, dirigez vous sur :&lt;br /&gt;&lt;a href="http://docs.oracle.com/javafx/2.0/get_started/jfxpub-get_started.htm"&gt;http://docs.oracle.com/javafx/2.0/get_started/jfxpub-get_started.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Parfait, c'est le helloWorld de JavaFX, ca me va. J'ai un Netbeans 7.0.1 sous la main, re-parfait.&lt;br /&gt;Alors créons un projet JavaFx, ha tiens je n'ai pas le plugin. Qu'a cela ne tienne, allons le &lt;a href="http://www.oracle.com/technetwork/java/javafx/downloads/index.html"&gt;télécharger&lt;/a&gt;.&lt;br /&gt;Et là, paf, la mauvaise nouvelle! Oh mais il n'y a que des versions pour Windows, qu'est ce que c'est que cette histoire.&lt;br /&gt;Et bien oui messieurs-dames, la FAQ nous annonce que nous pourrons utiliser JavaFX sur linux, dans la seconde moitié de 2012! la bonne blague!&lt;br /&gt;&lt;br /&gt;Du coup, rendez-vous dans un an, si j'y repense... mais entre temps il y aura surement d'autres technologies intéressantes à découvrir.&lt;br /&gt;&lt;br /&gt;Mise à jour du 24/01 : une preview pour Ubuntu (donc à tester sur les autres distributions) vient de sortir, &lt;a href="http://www.developpez.com/actu/40781/JavaFX-2-1-Developer-Preview-pour-Linux-publie-par-Oracle-la-technologie-devient-reellement-multiplateforme/"&gt;l'info sur developpez.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-6800409100021877188?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/6800409100021877188/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=6800409100021877188' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/6800409100021877188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/6800409100021877188'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2011/11/java-fx-20.html' title='Java FX 2.0'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-1000264385980312793</id><published>2011-05-26T14:10:00.003+02:00</published><updated>2011-05-26T14:14:06.315+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='slf4j'/><category scheme='http://www.blogger.com/atom/ns#' term='log'/><title type='text'>Les logs en 10 lecons</title><content type='html'>"Logger" ou "Journaliser" est une partie importante du développement d'une application. Cette étape permet, par exemple, de suivre le parcours utilisateur d'une application en production.&lt;br /&gt;C'est donc avec une attention particulière qu'il faut les mettre en place.&lt;br /&gt;&lt;br /&gt;En &lt;a href="http://nurkiewicz.blogspot.com/2010/05/clean-code-clean-logs-use-appropriate.html"&gt;10 leçons&lt;/a&gt;, vous maitriserez les logs, leur pattern, les bonnes pratiques. Un billet à lire et à relire.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-1000264385980312793?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/1000264385980312793/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=1000264385980312793' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1000264385980312793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1000264385980312793'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2011/05/les-logs-en-10-lecons.html' title='Les logs en 10 lecons'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-901788014196138122</id><published>2011-05-24T10:10:00.003+02:00</published><updated>2011-05-24T10:13:16.691+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><title type='text'>ce qu'utilise Facebook</title><content type='html'>A la decouverte du fonctionnement de Facebook.&lt;br /&gt;Vous trouverez sur &lt;a href="http://www.dzone.com/links/r/open_source_products_used_in_facebook.html"&gt;cette page&lt;/a&gt; les produits open source qu'utilisent Facebook, dingue! non ?&lt;br /&gt;Certains d'entre eux sont connus, d'autres comme Thrift, ont été développé par Facebook et partagé avec la communauté.&lt;br /&gt;S'ils ne sont pas sympa quand même!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-901788014196138122?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/901788014196138122/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=901788014196138122' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/901788014196138122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/901788014196138122'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2011/05/ce-quutilise-facebook.html' title='ce qu&apos;utilise Facebook'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-7170705541580169325</id><published>2011-05-24T09:55:00.003+02:00</published><updated>2011-05-24T09:59:12.711+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google code'/><category scheme='http://www.blogger.com/atom/ns#' term='security pattern'/><category scheme='http://www.blogger.com/atom/ns#' term='securité'/><title type='text'>La sécurité, La sécurité!</title><content type='html'>J'ai l'impression qu'en ce moment la sécurité prend beaucoup de place.&lt;br /&gt;On ne parlera pas de Sony mais ca me permet de donner un exemple pour montrer à quel point une faille peut être exploitée et créer des dégats.&lt;br /&gt;&lt;br /&gt;Il y a quelques semaines, Google partageait plusieurs présentations dont le titre était "What every programmer should know about security".&lt;br /&gt;Divisiée en trois grandes parties, ces présentations offre un apercu des principales failles.&lt;br /&gt;Je vous laisse les découvrir sur &lt;a href="http://code.google.com/intl/fr/edu/submissions/daswani/index.html"&gt;google code&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-7170705541580169325?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/7170705541580169325/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=7170705541580169325' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/7170705541580169325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/7170705541580169325'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2011/05/la-securite-la-securite.html' title='La sécurité, La sécurité!'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-8910906489956684993</id><published>2011-03-29T16:39:00.002+02:00</published><updated>2011-03-29T16:52:10.892+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IaaS'/><category scheme='http://www.blogger.com/atom/ns#' term='SaaS'/><category scheme='http://www.blogger.com/atom/ns#' term='PaaS'/><title type='text'>IaaS, PaaS, Saas</title><content type='html'>Vous souhaitez qu'on vous explique simplement la différence entre IaaS, PaaS et SaaS.&lt;br /&gt;&lt;a href="http://silverlighthack.com/post/2011/02/27/IaaS-PaaS-and-SaaS-Terms-Explained-and-Defined.aspx"&gt;Ce post &lt;/a&gt;est fait pour vous!&lt;br /&gt;&lt;br /&gt;Ce que j'en retiens :&lt;br /&gt;&lt;br /&gt;IaaS (Infrastructure as a Service) : Vous ne vous occupez plus de l'équipement. Les serveurs, leurs disques durs, le réseaux, tout ceci est à la charge du fournisseur de service. Vous vous connectez à distance à l'infrastructure.&lt;br /&gt;&lt;br /&gt;PaaS (Platform as a Service) : Un framework, une base de données et la couche Iaas vous sont fournit.&lt;br /&gt;&lt;br /&gt;SaaS (Software as a Service) : Toute la couche logicielle et matérielle vous est fournit. On peut le voir comme un abonnement à un logiciel accessible depuis n'importe où.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-8910906489956684993?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/8910906489956684993/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=8910906489956684993' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8910906489956684993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8910906489956684993'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2011/03/iaas-paas-saas.html' title='IaaS, PaaS, Saas'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-5054400417326040618</id><published>2011-03-27T18:53:00.002+02:00</published><updated>2011-03-27T18:56:33.502+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JBehave'/><title type='text'>JBehave</title><content type='html'>Apres le TDD, le DDD, voici le BDD, le behavior driven development.&lt;br /&gt;Le BDD s'ajoute au TDD. La description de ce qu'on l'appelle les tests d'acceptance peut se faire avant le codage.&lt;br /&gt;Ce qui est intéressant c'est que les outils comme JBehave fournissent une interface pour décrire le test et afficher les résultats.&lt;br /&gt;L'&lt;a href="http://blog.codecentric.de/en/2011/03/automated-acceptance-testing-using-jbehave/"&gt;article suivant&lt;/a&gt; présente un projet Maven de bout en bout et décrit l'automatisation des tests d'acceptance ave JBehave.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-5054400417326040618?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/5054400417326040618/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=5054400417326040618' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5054400417326040618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5054400417326040618'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2011/03/jbehave.html' title='JBehave'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-4888512875372579594</id><published>2011-03-25T09:37:00.002+01:00</published><updated>2011-03-25T09:44:11.477+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vaadin'/><category scheme='http://www.blogger.com/atom/ns#' term='roo'/><title type='text'>Vaadin et ROO</title><content type='html'>Je suis entrain de me pencher sur Vaadin. Ce framework se base sur GWT, et permet donc de développer des applications web en s'affranchissant du Javascript. Il fournit bon nombre de composants par défaut, et semble avoir de bonnes critiques.&lt;br /&gt;Je me suis dit, bon encore un truc pour développer plus vite, c'est cool. Mais je me suis aussi poser la question, est-ce que ca ferait gagner du temps par rapport à une application développée avec Spring ROO.&lt;br /&gt;&lt;br /&gt;Et bien en fait, je n'ai pas du être le seul à y voir un intérêt, parce qu'il existe un plugin Vaadin pour Spring ROO.&lt;br /&gt;Je n'ai pas encore pu le tester mais espère pouvoir en faire un retour rapide.&lt;br /&gt;&lt;br /&gt;En attendant, voici quelques références :&lt;br /&gt;&lt;a href="http://vaadin.com/wiki/-/wiki/Main/Spring%20Roo%20Plugin"&gt;http://vaadin.com/wiki/-/wiki/Main/Spring%20Roo%20Plugin&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.dzone.com/articles/playing-spring-roo-and-vaadin"&gt;http://java.dzone.com/articles/playing-spring-roo-and-vaadin&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.poornerd.com/2011/01/19/spring-roo-with-vaadin-and-the-experimental-visual-editor/"&gt;http://www.poornerd.com/2011/01/19/spring-roo-with-vaadin-and-the-experimental-visual-editor/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-4888512875372579594?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/4888512875372579594/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=4888512875372579594' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/4888512875372579594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/4888512875372579594'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2011/03/vaadin-et-roo.html' title='Vaadin et ROO'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-8763913848737737980</id><published>2011-01-24T09:32:00.002+01:00</published><updated>2011-01-24T09:36:38.839+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='garbage collector'/><category scheme='http://www.blogger.com/atom/ns#' term='jvisualvm'/><title type='text'>Comprendre encore un peu le garbage collector</title><content type='html'>Un article du lundi matin qui réveille!&lt;br /&gt;Afin de mieux comprendre comment fonctionne le garbage collector, sa division, sa politique de destruction d'objets, vous pouvez lire &lt;a href="http://redstack.wordpress.com/2011/01/06/visualising-garbage-collection-in-the-jvm/"&gt;cet article&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;En premier lieu, il décrit la manière dont la JVM utilise la mémoire, et les options que l'on passe pour en définir la taille. Si, si vous savez ces fameux -XX:MaxPermSize, -Xmx et consort...&lt;br /&gt;&lt;br /&gt;De plus, l'auteur présente rapidement l'outil jvisualvm, un outil fournit à partir du JDK 6 update 7.&lt;br /&gt;&lt;br /&gt;mesdames, messieurs, bonne semaine ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-8763913848737737980?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/8763913848737737980/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=8763913848737737980' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8763913848737737980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8763913848737737980'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2011/01/comprendre-encore-un-peu-le-garbage.html' title='Comprendre encore un peu le garbage collector'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-2497880659547657629</id><published>2011-01-17T09:09:00.004+01:00</published><updated>2011-01-17T09:12:32.831+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><category scheme='http://www.blogger.com/atom/ns#' term='JUnit'/><title type='text'>Les tests d'integration avec Spring et JUnit</title><content type='html'>Certaines annotations facilitent le développement de tests d'intégration.&lt;br /&gt;Il est, par exemple, possible de charger un application context différent de celui utiliser dans l'application grâce à l'annotation @ContextConfiguration.&lt;br /&gt;Il en existe bien d'autres et celles qui vous seront utiles pourraient être listées dans la page suivante : &lt;a href="http://java.dzone.com/articles/junit-spring-%E2%80%93-what-you-don%E2%80%99t"&gt;http://java.dzone.com/articles/junit-spring-%E2%80%93-what-you-don%E2%80%99t&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-2497880659547657629?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/2497880659547657629/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=2497880659547657629' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/2497880659547657629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/2497880659547657629'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2011/01/les-tests-dintegration-avec-spring-et.html' title='Les tests d&apos;integration avec Spring et JUnit'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-4927689865433898810</id><published>2011-01-13T09:25:00.003+01:00</published><updated>2011-01-13T09:33:15.195+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='integration continue'/><category scheme='http://www.blogger.com/atom/ns#' term='Jenkins'/><category scheme='http://www.blogger.com/atom/ns#' term='Hudson'/><category scheme='http://www.blogger.com/atom/ns#' term='continuous integration'/><title type='text'>appelez moi Jenkins</title><content type='html'>Hudson, serveur d'intégration continue connu et reconnu continue de bouger.&lt;br /&gt;Après le rachat de Sun par Oracle, le débat fut houleux, Hudson doit-il devenir un produit Oracle ?&lt;br /&gt;&lt;br /&gt;Puisqu'un changement de nom permettrait à Hudson d'être hébergé ailleurs que chez Oracle, c'est peut etre ce qui se fera : &lt;a href="http://www.developpez.com/actu/26995/Le-Projet-Hudson-change-de-nom-et-devient-Jenkins-pour-respecter-les-droits-d-Oracle-sa-migration-vers-GitHub-devrait-suivre/"&gt;http://www.developpez.com/actu/26995/Le-Projet-Hudson-change-de-nom-et-devient-Jenkins-pour-respecter-les-droits-d-Oracle-sa-migration-vers-GitHub-devrait-suivre/&lt;/a&gt;. L'info est un peu partout, mais ce lien est en français.&lt;br /&gt;&lt;br /&gt;Mais ce billet n'est pas là que pour ça. En effet, Hudson pourrait changer de nom et être hébergé sous GitHub mais bon...&lt;br /&gt;Ce qui m'intéresse aujourd'hui, c'est qu'un definitive guide est en cours de préparation.&lt;br /&gt;Il ne contient pour l'instant que six chapitres mais continue d'évoluer, et s'il est aussi simple à lire que le definitive guide de Maven, ce livre peut être une très bonne documentation.&lt;br /&gt;La page depuis laquelle le livre est téléchargeable est &lt;a href="http://www.wakaleo.com/books/continuous-integration-with-hudson-the-book"&gt;ici&lt;/a&gt;.&lt;br /&gt;Une interview de l'auteur est disponible &lt;a href="http://java.dzone.com/articles/open-source-book-hudson-users"&gt;là&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-4927689865433898810?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/4927689865433898810/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=4927689865433898810' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/4927689865433898810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/4927689865433898810'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2011/01/appelez-moi-jenkins.html' title='appelez moi Jenkins'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-8986560516538493481</id><published>2010-09-30T14:54:00.004+02:00</published><updated>2010-09-30T14:59:15.038+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='easy mock'/><category scheme='http://www.blogger.com/atom/ns#' term='mockito'/><title type='text'>les avantages et inconvénients de Mockito</title><content type='html'>&lt;a href="http://hamletdarcy.blogspot.com/2010/09/mockito-pros-cons-and-best-practices.html"&gt;Cet article&lt;/a&gt; vous présente les avantages et les inconvénients de Mockito.&lt;div&gt;De plus, une comparaison est disponible avec EasyMock.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Je ne connais qu'EasyMock, j'ai pu l'utiliser avec PowerMock.&lt;/div&gt;&lt;div&gt;Je trouvais le code très verbeux et assez complexe à appréhender.&lt;/div&gt;&lt;div&gt;Il semblerait que Mockito permette de gagner quelques lignes de code.&lt;/div&gt;&lt;div&gt;Si vous désirez un petit comparatif entre les deux, c'est disponible &lt;a href="http://code.google.com/p/mockito/wiki/MockitoVSEasyMock"&gt;ici&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-8986560516538493481?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/8986560516538493481/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=8986560516538493481' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8986560516538493481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8986560516538493481'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/09/les-avantages-et-inconvenients-de.html' title='les avantages et inconvénients de Mockito'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-5415270118092021792</id><published>2010-09-14T15:58:00.004+02:00</published><updated>2010-09-14T16:02:54.545+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='terracotta'/><category scheme='http://www.blogger.com/atom/ns#' term='ehcache'/><title type='text'>Terracotta et la gestion du Garbage collector</title><content type='html'>Comment se passer des limites du garbage collector de la JVM ?&lt;div&gt;En utilisant Terracotta!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;La définition du module "BigMemory" s'insère dans le fichier de configuration d'ehcache.&lt;/div&gt;&lt;div&gt;Leurs tests montre qu'il est possible d'avoir un garbage collector de 200Go.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ce module sera disponible en octobre.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Plus d'info &lt;a href="http://java.dzone.com/terracotta-releases-bigmemory"&gt;ici&lt;/a&gt; et &lt;a href="http://www.infoq.com/news/2010/09/bigmemory"&gt;ici&lt;/a&gt; aussi.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-5415270118092021792?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/5415270118092021792/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=5415270118092021792' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5415270118092021792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5415270118092021792'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/09/terracotta-et-la-gestion-du-garbage.html' title='Terracotta et la gestion du Garbage collector'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-1360302054825159211</id><published>2010-08-31T11:37:00.003+02:00</published><updated>2010-08-31T11:44:07.810+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hamcrest'/><category scheme='http://www.blogger.com/atom/ns#' term='tests unitaires'/><category scheme='http://www.blogger.com/atom/ns#' term='JUnit'/><title type='text'>Des tests JUnit plus lisibles</title><content type='html'>Dans une classe, on arrive vite à des assert longs et parfois compliqués.&lt;div&gt;A la fin, il faut bien l'avouer, les tests unitaires deviennent vite verbeux, rendant la compréhension difficile.&lt;/div&gt;&lt;div&gt;Hamcrest est une librairie qui simplifie l'écriture des assert.&lt;/div&gt;&lt;div&gt;Par exemple, on peut vérifie qu'une liste contient une valeur en faisant : &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; "&gt;&lt;pre style="margin-top: 3px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 5px; padding-right: 10px; padding-bottom: 5px; padding-left: 10px; background-image: url(http://www.developer.com/img/paperbg.gif); background-attachment: scroll; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 2px; border-right-width: 2px; border-bottom-width: 2px; border-left-width: 2px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(245, 243, 215); border-right-color: rgb(245, 243, 215); border-bottom-color: rgb(245, 243, 215); border-left-color: rgb(245, 243, 215); color: rgb(0, 0, 0); width: 570px; display: block; font-family: 'courier new', monospace; font-size: 13px; line-height: 16px; overflow-x: auto; background-position: 0px 0px; background-repeat: repeat repeat; "&gt;&lt;code style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-style: normal; font-weight: normal; font-family: monospace; "&gt;assertThat(aList, hasItem("aString"));&lt;/code&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Vous trouverez plus de détails &lt;a href="http://www.developer.com/java/article.php/10922_3901236_1/Write-More-Understandable-Java-Tests-with-Matcher-Objects.htm"&gt;ici&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;Le projet est hébergé sur &lt;a href="http://code.google.com/p/hamcrest/"&gt;google code&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-1360302054825159211?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/1360302054825159211/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=1360302054825159211' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1360302054825159211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1360302054825159211'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/08/des-tests-junit-plus-lisibles.html' title='Des tests JUnit plus lisibles'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-6402383798402007423</id><published>2010-07-22T11:49:00.003+02:00</published><updated>2010-07-22T12:03:19.599+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performances'/><title type='text'>Le top ten des problèmes de performance</title><content type='html'>Voici &lt;a href="http://java.sys-con.com/node/1463234"&gt;un lien&lt;/a&gt; vers le top ten des problèmes de performances.&lt;div&gt;1) Trop d'appels aux bases de données&lt;/div&gt;&lt;div&gt;2) Trop de synchronisation&lt;/div&gt;&lt;div&gt;3) manque d'attention au traffic réseau (latence, sérialisation)&lt;/div&gt;&lt;div&gt;4) Mauvais usage du mapping objet/relationnel&lt;/div&gt;&lt;div&gt;5) fuite mémoire&lt;/div&gt;&lt;div&gt;6) l'utilisation de dépendances problématique ou mal maitrisée&lt;/div&gt;&lt;div&gt;7) gaspillage des ressources&lt;/div&gt;&lt;div&gt;8) des applications "bouffies" qui chargent des ressources mal dimensionnées (images, javascript...)&lt;/div&gt;&lt;div&gt;9) mauvaise stratégie de cache&lt;/div&gt;&lt;div&gt;10) problèmes intermittents&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;L'intérêt de ce billet est qu'il donne des pistes pour résoudre chacun d'eux.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-6402383798402007423?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/6402383798402007423/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=6402383798402007423' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/6402383798402007423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/6402383798402007423'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/07/le-top-ten-des-problemes-de-performance.html' title='Le top ten des problèmes de performance'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-5183172734452058933</id><published>2010-07-16T11:28:00.002+02:00</published><updated>2010-07-16T11:32:50.407+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='cache'/><title type='text'>différences entre les caches JPA 2.0 et Hibernate</title><content type='html'>&lt;a href="http://www.developer.com/features/article.php/52691_3892261_1/JPA-20-Cache-Vs-Hibernate-Cache-Differences-in-Approach.htm"&gt;Cet article&lt;/a&gt; présente les différences entre les caches de JPA 2.0 et ceux d'Hibernate.&lt;br /&gt;Agrémentés d'exemple, les niveaux L1 et L2 de JPA sont présentés.&lt;br /&gt;Puis c'est une introduction aux caches d'Hibernate qui est décrite.&lt;br /&gt;&lt;br /&gt;D'après cet article, et sachant qu'Hibernate 3.5 supporte toutes les fonctionnalités de JPA 2,&lt;br /&gt;il serait plus intéressant d'utiliser Hibernate que JPA seul.&lt;br /&gt;&lt;br /&gt;Mais à vous de vous forger un avis.&lt;br /&gt;Si vous ne connaissez pas JPA, je vous conseille &lt;a href="http://blog.m1key.me/2010/06/integration-testing-your-spring-3-jpa.html"&gt;ce tutoriel&lt;/a&gt; sur Spring 3, maven et JPA.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-5183172734452058933?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/5183172734452058933/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=5183172734452058933' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5183172734452058933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5183172734452058933'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/07/differences-entre-les-caches-jpa-20-et.html' title='différences entre les caches JPA 2.0 et Hibernate'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-1213430023212712275</id><published>2010-07-16T10:17:00.002+02:00</published><updated>2010-07-16T10:25:34.976+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java performance'/><title type='text'>Java performance monitoring</title><content type='html'>Il y a quelques temps, ibm avait sorti un premier billet sur le monitoring d'applications Java.&lt;br /&gt;En début de semaine est sorti &lt;a href="http://www.ibm.com/developerworks/java/library/j-5things8.html?ca=drs-"&gt;le deuxième volet&lt;/a&gt; avec de courtes présentation de :&lt;br /&gt;    - jhat : analyse de la heap&lt;br /&gt;    - jmap : dump de la heap&lt;br /&gt;    - jstack : stack trace de thread&lt;br /&gt;    - jstat : statistiques de performances&lt;br /&gt;    - jps : des infos sur la JVM&lt;br /&gt;&lt;br /&gt;J'en profite pour mettre un lien sur les séries des &lt;a href="http://www.ibm.com/developerworks/views/java/libraryview.jsp?search_by=5+things+you+did"&gt;'5 choses que vous ne savez pas à propos de...'&lt;/a&gt; sur le site d'IBM.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-1213430023212712275?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/1213430023212712275/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=1213430023212712275' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1213430023212712275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1213430023212712275'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/07/java-performance-monitoring.html' title='Java performance monitoring'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-1312010732907680978</id><published>2010-07-06T19:02:00.003+02:00</published><updated>2010-07-06T19:05:23.539+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='introspection'/><title type='text'>L'introspection</title><content type='html'>L'introspection ou "Reflection" en anglais est utilisé dans la majorité des frameworks les plus célèbres (Struts, Spring, etc.).&lt;br /&gt;Pourtant, on peut penser que l'utilisation de l'introspection se fait au détriment des performances.&lt;br /&gt;&lt;a href="http://blog.smart-java.nl/blog/index.php/2010/04/25/reflection-slow-well-it-depends/"&gt;Cet article&lt;/a&gt; présente la manière d'optimiser les appels et les cas dans lesquels cette méthode peut être utilisé.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-1312010732907680978?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/1312010732907680978/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=1312010732907680978' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1312010732907680978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1312010732907680978'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/07/lintrospection.html' title='L&apos;introspection'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-4343370136353111124</id><published>2010-07-06T18:57:00.003+02:00</published><updated>2010-07-06T19:00:17.433+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='optimisation'/><title type='text'>l'optimisation de sites web</title><content type='html'>&lt;a href="https://community.dynatrace.com/community/display/PUB/Best+Practices+on+Web+Site+Performance+Optimization"&gt;Ce billet&lt;/a&gt; donne quelques clés pour optimiser vos sites web.&lt;br /&gt;Ou fait-il chercher, que faut-il analyser et comment et avec quels outils le faire ?&lt;br /&gt;Le temps de chargement des pages, le nombre de ressources à télécharger, le temps de latence, ces éléments sont à prendre en compte pour optimiser l'expérience utilisateur de votre site.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-4343370136353111124?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/4343370136353111124/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=4343370136353111124' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/4343370136353111124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/4343370136353111124'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/07/loptimisation-de-sites-web.html' title='l&apos;optimisation de sites web'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-5678789992840645466</id><published>2010-07-02T10:05:00.002+02:00</published><updated>2010-07-02T10:09:39.997+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='struts 2'/><category scheme='http://www.blogger.com/atom/ns#' term='framework MVC'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring MVC'/><title type='text'>Comparaisons de frameworks MVC</title><content type='html'>Si vous voulez avoir des élements de comparaisons entre :&lt;div&gt;    - Spring MVC&lt;/div&gt;&lt;div&gt;    - Struts 2&lt;/div&gt;&lt;div&gt;    - Stripes&lt;/div&gt;&lt;div&gt;    - GWT&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://blog.ernster.co.uk/?p=14"&gt;cet article &lt;/a&gt;est fait pour vous.&lt;/div&gt;&lt;div&gt;Apparemment Spring MVC serait le moins convaincant lors des tests...&lt;/div&gt;&lt;div&gt;Il m'est difficile de donner un avis n'ayant testé que Struts 2 et Spring MVC.&lt;/div&gt;&lt;div&gt;Néanmoins je m'étonne de voir GWT plus convaincant que Spring MVC.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-5678789992840645466?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/5678789992840645466/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=5678789992840645466' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5678789992840645466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5678789992840645466'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/07/comparaisons-de-frameworks-mvc.html' title='Comparaisons de frameworks MVC'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-1209920220207384897</id><published>2010-06-30T10:17:00.001+02:00</published><updated>2010-06-30T10:19:30.180+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JConsole'/><title type='text'>Le monitoring d'applications Java</title><content type='html'>Sur le site d'ibm, vous trouverez une suite d'articles sur le monitoring d'applications Java.&lt;br /&gt;Pour l'instant, seul le premier de la série est &lt;a href="http://www.ibm.com/developerworks/java/library/j-5things7.html?ca=drs-"&gt;disponible&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Il porte sur JConsole et son utilisation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-1209920220207384897?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/1209920220207384897/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=1209920220207384897' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1209920220207384897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1209920220207384897'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/06/le-monitoring-dapplications-java.html' title='Le monitoring d&apos;applications Java'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-258844988116327497</id><published>2010-06-30T09:21:00.002+02:00</published><updated>2010-06-30T09:26:37.700+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webservice'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Des webservices avec Android</title><content type='html'>Vous trouverez &lt;a href="http://ankitk.wordpress.com/2010/06/28/soap-web-service-call-in-android/"&gt;ici&lt;/a&gt; un article très court présentant l'appel de webservices avec le SDK android.&lt;br /&gt;&lt;br /&gt;C'est la librairie kSOAP2 qui est utilisé. C'est une librairie pour l'appel au webservices SOAP dans des environnements "contraignants" comme les applets ou les applications J2ME.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-258844988116327497?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/258844988116327497/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=258844988116327497' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/258844988116327497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/258844988116327497'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/06/des-webservices-avec-android.html' title='Des webservices avec Android'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-2840438972804879976</id><published>2010-06-28T13:37:00.003+02:00</published><updated>2010-06-28T13:40:57.764+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JMeter'/><title type='text'>Test de charde d'un site Web - JMeter</title><content type='html'>JMeter est l'outil de mise en place de tests de performances d'Apache.&lt;br /&gt;&lt;a href="http://blog.milamberspace.net/index.php/jmeter-pages/jmeter-test-de-charges-dun-site-web-mode-demploi"&gt;Ce billet&lt;/a&gt;, décrit en 4 étapes la mise en place d'un test :&lt;br /&gt;    - description du projet à tester&lt;br /&gt;    - déclaration du scénario&lt;br /&gt;    - affinage du scénario&lt;br /&gt;    - exécution.&lt;br /&gt;&lt;br /&gt;Clair et détaillé, il vous permettra une prise en main rapide de l'outil.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-2840438972804879976?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/2840438972804879976/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=2840438972804879976' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/2840438972804879976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/2840438972804879976'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/06/test-de-charde-dun-site-web-jmeter.html' title='Test de charde d&apos;un site Web - JMeter'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-7243023698344327159</id><published>2010-06-14T11:33:00.002+02:00</published><updated>2010-06-14T11:38:26.571+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elastic caching plateform'/><category scheme='http://www.blogger.com/atom/ns#' term='dsitributed data caching'/><title type='text'>VmWare acquiert Gemstone</title><content type='html'>&lt;div style="text-align: justify;"&gt;Gemstone fournit une solution de cache de données distribué, GemFire.&lt;br /&gt;VmWare, et donc SpringSource, &lt;a href="http://www.infoq.com/news/2010/05/gemstone"&gt;vient d'en faire l'acquisition&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Terracotta et GemFire sont des concurrents.&lt;br /&gt;On sait que les "distributed data caching" sont en plein essort. Nous aurons bientôt un élément de plus pour comparer leur performances et leur intérêt, puisque Terracotta travaillait déjà à l'intégration de son framework avec Spring.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-7243023698344327159?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/7243023698344327159/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=7243023698344327159' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/7243023698344327159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/7243023698344327159'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/06/vmware-acquiert-gemstone.html' title='VmWare acquiert Gemstone'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-5941546521521297</id><published>2010-04-02T11:37:00.003+02:00</published><updated>2010-04-02T11:44:33.157+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='skipfish'/><title type='text'>SkipFish - la sécurité selon Google</title><content type='html'>Toujours un peu à la bourre...&lt;br /&gt;Ca doit faire 15 jours que Google à annoncer sa sortie, nom de code SkipFish!&lt;br /&gt;C'est un outil permettant de tester la sécurité d'un site internet.&lt;br /&gt;Il n'est pas utile d'avoir le code source de l'application à disposition!&lt;br /&gt;&lt;br /&gt;On peut donc penser que cet outil est utilisable sur n'importe quel site internet, waouh!&lt;br /&gt;Je me trompe peut-être donc n'hésitez pas à poster vos commentaires pour me corriger.&lt;br /&gt;Vous trouverez dans la &lt;a href="http://code.google.com/p/skipfish/wiki/SkipfishDoc"&gt;documentation&lt;/a&gt;, le type d'attaques que cet outil est capable de simuler.&lt;br /&gt;Il y a en autres :&lt;br /&gt;    - les injections SQL&lt;br /&gt;    - les injections XPath&lt;br /&gt;    - failles XSS&lt;br /&gt;    - failles SSL&lt;br /&gt;&lt;br /&gt;L'annonce de sa sortie est &lt;a href="http://googleonlinesecurity.blogspot.com/2010/03/meet-skipfish-our-automated-web.html"&gt;ici&lt;/a&gt;.&lt;br /&gt;Je vous laisse découvrir, il est téléchargeable &lt;a href="http://code.google.com/p/skipfish/downloads/list"&gt;&lt;span style="text-decoration: underline;"&gt;la&lt;/span&gt;&lt;/a&gt;. Attention, ce sont les sources qui sont fournies, donc un compilateur C sera obligatoire!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-5941546521521297?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/5941546521521297/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=5941546521521297' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5941546521521297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5941546521521297'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/04/skipfish-la-securite-selon-google.html' title='SkipFish - la sécurité selon Google'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-735343492557393911</id><published>2010-04-02T11:25:00.002+02:00</published><updated>2010-04-02T11:31:55.408+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mule ESB'/><category scheme='http://www.blogger.com/atom/ns#' term='cxf'/><title type='text'>Des webservices avec Mule ESB et CXF</title><content type='html'>Mule ESB est un ESB Open Source. C'est l'un des plus utilisés et des plus reconnus, mais là n'est pas le sujet du billet.&lt;br /&gt;&lt;a href="http://blog.codecentric.de/en/2010/03/einfache-und-schnelle-webservices-mit-mule-esb-und-apache-cxf/"&gt;Cet article&lt;/a&gt; détaille la manière d'intégrer un webservices développé avec CXF et utilisable via un ESB.&lt;br /&gt;Assez technique, bien détaillé, un article à lire.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-735343492557393911?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/735343492557393911/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=735343492557393911' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/735343492557393911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/735343492557393911'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/04/des-webservices-avec-mule-esb-et-cxf.html' title='Des webservices avec Mule ESB et CXF'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-3305426464546265408</id><published>2010-03-28T18:34:00.003+02:00</published><updated>2010-03-28T18:51:46.794+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='generation de code'/><category scheme='http://www.blogger.com/atom/ns#' term='sculptor'/><title type='text'>Sculptor</title><content type='html'>Déjà un moment que je voulais mettre le lien de cet article, mais je n'avais jamais pris le temps de le lire.&lt;br /&gt;Sculptor est un générateur de code qui se base sur la description de l'architecure d'une application, en version quasi-textuelle.&lt;br /&gt;Et un outil de plus que les détracteurs de Maven n'apprécieront peut etre pas, puisque Maven est massivement utilisé pour la création d'un projet utilisant Sculptor.&lt;br /&gt;&lt;br /&gt;Cet outil est en à sa version 1.8.0 et à déjà quelques années derrière lui puisque la version 1.1 est sortie en novembre 2007.&lt;br /&gt;Vous trouverez :&lt;br /&gt;    - l'&lt;a href="http://java.dzone.com/articles/promote-quality-sculptor"&gt;article qui m'a fait découvrir Sculptor&lt;/a&gt;,&lt;br /&gt;    - &lt;a href="http://fornax.itemis.de/confluence/display/fornax/2.+Hello+World+Tutorial+%28CSC%29"&gt;un tutoriel simple&lt;/a&gt; pour découvrir ses fonctionnalités et sa manière de fonctionner,&lt;br /&gt;    - le &lt;a href="http://fornax-sculptor.blogspot.com/search?updated-max=2009-12-01T21%3A00%3A00%2B01%3A00&amp;amp;max-results=7"&gt;blog de l'equipe de développement&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-3305426464546265408?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/3305426464546265408/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=3305426464546265408' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/3305426464546265408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/3305426464546265408'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/03/sculptor.html' title='Sculptor'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-7121749361393251672</id><published>2010-03-28T18:26:00.003+02:00</published><updated>2010-03-28T18:30:37.915+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='enterpriseDB'/><category scheme='http://www.blogger.com/atom/ns#' term='terracotta'/><title type='text'>Terracotta et EnterpriseDB pour des clouds privés haute performance</title><content type='html'>Et oui... encore... toujours...&lt;br /&gt;Terracotta, encore lui!&lt;br /&gt;&lt;br /&gt;Cette entreprise, et cette technologie ont, pour moi, le vent en poupe.&lt;br /&gt;Cette semaine Terracotta s'allie à EnterpriseDB, une base de données basée sur PostgresSQL afin d'augmenter les performances d'accès aux données dans un cloud privé.&lt;br /&gt;Un peu plus de détails vous seront donné &lt;a href="http://architects.dzone.com/articles/terracotta-and-enterprisedb"&gt;ici&lt;/a&gt;, et des détails plus techniques seront présentés le 6 avril dans un webcast, dont l'adresse figure en bas du même &lt;a href="http://architects.dzone.com/articles/terracotta-and-enterprisedb"&gt;billet&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-7121749361393251672?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/7121749361393251672/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=7121749361393251672' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/7121749361393251672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/7121749361393251672'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/03/terracotta-et-enterprisedb-pour-des.html' title='Terracotta et EnterpriseDB pour des clouds privés haute performance'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-2778259097889882562</id><published>2010-03-28T18:15:00.003+02:00</published><updated>2010-03-28T18:21:37.693+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java monitoring'/><title type='text'>Une solution de monitoring simple</title><content type='html'>Fin novembre, l'année dernière, un projet permettant de monitorer facilement une application Java a vu le jour sur sourceforge.&lt;br /&gt;Grâce à l'AOP, ce système permet notamment de suivre les appels aux méthodes ou classes.&lt;br /&gt;Le résultat pourra être sauvé en base ou sous forme de fichier.&lt;br /&gt;&lt;br /&gt;Il ne semble pas vivre vite, et je ne l'ai pas testé. Son grand intérêt est toutefois d'exister sous la forme de plugin maven. Ainsi, plus besoin d'obtenir ces informations par traitement de logs.&lt;br /&gt;Ca peut toujours servir ;)&lt;br /&gt;&lt;br /&gt;Le site du projet sur sourceforge est &lt;a href="http://java-monitor.sourceforge.net/index.html"&gt;ici&lt;/a&gt;, le billet de l'auteur &lt;a href="http://www.developers-blog.org/blog/default/2009/11/23/Java-Monitoring-Project"&gt;là&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-2778259097889882562?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/2778259097889882562/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=2778259097889882562' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/2778259097889882562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/2778259097889882562'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/03/une-solution-de-monitoring-simple.html' title='Une solution de monitoring simple'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-1409324158533575469</id><published>2010-03-17T15:02:00.002+01:00</published><updated>2010-03-17T15:06:56.404+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='infinispan'/><title type='text'>Infinispan - comment ca marche</title><content type='html'>Sur le site &lt;a href="http://www.mastertheboss.com/"&gt;mastertheboss&lt;/a&gt;, dédié à JBoss, vous trouverez deux tutoriaux d'introduction à Infinispan.&lt;br /&gt;Déjà remarqué il y a quelques semaine, Infinispan est la plateforme de data grid chez JBoss.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mastertheboss.com/en/jboss-server/248-infinispan-tutorial-part-1.html"&gt;Le premier tutoriel &lt;/a&gt;décrit les actions de base :&lt;br /&gt;    - installer un exemple simple&lt;br /&gt;    - customiser la configuration du cache&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mastertheboss.com/en/jboss-server/249-infinispan-tutorial-part-2.html"&gt;Le second&lt;/a&gt; est plus complet. Il définit la notion de cache store, puis détaille quels éléments d'interactions avec le cache, avant de terminer par la clusterisation.&lt;br /&gt;&lt;br /&gt;bonne lecture&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-1409324158533575469?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/1409324158533575469/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=1409324158533575469' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1409324158533575469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1409324158533575469'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/03/infinispan-comment-ca-marche.html' title='Infinispan - comment ca marche'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-4042849039604646112</id><published>2010-03-12T11:04:00.002+01:00</published><updated>2010-03-12T11:09:00.993+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='classloader'/><title type='text'>Les classloaders dans le développement web</title><content type='html'>C'est intéressant de voir comment fonctionne le classLoader.&lt;br /&gt;Et, pour moi, l'utilisation de JavaRebel pourrait avoir de nombreux avantages dans les environnements de développement en priorité.&lt;br /&gt;Bref, ce point de vue est purement personnel.&lt;br /&gt;&lt;br /&gt;Toujours est il que sur cette &lt;a href="http://www.zeroturnaround.com/blog/rjc301/"&gt;page&lt;/a&gt;, vous trouverez des explications sur comment fonctionne le redeploy d'un serveur d'applications, dans OSGI et dans certains framework web.&lt;br /&gt;C'est une suite d'articles, vous trouverez les précédents et les suivant sur la même page.&lt;br /&gt;Ayant déjà fait un billet sur le classloader, je ne l'ai pas pointé une nouvelle fois.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-4042849039604646112?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/4042849039604646112/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=4042849039604646112' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/4042849039604646112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/4042849039604646112'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/03/les-classloaders-dans-le-developpement.html' title='Les classloaders dans le développement web'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-1533625777540057455</id><published>2010-03-11T09:37:00.003+01:00</published><updated>2010-03-11T09:43:00.379+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='terracotta'/><category scheme='http://www.blogger.com/atom/ns#' term='ehcache'/><title type='text'>EhCache 2.0</title><content type='html'>Ca fait quelques mois qu'EhCache a été racheté par Terracotta.&lt;br /&gt;Sa version 2.0 vient de sortir.&lt;br /&gt;&lt;br /&gt;Apparemment Terracotta à la volonté d'en faire un produit tourné vers l'entreprise pour une adoption massive.&lt;br /&gt;Dans cette version, on retrouve :&lt;br /&gt;    - l'adoption de JTA&lt;br /&gt;    - le data write-behind permettant l'execution asynchrone des updates sur une base&lt;br /&gt;    - le fast loading, désolé je n'ai pas plus d'infos, la fonctionnalité parle d'elle meme&lt;br /&gt;    - le Dynamic cache config, qui facilite la configuration des caches.&lt;br /&gt;&lt;br /&gt;Vous trouverez plus de détails à l'&lt;a href="http://java.dzone.com/articles/ehcache-20-gets-more"&gt;adresse suivante&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-1533625777540057455?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/1533625777540057455/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=1533625777540057455' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1533625777540057455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1533625777540057455'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/03/ehcache-20.html' title='EhCache 2.0'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-7834172729054559511</id><published>2010-03-04T19:07:00.003+01:00</published><updated>2010-03-04T19:16:50.391+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='infinispan'/><title type='text'>Infinispan v4.0</title><content type='html'>Les datagrids sont en plein essorts, comme le prouve le graphique ci-dessous fournit par Forrester.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_7ArkzSgGzWM/S4_4QbX8glI/AAAAAAAAAak/BtDHxeZjpT8/s1600-h/56028_2.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 314px;" src="http://3.bp.blogspot.com/_7ArkzSgGzWM/S4_4QbX8glI/AAAAAAAAAak/BtDHxeZjpT8/s320/56028_2.gif" alt="" id="BLOGGER_PHOTO_ID_5444843435624006226" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Ces solutions fournissent une gestion de caches de données distribués, permettant entre autres, des gains de performances lors de l'accès aux données.&lt;br /&gt;La semaine dernière, la version 4 d'Infinispan (une solution opensource de JBoss) est sortie.&lt;br /&gt;Si vous voulez en savoir plus, tout est &lt;a href="http://infinispan.blogspot.com/2010/02/infinispan-400final-has-landed.html"&gt;ici&lt;/a&gt;, à votre dispositions des liens vers des benchmarks, des comparaisons par rapport à une solution comme ehCache et plusieurs autres informations.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-7834172729054559511?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/7834172729054559511/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=7834172729054559511' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/7834172729054559511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/7834172729054559511'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/03/infinispan-v40.html' title='Infinispan v4.0'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_7ArkzSgGzWM/S4_4QbX8glI/AAAAAAAAAak/BtDHxeZjpT8/s72-c/56028_2.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-7237002922184474869</id><published>2010-02-27T23:50:00.003+01:00</published><updated>2010-02-27T23:56:34.594+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='it job trends'/><title type='text'>Les technologies qui devraient arriver</title><content type='html'>Vous ne savez plus quelle techno vous feriez mieux d'apprendre.&lt;br /&gt;Vous vous perdez dans les choix entre Hibernate, iBatis, JPA, meme chose dans les langages ou les serveurs d'applications ?&lt;br /&gt;Ne cherchez plus, quelqu'un à fait &lt;a href="http://www.soa-at-work.com/2010/02/it-job-trends-which-technologies-you.html"&gt;le travail pour vous&lt;/a&gt;.&lt;br /&gt;Les résultats sortent du site indeed.com, un moteur de recherche pour l'emploi.&lt;br /&gt;Dans le développement web, Java, Spring et Hibernate semblent tenir le haut du pavé.&lt;br /&gt;Toutefois, les technologies des années futures pourraient être le cloud computing, JPA, Groovy et toujours Spring.&lt;br /&gt;Des informations qui peuvent peut etre vous aider a remplir vos soirées pluvieuses du mois de mars.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-7237002922184474869?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/7237002922184474869/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=7237002922184474869' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/7237002922184474869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/7237002922184474869'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/02/les-technologies-qui-devraient-arriver.html' title='Les technologies qui devraient arriver'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-2005848424569393182</id><published>2010-02-18T09:33:00.002+01:00</published><updated>2010-02-18T09:38:34.030+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='InitializingBean'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><title type='text'>InitializingBean et Assert</title><content type='html'>En utilisant Spring, un objet peut implémenter l'interface InitializingBean.&lt;br /&gt;Cette interface permet de surcharger la méthode afterPropertiesSet.&lt;br /&gt;Elle permet, par exemple, d'apporter un comportement particulier; après que tous les beans dont mon objet dépend aient été initialisés.&lt;br /&gt;&lt;br /&gt;En plus de ca, il est possible d'utiliser les Assert de Spring (à ne pas confondre avec les assert de JUnit). Ces "Assert" vous permettront de vérifier que vos variables membres ont bien correctement initialisées.&lt;br /&gt;&lt;br /&gt;Un tout petit peu plus de détails &lt;a href="http://wheelersoftware.com/articles/spring-initializingbean-assert.html"&gt;ici&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-2005848424569393182?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/2005848424569393182/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=2005848424569393182' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/2005848424569393182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/2005848424569393182'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/02/initializingbean-et-assert.html' title='InitializingBean et Assert'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-8430202488031760913</id><published>2010-02-16T23:08:00.002+01:00</published><updated>2010-02-16T23:13:56.735+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='m2eclipse'/><title type='text'>m2eclipse 0.10.0</title><content type='html'>Il y a quelques mois, on parlait de la bagarre m2eclipse/q4e pour gérer maven sous eclipse.&lt;br /&gt;Force est de constater que ces deux plugins n'ont pas de releases fréquentes.&lt;br /&gt;La dernière de q4e date de juin 2009, m2eclipse après un an d'absence vient de sortir en version 0.10.0.&lt;br /&gt;La liste des nouveautés que cette version apporte est &lt;a href="http://www.sonatype.com/people/2010/02/now-available-m2eclipse-0-10-0/"&gt;ici&lt;/a&gt;.&lt;br /&gt;m2eclipse était, selon moi, le plugin le plus abouti des deux. Il n'était pas parfait et faisait le minimum, gageons que cette version soit encore meilleure!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-8430202488031760913?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/8430202488031760913/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=8430202488031760913' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8430202488031760913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8430202488031760913'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/02/m2eclipse-0100.html' title='m2eclipse 0.10.0'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-6911103142326915440</id><published>2010-02-16T23:01:00.003+01:00</published><updated>2010-02-16T23:06:28.280+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='integration test'/><category scheme='http://www.blogger.com/atom/ns#' term='soapui'/><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><title type='text'>tests d'integration avec Maven et SoapUI</title><content type='html'>Les tests unitaires ne sont censées tester qu'une partie du code d'une classe.&lt;br /&gt;Ce qui implique de créer des bouchons, des mocks pour chacun des objets faisant appel à du code extérieur à la classe.&lt;br /&gt;&lt;br /&gt;Par contre, il est aussi obligatoire de faire des tests d'intégration, et ainsi de pouvoir tester une fonctionnalité complète.&lt;br /&gt;Pour tester des webservices, l'article présenté &lt;a href="http://blog.lick-me.org/2010/02/howto-soapui-integration-tests-with-maven/"&gt;ici&lt;/a&gt; décrit la manière dont un projet créé avec soapUI et maven peut interagir.&lt;br /&gt;Un truc de plus pour rendre son pom verbeux et incompréhensible, mais c'est plutot utile.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-6911103142326915440?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/6911103142326915440/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=6911103142326915440' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/6911103142326915440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/6911103142326915440'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/02/tests-dintegration-avec-maven-et-soapui.html' title='tests d&apos;integration avec Maven et SoapUI'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-975470237182787586</id><published>2010-02-11T17:36:00.006+01:00</published><updated>2010-02-11T17:42:18.786+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JExcel'/><category scheme='http://www.blogger.com/atom/ns#' term='POI'/><title type='text'>Lire un fichier excel en Java</title><content type='html'>Une question revient souvent : comment interagir avec un fichier excel depuis Java ?&lt;br /&gt;L'API qui ressort le plus souvent est &lt;a href="http://poi.apache.org/"&gt;POI de la fondation Apache&lt;/a&gt;.&lt;br /&gt;Cette api est très complète et ne se limite pas qu'à Excel. Il est possible de lire/écrire des documents Word, PowerPoint, des fichiers basés sur le standard OpenOffice XML, etc.&lt;br /&gt;&lt;br /&gt;Par contre, lorsqu'on ne veut travailler qu'avec de l'Excel, on pourrait parfois y préféré &lt;a href="http://jexcelapi.sourceforge.net/"&gt;JExcel&lt;/a&gt;.&lt;br /&gt;&lt;a href="http://www.developpez.net/forums/d254949/java/general-java/apis/documents/conso-memoire-poi-vs-jexcel/"&gt;Un benchmark&lt;/a&gt; tout simple a été réalisé il y a quelques années, il vaut ce qu'il vaut mais peut permettre de se faire une idée.&lt;br /&gt;Il compare rapidement les performances de JExcel par rapport à celles de POI.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-975470237182787586?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/975470237182787586/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=975470237182787586' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/975470237182787586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/975470237182787586'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/02/lire-un-fichier-excel-en-java.html' title='Lire un fichier excel en Java'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-1482263968914711740</id><published>2010-01-30T15:19:00.002+01:00</published><updated>2010-01-30T15:30:06.677+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='strategy'/><category scheme='http://www.blogger.com/atom/ns#' term='design pattern'/><title type='text'>Le pattern "Stategy"</title><content type='html'>Selon le site &lt;a href="http://www.dofactory.com/Patterns/PatternStrategy.aspx"&gt;dofactory&lt;/a&gt;, le pattern "Strategy"  définie une famille d'algorithmes, encapsule chacun d'eux, et les rends inter-changeables. Il laisse l'algorithme varier indépendamment du client qui l'ulitise.&lt;br /&gt;Il se base sur l'utilisation de la composition plus que de l'héritage.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://alexruiz.developerblogs.com/?p=834"&gt;Cet article&lt;/a&gt; détaille donc le design pattern Strategy, avec un exemple simple. Comment conserver le principe de "Un objet, une responsabilité" ? Donc, plutôt que de surcharger une classe, pourquoi ne pas utiliser la composition?&lt;br /&gt;Il présente une classe dont le comportement doit évoluer au moment de quitter l'application.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-1482263968914711740?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/1482263968914711740/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=1482263968914711740' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1482263968914711740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1482263968914711740'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/01/le-pattern-stategy.html' title='Le pattern &quot;Stategy&quot;'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-7812634510958960954</id><published>2010-01-26T13:33:00.002+01:00</published><updated>2010-01-26T13:38:19.687+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java EE 6'/><title type='text'>Les nouveautés de Java EE 6</title><content type='html'>L'article date du mois dernier, donc il serait temps de se réveiller. Il présente &lt;a href="http://java.sun.com/developer/technicalArticles/JavaEE/JavaEE6Overview.html"&gt;les nouveautés de Java EE 6&lt;/a&gt;, à savoir :&lt;br /&gt;&lt;br /&gt;   - JPA 2.0,&lt;br /&gt;   - les EJB 3.1,&lt;br /&gt;   - des ajouts d'annotations pour avoir un code plus concis,&lt;br /&gt;   - les servlets 3.0 et JSF 2.0.&lt;br /&gt;&lt;br /&gt;pour ne citer que cela.&lt;br /&gt;bonne lecture&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-7812634510958960954?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/7812634510958960954/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=7812634510958960954' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/7812634510958960954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/7812634510958960954'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/01/les-nouveautes-de-java-ee-6.html' title='Les nouveautés de Java EE 6'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-134894871163198879</id><published>2010-01-17T19:52:00.014+01:00</published><updated>2010-01-17T20:25:13.649+01:00</updated><title type='text'>Spring ROO 1.0</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span&gt; Spring Roo est un outil qui permet de générer du code CRUD, ou une application, capable de gérer la création, la modification et la suppression d'une entité.&lt;/span&gt; Sa version 1.0.0 est sortie le 31 décembre 2009. Une présentation vidéo est disponible &lt;a href="http://www.infoq.com/presentations/Introducing-Spring-Roo"&gt;ici&lt;/a&gt;.&lt;br /&gt;&lt;span&gt;Ce billet utilise un tutoriel présenté par Spring Source, en y ajoutant quelques remarques.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;1. Installation et création d’un projet&lt;/span&gt;    &lt;p style="text-align: justify;" class="MsoNormal"&gt;Téléchargez la dernière version sur &lt;a href="http://www.springsource.com/download/community"&gt;http://www.springsource.com/download/community&lt;/a&gt;. C'est un zip; une fois extrait vous obtiendrez l’arborescence suivante : &lt;/p&gt;  &lt;h2&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_7ArkzSgGzWM/S1NdMmVjU8I/AAAAAAAAAaE/yYx6mXbpLq8/s1600-h/arboRoo.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 161px; height: 122px;" src="http://3.bp.blogspot.com/_7ArkzSgGzWM/S1NdMmVjU8I/AAAAAAAAAaE/yYx6mXbpLq8/s320/arboRoo.JPG" alt="" id="BLOGGER_PHOTO_ID_5427784446942335938" border="0" /&gt;&lt;/a&gt;&lt;/h2&gt;   &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;    &lt;p style="text-align: justify;" class="MsoNormal"&gt;Ajoutez &lt;span style="font-style: italic;"&gt;%INSTALL_DIRECTORY%\bin&lt;/span&gt; à votre PATH.&lt;/p&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;Puis j’ai suivi ce tutoriel : &lt;a href="http://blog.springsource.com/2009/05/27/roo-part-2/"&gt;http://blog.springsource.com/2009/05/27/roo-part-2/.&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;Pour créer un projet, tapez la commande :&lt;br /&gt;&lt;/p&gt;&lt;div style="text-align: center;"&gt;        &lt;span style="font-style: italic;"&gt;project --topLevelPackage&lt;/span&gt;&lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt; &lt;/p&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;&lt;votrenomdepackage&gt;&lt;/votrenomdepackage&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;Cette commande initialise un projet avec les conventions maven. Il est quasiment vide, hormis l’applicationContext et le log4j.properties qui sont créés dans src/main/resources/META-INF/spring.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;   &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;Trois types de persistence sont proposés : ECLIPSELINK, Hibernate et OpenJPA. J’ai choisi d’utiliser Hibernate. Plusieurs type de bases sont supportés MySQL, MSSQL, Oracle, POSTGre, pour ne citer que les plus utilisées.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;    &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;Dans scr/main/META-INF, le fichier database.properties est créé, vous permettant de spécifier, l’url et les logins/mot de passe de la base à laquelle vous souhaitez vous connecter. Il y a des commandes roo qui vous permettront de modifier ce fichier depuis l’interface, mais vous pourrez très bien le faire à la main.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;   &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;A cette étape, le pom est déjà très verbeux. Il faudra vous armer de patience si vous voulez le modifier. Pourtant, il se peut que vous en ayez besoin. Par exemple, le projet créé tire des dépendances vers les plugins tomcat et eclipse qui ne vous seront peut être pas utiles.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;   &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;Autre information, le projet utiliser slf4j, avec le log4 over slf4.&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;2. &lt;/span&gt;Création d’une entité&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-align: justify;" class="MsoNormal"&gt;Et là, je me dis tiens, je ne vais pas être original, je veux pouvoirs gérer des utilisateurs, je vais donc créer une entité User. Je tape donc la commande préconisée : &lt;/p&gt;   &lt;p style="text-align: center;" class="MsoNormal"&gt;&lt;i style=""&gt;&lt;span style="" lang="EN-US"&gt;        roo&gt; entity --name ~.bo.User&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style="text-align: justify;" class="MsoNormal"&gt;Première erreur, ce n’est plus &lt;i style=""&gt;--name&lt;/i&gt; qu’il faut utiliser mais &lt;i style=""&gt;--class&lt;/i&gt;. Ce qui donne : &lt;/p&gt;   &lt;p style="text-align: center;" class="MsoNormal"&gt;&lt;i style=""&gt;        roo&gt;entity –classe ~.bo.User&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style="text-align: justify;" class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Retour à la réalité : &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-align: center;" class="MsoNormal"&gt;&lt;i style=""&gt;&lt;span style="" lang="EN-US"&gt;        Reserved SQL keyword 'User' is not permitted as simple type name&lt;/span&gt;&lt;/i&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-align: justify;" class="MsoNormal"&gt;Grrr ! Bon et bien on va mettre People. Ca passe, on continue.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;La classe people a déjà plusieurs attributs, une version et un identifiant. Je choisi donc d’ajouter un simple champ email qui sera non null.&lt;/p&gt;    &lt;p style="text-align: center;" class="MsoNormal"&gt;&lt;i style=""&gt;&lt;span style="" lang="EN-US"&gt;        roo&gt; field string email –notNull –sizeMax 30&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style="text-align: justify;" class="MsoNormal"&gt;Après avoir taper cette commande : &lt;/p&gt;  &lt;p style="text-align: center;" class="MsoNormal"&gt;&lt;code&gt;&lt;i style=""&gt;&lt;span style="line-height: 115%;font-family:&amp;quot;;" &gt;        &lt;/span&gt;&lt;/i&gt;&lt;/code&gt;&lt;i style=""&gt;&lt;span style="" lang="EN-US"&gt;roo&gt; test integration&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p  style="text-align: justify;font-family:times new roman;" class="MsoNormal"&gt;&lt;code&gt;&lt;span style="line-height: 115%;"&gt;Vous disposez d’une application qui permet de persister un objet et des classes de test correspondantes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p  style="text-align: justify;font-family:times new roman;" class="MsoNormal"&gt;&lt;code&gt;&lt;span style="line-height: 115%;"&gt;Attention, ROO utilise la programmation orientée aspect. Il peut donc être assez compliqué de faire des modifications si vous ne maitrisez cette technologie.&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;    &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;On peut, par exemple, penser à l’ajout d’un champ. Je pense qu’il sera préférable d’utiliser les commandes roo plutôt que de temps l’ajout manuel. J’ai ajouté des méthodes dans la classe que j’avais créée et le merge est effectué correctement. Je ne perds donc pas mes modifications. J’émettrais toutefois quelques réserves dans des cas plus compliqués que je n’ai pas testé.&lt;/p&gt;  &lt;p style="text-align: justify;" class="MsoNormal"&gt;Voici la commande que j’ai tapée : &lt;/p&gt;  &lt;p style="text-align: center;" class="MsoNormal"&gt;&lt;i style=""&gt;&lt;span style="" lang="EN-US"&gt;    roo&gt; field number age --type java.lang.Integer --class ~.bo.People&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style="text-align: justify;" class="MsoNormal"&gt;On notera l’ajout de --class &lt;lenomdelaclasse&gt; pour spécifier à quelle classe le champ doit appartenir.&lt;/lenomdelaclasse&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;   &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;Allé, on va un petit peu plus loin, Roo est capable de générer l’IHM, testons !&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;3. &lt;/span&gt;Génération de l’IHM&lt;/span&gt;&lt;/p&gt;     &lt;p style="text-align: justify;" class="MsoNormal"&gt;J’ai utilisé la commande fournit dans le tutoriel&lt;/p&gt;  &lt;p style="text-align: center;" class="MsoNormal"&gt;&lt;i style=""&gt;    roo&gt; controller scaffold ~.web.PeopleController&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style="text-align: justify;" class="MsoNormal"&gt;La génération se passe sans souci. J’ai hate!&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;J’ai utilisé &lt;span style="font-style: italic;"&gt;controller scaffold&lt;/span&gt; &lt;lenomduneclasse&gt; pour ne générer que l’interface de l’objet People, mais en mettant&lt;/lenomduneclasse&gt;&lt;/p&gt;  &lt;p style="text-align: center;" class="MsoNormal"&gt;&lt;i style=""&gt;    roo&gt;controller all ~.web&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style="text-align: justify;" class="MsoNormal"&gt;Roo aurait généré les IHM de toutes les entités.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;    &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;Afin de customiser votre application, vous aurez peut être besoin de savoir à quoi correspondent, les différents dossiers générés. Voici la définition tirée du site de Spring Source : &lt;/p&gt;&lt;h2&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_7ArkzSgGzWM/S1NdfF0OPUI/AAAAAAAAAac/xu2lGk-dbgM/s1600-h/directoriesRoo.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 170px;" src="http://4.bp.blogspot.com/_7ArkzSgGzWM/S1NdfF0OPUI/AAAAAAAAAac/xu2lGk-dbgM/s320/directoriesRoo.JPG" alt="" id="BLOGGER_PHOTO_ID_5427784764630121794" border="0" /&gt;&lt;/a&gt;&lt;/h2&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1027" type="#_x0000_t75" style="'width:300pt;height:159.75pt'"&gt;  &lt;v:imagedata src="file:///C:\Temp\msohtmlclip1\01\clip_image003.png" title=""&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: left; font-weight: bold;"&gt;&lt;span style="font-size:100%;"&gt;4. Démarrage&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/h2&gt;    &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p style="text-align: justify;" class="MsoNormal"&gt;Ensuite, on est presque au bout, alors : &lt;i style=""&gt;mvn clean install&lt;/i&gt;.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;Puis, démarrez de votre serveur d’application préféré, déployez l’application.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;   &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;Tada : &lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;&lt;i style=""&gt;java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style="text-align: justify;" class="MsoNormal"&gt;mince !&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;J’utilise un jdk 1.5, pas de panique, c’est un bug connu, ouf !&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;Pour le résoudre, il faut ajouter deux dépendances dans votre pom.xml :&lt;br /&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;b&gt;&amp;lt;dependency&lt;/b&gt;&lt;b&gt;&amp;gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;dependency&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/dependency&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;                                           &lt;/span&gt;&lt;groupid&gt;&lt;groupid&gt;&lt;groupid&gt;&lt;/groupid&gt;&lt;/groupid&gt;&lt;/groupid&gt;&lt;/span&gt;&lt;b&gt;&amp;lt;goupId&lt;/b&gt;&lt;b&gt;&amp;gt;&lt;/b&gt;&lt;span style="" lang="EN-US"&gt;&lt;groupid&gt;&lt;groupid&gt;&lt;groupid&gt;javax.xml.bind&lt;/groupid&gt;&lt;/groupid&gt;&lt;/groupid&gt;&lt;/span&gt;&lt;b&gt;&amp;lt;/groupId&lt;/b&gt;&lt;b&gt;&amp;gt;&lt;/b&gt;&lt;span style="" lang="EN-US"&gt;&lt;groupid&gt;&lt;groupid&gt;&lt;/groupid&gt;&lt;/groupid&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;artifactid&gt;&lt;artifactid&gt;&lt;/artifactid&gt;&lt;/artifactid&gt;&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;groupid&gt;&lt;groupid&gt;&lt;artifactid&gt;&lt;/artifactid&gt;&lt;/groupid&gt;&lt;/groupid&gt;&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;artifactid&gt;&lt;artifactid&gt;    &lt;/artifactid&gt;&lt;/artifactid&gt;&lt;/span&gt;&lt;b&gt;&amp;lt;artifactId&lt;/b&gt;&lt;b&gt;&amp;gt;&lt;/b&gt;&lt;span style="" lang="EN-US"&gt;&lt;artifactid&gt;&lt;artifactid&gt;jaxb-api&lt;/artifactid&gt;&lt;/artifactid&gt;&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;groupid&gt;&lt;groupid&gt;&lt;/groupid&gt;&lt;/groupid&gt;&lt;/span&gt;&lt;b&gt;&amp;lt;/artifactId&lt;/b&gt;&lt;b&gt;&amp;lt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;                                          &lt;/span&gt;&lt;version&gt;&lt;version&gt;&lt;version&gt;&lt;/version&gt;&lt;/version&gt;&lt;/version&gt;&lt;/span&gt;&lt;b&gt;&amp;lt;version&lt;/b&gt;&lt;b&gt;&amp;gt;&lt;/b&gt;&lt;span style="" lang="EN-US"&gt;&lt;version&gt;&lt;version&gt;&lt;version&gt;2.1&lt;/version&gt;&lt;/version&gt;&lt;/version&gt;&lt;/span&gt;&lt;b&gt;&amp;lt;/version&lt;/b&gt;&lt;b&gt;&amp;gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;dependency&gt;&lt;/dependency&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;b&gt;&amp;lt;/dependency&lt;/b&gt;&lt;b&gt;&amp;gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;b&gt;&amp;lt;dependency&lt;/b&gt;&lt;b&gt;&amp;gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;dependency&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/dependency&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style="" lang="EN-US"&gt;&lt;groupid&gt;&lt;/groupid&gt;&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;groupid&gt;&lt;/groupid&gt;&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;groupid&gt;&lt;/groupid&gt;&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;groupid&gt;    &lt;/groupid&gt;&lt;/span&gt;&lt;b&gt;&amp;lt;goupId&lt;/b&gt;&lt;b&gt;&amp;gt;&lt;/b&gt;&lt;span style="" lang="EN-US"&gt;&lt;groupid&gt;com.sun.xml.bind&lt;/groupid&gt;&lt;/span&gt;&lt;b&gt;&amp;lt;/groupId&lt;/b&gt;&lt;b&gt;&amp;gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;                                   &lt;/span&gt;&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;artifactid&gt;&lt;/artifactid&gt;&lt;/span&gt;&lt;artifactid&gt;    &lt;/artifactid&gt;&lt;span style="" lang="EN-US"&gt;&lt;artifactid&gt;&lt;/artifactid&gt;&lt;/span&gt;&lt;artifactid&gt;    &lt;/artifactid&gt;&lt;b&gt;&amp;lt;artifactId&lt;/b&gt;&lt;b&gt;&amp;gt;&lt;/b&gt;&lt;span style="" lang="EN-US"&gt;&lt;artifactid&gt;&lt;artifactid&gt;&lt;/artifactid&gt;&lt;/artifactid&gt;&lt;/span&gt;&lt;artifactid&gt;jaxb-impl&lt;/artifactid&gt;&lt;span style="" lang="EN-US"&gt;&lt;artifactid&gt;&lt;artifactid&gt;&lt;/artifactid&gt;&lt;/artifactid&gt;&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;groupid&gt;&lt;groupid&gt;&lt;/groupid&gt;&lt;/groupid&gt;&lt;/span&gt;&lt;b&gt;&amp;lt;/artifactId&lt;/b&gt;&lt;b&gt;&amp;lt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;version&gt;&lt;/version&gt;&lt;/span&gt;&lt;span style=""&gt;                                    &lt;/span&gt;&lt;b&gt;&amp;lt;version&lt;/b&gt;&lt;b&gt;&amp;gt;&lt;/b&gt;&lt;version&gt;&lt;version&gt;2.1.3&lt;/version&gt;&lt;/version&gt;&lt;b&gt;&amp;lt;/version&lt;/b&gt;&lt;b&gt;&amp;gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;b&gt;&amp;lt;/dependency&lt;/b&gt;&lt;b&gt;&amp;gt;&lt;/b&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p style="text-align: justify;" class="MsoNormal"&gt;Allé c’est reparti, &lt;span style="font-style: italic;"&gt;mvn clean install&lt;/span&gt;, tout ca, tout ca.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;Et là, c’est génial ca marche : &lt;/p&gt;&lt;h2&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_7ArkzSgGzWM/S1NdRnkUSLI/AAAAAAAAAaM/y5hPsAA2pX4/s1600-h/ihmRoo.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 112px;" src="http://4.bp.blogspot.com/_7ArkzSgGzWM/S1NdRnkUSLI/AAAAAAAAAaM/y5hPsAA2pX4/s320/ihmRoo.JPG" alt="" id="BLOGGER_PHOTO_ID_5427784533172046002" border="0" /&gt;&lt;/a&gt;&lt;/h2&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id="Image_x0020_2" spid="_x0000_i1026" type="#_x0000_t75" style="'width:453.75pt;"&gt;  &lt;v:imagedata src="file:///C:\Temp\msohtmlclip1\01\clip_image005.png" title=""&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;br /&gt;&lt;!--[endif]--&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p style="text-align: justify;" class="MsoNormal"&gt;Il y a déjà des contrôles de surface, on clique sur save, et c’est persisté ! Une page est disponible pour lister le contenu de la table People. Et en plus la gestion de la langue est déjà prévue.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;Il y a plein de petits trucs, par exemple, si on utilise un attribut de type Date, dans l’ihm il y a aura directement un calendrier de proposé.&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;5. Les logs&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;    &lt;p style="text-align: justify;" class="MsoNormal"&gt;Le tutoriel nous donne la possibilité d’ajouter des loggers dans la partie Web. Il faut savoir que Roo est capable de l’ajouter dans les entités, dans l’AOP, bref, partout en fait !&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-weight: bold;" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;6. La sécurité&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-align: justify;" class="MsoNormal"&gt;La gestion simple de la sécurité passe aussi par une seule commande.&lt;/p&gt;  &lt;p style="text-align: center;" class="MsoNormal"&gt;&lt;i style=""&gt;    roo&gt; security setup&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style="text-align: justify;" class="MsoNormal"&gt;Il faut noter qu’elle n’est disponible qu’au moment où vous aurez créé la couche Web. Je n’ai pu l’exécuter qu’une fois.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;Je me suis arrêté là dans la lecture du tutoriel, et souhaite bon courage à ceux qui voudront en apprendre d’avantage. &lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;En conclusion, je dirais que Spring Roo est simple à prendre en main, on peut tout à fait créer une application simple en 30 minutes. Mais la maintenance d’une application générée peut être complexe, encore plus quand on ne maitrise pas l’AOP.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;Je m’interroge sur : &lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="margin-left: 24.75pt; text-indent: -18pt; text-align: justify;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;-&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Pourquoi un répertoire selenium avec des fichiers test* se trouve dans WEB-INF et sera donc déployé ?&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="margin-left: 24.75pt; text-indent: -18pt; text-align: justify;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;-&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Aucune CSS n’est présente, il semble pourtant y avoir de la mise en page. L’IHM pourrait donc être à reprendre si vous voulez partir avec la génération d’IHM&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="margin-left: 24.75pt; text-indent: -18pt; text-align: justify;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;-&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Je m’attendais à avoir des DAOs, c’est en regardant le &lt;a href="http://static.springsource.org/spring-roo/reference/html/architecture.html"&gt;chapitre sur l’architecture&lt;/a&gt;  d’une application que j’ai eu la réponse.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="margin-left: 24.75pt; text-indent: -18pt; text-align: justify;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;-&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Qu’est ce qui se passe quand on veut créer un projet multimodule ? J’ai bien l’impression que la division doit être ensuite faite à la main, ce qui peut être très contraignant. Je n’ai pas trouvé d’informations sur ce sujet.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 24.75pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-134894871163198879?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/134894871163198879/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=134894871163198879' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/134894871163198879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/134894871163198879'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/01/spring-roo-10.html' title='Spring ROO 1.0'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_7ArkzSgGzWM/S1NdMmVjU8I/AAAAAAAAAaE/yYx6mXbpLq8/s72-c/arboRoo.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-1358506016028879913</id><published>2010-01-13T09:27:00.003+01:00</published><updated>2010-01-13T09:30:17.588+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='struts 2 tutorial'/><title type='text'>Des tutoriaux sur Struts 2</title><content type='html'>Vous voulez tenter l'expérience Struts 2?&lt;br /&gt;Vous avez créer votre petite application Hello world, avec l'archetype maven, grâce à ce &lt;a href="http://struts.apache.org/2.0.6/docs/struts-maven-archetypes.html"&gt;lien&lt;/a&gt;, car les archetypes maven par défaut ne vous donne pas satisfaction.&lt;br /&gt;Puis, vous voulez en savoir plus. le site&lt;a href="http://javaee-trainer.blogspot.com"&gt; javaee trainer&lt;/a&gt; offre 17 tutoriaux pour Struts 2. Il semble être enrichie régulièrement, c'est donc une bonne base de départ.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-1358506016028879913?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/1358506016028879913/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=1358506016028879913' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1358506016028879913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1358506016028879913'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/01/des-tutoriaux-sur-struts-2.html' title='Des tutoriaux sur Struts 2'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-5522058564085196209</id><published>2010-01-11T17:27:00.003+01:00</published><updated>2010-01-11T17:32:23.133+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spring 3.0'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA 2.0'/><title type='text'>JPA 2.0 et Spring 3.0</title><content type='html'>Si vous souhaitez un court exemple utilisant JPA 2.0 avec Spring 3.0, le tout couplé à Maven,&lt;br /&gt;cet &lt;a href="http://paulszulc.wordpress.com/2010/01/09/jpa-2-0-and-spring-3-0-with-maven/"&gt;article&lt;/a&gt; est fait pour vous.&lt;br /&gt;Spring 3.0 est la nouvelle release de Spring sortie cette hiver.&lt;br /&gt;JPA signifie Java Persistence API, c'est l'API Java de persistence de données.&lt;br /&gt;&lt;br /&gt;L'exemple donné permet de se connecter à une table d'utilisateurs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-5522058564085196209?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/5522058564085196209/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=5522058564085196209' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5522058564085196209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5522058564085196209'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/01/jpa-20-et-spring-30.html' title='JPA 2.0 et Spring 3.0'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-1254481737685952566</id><published>2010-01-10T13:06:00.003+01:00</published><updated>2010-01-10T13:08:35.457+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance test tool'/><title type='text'>Des outils de tests</title><content type='html'>Et oui, chez vous aussi il neige, alors vous vous demandez ce que vous allez pouvoir faire de votre dimanche.&lt;br /&gt;Ne cherchez plus!&lt;br /&gt;Vous allez tester les applications, que vous développez chez vous, avec les outils qui sont décrits &lt;a href="http://www.jayphilips.com/2010/01/07/50-open-source-performance-testing-tools/"&gt;ici&lt;/a&gt;.&lt;br /&gt;Plus de 50 outils Open Source vous permettant de faire des tests de charge, des tests d'endurance, bref d'y passer votre après-midi.&lt;br /&gt;Amusez vous et proposez nous vos retours d'expérience.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-1254481737685952566?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/1254481737685952566/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=1254481737685952566' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1254481737685952566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1254481737685952566'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/01/des-outils-de-tests.html' title='Des outils de tests'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-6141500362309677547</id><published>2010-01-10T12:35:00.002+01:00</published><updated>2010-01-10T12:47:11.334+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spring AOP'/><title type='text'>Spring AOP - deuxième référence</title><content type='html'>Il y a deux, trois semaines, je postais un article de qui présentait Spring AOP.&lt;br /&gt;Celui d'aujourd'hui vient enrichir les références vers cette technologie.&lt;br /&gt;En premier lieu, je souhaitais comprendre quoi utiliser entre AspectJ et Spring AOP.&lt;br /&gt;Ils peuvent se compléter, mais aussi s'opposer, et dans l'&lt;a href="http://java-chimaera.blogspot.com/2008/08/aspectj-or-spring-aop.html"&gt;article suivant&lt;/a&gt; vous trouverez un début de piste pour vous aider à faire votre choix.&lt;br /&gt;&lt;br /&gt;Vous avez choisi d'utiliser Spring AOP et le &lt;a href="http://ewawszczyk.developpez.com/tutoriel/java/spring/aop/"&gt;tutoriel prenant l'exemple des loggers&lt;/a&gt; vous a convaincu mais vous en voulez plus ?&lt;br /&gt;Il y a un &lt;a href="http://static.springsource.org/spring/docs/2.0.x/reference/aop.html"&gt;chapitre entier&lt;/a&gt; sur le site de Spring Source.&lt;br /&gt;Lorsque vous en aurez fini avec la théorie, vous pourrez apprendre à &lt;a href="http://www.skill-guru.com/blog/2009/12/16/aspect-oriented-programmingaop-with-spring/"&gt;vérifier l'état d'un objet avant de sauvegarder ses modifications&lt;/a&gt;.&lt;br /&gt;En dernier lieu, &lt;a href="http://java.dzone.com/articles/introduction-spring-aop?page=0,0"&gt;un exemple plus complexe&lt;/a&gt; permettra de vous exercer à appliquer des services de sécurité lorsqu'un utilisateur se loggue.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-6141500362309677547?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/6141500362309677547/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=6141500362309677547' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/6141500362309677547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/6141500362309677547'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/01/spring-aop-deuxieme-reference.html' title='Spring AOP - deuxième référence'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-1537746336782636969</id><published>2010-01-04T19:28:00.002+01:00</published><updated>2010-01-04T19:32:25.249+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GWT'/><category scheme='http://www.blogger.com/atom/ns#' term='ebooks'/><title type='text'>Une liste de livres gratuits sur GWT</title><content type='html'>Vous connaissez peu GWT, le Google Web Toolkit, et vous souhaitez vous y mettre.&lt;br /&gt;Le site &lt;a href="http://www.bookuter.com/"&gt;bookuter&lt;/a&gt; fournit quantité de livres gratuits, vous pourrez par exemple, en trouver une bonne &lt;a href="http://www.bookuter.com/category/java/gwt"&gt;vingtaine sur ce sujet&lt;/a&gt;.&lt;br /&gt;Même si ce site à l'air récent vu le nombre d'ebooks disponibles, n'hésitez pas à fouiller vous trouverez surement des documents intéressants.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-1537746336782636969?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/1537746336782636969/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=1537746336782636969' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1537746336782636969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1537746336782636969'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2010/01/une-liste-de-livres-gratuits-sur-gwt.html' title='Une liste de livres gratuits sur GWT'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-6691765013273457510</id><published>2009-12-15T14:16:00.003+01:00</published><updated>2009-12-15T14:22:20.985+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spring AOP'/><title type='text'>Spring AOP</title><content type='html'>Le développement orienté aspect, ou comment évitez de coder deux fois la même chose.&lt;br /&gt;Je l'utilise peu, même pas, mais je m'y intéresse.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Dans le monde Java, lorsque vous souhaitez ajouter des logs à votre application, combien de fois avez-vous à taper quelque chose du genre :&lt;br /&gt;    logger.log(...)&lt;br /&gt;&lt;br /&gt;Et bien, la programmation orientée aspect peut vous permettre par exemple, de logguer l'entrée et la sortie d'une méthode.&lt;br /&gt;Je ne m'y connais pas et ne m'étendrai donc pas sur le sujet.&lt;br /&gt;J'ai trouvé un &lt;a href="http://ewawszczyk.developpez.com/tutoriel/java/spring/aop/"&gt;article simple&lt;/a&gt; qui présente l'intérêt de l'AOP avec le framework Spring AOP.&lt;br /&gt;Vous pouvez avoir plus de théorie dans l'&lt;a href="http://www.dotnetguru.org/articles/dossiers/aop/aop.htm"&gt;article de dotnetguru&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Vous préférez lire un livre ?&lt;br /&gt;Je vous propose de regarder Aspect J in action, dont la deuxième édition est sortie en septembre 2009.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-6691765013273457510?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/6691765013273457510/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=6691765013273457510' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/6691765013273457510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/6691765013273457510'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/12/spring-aop.html' title='Spring AOP'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-7579937131082219974</id><published>2009-12-07T09:57:00.002+01:00</published><updated>2009-12-07T10:00:16.116+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spring par l&apos;exemple'/><title type='text'>Spring par l'exemple</title><content type='html'>Je viens de découvrir un site pour apprendre &lt;a href="http://www.springbyexample.org/"&gt;Spring par l'exemple&lt;/a&gt;.&lt;br /&gt;Il semble bien fait et très fournit, vous pouvez l'enrichir en y apportant vos exemples.&lt;br /&gt;Une version PDF est téléchargeable, attention elle fait un peu plus de 300 pages. Si vous vous demandiez ce que vous pourriez faire de vos longues soirées d'hiver, je crois que j'ai une partie de la réponse.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-7579937131082219974?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/7579937131082219974/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=7579937131082219974' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/7579937131082219974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/7579937131082219974'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/12/spring-par-lexemple.html' title='Spring par l&apos;exemple'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-6155955816199413072</id><published>2009-12-04T09:41:00.002+01:00</published><updated>2009-12-04T09:55:02.433+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google wave gadgets'/><title type='text'>Des extensions Google wave</title><content type='html'>Ce qui marche bien avec Google wave, c'est le fait de pouvoir y ajouter des extensions.&lt;br /&gt;Google maps, le sudoku sont des gadgets qu'on retrouve très vite.&lt;br /&gt;Mais il existe plein d'autres :&lt;br /&gt;     - le "robot" par exemple est un gadget qui "scrute" la wave et qui lance les actions qu'on lui a demandé. Une de ces implémentations permet notamment d'envoyer un mail à chacun des participants lorsque la wave est mise à jour.&lt;br /&gt;     - un gadget permettant de faire des sondages est disponibles par défaut.&lt;br /&gt;     - celui pour laquelle je vois le plus d'intérêt pour l'instant c'est le gadget de brainstorming.&lt;br /&gt;        Ce n'est qu'un début, mais quand cette application évolura, elle pourrait être intéressante.&lt;br /&gt;&lt;br /&gt;Une liste des extensions est disponibles &lt;a href="http://www.docstoc.com/docs/13086406/Google-Wave-Extension-List"&gt;ici&lt;/a&gt;, une autre &lt;a href="http://wavety.com/"&gt;là&lt;/a&gt;, quelques unes &lt;a href="http://br.bingorabbit.com/2009/11/7-google-wave-extensions-i-use/"&gt;ici&lt;/a&gt; et encore &lt;a href="http://completewaveguide.com/guide/Wave_Gadgets"&gt;là&lt;/a&gt;.&lt;br /&gt;Bon d'accord, il y a des doublons mais au moins la liste est assez complexe.&lt;br /&gt;Ce que j'aime dans le dernier lien, c'est le bonus, je n'avais pas regardé du coté de firefox, mais il existe un plugin firefox permettant de savoir quand la wave est mise à jour.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-6155955816199413072?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/6155955816199413072/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=6155955816199413072' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/6155955816199413072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/6155955816199413072'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/12/des-extensions-google-wave.html' title='Des extensions Google wave'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-5819757189752713812</id><published>2009-11-30T09:35:00.003+01:00</published><updated>2009-11-30T09:40:17.427+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Build Number'/><category scheme='http://www.blogger.com/atom/ns#' term='maven plugin'/><title type='text'>Le plugin maven Build Number</title><content type='html'>Aaaahhhh!&lt;br /&gt;Bon bin on apprend tous les jours.&lt;br /&gt;Il y a un truc que je n'aime dans le plugin release, c'est d'avoir a remplir le numéro de version de la version suivante. Bien sur, le remplir ca se comprend.&lt;br /&gt;Mais quand meme, je me disais bien qu'un plugin me permettant de pouvoir changé de version en lui indiquant quelle nomenclature j'utilise ca pourrait être pas mal.&lt;br /&gt;Et bien visiblement, c'est possible avec le plugin &lt;a href="http://commons.ucalgary.ca/projects/maven-buildnumber-plugin/howto.html"&gt;Build Number&lt;/a&gt;.&lt;br /&gt;Par exemple, on peut définir la forme que doit avoir un numéro de version :&lt;br /&gt;&lt;pre&gt;&lt;configuration&gt;&lt;br /&gt; &lt;format&gt;{0,number}.{1,number}.{2,number}&lt;/format&gt;&lt;br /&gt; &lt;items&gt;&lt;br /&gt;   &lt;item&gt;buildNumber0&lt;/item&gt;&lt;br /&gt;   &lt;item&gt;buildNumber1&lt;/item&gt;&lt;br /&gt;   &lt;item&gt;buildNumber2&lt;/item&gt;&lt;br /&gt; &lt;/items&gt;&lt;br /&gt;&lt;/configuration&gt;&lt;/pre&gt;Je trouve ca plutôt pas mal, je viens de découvrir, il ne reste plus qu'à voir comment s'en servir!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-5819757189752713812?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/5819757189752713812/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=5819757189752713812' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5819757189752713812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5819757189752713812'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/11/le-plugin-maven-build-number.html' title='Le plugin maven Build Number'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-3150358743254419547</id><published>2009-11-30T09:19:00.003+01:00</published><updated>2009-11-30T09:24:31.655+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google wave'/><title type='text'>Google wave, c'est bien ou c'est pas bien</title><content type='html'>Une semaine que je suis sur la wave.&lt;br /&gt;Bilan... mais a quoi ca peut servir aujourd'hui ?&lt;br /&gt;Ca pourra surement devenir un outil de travail collaboratif.&lt;br /&gt;Ca pourra éviter de faire des comptes-rendus de discussion s'étant tenu sur msn.&lt;br /&gt;Mais à part ca, force est de constater que pour l'instant l'intérêt de cet outil est plus que limité.&lt;br /&gt;&lt;br /&gt;A une wave, comprenez une file de messages, un espace de dialogue, on peut ajouter des plugins.&lt;br /&gt;Ce ne sont que les prémices de ce produit, et par conséquent, les extensions ne sont pas toujours au top.&lt;br /&gt;&lt;br /&gt;Concretement, aujourd'hui, c'est de la découverte, il manque quelques fonctionnalités de bases, c'est plus ou moins buggués donc on attend de voir ce que sera la suite!&lt;br /&gt;&lt;br /&gt;Pour avoir un autre avis, je vous recommande cet article intitulé : &lt;a href="http://www.techcrunch.com/2009/11/26/why-google-wave-sucks/"&gt;Pourquoi Google wave c'est de la merde, et pourquoi vous l'utiliserez quand meme.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-3150358743254419547?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/3150358743254419547/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=3150358743254419547' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/3150358743254419547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/3150358743254419547'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/11/google-wave-cest-bien-ou-cest-pas-bien.html' title='Google wave, c&apos;est bien ou c&apos;est pas bien'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-8201216226410522565</id><published>2009-11-09T15:36:00.004+01:00</published><updated>2009-11-09T15:47:09.893+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maven release plugin'/><title type='text'>Le plugin release de maven</title><content type='html'>Vous souhaitez automatiser la génération de tags dans vos applications Java EE, et vous utilisez maven2 ?&lt;br /&gt;Génial, le &lt;a href="http://maven.apache.org/plugins/maven-release-plugin/"&gt;plugin release de maven&lt;/a&gt; est fait pour vous!&lt;br /&gt;Rien de compliqué, deux phases principales&lt;br /&gt;release:prepare&lt;br /&gt;     - vérifie qu'il n'y a aucune différence entre le poste qui build et la gestion de configuration&lt;br /&gt;     - vérifie qu'il n'y a pas de dépendances en SNAPSHOT&lt;br /&gt;     - change la version des poms en supprimant le 'snapshot'&lt;br /&gt;     - pose un tag&lt;br /&gt;     - change de nouveau les poms en y mettant la nouvelle version&lt;br /&gt;     - commite ce changement&lt;br /&gt;&lt;br /&gt;release:perform&lt;br /&gt;    - fais un checkout du tag qui est posé par release:prepare&lt;br /&gt;    - joue les goals associés au perform (par défaut deploy et site-deploy)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bon jusque là rien d'extraordinaire... Ok, mais des fois dans un projet multi-modules, vous passez des paramètres.&lt;br /&gt;Or, le plugin release ne répercute pas ces paramètres dans les sous-modules!&lt;br /&gt;Pour pallier à ce problème il faut ajouter &lt;a href="http://mrhaki.blogspot.com/2008/07/passing-d-arguments-along-to-release.html"&gt;-Darguments="vos arguments"&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Un exemple :&lt;br /&gt;  vous buildez votre projet avec mvn clean install -DmonParametre=uneValeur&lt;br /&gt;et la vous remarquez que lors de la release vous ne retrouvez pas 'monParametre'. La solution sera donc :&lt;br /&gt;   mvn release:prepare release:perform -Darguments="-DmonParametre=uneValeur"&lt;br /&gt;&lt;br /&gt;C'était tellement évident!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-8201216226410522565?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/8201216226410522565/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=8201216226410522565' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8201216226410522565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8201216226410522565'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/11/le-plugin-release-de-maven.html' title='Le plugin release de maven'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-1895870210033728947</id><published>2009-10-22T10:11:00.002+02:00</published><updated>2009-10-22T10:15:19.699+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sécurité'/><title type='text'>Tester la sécurité du web 2.0</title><content type='html'>Le Web 2.0, ses espaces collaboratifs, sa réactivité... AJAX...&lt;br /&gt;Il existe bon nombre de problèmes de sécurité auxquelles nous ne faisons pas attention surtout avec le web 2.0.&lt;br /&gt;Dans &lt;a href="http://itspice.net/cms/software-testing-and-quality/web-2-0-security-testing-approach-note"&gt;cet article&lt;/a&gt; sont recensé quelques types d'attaques et les outils nous permettant de tester la sécurité de nos applications.&lt;br /&gt;Il ne reste plus qu'à les essayer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-1895870210033728947?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/1895870210033728947/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=1895870210033728947' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1895870210033728947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1895870210033728947'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/10/tester-la-securite-du-web-20.html' title='Tester la sécurité du web 2.0'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-635187216118984919</id><published>2009-10-22T09:30:00.003+02:00</published><updated>2009-11-05T12:01:38.042+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='glassfish'/><category scheme='http://www.blogger.com/atom/ns#' term='JBoss'/><title type='text'>Glassfish ou JBoss</title><content type='html'>Si vous souhaitez comparer GlassFish et JBoss, une partie des réponses pourra vous être fourni dans les liens pointés par l'&lt;a href="http://blog.arungupta.me/2009/10/comparing-glassfish-and-jboss-helping-you-decide/"&gt;article suivant&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-635187216118984919?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/635187216118984919/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=635187216118984919' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/635187216118984919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/635187216118984919'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/10/glassfish-ou-jboss.html' title='Glassfish ou JBoss'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-6280229378427822273</id><published>2009-10-19T16:28:00.004+02:00</published><updated>2009-10-19T16:33:54.233+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java EE 6'/><title type='text'>La version finale des spécifications Java  EE 6</title><content type='html'>Disponibles depuis quelques heures, la version finale &lt;a href="http://jcp.org/aboutJava/communityprocess/pfd/jsr316/index.html"&gt;des spécifications Java EE 6&lt;/a&gt; est arrivée.&lt;br /&gt;Vous faites quoi de vos longues soirées d'hiver ?&lt;br /&gt;&lt;br /&gt;Il va vous falloir une bonne dose de courage si vous voulez tout lire, au programme :&lt;br /&gt;    - les modifications apportées aux EJB&lt;br /&gt;    - des évolutions sur la partie Web (servlets, JSF)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-6280229378427822273?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/6280229378427822273/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=6280229378427822273' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/6280229378427822273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/6280229378427822273'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/10/la-version-finale-des-specifications.html' title='La version finale des spécifications Java  EE 6'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-8669706401696557294</id><published>2009-10-13T11:45:00.002+02:00</published><updated>2009-10-13T11:48:43.531+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sécurité'/><category scheme='http://www.blogger.com/atom/ns#' term='W3AF'/><title type='text'>W3AF - un framework pour tester les attaques</title><content type='html'>Tout est dans le titre, &lt;a href="http://w3af.sourceforge.net/"&gt;W3AF&lt;/a&gt; est un framework permettant d'auditer la sécurité de son site. Il vous permettra de découvrir quelques exploits réalisables sur votre plateforme.&lt;br /&gt;Il semble très peu maintenu mais restera néanmoins utilisable pour quelqu'un qui cherche à se mettre à la sécurité.&lt;br /&gt;L'utilisation semble peu complexe, vous pouvez en avoir un apercu sur &lt;a href="http://pentesterconfessions.blogspot.com/2007/10/how-to-use-w3af-to-audit-web.html"&gt;une page qui date de 2007&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-8669706401696557294?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/8669706401696557294/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=8669706401696557294' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8669706401696557294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8669706401696557294'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/10/w3af-un-framework-pour-tester-les.html' title='W3AF - un framework pour tester les attaques'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-3166703135081187419</id><published>2009-10-13T11:33:00.002+02:00</published><updated>2009-10-13T11:35:34.388+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video conférence'/><category scheme='http://www.blogger.com/atom/ns#' term='APIDEO'/><title type='text'>APIDEO - du chat video dans un site web</title><content type='html'>Cette fois c'est un exemple en Adobe AIR qui vous est proposé.&lt;br /&gt;Via le framework APIDEO, il est tout à fait pensable d'établir une "conférence vidéo" via un client léger.&lt;br /&gt;Illustrer de schémas et d'exemples de codes, vous trouverez une très bonne première approche de ce framework &lt;a href="http://www.programmez.com/tutoriels.php?titre=Etablir-un-chat-video-entre-un-site-Web-et-une-application-de-type&amp;amp;tutoriel=106"&gt;ici&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-3166703135081187419?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/3166703135081187419/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=3166703135081187419' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/3166703135081187419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/3166703135081187419'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/10/apideo-du-chat-video-dans-un-site-web.html' title='APIDEO - du chat video dans un site web'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-1137127867683501848</id><published>2009-10-13T09:11:00.002+02:00</published><updated>2009-10-13T09:16:37.871+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='terracotta'/><category scheme='http://www.blogger.com/atom/ns#' term='second caching level'/><title type='text'>Terracotta</title><content type='html'>J'en ai déjà parlé, Terracotta permet de gérer des caches distribués.&lt;br /&gt;Il y a quelques temps, il y a eu une sorte de fusion, de rachat, d'ehcache par Terracotta.&lt;br /&gt;En rapprochant ces solutions, leur intégration s'en trouve simplifier.&lt;br /&gt;&lt;br /&gt;Je vous laisserai lire &lt;a href="http://java.dzone.com/news/terracotta-heats-competition"&gt;cet article&lt;/a&gt; qui est surtout un présentation, dans laquelle on expose des arguments qui peut être dans le futur, laissent penser que Terracotta pourra rivaliser avec des gestions de cache fournies par Oracle ou JBos.&lt;br /&gt;&lt;br /&gt;Le &lt;a href="http://myadventuresincoding.wordpress.com/2009/10/11/second-level-caching-for-hibernate-with-terracotta/"&gt;second article&lt;/a&gt; est un peu plus précis et introduit la notion de cache de second niveau (second level caching) et présente une configuration dans un cas simple.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-1137127867683501848?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/1137127867683501848/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=1137127867683501848' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1137127867683501848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1137127867683501848'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/10/terracotta.html' title='Terracotta'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-4399453740799360901</id><published>2009-10-06T14:10:00.003+02:00</published><updated>2009-10-06T14:16:53.033+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java EE'/><category scheme='http://www.blogger.com/atom/ns#' term='performances'/><title type='text'>Audit de performance d'une application J2EE</title><content type='html'>Sur developpez.com est paru aujourd'hui un &lt;a href="http://arodrigues.developpez.com/tutoriels/java/performance/audit-performances-application-java-ee/"&gt;article très bien fait&lt;/a&gt; sur l'audit de performances d'une application Java EE.&lt;br /&gt;Quoi mesurer, avec quels outils, comment ils fonctionnent, tout ceci vous est présenté dans l'article.&lt;br /&gt;En partant de la consommation mémoire, puis en passant par l'optimisation de la base de données, il se termine par quelques bonnes pratiques.&lt;br /&gt;Un article complet et plaisant à lire.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-4399453740799360901?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/4399453740799360901/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=4399453740799360901' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/4399453740799360901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/4399453740799360901'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/10/audit-de-performance-dune-application.html' title='Audit de performance d&apos;une application J2EE'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-5487306028496149435</id><published>2009-10-05T10:20:00.002+02:00</published><updated>2009-10-05T10:23:13.635+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sonar 1.11'/><title type='text'>Sonar 1.11 est sorti</title><content type='html'>La nouvelle version de sonar est sortie, voici une partie du contenu :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;nouvelle page de composants&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Amélioration des métriques de couverture de code&lt;br /&gt;&lt;/li&gt;&lt;li&gt;meilleure purge de la base. Cela améliore le support de projets multi-modules&lt;/li&gt;&lt;/ul&gt;A tester!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-5487306028496149435?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/5487306028496149435/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=5487306028496149435' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5487306028496149435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5487306028496149435'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/10/sonar-111-est-sorti.html' title='Sonar 1.11 est sorti'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-4074640703781339004</id><published>2009-09-30T09:07:00.003+02:00</published><updated>2009-09-30T09:11:55.175+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='serveur proxy'/><title type='text'>Un simple serveur proxy en Java</title><content type='html'>Le rôle d'un serveur proxy est d'avoir un seul point d'entrée qui se chargera de relayer les demandes à d'autres serveurs. Il peut aussi se charger de centraliser l'accès à des ressources dont la localisation ne sera connu que par lui.&lt;br /&gt;Il est possible de coder un tel serveur en Java, et ce de manière assez simple.&lt;br /&gt;C'est ce que propose l'&lt;a href="http://www.venishjoe.net/2009/09/simple-proxy-server-in-java.html"&gt;article suivant&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-4074640703781339004?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/4074640703781339004/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=4074640703781339004' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/4074640703781339004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/4074640703781339004'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/09/un-simple-serveur-proxy-en-java.html' title='Un simple serveur proxy en Java'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-7231530954368556098</id><published>2009-09-18T12:14:00.001+02:00</published><updated>2009-09-18T12:15:25.298+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='value'/><category scheme='http://www.blogger.com/atom/ns#' term='Reference'/><title type='text'>Passage par valeur ou par référence en Java</title><content type='html'>Parfois, on ne se pose même plus la question.&lt;br /&gt;Mais parfois, c'est aussi bon de se rappeler les bases.&lt;br /&gt;Alors en Java, passage par référence, passage par valeur, les deux ?&lt;br /&gt;&lt;br /&gt;La réponse est &lt;a href="http://technotes.towardsjob.com/java/pass-by-value-and-pass-by-reference-in-java/"&gt;ici&lt;/a&gt;, simple, claire, précise.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-7231530954368556098?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/7231530954368556098/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=7231530954368556098' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/7231530954368556098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/7231530954368556098'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/09/passage-par-valeur-ou-par-reference-en.html' title='Passage par valeur ou par référence en Java'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-6856420386986458891</id><published>2009-09-18T11:41:00.003+02:00</published><updated>2009-09-18T14:49:57.686+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle coherence'/><title type='text'>Oracle coherence</title><content type='html'>&lt;div style="text-align: justify;"&gt;Hier soir, j'ai assisté à la présentation d'Oracle Coherence lors de la réunion de mon JUG préféré ;)&lt;br /&gt;Oracle Coherence est un cache distribué en mémoire. On peut y placer des données issues de sources diverses (fichiers, webservices, base) et permettre ainsi un accès à ces données dans des temps réduits.&lt;br /&gt;&lt;br /&gt;Via une API propriétaire, l'accès à la base n'est plus direct. Le chargement des données se fait par l'intermédiaire d'une grille de noeuds qui contient un ensemble de données issu de la base. C'est cette grille qui se charge de la synchronisation avec la base.&lt;br /&gt;La création et la suppression de noeuds peut être dynamique et paramétrable.&lt;br /&gt;C'est un peu comme un système de cache très évolué.&lt;br /&gt;&lt;br /&gt;Après la présentation, j'ai eu quelques questions, du type :&lt;br /&gt;Est ce que mon application devient dépendante de ce framework ?&lt;br /&gt;Peut-on se détacher de Coherence à tout moment ?&lt;br /&gt;Comment intégrer Coherence à mon existant ?&lt;br /&gt;&lt;br /&gt;Et bien après les questions qui ont suivi je suis un peu dans le flou, ne prenez donc pas ce que j'écris comme une source sure.&lt;br /&gt;Toutefois, ce que j'ai cru comprendre me permet de dire que :&lt;br /&gt;   - via l'AOP la dépendance à Cohérence peut être limitée,&lt;br /&gt;   - mais l'accès aux données doit forcément passé par cette API. Meme dans le cas ou la grille de noeuds n'est pas accessible, et que mon application accède directement à la base, elle passera forcément par le framework,&lt;br /&gt;   - Coherence pourra utiliser votre existant (via l'AOP) pour l'accès (en lecture et en écriture) à votre source de données.&lt;br /&gt;&lt;br /&gt;La communication entre les noeuds est optimisée mais reste dépendante de la vitesse du réseau. La performance d'une technologie de ce type dépend la vitesse du réseau et la taille des objects que l'on pose dans le cache distribué. La grille Coherence est donc constituée d'un ensemble de noeuds (un noeud = une JVM) qui se voient sur un réseau de type LAN (&gt;= 100 Mbs) et communiquent grâce à un protocole propriétaire appelé Tangosol Cluster Management Protocol (TCMP). Dans le cas ou un client de la grille (ex : un serveur JEE) ne peut communiquer avec celle-ci que sur un réseau de type WAN alors la communication entre le client et la grille ne se fera pas en TCMP mais  sous TCP/IP, ceci avec une légère baisse de performance.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Après une bonne nuit de sommeil, j'aurais encore des questions.&lt;br /&gt;La sécurité à rapidement été évoquée, et j'aimerais tout de même trouver la réponse à :&lt;br /&gt;   - il semblerait que la manière de communiquer entre les noeuds ne soient pas cryptée,&lt;br /&gt;   - est ce que la communication entre les noeuds et ma source de données est cryptable (pour les webservices ou une base) ?&lt;br /&gt;   - si le cryptage se fait avant l'envoi, à la grille, est ce qu'à un moment donné mes données sont décryptées par cohérence ?&lt;br /&gt;&lt;br /&gt;Ainsi, l'intégration de Coherence ne se justifie pas tout le temps et doit être longuement étudiée. Il est possible que ca ne soit utile que sur certaines parties d'une application.&lt;br /&gt;On remarquera donc que cette solution semble beaucoup plus évoluée que les solutions actuelles mais ne pourrait convenir qu'à de grosses applications dont le temps d'accès est une problématique.&lt;br /&gt;&lt;br /&gt;Voici un lien vers la &lt;a href="http://www.oracle.com/technology/products/coherence/index.html"&gt;page officielle&lt;/a&gt; pour découvrir d'avantage cette offre d'Oracle.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-6856420386986458891?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/6856420386986458891/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=6856420386986458891' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/6856420386986458891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/6856420386986458891'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/09/oracle-coherence.html' title='Oracle coherence'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-831414768599067302</id><published>2009-09-16T10:39:00.004+02:00</published><updated>2009-10-21T14:02:23.297+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lombok'/><category scheme='http://www.blogger.com/atom/ns#' term='Naked objects'/><title type='text'>Lombok et Naked Object</title><content type='html'>Il me semblait avoir déjà parlé du projet lombok. Il permet d'écrire encore moins de code grâce aux annotations. Par exemple, en y faisant référence, il n'y a plus besoin d'écrire les getters et setters d'une classe métier.&lt;br /&gt;Bien sur, son utilisation ne va pas révolutionner votre manière de travailler, mais il pourra peut être vous faire gagner quelques minutes.&lt;br /&gt;Si vous voulez plus de détails sur ces possibilités (encore limitées) rendez vous &lt;a href="http://projectlombok.org/features/index.html"&gt;ici&lt;/a&gt;, ou encore &lt;a href="http://blog.springfuse.com/2009/10/project-lombok-must-have-in-your-java.html"&gt;ici&lt;/a&gt;.&lt;br /&gt;Je ne connaissais pas non plus Naked Object qui est un pattern et un framework.&lt;br /&gt;Je vous laisse le découvrir en détails sur &lt;a href="http://www.infoq.com/news/2007/11/naked-objects-3"&gt;infoQ&lt;/a&gt;, sur &lt;a href="http://en.wikipedia.org/wiki/Naked_objects"&gt;wikipedia&lt;/a&gt;, ainsi que sur &lt;a href="http://www.nakedobjects.org/home/no_for_java_intro.shtml"&gt;le site officiel&lt;/a&gt;. En dernier lieu, vous pourrez découvrir son intégration avec Maven 2 &lt;a href="http://danhaywood.com/2009/08/29/using-the-naked-objects-4-0-maven-archetype/"&gt;ici&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Et quand on utilise Naked Objects, lombok peut, une fois de plus, simplifier le code des classes métier. C'est à découvrir &lt;a href="http://danhaywood.com/2009/09/13/using-project-lombok-with-naked-objects/"&gt;ici&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-831414768599067302?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/831414768599067302/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=831414768599067302' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/831414768599067302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/831414768599067302'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/09/lombok-et-naked-object.html' title='Lombok et Naked Object'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-7334526987292886274</id><published>2009-09-16T10:34:00.001+02:00</published><updated>2009-09-16T10:36:23.112+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virtual host apache'/><title type='text'>Déclarer un virtual host avec Apache</title><content type='html'>Il est parfois profitable de pouvoir utiliser deux URLs différentes, pointant pourtant sur la même machine, comme sur un poste de développement par exemple.&lt;br /&gt;&lt;a href="http://webjawns.com/2009/09/setting-up-virtual-hosts-with-apache-on-windows-xp/"&gt;Cet article&lt;/a&gt; décrit la manière de configurer apache pour y déclarer des virtual hosts. La méthode est décrite sous Windows mais est parfaitement applicable au monde Unix/Linux.&lt;br /&gt;C'était la petite astuce du jour&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-7334526987292886274?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/7334526987292886274/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=7334526987292886274' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/7334526987292886274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/7334526987292886274'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/09/declarer-un-virtual-host-avec-apache.html' title='Déclarer un virtual host avec Apache'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-1794816225369848561</id><published>2009-09-16T10:24:00.002+02:00</published><updated>2009-09-16T10:26:51.173+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='terracotta'/><category scheme='http://www.blogger.com/atom/ns#' term='cache'/><title type='text'>Terracotta pour Hibernate</title><content type='html'>Avec la nouvelle version de Terracotta, il existe un plugin gérant le cache des transactions faites via Hibernate.&lt;br /&gt;Très simple à mettre en place, seule une annotation semble suffir.&lt;br /&gt;Je vous laisse découvrir le détail &lt;a href="http://java.dzone.com/news/improve-responsiveness"&gt;ici&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-1794816225369848561?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/1794816225369848561/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=1794816225369848561' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1794816225369848561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1794816225369848561'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/09/terracotta-pour-hibernate.html' title='Terracotta pour Hibernate'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-742057927123405005</id><published>2009-09-04T16:56:00.003+02:00</published><updated>2009-09-04T17:04:40.879+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='the grinder'/><category scheme='http://www.blogger.com/atom/ns#' term='load tester'/><category scheme='http://www.blogger.com/atom/ns#' term='loadrunner'/><category scheme='http://www.blogger.com/atom/ns#' term='apache JMeter'/><title type='text'>Test de charge</title><content type='html'>On en apprend tout les jours, et heureusement!&lt;br /&gt;Je viens de découvrir le framework "The Grinder", permettant de faire des charges.&lt;br /&gt;&lt;br /&gt;Certains se diront, mais il vient de se réveiller ou quoi ?&lt;br /&gt;Pas forcément, c'est juste un outil que je n'avais jusqu'à présent pas eu besoin d'utiliser, je connaissais tout de même JMeter (de nom... hum hum touss touss).&lt;br /&gt;Bref, le framework The Grinder semble avoir bonne réputation, on pourra lire sur sourceforce "mieux que JMeter, moins cher que LoadRunner".&lt;br /&gt;Visiblement, les autres avis sont plus nuancés, même si The Grinder semble être un produit formidable, il aura des déficiences dans certains cas que n'auront pas ces concurrents. Mais l'inverse est également vrai.&lt;br /&gt;&lt;br /&gt;Il ne reste plus qu'à étudier les propositions selon vos besoins, toujours est-il que le retour d'expérience sur ce framework semble bon.&lt;br /&gt;Les liens :&lt;br /&gt;   - &lt;a href="http://sourceforge.net/projects/grinder/files/"&gt;le télécharger sur sourceforge&lt;/a&gt;&lt;br /&gt;   - &lt;a href="http://grinder.sourceforge.net/index.html"&gt;la page projet&lt;/a&gt;&lt;br /&gt;   - &lt;a href="http://blackanvil.blogspot.com/2006/06/shootout-load-runner-vs-grinder-vs.html"&gt;une comparaison avec LoadRunner et JMeter&lt;/a&gt;&lt;br /&gt;   - &lt;a href="http://rrees.wordpress.com/2009/04/09/jmeter-or-the-grinder-so-which-one-is-better-like/"&gt;une comparaison avec JMeter seulement, mais beaucoup plus récente&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-742057927123405005?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/742057927123405005/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=742057927123405005' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/742057927123405005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/742057927123405005'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/09/test-de-charge.html' title='Test de charge'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-2526409003285072249</id><published>2009-09-04T09:35:00.002+02:00</published><updated>2009-09-04T09:40:16.628+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='garbage collector'/><category scheme='http://www.blogger.com/atom/ns#' term='java memory'/><category scheme='http://www.blogger.com/atom/ns#' term='JVM'/><title type='text'>Tout savoir sur la gestion de la mémoire en Java</title><content type='html'>Le garbage collector comment ca marche ?&lt;br /&gt;Ca veut dire quoi si je rajout -Xms au lancement de ma JVM ?&lt;br /&gt;C'est quoi le heap ?&lt;br /&gt;Si vous vous posez ces questions, et bien les réponses sont &lt;a href="http://java.dzone.com/articles/java-performance-tuning"&gt;là&lt;/a&gt;.&lt;br /&gt;Même si vous ne vous les posez pas, cet article est très intérressant, bien évidemment le titre est un peu pompeux, et vous n'apprendrez pas tout sur la gestion de la mémoire en Java.&lt;br /&gt;Mais il y a certainement quelques informations que vous aviez oublié, ou des petits trucs qui seront nouveaux.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-2526409003285072249?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/2526409003285072249/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=2526409003285072249' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/2526409003285072249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/2526409003285072249'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/09/tout-savoir-sur-la-gestion-de-la.html' title='Tout savoir sur la gestion de la mémoire en Java'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-6586432185334285598</id><published>2009-09-04T09:26:00.004+02:00</published><updated>2009-09-04T09:29:04.675+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scalable'/><category scheme='http://www.blogger.com/atom/ns#' term='évolutif'/><title type='text'>Création de composants évolutifs</title><content type='html'>A la création de gros systèmes, ou futur gros systèmes, on se dit que la structure originelle ne devrait pas bouger, que l'architecture est suffisamment bien définie pour pallier aux futures évolutions.&lt;br /&gt;Il y a tout de même des règles et des outils qui permettent de vérifier que le développement de l'application va bien dans le même sens.&lt;br /&gt;Vous trouverez un article qui détaille tout ca sur &lt;a href="http://www.infoq.com/articles/scalable-java-components"&gt;infoq&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-6586432185334285598?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/6586432185334285598/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=6586432185334285598' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/6586432185334285598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/6586432185334285598'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/09/creation-de-composants-evolutifs.html' title='Création de composants évolutifs'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-2649806943521601835</id><published>2009-09-02T09:09:00.003+02:00</published><updated>2009-09-02T09:15:36.181+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='revue de code'/><category scheme='http://www.blogger.com/atom/ns#' term='findbugs'/><category scheme='http://www.blogger.com/atom/ns#' term='PMD'/><category scheme='http://www.blogger.com/atom/ns#' term='code review'/><title type='text'>La revue de code est une étape importante!</title><content type='html'>Vos développeurs confirmés ont produit une superbe doc de conception, tout y est claire précis, et les développeurs plus jeunes sont passé à l'étape de codage.&lt;br /&gt;Malgré la meilleure volonté du monde, tout le monde fait des erreurs. De ma courte expérience, j'estime pouvoir dire que personne n'est à l'abri de la duplication de code, de boucle dont les conditions pourraient être optimisées, ou tout simplement de méthodes, fonctions, procédures selon vos termes, pas toujours codées dans les règles de l'art.&lt;br /&gt;&lt;br /&gt;Le résultat ne va pas forcément se voir tout de suite, mais avec les mois les années, à force d'ajouter des verrues parce qu'on est pressé ou pour toutes les excuses du monde, il faut suivre la qualité du code produit.&lt;br /&gt;&lt;br /&gt;Aujourd'hui grâce à des méthodes comme l'intégration continue, il est tout à fait possible d'obtenir un état des lieux à un instant donné.&lt;br /&gt;&lt;br /&gt;Malgré les outils, il ne faut toutefois pas, négliger la revue de code "manuelle". Je vous laisse découvrir quelques informations de plus &lt;a href="http://www.fredberinger.com/code-review-is-a-good-investment/"&gt;ici&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-2649806943521601835?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/2649806943521601835/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=2649806943521601835' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/2649806943521601835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/2649806943521601835'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/09/la-revue-de-code-est-une-etape.html' title='La revue de code est une étape importante!'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-7960162767452200482</id><published>2009-09-02T08:55:00.002+02:00</published><updated>2009-09-02T08:57:02.730+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wsdl'/><title type='text'>Comprendre le contenu d'un WSDL</title><content type='html'>Pour les néophytes en webservices, le wsdl généré peut être difficile à comprendre.&lt;br /&gt;Avec des schémas à main levée et de bonnes explications, &lt;a href="http://www.predic8.com/wsdl-reading.htm"&gt;cet article&lt;/a&gt; vous permettra de comprendre ce fichier qui peut vite devenir inbuvable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-7960162767452200482?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/7960162767452200482/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=7960162767452200482' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/7960162767452200482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/7960162767452200482'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/09/comprendre-le-contenu-dun-wsdl.html' title='Comprendre le contenu d&apos;un WSDL'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-8573126291939858170</id><published>2009-09-02T08:52:00.002+02:00</published><updated>2009-09-02T08:55:20.402+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='attaques session'/><title type='text'>Solution aux attaques de sessions</title><content type='html'>&lt;a href="http://hungred.com/2009/09/01/useful-information/solutions-session-attacks/"&gt;L'article pointé ici&lt;/a&gt; présente certaines facons d'usuper une session.&lt;br /&gt;Les exemples de solution sont basés sur PHP mais le reste est suffisamment théorique pour que les développeurs web utilisant d'autres langages puissent s'en inspirer.&lt;br /&gt;&lt;br /&gt;Le billet pointe aussi vers des explications sur les attaques par injection SQL et les failles XSS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-8573126291939858170?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/8573126291939858170/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=8573126291939858170' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8573126291939858170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8573126291939858170'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/09/solution-aux-attaques-de-sessions.html' title='Solution aux attaques de sessions'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-1580591760585396425</id><published>2009-08-17T21:23:00.001+02:00</published><updated>2009-08-17T21:24:33.804+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java memory leak'/><title type='text'>D'ou peuvent venir les problèmes de mémoire en Java</title><content type='html'>On peste parfois contre la JVM, on lui trouve même des bugs. Pourtant, ce n'est pas toujours la seule cause de fuites mémoires.&lt;br /&gt;&lt;a href="http://blog.dynatrace.com/2009/08/13/java-memory-problems/"&gt;Cet article&lt;/a&gt; en liste quelques unes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-1580591760585396425?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/1580591760585396425/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=1580591760585396425' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1580591760585396425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1580591760585396425'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/08/dou-peuvent-venir-les-problemes-de.html' title='D&apos;ou peuvent venir les problèmes de mémoire en Java'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-4455528443831179465</id><published>2009-08-05T14:30:00.003+02:00</published><updated>2009-08-05T14:33:05.119+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='n tiers'/><category scheme='http://www.blogger.com/atom/ns#' term='n-tiers'/><title type='text'>Les applications N-tiers</title><content type='html'>C'est devenu un standard pour une application web. Nous utilisons des architectures N-tiers.&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/aix/library/au-perf_tuning/?ca=dgr-jw17FasterWebApps&amp;amp;S_TACT=105AGX59&amp;amp;S_CMP=grsite=dgr-jw17"&gt;Cet article&lt;/a&gt; vous présente ce que c'est et comment optimiser le développement et la configuration d'une telle application.&lt;br /&gt;Seul point noir, il faudra plutot aller regarder les références pour avoir des détails sur la mise en place.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-4455528443831179465?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/4455528443831179465/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=4455528443831179465' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/4455528443831179465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/4455528443831179465'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/08/les-applications-n-tiers.html' title='Les applications N-tiers'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-1271234014445454495</id><published>2009-08-04T09:26:00.002+02:00</published><updated>2009-08-04T09:32:09.858+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='free books'/><title type='text'>Livres gratuits sur la programmation</title><content type='html'>Pour tout savoir, du Python à Linux, en passant par Objective C et Lisp.&lt;br /&gt;Voici &lt;a href="http://stackoverflow.com/questions/194812/list-of-freely-available-programming-books"&gt;une liste de livres téléchargeables&lt;/a&gt; sur 18 thèmes\langages.&lt;br /&gt;De quoi passer de bonnes après midi sur la plage ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-1271234014445454495?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/1271234014445454495/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=1271234014445454495' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1271234014445454495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1271234014445454495'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/08/livres-gratuits-sur-la-programmation.html' title='Livres gratuits sur la programmation'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-8093888604053436628</id><published>2009-07-23T12:17:00.002+02:00</published><updated>2009-07-23T12:19:58.162+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='classloader tomcat'/><title type='text'>Chargement des classes dans tomcat</title><content type='html'>Parfois, on ne comprend pas pourquoi on a des ClassNotFoundException, NoClassDefFoundException. Ou tout simplement, on aime aller au bout des choses et comprendre "comment ca marche".&lt;br /&gt;Sur developpez.com, Régis POUILLER a écrit un article sur le chargement des classes dans tomcat, le partage des librairies... En somme les couches basses du serveur.&lt;br /&gt;Vous pouvez voir le sommaire &lt;a href="http://rpouiller.developpez.com/tutoriels/java/partage-librairies-versionnees-avec-tomcat/?page=sommaire"&gt;ici&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-8093888604053436628?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/8093888604053436628/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=8093888604053436628' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8093888604053436628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8093888604053436628'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/07/chargement-des-classes-dans-tomcat.html' title='Chargement des classes dans tomcat'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-1749186052066197256</id><published>2009-07-16T10:14:00.002+02:00</published><updated>2009-07-16T10:18:24.361+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='asynchronous web'/><title type='text'>Le Web asynchrone</title><content type='html'>Il vaudrait mieux commencer par définir ce qu'est le web asynchrone avant de vouloir en faire une implémentation. Une fois que vous aurez lu &lt;a href="http://www.theserverside.com/tt/articles/article.tss?l=WhatistheAsynchronousWeb"&gt;cet article&lt;/a&gt;, et si vous voulez en apprendre plus sur ICEFaces, JSF et bien ca se passe &lt;a href="http://www.theserverside.com/tt/articles/article.tss?l=WhatistheAsynchronousWeb"&gt;ici&lt;/a&gt;.&lt;br /&gt;Ce sont des articles intéressants mais assez compliqués, qu'il vaut mieux lire à tête reposée.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-1749186052066197256?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/1749186052066197256/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=1749186052066197256' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1749186052066197256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/1749186052066197256'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/07/le-web-asynchrone.html' title='Le Web asynchrone'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-9095638869084911427</id><published>2009-07-16T10:08:00.002+02:00</published><updated>2009-07-16T10:11:04.036+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='game collision'/><title type='text'>Détection de collision en Java</title><content type='html'>Vous êtes en vacances, et vous voulez coder un jeu...&lt;br /&gt;Pour plein de raisons, pour voir comment ca marche, pour voir le temps que ca prend, etc.&lt;br /&gt;&lt;br /&gt;Bref, si l'affichage de sprites est à la portée de tous, une des parties complexes dans la création de jeu vidéos, c'est l'interaction avec les éléments du jeu.&lt;br /&gt;Par exemple, si votre personnage peut traverser les murs, les tables ou tout autre objet, ca risque de paraitre un peu bizarre. Pour cela, il est possible d'utiliser des moteurs 3D.&lt;br /&gt;C'est ce que vous propose de découvrir l'&lt;a href="http://java.sun.com/javaone/2009/articles/gamecollision.jsp"&gt;article suivant&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-9095638869084911427?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/9095638869084911427/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=9095638869084911427' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/9095638869084911427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/9095638869084911427'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/07/detection-de-collision-en-java.html' title='Détection de collision en Java'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-5899982996658277085</id><published>2009-07-16T09:43:00.002+02:00</published><updated>2009-07-16T10:06:56.909+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java me'/><category scheme='http://www.blogger.com/atom/ns#' term='Messaging API'/><category scheme='http://www.blogger.com/atom/ns#' term='JSR 205'/><category scheme='http://www.blogger.com/atom/ns#' term='Java FX'/><title type='text'>JavaFx mobile, Java ME, Messaging API (JSR 205)</title><content type='html'>JavaFX s'interface très bien avec Java Mobile Edition.&lt;br /&gt;Après une introduction sur l'API Wireless Messaging, &lt;a href="http://java.sun.com/developer/technicalArticles/javafx/mobilefx-me/index.html"&gt;cet article&lt;/a&gt; vous propose de créer une application pour téléphone mobile en JavaFx et avec Netbeans, étant capable d'envoyer et de recevoir des sms/mms.&lt;br /&gt;C'est pas génial ca, c'est quand même mieux que l'iPhone SDK non ?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-5899982996658277085?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/5899982996658277085/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=5899982996658277085' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5899982996658277085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5899982996658277085'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/07/javafx-mobile-java-me-messaging-api-jsr.html' title='JavaFx mobile, Java ME, Messaging API (JSR 205)'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-2128424685925639767</id><published>2009-07-15T15:03:00.003+02:00</published><updated>2009-07-15T15:07:03.606+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='collection'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Programmer c'est comme le code</title><content type='html'>Programmer, on arrive plus ou moins bien suivant plusieurs facteurs, mais les bases, le développeur est censé les avoir.&lt;br /&gt;On a passé N années à étudier l'informatique, un langage en particulier, et il y a des choses simples qu'on oublie facilement. C'est peut être un peu comme le code de la route, il y a des évidences qu'on oublie vite.&lt;br /&gt;Pour vous remémorez certains de vos cours de Java, voici un description des &lt;a href="http://www.developer.com/java/article.php/10922_3829891_2"&gt;différentes sous-classes de Collection&lt;/a&gt;.&lt;br /&gt;Allé on a qu'a dire que c'est un devoir de vacances ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-2128424685925639767?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/2128424685925639767/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=2128424685925639767' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/2128424685925639767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/2128424685925639767'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/07/programmer-cest-comme-le-code.html' title='Programmer c&apos;est comme le code'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-5691308844810709942</id><published>2009-07-03T12:25:00.000+02:00</published><updated>2009-07-03T12:26:39.274+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud computing'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Canonical propose du cloud computing</title><content type='html'>Tout est dans le titre, l'entreprise qui produit Ubuntu se lance dans le cloud computing.&lt;br /&gt;Plus d'infos sur &lt;a href="http://www.developpez.net/forums/d772411/club-professionnels-informatique/actualites/linux-canonical-se-lance-cloud-computing/#post4454530"&gt;developpez.com&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-5691308844810709942?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/5691308844810709942/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=5691308844810709942' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5691308844810709942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5691308844810709942'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/07/canonical-propose-du-cloud-computing.html' title='Canonical propose du cloud computing'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-8845816013714027730</id><published>2009-07-01T09:29:00.003+02:00</published><updated>2009-07-01T09:32:52.911+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonar'/><category scheme='http://www.blogger.com/atom/ns#' term='Checkstyle'/><category scheme='http://www.blogger.com/atom/ns#' term='PMD'/><title type='text'>Sonar, PMD et Checkstyle</title><content type='html'>Je suis un fervent partisant d'Hudson et Sonar, pour l'integration continue.&lt;br /&gt;La combinaison de ces deux outils permet d'obtenir un build, les métriques associés à ce build, et de pouvoir suivre l'évolution dans le temps.&lt;br /&gt;&lt;br /&gt;Il n'y a pas si longtemps, un collègue voulait pouvoir utiliser les règles PMD et Checkstyle définit dans son pom. Après lui avoir expliqué, plus ou moins bien, comment Sonar fonctionnait, il dû se résigner.&lt;br /&gt;Mais voilà, il n'est pas le seul à se poser la question, puisqu'une telle demande sera résolu dans Sonar 1.11. Pour plus d'infos, le bug tracker est &lt;a href="http://jira.codehaus.org/browse/SONAR-583"&gt;ici&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-8845816013714027730?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/8845816013714027730/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=8845816013714027730' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8845816013714027730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8845816013714027730'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/07/sonar-pmd-et-checkstyle.html' title='Sonar, PMD et Checkstyle'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-2692751181041477048</id><published>2009-07-01T09:19:00.000+02:00</published><updated>2009-07-01T09:21:11.510+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>développement Android sous Ubuntu</title><content type='html'>Les développements d'applications iPhone vous tente, mais le système n'est pas libre, c'est même impossible de l'installer sur Linux, argh!&lt;br /&gt;Allons donc voir du côté du concurrent, Android, et là oh miracle, ca peut marcher facilement.&lt;br /&gt;&lt;a href="http://news.softpedia.com/news/How-to-Run-Android-Applications-on-Ubuntu-115152.shtml"&gt;Suivez le guide&lt;/a&gt; pour savoir comment ca se passe.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-2692751181041477048?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/2692751181041477048/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=2692751181041477048' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/2692751181041477048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/2692751181041477048'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/07/developpement-android-sous-ubuntu.html' title='développement Android sous Ubuntu'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-5170600944891993621</id><published>2009-07-01T09:14:00.000+02:00</published><updated>2009-07-01T09:18:03.921+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaFX'/><title type='text'>JavaFx - du Code et un benchmark</title><content type='html'>JavaFX fait son petit bonhomme de chemin, même si beaucoup n'y croit pas, on ne va pas s'empecher de coder pour autant.&lt;br /&gt;Il y en a même qui prenne le temps de comparer les perfs avec Flex.&lt;br /&gt;&lt;br /&gt;Plus ca avance, plus je trouve la programmation assez simple, mais il y a un truc que je n'aime pas c'est le temps de chargement de l'application. Il n'y a qu'a voir le code de la gallerie photo, ce n'est surement pas comparable, mais la même chose avec un framework Ajax va beaucoup plus vite.&lt;br /&gt;Plus d'infos en cliquant &lt;a href="http://www.taranfx.com/blog/?p=1173"&gt;ici&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-5170600944891993621?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/5170600944891993621/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=5170600944891993621' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5170600944891993621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5170600944891993621'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/07/javafx-du-code-et-un-benchmark.html' title='JavaFx - du Code et un benchmark'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-245094517336461014</id><published>2009-06-29T23:03:00.002+02:00</published><updated>2009-06-29T23:08:02.649+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='design pattern'/><category scheme='http://www.blogger.com/atom/ns#' term='interpreter'/><title type='text'>Le design pattern Interpreter</title><content type='html'>Le design pattern Interpreter offre une représentation objet de la grammaire d'un langage.&lt;br /&gt;Vous voulez en savoir plus, en voici une &lt;a href="http://www.dofactory.com/Patterns/PatternInterpreter.aspx"&gt;description succinte&lt;/a&gt;, avec un diagramme UML.&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="on down" style="display: block;" id="formatbar_CreateLink" title="Lien" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;img src="img/blank.gif" alt="Lien" class="gl_link" border="0" /&gt;Mais vous trouverez &lt;a href="http://www.developer.com/java/article.php/10922_3748546_1"&gt;ici&lt;/a&gt;, un article plus détaillé avec le code d'un parser expliqué de bout en bout.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-245094517336461014?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/245094517336461014/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=245094517336461014' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/245094517336461014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/245094517336461014'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/06/le-design-pattern-interpreter.html' title='Le design pattern Interpreter'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-8607423361349926917</id><published>2009-06-29T22:49:00.003+02:00</published><updated>2009-06-29T22:57:54.399+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='JVM'/><title type='text'>Les bugs dans Java</title><content type='html'>L'erreur est humaine, on peut donc penser que notre JDK préféré n'est pas exempt de bugs.&lt;br /&gt;Vous pouvez trouver la liste des bugs qui ont recu le plus de vote sur le &lt;a href="http://bugs.sun.com/bugdatabase/top25_bugs.do"&gt;site de Sun&lt;/a&gt;.&lt;br /&gt;Pour n'en citer que quelqu'uns :&lt;br /&gt;- Semantics of external process is not defined in JLS&lt;br /&gt;  Ce bug regroupe de nombreux problèmes entre processus.&lt;br /&gt;- ClassLoader.loadClass() throws java.lang.ClassNotFoundException: [Ljava.lang.String; in JDK 6.0&lt;br /&gt;- Control-C ne termine pas les processus Java "forké"(w2k, wnt)&lt;br /&gt;&lt;br /&gt;Ce ne sont pas forcément les 3 premiers de la liste, ce sont ceux qui m'interpellent le plus.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-8607423361349926917?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/8607423361349926917/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=8607423361349926917' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8607423361349926917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8607423361349926917'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/06/les-bugs-dans-java.html' title='Les bugs dans Java'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-5379301736098285973</id><published>2009-06-25T09:32:00.003+02:00</published><updated>2009-06-25T09:38:51.987+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='apache JMeter'/><title type='text'>Stresse ton appli</title><content type='html'>JConsole permet d'obtenir pas mal de stats, mais Apache JMeter, permet de configurer des groupes de Thread pour jouer plusieurs fois des requêtes HTTP.&lt;br /&gt;Une petite étape de configuration de JMeter, et du browser, et on devrait pouvoir s'en sortir.&lt;br /&gt;&lt;br /&gt;C'est un peu confus, car je découvre JMeter et je n'ai pour l'instant jamais eu à l'utiliser.&lt;br /&gt;Vous voudrez donc sans doute avoir plus d'infos, ca se passe &lt;a href="http://one-size-doesnt-fit-all.blogspot.com/2009/06/stress-load-testing-web-applications.html"&gt;là&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-5379301736098285973?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/5379301736098285973/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=5379301736098285973' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5379301736098285973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/5379301736098285973'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/06/stress-ton-appli.html' title='Stresse ton appli'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-733987008030204261</id><published>2009-06-25T09:04:00.002+02:00</published><updated>2009-06-25T09:08:02.700+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><title type='text'>Développement IPhone</title><content type='html'>Vous venez d'acquérir votre nouvel iPhone, vous en êtes plutôt fier, et vous vous dites, tiens si je développais une petite application pour voir comment ca marche.&lt;br /&gt;Après vous être enregistrer sur &lt;a href="http://developer.apple.com/iphone/"&gt;apple dev center&lt;/a&gt;, vous avez télécharger l'ide et le SDK(une image qui fait plus de 2.5Go), vous vous dites et maintenant ?&lt;br /&gt;Et bien lancez vous dans l'apprentissage d'objective C, et suivez &lt;a href="http://broadcast.oreilly.com/2009/06/big-learning-curve-for-iphone.html"&gt;l'article&lt;/a&gt; qui vous donnera quelques pistes.&lt;br /&gt;Bon courage!&lt;br /&gt;&lt;br /&gt;P.S : celui qui c'est exécuter le SDK sous Linux m'intéresse ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-733987008030204261?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/733987008030204261/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=733987008030204261' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/733987008030204261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/733987008030204261'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/06/developpement-iphone.html' title='Développement IPhone'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-8672223481422884481</id><published>2009-06-23T17:13:00.002+02:00</published><updated>2009-06-23T17:18:10.927+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='collection'/><category scheme='http://www.blogger.com/atom/ns#' term='lambdaj'/><title type='text'>lambdaj - gérer vos collections d'une manière différente</title><content type='html'>Ils vous arrivent souvent d'avoir à traiter des collections.&lt;br /&gt;Meme avec les évolutions du jdk, et le foreach, vous trouvez cette tâche répétitive.&lt;br /&gt;Et bien pensez à &lt;a href="http://code.google.com/p/lambdaj/"&gt;lambdaj&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Juste un exemple pour vous donner envie d'aller voir ce que c'est, comment faites vous pour affecter une valeur à tous les objets d'une liste ?&lt;br /&gt;Voici une nouvelle manière de le réécrire avec lambdaj :&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;a name="How_does_lambdaj_work?"&gt;&lt;span class="typ"&gt;List&lt;/span&gt;&lt;span class="pun"&gt;&lt;&lt;/span&gt;&lt;span class="typ"&gt;Person&lt;/span&gt;&lt;span class="pun"&gt;&gt;&lt;/span&gt;&lt;span class="pln"&gt; personInFamily &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; asList&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;new&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Person&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="str"&gt;"Domenico"&lt;/span&gt;&lt;span class="pun"&gt;),&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;new&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Person&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="str"&gt;"Mario"&lt;/span&gt;&lt;span class="pun"&gt;),&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;new&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Person&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="str"&gt;"Irma"&lt;/span&gt;&lt;span class="pun"&gt;));&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;forEach&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;personInFamily&lt;/span&gt;&lt;span class="pun"&gt;).&lt;/span&gt;&lt;span class="pln"&gt;setLastName&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="str"&gt;"Fusco"&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;/a&gt;&lt;/pre&gt;&lt;br /&gt;Ca marche avec le tri, la récupération d'un des membres des objets de la liste, bref, à découvrir, ce sont peut être des petites choses comme ca qui font gagner du temps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-8672223481422884481?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/8672223481422884481/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=8672223481422884481' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8672223481422884481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8672223481422884481'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/06/lambdaj-gerer-vos-collections-dune.html' title='lambdaj - gérer vos collections d&apos;une manière différente'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-9088409313140400440</id><published>2009-06-21T19:17:00.002+02:00</published><updated>2009-06-21T19:24:20.779+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='security pattern'/><title type='text'>Les patterns de securité</title><content type='html'>Quel framework va bien pouvoir nous aider à sécuriser nos développements ?&lt;br /&gt;3, 2, 1... SPRING Security, yeah!&lt;br /&gt;Trève de plaisanterie, je crois qu'on pourrait passer une vie entière à apprendre tout ce que Spring permet de faire. Cette fois-ci, voici &lt;a href="http://www.softdevtube.com/2009/06/18/security-patterns-revealed/"&gt;une vidéo de présentation&lt;/a&gt; (en anglais) des patterns de sécurité, et les dix dernières minutes présentes quelques-unes des annotations utilisé par Spring security.&lt;br /&gt;Vous ne souhaitez pas regarder cette vidéo, mais vous voulez tout de même vous informez, regardez la description des patterns sur le &lt;a href="http://www.coresecuritypatterns.com/patterns.htm"&gt;coresecuritypattern&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Have fun&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-9088409313140400440?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/9088409313140400440/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=9088409313140400440' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/9088409313140400440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/9088409313140400440'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/06/les-patterns-de-securite.html' title='Les patterns de securité'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-2464084864865362930</id><published>2009-06-21T19:02:00.004+02:00</published><updated>2009-06-21T19:06:56.455+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaFX'/><title type='text'>Faire un jeu en JavaFX</title><content type='html'>JavaFx 1.2 est sorti il y a quelques semaines déjà, et on peut remarquer une certaine augmentation des performances.&lt;br /&gt;Ainsi, certains choisissent cette technologie pour rapidement créer des jeux simples. Leur choix est détaillé &lt;a href="http://piliq.com/javafx/?p=1031"&gt;ici&lt;/a&gt;.&lt;br /&gt;On remarquera dans cette nouvelle version, la sortie d'un vrai plugin pour eclipse, même si Netbeans reste l'environnement le plus approprié pour le développement.&lt;br /&gt;Cette sortie s'accompagne aussi d'une liste de widgets qui facilite le développement, qui devient aussi simple qu'une appli Swing.&lt;br /&gt;Vous découvrirez &lt;a href="http://steveonjava.com/2009/05/31/javafx-1-2-top-10/"&gt;ici&lt;/a&gt; les 10 fonctionnalités phares et après avoir lu tout ca, puisque vous serez conquis, dirigez vous le site officiel et &lt;a href="http://javafx.com/learn/"&gt;ses nombreux tutoriels&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-2464084864865362930?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/2464084864865362930/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=2464084864865362930' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/2464084864865362930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/2464084864865362930'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/06/faire-un-jeu-en-javafx.html' title='Faire un jeu en JavaFX'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-3645783564115946798</id><published>2009-06-17T17:23:00.002+02:00</published><updated>2009-06-17T17:27:52.988+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debugger'/><title type='text'>7 étapes pour corriger un bug</title><content type='html'>Debugger est une étape plus que fréquente en programmation. Corriger des anomalies est une grosse partie du travail.&lt;br /&gt;L'&lt;a href="http://www.makinggoodsoftware.com/2009/06/14/7-steps-to-fix-an-error/"&gt;article&lt;/a&gt; décrit 7 étapes pour corriger une erreur, et d'après l'auteur, devenir un meilleur programmeur.&lt;br /&gt;Les étapes sont :&lt;br /&gt;  - Identifier l'erreur (la reproduire et valider le scénario de reproduction)&lt;br /&gt;  - La trouver (grâce aux logs, et au debugger)&lt;br /&gt;  - Analyser&lt;br /&gt;  - Prouver l'analyse&lt;br /&gt;  - Couvrir les effets de bords (par des tests unitaires)&lt;br /&gt;  - Corriger&lt;br /&gt;  - Valider&lt;br /&gt;&lt;br /&gt;Et voila, ne reste plus qu'à appliquer ces méthodes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-3645783564115946798?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/3645783564115946798/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=3645783564115946798' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/3645783564115946798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/3645783564115946798'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/06/7-etapes-pour-corriger-un-bug.html' title='7 étapes pour corriger un bug'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-4754886480289334258</id><published>2009-06-16T12:00:00.003+02:00</published><updated>2009-06-16T12:26:43.516+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Opera unite'/><title type='text'>Ca y est, on sait! Opera Unite is coming</title><content type='html'>Opera créait le buzz depuis plusieurs jours. Avec une seule page où il était marqué qu'ils allaient réinventer le web.&lt;br /&gt;Tout le monde se posait nombre de questions, et la réponse est apparue aujourd'hui.&lt;br /&gt;Voici les mots de Lawrence End, product analyst pour Opera Software :&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;"&lt;span style="font-style: italic;"&gt;Opera Unite est une technologie unique qui permet a chaque ordinateur ou périphérique sur lequel tourne Opera de devenir un serveur web. En d'autres mots, votre ordinateur (qui fait tourner Opera Unite) est partie intégrante de la toile, plutôt que de simplement interagir avec lui, et c'est quelque chose que tout le monde peut utiliser. Avec Opera Unite, chaque utilisateur , même non-technicien, peut mettre à disposition du contenu directement depuis son pc, grâce a des applications intuitives. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Avec Opera Unite, on donne une chance aux développeurs de produire des applications (connues sous le nom de Opera Unite services) qui lient directement l'ordinateur des gens ensemble, donc vous pouvez être connecté avec un ou plusieurs amis en même temps. Tout se passe via le navigateur, aucun autre logiciel ne doit être téléchargé, et ca marchera partout ou Opera fonctionne (Windows, Mac, Linux, les nouveaux modèles de téléphones portables et autres périphériques). Opera fournit la platforme et vous fournissez les applications, la seule limite de vos créations est votre imagination.&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;Et bien que de promesses, en gros un serveur web à l'intérieur du navigateur!&lt;br /&gt;Attendons de voir ce que ca va vraiment donner à l'usage.&lt;br /&gt;&lt;br /&gt;L'article original et beaucoup plus complet est disponible &lt;a href="http://labs.opera.com/news/2009/06/16/"&gt;ici&lt;/a&gt;.&lt;br /&gt;Le site officiel d'Opera Unite, c'est par &lt;a href="http://unite.opera.com/"&gt;là&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-4754886480289334258?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/4754886480289334258/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=4754886480289334258' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/4754886480289334258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/4754886480289334258'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/06/ca-y-est-on-sait-opera-unite-is-coming.html' title='Ca y est, on sait! Opera Unite is coming'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-3100238382872709577</id><published>2009-06-16T08:50:00.002+02:00</published><updated>2009-06-16T08:57:22.939+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spring security'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><title type='text'>Spring Security 3.0.0M1</title><content type='html'>Une nouvelle release de Spring Security est sortie, et &lt;a href="http://stsmedia.net/spring-finance-part-6-spring-security-3-integration/?dzref=193059"&gt;cette page&lt;/a&gt; vous montre comment l'utiliser et ce qu'il apporte.&lt;br /&gt;Il est aussi intéressant de remonter sur &lt;a href="http://stsmedia.net/series/spring-finance/"&gt;ses articles précédents&lt;/a&gt;, puisque l'auteur à commencer une application qu'il appelle Spring Finance, pour gérer les comptes de la Famille Simpsons, tout en utilisant les nombreuses possibilités du framework Spring.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-3100238382872709577?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/3100238382872709577/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=3100238382872709577' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/3100238382872709577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/3100238382872709577'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/06/spring-security-300m1.html' title='Spring Security 3.0.0M1'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-9133445510377225189</id><published>2009-06-16T08:44:00.003+02:00</published><updated>2009-06-16T08:46:41.898+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Vous voulez apprendre linux ?</title><content type='html'>Ca y est vous avez fait le grand saut. Plus de windows sur votre PC, vous êtes passé à Linux.&lt;br /&gt;Peu importe la distribution, Ubuntu, Debian, Fedora, Mandriva et consort vous ont séduits.&lt;br /&gt;Une fois installé, vous arrivez à faire les choses de la vie courante, aller sur internet, ouvrir un document Word et l'imprimer. Bref, c'est génial!&lt;br /&gt;&lt;br /&gt;Tellement génial que vous vous voulez aller plus loin encore dans l'apprentissage de votre nouveau système d'exploitation. Ne cherchez plus, une liste de tutoriaux est &lt;a href="http://educhoices.org/articles/Useful_Tutorials_on_Linux_and_UNIX_for_Beginners_and_Experts_Alike.html?dzref=193290"&gt;mis à votre disposition&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-9133445510377225189?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/9133445510377225189/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=9133445510377225189' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/9133445510377225189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/9133445510377225189'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/06/vous-voulez-apprendre-linux.html' title='Vous voulez apprendre linux ?'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-8313669864580873010</id><published>2009-06-15T09:27:00.001+02:00</published><updated>2009-06-15T09:28:41.937+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debug'/><category scheme='http://www.blogger.com/atom/ns#' term='patch'/><title type='text'>Patcher un programme</title><content type='html'>Si vous vous demandiez comment patcher un programme dont vous n'avez pas le code source.&lt;br /&gt;Et bien sur &lt;a href="http://www.codexon.com/posts/patching-a-program-without-source-code-how-to-be-like-the-skype-hacker-for-newbies?dzref=193362"&gt;cette page&lt;/a&gt;, on vous explique la marche à suivre.&lt;br /&gt;Amoureux de l'assembleur et du debug, bon courage!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-8313669864580873010?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/8313669864580873010/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=8313669864580873010' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8313669864580873010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8313669864580873010'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/06/patcher-un-programme.html' title='Patcher un programme'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-2807954870304743143</id><published>2009-06-15T09:06:00.003+02:00</published><updated>2009-06-15T09:22:42.315+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sonar'/><title type='text'>Sortie Sonar 1.9</title><content type='html'>On l'apprend sur linuxfr, &lt;a href="http://linuxfr.org/2009/06/13/25594.html"&gt;Sonar 1.9 est sortie&lt;/a&gt;.&lt;br /&gt;Cet outil permettant d'obtenir des métriques sur un code source Java. Facile à regarder, un peu moins à comprendre, ils ont décidé de réécrire la partie relative au calcul.&lt;br /&gt;Toutefois, même si cette version apporte beaucoup d'améliorations, le moteur de calcul a été ré-écrit. Ce qui pourrait poser &lt;a href="http://sonar.codehaus.org/why-you-should-not-upgrad-to-sonar-19/"&gt;problème&lt;/a&gt; si vous souhaitiez faire un simple upgrade.&lt;br /&gt;Il sera donc plus simple de partir d'une nouvelle installation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-2807954870304743143?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/2807954870304743143/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=2807954870304743143' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/2807954870304743143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/2807954870304743143'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/06/sortie-sonar-19.html' title='Sortie Sonar 1.9'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-8412888346247056730</id><published>2009-06-11T09:10:00.002+02:00</published><updated>2009-06-11T09:14:30.876+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='svn'/><title type='text'>Incompatibilité entre Subversion 1.6 et 1.5</title><content type='html'>Je pense que Subversion est le système de gestion de versions le plus utilisé dans le monde Open source. Sa dernière release (1.6.2) est tout récente elle date du moi de mai 2009.&lt;br /&gt;Seulement la version 1.6 ne semble pas rétro compatible à 100% et certains rapportent les &lt;a href="http://ferventcoder.com/archive/2009/06/10/subversion-1.6-tree-conflicts-and-the-incompatibility-of-subversion-1.5.aspx"&gt;problèmes qu'ils ont pu rencontrer&lt;/a&gt;.&lt;br /&gt;Le problème sera d'autant plus important si votre client SVN, comme Tortoise, n'est pas en adéquation avec la version de votre serveur.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-8412888346247056730?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/8412888346247056730/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=8412888346247056730' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8412888346247056730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/8412888346247056730'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/06/incompatibilite-entre-subversion-16-et.html' title='Incompatibilité entre Subversion 1.6 et 1.5'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6472731743974474036.post-4050241062113217201</id><published>2009-06-10T16:58:00.006+02:00</published><updated>2009-06-10T17:09:58.437+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><title type='text'>Une introduction simple à SOA</title><content type='html'>Cet article est traduit de l'anglais. Vous trouverez l'article original &lt;a href="http://blog.chathura.org/2009/06/simple-introduction-to-soa.html"&gt;ici&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Les entreprises utilisent des systèmes informatiques afin d’améliorer leurs opérations, en terme de productivité, de justesse, de sécurité, de coût, etc. (bien sûr, certains de ces points ne sont pas interdépendants). Mais le problème est qu’il n’y a rien de prédéfini sur la manière d’utiliser ces systèmes. Et si les logiciels ne sont pas utilisés correctement, vous n’en verrez jamais le bout ou vous rendrez vos opérations plus complexes et inefficaces.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Ce qui arrive fréquemment c’est que ce sont des parties individuelles et isolées du business qui seront automatisées en utilisant un système informatique. Ca peut aussi être des parties étrangères comme la relation client, le management RH, l’inventaire, tout comme des parties plus petites et plus spécifiques. Les entreprises peuvent utiliser des systèmes commerciaux comme les CRM, SCM et les systèmes de contrôle d’inventaire pour automatiser certaines de ces parties. Elles peuvent utiliser des systèmes développés en interne ou externalisés pour des tâches business plus spécifiques. A la fin, on obtient des systèmes indépendants qui fonctionnent isolément pour exécuter des tâches propres à l’entreprise. Cette méthode fonctionne bien et peut très bien introduire des améliorations dans le processus métier. Mais si on y réfléchit bien, il y a un fort potentiel pour plusieurs améliorations, qui ne peuvent être atteinte qu’en allant une étape plus loin. C’est d’intégrer les systèmes existants en les faisant interagir.Comment peut-on en arriver là ? Il existe beaucoup de systèmes développés par différents éditeurs ainsi que des systèmes propres, concus pour un besoin particulier. Eventuellement, ils ont des interfaces différentes et différents formats de donnée. Comment pouvons-nous établir un flux de contrôle/données parmi les systèmes pour les faire fonctionner entre eux. Attendez, c’est la qu’SOA peut vous aider! Alors, comment SOA peut être utilisé dans un environnement particulier qui varie selon la nature du problème, les besoins d’évolutions et bien d’autres facteurs. D’une manière simple, il n’y a aucune règle fixe sur la manière de l’utiliser. Mais, nous allons utiliser un exemple simple pour expliquer comment appliquer SOA. Considérons une librairie en ligne. Elle a un site web pour parcourir et commander des livres, un inventaire, un système d’expédition, de paiement, etc. Une façon simple de concevoir ce système de vente de livres est de créer un programme orienté web (on pensera aux JSP/servlets), qui accèdera aux systèmes externes et exécutera les opérations métiers. L’un des problèmes de cette approche est que le programme orienté web doit accéder à chacun des systèmes en utilisant une interface spécifique, qui requiert des modules client séparés pour chacun de ces systèmes. Et s’il y a besoin d’effectuer un simple changement sur une opération, il faut faire des modifications et redéployer l’application. La pire des parties arrive bientôt. Considérons que nous voulions créer un autre processus qui utilise l’application. Alors, il faut en écrire une nouvelle application. Même si, nous étions parti sur une application de type 3 tiers, en séparant l’interface de la logique métier, il n’y aura aucune différence. Cette Situation est illustrée ci-dessous.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_7ArkzSgGzWM/Si_KuoHSKFI/AAAAAAAAAW4/qHszYyC4W2I/s1600-h/un.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 206px;" src="http://2.bp.blogspot.com/_7ArkzSgGzWM/Si_KuoHSKFI/AAAAAAAAAW4/qHszYyC4W2I/s320/un.JPG" alt="" id="BLOGGER_PHOTO_ID_5345714185102829650" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;  &lt;/div&gt;&lt;p style="text-align: justify;" face="georgia" class="MsoNormal"&gt;Comment SOA peut faire évoluer ce scénario ? A la première étape d’SOA, nous avons besoin d’identifier les unités de fonctionnement de notre systèmes afin d’en faire des services. Pour simplifier, on peut dire que chaque système (inventaire, paiement, etc…) est un service simple. Mais dans la vie courante, on pourrait identifier plusieurs services au sein d’un seul ou, exposer des fonctionnalités de plusieurs systèmes comme un seul service. Une fois les services identifiés, on doit les implémenter comme des services standards. Une façon de faire, la plus recommandée, serait de créer des web services. Il existe beaucoup de produits qui vous aideront à créer et déployer des web services et à automatiser ce processus à plusieurs niveaux. &lt;a href="http://wso2.com/"&gt;WSO2&lt;/a&gt; &lt;a href="http://wso2.org/projects/wsas/java"&gt;Web Services Application Server&lt;/a&gt; peut être très utile dans cette phase d’implémentation de SOA. Ces web services devraient remplacer l’ancien système (en cachant leur complexité interne) et exposer, les fonctionnalités attendues ainsi que leur définition. Une fois cette étape franchie, nous disposons d’un ensemble de services, dont la définition des fonctionnalités est connue (en utilisant WSDL) et qui communique en utilisant des protocoles connus (comme SOAP).&lt;/p&gt;&lt;div style="font-family: georgia; text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;" face="georgia" class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;div style="font-family: georgia; text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="font-family: georgia; text-align: justify;" class="MsoNormal"&gt;La prochaine étape est de les faire marcher ensemble pour exécuter des opérations métier. Pour cela on peut utiliser les Business Process Management Systems (&lt;a href="http://www.journaldunet.com/encyclopedie/definition/325/51/20/business_process_management_system.shtml"&gt;BPMS&lt;/a&gt;). Un processus métier se définit en spécifiant comment contrôler le flux entre les différents systèmes (et utilisateurs)&lt;span style=""&gt;  &lt;/span&gt;et les données utilisées en entrée et sortie de chaque système. Une fois que le processus métier est défini, on peut le déployer dans un BPMS qui l’exposera en tant que service. Donc, la seule chose que notre interface web a à faire est d’appeler le web service dans notre BPMS avec les paramètres requis. De plus, il existe plusieurs solutions de BPMS, qui peuvent être utilisés pour mettre en place cette solution. Particulièrement, le &lt;a href="http://wso2.org/projects/bps"&gt;WSO2 Business Process Server&lt;/a&gt; fournit nombre de fonctionnalités pour simplifier le déploiement et la gestion des processus métier.&lt;/p&gt;&lt;div style="font-family: georgia; text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="font-family: georgia; text-align: justify;" class="MsoNormal"&gt;&lt;span style="" lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-family: georgia; text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="font-family: georgia; text-align: justify;" class="MsoNormal"&gt;Maintenant, examinons comment cette approche basée sur SOA améliore le processus par rapport aux anciennes méthodes. Premièrement, nous avons standardisé les interfaces de chacun des systèmes. Cependant, d’autres systèmes peuvent communiquer avec les notre grâce au même protocole (même modules client). Et leur fonctionnalités sont définies dans un format prédéfini (WSDL), donc n’importe quel système externes peut comprendre ce qu’ils font. Puis, nous avons bougé la logique métier vers un BPMS. Les processus sont définis en utilisant des fichiers plats (fichiers textes) dans le BPMS. Il est donc très facile de changer et redéployer les processus métier selon les demandes de changements. La plupart des BPMS disposent d’interfaces graphiques pour amplifier la simplification de ce processus. L'introduction d'une nouvelle activité économique est également plus simple dans cet environnement. Il faut seulement écrire un nouveau processus et le déployer dans le BPMS. Il sait déjà de quelle manière communiquer avec les systèmes existants (puisque ce sont des webservices) et toute l’infrastructure déjà en place. Ceci est décrit dans le diagramme ci-dessous.&lt;/p&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_7ArkzSgGzWM/Si_K52gAGsI/AAAAAAAAAXA/VfOvHJVXD_c/s1600-h/deux.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 182px;" src="http://1.bp.blogspot.com/_7ArkzSgGzWM/Si_K52gAGsI/AAAAAAAAAXA/VfOvHJVXD_c/s320/deux.jpg" alt="" id="BLOGGER_PHOTO_ID_5345714377943161538" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;&lt;span style="" lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;&lt;a href="http://2.bp.blogspot.com/_RqBqqtzMsnk/SikQxdrpokI/AAAAAAAAAC0/lGBM67NKCMY/s1600-h/simple-soa.jpg"&gt;&lt;br /&gt;&lt;span style="text-decoration: none;"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id="BLOGGER_PHOTO_ID_5343820874819150402" spid="_x0000_i1026" type="#_x0000_t75" alt="" style="'width:300pt;height:167.25pt'" button="t"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\VLESQU~1.COR\LOCALS~1\Temp\msohtml1\01\clip_image002.jpg" href="http://2.bp.blogspot.com/_RqBqqtzMsnk/SikQxdrpokI/AAAAAAAAAC0/lGBM67NKCMY/s400/simple-soa.jpg"&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;&lt;a href="http://2.bp.blogspot.com/_RqBqqtzMsnk/SikQxdrpokI/AAAAAAAAAC0/lGBM67NKCMY/s1600-h/simple-soa.jpg"&gt;&lt;span style="text-decoration: none;"&gt;&lt;br /&gt;&lt;!--[endif]--&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="font-family: verdana; text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;font-family:verdana;"  class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-family: verdana; text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;font-family:verdana;"  class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;C’est un exemple simple de la manière dont SOA peut vous aider à améliorer vos opérations. Comme il est dit plus haut, l’application d’SOA varie selon des scénarios et des conditions.&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: georgia;" class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6472731743974474036-4050241062113217201?l=vlesquere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlesquere.blogspot.com/feeds/4050241062113217201/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6472731743974474036&amp;postID=4050241062113217201' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/4050241062113217201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6472731743974474036/posts/default/4050241062113217201'/><link rel='alternate' type='text/html' href='http://vlesquere.blogspot.com/2009/06/une-introduction-simple-soa.html' title='Une introduction simple à SOA'/><author><name>Vincent LE SQUERE</name><uri>http://www.blogger.com/profile/18105822910342825098</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_7ArkzSgGzWM/Si_KuoHSKFI/AAAAAAAAAW4/qHszYyC4W2I/s72-c/un.JPG' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
