<?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:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Petit-teckel sur wordpress</title>
	<atom:link href="http://petitteckel.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://petitteckel.wordpress.com</link>
	<description>Discussions sur l'informatique, l'apprentissage des langues et les teckels...</description>
	<lastBuildDate>Sat, 31 Oct 2009 19:25:42 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='petitteckel.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/0bda7ea1f5cb49f4708d5b27d1eb9f1a?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Petit-teckel sur wordpress</title>
		<link>http://petitteckel.wordpress.com</link>
	</image>
			<item>
		<title>Rapprochement entre WebDriver et Selenium</title>
		<link>http://petitteckel.wordpress.com/2009/10/31/rapprochement-entre-webdriver-et-selenium/</link>
		<comments>http://petitteckel.wordpress.com/2009/10/31/rapprochement-entre-webdriver-et-selenium/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 19:25:42 +0000</pubDate>
		<dc:creator>petitteckel</dc:creator>
				<category><![CDATA[JEE5]]></category>
		<category><![CDATA[Les navigateurs web]]></category>

		<guid isPermaLink="false">http://petitteckel.wordpress.com/?p=270</guid>
		<description><![CDATA[Webdriver et Seleniumhq sont des outils de tests des applications web. Au départ webdriver est projet hébergé dans Google code.
Depuis le septembre, les deux projets se sont rapprochés et les jars les plus récents de WebDriver sont maintenant disponibles sur le site « Open QA ». Selenium RC (Remote Control) permet de piloter des navigateurs Web et [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=petitteckel.wordpress.com&blog=506261&post=270&subd=petitteckel&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://code.google.com/p/webdriver/">Webdriver</a> et <a href="http://seleniumhq.org/">Seleniumhq</a> sont des outils de tests des applications web. Au départ webdriver est projet hébergé dans <a href="http://code.google.com">Google code</a>.</p>
<p>Depuis le septembre, les deux projets se sont rapprochés et les jars les plus récents de WebDriver sont maintenant disponibles sur le site « Open QA ». Selenium RC (Remote Control) permet de piloter des navigateurs Web et l&#8217;API peut être utilisée avec de nombreux langages dont Java. WebDriver est une API de haut niveau qui permet soit de piloter des navigateurs soit d&#8217;utiliser une API de plus bas niveau HtmlUnit permettant de simuler un navigateur Web. Ce qui permet soit de jouer les test dans un vrai navigateur soit de les jouer sans aucune interface. Ce dernier cas est intéressant dans le cadre d&#8217;une intégration continue. Une autre particularité de WebDriver est la volonté de fournir une API simple. Le projet n&#8217;est cependant pas encore tout à fait mature, ce qui est compréhensible puisqu&#8217;il a commencé en mars 2008.</p>
<p>Pour l&#8217;instant pour mes projets, je continue à utiliser JwebUnit qui finalement est assez proche dans ses principes à WebDriver. Mais je pense à l&#8217;avenir que WebDriver / Selenium est une alternative valable.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/petitteckel.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/petitteckel.wordpress.com/270/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/petitteckel.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/petitteckel.wordpress.com/270/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/petitteckel.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/petitteckel.wordpress.com/270/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/petitteckel.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/petitteckel.wordpress.com/270/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/petitteckel.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/petitteckel.wordpress.com/270/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=petitteckel.wordpress.com&blog=506261&post=270&subd=petitteckel&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://petitteckel.wordpress.com/2009/10/31/rapprochement-entre-webdriver-et-selenium/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b1ccaa31e6405afca79b6836073005d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">petitteckel</media:title>
		</media:content>
	</item>
		<item>
		<title>EJB3Unit extension de JUnit pour les applications EJB3/JPA</title>
		<link>http://petitteckel.wordpress.com/2009/09/27/ejb3unit-extension-de-junit-pour-les-applications-ejb3jpa/</link>
		<comments>http://petitteckel.wordpress.com/2009/09/27/ejb3unit-extension-de-junit-pour-les-applications-ejb3jpa/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 18:55:01 +0000</pubDate>
		<dc:creator>petitteckel</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[JEE5]]></category>

		<guid isPermaLink="false">http://petitteckel.wordpress.com/?p=268</guid>
		<description><![CDATA[Je me suis posé à nouveau le problème des tests unitaires dans le cadre d&#8217;applications EJB3/JPA, en fait deux applications. Ces applications contiennent grossièrement trois couches. La couche externe est un ensemble de stateless session beans. La couche intermédiaire sont des « queries », ce sont des stateless session beans simples effectuant des recherches dans la base [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=petitteckel.wordpress.com&blog=506261&post=268&subd=petitteckel&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Je me suis posé à nouveau le problème des tests unitaires dans le cadre d&#8217;applications EJB3/JPA, en fait deux applications. Ces applications contiennent grossièrement trois couches. La couche externe est un ensemble de stateless session beans. La couche intermédiaire sont des « queries », ce sont des stateless session beans simples effectuant des recherches dans la base de donnés. Enfin la dernière couche sont les entités des objet persistants contenant du métier. </p>
<p>La particularité de mes applications est bien que le métier se trouve essentiellement dans les entités et non dans les sessions beans qui eux effectue des tâches essentiellement techniques comme la gestion de la transactions. Attention, JPA est un peu limité par rapport à Hibernate et certains traitements doivent être placés au niveau des session beans.</p>
<p>Autre point important dans l&#8217;architecture est de respecter le principe suivant : statefull session beans &gt; stateless session beans &gt; entities. Ce qui signifie qu&#8217;un statefull session bean peut appeler des statefull session beans, des stateless session beans et des entités. Un stateless session bean peut appeler des stateless session beans et des entités, mais jamais de statefull session beans. Enfin, une entité ne peut appeler que des entités.</p>
<p>Ce dernier point rend les entités complètement indépendantes de JPA. Il est donc possible de faire les tests unitaires sans se préoccuper de la partie persistance. Ce qui renforce l&#8217;impression de framework « transparent » pour JPA. </p>
<p>Tester les queries et les session beans est plus complexe. Pour ces dernier, il faut un conteneur EJB3. J&#8217;utilise OpenEJB qui permet d&#8217;avoir un conteneur simple à utiliser lors de mes test. Enfin, il faut des donnés de tests. Actuellement, j&#8217;utilise des scripts SQL pour initier des donnés de test pour les queries. Enfin pour les session beans, j&#8217;utilise des méthodes qui alimentent la base de données. Ce dernier point peut devenir très lourds pour les session beans gérant les entités les plus complexes.</p>
<p>Ce principes d&#8217;écriture des tests unitaires fonctionnaient à près bien sans être tout à fait satisfaisant, au moins pour ma première application. En effet la base de données après les tests est polluée par les données de test introduites. Cependant, ceci devient ingérable pour ma seconde application, soit trop complexe, soit mal écrite&#8230;</p>
<p>J&#8217;ai appris l&#8217;existence de <a href="http://ejb3unit.sourceforge.net/">EJB3Unit</a> récemment. En fait, cet outil montre quelque chose d&#8217;essentiel. Tout comme les servlets et filtres Java, les session beans sont des objets utilisables uniquement dans un conteneur (de servlets pour les servlets et les filtres). Ils nécessite un framework particulier de test. Pour les servlets, il s&#8217;agit de Cactus, pour les session beans EJB3 se serait EJB3Unit. Par contre du fait de la transparence de la persistance, EJB3Unit n&#8217;a pas d&#8217;intérêt pour les entités. J&#8217;ai bien mis le conditionnel, car ce projet semble abandonné par ces développeur depuis plus d&#8217;un an. Et la dernière version stable est incompatible avec mes applications EJB3.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/petitteckel.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/petitteckel.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/petitteckel.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/petitteckel.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/petitteckel.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/petitteckel.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/petitteckel.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/petitteckel.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/petitteckel.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/petitteckel.wordpress.com/268/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=petitteckel.wordpress.com&blog=506261&post=268&subd=petitteckel&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://petitteckel.wordpress.com/2009/09/27/ejb3unit-extension-de-junit-pour-les-applications-ejb3jpa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b1ccaa31e6405afca79b6836073005d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">petitteckel</media:title>
		</media:content>
	</item>
		<item>
		<title>IETester test sur le site de ie6nomore.com</title>
		<link>http://petitteckel.wordpress.com/2009/08/13/ietester-test-sur-le-site-de-ie6nomore-com/</link>
		<comments>http://petitteckel.wordpress.com/2009/08/13/ietester-test-sur-le-site-de-ie6nomore-com/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 19:53:06 +0000</pubDate>
		<dc:creator>petitteckel</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Les navigateurs web]]></category>

		<guid isPermaLink="false">http://petitteckel.wordpress.com/?p=257</guid>
		<description><![CDATA[Pour compléter ma présentation de IETester, j&#8217;ai fait le test sur le test ie6nomore.com. Ce site est une initiative de nombreux sites web pour inciter à l&#8217;abandon d&#8217;IE6 au profit de navigateurs plus récents et plus respectueux des normes web. En effet, ce navigateur a plus de 8 ans et il devient très coûteux de [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=petitteckel.wordpress.com&blog=506261&post=257&subd=petitteckel&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Pour compléter ma présentation de IETester, j&#8217;ai fait le test sur le test <a href="http://www.ie6nomore.com">ie6nomore.com</a>. Ce site est une initiative de nombreux sites web pour inciter à l&#8217;abandon d&#8217;IE6 au profit de navigateurs plus récents et plus respectueux des normes web. En effet, ce navigateur a plus de 8 ans et il devient très coûteux de maintenir une compatibilité des sites web pour ce navigateur.</p>
<p>Le site <a href="http://www.w3schools.com/">w3schools</a> fournit <a href="http://www.w3schools.com/browsers/browsers_stats.asp">des statistiques</a> montrant que IE6 représentait en juillet 2009 encore 14,4% de part de marché. Avec le rythme actuel de baisse, il pourrait encore survivre plus de deux ans. Je pense que les derniers utilisateurs sont surtout dans des entreprises qui bloquent la migration d&#8217;IE.</p>
<p>Ce site propose un petit morceau de code à insérer dans les sites web pour avertir les utilisateurs. Ce code utilise simplement une fonctionnalité propriétaire de IE qui est le commentaire conditionnel Html.</p>
<p><code>&lt;!--[if lt IE 7]&gt; Affiché si la version d'IE inférieure strictement à 7...&lt;![endif]--&gt;</code></p>
<p>IETester passe avec succès ce test. Les simulations d&#8217;IE5.5 et 6 affichent le message d&#8217;avertissement tandis que celles de IE7 et IE8 ignorent ce message. J&#8217;ai remarqué au passage la lenteur notable de IETester. Alors IETester est-il finalement mort-né ?</p>
<div id="attachment_265" class="wp-caption alignnone" style="width: 160px"><img src="http://petitteckel.files.wordpress.com/2009/08/ienomore.jpg?w=150&#038;h=114" alt="IETester et ienomore" title="ienomore" width="150" height="114" class="size-thumbnail wp-image-265" /><p class="wp-caption-text">IETester et ienomore</p></div>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/petitteckel.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/petitteckel.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/petitteckel.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/petitteckel.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/petitteckel.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/petitteckel.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/petitteckel.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/petitteckel.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/petitteckel.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/petitteckel.wordpress.com/257/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=petitteckel.wordpress.com&blog=506261&post=257&subd=petitteckel&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://petitteckel.wordpress.com/2009/08/13/ietester-test-sur-le-site-de-ie6nomore-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b1ccaa31e6405afca79b6836073005d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">petitteckel</media:title>
		</media:content>

		<media:content url="http://petitteckel.files.wordpress.com/2009/08/ienomore.jpg?w=150" medium="image">
			<media:title type="html">ienomore</media:title>
		</media:content>
	</item>
		<item>
		<title>IETester de Debugbar</title>
		<link>http://petitteckel.wordpress.com/2009/08/08/ietester-de-debugbar/</link>
		<comments>http://petitteckel.wordpress.com/2009/08/08/ietester-de-debugbar/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 19:52:01 +0000</pubDate>
		<dc:creator>petitteckel</dc:creator>
				<category><![CDATA[Informatique]]></category>

		<guid isPermaLink="false">http://petitteckel.wordpress.com/?p=247</guid>
		<description><![CDATA[Il vous est sans doute arrivé de pester sur Internet Explorer si vos applications tourne sur des navigateurs web. Une application qui tournait correctement sur IE 6, peut s&#8217;avérer désastreuse sur IE7.
Ce résultat est la conjonction de plusieurs erreurs. D&#8217;une part, le fait que IE soit lié fortement au système d&#8217;exploitation Windows. Ceci rend difficile [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=petitteckel.wordpress.com&blog=506261&post=247&subd=petitteckel&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Il vous est sans doute arrivé de pester sur Internet Explorer si vos applications tourne sur des navigateurs web. Une application qui tournait correctement sur IE 6, peut s&#8217;avérer désastreuse sur IE7.</p>
<p>Ce résultat est la conjonction de plusieurs erreurs. D&#8217;une part, le fait que IE soit lié fortement au système d&#8217;exploitation Windows. Ceci rend difficile la migration vers une version récente du navigateur. D&#8217;autre part, IE est resté pendant longtemps en retard sur les normes web. Enfin, l&#8217;erreur de certains développeurs est faire un développement pour une version précise d&#8217;un navigateur web. Le risque est d&#8217;utiliser des instructions spécifiques à ce navigateur. Alors qu&#8217;une application « standard » se comporte souvent correctement avec la plupart des navigateurs dont IE. Il est parfois nécessaire ensuite de retoucher l&#8217;application si on connaît le ou les navigateurs cibles du client. </p>
<p>Maintenant comment peut-on tester le comportement d&#8217;une application avec les différentes version de IE ? Si vous n&#8217;avez qu&#8217;une machine de test à votre disposition sous Windows, vous ne pouvez faire le test qu&#8217;avec une seule version de IE. IETeste peut (ou pourra) vous résoudre votre problème.</p>
<p><a href="http://www.my-debugbar.com/wiki/IETester/HomePage">IETester</a> est un outil (libre) de la société DebugBar. Cette société se présente comme la spécialiste des outils pour IE. IETester permet de simuler le fonctionnement de IE de la version 5.5 à la version 8 (5.5, 6, 7 et 8). Cet outil est disponible sous Windows uniquement et nécessite une IE. </p>
<p>Pour vérifier le bon fonctionnement de cet outil, j&#8217;ai fait <a href="http://www.webstandards.org/files/acid2/test.html">le test acid2</a>. La simulation de IE 5.5 et 6 donne un résultat lamentable. IE 7 donne un résultat très moyen. Enfin IE8 donne un résultat presque conforme. Ceci semble bien le résultat de la version réelle des navigateurs. J&#8217;ai regardé le test Acid3, je sais des chiffres cela fait toujours plus sérieux. Mais IE même dans sa version 8 est encore trop en retard sur genre de test.</p>
<p><a href="http://petitteckel.files.wordpress.com/2009/08/acid2ie8.jpg"><img src="http://petitteckel.files.wordpress.com/2009/08/acid2ie8.jpg?w=150&#038;h=133" alt="acid2IE8" title="acid2IE8" width="150" height="133" class="alignnone size-thumbnail wp-image-251" /></a></p>
<p><a href="http://petitteckel.files.wordpress.com/2009/08/acid2-ie55.jpg"><img src="http://petitteckel.files.wordpress.com/2009/08/acid2-ie55.jpg?w=150&#038;h=114" alt="acid2-IE55" title="acid2-IE55" width="150" height="114" class="alignnone size-thumbnail wp-image-250" /></a></p>
<p>Même s&#8217;il s&#8217;agit encore d&#8217;une version alpha assez instable avec de nombreuses limitations. Il s&#8217;agit d&#8217;un outil à surveiller de prêt en attendant une version stable.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/petitteckel.wordpress.com/247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/petitteckel.wordpress.com/247/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/petitteckel.wordpress.com/247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/petitteckel.wordpress.com/247/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/petitteckel.wordpress.com/247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/petitteckel.wordpress.com/247/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/petitteckel.wordpress.com/247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/petitteckel.wordpress.com/247/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/petitteckel.wordpress.com/247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/petitteckel.wordpress.com/247/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=petitteckel.wordpress.com&blog=506261&post=247&subd=petitteckel&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://petitteckel.wordpress.com/2009/08/08/ietester-de-debugbar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b1ccaa31e6405afca79b6836073005d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">petitteckel</media:title>
		</media:content>

		<media:content url="http://petitteckel.files.wordpress.com/2009/08/acid2ie8.jpg?w=150" medium="image">
			<media:title type="html">acid2IE8</media:title>
		</media:content>

		<media:content url="http://petitteckel.files.wordpress.com/2009/08/acid2-ie55.jpg?w=150" medium="image">
			<media:title type="html">acid2-IE55</media:title>
		</media:content>
	</item>
		<item>
		<title>Editeur (IDE) pour le langage Java</title>
		<link>http://petitteckel.wordpress.com/2009/02/15/editeur-ide-pour-le-langage-java/</link>
		<comments>http://petitteckel.wordpress.com/2009/02/15/editeur-ide-pour-le-langage-java/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 13:27:08 +0000</pubDate>
		<dc:creator>petitteckel</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Informatique]]></category>

		<guid isPermaLink="false">http://petitteckel.wordpress.com/?p=245</guid>
		<description><![CDATA[Les deux principaux éditeurs (IDE) pour le langage Java sont actuellement NetBeans et Eclipse. Sur le site developpez.com, on trouve des sondages concernant l&#8217;utilisation des IDE Java. Les chiffres de ces dernières années montre qu&#8217;Eclipse domine largement de 55 à 60%. Le second est NetBeans avec une utilisation qui a tendance à croître au fil [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=petitteckel.wordpress.com&blog=506261&post=245&subd=petitteckel&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Les deux principaux éditeurs (IDE) pour le langage Java sont actuellement <a href="http://www.netbeans.org/">NetBeans</a> et <a href="http://www.eclipse.org/">Eclipse</a>. Sur le site <a href="http://www.developpez.com/">developpez.com</a>, on trouve <a href="http://www.developpez.net/forums/d468233/java/edi-outils-java/edi-java-utilisez-2009-a/">des sondages concernant l&#8217;utilisation des IDE Java</a>. Les chiffres de ces dernières années montre qu&#8217;Eclipse domine largement de 55 à 60%. Le second est NetBeans avec une utilisation qui a tendance à croître au fil du temps. Cette année NetBeans représenterait 36%. En dehors de ces deux IDE, il n&#8217;y plus vraiment d&#8217;alternative.</p>
<p>Dans le cadre de mon travail, j&#8217;utilise une version « ancienne » d&#8217;Eclipse. La principale contrainte vient de l&#8217;existence de plugins « maison » que très peu de personnes sont capables de maintenir. Cela ne m&#8217;empêche pas d&#8217;utiliser personnellement Eclipse 4 et de m&#8217;intéresser de près des évolutions de NetBeans. La version de NetBeans actuelle est la 6.5 datant du 19/11/2008. Une version 7.0 est en cours de développement. </p>
<p>Voici, quelques plus de NetBeans. Premièrement, la facilité de création de projet de type « Struts » version 1. Ensuite, il existe un module UML disponible pour NetBeans. Dans la version précédente de NetBeans 6.0, ce module était intégré dans  la version de base. Il faut maintenant le télécharger si on le désire. Il faut aller dans le menu Tools\plugins pour ajouter les plugins désirés. On peut également rapidement le plugin pour le framework Wicket. Mais il manque forcement toujours quelque chose, par exemple je n&#8217;ai pas trouvé de plugin récent pour tapestry.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/petitteckel.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/petitteckel.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/petitteckel.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/petitteckel.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/petitteckel.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/petitteckel.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/petitteckel.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/petitteckel.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/petitteckel.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/petitteckel.wordpress.com/245/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=petitteckel.wordpress.com&blog=506261&post=245&subd=petitteckel&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://petitteckel.wordpress.com/2009/02/15/editeur-ide-pour-le-langage-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b1ccaa31e6405afca79b6836073005d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">petitteckel</media:title>
		</media:content>
	</item>
		<item>
		<title>Quelques journaux ou revues gratuites pour s&#8217;exercer aux langues étrangères à Bruxelles</title>
		<link>http://petitteckel.wordpress.com/2009/02/15/quelques-journaux-ou-revues-gratuites-pour-sexercer-aux-langues-etrangeres-a-bruxelles/</link>
		<comments>http://petitteckel.wordpress.com/2009/02/15/quelques-journaux-ou-revues-gratuites-pour-sexercer-aux-langues-etrangeres-a-bruxelles/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 13:22:50 +0000</pubDate>
		<dc:creator>petitteckel</dc:creator>
				<category><![CDATA[Flandre]]></category>
		<category><![CDATA[Langues]]></category>
		<category><![CDATA[Le néerlandais]]></category>
		<category><![CDATA[l'allemand]]></category>

		<guid isPermaLink="false">http://petitteckel.wordpress.com/?p=243</guid>
		<description><![CDATA[Un petit aller retour en la France et Bruxelles m&#8217;a permis de trouver quelques revues et journaux gratuits permettant de lire dans quelques langues étrangères. 
D&#8217;abord le journal « Flanders Today »  est facilement disponible à Bruxelles. Il s&#8217;agit d&#8217;un journal hebdomadaire en anglais soutenu par le gouvernement flamand. Il est possible de le recevoir gratuitement [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=petitteckel.wordpress.com&blog=506261&post=243&subd=petitteckel&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Un petit aller retour en la France et Bruxelles m&#8217;a permis de trouver quelques revues et journaux gratuits permettant de lire dans quelques langues étrangères. </p>
<p>D&#8217;abord le journal <a href="http://www.flanderstoday.eu">« Flanders Today »</a>  est facilement disponible à Bruxelles. Il s&#8217;agit d&#8217;un journal hebdomadaire en anglais soutenu par le gouvernement flamand. Il est possible de le recevoir gratuitement chez soi pendant un an même hors de la Belgique.</p>
<p>Ensuite <a href="http://www.bdw.be">Brussel Deze Week ou BDW</a> est un journal en néerlandais. Ce journal concerne l&#8217;actualité de Bruxelles. Il est également facilement disponible à Bruxelles. L&#8217;abonnement est gratuit uniquement pour les Bruxellois. Le coût reste cependant modeste pour les autres belges (15 euros par an).</p>
<p>Enfin, je ai trouvé le dernier dans le train. En effet, Thalyscope est un bimenstriel (tous les deux mois) en français, néerlandais, allemand et anglais. La dernière langue peut agacer un peu, depuis quand Thalys désert Londres ? Mais je ne connais pas de revue aussi polyglotte.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/petitteckel.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/petitteckel.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/petitteckel.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/petitteckel.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/petitteckel.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/petitteckel.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/petitteckel.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/petitteckel.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/petitteckel.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/petitteckel.wordpress.com/243/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=petitteckel.wordpress.com&blog=506261&post=243&subd=petitteckel&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://petitteckel.wordpress.com/2009/02/15/quelques-journaux-ou-revues-gratuites-pour-sexercer-aux-langues-etrangeres-a-bruxelles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b1ccaa31e6405afca79b6836073005d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">petitteckel</media:title>
		</media:content>
	</item>
		<item>
		<title>Personnalisation du rapport Maven2 d&#8217;un projet</title>
		<link>http://petitteckel.wordpress.com/2009/01/12/personnalisation-du-rapport-maven2-dun-projet/</link>
		<comments>http://petitteckel.wordpress.com/2009/01/12/personnalisation-du-rapport-maven2-dun-projet/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 22:11:08 +0000</pubDate>
		<dc:creator>petitteckel</dc:creator>
				<category><![CDATA[Informatique]]></category>

		<guid isPermaLink="false">http://petitteckel.wordpress.com/?p=228</guid>
		<description><![CDATA[La commande « mvn site » permet de générer l&#8217;ensemble des rapports dans le répertoire target\site du projet. La page d&#8217;accueil est target\site\index.html. Rappelons que le contenu du répertoire target est généré par Maven. L&#8217;équipe de développement ne doit rien y placer manuellement. Son répertoire de travail est src. Enfin la commande mvn clean détruit le dossier [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=petitteckel.wordpress.com&blog=506261&post=228&subd=petitteckel&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>La commande « mvn site » permet de générer l&#8217;ensemble des rapports dans le répertoire target\site du projet. La page d&#8217;accueil est target\site\index.html. Rappelons que le contenu du répertoire target est généré par Maven. L&#8217;équipe de développement ne doit rien y placer manuellement. Son répertoire de travail est src. Enfin la commande mvn clean détruit le dossier target et son contenu. Cette commande reste utile lorsque Maven commence à avoir quelques problèmes.</p>
<p>Il est possible de configurer l&#8217;apparence du site. Je l&#8217;admet ce n&#8217;est pas fondamentalement important pour un petit projet, ou un petite structure. En plus, cela ajoute des fichiers de configuration. Un principe important de Maven est « convention over configuration ». Suivant ce principe, si une configuration n&#8217;est pas préciser,Maven utilise la convention par défaut. Ceci permet de réduire au maximum les fichiers de configuration au maximum. Notons qu&#8217;il s&#8217;agit un mouvement profond dans les outils de développement (comme Ruby on Rails)</p>
<p>Maintenant une grande organisation désire suivre une convention de présentation. C&#8217;est possible, il suffit d&#8217;ajouter un fichier site.xml dans le répertoire src/site. Il est possible que le dossier « site » n&#8217;existe pas encore. Ceci montre encore la puissance de Maven. Voici un exemple de fichier site.xml.</p>
<p><code><br />
&lt;project&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;body&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;links&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;item name="Apache" href="http://www.apache.org/" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;item name="Maven 2" href="http://maven.apache.org/"/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/links&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;menu ref="reports" /&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/body&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;skin&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;groupId&gt;org.apache.maven.skins&lt;/groupId&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;artifactId&gt;maven-stylus-skin&lt;/artifactId&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;version&gt;1.0.1&lt;/version&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/skin&gt;<br />
&lt;/project&gt;<br />
</code></p>
<p>La partie link permet de créer des liens vers les sites sur l&#8217;entête des pages (en général en haut à droite). Le menu reports crée le menu concernant les différentes métriques et rapports (javadocs, rapport de test, couverture de code) définis dans le noeud reporting du fichier pom.xml. La partie skin du fichier site.xml permet de personnaliser l&#8217;apparence. Il existe sur les dépôts Maven 4 skin :<br />
maven-classic-skin (version 1.0), maven-default-skin (version 1.0), maven-stylus-skin (versions 1.0 et 1.0.1) et maven-application-skin (version 1.0-SNAPSHOT).</p>
<p>Voici des impressions écran du même rapport avec ces 4 skins.</p>
<p><a href="http://petitteckel.files.wordpress.com/2009/01/report-application-skin.jpg"><img src="http://petitteckel.files.wordpress.com/2009/01/report-application-skin.jpg?w=128&#038;h=60" alt="report-application-skin" title="report-application-skin" width="128" height="60" class="alignnone size-thumbnail wp-image-233" /></a></p>
<p><a href="http://petitteckel.files.wordpress.com/2009/01/report-classic-skin.jpg"><img src="http://petitteckel.files.wordpress.com/2009/01/report-classic-skin.jpg?w=128&#038;h=57" alt="report-classic-skin" title="report-classic-skin" width="128" height="57" class="alignnone size-thumbnail wp-image-234" /></a></p>
<p><a href="http://petitteckel.files.wordpress.com/2009/01/report-default-skin1.jpg"><img src="http://petitteckel.files.wordpress.com/2009/01/report-default-skin1.jpg?w=128&#038;h=63" alt="report-default-skin" title="report-default-skin1" width="128" height="63" class="alignnone size-thumbnail wp-image-235" /></a></p>
<p><a href="http://petitteckel.files.wordpress.com/2009/01/report-stylus-skin.jpg"><img src="http://petitteckel.files.wordpress.com/2009/01/report-stylus-skin.jpg?w=128&#038;h=59" alt="report-stylus-skin" title="report-stylus-skin" width="128" height="59" class="alignnone size-thumbnail wp-image-236" /></a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/petitteckel.wordpress.com/228/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/petitteckel.wordpress.com/228/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/petitteckel.wordpress.com/228/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/petitteckel.wordpress.com/228/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/petitteckel.wordpress.com/228/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/petitteckel.wordpress.com/228/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/petitteckel.wordpress.com/228/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/petitteckel.wordpress.com/228/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/petitteckel.wordpress.com/228/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/petitteckel.wordpress.com/228/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=petitteckel.wordpress.com&blog=506261&post=228&subd=petitteckel&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://petitteckel.wordpress.com/2009/01/12/personnalisation-du-rapport-maven2-dun-projet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b1ccaa31e6405afca79b6836073005d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">petitteckel</media:title>
		</media:content>

		<media:content url="http://petitteckel.files.wordpress.com/2009/01/report-application-skin.jpg?w=128" medium="image">
			<media:title type="html">report-application-skin</media:title>
		</media:content>

		<media:content url="http://petitteckel.files.wordpress.com/2009/01/report-classic-skin.jpg?w=128" medium="image">
			<media:title type="html">report-classic-skin</media:title>
		</media:content>

		<media:content url="http://petitteckel.files.wordpress.com/2009/01/report-default-skin1.jpg?w=128" medium="image">
			<media:title type="html">report-default-skin1</media:title>
		</media:content>

		<media:content url="http://petitteckel.files.wordpress.com/2009/01/report-stylus-skin.jpg?w=128" medium="image">
			<media:title type="html">report-stylus-skin</media:title>
		</media:content>
	</item>
		<item>
		<title>Utilisation de Maven2 en tant qu&#8217;outils de génération de rapports</title>
		<link>http://petitteckel.wordpress.com/2009/01/01/utilisation-de-maven2-en-tant-quoutils-de-generation-de-rapports/</link>
		<comments>http://petitteckel.wordpress.com/2009/01/01/utilisation-de-maven2-en-tant-quoutils-de-generation-de-rapports/#comments</comments>
		<pubDate>Thu, 01 Jan 2009 19:40:07 +0000</pubDate>
		<dc:creator>petitteckel</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[JEE5]]></category>

		<guid isPermaLink="false">http://petitteckel.wordpress.com/?p=219</guid>
		<description><![CDATA[Maven2 est un outils fascinant pour les personnes travaillant sur les projets Java. Il permet de gérer en premier les dépendances du projet. Mais il fournit d&#8217;autres fonctionnalités comme la génération de rapports (recherche de bugs, suivi de conventions de code, métriques), ceci en ajoutant quelques lignes de déclaration. En fait il prépare l&#8217;industrialisation des [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=petitteckel.wordpress.com&blog=506261&post=219&subd=petitteckel&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Maven2 est un outils fascinant pour les personnes travaillant sur les projets Java. Il permet de gérer en premier les dépendances du projet. Mais il fournit d&#8217;autres fonctionnalités comme la génération de rapports (recherche de bugs, suivi de conventions de code, métriques), ceci en ajoutant quelques lignes de déclaration. En fait il prépare l&#8217;industrialisation des développements.</p>
<p>Les rapports sont générés suivant le cycle normal de Maven, par la commande : « mvn site:site ». Pour la génération de ces rapports, je conseille fortement d&#8217;utiliser Maven en ligne de commande et non le plugin m2 d&#8217;Eclipse (pour les utilisateurs de cet IDE). En effet, il existe trop de petits bugs dans ces plugins Maven pour Eclipse. Le rapport par défaut prévoit plusieurs informations de bon sens (about, project license, project team) qu&#8217;il est possible de renseigner dans le fichier pom.xml du projet.</p>
<p>Il est possible d&#8217;ajouter des plugins pour obtenir des rapport supplémentaires. Ceci se fait dans le noeud « reporting » du fichier pom.xml. Le plugin proviennent essentiellement du projet <a href="http://maven.apache.org/plugins/index.html">maven lui-même</a> ou du projet <a href="http://mojo.codehaus.org/plugins.html">mojo.codehaus.org</a>. La déclaration est très simple en général, il suffit d&#8217;indiquer le groupId et l&#8217;artifactId du plugin. Les maniaques peuvent ajouter le numéro de version. Cette simplicité contraste avec le travail fait avec Ant.</p>
<p>Les premiers plugins que je propose d&#8217;utiliser sont en fait des plugins simples qui ne correspondent pas vraiment à des rapports classiques mais à des outils plus généraux. Le premier jxr (ou Xref) met simplement sous forme HTML le code source et celui des tests unitaires. Ce code source sera utilisé par d&#8217;autres plugins pour indiquer explicitement les lignes de code en problème. Ainsi, si un plugin (comme checkstyle) dit que telle ligne de code de telle classe ne respecte pas une convention de code, il est toujours plus agréable d&#8217;avoir un lien sur la ligne en question. La déclaration de ce plugin dans la partie reporting est :</p>
<p><code><br />
&lt;plugin&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;artifactId&gt;maven-jxr-plugin&lt;/artifactId&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;version&gt;2.1&lt;/version&gt;<br />
&lt;/plugin&gt;<br />
</code></p>
<p>Le second plugin est celui qui génère la javaDocs. Il est vrai que le format de la javaDocs est un peu vieillot mais il est largement utilisé dans les projets Java. Ensuite Eclipse permet de générer cette javaDocs, mais l&#8217;avantage de l&#8217;automatisation et l&#8217;intégration dans les rapports.</p>
<p><code><br />
&lt;plugin&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;version&gt;2.5&lt;/version&gt;<br />
&lt;/plugin&gt;<br />
</code></p>
<p>Le troisième est également un plugin « simple ». Il s&#8217;agit de Surefire qui génère un rapport des tests unitaires dans le cadre des frameworks JUnit ou TestNG. L&#8217;écriture des tests unitaires est un point important pour un développement de qualité. Il faut cependant admettre qu&#8217;avoir le bon niveau de test n&#8217;est pas évident. Un détail important Maven ne semble pas exécuter les tests unitaires pour JUnit dans le même ordre que le plugin JUnit pour Eclipse. En soit, c&#8217;est une bonne chose, car les tests unitaires doivent être indépendants les uns des autres.</p>
<p><code><br />
&lt;plugin&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;artifactId&gt;maven-surefire-report-plugin&lt;/artifactId&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;version&gt;2.4.3&lt;/version&gt;<br />
&lt;/plugin&gt;<br />
</code></p>
<p>Le quatrième plugin que je propose analyse le code, de manière simple. Il s&#8217;agit de taglist. Il va repérer les tags //TODO ou @todo laissés dans le code. Il est possible d&#8217;ajouter d&#8217;autres tags (par exemple @deprecated ou //FIXME) en configurant le plugin. Un conseil en passant, les //TODO sont généralement créés par les générateurs de code. Je ne les efface pas mais je remplace par des //DONE. Dans l&#8217;exemple suivant je configure explicitement 4 tags</p>
<p><code><br />
&lt;plugin&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;groupId&gt;org.codehaus.mojo&lt;/groupId&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;artifactId&gt;taglist-maven-plugin&lt;/artifactId&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;version&gt;2.3&lt;/version&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;configuration&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tags&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tag&gt;TODO&lt;/tag&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tag&gt;FIXME&lt;/tag&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tag&gt;@todo&lt;/tag&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tag&gt;@deprecated&lt;/tag&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tags&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/configuration&gt;<br />
&lt;/plugin&gt;<br />
</code></p>
<p>Il existe d&#8217;autres plugins comme checkstyle, cobertura, pmd, JDepend. A vos de les étudier et de voir ce qui convient à votre projet.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/petitteckel.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/petitteckel.wordpress.com/219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/petitteckel.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/petitteckel.wordpress.com/219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/petitteckel.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/petitteckel.wordpress.com/219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/petitteckel.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/petitteckel.wordpress.com/219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/petitteckel.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/petitteckel.wordpress.com/219/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=petitteckel.wordpress.com&blog=506261&post=219&subd=petitteckel&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://petitteckel.wordpress.com/2009/01/01/utilisation-de-maven2-en-tant-quoutils-de-generation-de-rapports/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b1ccaa31e6405afca79b6836073005d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">petitteckel</media:title>
		</media:content>
	</item>
		<item>
		<title>Benchmark des moteurs de javascript</title>
		<link>http://petitteckel.wordpress.com/2008/12/16/benchmark-des-moteurs-de-workflow/</link>
		<comments>http://petitteckel.wordpress.com/2008/12/16/benchmark-des-moteurs-de-workflow/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 21:28:52 +0000</pubDate>
		<dc:creator>petitteckel</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://petitteckel.wordpress.com/?p=213</guid>
		<description><![CDATA[J&#8217;avais déjà signalé l&#8217;existence d&#8217;un benchmark des moteurs de JavaScript dans le projet webkit (sunspider), le coeur du navigateur Safari. Le résultat est un temps moyen pour effectuer différentes fonctions JavaScript. Naturellement, on peut suspecter que ce benchmark favorise un peu le navigateur Safari. Mais ce dernier n&#8217;est que 4ème sur 8. Il est même [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=petitteckel.wordpress.com&blog=506261&post=213&subd=petitteckel&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>J&#8217;avais déjà signalé l&#8217;existence d&#8217;un <a href="http://www2.webkit.org/perf/sunspider-0.9/sunspider.html">benchmark des moteurs de JavaScript dans le projet webkit (sunspider)</a>, le coeur du navigateur Safari. Le résultat est un temps moyen pour effectuer différentes fonctions JavaScript. Naturellement, on peut suspecter que ce benchmark favorise un peu le navigateur Safari. Mais ce dernier n&#8217;est que 4ème sur 8. Il est même repassé derrière Opera. Google Chrome est incontestablement premier et Internet Explore dernier.</p>
<table>
<tr>
<th>Navigateur (version)</th>
<th>Test SunSpider (en ms)</th>
</tr>
<tr>
<td>Google Chrome (0.2.154.29)</td>
<td>2,6</td>
</tr>
<tr>
<td>Firefox (3.0.4)</td>
<td>4,8</td>
</tr>
<tr>
<td>Opera (9.62)</td>
<td>6,1</td>
</tr>
<tr>
<td>Safari (3.2.1)</td>
<td>6,4</td>
</tr>
<tr>
<td>K-Meleon (1.5.1)</td>
<td>14,5</td>
</tr>
<tr>
<td>SeaMonkey (1.1.13)</td>
<td>19,9</td>
</tr>
<tr>
<td>Flock (1.2.7)</td>
<td>23,0</td>
</tr>
<tr>
<td>Internet Explorer (7)</td>
<td>42.4</td>
</tr>
</table>
<p>Un second benchmark est disponible sur le site du <a href="http://code.google.com/p/v8/">projet V8</a>, le moteur de JavaScript du navigateur. Ici, le résultat est un nombre relatif. Le principe est que plus ce chiffre est grand plus le moteur est performant. Ceci a l&#8217;avantage d&#8217;être indépendant de l&#8217;ordinateur sur lequel s&#8217;effectue le test. Là Google Chrome écrase ses concurrents. Cependant, le classement n&#8217;est pas exactement le même.</p>
<table>
<tr>
<th>Navigateur (version)</th>
<th>Benchmark V8</th>
</tr>
<tr>
<td>Google Chrome (0.2.154.29)</td>
<td>1773</td>
</tr>
<tr>
<td>Opera (9.62)</td>
<td>170</td>
</tr>
<tr>
<td>Firefox (3.0.4)</td>
<td>141</td>
</tr>
<tr>
<td>Safari (3.2.1)</td>
<td>133</td>
</tr>
<tr>
<td>K-Meleon (1.5.1)</td>
<td>72</td>
</tr>
<tr>
<td>Flock (1.2.7)</td>
<td>69</td>
</tr>
<tr>
<td>SeaMonkey (1.1.13)</td>
<td>58</td>
</tr>
<tr>
<td>Internet Explorer (7)</td>
<td>33</td>
</tr>
</table>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/petitteckel.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/petitteckel.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/petitteckel.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/petitteckel.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/petitteckel.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/petitteckel.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/petitteckel.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/petitteckel.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/petitteckel.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/petitteckel.wordpress.com/213/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=petitteckel.wordpress.com&blog=506261&post=213&subd=petitteckel&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://petitteckel.wordpress.com/2008/12/16/benchmark-des-moteurs-de-workflow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b1ccaa31e6405afca79b6836073005d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">petitteckel</media:title>
		</media:content>
	</item>
		<item>
		<title>Les différentes versions du langage JavaScript</title>
		<link>http://petitteckel.wordpress.com/2008/12/14/les-differentes-versions-du-langage-javascript/</link>
		<comments>http://petitteckel.wordpress.com/2008/12/14/les-differentes-versions-du-langage-javascript/#comments</comments>
		<pubDate>Sun, 14 Dec 2008 15:14:37 +0000</pubDate>
		<dc:creator>petitteckel</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://petitteckel.wordpress.com/?p=194</guid>
		<description><![CDATA[Cela fait plusieurs fois que je me suis posé la question s&#8217;il est correct de parler de différentes versions du langage script. Cette question m&#8217;est revenue suite à la visite du site BrowserHawk. Ce site teste les différentes capacités du navigateur web utilisé (détection du navigateur, temps de réponse). Il fournit une version langage JavaScript [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=petitteckel.wordpress.com&blog=506261&post=194&subd=petitteckel&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Cela fait plusieurs fois que je me suis posé la question s&#8217;il est correct de parler de différentes versions du langage script. Cette question m&#8217;est revenue suite à la visite du site <a href="http://cyscape.com/showbrow.aspx">BrowserHawk</a>. Ce site teste les différentes capacités du navigateur web utilisé (détection du navigateur, temps de réponse). Il fournit une version langage JavaScript utilisé par le navigateur.</p>
<p>J&#8217;ai fais le test avec 8 navigateurs pour Windows que je considère comme « pertinents » : navigateur complet (pas une simple surcouche), mis à jour régulièrement. Ma liste est donc : Internet Explorer, Firefox, Safari, Flock, Google Chrome, K-Meleon, SeaMonkey et Opera. J&#8217;ai pris les dernières versions stables de ces navigateurs. Je suis toujours à la recherche d&#8217;autres navigateurs qui respectent les critères décrits précédemment. Voici les résultats obtenus :</p>
<table>
<tr>
<th>Navigateur</th>
<th>Version JS selon BrowserHawk</th>
</tr>
<tr>
<td>IE 7</td>
<td>1.5</td>
</tr>
<tr>
<td>Firefox 3</td>
<td>1.8</td>
</tr>
<tr>
<td>Safari</td>
<td>1.5</td>
</tr>
<tr>
<td>Flock</td>
<td>1.7</td>
</tr>
<tr>
<td>Google Chrome</td>
<td>1.8</td>
</tr>
<tr>
<td>K-Meleon</td>
<td>1.5</td>
</tr>
<tr>
<td>SeaMonkey</td>
<td>1.5</td>
</tr>
<tr>
<td>Opera</td>
<td>1.5</td>
</tr>
</table>
<p>Les résultats montrent que les versions de JavaScript sont relativement récentes. Ils semblent cohérents (même résultat pour SeaMonkey et K-Meleon). Le second test est l&#8217;utilisation explicite de la version de Javascript dans une page Html comme ceci :</p>
<p><code><br />
&lt;script language= "JavaScript1.2"&gt;.../...&lt;/script&gt;<br />
</code></p>
<p>ou autre manière plus standard (?)</p>
<p><code><br />
&lt;script type="text/javascript;version=1.2"&gt;<br />
.../...<br />
&lt;/script&gt;<br />
</code></p>
<p>La seconde version de cette technique, ne fonctionne pas pour 3 navigateurs. Finalement, j&#8217;ai un gros doute sur l&#8217;interprétation de ce code. Signifie-t-il vraiment que le cette partie de script est interprétée si le navigateur supporte au moins cette version de JavaScript ? Opera ne serait-il pas un peu gros &#8220;vantard&#8221; ? Les résultats sont en fait très différents de BrowserHawk.</p>
<table>
<tr>
<th>Navigateur</th>
<th>BrowserHawk</th>
<th>tag Javascript V1</th>
<th>tag Javascript V2</th>
</tr>
<tr>
<td>IE 7</td>
<td>1.5</td>
<td>1.3</td>
<td>?</td>
</tr>
<tr>
<td>Firefox 3</td>
<td>1.8</td>
<td>1.8</td>
<td>1.8</td>
</tr>
<tr>
<td>Safari</td>
<td>1.5</td>
<td>1.7</td>
<td>?</td>
</tr>
<tr>
<td>Flock</td>
<td>1.7</td>
<td>1.7</td>
<td>1.7</td>
</tr>
<tr>
<td>Google Chrome</td>
<td>1.8</td>
<td>1.7</td>
<td>?</td>
</tr>
<tr>
<td>K-Meleon</td>
<td>1.5</td>
<td>1.7</td>
<td>1.7</td>
</tr>
<tr>
<td>SeaMonkey</td>
<td>1.5</td>
<td>1.7</td>
<td>1.7</td>
</tr>
<tr>
<td>Opera</td>
<td>1.5</td>
<td>2.0</td>
<td>1.5</td>
</tr>
</table>
<p>Une meilleure solution serait de tester la version de JavaScript en utilisant des fonctionnalités spécifiques à chaque version. JavaScript est normalisé en tant que ECMAScript, et le site de la fondation Mozilla donne les correspondances dans le tableau qui suit. Ce qui pose la question des versions intermédiaires qui seraient spécifiées uniquement par Mozilla.</p>
<table>
<tr>
<th>Version de Javascript</th>
<th>Version de Firefox</th>
<th>Version de ECMA</th>
</tr>
<tr>
<td>1.3</td>
<td>-</td>
<td>ECMA 262 édition2</td>
</tr>
<tr>
<td>1.5</td>
<td>1.0</td>
<td>ECMA 262 édition3</td>
</tr>
<tr>
<td>1.6</td>
<td>1.5</td>
<td>-</td>
</tr>
<tr>
<td>1.7</td>
<td>2</td>
<td>-</td>
</tr>
<tr>
<td>1.8</td>
<td>3.0</td>
<td>-</td>
</tr>
<tr>
<td>1.9.1</td>
<td>3.1</td>
<td>-</td>
</tr>
<tr>
<td>2.0</td>
<td>-</td>
<td>ECMA 262 édition4</td>
</tr>
</table>
<p>Sur le site de Mozilla dit <a href="https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Global_Objects">MDC « Mozilla Developer Center »</a>, on trouve plus ou moins difficilement les différences entre les versions successives JavaScript. Ce qui m&#8217;a permis d&#8217;écrire un script testant la version courante du JavaScript. Ce script permet de tester les version 1.0, 1.1, 1.2, 1.3, 1.5, 1.6, 1.7, 1.8 et 1.9.1. Ce script donne avec les 8 navigateurs de références.</p>
<table>
<tr>
<th>Navigateur</th>
<th>BrowserHawk</th>
<th>tag Javascript V1</th>
<th>tag Javascript V2</th>
<th>test fonctionnalités</th>
</tr>
<tr>
<td>IE 7</td>
<td>1.5</td>
<td>1.3</td>
<td>?</td>
<td>1.5</td>
</tr>
<tr>
<td>Firefox 3</td>
<td>1.8</td>
<td>1.8</td>
<td>1.8</td>
<td>1.8</td>
</tr>
<tr>
<td>Safari</td>
<td>1.5</td>
<td>1.7</td>
<td>?</td>
<td>1.6</td>
</tr>
<tr>
<td>Flock</td>
<td>1.7</td>
<td>1.7</td>
<td>1.7</td>
<td>1.7</td>
</tr>
<tr>
<td>Google Chrome</td>
<td>1.8</td>
<td>1.7</td>
<td>?</td>
<td>1.6</td>
</tr>
<tr>
<td>K-Meleon</td>
<td>1.5</td>
<td>1.7</td>
<td>1.7</td>
<td>1.7</td>
</tr>
<tr>
<td>SeaMonkey</td>
<td>1.5</td>
<td>1.7</td>
<td>1.7</td>
<td>1.7</td>
</tr>
<tr>
<td>Opera</td>
<td>1.5</td>
<td>2.0</td>
<td>1.5</td>
<td>1.6</td>
</tr>
</table>
<p>Pour valider mon script, je l&#8217;ai testé avec les différentes version de <a href="http://www.mozilla.org/rhino">Rhino</a>. Il s&#8217;agit d&#8217;une implémentation en Java du moteur de JavaScript de Mozilla. Attention, il n&#8217;est pas utilisé dans les navigateurs Web comme Firefox mais est un reste d&#8217;un ancien projet abandonné d&#8217;un navigateur web en Java. La version Rhino 1.5R5 correspond à la version 1.5 du JavaScript, la version 1.6R7 correspond à la version 1.6 du JavaScript, et enfin 1.7R1 à la version 1.7. Ceci fonctionne correctement avec mon script. Utiliser Rhino pour exécuter du JavaScript est en effet simple. Il suffit d&#8217;utiliser la commande qui suit (test.js est mon script de test). Il existe une méthode main dans ce jar.</p>
<p><code><br />
java -jar js.jar -f test.js<br />
</code></p>
<p>Au final, on voit qu&#8217;il existe un flou dans les différentes version du langage JavaScript mais qu&#8217;une version 1.3 ou 1.5 semble un compromis acceptable pour l&#8217;instant. Notons bien ici que je parle du coeur du langage et non de l&#8217;implémentation du DOM, l&#8217;accès aux éléments d&#8217;une page Web.</p>
<p>Voici le fichier test.js<br />
<code><br />
function testVersion() {<br />
  var myArray = ['a', 'b', 'a', 'b', 'a'];<br />
  var res="";<br />
  var myNumber=2489.8237<br />
  var myString="eer";</p>
<p>  //version 1.0<br />
  var version1_0=0;<br />
  if(Date.parse)<br />
    version1_0= version1_0+1;</p>
<p>  res=res+"version 1.0 : "+version1_0+"/1 \n";</p>
<p>  //version 1.1<br />
  var version1_1=0;<br />
  if(myArray.join)<br />
    version1_1= version1_1+1;</p>
<p>  if(myArray.toString)<br />
    version1_1= version1_1+1;</p>
<p>  if(myArray.reverse)<br />
    version1_1= version1_1+1;</p>
<p>  if(myArray.sort)<br />
    version1_1= version1_1+1;</p>
<p>  res=res+"version 1.1 : "+version1_1+"/4 \n";</p>
<p>  //version 1.2<br />
  var version1_2=0;<br />
  if(myArray.concat)<br />
    version1_2= version1_2+1;</p>
<p>  if(myArray.slice)<br />
    version1_2= version1_2+1;</p>
<p>  if(myArray.pop)<br />
    version1_2= version1_2+1;</p>
<p>  if(myArray.push)<br />
    version1_2= version1_2+1;</p>
<p>  if(myArray.shift)<br />
    version1_2= version1_2+1;</p>
<p>  if(myArray.splice)<br />
    version1_2= version1_2+1;</p>
<p>  if(myArray.unshift)<br />
    version1_2= version1_2+1;</p>
<p>  res=res+"version 1.2 : "+version1_2+"/7 \n";</p>
<p>  //version 1.3<br />
  var version1_3=0;<br />
  if(myArray.push) {<br />
    var myArray2 = ['a', 'b', 'a', 'b', 'a'];<br />
    //V1.3 push retourne la taille du tableau.<br />
    i=myArray2.push('e','r');<br />
    if(i==7)<br />
      version1_3= version1_3+1;<br />
  }</p>
<p>  if(myArray.splice) {<br />
    var myArray2 = ['a', 'b', 'a', 'b', 'a'];<br />
    myArray3=myArray2.splice(1,3,'z');<br />
    if(myArray3.length==3);<br />
      version1_3= version1_3+1;<br />
  }</p>
<p>  //Boolean(new Boolean(false)) return false = 1.2 or -<br />
  //return true 1.3 or +<br />
  if(Boolean(new Boolean(false)))<br />
    version1_3= version1_3+1;</p>
<p>  res=res+"version 1.3 : "+version1_3+"/3 \n";</p>
<p>  //version 1.5<br />
  var version1_5=0;<br />
  if(myNumber.toFixed)<br />
    version1_5= version1_5+1;</p>
<p>  if(myNumber.toExponential)<br />
    version1_5= version1_5+1;</p>
<p>  if(myNumber.toPrecision)<br />
    version1_5= version1_5+1;</p>
<p>  res=res+"version 1.5 : "+version1_5+"/3 \n";</p>
<p>  //version 1.6<br />
  var version1_6=0;<br />
  if(myArray.indexOf)<br />
    version1_6= version1_6+1;</p>
<p>  if(myArray.lastIndexOf)<br />
    version1_6= version1_6+1;</p>
<p>  if(myArray.filter)<br />
    version1_6= version1_6+1;</p>
<p>  if(myArray.forEach)<br />
    version1_6= version1_6+1;</p>
<p>  if(myArray.every)<br />
    version1_6= version1_6+1;</p>
<p>  if(myArray.map)<br />
    version1_6= version1_6+1;</p>
<p>  if(myArray.some)<br />
    version1_6= version1_6+1;</p>
<p>  res=res+"version 1.6 : "+version1_6+"/7 \n";</p>
<p>  //version 1.7<br />
  var version1_7=0;<br />
  if(this.Iterator)<br />
    version1_7= version1_7+1;</p>
<p>  res=res+"version 1.7 : "+version1_7+"/1 \n";</p>
<p>  //version 1.8<br />
  var version1_8=0;<br />
  if(myArray.reduce)<br />
    version1_8= version1_8+1;</p>
<p>  if(myArray.reduceRight)<br />
    version1_8= version1_8+1;  </p>
<p>  res=res+"version 1.8 : "+version1_8+"/2 \n";</p>
<p>  //version 1.9.1<br />
  var version1_9_1=0;<br />
  if(myString.trim)<br />
    version1_9_1= version1_9_1+1;</p>
<p>  if(myString.trimLeft)<br />
    version1_9_1= version1_9_1+1;</p>
<p>  if(myString.trimRight)<br />
    version1_9_1= version1_9_1+1;</p>
<p>  if(Object.getPrototypeOf)<br />
    version1_9_1= version1_9_1+1;</p>
<p>  res=res+"version 1.9.1 : "+version1_9_1+"/4 \n";</p>
<p>  print(res);</p>
<p>  if(version1_9_1==4)<br />
    return "1.9.1";<br />
  else if(version1_8==2)<br />
    return "1.8";<br />
  else if(version1_7==1)<br />
    return "1.7";<br />
  else if(version1_6==7)<br />
    return "1.6";<br />
  else if(version1_5==3)<br />
    return "1.5";<br />
  else if(version1_3==3)<br />
    return "1.3";<br />
  else if(version1_2==7)<br />
    return "1.2";<br />
  else if(version1_1==4)<br />
    return "1.1";<br />
  else if(version1_0==1)<br />
    return "1.0";<br />
  else<br />
    return "inconnue";</p>
<p>}<br />
testVersion();<br />
</code></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/petitteckel.wordpress.com/194/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/petitteckel.wordpress.com/194/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/petitteckel.wordpress.com/194/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/petitteckel.wordpress.com/194/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/petitteckel.wordpress.com/194/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/petitteckel.wordpress.com/194/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/petitteckel.wordpress.com/194/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/petitteckel.wordpress.com/194/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/petitteckel.wordpress.com/194/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/petitteckel.wordpress.com/194/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=petitteckel.wordpress.com&blog=506261&post=194&subd=petitteckel&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://petitteckel.wordpress.com/2008/12/14/les-differentes-versions-du-langage-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b1ccaa31e6405afca79b6836073005d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">petitteckel</media:title>
		</media:content>
	</item>
	</channel>
</rss>