<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Veille Technologique Java et plus...</title>
	<atom:link href="http://jveille.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://jveille.wordpress.com</link>
	<description></description>
	<lastBuildDate>Sun, 09 Oct 2011 21:45:42 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='jveille.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Veille Technologique Java et plus...</title>
		<link>http://jveille.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://jveille.wordpress.com/osd.xml" title="Veille Technologique Java et plus..." />
	<atom:link rel='hub' href='http://jveille.wordpress.com/?pushpress=hub'/>
		<item>
		<title>iPad Wifi + HTC Hero 2.2 = iPad 3G</title>
		<link>http://jveille.wordpress.com/2010/08/25/ipad-wifi-htc-hero-2-2-ipad-3g/</link>
		<comments>http://jveille.wordpress.com/2010/08/25/ipad-wifi-htc-hero-2-2-ipad-3g/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 08:18:02 +0000</pubDate>
		<dc:creator>jveille</dc:creator>
				<category><![CDATA[outil]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[iPad]]></category>

		<guid isPermaLink="false">http://jveille.wordpress.com/?p=136</guid>
		<description><![CDATA[Oui, c&#8217;est possible de profiter de la 3G avec un  iPad Wifi ! Bon ça on le sait depuis la présentation Google I/O 2010 avec la démo en live de la fonctionnalité de tethering de Froyo. Mais comment fait-on quand on est frustré d&#8217;avoir un HTC Hero officiellement en 2.1 ? La réponse en quelques [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jveille.wordpress.com&amp;blog=13704941&amp;post=136&amp;subd=jveille&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Oui, c&#8217;est possible de profiter de la 3G avec un  iPad Wifi ! Bon ça on le sait depuis la présentation Google I/O 2010 avec la démo en live de la fonctionnalité de tethering de Froyo.</p>
<p style="text-align:justify;">Mais comment fait-on quand on est frustré d&#8217;avoir un HTC Hero officiellement en 2.1 ? La réponse en quelques étapes.</p>
<p style="text-align:justify;"><span id="more-136"></span>HTC ne propose pas de montée de version, il va falloir utiliser une custom ROM. Il en existe plusieurs, j&#8217;ai pris une FroydVillain 1.4.</p>
<p style="text-align:justify;">Toutes les étapes sont disponibles dans le Wiki à cette <a title="froydvillain_wiki" href="http://www.villainrom.co.uk/wiki/index.php?title=Installing_Custom_ROMs" target="_blank">adresse.</a></p>
<p style="text-align:justify;">Lorsqu&#8217;on a un HTC Hero en 2.1 officiel, on est obligé de repasser en 1.6 pour pouvoir utiliser l&#8217;installeur de FroydVillain. J&#8217;ai donc dû effectuer quelques étapes supplémentaires :</p>
<ol>
<li>Télécharger la ROM officielle HTC Android 1.6 sur le <a href="http://www.htc.com/fr/support.aspx" target="_blank">site d&#8217;HTC</a>.</li>
<li>Télécharger également le logiciel HTC Sync</li>
<li>Installer HTC Sync</li>
<li>Brancher le HTC Hero et le faire détecter par HTC Sync</li>
<li>Installer la ROM 1.6 (la procédure dure une dizaine de minutes)</li>
<li>Reprendre la procédure d&#8217;installation du Wiki</li>
</ol>
<p style="text-align:justify;">Lors du premier boot sous FroydVillain, il ne faut pas s&#8217;inquiéter de la durée &#8230; un conseil :  allez faire autre chose pour éviter de stresser.</p>
<p style="text-align:justify;">Une fois sous Froyo, je n&#8217;ai pas vu de possibilité de faire du Wifi Tethering, dans les options réseaux, seul l&#8217;USB Tethering était disponible.</p>
<p style="text-align:justify;">Heureusement, il existe une application pour ça sur l&#8217;android market : Wireless Tether for Root.</p>
<p style="text-align:justify;"><a href="http://jveille.files.wordpress.com/2010/08/qr_code_market.png"><img class="aligncenter size-full wp-image-137" title="qr_code_market" src="http://jveille.files.wordpress.com/2010/08/qr_code_market.png?w=200&#038;h=200" alt="qr_wifi_tethering" width="200" height="200" /></a>Démarrez cette applications, donnez les droits permissions lorsqu&#8217;elles vous sont demandées.</p>
<p style="text-align:justify;">Configurez votre iPad pour qu&#8217;il se connecte en Wifi sur le réseau AndroidTether.</p>
<p style="text-align:justify;">Il se peut que la première connexion soit longue et que l&#8217;adresse IP obtenue ne soit pas correcte, dans ce cas il suffit de renouveller le bail.</p>
<p style="text-align:justify;">Et ensuite, normalement, si tout est correct &#8230; ça marche! Les débits me semblent bon, et surtout, ça marche dans le RER!</p>
<p style="text-align:justify;">Une belle économie d&#8217;argent au final (100€ sur la version d&#8217;iPad + coût d&#8217;un énième abonnement supplémentaire).</p>
<p style="text-align:justify;">Vive Android &amp; Bon surf!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jveille.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jveille.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jveille.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jveille.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jveille.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jveille.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jveille.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jveille.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jveille.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jveille.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jveille.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jveille.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jveille.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jveille.wordpress.com/136/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jveille.wordpress.com&amp;blog=13704941&amp;post=136&amp;subd=jveille&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jveille.wordpress.com/2010/08/25/ipad-wifi-htc-hero-2-2-ipad-3g/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/da4083749ea340ee0c2978ed533f0ef8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jveille</media:title>
		</media:content>

		<media:content url="http://jveille.files.wordpress.com/2010/08/qr_code_market.png" medium="image">
			<media:title type="html">qr_code_market</media:title>
		</media:content>
	</item>
		<item>
		<title>Configuration Maven2 : ready for Java EE6 (JSF 2.0, EJB 3.1, Servlet 3.0 et Glassfish 3.0.1)</title>
		<link>http://jveille.wordpress.com/2010/07/14/configuration-maven2-ready-for-java-ee6-jsf-2-0-ejb-3-1-servlet-3-0-et-glassfish-3-0-1/</link>
		<comments>http://jveille.wordpress.com/2010/07/14/configuration-maven2-ready-for-java-ee6-jsf-2-0-ejb-3-1-servlet-3-0-et-glassfish-3-0-1/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 11:09:34 +0000</pubDate>
		<dc:creator>jveille</dc:creator>
				<category><![CDATA[outil]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[maven]]></category>

		<guid isPermaLink="false">http://jveille.wordpress.com/?p=130</guid>
		<description><![CDATA[Je démarre mon nouveau projet perso et je compte utiliser Java EE 6. J&#8217;utilise Netbeans 6.9 comme IDE mais j&#8217;aime aussi utiliser Maven2 pour compiler/builder et intégrer mes projets dans Hudson et Sonar. Je vous livre ici mon pom.xml configuré pour utiliser les dépendances JSF, EJB, Servlet, &#8230; ça vous évitera de perdre du temps [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jveille.wordpress.com&amp;blog=13704941&amp;post=130&amp;subd=jveille&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Je démarre mon nouveau projet perso et je compte utiliser Java EE 6.</p>
<p>J&#8217;utilise Netbeans 6.9 comme IDE mais j&#8217;aime aussi utiliser Maven2 pour compiler/builder et intégrer mes projets dans Hudson et Sonar.</p>
<p>Je vous livre ici mon pom.xml configuré pour utiliser les dépendances JSF, EJB, Servlet, &#8230; ça vous évitera de perdre du temps à chercher les repositories, les numéros de version et les dépendances adéquates.</p>
<pre class="brush: xml;">&lt;/pre&gt;
&lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:schemaLocation=&quot;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd&quot;&gt;
&lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
&lt;groupId&gt;fr.kaddath.apps&lt;/groupId&gt;
&lt;artifactId&gt;fluxx&lt;/artifactId&gt;
&lt;packaging&gt;war&lt;/packaging&gt;
&lt;version&gt;1.0&lt;/version&gt;
&lt;name&gt;Fluxx&lt;/name&gt;
&lt;url&gt;http://www.fluxx.fr.cn/&lt;/url&gt;

&lt;properties&gt;
&lt;junit-version&gt;4.7&lt;/junit-version&gt;
&lt;eclipselink-version&gt;2.0.0&lt;/eclipselink-version&gt;
&lt;glassfish-version&gt;3.0.1&lt;/glassfish-version&gt;
&lt;jsf-version&gt;2.0&lt;/jsf-version&gt;
&lt;rome-version&gt;0.9&lt;/rome-version&gt;
&lt;log4j-version&gt;1.2.14&lt;/log4j-version&gt;
&lt;commons-lang-version&gt;2.3&lt;/commons-lang-version&gt;
&lt;/properties&gt;

&lt;scm&gt;
&lt;connection&gt;scm:svn:https://kaddath.googlecode.com/svn/trunk/fluxx_netbeans/&lt;/connection&gt;
&lt;developerConnection&gt;scm:svn:https://kaddath.googlecode.com/svn/trunk/fluxx_netbeans/&lt;/developerConnection&gt;
&lt;url&gt;http://code.google.com/p/kaddath/source/browse/#svn/trunk/fluxx_netbeans&lt;/url&gt;
&lt;/scm&gt;

&lt;dependencies&gt;
&lt;dependency&gt;
&lt;groupId&gt;javax.faces&lt;/groupId&gt;
&lt;artifactId&gt;jsf-api&lt;/artifactId&gt;
&lt;version&gt;${jsf-version}&lt;/version&gt;
&lt;scope&gt;provided&lt;/scope&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
&lt;groupId&gt;rome&lt;/groupId&gt;
&lt;artifactId&gt;rome&lt;/artifactId&gt;
&lt;version&gt;${rome-version}&lt;/version&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
&lt;groupId&gt;commons-lang&lt;/groupId&gt;
&lt;artifactId&gt;commons-lang&lt;/artifactId&gt;
&lt;version&gt;${commons-lang-version}&lt;/version&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
&lt;groupId&gt;log4j&lt;/groupId&gt;
&lt;artifactId&gt;log4j&lt;/artifactId&gt;
&lt;version&gt;${log4j-version}&lt;/version&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
&lt;groupId&gt;junit&lt;/groupId&gt;
&lt;artifactId&gt;junit&lt;/artifactId&gt;
&lt;version&gt;${junit-version}&lt;/version&gt;
&lt;scope&gt;test&lt;/scope&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
&lt;groupId&gt;org.eclipse.persistence&lt;/groupId&gt;
&lt;artifactId&gt;javax.persistence&lt;/artifactId&gt;
&lt;version&gt;${eclipselink-version}&lt;/version&gt;
&lt;scope&gt;provided&lt;/scope&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
&lt;groupId&gt;org.eclipse.persistence&lt;/groupId&gt;
&lt;artifactId&gt;eclipselink&lt;/artifactId&gt;
&lt;version&gt;${eclipselink-version}&lt;/version&gt;
&lt;scope&gt;provided&lt;/scope&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
&lt;groupId&gt;org.glassfish&lt;/groupId&gt;
&lt;artifactId&gt;javax.ejb&lt;/artifactId&gt;
&lt;version&gt;${glassfish-version}&lt;/version&gt;
&lt;scope&gt;provided&lt;/scope&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
&lt;groupId&gt;javax&lt;/groupId&gt;
&lt;artifactId&gt;javaee-api&lt;/artifactId&gt;
&lt;version&gt;6.0&lt;/version&gt;
&lt;scope&gt;provided&lt;/scope&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
&lt;groupId&gt;jdom&lt;/groupId&gt;
&lt;artifactId&gt;jdom&lt;/artifactId&gt;
&lt;version&gt;1.0&lt;/version&gt;
&lt;/dependency&gt;
&lt;/dependencies&gt;
&lt;build&gt;
&lt;sourceDirectory&gt;${basedir}/src/java&lt;/sourceDirectory&gt;
&lt;testSourceDirectory&gt;${basedir}/test&lt;/testSourceDirectory&gt;
&lt;outputDirectory&gt;${basedir}/target/classes&lt;/outputDirectory&gt;
&lt;testOutputDirectory&gt;${basedir}/target/test-classes&lt;/testOutputDirectory&gt;
&lt;plugins&gt;
&lt;plugin&gt;
&lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
&lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;
&lt;inherited&gt;true&lt;/inherited&gt;
&lt;configuration&gt;
&lt;source&gt;1.6&lt;/source&gt;
&lt;target&gt;1.6&lt;/target&gt;
&lt;/configuration&gt;
&lt;/plugin&gt;
&lt;plugin&gt;
&lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
&lt;artifactId&gt;maven-war-plugin&lt;/artifactId&gt;
&lt;configuration&gt;
&lt;webXml&gt;${basedir}/web/WEB-INF/web.xml&lt;/webXml&gt;
&lt;warName&gt;fluxx&lt;/warName&gt;
&lt;/configuration&gt;
&lt;/plugin&gt;
&lt;/plugins&gt;
&lt;/build&gt;

&lt;repositories&gt;
&lt;repository&gt;
&lt;id&gt;glassfish-maven-repository.dev.java.net&lt;/id&gt;
&lt;name&gt;GlassFish Maven Repository&lt;/name&gt;
&lt;url&gt;http://download.java.net/maven/glassfish&lt;/url&gt;
&lt;/repository&gt;
&lt;repository&gt;
&lt;id&gt;EclipseLink Repo&lt;/id&gt;
&lt;name&gt;Eclipse maven repository http://eclipse.ialto.org/rt/eclipselink/maven.repo/&lt;/name&gt;
&lt;url&gt;http://mirror.csclub.uwaterloo.ca/eclipse/rt/eclipselink/maven.repo/&lt;/url&gt;
&lt;/repository&gt;
&lt;/repositories&gt;
&lt;/project&gt;
&lt;pre&gt;</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jveille.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jveille.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jveille.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jveille.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jveille.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jveille.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jveille.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jveille.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jveille.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jveille.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jveille.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jveille.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jveille.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jveille.wordpress.com/130/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jveille.wordpress.com&amp;blog=13704941&amp;post=130&amp;subd=jveille&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jveille.wordpress.com/2010/07/14/configuration-maven2-ready-for-java-ee6-jsf-2-0-ejb-3-1-servlet-3-0-et-glassfish-3-0-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/da4083749ea340ee0c2978ed533f0ef8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jveille</media:title>
		</media:content>
	</item>
		<item>
		<title>Retour sur la certification SCJP 5.0 &amp; SCBCD 5.0</title>
		<link>http://jveille.wordpress.com/2010/07/07/retour-sur-la-certification-scjp-5-0-scbcd-5-0/</link>
		<comments>http://jveille.wordpress.com/2010/07/07/retour-sur-la-certification-scjp-5-0-scbcd-5-0/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 12:51:55 +0000</pubDate>
		<dc:creator>jveille</dc:creator>
				<category><![CDATA[certification]]></category>

		<guid isPermaLink="false">http://jveille.wordpress.com/?p=123</guid>
		<description><![CDATA[Suite à l&#8217;annonce des jduchess hier soir au Paris JUG, je ressorts deux billets de mon ancien blog concernant les certifications que j&#8217;ai passées en 2007 et 2008. J&#8217;espère que ça aidera les futurs candidats à la certification. Note : Les liens ne sont peut-être plus à jour. Sun Certified Java Programmer 5.0 J&#8217;ai obtenu [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jveille.wordpress.com&amp;blog=13704941&amp;post=123&amp;subd=jveille&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Suite à l&#8217;annonce des jduchess hier soir au Paris JUG, je ressorts deux billets de mon ancien blog concernant les certifications que j&#8217;ai passées en 2007 et 2008. J&#8217;espère que ça aidera les futurs candidats à la certification.</p>
<p style="text-align:justify;"><em>Note : Les liens ne sont peut-être plus à jour.</em></p>
<h3>Sun Certified Java Programmer 5.0</h3>
<p style="text-align:justify;">J&#8217;ai obtenu la certification Sun Certification Java Programmer 5 (CX-310-055) avec un score de 87% de réussite. Voici comment je me suis préparé :</p>
<p style="text-align:justify;">Tout d&#8217;abord, je vous conseille ce livre de référence pour préparer la certification :</p>
<p style="text-align:center;"><a href="http://www.amazon.fr/SCJP-Sun-Certified-Programmer-Java/dp/0071591060/ref=sr_1_1?ie=UTF8&amp;s=english-books&amp;qid=1284456114&amp;sr=8-1"><img class="aligncenter size-full wp-image-141" title="scjp" src="http://jveille.files.wordpress.com/2010/07/51ti0tatl-_bo2204203200_pisitb-sticker-arrow-clicktopright35-76_aa300_sh20_ou08_.jpg?w=300&#038;h=300" alt="" width="300" height="300" /></a></p>
<p style="text-align:justify;">Certes il est en anglais mais le niveau est tout à fait abordable. Il faut le lire intégralement et faire les tests de fin de chapitre. Il contient un CD avec 2 examens électroniques blancs.</p>
<p style="text-align:justify;">Ensuite, j&#8217;ai utilisé 2 logiciels de tests, le logiciel de Whizlabs :</p>
<ul>
<li><a href="http://www.javaranch.com  En ce qui concerne la préparation elle-même, j'ai lu le livre l'année dernière à raison d'un chapitre par week end, ce qui n'était pas vraiment une bonne chose. Puis j'ai pratiqué les tests tous les jours durant 1 mois et demi avant de passer l'examen. Je notais mes mauvaises réponses et je les révisais tous les matins.  Le jour de l'examen je n'ai eu aucune surprise au niveau de la forme du questionnaire, les 3 logiciels de tests se complètent parfaitement et couvrent tout le programme et toutes les formes de questions possibles (QCM, QRM, Drag n Drop). Concernant les questions elles-mêmes, il n'y a de parties plus simples que d'autres, tout dépend de vos affinités personnelles. Pour finir, l'obtention de cette première certification vous ouvre les portes vers de nouveaux objectifs plus intéressant tels que les EJB3, certification que je prépare actuellement. Si vous avez des questions, à votre dispo !">http://www.whizlabs.com/scjp/training.html</a></li>
<li>et celui d&#8217;Enthuware <a href="http://www.enthuware.com/jqplus/index.html">http://www.enthuware.com/jqplus/index.html</a></li>
</ul>
<p style="text-align:justify;">Pour finir, il existe un forum dédié aux certifications Sun à cette adresse : <a href="http://www.javaranch.com">http://www.javaranch.com</a></p>
<p style="text-align:justify;">En ce qui concerne la préparation elle-même, j&#8217;ai lu le livre l&#8217;année dernière à raison d&#8217;un chapitre par week end, ce qui n&#8217;était pas vraiment une bonne chose. Puis j&#8217;ai pratiqué les tests tous les jours durant 1 mois et demi avant de passer l&#8217;examen. Je notais mes mauvaises réponses et je les révisais tous les matins.</p>
<p style="text-align:justify;">Le jour de l&#8217;examen je n&#8217;ai eu aucune surprise au niveau de la forme du questionnaire, les 3 logiciels de tests se complètent parfaitement et couvrent tout le programme et toutes les formes de questions possibles (QCM, QRM, Drag n Drop).<br />
Concernant les questions elles-mêmes, il n&#8217;y a de parties plus simples que d&#8217;autres, tout dépend de vos affinités personnelles.<br />
Pour finir, l&#8217;obtention de cette première certification vous ouvre les portes vers de nouveaux objectifs plus intéressant tels que les EJB3, certification que je prépare actuellement. Si vous avez des questions, à votre dispo !</p>
<h3>Sun Certified Business Component Developper 5.0</h3>
<p style="text-align:justify;">L&#8217;examen dure 145 minutes et comporte 61 questions. Il faut 59% pour être certifié (36 bonnes réponses). Personnellement j&#8217;ai tout bouclé en 1h20, sans effectuer de relecture pour ne pas douter de mes réponses.</p>
<p style="text-align:justify;">Voici comment je me suis préparé :</p>
<p style="text-align:justify;">Tout d&#8217;abord, il n&#8217;y a pas de livre officiel d&#8217;aide à la préparation (contrairement à la SCJP ou la SCWCD par exemple). Il faut donc se procurer différents documents :</p>
<ul>
<li>Les objectifs de la certification (<a href="http://www.sun.com/training/certification/java/scbcd.xml">http://www.sun.com/training/certification/java/scbcd.xml</a>)</li>
<li>Les spécifications EJB3 <a href="http://jcp.org/en/jsr/detail?id=220">(http://jcp.org/en/jsr/detail?id=220</a>)</li>
<li>Le guide non-officiel de Mikalai Zaikin (<a href="http://java.boot.by/bcd-guide/">http://java.boot.by/bcd-guide/</a>) qui répartit les chapitres des spécifications dans chaque objectif de la certification</li>
<li>Un livre sur les EJB3 : Mastering EJB3 (<a href="http://www.theserverside.com/tt/books/wiley/masteringEJB3/index.tss">http://www.theserverside.com/tt/books/wiley/masteringEJB3/index.tss</a>), Oreilly EJB3 (<a href="http://www.oreilly.com/catalog/9780596009786/">http://www.oreilly.com/catalog/9780596009786/</a>), Manning EJB3 In Action (<a href="http://www.manning.com/panda/">http://www.manning.com/panda/</a>). Personnellement je recommande celui d&#8217;Oreilly qui est assez concis. Par contre, aucun de ces livres n&#8217;est fait pour la certification, ils servent juste à avoir un aperçu global de ce qu&#8217;on peut faire avec les EJB3 mais ce n&#8217;est pas assez précis pour comprendre les objectifs de la certification. Je ne vous recommande pas le livre en français <a href="http://www.eyrolles.com/Informatique/Livre/9782100506231/livre-ejb-3.php">http://www.eyrolles.com/Informatique/Livre/9782100506231/livre-ejb-3.php</a> qui n&#8217;est pour moi qui introduction aux EJB3 et qui passe sous silence beaucoup de choses (par exemple : la sécurité).</li>
</ul>
<p style="text-align:justify;">Ensuite, j&#8217;ai utilisé 2 logiciels de tests :</p>
<ul>
<li>Whizlabs <a href="http://www.whizlabs.com/scbcd/scbcd5.0.html">http://www.whizlabs.com/scbcd/scbcd5.0.html</a> (assez buggé, mais des questions pertinentes)</li>
<li>Enthuware <a href="http://www.enthuware.com/ejbplus/index.html">http://www.enthuware.com/ejbplus/index.html</a> (très bien, difficulté plus élevée que Whizlabs)</li>
</ul>
<p style="text-align:justify;">Pour finir, il existe un forum dédié à la certifications SCBCD à cette adresse : <a href="http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=forum&amp;f=70">http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=forum&amp;f=70</a></p>
<p style="text-align:justify;">En ce qui concerne la préparation en elle-même, j&#8217;ai lu le livre Oreilly EJB3, à un rythme d&#8217;un chapitre par soir. Ensuite j&#8217;ai commencé les tests Whizlabs pour connaître mes lacunes. Après avoir fait tous les tests Whizlabs j&#8217;ai fait les tests d&#8217;Enthuware. Comme pour la SCJP5, je notais dans un PowerPoint mes erreurs ou des rappels. Cela constitue une fiche de révision personnelle.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jveille.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jveille.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jveille.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jveille.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jveille.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jveille.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jveille.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jveille.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jveille.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jveille.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jveille.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jveille.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jveille.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jveille.wordpress.com/123/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jveille.wordpress.com&amp;blog=13704941&amp;post=123&amp;subd=jveille&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jveille.wordpress.com/2010/07/07/retour-sur-la-certification-scjp-5-0-scbcd-5-0/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/da4083749ea340ee0c2978ed533f0ef8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jveille</media:title>
		</media:content>

		<media:content url="http://jveille.files.wordpress.com/2010/07/51ti0tatl-_bo2204203200_pisitb-sticker-arrow-clicktopright35-76_aa300_sh20_ou08_.jpg" medium="image">
			<media:title type="html">scjp</media:title>
		</media:content>
	</item>
		<item>
		<title>Mieux coder &#8230;</title>
		<link>http://jveille.wordpress.com/2010/06/02/mieux-coder/</link>
		<comments>http://jveille.wordpress.com/2010/06/02/mieux-coder/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 21:13:28 +0000</pubDate>
		<dc:creator>jveille</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[amélioration]]></category>
		<category><![CDATA[bonnes pratiques]]></category>

		<guid isPermaLink="false">http://jveille.wordpress.com/?p=93</guid>
		<description><![CDATA[Je suis en train de lire Clean Code et j&#8217;en suis à un peu plus de la moitié et aujourd&#8217;hui j&#8217;ai codé mieux que jamais! J&#8217;ai appliqué plusieurs conseils distillés par le livre et je pense que mon code est meilleur : plus lisible, plus concis, mieux architecturé, et la testabilité a été grandement améliorée. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jveille.wordpress.com&amp;blog=13704941&amp;post=93&amp;subd=jveille&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div style="text-align:justify;">Je suis en train de lire Clean Code et j&#8217;en suis à un peu plus de la moitié et aujourd&#8217;hui j&#8217;ai codé mieux que jamais!</div>
<div style="text-align:justify;">J&#8217;ai appliqué plusieurs conseils distillés par le livre et je pense que mon code est meilleur : plus lisible, plus concis, mieux architecturé, et la testabilité a été grandement améliorée.</div>
<div><a href="http://jveille.files.wordpress.com/2010/06/cleancode.jpg"><img class="aligncenter size-medium wp-image-94" title="CleanCode" src="http://jveille.files.wordpress.com/2010/06/cleancode.jpg?w=225&#038;h=300" alt="" width="225" height="300" /></a></div>
<div>Voici ce que j&#8217;ai fait en boucle &#8230;</div>
<div><span id="more-93"></span></div>
<p>Pour vous situer le contexte, je devais réaliser une &laquo;&nbsp;portlet&nbsp;&raquo; WebTV. Cette portlet doit rechercher une liste de contenus de type LienVideo dans le CMS et afficher au maximum 4 liens hypertextes pointant vers Kewego (site d&#8217;hébergement de vidéos). Le premier lien doit afficher une image en dessous de lui.</p>
<p>Après avoir codé en vitesse une première version, j&#8217;étais arrivé à un découpage en 3 classes : TagWebTV, LienVideoTransformer, LienVideoComparator. Le code pouvait largement être amélioré.</p>
<h2>Méthodes</h2>
<div>Pour chaque méthode, je me suis posé la question : Puis-je extraire une sous partie?</div>
<div>C&#8217;est trivial, vous voyez ce que je veux dire.</div>
<h2>Commentaires</h2>
<div>Pour chaque ligne de commentaire, je me suis posé la question : Puis-je remplacer un commentaire par <strong>un appel de méthode bien nommée</strong>? Principe d&#8217;auto-documentation.</div>
<div>Avant : Un commentaire pour expliquer un bloc d&#8217;instructions</div>
<pre class="brush: java;">
if (index == 0) {
  // affichage de l'image si on traite le premier lien video
  sb.append(&quot;&lt;br/&gt;&quot;);
  sb.append(&quot;&lt;div style=\&quot;text-align:center;margin-top:10px\&quot;&gt;&quot;);
  sb.append(&quot;&lt;a href=\&quot;&quot;).append(lv.getUrl()).append(&quot;\&quot; &quot;);
  sb.append(&quot;target=\&quot;blank\&quot;&gt;&quot;);
  sb.append(&quot;&lt;img src=\&quot;&quot;).append(lv.getImage()).append(&quot;\&quot; /&gt;&quot;);
  sb.append(&quot;&lt;/div&gt;&quot;);
  sb.append(&quot;&lt;/a&gt;&quot;);
}
</pre>
<div>Après :  Suppression du commentaire, création d&#8217;une méthode qui dit exactement ce qu&#8217;elle fait</div>
<pre class="brush: java;">
 if (position == 0) {
  insertImage(lv);
}
</pre>
<h2>Paramètres</h2>
<div>Pour chaque méthode, je me suis posé la question : Puis-je remplacer au moins un paramètre par <strong>un attribut de classe</strong>?</div>
<div>Avant : Je passe mon instance de StringBuilder en paramètre de la méthode addLienVideo</div>
<pre class="brush: java;">
for (int i = 0; i w liensVideos.size() &amp;&amp; i &lt; MAX_NUM_LIENS_VIDEO; i++) {
    LienVideo lv = liensVideos.get(i);
    addLienVideo(sb, i, lv);
</pre>
<p>Après : Disparition du paramètre StringBuilder qui rajouté en attribut de classe. J&#8217;en profite pour renommer la méthode en insertLienVideo.</p>
<pre class="brush: java;">
for (int i = 0; i &lt; liensVideos.size() &amp;&amp; i &lt; MAX_NUM_LIENS_VIDEO; i++) {
  insertLienVideo(i, liensVideos.get(i));
}
</pre>
<h2>Classes</h2>
<div>Pour chaque méthode, je me suis posé la question : Serait-elle mieux <strong>dans une autre classe</strong>? Principe de délégation de responsabilités.</div>
<div style="text-align:justify;">Avant : Deux traitements dans deux méthodes différentes de la même classe, une pour récupérer une liste de Result, la deuxième pour transformer la liste de Result en liste de  LienVideo triée.</div>
<pre class="brush: java;">
// recuperation de la liste des contenus depuis la requete VAP
List&lt;Result&gt; liensVideos = (List&lt;Result&gt;) this.pageContext.getAttribute(TagsUtil.RESULTS_PARAM);
if (liensVideos == null) {
  liensVideos = (List&lt;Result&gt;) getPortalContext().getResults();
}
String webTVCode = buildWebTV(liensVideos);&lt;/div&gt;
...
List&lt;LienVideo&gt; liensVideos = LIEN_VIDEO_TRANSFORMER.getLiensVideos(liensVideosResults, getPortalContext());
Collections.sort(liensVideos, LIEN_VIDEO_PRIORITE_DATE_PUBLICATION_COMPARATOR);
</pre>
<div style="text-align:justify;">Après : Création d&#8217;une classe nommée LienVideoService à qui on délègue la récupération des liens vidéos ainsi que le tri par priorité et date de publication, suppression du commentaire car on a désormais un nom de méthode explicite (<strong>findAllSortedByPrioriteAndDatePublication)</strong></div>
<pre class="brush: java;">
List&lt;LienVideo&gt; liensVideos = lienVideoService.findAllSortedByPrioriteAndDatePublication();
String webTVCode = buildWebTV(liensVideos);
...
public List&lt;LienVideo&gt; findAllSortedByPrioriteAndDatePublication() {
   List&lt;Result&gt; liensVideosResults = findAllFromCMS();
   List&lt;LienVideo&gt; liensVideos = LIEN_VIDEO_TRANSFORMER.transform(liensVideosResults);
   Collections.sort(liensVideos, LIEN_VIDEO_PRIORITE_DATE_PUBLICATION_COMPARATOR);
   return liensVideos;
}

private List&lt;Result&gt; findAllFromCMS() {
   List&lt;Result&gt; liensVideosResults = (List&lt;Result&gt;) pageContext.getAttribute(TagsUtil.RESULTS_PARAM);
   if (liensVideosResults == null) {
      liensVideosResults = (List&lt;Result&gt;) portalContext.getResults();
   }
   return liensVideosResults;
}
</pre>
<h2>Ce qui est important</h2>
<p style="text-align:justify;">Ce n&#8217;est pas la liste d&#8217;exemples que j&#8217;ai collés mais plutôt la démarche. Se poser les questions, plusieurs fois au cours du refactoring pour aboutir au final à quelque chose de pas trop mal <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jveille.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jveille.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jveille.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jveille.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jveille.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jveille.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jveille.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jveille.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jveille.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jveille.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jveille.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jveille.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jveille.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jveille.wordpress.com/93/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jveille.wordpress.com&amp;blog=13704941&amp;post=93&amp;subd=jveille&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jveille.wordpress.com/2010/06/02/mieux-coder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/da4083749ea340ee0c2978ed533f0ef8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jveille</media:title>
		</media:content>

		<media:content url="http://jveille.files.wordpress.com/2010/06/cleancode.jpg?w=225" medium="image">
			<media:title type="html">CleanCode</media:title>
		</media:content>
	</item>
		<item>
		<title>10 questions à un indépendant</title>
		<link>http://jveille.wordpress.com/2010/05/30/10-questions-a-un-independant/</link>
		<comments>http://jveille.wordpress.com/2010/05/30/10-questions-a-un-independant/#comments</comments>
		<pubDate>Sun, 30 May 2010 20:26:51 +0000</pubDate>
		<dc:creator>jveille</dc:creator>
				<category><![CDATA[freelance]]></category>
		<category><![CDATA[indépendant]]></category>

		<guid isPermaLink="false">http://jveille.wordpress.com/?p=86</guid>
		<description><![CDATA[Le statut d&#8217;indépendant m&#8217;intéresse de plus en plus et j&#8217;ai posé quelques questions à un ami freelance. Il a rédigé une synthèse de nos échanges par mail et en a fait un billet. Vous pouvez consulter le billet Consultant web en indépendant sur le blog de Jean François Naud. Si vous aussi, vous êtes intéressé par [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jveille.wordpress.com&amp;blog=13704941&amp;post=86&amp;subd=jveille&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Le statut d&#8217;indépendant m&#8217;intéresse de plus en plus et j&#8217;ai posé quelques questions à un ami freelance. Il a rédigé une synthèse de nos échanges par mail et en a fait un billet.</p>
<p style="text-align:justify;">Vous pouvez consulter le billet <a href="http://www.lewebaccessible.com/articles/consultant-web-en-ind-pendant.html">Consultant web en indépendant</a> sur le blog de <a href="http://www.lewebaccessible.com/a-propos.html">Jean François Naud</a>.</p>
<p style="text-align:justify;">Si vous aussi, vous êtes intéressé par le sujet, je vous conseille les épisodes des castcodeurs :</p>
<p style="text-align:justify;"><a href="http://media.libsyn.com/media/lescastcodeurs/LesCastCodeurs-Episode-19.mp3">Les Cast Codeurs Podcast – Episode 19 – Interview independents partie 1 – Mathilde Lemee, Nicolas Martignole</a></p>
<p style="text-align:justify;"><a href="http://media.libsyn.com/media/lescastcodeurs/LesCastCodeurs-Episode-21.mp3">Les Cast Codeurs Podcast – Episode 21 – Interview independents partie 2 – Aucune SSII n’a ete martyrisee pendant l’enregistrement</a></p>
<p style="text-align:justify;">Bonne lecture et bonne écoute.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jveille.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jveille.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jveille.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jveille.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jveille.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jveille.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jveille.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jveille.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jveille.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jveille.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jveille.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jveille.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jveille.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jveille.wordpress.com/86/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jveille.wordpress.com&amp;blog=13704941&amp;post=86&amp;subd=jveille&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jveille.wordpress.com/2010/05/30/10-questions-a-un-independant/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://media.libsyn.com/media/lescastcodeurs/LesCastCodeurs-Episode-19.mp3" length="33858929" type="audio/mpeg" />
<enclosure url="http://media.libsyn.com/media/lescastcodeurs/LesCastCodeurs-Episode-21.mp3" length="37753008" type="audio/mpeg" />
	
		<media:content url="http://1.gravatar.com/avatar/da4083749ea340ee0c2978ed533f0ef8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jveille</media:title>
		</media:content>
	</item>
		<item>
		<title>Bon code vs Mauvais code</title>
		<link>http://jveille.wordpress.com/2010/05/29/bon-code-vs-mauvais-code/</link>
		<comments>http://jveille.wordpress.com/2010/05/29/bon-code-vs-mauvais-code/#comments</comments>
		<pubDate>Sat, 29 May 2010 16:48:07 +0000</pubDate>
		<dc:creator>jveille</dc:creator>
				<category><![CDATA[conférence]]></category>
		<category><![CDATA[bonnes pratiques]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[retour d'expérience]]></category>

		<guid isPermaLink="false">http://jveille.wordpress.com/?p=71</guid>
		<description><![CDATA[On est samedi, il pleut, et pourtant le moral est bon car je viens de visionner la présentation de Robert C. Martin a.k.a Uncle Bob : Bad Code, Craftsmanship, Engineering, and Certification. Robert C. Martin has been a software professional since 1970 and an international software consultant since 1990. He is founder and president of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jveille.wordpress.com&amp;blog=13704941&amp;post=71&amp;subd=jveille&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>On est samedi, il pleut, et pourtant le moral est bon car je viens de visionner la présentation de <strong>Robert C. Martin</strong> a.k.a Uncle Bob : <strong><a href="http://www.infoq.com/presentations/Robert-C.-Martin-Bad-Code" target="_blank">Bad Code, Craftsmanship, Engineering, and Certification</a>.</strong></p>
<blockquote><p><strong>Robert C. Martin</strong> has been a software professional since 1970 and an international software consultant since 1990. He is founder and president of Object Mentor Inc., a team of experienced consultants who mentor their clients worldwide in the fields of C++, Java, OO, Patterns, UML, Agile Methodologies, and Extreme Programming.</p></blockquote>
<p>- Antony : Alors JVeille, de quoi ça parle cette conférence qui t&#8217;a tant enthousiasmé?</p>
<p>- JVeille : Mon cher Antony, dans cette conférence on parle principalement de code, le mauvais code et le bon code. D&#8217;ailleurs, la conférence commence par le mauvais code avec la projection du film suivant (attention les yeux, ça pique) :</p>
<div class='embed-vimeo' style='text-align:center;'><iframe src='http://player.vimeo.com/video/9981123' width='400' height='300' frameborder='0'></iframe></div>
<p><span id="more-71"></span>- Antony : Wahoo mais qu&#8217;est-ce que c&#8217;est?!</p>
<p>- JVeille : C&#8217;est un exemple de la vraie vie comme je les affectionne tant. C&#8217;est un fichier, de plusieurs milliers de lignes de code!!!! Un fichier comme jamais je n&#8217;aimerais en voir de mes propres yeux.</p>
<p>- Antony : Tu m&#8217;ettones, mais alors Uncle Bob, il dit quoi? Il a des solutions pour éviter d&#8217;en arriver là ?</p>
<p>- JVeille : Bien sûr, il a des conseils, des astuces et devine quoi, il nous les donne :</p>
<h3>La règle du boyscout</h3>
<blockquote><p>Lorsque nous ouvrons un fichier de code source, nous devons le laisser plus propre que nous l&#8217;avons trouvé.</p></blockquote>
<p>Si on l&#8217;applique, la qualité du code s&#8217;améliore progressivement.</p>
<h3>Quelle est la taille idéale d&#8217;une méthode?</h3>
<p>La mauvaise réponse selon Uncle Bob est : &laquo;&nbsp;La taille de l&#8217;écran&nbsp;&raquo;. Comprenez par là, autant de ligne que l&#8217;écran peut afficher en une seule fois.</p>
<p>- Antony : Mais alors, qu&#8217;elle est la bonne réponse?</p>
<p>- JVeille: Selon Uncle Bob, tu dois procéder comme suit : Pour chaque méthode, tu dois extraire des portions de code et en créer des méthodes privées, tu recommences l&#8217;opération tant que tu trouves des méthodes à alléger. Tu peux bien sûr t&#8217;aider des options de ton IDE préféré pour le faire.</p>
<p>- Antony : Ah oui j&#8217;utilise Eclipse, je sélectionne quelques lignes de code, clic droit, Refactor, Extract Method &#8230; et dans la fenêtre je mets le nom de la nouvelle méthode, je modifie le nom des paramètres, etc &#8230;</p>
<p>- JVeille : Tu peux aussi faire &laquo;&nbsp;SHIFT+ALT+M&nbsp;&raquo; pour aller plus vite au lieu de prendre ta souris! Et si un jour je t&#8217;enlève ta souris comme le préconise Rosh Osherove, tu feras comment?</p>
<h3>Combien de paramètres pour une méthode?</h3>
<p>Selon Uncle Bob, zéro c&#8217;est le mieux! Plus sérieusement, jusqu&#8217;à 3 ça va, tout dépend du besoin. Par contre, ce qu&#8217;il faut à tout prix éviter c&#8217;est d&#8217;avoir 2 paramètres de type booléen :</p>
<blockquote><p>execute(id, true, false);</p></blockquote>
<p>Va falloir se rappeler que fait le premier booléen et que fait le deuxième.</p>
<h3>Et au sujet des noms de méthodes?</h3>
<p>La règle d&#8217;Uncle Bob est : La longueur du nom d&#8217;une méthode est inversement proportionnelle à sa visibilité.</p>
<p>Plus concrètement, une méthode publique, d&#8217;une classe qui sera manipulée très souvent, doit avoir un nom court : FileOutputStream.<em>close()</em>;</p>
<p>Par contre, une méthode privée, peut très bien avoir un nom long, qui facilite la compréhension et dont l&#8217;utilisation et la visibilité sont limitées : <em>sortObjectsByNameAndDate(objects);</em></p>
<h2><em><span style="font-style:normal;">Mais encore ?</span></em></h2>
<p><em><span style="font-style:normal;">Uncle Bob aborde les thèmes classiques du Test Driven Development, la couverture de code, l&#8217;intégration continue, les revues de pairs.</span></em></p>
<p><em><span style="font-style:normal;">Il projette le <a href="http://manifesto.softwarecraftsmanship.org/" target="_blank">Manifeste de l&#8217;Artisan Développeur</a> :</span></em></p>
<p><em><span style="font-style:normal;"><a href="http://jveille.files.wordpress.com/2010/05/capture-1.png"><img class="aligncenter size-full wp-image-72" title="manifesto" src="http://jveille.files.wordpress.com/2010/05/capture-1.png?w=600&#038;h=603" alt="manifesto" width="600" height="603" /></a></span></em></p>
<p><em><span style="font-style:normal;">Uncle Bob vous fixe comme défi de faire en sorte  que les cellules d&#8217;Assurance Qualité ne trouvent pas de bugs (QA should find nothing!).</span></em></p>
<p><em><span style="font-style:normal;">Pour finir, les thèmes abordés très rapidement car le speaker semblait manquer de temps : </span></em></p>
<p><em><span style="font-style:normal;">Comment convaincre ses collègues? Faites votre travail du mieux que vous pouvez en espérant que vous inspirerez vos collègues à faire de même.</span></em></p>
<p>Comment convaincre son manager? Posez-lui la question suivante : &laquo;&nbsp;Veux-tu qu&#8217;on fasse du bon travail ou du mauvais travail?&nbsp;&raquo;</p>
<p>Raccourcissez les cycles de développement.</p>
<p>Source Code is the design : Oubliez le MDA &amp; l&#8217;UML. Le code source c&#8217;est du texte, s&#8217;il est bien fait, c&#8217;est la meilleure des documentations.</p>
<p>Je vous souhaite un bon visionnage, ça en vaut la peine!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jveille.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jveille.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jveille.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jveille.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jveille.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jveille.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jveille.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jveille.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jveille.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jveille.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jveille.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jveille.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jveille.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jveille.wordpress.com/71/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jveille.wordpress.com&amp;blog=13704941&amp;post=71&amp;subd=jveille&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jveille.wordpress.com/2010/05/29/bon-code-vs-mauvais-code/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/da4083749ea340ee0c2978ed533f0ef8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jveille</media:title>
		</media:content>

		<media:content url="http://jveille.files.wordpress.com/2010/05/capture-1.png" medium="image">
			<media:title type="html">manifesto</media:title>
		</media:content>
	</item>
		<item>
		<title>Conseils sur la gestion d&#8217;équipe</title>
		<link>http://jveille.wordpress.com/2010/05/24/conseils-sur-la-gestion-dequipe/</link>
		<comments>http://jveille.wordpress.com/2010/05/24/conseils-sur-la-gestion-dequipe/#comments</comments>
		<pubDate>Mon, 24 May 2010 15:37:26 +0000</pubDate>
		<dc:creator>jveille</dc:creator>
				<category><![CDATA[organisation]]></category>
		<category><![CDATA[retour d'expérience]]></category>

		<guid isPermaLink="false">http://jveille.wordpress.com/?p=53</guid>
		<description><![CDATA[Hier soir, soirée cinéma InfoQ. Je regardais la vidéo intitulée Code Leaders and Beautiful Teams. C&#8217;est une présentation animé par Roy Osherove. Je conseille cette présentation aux chefs de projets junior comme moi, à ceux qui ont peu d&#8217;expérience et qui sont à la recherche de conseils et d&#8217;astuces pour bien démarrer. Roy Osherove revient [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jveille.wordpress.com&amp;blog=13704941&amp;post=53&amp;subd=jveille&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Hier soir, soirée cinéma InfoQ. Je regardais la vidéo intitulée <a href="http://www.infoq.com/presentations/Code-Leaders-Beautiful-Teams" target="_blank">Code Leaders and Beautiful Teams</a>. C&#8217;est une présentation animé par Roy Osherove.</p>
<p style="text-align:justify;">Je conseille cette présentation aux chefs de projets junior comme moi, à ceux qui ont peu d&#8217;expérience et qui sont à la recherche de conseils et d&#8217;astuces pour bien démarrer. Roy Osherove revient sur les réussites et les échecs de sa vie professionnelle. Il parle notamment de la fois où il avait été recruté par une société qui lui avait confié un problème à résoudre. Pendant des semaines il est resté bloqué dessus, sans avertir ses responsables ou les membres de son équipe. Un jour, il est s&#8217;est fait porter pâle et les gars de son équipe ont réussi en très peu de temps à trouver une solution. L&#8217;égo de Roy en a pris un coup, il s&#8217;est fait virer &#8230;</p>
<p style="text-align:justify;">Pouor éviter d&#8217;en arriver là, Roy Osherove distille son savoir, son approche pragmatique à travers différents slides et anecdotes issues du terrain.</p>
<p style="text-align:justify;">Deux slides m&#8217;ont marqué particulièrement. Le premier est tellement bien fait :</p>
<p><a href="http://jveille.files.wordpress.com/2010/05/layer.png"><img class="aligncenter size-full wp-image-55" title="layer" src="http://jveille.files.wordpress.com/2010/05/layer.png?w=600&#038;h=449" alt="" width="600" height="449" /></a></p>
<p style="text-align:justify;">Le deuxième est une liste de questions à se poser ou à poser à l&#8217;équipe tous les jours ou une fois par semaine :</p>
<p><a href="http://jveille.files.wordpress.com/2010/05/list.png"><img class="aligncenter size-full wp-image-56" title="list" src="http://jveille.files.wordpress.com/2010/05/list.png?w=600&#038;h=454" alt="" width="600" height="454" /></a></p>
<p style="text-align:justify;">Dans la présentation, vous verrez également qu&#8217;on parle de Kanban, de tests unitaires, de programmation par binôme, de revue de code, etc.</p>
<p style="text-align:justify;">Et en bonus final &#8230; vous aurez droit à une chanson des Guns n Roses revisitée et adaptée par le speaker &#8230;</p>
<p style="text-align:justify;">Bon visionnage !</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jveille.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jveille.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jveille.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jveille.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jveille.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jveille.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jveille.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jveille.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jveille.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jveille.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jveille.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jveille.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jveille.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jveille.wordpress.com/53/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jveille.wordpress.com&amp;blog=13704941&amp;post=53&amp;subd=jveille&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jveille.wordpress.com/2010/05/24/conseils-sur-la-gestion-dequipe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/da4083749ea340ee0c2978ed533f0ef8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jveille</media:title>
		</media:content>

		<media:content url="http://jveille.files.wordpress.com/2010/05/layer.png" medium="image">
			<media:title type="html">layer</media:title>
		</media:content>

		<media:content url="http://jveille.files.wordpress.com/2010/05/list.png" medium="image">
			<media:title type="html">list</media:title>
		</media:content>
	</item>
		<item>
		<title>Diagrammes de séquences UML online!</title>
		<link>http://jveille.wordpress.com/2010/05/23/diagrammes-de-sequences-uml-online/</link>
		<comments>http://jveille.wordpress.com/2010/05/23/diagrammes-de-sequences-uml-online/#comments</comments>
		<pubDate>Sun, 23 May 2010 18:03:32 +0000</pubDate>
		<dc:creator>jveille</dc:creator>
				<category><![CDATA[outil]]></category>
		<category><![CDATA[UML]]></category>

		<guid isPermaLink="false">http://jveille.wordpress.com/?p=48</guid>
		<description><![CDATA[- Hey JVeille, t&#8217;as pas une licence pour UML Designer Pro 2015 ? - Heu non, et pourquoi faire d&#8217;abord? - Je dois faire des diagrammes de séquences rapidement pour un document technique! - Dans ce cas, pourquoi tu n&#8217;utiliserais pas un outil simple, gratuit et accessible à tous? - Heu, du genre MS Paint [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jveille.wordpress.com&amp;blog=13704941&amp;post=48&amp;subd=jveille&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>- Hey JVeille, t&#8217;as pas une licence pour UML Designer Pro 2015 ?</p>
<p>- Heu non, et pourquoi faire d&#8217;abord?</p>
<p>- Je dois faire des diagrammes de séquences rapidement pour un document technique!</p>
<p>- Dans ce cas, pourquoi tu n&#8217;utiliserais pas un outil simple, gratuit et accessible à tous?</p>
<p>- Heu, du genre MS Paint ?</p>
<p>- Non, je te parle de l&#8217;outil en ligne <strong>WebSequenceDiagrams</strong>, il est accessible ici : <a href="http://www.websequencediagrams.com/">http://www.websequencediagrams.com/</a></p>
<p><span id="more-48"></span></p>
<p>Web Sequence Diagrams est une application qui vous permet très rapidement de générer un diagramme de séquences à partir d&#8217;un texte basique.</p>
<p>Dans le formulaire, vous tapez par exemple</p>
<blockquote>
<div id="_mcePaste">Alice-&gt;Bob: Authentication Request</div>
<div id="_mcePaste">note right of Bob: Bob thinks about it.</div>
<div id="_mcePaste">Bob&#8211;&gt;Alice: Authentication Response</div>
</blockquote>
<p>En cliquant sur le bouton Draw vous obtenez le diagramme de séquences suivant :</p>
<p><img class="aligncenter" title="UMLExemple1" src="http://www.websequencediagrams.com/cgi-bin/cdraw?lz=QWxpY2UtPkJvYjogQXV0aGVudGljYXRpb24gUmVxdWVzdApub3RlIHJpZ2h0IG9mIAAlBUJvYiB0aGlua3MgYWJvdXQgaXQuCkJvYi0tPgBMBQA5E3Nwb25zZQ&amp;s=default" alt="UMLExemple1" width="375" height="220" />- Sympa non?</p>
<p>- Oh oui JVeille, ça à l&#8217;air bien. On peut faire quoi d&#8217;autres? On peut modéliser les boucles et les conditions?</p>
<p>- Oui oui, une fois la syntaxe maitrisée on peut obtenir ce genre de choses :</p>
<p style="text-align:center;"><img class="alignnone" title="UmlExample2" src="http://www.websequencediagrams.com/cgi-bin/cdraw?lz=YWx0IHRleHQxCiAgICBBLT5COgALBQplbHNlABUFMgAJEW5kCg&amp;s=default" alt="UmlExample2" width="161" height="282" /><img class="alignnone" title="UmlExample3" src="http://www.websequencediagrams.com/cgi-bin/cdraw?lz=b3B0IHRleHQKICAgIEEtPkI6AAkGZW5kCg&amp;s=default" alt="UmlExample4" width="161" height="202" /><img class="alignnone" title="UmlExample4" src="http://www.websequencediagrams.com/cgi-bin/cdraw?lz=bG9vcCB0ZXh0CiAgICBBLT5COgAJBmVuZAo&amp;s=default" alt="UmlExample4" width="161" height="202" /></p>
<p style="text-align:center;">
<p>On peut bien sûr combiner le tout et faire des diagrammes plus complexes :</p>
<blockquote><p>A-&gt;B:run()</p>
<p>B-&gt;C:execute()</p>
<p>alt condition == TRUE</p>
<p>C-&gt;D: method1();</p>
<p>else condition == FALSE</p>
<p>C-&gt;E: method2();</p>
<p>end</p>
<p>C-&gt;B:List &lt;Item&gt; items</p>
<p>loop for each item in items</p>
<p>B-&gt;B: process(item)</p>
<p>end</p>
<p>B-&gt;A:cleanup()</p></blockquote>
<p>Et on peut même changer le style graphique</p>
<p style="text-align:center;"><img class="aligncenter" title="ExampleUmlComplexe1" src="http://www.websequencediagrams.com/cgi-bin/cdraw?lz=QS0-QjpydW4oKQpCLT5DOmV4ZWN1dGUoKQphbHQgY29uZGl0aW9uID09IFRSVUUKICAgIEMtPkQ6IG1ldGhvZDEoKTsKZWxzZQAeDkZBTFMAJAlFACUIMgAoBW5kCkMtPkI6TGlzdCA8SXRlbT4gaXRlbXMKbG9vcCBmb3IgZWFjaAAPBSBpbgAVByAgICBCLT5COiBwcm9jZXNzKGl0ZW0pAEoFQi0-QTpjbGVhbnVwKCkKCg&amp;s=napkin" alt="ExampleUmlComplexe1" width="501" height="534" /><img class="aligncenter" title="ExampleComplexe2" src="http://www.websequencediagrams.com/cgi-bin/cdraw?lz=QS0-QjpydW4oKQpCLT5DOmV4ZWN1dGUoKQphbHQgY29uZGl0aW9uID09IFRSVUUKICAgIEMtPkQ6IG1ldGhvZDEoKTsKZWxzZQAeDkZBTFMAJAlFACUIMgAoBW5kCkMtPkI6TGlzdCA8SXRlbT4gaXRlbXMKbG9vcCBmb3IgZWFjaAAPBSBpbgAVByAgICBCLT5COiBwcm9jZXNzKGl0ZW0pAEoFQi0-QTpjbGVhbnVwKCkKCg&amp;s=rose" alt="ExampleComplexe2" width="428" height="413" /></p>
<p style="text-align:center;"><img class="alignnone" title="ExampleComplexe3" src="http://www.websequencediagrams.com/cgi-bin/cdraw?lz=QS0-QjpydW4oKQpCLT5DOmV4ZWN1dGUoKQphbHQgY29uZGl0aW9uID09IFRSVUUKICAgIEMtPkQ6IG1ldGhvZDEoKTsKZWxzZQAeDkZBTFMAJAlFACUIMgAoBW5kCkMtPkI6TGlzdCA8SXRlbT4gaXRlbXMKbG9vcCBmb3IgZWFjaAAPBSBpbgAVByAgICBCLT5COiBwcm9jZXNzKGl0ZW0pAEoFQi0-QTpjbGVhbnVwKCkKCg&amp;s=earth" alt="ExampleComplexe3" width="462" height="445" /></p>
<p style="text-align:justify;">Voilà mon cher Antony, j&#8217;espère que ce site répondra à tes besoins!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jveille.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jveille.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jveille.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jveille.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jveille.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jveille.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jveille.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jveille.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jveille.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jveille.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jveille.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jveille.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jveille.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jveille.wordpress.com/48/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jveille.wordpress.com&amp;blog=13704941&amp;post=48&amp;subd=jveille&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jveille.wordpress.com/2010/05/23/diagrammes-de-sequences-uml-online/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/da4083749ea340ee0c2978ed533f0ef8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jveille</media:title>
		</media:content>

		<media:content url="http://www.websequencediagrams.com/cgi-bin/cdraw?lz=QWxpY2UtPkJvYjogQXV0aGVudGljYXRpb24gUmVxdWVzdApub3RlIHJpZ2h0IG9mIAAlBUJvYiB0aGlua3MgYWJvdXQgaXQuCkJvYi0tPgBMBQA5E3Nwb25zZQ&#38;s=default" medium="image">
			<media:title type="html">UMLExemple1</media:title>
		</media:content>

		<media:content url="http://www.websequencediagrams.com/cgi-bin/cdraw?lz=YWx0IHRleHQxCiAgICBBLT5COgALBQplbHNlABUFMgAJEW5kCg&#38;s=default" medium="image">
			<media:title type="html">UmlExample2</media:title>
		</media:content>

		<media:content url="http://www.websequencediagrams.com/cgi-bin/cdraw?lz=b3B0IHRleHQKICAgIEEtPkI6AAkGZW5kCg&#38;s=default" medium="image">
			<media:title type="html">UmlExample3</media:title>
		</media:content>

		<media:content url="http://www.websequencediagrams.com/cgi-bin/cdraw?lz=bG9vcCB0ZXh0CiAgICBBLT5COgAJBmVuZAo&#38;s=default" medium="image">
			<media:title type="html">UmlExample4</media:title>
		</media:content>

		<media:content url="http://www.websequencediagrams.com/cgi-bin/cdraw?lz=QS0-QjpydW4oKQpCLT5DOmV4ZWN1dGUoKQphbHQgY29uZGl0aW9uID09IFRSVUUKICAgIEMtPkQ6IG1ldGhvZDEoKTsKZWxzZQAeDkZBTFMAJAlFACUIMgAoBW5kCkMtPkI6TGlzdCA8SXRlbT4gaXRlbXMKbG9vcCBmb3IgZWFjaAAPBSBpbgAVByAgICBCLT5COiBwcm9jZXNzKGl0ZW0pAEoFQi0-QTpjbGVhbnVwKCkKCg&#38;s=napkin" medium="image">
			<media:title type="html">ExampleUmlComplexe1</media:title>
		</media:content>

		<media:content url="http://www.websequencediagrams.com/cgi-bin/cdraw?lz=QS0-QjpydW4oKQpCLT5DOmV4ZWN1dGUoKQphbHQgY29uZGl0aW9uID09IFRSVUUKICAgIEMtPkQ6IG1ldGhvZDEoKTsKZWxzZQAeDkZBTFMAJAlFACUIMgAoBW5kCkMtPkI6TGlzdCA8SXRlbT4gaXRlbXMKbG9vcCBmb3IgZWFjaAAPBSBpbgAVByAgICBCLT5COiBwcm9jZXNzKGl0ZW0pAEoFQi0-QTpjbGVhbnVwKCkKCg&#38;s=rose" medium="image">
			<media:title type="html">ExampleComplexe2</media:title>
		</media:content>

		<media:content url="http://www.websequencediagrams.com/cgi-bin/cdraw?lz=QS0-QjpydW4oKQpCLT5DOmV4ZWN1dGUoKQphbHQgY29uZGl0aW9uID09IFRSVUUKICAgIEMtPkQ6IG1ldGhvZDEoKTsKZWxzZQAeDkZBTFMAJAlFACUIMgAoBW5kCkMtPkI6TGlzdCA8SXRlbT4gaXRlbXMKbG9vcCBmb3IgZWFjaAAPBSBpbgAVByAgICBCLT5COiBwcm9jZXNzKGl0ZW0pAEoFQi0-QTpjbGVhbnVwKCkKCg&#38;s=earth" medium="image">
			<media:title type="html">ExampleComplexe3</media:title>
		</media:content>
	</item>
		<item>
		<title>Google I/O 2010 &#8211; Keynote Day 2 Android</title>
		<link>http://jveille.wordpress.com/2010/05/23/google-io-2010-keynote-day-2-android/</link>
		<comments>http://jveille.wordpress.com/2010/05/23/google-io-2010-keynote-day-2-android/#comments</comments>
		<pubDate>Sun, 23 May 2010 09:40:21 +0000</pubDate>
		<dc:creator>jveille</dc:creator>
				<category><![CDATA[conférence]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[google io]]></category>

		<guid isPermaLink="false">http://jveille.wordpress.com/?p=34</guid>
		<description><![CDATA[La deuxième Keynote de Google I/O concernant la nouvelle version d&#8217;Android 2.2 : Froyo. Vic Gundotra Vice-President of Engineering @Google revient sur les mois précédents et donne quelques chiffres sur Android (nombre de terminaux, le nombre de ventes quotidiennes, &#8230;) Les sujets abordés dans cette keynote sont nombreux, elle est constituée d&#8217;annonces, de démo live, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jveille.wordpress.com&amp;blog=13704941&amp;post=34&amp;subd=jveille&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">La deuxième Keynote de Google I/O concernant la nouvelle version d&#8217;Android 2.2 : <strong>Froyo</strong>.</p>
<p style="text-align:justify;">Vic Gundotra Vice-President of Engineering @Google revient sur les mois précédents et donne quelques chiffres sur Android (nombre de terminaux, le nombre de ventes quotidiennes, &#8230;)</p>
<p style="text-align:justify;">Les sujets abordés dans cette keynote sont nombreux, elle est constituée d&#8217;annonces, de démo live, et de comparaison entre un terminal Android 2.1, un terminal Android 2.2 et un iPad.</p>
<p style="text-align:justify;">Alors en en gros voilà de quoi on parle :</p>
<p style="text-align:justify;"><strong>Dalvik</strong> est la machine virtuelle embarquée dans les terminaux Android. Froyo serait désormais beaucoup plus rapide grâce au JIT (Just In Time) Compiler. L&#8217;annonce est suivie d&#8217;une démonstration sur le bench Replica Island. On voit qu&#8217;un terminal 2.1 ne tient pas la comparaison avec un terminal 2.2.</p>
<p style="text-align:justify;">La <strong>Data Backup API</strong> permettra de pouvoir exporter les données personnelles d&#8217;une application lorsque l&#8217;on est amené à changer de mobile.</p>
<p style="text-align:justify;">La <strong>Cloud to Device Message API</strong> permet une meilleure interaction entre des applications Web et votre terminal Android. Par exemple, vous êtes sur votre ordinateur personnel, vous vous créez un itinéraire sous Google Maps et en 1 clic, vous pouvez l&#8217;envoyer à votre mobile Android qui ouvrira directement l&#8217;application Navigation avec ledit itinéraire. Une autre utilité est d&#8217;envoyer directement sur votre mobile la page web que vous étiez en train de lire sur votre ordinateur. Ce ne se sont que des simples exemples mais qui laissent présager de grandes utilisations par la suite.</p>
<p style="text-align:justify;">Le <strong>Tethering &amp; Portable Hotspot</strong> permet de transformer son terminal Android en un point d&#8217;accès Wifi. Il faut le voir comme la possibilité d&#8217;avoir un pont entre votre réseau 3G et des terminaux équipés uniquement d&#8217;une connexion Wifi.</p>
<p style="text-align:justify;">La démonstration est la suivante :</p>
<ol style="text-align:justify;">
<li>Le mobile Android est connecté au réseau 3G, le mode HotSpot Wifi est activé.</li>
<li>On configure un iPAD pour se connecter au Wifi via le modbile Android.</li>
<li>Depuis l&#8217;iPAD on parcourt le catalogue en ligne de l&#8217;Android Market et on demande l&#8217;installation d&#8217;une application.</li>
<li>L&#8217;installation de l&#8217;application démarre sur le mobile Android.</li>
<li>La boucle est bouclée!</li>
</ol>
<p style="text-align:justify;">En vracs les autres annonces : plus d&#8217;intéractions entre les composants comme la boussole, la caméra, le microphone; une reconnaissance vocale améliorée et des applications vraiment utiles; compatibilité Flash dans le navigateur; installation des applications sur la carte SD; mise à jour des applications automatiquement; un crash report intégré au market; de plus grandes possibilités pour contextualiser les publicités; &#8230;</p>
<p style="text-align:justify;">Je vous laisse découvrir tout ça dans la vidéo de la Keynote</p>
<p style="text-align:justify;"><span style="text-align:center; display: block;"><a href="http://jveille.wordpress.com/2010/05/23/google-io-2010-keynote-day-2-android/"><img src="http://img.youtube.com/vi/IY3U2GXhz44/2.jpg" alt="" /></a></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jveille.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jveille.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jveille.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jveille.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jveille.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jveille.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jveille.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jveille.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jveille.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jveille.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jveille.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jveille.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jveille.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jveille.wordpress.com/34/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jveille.wordpress.com&amp;blog=13704941&amp;post=34&amp;subd=jveille&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jveille.wordpress.com/2010/05/23/google-io-2010-keynote-day-2-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/da4083749ea340ee0c2978ed533f0ef8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jveille</media:title>
		</media:content>
	</item>
		<item>
		<title>Google I/O 2010 – Keynote Day 1</title>
		<link>http://jveille.wordpress.com/2010/05/23/google-io-2010-%e2%80%93-keynote-day-1/</link>
		<comments>http://jveille.wordpress.com/2010/05/23/google-io-2010-%e2%80%93-keynote-day-1/#comments</comments>
		<pubDate>Sun, 23 May 2010 09:13:11 +0000</pubDate>
		<dc:creator>jveille</dc:creator>
				<category><![CDATA[conférence]]></category>
		<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[WebM]]></category>

		<guid isPermaLink="false">http://jveille.wordpress.com/?p=36</guid>
		<description><![CDATA[Google I/O est une conférence organisée sur 2 jours pour mettre en avant les nouveautés technologiques portées par Google. Voici les sujets abordés lors de la première Keynote : HTML 5 WebM Web Store Chrome Google Wave GWT Google App Engine Il y a également une présentation d&#8217;un prototype de magazine tirant partie des possibilités [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jveille.wordpress.com&amp;blog=13704941&amp;post=36&amp;subd=jveille&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Google I/O est une conférence organisée sur 2 jours pour mettre en avant les nouveautés technologiques portées par Google.</p>
<p>Voici les sujets abordés lors de la première Keynote :</p>
<ul>
<li>HTML 5</li>
<li> WebM</li>
<li>Web Store Chrome</li>
<li>Google Wave</li>
<li>GWT</li>
<li>Google App Engine</li>
</ul>
<p>Il y a également une présentation d&#8217;un prototype de magazine tirant partie des possibilités offertes par les tablettes graphiques. C&#8217;est assez impressionnant.</p>
<p>Bon visionnage.</p>
<span style="text-align:center; display: block;"><a href="http://jveille.wordpress.com/2010/05/23/google-io-2010-%e2%80%93-keynote-day-1/"><img src="http://img.youtube.com/vi/a46hJYtsP-8/2.jpg" alt="" /></a></span>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jveille.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jveille.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jveille.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jveille.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jveille.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jveille.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jveille.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jveille.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jveille.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jveille.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jveille.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jveille.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jveille.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jveille.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jveille.wordpress.com&amp;blog=13704941&amp;post=36&amp;subd=jveille&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jveille.wordpress.com/2010/05/23/google-io-2010-%e2%80%93-keynote-day-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/da4083749ea340ee0c2978ed533f0ef8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jveille</media:title>
		</media:content>
	</item>
	</channel>
</rss>
