<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Quand N@t communique... &#187; J2EE</title>
	<atom:link href="http://www.richand.info/blog/category/j2ee/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.richand.info/blog</link>
	<description>Développement personnel, personal MBA et tout ce qui touche à la vie d'un consultant logiciel.</description>
	<lastBuildDate>Sat, 29 Oct 2011 11:07:07 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>How to be an expert &#8211; Préparation de mon régime protéiné.</title>
		<link>http://www.richand.info/blog/2009/04/how-to-be-an-expert-preparation-de-mon-regime-proteine/</link>
		<comments>http://www.richand.info/blog/2009/04/how-to-be-an-expert-preparation-de-mon-regime-proteine/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 08:09:57 +0000</pubDate>
		<dc:creator>Nathaniel Richand</dc:creator>
				<category><![CDATA[J2EE]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Méthodes agiles]]></category>
		<category><![CDATA[Veille techno]]></category>
		<category><![CDATA[expert]]></category>

		<guid isPermaLink="false">http://www.richand.info/blog/?p=22</guid>
		<description><![CDATA[Cette semaine j&#8217;ai été pas mal inspiré par la lecture de cette article (how to become an expert). Ce que l&#8217;on peut retenir de cet article, c&#8217;est que tout le monde peut devenir un expert. Pour cela il faut : de la détermination, de la rigueur et du travail. A force de travail tous le [...]]]></description>
			<content:encoded><![CDATA[<p>Cette semaine j&#8217;ai été pas mal inspiré par la lecture de cette article (<a href="http://softwarecreation.org/2009/how-to-become-an-expert-the-effective-way/"title="How to become an expert"  target="_blank" onclick="javascript:pageTracker._trackPageview('/outbound/article/softwarecreation.org');">how to become an expert</a>). Ce que l&#8217;on peut retenir de cet article, c&#8217;est que <strong>tout le monde peut devenir un expert</strong>. Pour cela il faut : de la <strong>détermination, de la rigueur et du travail</strong>. A force de travail tous le monde peut devenir expert au bout de quelques années (contrairement à devenir un champion ce qui requiert en plus des aptitudes particulières).</p>
<p>De plus, l&#8217;article propose une méthode pour aller vers cet objectif. La méthode proposée et je trouve très interessante, elle propose de définir les domaines à travailler, d&#8217;identifier le but de tavailler ce domaine, puis de définir un ensemble d&#8217;actions concrètes. Rien de bien nouveau, cependant, j&#8217;ai trouvé intéressant la méthode qui est de travailler de manière incrémental, plutôt que de travailler full time un sujet. <span style="text-decoration: underline;">Mieux vaux travailler un ensemble de sujet et d&#8217;itérer dessus pour monter en compétence</span>. Cela donne plus de recul et une meilleure vision d&#8217;ensemble. A titre d&#8217;exemple, l&#8217;année dernière en travaillant Spring,  je travaillais en parallèle les design pattern, le fait de comprendre des design pattern comme le &laquo;&nbsp;template&nbsp;&raquo; ou le &laquo;&nbsp;stategy&nbsp;&raquo; m&#8217;ont aidé à avoir une meilleure compréhension de Spring et de son utilisation.</p>
<p>Après avoir lu l&#8217;article j&#8217;ai créé mon propre tableau d&#8217;objectif, je vous le livre dans sa version alpha :</p>
<p><span id="more-22"></span></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<th width="144" valign="top">
<p align="center"><strong>Domaine</strong></p>
</th>
<th width="180" valign="top">
<p align="center"><strong>Importance/But</strong></p>
</th>
<th width="312" valign="top">
<p align="center"><strong>Objectifs/Sujets   couverts</strong></p>
</th>
<th width="384" valign="top">
<p align="center"><strong>Actions</strong></p>
</th>
</tr>
<tr>
<td width="144" valign="top">
<p align="center"><strong>Pratiques de développement</strong></p>
</td>
<td width="180" valign="top">Etre un   développeur expérimenté.</td>
<td width="312" valign="top">Conception UML</p>
<p>Design Pattern</p>
<p>Test</p>
<p>AOP</td>
<td width="384" valign="top">Lire   « clean code », « design pattern J2EE », « refactoring   des applications J2EE ».</td>
</tr>
<tr>
<td width="144" valign="top">
<p align="center"><strong>Développement -Java</strong></p>
</td>
<td width="180" valign="top">Etre   expert java/J2EE.</td>
<td width="312" valign="top">Améliorer   sa connaissance des API et framework.</td>
<td width="384" valign="top">Essayer   Terracotta</p>
<p>Continuer   d&#8217;apprendre Spring en vue de la certification</p>
<p>Améliorer   les compétences Maven</p>
<p>Creuser   les API de concurrence</td>
</tr>
<tr>
<td rowspan="5" width="144" valign="top">
<p align="center"><strong>Développement &#8211; autres</strong></p>
</td>
<td rowspan="5" width="180" valign="top">Garder   une ouverture nécessaire.</td>
<td width="312" valign="top">.net</td>
<td width="384" valign="top">Suivre   les nouveautés</td>
</tr>
<tr>
<td width="312" valign="top">BPM / BI</td>
<td width="384" valign="top">Avoir les   connaissances de bases</td>
</tr>
<tr>
<td width="312" valign="top">Persistance   O/R</td>
<td width="384" valign="top">Développer   les compétences sur JPA et hibernate.</td>
</tr>
<tr>
<td width="312" valign="top">Travailler   le design de BDD relationnel</td>
<td width="384" valign="top"></td>
</tr>
<tr>
<td width="312" valign="top">Connaître   les intérêts des portal</td>
<td width="384" valign="top">Installer   et essayer LifeRay</td>
</tr>
<tr>
<td rowspan="3" width="144" valign="top">
<p align="center"><strong>Architecture</strong></p>
</td>
<td rowspan="3" width="180" valign="top">S&#8217;orienter   vers un poste d&#8217;architecte d&#8217;ici 3/ 5 ans.</td>
<td width="312" valign="top">Maîtriser   les différents styles d&#8217;architectures :</p>
<p>-            Avantages, inconvénients</p>
<p>-            Connaissance rapide des principales solution pour chaque.</td>
<td width="384" valign="top">Se baser   sur le contenu de wikipedia pour dégrossir le sujet, cibler les plus   importantes et intéressantes :</p>
<p><a href="http://fr.wikipedia.org/wiki/Cat%C3%A9gorie:Architecture_logicielle" onclick="javascript:pageTracker._trackPageview('/outbound/article/fr.wikipedia.org');">http://fr.wikipedia.org/wiki/Cat%C3%A9gorie:Architecture_logicielle</a></p>
<p>Développer   REST</td>
</tr>
<tr>
<td width="312" valign="top">Apprendre   à monter un dossier d&#8217;architecture :</p>
<p>- savoir exprimer des exigences non   fonctionnelles.</td>
<td width="384" valign="top">Travailler   les domaines ci-dessous</td>
</tr>
<tr>
<td width="312" valign="top">Préparer   la certification SCEA pour 2010 ou 2011</td>
<td width="384" valign="top">Voir la   liste des objectifs</td>
</tr>
<tr>
<td rowspan="2" width="144" valign="top">
<p align="center"><strong>Méthodes agiles</strong></p>
</td>
<td rowspan="2" width="180" valign="top">Pouvoir guider une équipe autour de la mise en place de projet agile d&#8217;ici 2/3 ans.</td>
<td width="312" valign="top">Améliorer   les compétences sur XP/SCRUM.</td>
<td width="384" valign="top">Article   veille techno</p>
<p>Vidéo sur   l&#8217;université du SI, infoQ</td>
</tr>
<tr>
<td width="312" valign="top">Creuser   Lean</td>
<td width="384" valign="top"></td>
</tr>
<tr>
<td width="144" valign="top">
<p align="center"><strong>Formation</strong></p>
</td>
<td width="180" valign="top">Savoir   donner des formations dans le cadre d&#8217;un projet ou dans le cadre de formations   professionnelles.</td>
<td width="312" valign="top">Synthétiser   du contenu</p>
<p>Améliorer   les techniques d&#8217;expression.</td>
<td width="384" valign="top">Ecrire du   contenu sur le blog.</p>
<p>Donner   une nouvelle formation chez BT d&#8217;ici juillet 2009.</td>
</tr>
<tr>
<td rowspan="3" width="144" valign="top">
<p align="center"><strong>Autres</strong></p>
</td>
<td rowspan="3" width="180" valign="top">Développer   ses connaissances périphériques, améliorer l&#8217;ouverture d&#8217;esprit.</td>
<td width="312" valign="top">Fonctionnel   finance</td>
<td width="384" valign="top">Acquérir   les bases de la finance de marché</td>
</tr>
<tr>
<td width="312" valign="top">Management   d&#8217;équipe</td>
<td width="384" valign="top"></td>
</tr>
<tr>
<td width="312" valign="top">Expression   de besoin</td>
<td width="384" valign="top"></td>
</tr>
</tbody>
</table>
<p>Je pense que cela vaut le coup de se définir des objectifs et d&#8217;y travailler quotidiennement. En effet, on a malheureusement tendance à ne se focaliser que sur les sujets que l&#8217;on connait ou qu&#8217;y sont les plus faciles. Or, être expert c&#8217;est justement avoir l&#8217;esprit ouvert et connaître tous les sujets connexes au sujet maitrisé.</p>
<p>Lorsque l&#8217;on atteint un niveau correct dans un domaine on a tendance à s&#8217;arrêter sur cet acquis et à ne plus voir le reste. Le schéma ci-dessous que j&#8217;ai piqué à <a href="http://headrush.typepad.com/creating_passionate_users/2006/03/how_to_be_an_ex.html"title="How to be an expert"  target="_blank" onclick="javascript:pageTracker._trackPageview('/outbound/article/headrush.typepad.com');">Kathy Sierra</a> l&#8217;illustre bien :</p>
<p><img title="Howtobeanexpert" src="http://headrush.typepad.com/photos/uncategorized/howtobeanexpert.jpg" border="0" alt="Howtobeanexpert" /></p>
<p>D&#8217;un autre coté, le premier article nous fait bien comprendre que l&#8217;<span style="text-decoration: underline;">on ne peut pas se reposer sur nos employeurs</span> pour nous prendre la main et nous guider vers ce genre d&#8217;objectif. Nos buts ne sont pas les mêmes :</p>
<blockquote><p><em>Your company expects results from your work: reliable, with minimal mistakes and focused on the company main goal &#8211; make money. Your employer could provide minimal training to help you with job requirements. However, your growth will be constrained by company needs, timelines, work assignments and acceptable methods.</em></p></blockquote>
<p>En développement logiciel les technologies vont tellement vite que l&#8217;on ne peut surtout pas se permettre de se reposer sur une compétence acquise.</p>
<p>Enfin, je terminerai sur <a href="http://www.lifehack.org/articles/lifestyle/how-to-be-an-expert-and-find-one-if-youre-not.html" target="_blank" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.lifehack.org');">cet article</a>, qui nous explique les qualités qui font selon lui un véritable expert  :</p>
<ul>
<li>les connaissances</li>
<li>l&#8217;expérience</li>
<li>des capacités de communications</li>
<li>un réseau</li>
<li>la curiosité</li>
</ul>
<p>Pour y parvenir, il nous propose de travailler sur ces axes :</p>
<ul>
<li>travailler continuellement</li>
<li>pratiquer</li>
<li>se faire un réseau</li>
<li>acquérir des capacité de présentation (plutôt au sens marketing, savoir en mettre plein la vue)</li>
<li>partager son expertise</li>
</ul>
<p>Rendez-vous dans 2, 3 ans pour voir si la méthode marche <img src='http://www.richand.info/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.richand.info/blog/2009/04/how-to-be-an-expert-preparation-de-mon-regime-proteine/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Compte rendu de  « l’Aquarium Paris » chez Sun France</title>
		<link>http://www.richand.info/blog/2008/12/compte-rendu-de-%c2%ab-l%e2%80%99aquarium-paris-%c2%bb-chez-sun-france/</link>
		<comments>http://www.richand.info/blog/2008/12/compte-rendu-de-%c2%ab-l%e2%80%99aquarium-paris-%c2%bb-chez-sun-france/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 21:30:01 +0000</pubDate>
		<dc:creator>Nathaniel Richand</dc:creator>
				<category><![CDATA[J2EE]]></category>
		<category><![CDATA[JUG et évènements]]></category>
		<category><![CDATA[Veille techno]]></category>
		<category><![CDATA[GlassFish]]></category>
		<category><![CDATA[Grizzly]]></category>
		<category><![CDATA[Hudson]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://www.richand.info/blog/?p=18</guid>
		<description><![CDATA[(EN COURS DE REDACTION) Vendredi dernier Sun organisait une journée de conférences gratuites dans ces locaux rue de Iena à Paris. Pour cette journée, Sun faisait une tournée de ces programmes OpenSources. Malgré des salles parfois un peu petite, l&#8217;organisation était très correcte et le contenu des sessions très intéressant. Avec deux salles en parallèles [...]]]></description>
			<content:encoded><![CDATA[<table border="0">
<tr>
<td><strong>(EN COURS DE REDACTION)</strong></p>
<p>Vendredi dernier Sun organisait une journée de conférences gratuites dans ces locaux rue de Iena à Paris. Pour cette journée, Sun faisait une tournée de ces programmes OpenSources.<br />
Malgré des salles parfois un peu petite, l&#8217;organisation était très correcte et le contenu des sessions très intéressant. Avec deux salles en parallèles j&#8217;ai porté mon choix sur ces conférences : JavaEE 6, Grizzly Comet, OpenSSO, GlassFish V3 prélude, JavaFx, JavaFx tools, Xwiki, Hudson. Beaucoup de choses intéressantes dont je vais vous faire part ci-dessous.</td>
<td><img src="wp-includes/images/SunAquarium/Sun.jpg" alt="Sun" /></td>
</tr>
</table>
<p><span id="more-18"></span></p>
<h2>Présentation du Business Model pour les produits OpenSources Sun</h2>
<p>Sun a commencé cette journée par nous présenter son Business Model pour l&#8217;OpenSource. Du grand classique, Sun apporte principalement du support, de l&#8217;assitance et de la formation pour l&#8217;ensemble de ses softs et fournis pour certains cas des distributions commerciales en parallèle de distribution free.<br />
J&#8217;y apprend deux/trois infos intéressantes, Sun pense être le premier contributeur OpenSources (au monde ou de ses produits ???) je découvre le logiciel de virtualisation virtualbox (www.virtualbox.org) qui a l&#8217;air assez puissant et simple (en plus d&#8217;être gratuit).<br />
Parmi les avantages de l&#8217;Open Source Sun met en avant une meilleure interopérabilité entre les logiciels, par contre le point sur la sécurité et le  nombre de bugs portent plus à débat.<br />
Une petite apparté sur MySQL : Sun pense qu&#8217;Oracle est sur utilisé. Parce qu&#8217;un gros projet nécessitant des fonctionnalités très avancé choisie Oracle, alors tous le SI devient Oracle. Sun essaye de casser ce schéma en ventant la facilité et la souplesse d&#8217;un MySql. Je suis relativement d&#8217;accord, reste à convaincre les DSI.</p>
<h2>Retour d&#8217;expérience par SFR</h2>
<p>Cette présentation m&#8217;a laissé très dubitative. Certes ce n&#8217;était pas le speaker prévu, mais bon je n&#8217;ai pas bien compris le message et je n&#8217;ai du tout était convaincu.<br />
En gros la personne de chez SFR présentation la migration d&#8217;une de leur offre sur une stack « full Sun ». Passer d&#8217;un Tomcat, Axis (et je ne sais plus le reste) vers une solution Glassfish + Grizzly + Metro. Pas vraiment de données techniques intéressantes, pas de justification pour ce choix. J&#8217;ai juste eu l&#8217;impression que le choix a été plus marketing qu&#8217;autre chose (on a pris parce que c&#8217;était Sun). D&#8217;après le speaker Tomcat+Axis supporte mal la scalabilité.<br />
Seul info intéressante : «  SFR veux de &#8211; en &#8211; de produit à licences », ce qui confirme la tendance.</p>
<h2>JavaEE6 par Roberto Chinnici (spec leader JavaEE6)</h2>
<p>Certainement la présentation la plus intéressante de cette journée. Pour moi qui suivais ça de loin j&#8217;y ai appris pas mal de chose sur l&#8217;avancement de la specs ainsi que des specs liés.<br />
Tout d&#8217;abord Roberto à mis en avant les grands axes de cette nouvelle mouture :</p>
<ul>
<li>Facilité d&#8217;apprentissage</li>
<li>Facilité d&#8217;utilisation</li>
<li> Flexibilité</li>
</ul>
<p>On est clairement dans la continuité de J2EE 5.<br />
Ce qui m&#8217;a interpellé par contre c&#8217;est : « L&#8217;agilité de la plateforme pour interchanger les composants ». En gros c&#8217;est de pouvoir rester sur un serveur d&#8217;application JavaEE6 mais de pouvoir par exemple rajouter la nouvelle API Servlet 4 lorsqu&#8217;elle sortira. Cet axe m&#8217;a l&#8217;air très intéressant mais je me demande encore comment cela sera mis en œuvre. Roberto pense à la possibilité pour les serveurs d&#8217;applications de faire des updates (un peu à la manière de GlassFish qui contient un module d&#8217;update). Je trouve ceci très intéressant en tout cas, car le gros problème de J2EE est que l&#8217;on est dépendant de la version du serveur d&#8217;application choisi par la production. A suivre donc&#8230;</p>
<p>Pour les grandes nouveautés on a droit :</p>
<h3>Profils</h3>
<p>Les profils permettent de découper la norme en sous ensemble cohérent et donc de ne pas devoir implémenter l&#8217;énorme stack entière J2EE. Le seul profil pour le moment validé (en plus du profil complet) et le profil web. En gros un clone de tomcat + JSF + JPA + JTA + EJB Lite (+ peut-être JAX-RS et WebBeans).<br />
Il est parlé de profil type portail ou intégration, mais rien d&#8217;encore concret à priori.</p>
<h3>Elagage</h3>
<p>L&#8217;élagage permettra enfin aux développeurs de serveurs d&#8217;application de ne plus avoir à implémenter de vieilles normes complètement dépassées. Parmi celle-ci on retrouve notamment JAX-RPC, Entity Bean, JAXR, JSR-88. Ces normes seront facultatives et il y aura un marqueur particulier dans la javadoc pour préciser.</p>
<h3>Extensibilité</h3>
<p>L&#8217;extensibilité permettra l&#8217;enregistrement automatique de la configuration sans passé forcément par un fichier de configuration du type web.xml. Les servlets, filtres, listener&#8230; seront découverts à la volée par le serveur. De plus, les frameworks (style Spring MVC, Struts, etc.) pourront mettre dans leur jar la définition des listeners par exemple (dans META-INF/web-fragments.xml) ainsi le développeur n&#8217;aura plus besoin de faire la configuration explicitement.</p>
<h3>Nouvelles API</h3>
<p>Il nous a été présenté plus en détail les nouveautés de Servlet 3 et des EJB 3.1 mais je me contenterai de vous renvoyer vers d&#8217;autres articles en parlant plus précisément.</p>
<h3>Nouveau packaging des applications EJB</h3>
<p>Il n&#8217;y aura plus besoin de créer un jar pour ces EJB que l&#8217;on incorpore derrière avec un war dans l&#8217;ear. A la place l&#8217;EJB pourra se greffer directement dans le war. C&#8217;est quand même bien plus simple&#8230;<br />
Concernant les EJB j&#8217;ai été content d&#8217;apprendre que le nommage JNDI serait enfin standardisé. Cela permettra donc de pouvoir créer des applications qui soient totalement portable d&#8217;un serveur EJB à un autre (en attendant d&#8217;autres problèmes ?).</p>
<h2> Grizzly Comet par Jean-François Arcand</h2>
<p><img src="wp-includes/images/SunAquarium/PushPoll.jpg" alt="Push" /></p>
<p>http://weblogs.java.net/blog/jfarcand/archive/2008/11/writing_a_twitt.html</p>
<h2>OpenSSO par Alain Barbier</h2>
<p><img src="wp-includes/images/SunAquarium/OpenSSOLogo-132_50px.gif" alt="OpenSSO" /></p>
<p>Alain Barbier qui est architecte chez Sun nous présentait la problématique du « Single Sign On » et de la fédération d&#8217;identité. J&#8217;avoue n&#8217;être que moyennement intéressé par le sujet et j&#8217;ai donc suivi plutôt la présentation des concepts plus que le projet OpenSSO en lui-même.</p>
<h2>GlassFish V3 prelude par Alexis Moussine Pouchkine</h2>
<p><img src="wp-includes/images/SunAquarium/GlassFish-Logo-99_65px.jpg" alt="GlassFish" /></p>
<p>Alexis Moussine Pouchkine nous a présenté la future version de GlassFish V3 nommé prélude. Cette nouvelle version est une réécriture du noyau de GlassFish basé sur HK2 pour la flexibilité et sur OSGI pour la modularité. Même si certains sont resté sur leur faim j&#8217;ai bien aimé la présentation qui démontrait vraiment la légèreté de cette nouvelle version.<br />
Un démarrage très rapide, un rechargement automatique lors de la modification de classe tout en conservant la Session (tout comme Jetty) et enfin pour la grande nouveauté un mode embedded. C&#8217;est-à-dire la possibilité de livrer une webApplication tout en y intégrant un GlassFish packagé dedans (Jetty permet déjà de le faire également).<br />
La modularité donné par OSGI est intéressante également, on peut désormais télécharger indépendamment les modules de GlassFish et surtout on peut les loader ou unloader à chaud suivant les besoins.<br />
Pour la partie J2EE GlassFish3 souhaite coller aux dernières avancées et implémente déjà la préversion de JSF2.<br />
Pour conclure, en tant que développeur j&#8217;ai été assez séduit par cette version de GlassFish que je vais m&#8217;empresser de tester. Alexis promet que cette version est aussi particulièrement pensée pour les équipes de production. Espérons que la mayonnaise prenne.</p>
<h2>JavaFx</h2>
<p><img src="wp-includes/images/SunAquarium/JavaFx.jpg" alt="JavaFX" /></p>
<p>JavaFx était l&#8217;attraction phare de la journée. Sortie la semaine précédente, c&#8217;était LE sujet que j&#8217;attendais le plus. Voir en live les possibilités visuelles et surtout la facilité à produire du code. Avec 3 speakers arrivant directement de devoxx et une salle pleine à craquer on se languissait de voir la bête.<br />
La première impression fut un peu ratée. En effet, le début de la présentation était axé sur la partie langage de script de javaFx. A première vu ça m&#8217;a fait pensé à du Groovy &#8230; en moins bien. J&#8217;ai bien aimé par contre la notion de bind qui permet de lier une variable au résultat d&#8217;une expression. Ce qui a raté c&#8217;est le fait que l&#8217;on à pas reçu les paillettes que l&#8217;on attendait et que les slides était écris en petit en blanc sur fond noir.<br />
Puis vint la deuxième présentation qui était centrée sur l&#8217;outillage autour de JavaFx. On nous a principalement montré l&#8217;intégration faites avec Netbeans. J&#8217;ai trouvé ça assez sympa. La première version a l&#8217;air bien abouti bien qu&#8217;incomplète. Le mode de simulation qui permet de voir le rendu en tant que client lourd, de page web ou d&#8217;émulateur pour mobile est assez sympa. J&#8217;ai découvert en passant le profiler de netbeans, super simple à utiliser très sympa.<br />
J&#8217;ai bien aimé ensuite l&#8217;intégration avec Photoshop ou Illustrator, il suffit de bien séparer en calque puis d&#8217;exporter pour JavaFx. Ensuite en JavaFx on manipule les calques. A priori beaucoup plus simple que de manipuler une flopé de sprites.</p>
<h2>Xwiki par Thomas Mortagne</h2>
<p><img src="wp-includes/images/SunAquarium/Xwiki.jpg" alt="Xwiki" /></p>
<p>Certainement la présentation la plus décevante. J&#8217;y suis allé uniquement parce que GlassFish3 m&#8217;avait intéressé et que j&#8217;espérait en apprendre plus (la présentation s&#8217;intitulait « Xwiki et GlassFish »). Au final, je n&#8217;ai pas bien compris cette présentation. Il a été présenté les nouveauté de Xwiki (mais je connaissais pas vraiment les anciennes) et l&#8217;accent était mis sur les parties techniques notamment l&#8217;intégration de velocity, la création d&#8217;un langage de requête, &#8230;<br />
Au final je suis assez déçu car je n&#8217;ai pas compris le but de cette présentation.</p>
<h2>Hudson par Vincent Linsolas</h2>
<p><img src="wp-includes/images/SunAquarium/HudsonButler-149_50px.png" alt="Hudson" /></p>
<p>En tant que grand fan de l&#8217;intégration continu, je me devais d&#8217;aller jeter un coup d&#8217;œil à cette présentation. D&#8217;autant plus, que jusqu&#8217;à présentation je n&#8217;ai utilisé que CruiseControl et Continuum comme serveur d&#8217;intégration continu).<br />
Après une bonne présentation du but de l&#8217;intégration continu, Vincent Linsolas nous a présenté en live Hudson. Mon bilan : c&#8217;est sexy je veux essayer !<br />
Hudson à l&#8217;air facile à installer et à configurer. Tout peux se paramétrer via l&#8217;interface (contrairement à CruiseControl avec ces xml et xsl&#8230;).<br />
De plus, il est à priori aisé d&#8217;étendre Hudson via un système de plugin assez poussé.<br />
J&#8217;ai été notamment intéressé par l&#8217;existence de  nombreux plugin dont Nant et Nunit. Nous avons actuellement ce problème de vouloir utiliser le serveur d&#8217;intégration continu à la fois pour un projet Java et pour un projet .Net.<br />
Enfin, cerise sur le gâteau, l&#8217;interface GWT est vraiment super bien faites, notamment l&#8217;avancement du build qui défile dans une page web, un peu comme si on avait une console DOS ouverte.<br />
Je vous conseille d&#8217;y jeter un coup d&#8217;œil, notamment <a href="http://blog.objectmentor.com/articles/2008/12/11/hudson-a-very-quick-demo" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.objectmentor.com');">ici</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.richand.info/blog/2008/12/compte-rendu-de-%c2%ab-l%e2%80%99aquarium-paris-%c2%bb-chez-sun-france/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Soirée Groovy au ParisJUG</title>
		<link>http://www.richand.info/blog/2008/09/soiree-groovy-au-parisjug/</link>
		<comments>http://www.richand.info/blog/2008/09/soiree-groovy-au-parisjug/#comments</comments>
		<pubDate>Mon, 15 Sep 2008 20:32:16 +0000</pubDate>
		<dc:creator>Nathaniel Richand</dc:creator>
				<category><![CDATA[J2EE]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JUG et évènements]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[ParisJUG]]></category>

		<guid isPermaLink="false">http://www.richand.info/blog/?p=17</guid>
		<description><![CDATA[Mardi soir avait lieu une soirée sur le thème Groovy au ParisJug. Après plusieurs désistements en cascade, me voici arrivant seul dans les locaux, cependant tant pis pour les autres car cette soirée était vraiment de qualité est très instructive. Bien qu&#8217;un peu à l&#8217;écoute de Groovy avant d&#8217;y aller, j&#8217;en ressort avec une grande [...]]]></description>
			<content:encoded><![CDATA[<p>Mardi soir avait lieu une soirée sur le thème <a href="http://www.parisjug.org/xwiki/bin/view/Meeting/20080909" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.parisjug.org');">Groovy au ParisJug</a>. Après plusieurs désistements en cascade, me voici arrivant seul dans les locaux, cependant tant pis pour les autres car cette soirée était vraiment de qualité est très instructive.<br />
Bien qu&#8217;un peu à l&#8217;écoute de Groovy avant d&#8217;y aller, j&#8217;en ressort avec une grande envie de m&#8217;y lancer (chose faite le lendemain en installant le plugin Groovy pour Eclipse :p)!</p>
<p><img src="http://groovy.codehaus.org/images/groovy-logo.png" /><img src="http://blogs.sun.com/theaquarium/resource/GrailsLogo-180_59px.png" style="width: 180px; height: 59px" height="59" width="180" /></p>
<p><span id="more-17"></span><br />
La première présentation de Guillaume Laforge sur <strong>Groovy </strong>était très intéressante et axée sur le point de vue d&#8217;un développeur Java. L&#8217;argument majeur que je retiens est que tout code java est lui même du code Groovy (mais pas l&#8217;inverse naturellement!). La prise en main est donc très bonne car on écrit du code java au début que l&#8217;on groovyse au fur et à mesure que l&#8217;on maîtrise les tricks du langage. Je vous épargne les détails ici car <a href="http://blog.xebia.fr/2008/09/10/paris-jug-resume-de-la-soiree-groovy-et-grails/" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.xebia.fr');">Xebia </a>en fait un compte rendu très complet ici. Le seul aspect au final qui me laisse encore perplexe dans Groovy est le faible pouvoir de détection d&#8217;erreurs à la compilation. Guillaume Laforge estime que l&#8217;aide des IDE (notamment IntelliJ) combiné à un set minimaliste de test unitaire résout le problème, à voir&#8230;<br />
La présentation finit par une présentation des DSL (Domain Specific Langage), je ne suis pas persuadé que n&#8217;importe quel utilisateurs puissent les utiliser, mais c&#8217;est en effet un vrai moyen de se rapprocher de son client et d&#8217;essayer de parler la même langue.</p>
<p>La deuxième présentation était une introduction à <strong>Grails </strong>faites de manière assez ludique. Le point de vue mis en avant (et c&#8217;est l&#8217;un des atout majeur de Groovy/Grails) était vraiment la productivité. Avec aussi une partie sur le fait que Grails produisent bien une applis standard J2EE (un War). Il est en effet bluffant de voir en 10 minutes tout ce que l&#8217;on est capable de produire. Entre une syntaxe très simplifiée (merci Groovy), un boulôt de génération massive pour la BDD et l&#8217;IHM (merci Rails) et le fait de pouvoir s&#8217;abstenir de redémarrer le serveur d&#8217;application, il est clair que la productivité est au rendez-vous. De plus, d&#8217;après les retours d&#8217;expériences il semblerait que Grails tiennent globalement bien la montée en charge.<br />
A l&#8217;issu de cette présentation, j&#8217;ai appris que la communauté Groovy était en train de sortir un équivalent de Grails pour Swing, en cherchant un peu je viens de découvrir <a href="http://docs.codehaus.org/display/GROOVY/Griffon" onclick="javascript:pageTracker._trackPageview('/outbound/article/docs.codehaus.org');">Griffon</a>. A tester!</p>
<p>Dernier petit bonus de la soirée, j&#8217;ai gagné le livre &laquo;&nbsp;<a href="http://www.amazon.com/Filthy-Rich-Clients-Developing-Applications/dp/0132413930" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.amazon.com');">Filthy rich client</a>&nbsp;&raquo; ce qui vraiment cool, merci au ParisJug!</p>
<p>Pour ceux qui n&#8217;auraient pas pu participer à la soirée, vous n&#8217;avez pas tout perdu car 2 présentations équivalentes sont disponibles, ce sont globalement les mêmes, celles du ParisJug étant justes un poil mise à jour et rallongées.</p>
<p><a href="http://www.parleys.com/display/PARLEYS/Home#title=Groovy%20Update;talk=13467832" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.parleys.com');">Présentation de Groovy sur parleys</a></p>
<p><a href="http://www.universite-du-si.com/Webcast.aspx" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.universite-du-si.com');">Présentation de Grails</a> : <em>T18 &#8211; Innover sans contraintes, intégrer sans ruptures</em> (s&#8217;inscrire gratuitement sur le site de l&#8217;université du SI).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.richand.info/blog/2008/09/soiree-groovy-au-parisjug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse tips : regex et liste des tâches</title>
		<link>http://www.richand.info/blog/2008/03/eclipse-tips-regex-et-liste-des-taches/</link>
		<comments>http://www.richand.info/blog/2008/03/eclipse-tips-regex-et-liste-des-taches/#comments</comments>
		<pubDate>Sun, 16 Mar 2008 11:16:53 +0000</pubDate>
		<dc:creator>Nathaniel Richand</dc:creator>
				<category><![CDATA[J2EE]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[task]]></category>

		<guid isPermaLink="false">http://www.richand.info/blog/?p=13</guid>
		<description><![CDATA[Pour aujourd&#8217;hui quelques astuces Eclipse. Elles sont très simples, mais je les utilise vraiment quotidiennement et je me rend compte que pas mal de personnes ne les connaissent pas. La première est l&#8217;utilisation des regex dans l&#8217;éditeur « rechercher/remplacer ». Comment peut-on gagner beaucoup de temps et s&#8217;éviter un boulot à la con ? La [...]]]></description>
			<content:encoded><![CDATA[<p>Pour aujourd&#8217;hui quelques astuces Eclipse. Elles sont très simples, mais je les utilise vraiment quotidiennement et je me rend compte que pas mal de personnes ne les connaissent pas.<br />
<img src="http://www.picocontainer.org/script/images/eclipse-logo-white.jpg" style="width: 155px; height: 90px" height="90" width="155" /></p>
<ul>
<li> La première est l&#8217;utilisation des regex dans l&#8217;éditeur « rechercher/remplacer ». Comment peut-on gagner beaucoup de temps et s&#8217;éviter un boulot à la con ?</li>
<li>La seconde est l&#8217;utilisation des « tasks » (TODO, FIXME, &#8230;). Comment bien les utiliser, comment créer les siennes ?</li>
</ul>
<p><span id="more-13"></span></p>
<h2>Astuce 1 : gagnez du temps, utilisez les regex</h2>
<p>Il n&#8217;y a rien de plus chiant quand l&#8217;on code que de faire des séquences répétitives comme par exemple : (appui sur la touche &laquo;&nbsp;fin&nbsp;&raquo;, &laquo;&nbsp;;&nbsp;&raquo;, &laquo;&nbsp;flèche du bas&nbsp;&raquo; ) * 20 &#8230;</p>
<p>Plutôt que d&#8217;effectuer des tâches répétitives, je préfère bien souvent plutôt utiliser le temps que je passe d&#8217;habitude à effectuer ceci et ensuite à corriger les erreurs (qui s&#8217;insèrent souvent lorsque l&#8217;on fait ce genre de chose) par plutôt chercher une expression régulière qui effectuera ce boulôt.</p>
<p>Eclipse propose un support basique mais assez efficace des regex dans l&#8217;écran &laquo;&nbsp;Rechercher/Remplacer&nbsp;&raquo; (raccourci ctr+F). Pour celà, il suffit de cliquer sur la checkbox &laquo;&nbsp;Regular Expression&nbsp;&raquo;.</p>
<p><img src="/blog/wp-includes/images/EclipseTips/Replace1.jpg" /></p>
<p>La syntaxe est identique aux expressions régulières java : &laquo;&nbsp;.&nbsp;&raquo; pour tout caractère, &laquo;&nbsp;*&nbsp;&raquo; pour répéter 0 ou n fois, &laquo;&nbsp;()&nbsp;&raquo; pour capturer un groupe, &laquo;&nbsp;[\w] pour récupérer uniquement les caractères de mots, etc&#8230;</p>
<p>Pour récupérer les groupes que l&#8217;on a capturé, on utilise dans la partie &laquo;&nbsp;replace with&nbsp;&raquo; les expressions $1 pour le premier groupe, $2 pour le suivant, etc&#8230;</p>
<p><u>Un petit exemple bateau :</u></p>
<p>A partir de l&#8217;exemple ci dessus, imaginez que l&#8217;on veuille vérifier que toutes les variables de classes ne soient pas nulles.</p>
<p>On copie colle la définition des variables dans notre méthode (voir image1).</p>
<p>On recherche l&#8217;expression : &laquo;&nbsp;Private String ([\w]*) = &laquo;&nbsp;&nbsp;&raquo;;&nbsp;&raquo;</p>
<p>Que l&#8217;on remplace par exemple par : &laquo;&nbsp;if($1 != null &amp;&amp; !($1).equals(&laquo;&nbsp;&nbsp;&raquo;)){}</p>
<p>Ce qui produit comme résultat :</p>
<p><img src="/blog/wp-includes/images/EclipseTips/Replace2.jpg" style="width: 433px; height: 218px" height="218" width="433" /></p>
<p>Marvellous!</p>
<h2>Astuce 2 : n&#8217;oubliez rien, utilisez les tasks</h2>
<p>Je suis un fan des TODO/FIXME. C&#8217;est à dire que plutôt que d&#8217;écrire sur trois milles post-it les choses restant à faire, ou à corriger ou bien d&#8217;utiliser l&#8217;éternel &laquo;&nbsp;Nouveau document texte.txt&nbsp;&raquo; posé sur le bureau. Je préfère que tous ces éléments soient directement intégrés dans le code.</p>
<p>La vue des tasks se présente comme suit :</p>
<p><img src="/blog/wp-includes/images/EclipseTips/TasksList.jpg" /></p>
<p>On remarque tout de suite que l&#8217;avantage est que les tâches sont localisés à l&#8217;endroit ou elle doivent être. Un clic et on s&#8217;y rend. De plus, elle sont priorisable (high, normal ou low).</p>
<p>On peut de plus créer ses propres tâches personnalisées. Pour cela, se rendre dans les préférences -&gt; Java -&gt; Compiler -&gt; tasks tags :</p>
<p><img src="/blog/wp-includes/images/EclipseTips/AddTask.jpg" /></p>
<p>Le seul inconvénient, est que l&#8217;on sera le seul dans l&#8217;équipe à  les voir si les autres ne rajoutent pas ces mêmes tâches. Dans l&#8217;exemple, j&#8217;ai rajouté une tâche NAT avec une priorité haute. J&#8217;ai aussi pour habitude de descendre la tâche XXX en priorité faible.</p>
<p>Un autre truc cool avec les tâches est la gestion facile des filtres. Ces filtres ressemblent pas mal à ceux de la vue &laquo;&nbsp;Errors&nbsp;&raquo; :</p>
<p><img src="/blog/wp-includes/images/EclipseTips/FilterTasks.jpg" /></p>
<p>Ce qui est intéressant est de placer le filtre sur uniquement la classe ouverte lorsque l&#8217;on code (radio &laquo;&nbsp;On selected Element Only&nbsp;&raquo;) et éventuellement de filter sur les priorités. Quand on veux ensuite faire du refactoring global on enlève ces filtres, pratique!</p>
<h2>Bonus :</h2>
<p>En petit bonus aujourd&#8217;hui, je vous propose cet article que j&#8217;ai découvert hier, présentant <a href="http://java.dzone.com/news/effective-eclipse-fix-it-quick" onclick="javascript:pageTracker._trackPageview('/outbound/article/java.dzone.com');">diverses astuces Eclipse</a>.</p>
<p>Une astuce utile à laquelle je n&#8217;avais pas réfléchi et de remplacer dans les templates la génération du try/catch  pour insérer dans le catch :</p>
<p><em>   logger.severe(&laquo;&nbsp;Exception caught: &nbsp;&raquo; + ${exception_var});  </em></p>
<p>Tout bête, mais pratique.</p>
<p>C&#8217;est tout pour aujourd&#8217;hui. En espérant vous avoir fait gagner 5 minutes sur votre prochaine journée <img src='http://www.richand.info/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.richand.info/blog/2008/03/eclipse-tips-regex-et-liste-des-taches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Présentation de Spring</title>
		<link>http://www.richand.info/blog/2007/11/presentation-de-spring/</link>
		<comments>http://www.richand.info/blog/2007/11/presentation-de-spring/#comments</comments>
		<pubDate>Fri, 16 Nov 2007 22:37:16 +0000</pubDate>
		<dc:creator>pastisman</dc:creator>
				<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[IOC]]></category>

		<guid isPermaLink="false">http://www.richand.info/blog2/?p=6</guid>
		<description><![CDATA[Dans le cadre de mon travail de petit prestataire, j&#8217;ai été amené à réfléchir pour essayer d&#8217;améliorer ma condition de développeur d&#8217;application Web J2EE. En effet le projet sur lequel j&#8217;étais devait être réalisé en n&#8217;utilisant que les outils de bases de J2EE 1.4 à savoir Jsp/Servlet/JavaBean &#124; View Cette Présentation propose une présentation rapide [...]]]></description>
			<content:encoded><![CDATA[<p>Dans le cadre de mon travail de petit prestataire, j&#8217;ai été amené à  réfléchir pour essayer d&#8217;améliorer ma condition de développeur d&#8217;application Web J2EE. En effet le projet sur lequel j&#8217;étais devait être réalisé en n&#8217;utilisant que les outils de bases de J2EE 1.4 à  savoir Jsp/Servlet/JavaBean <img src='http://www.richand.info/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<div style="width:425px;text-align:left" id="__ss_171665"><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=presentation-spring-1195462507302203-5"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=presentation-spring-1195462507302203-5" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"><a href="http://www.slideshare.net/?src=embed" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.slideshare.net');"><img src="http://static.slideshare.net/swf/logo_embd.png" style="border:0px none;margin-bottom:-5px" alt="SlideShare"/></a> | <a href="http://www.slideshare.net/nrichand/presentation-spring" title="View 'Presentation Spring' on SlideShare" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.slideshare.net');">View</a> </div>
</div>
<p>Cette Présentation propose une présentation rapide de Spring puis s&#8217;attarde plus sur Spring IOC et Spring MVC, les 2 parties qui nous ont le plus intéressé sur notre projet.</p>
<p><a href="documents/Presentation_Spring.pdf" hreflang="fr"><em>Telecharger en PDF.</em></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.richand.info/blog/2007/11/presentation-de-spring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

