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

<channel>
	<title>Anthony Dahanne's blog &#187; meeting</title>
	<atom:link href="http://blog.dahanne.net/category/meeting/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.dahanne.net</link>
	<description>Open Source Software, Java, Ruby, Agility</description>
	<lastBuildDate>Tue, 20 Jul 2010 13:11:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Citcon Europe 2009 @ Paris</title>
		<link>http://blog.dahanne.net/2009/09/18/citcon-europe-2009-paris/</link>
		<comments>http://blog.dahanne.net/2009/09/18/citcon-europe-2009-paris/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 19:48:30 +0000</pubDate>
		<dc:creator>anthony.dahanne</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[meeting]]></category>

		<guid isPermaLink="false">http://blog.dahanne.net/?p=244</guid>
		<description><![CDATA[During 2 days, Friday the 18th of September and Saturda [...]]]></description>
			<content:encoded><![CDATA[<p>During 2 days, Friday the 18th of September and Saturday the 19th, I attended for the first time the <a href="http://citconf.com/paris2009/">Citcon Europe Conference</a>, about Continuous Integration, in Paris.</p>
<h2>Friday</h2>
<p>When I arrived, at 6:20PM, I was received by 2 Jean Michel I know (Garnier and Bea) who gave me a tag on which I wrote my name on it, a T-shirt, a wifi logon for the conference, and a bag loaded with sponsors  material.</p>
<p>When I got into the room, I found many colleagues from Valtech, and people I usually meet at the Paris Jug and other conferences in Europe.The room is nearly crowded, we&#8217;re about 120.</p>
<p>PJ(Paul Julius) and Jeff presented how the conference would occur : the sessions, divided in 8 rooms, the Saturday lunch, the Saturday breakfast, the after conference events (most probably in a bar), the sponsors, the volunteers, and their association.</p>
<p>Then, the presenters let every one in the room introduce him/herself : most of the audience was there to talk about CI, User Acceptance Testing and agility.</p>
<p>After the presentations were made, both presenters explained how the open spaces work : an interesting point is that if you think that you&#8217;re wasting your time in an open space, just don&#8217;t hesitate to leave: to participate actively in another open space!The audience is responsible for making the conference great, so everyone should feel free to join and leave any open space during the day.</p>
<p>The sessions proposed by people attending the conference, will occur in the rooms chosen by the audience : if the audience thinks it&#8217;s a popular  topic, the session will use a bigger room.</p>
<p>The presenters also encouraged the audience to blog, take photos, promote the event<br />
Before letting attendees propose sessions, Jeff added : &laquo;&nbsp;Whether the conference will be successful or not depend on you&nbsp;&raquo;</p>
<p>Finally, some attendees proposed some topics, and after this was done (a think that more than 50 topics were proposed, a lot of them about Scrum, mock objects, how to write tests and user acceptance tests, etc..), all these topics were refactored around a nice buffet and a drink !</p>
<p>The organization for this citcon starter was really great, and when you think that the entrance is free, you even better appreciate all the efforts made by the volunteers to make this conference so professional and nice !</p>
<p>Tomorrow, the sessions will begin, I can&#8217;t wait !</p>
<h2>Saturday</h2>
<p>Following are transcripts of the sessions I followed (I mostly wrote about things that seemed important to me)</p>
<h3>Definition of Done &#038; Testing</h3>
<p>Who makes the decision ? the project manager? the product owner ?<br />
We should make all requirements measurable and stable in order to define done software<br />
Done can be declared when we customer accepts the feature, and &laquo;&nbsp;done done&nbsp;&raquo; when the feature is in production;provided that the team meets metrics criteria when developing, providing a sustainable pace.<br />
Do tests provide business value after all? Of course they can, depending on how you wrote your tests, whether you include the business in your development cycle or not.<br />
Done can also be when &laquo;&nbsp;it feels right&nbsp;&raquo; : when the customer AND the team agrees on the fact it is done; if a member does not think the quality is met, he should say it, and not agree to say it feels right.<br />
Maybe frequent builds is the solution :  providing more and more functionalities builds after builds, intead of shipping o huge piece of software not testes enough</p>
<h3>Mock objects</h3>
<p>You can use Mocking (making expectations about how and how frequent it is called) when it changes the outside world, elsewhere you should stub; by outside world I mean any third object in the chain<br />
It&#8217;s usually better to initialize once your mock object (even making it final in Java), to only focus on the expectations.<br />
Some people in the room proposed not to use interfaces anymore, because some mock frameworks don&#8217;t need interfaces anymore, but it seems complicated refactoring because you don&#8217;t explicit the interactions between your classes.</p>
<h3>Faster tests</h3>
<p>How long is a too long to run test ?<br />
How long is a too long to run a build ?<br />
The aim of making tests faster is too shorten feedback.<br />
You can categorize tour tests between the fasts and slower ones (the fastest run first (Unit Tests), the slowest runs last and only once each day(Selenium Tests on all browsers) )<br />
Running unit tests concurrently on a 8 core developer machine ? That means investing in hardware to speed up the tests<br />
You can use in memory databases instead of using real databases on the network; but how can you be sure that your tests will work on the target database ?<br />
You can also use private builds, like Teamcity does : you commit a private build which runs a the CI computer, and if the build went fine, your code is automatically committed to the branch of your choice.<br />
You can write better tests : more rapid, using lighter structures in your code.</p>
<h3>Conclusion</h3>
<p>It was y first citcon conference participation, and I was quite impressed by the quality of the organization, and also of the audience, lots of smart people coming from all around the world (mainly europe and france though).<br />
The food was good, the rooms and facilities (like wifi) were also good, one ting that disturbed me was the fact that post-its on the agenda kept on moving: I missed sessions because I did not notice that the schedule had changed&#8230; but that&#8217;s the way it is !<br />
The open space format is a bit difficult to follow, many ideas are popping out from all other the room, and the hard part is to catch them and analyse them; but the effort is worth it !<br />
If you want to <a href="http://citconf.com/wiki/index.php?title=CITCONEurope2009Sessions">know more about the sessions given at citconf europe 2009, follow the link !</a></p>
<h3>Books mentioned</h3>
<p>x unit tests pattern (by mezaros)<br />
Object-Design-Roles-Responsibilities-Collaborations (by Rebecca Wirfs)<br />
<a href="http://www.mockobjects.com/">Mock Objects by Steeve Freeman</a></p>
<h3>Tools</h3>
<p>crap4J : complexity and coverage<br />
gridgain : run a single build on a farm of servers<br />
dbunit : to inject test data in a test db<br />
testng : like JUnit, but provides the ability to run tests in different threads<br />
selenium : to automate user accepting test<br />
webdriver : to run selenium, should merge with selenium eventually<br />
cucumber : writing and running User Acceptance Test in a DSL<br />
html unit : when you don&#8217;t need selenium to check every page/css/javascript details</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dahanne.net/2009/09/18/citcon-europe-2009-paris/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jazoon 09 : third and last day, Thursday 25th of June</title>
		<link>http://blog.dahanne.net/2009/06/25/jazoon-09-third-and-last-day-thursday-25th-of-june/</link>
		<comments>http://blog.dahanne.net/2009/06/25/jazoon-09-third-and-last-day-thursday-25th-of-june/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 20:35:15 +0000</pubDate>
		<dc:creator>anthony.dahanne</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jazoon 09]]></category>
		<category><![CDATA[meeting]]></category>

		<guid isPermaLink="false">http://blog.dahanne.net/?p=170</guid>
		<description><![CDATA[Vous pouvez lire cet article en français sur le blog d [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.valtech.fr/wordpress/2009/06/25/jazoon-3eme-et-dernier-jour-jeudi-25-juin/">Vous pouvez lire cet article en français sur le blog de valtech.</a></p>
<h3>The Changing Nature of Enterprise Java Application Development, 9:00 &#8211; 9:45 by Adrian Colyer</h3>
<p>During his talk, the speaker described the audience the future of a Java platform, because it is actually going to be there for a long time now.<br />
He mentioned the dynamic languages compatible with the JVM : Groovy, JRuby, Scala, and Clojure.<br />
He mainly focused on Groovy (which belongs to SpringSource by the way), even if he was not sure if whether JRuby or Groovy would win the &laquo;&nbsp;war of dynamic languages&nbsp;&raquo;.<br />
For the web platform, he mentioned Grails, built on top of Groovy, Rails running on top of Ruby, and Lift built on top of Scala.<br />
He finished his talk introducing OSGi and Spring DM; the future of enterpise is application may be in the cloud : easily to deploy and scale applications are to come.</p>
<h3>The android runtime environment, 10:30 &#8211; 11:20, by Joerg Pleumann</h3>
<p>The speaker first made an introduction to the Android system, as a platform competing windows mobile and palm.<br />
More technically speaking, it is based on a Linux kernel (along with necessary drivers : display, camera, sound, etc&#8230;).<br />
On top of it come the Android Runtime and libraries; the talk is about the Android Runtime and its Dalvik VM.<br />
Dalvik VM : CPU between 250 and 500 MHz, RAM >=64 (equivalent to a 1999 PC), but low power consumption is critical.<br />
The Dalvik VM is really efficient, using explicit registers to keep temporary values: the immediate benefit is the number of lines of the bytecode resulting from the DalvikVM compilation : nearly 30% less than a standard VM compilation.<br />
A dex file (Dalvik Executable) contains several files, and is not compressed.<br />
JNI is ready, a sdk for using JNI is about to come out in the next days; also an Android Debug Bridge is available from the beginning.<br />
The core libraries<br />
dalvik vm specific libraries : dalvik.*<br />
java compatibility libraries : java.* and javax.*<br />
and some apache libraries(mainly for http) : org.apache.*<br />
The core libraries are partly taken from Apache Harmony (a JDK implementation by Apache), partly written from scratch; and some of them have been optimized (using JNI)<br />
The core libraries are mostly compatible to a subset of J2SE 5.0.<br />
JDBC 2.0 is supported, but the SQLite driver is limited., but one can use the alternative in android.database.sqlite which are better integrated.<br />
To conclude with, with Android you can reuse your java knowledge and tools.</p>
<h3>Android Application Model, 11:30 &#8211; 12:20, by Dominik Gruntz</h3>
<p>4 main components :activities, services, content providers and broadcast receivers.<br />
A single class, uses intents to communicate with the other activities; when you launch an activity, you can (or not) expect a result; if this is the case, the method onIntentResult will be called.<br />
You can also define intent filters to describe the intents an activity can handle.<br />
An intent specification is on its way : http://www.openintents.org<br />
An application is packaged using an APK (Android package).<br />
Every activity has a lifecycle containing 4 steps : new, running, paused,  stopped, killed and the corresponding methods (onCreate, onStop etc..)<br />
For each activity a new process (with a single thread) is created.<br />
The Looper.loop() dispathes the actions to a queue.<br />
If an activity does not conume events in 5sec, the system issue a warning message.<br />
A service is running background and can communicate with an activity (in process if it&#8217;s the same application (APK)) or via AIDL.<br />
Finally, a content provider is the only way to share date between  Android applications; it can using SQLite, a file, or a remote storage. </p>
<h3>Scalable Agile Web Development: REST meets JCR meets OSGI, by Michael Marth</h3>
<p>JCR : JSR 270 for accessing content repository : located on a file or database; can be versioned; node ahave read/write group properties, etc&#8230;<br />
Apache Sling is a web framework, on top of REST/Scripting (Ruby, Groovy, etc&#8230;)/OSGi(in this case Apache Felix Container, to switch on/off part of the frameework live)/JCR.<br />
So basically Apache Sling allows the user to create/edit/read/update content in a restful manner (http methods), the data being created is then stored on the JCR repository, organized in a very similar WebUrlFriendly way (and then you can manipulate the data through rest or webdav and so on, thanks to JCR)<br />
The demo was really smooth and interesting !</p>
<h3>The charm of Mockito: Test Spies in action, 14:30 &#8211; 15:20, by Szczepan Faber</h3>
<p>The speaker begins asking who uses JMock : 2 or 3 people among an audience of 60 people, half of the audience using EasyMock.<br />
So let&#8217;s start with EasyMock : coding in TDD a dictionnary, (and its history) depending on a translator : the translator is mocked.<br />
With easymock the speaker keeps it old fadhioned : createMock/expect/replay/assert/verify , (his test extends Assert) and then refactor a bit in the @Before and @After test methods, nothing special here.<br />
Then Mockito : mock/when/assert/verify : it&#8217;s a lighter syntax indeeed!<br />
Szczepan insisted on the fact that usually developers using easymock create replayAll and verifyAll methods called in the @After method; which make Easymok fail when many behaviours are attached.<br />
The speaker uses BDD style template (given/when/then) in eclipse, when creating a test.<br />
Mockito eases the use of a given/when/then syntax when writing a test.<br />
Has good point of failure ?<br />
The failure trace in mockito is linked to the source code and more explicit about the error, it does not whow internal classes exceptions<br />
Mockito or mockito-like for python, flex, javascript, C++; there are mockito extensions<br />
He concluded with : &laquo;&nbsp;Do TDD and write great tests with whatever tools that work for you&nbsp;&raquo;<br />
May the force be with you !</p>
<h3>Eclipse Galileo and JBoss Tools, 16:30 &#8211; 16:50, by Max Andersen</h3>
<p>Galileo (3.5) is a huge release.<br />
Must-sees : Eclipse Memory Analyser (to see which plugin consumes all the memory for example), using jmap<br />
XML and XSL editor is really better.<br />
P2 (eclipse update manager) works for real; you shouldn&#8217;t use dropins anymore (single zip files to unpackage in /plugins and /features), for offline installation plugins providers should suggest copies of the update site, then you may use P2 to explore these files, as if you were online).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dahanne.net/2009/06/25/jazoon-09-third-and-last-day-thursday-25th-of-june/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jazoon 09, second day : 24th of June 2009</title>
		<link>http://blog.dahanne.net/2009/06/24/jazoon-09-second-day-24th-of-june-2009/</link>
		<comments>http://blog.dahanne.net/2009/06/24/jazoon-09-second-day-24th-of-june-2009/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 16:34:57 +0000</pubDate>
		<dc:creator>anthony.dahanne</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[jazoon 09]]></category>
		<category><![CDATA[meeting]]></category>

		<guid isPermaLink="false">http://blog.dahanne.net/?p=167</guid>
		<description><![CDATA[The following sessions were given during Jazoon 09, on  [...]]]></description>
			<content:encoded><![CDATA[<p>The following sessions were given during Jazoon 09, on Wednesdaythe 24th of Ju ne 2009, <a href="http://blog.valtech.fr/wordpress/2009/06/24/jazoon-09-sessions-du-mercredi-24-juin/">vous pouvez lire la traduction en français sur le blog de Valtech</a></p>
<h3>Danny Coward Keynote, 9:00 &#8211; 10:00</h3>
<h4>Java 7</h4>
<p>Description of the new features in Java SE 7  : modularity, ?. operator, new API for java.io (Path, Asynchronous FileVisitor), http://openjdk.java.net/projects/jdk7</p>
<h4>Java FX</h4>
<p>The new version is 1.2, running on all OSes (even Linux and Solaris, a TV, some phones to come out), more UI components (skinnable with CSS) , new layouts, better performance; then Danny showed the audience some JavaFX applications : a pacman application, a video player, with some nice visual effects &#8230; </p>
<h3>OSGi and Java Modularity, 10:30 &#8211; 11:20, by Peter Kriens</h3>
<p>If you think your application is modular only by using the VM, well, think again&#8230;<br />
You can&#8217;t hide interfaces in the classsloader, and if there are no enforcements of rules at runtime, it&#8217;s uselesse to try to make these interfaces secrets&#8230;<br />
In OSGi, you can set secret interfaces (not exported) and also use MANIFESTs to explicitely specify exports.<br />
With an OSGi bundle (a jar actually, with its MANIFEST), you can dynamically specify which others bundles it can depend on, if one of the bundle you depend on is no more available, OSGi will remove the dependency; then it will put it back when the bundle is available again.<br />
The problem is : many implementations of modularity exist and JSR 294 do not specify a particular one &#8230; From a programmer point of view, you will have to choose between OSGi, Jigsaw, guice, the modularity implementation you want to use &#8230; </p>
<h3>Next generation Wikis: Mixing Content-Oriented Applications with Wikis, 11:30 &#8211; 12:20, by Vincent Massol</h3>
<p>Wiki 1.0 : just used for text<br />
Wiki 2.0 : you can add everything : images, videos, comments, notes, etc.., the datas can be structured, unstructured or mashups (datas coming from everywhere) the wiki 2.0 is the excell&#8230; of the web !<br />
After presenting a demo showing us the possibility in Xwiki to define in 10 minutes (knowing velocity or groovy syntax) an application hosted on the wiki, Vincent listed the Xwiki features and the new features to come : real time collaboration, mobile skin, social features and &#8230; merge of CMS and wikis.</p>
<h3>JavaFX Rich Internet Applications connected to GlassFish Java EE 5 services, 16:00-16:20, by Ludovic Champenois – Sun Microsystems</h3>
<p>First of all, Ludovic showed us the GlassFish v3 admin console (looks good !) and reminded us with REST (standard HTTP methods, resources, etc&#8230;), and the REST annotations in Java EE6.<br />
Why ? because the example given during his demonstration is communicating with a JAX-RS Java EE6 application, hosted by Glassfish V3.<br />
To test the REST application, you can simply use  : curl -HAccept:application/xml http://localhost/domain, or use your browser or use Glassfish v3 Admin Backend Tester.<br />
And then, down to the JavaFx application code, using Netbeans, only 15 lines of code are necessary to consume the REST service.<br />
TO finish with, Ludovic showed us some other JavaFX demo applications.</p>
<h3>JavaFX / Android: Competing technologies or the ideal partnership? , 16:30 &#8211; 16:50 by Mike Mannion and Andreas Hölzl</h3>
<p>Presented as a theater play : 2 guys talking about phone technologies around a coffee : one is a JavaFX supporter, the other is an Android supporter.<br />
They then compared a similar application (using Flickr, Lastfm, youtube web services): developed both for JavaFx and the Android Platform.<br />
*UI : JavaFX needs UI designed by designers, Android defines it in an extermal layout XML file<br />
*UI (2) : Android provides a richer API, providing a photo gallery for example, JavaFX does not&#8230;<br />
*language : you have to learn JavaFX script for JavaFX, Android uses Java 5 API (with some restrictions&#8230;, for example it does not use AWT or Swing for graphics)<br />
They also told us that Sun is not clearly decided about supporting Android  : they said that they were thinking about it&#8230; but since then (a year ago) nothing came out !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dahanne.net/2009/06/24/jazoon-09-second-day-24th-of-june-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Jazoon 09 : First day, first sessions</title>
		<link>http://blog.dahanne.net/2009/06/23/jazoon-09-first-day-first-sessions/</link>
		<comments>http://blog.dahanne.net/2009/06/23/jazoon-09-first-day-first-sessions/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 08:55:08 +0000</pubDate>
		<dc:creator>anthony.dahanne</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[jazoon 09]]></category>
		<category><![CDATA[meeting]]></category>

		<guid isPermaLink="false">http://blog.dahanne.net/?p=157</guid>
		<description><![CDATA[The following sessions were given during Jazoon 09, on  [...]]]></description>
			<content:encoded><![CDATA[<p>The following sessions were given during <a href="http://jazoon.com/en/conference/tuesday.html">Jazoon 09, on Tuesday the 23rd of June 2009</a>, <a href="http://blog.valtech.fr/wordpress/2009/06/23/jazoon-09-sessions-du-mardi-23-juin/">vous pouvez lire la traduction en français sur le blog de Valtech</a></p>
<h3>James Gosling keynote : 9:50 to 10:45</h3>
<p>First a nice little video from Java One, introducing the history of Java ! Very funny how Java conquered the world !<br />
Then James Gosling begins his speech.<br />
Today there are more JREs installed than people on earth ! It can be be smart cards, desktops, phones&#8230; 6M Java developers today in the world &#8230; 15M JRE downloads / week.<br />
You can now view Java as &laquo;&nbsp;Learn One, Work everywhere&nbsp;&raquo; because it&#8217;s really spread everywhere now !<br />
James Gosling then describes the brazilian healthcare, where every piece of paper is now on the network : prescriptions, x rays, everything is now on the network (thanks to Java !), ebay, metropolitan networks cards, web apps, games&#8230; Java is everywhere !<br />
But the main thing is not java as the language, but the JVM that now hosts Ruby, Scala, JavaScript, etc&#8230;<br />
James then showed us a bit of java code : a servlet for Java EE6 running on GlashFish v3, changed, saved and instantly shown just refreshing the browser ! No more deployment bottleneck !<br />
He also introduced Netbeans, as the best IDE ! version 6.7 now integrates with project kenai, a sourceforge like (you can check in/out merge your files, etc&#8230; from Netbeans to kenai), also some better maven support.<br />
Java is also used in the real time world, even in a car that James turns into electric : a lincoln (lincvolt.org) which is hybrid, connected to the internet, running java code for measurement and control.<br />
Now down to the performance part :  Java is highly optimized, genrally beats C/C++, GC is a lot faster than malloc/free !<br />
Multithreading is the future of software designing : because the processors speed is not evolving anymore, we&#8217;ve got to think multicore !<br />
Java is also running on cellphones, JSR 248, Mobile Service Architecture aggregates all Java mobile specs.<br />
JDK7 will be modular (see Mark Reinhold&#8217;s blog), dynamic language support will be available too (JSR 292?); waiting for Java 7, there are still Java SE 6 updates : better browser and desktop integration are on their way !<br />
Of course, we got a few slides about JavaFX, which can run on desktops, mobile phones, set top boxes, etc&#8230;<br />
To finish his speech, James reminded us with all the java communities : netbeans.org, java.net, glassfish.org, etc&#8230;</p>
<h3>Java EE 6 11:00 &#8211; 11:50 by Roberto Chinnici from Sun</h3>
<p>Java EE6 was too complicated, so they decided to make it more easy to use, more powerful, and more flexible.<br />
That&#8217;s why they created the profiles, letting the users choose the features they need.<br />
For example the web profile includes everything for the web development, including the EJB 3.1 lite, and bean validation.</p>
<h4>Servlet 3.0</h4>
<p>New annotations @WebServlet, @WebFilter, @WebListener, the possibility to register new web components just adding them to WEB-INF/lib directory, a new async mode using just a single thread for many requests</p>
<h4>JAX-RS 1.1 : RestFul webservices</h4>
<p>This API is there to abstract low level HTTP details : using @GET and @POST (etc..) you can define your retrieval and creation REST operations, JAX-RS translates the XML to the java entities (and back) automatically for you (you can also use JSON)</p>
<h4>Bean Validation 1.0 (JSR-303)</h4>
<p>This API is here to validate fields (text inputs for example)<br />
Seems to be really verbose just to define constraints&#8230; We&#8217;ll see&#8230;</p>
<h4>EJB 3.1</h4>
<p>No intefaces anymore ! One source file per bean.<br />
New timer annotation @Schedule allowing some cron-like scheduling in the container : a great example provided is the case of a cache refreshing ! No more Mbeans called externally with crons, everything can be integrated in the application code !<br />
EJB 3.1 lite can run on Java SE, great for testing and also in a war file !<br />
Oups, we&#8217;re running out of time, the speaker skipped JPA 2.0</p>
<h3>&laquo;&nbsp;Design Patterns&nbsp;&raquo; in Dynamic Languages 12:00 &#8211; 12:50 by <a href="http://www.nealford.com">Neal Ford from ThoughtWorks</a> (nealford.com)</h3>
<p>After comparing mixing dynamic languages with whisky blending, Neal Ford reminded us about the history of Design Patterns : basically for &laquo;&nbsp;making C++ code suck less&nbsp;&raquo; !<br />
But the point is : the design pattern designed in 1994 are not always useful today : for example the iterator is quite complicated, whereas today in dynamic languages, like Ruby a collection.each{[x| puts x} is so much more&#8230; efficient !<br />
Command design pattern is already built in closures !<br />
The same for strategy, template, interpreter (the example showed how easy it is to implement a DSL in Groovy, defining new behaviors in the Integer class), decorator, recorder, adapter<br />
Then Neal described some other desgn pattern for dynamic languages : the null pattern (?. in groovy) and the aridifier pattern.<br />
To conclude with, Neal suggest that we should try the tools provided with the languages we&#8217;re using instead of blindly trying to copy the patterns designed for older, other languages !</p>
<h3>Gradle : A build system for Java 14:00 &#8211; 14:50, by Hans Dockter</h3>
<p>First the speaker reminds us of Ant and Maven.<br />
With Ant, it&#8217;s always been repetitive, with a lot of copy and paste when a new project starts, due to Ant limited domain model (resources, target, properties,)<br />
There is no place for listener in an Ant build&#8230;<br />
A gradle script can import old ant build scripts.<br />
With Gradle, you can call ant tasks, and even implement listeners on your ant task&#8230; An ant task called in a gradle scrip can even be aware of the next task that will be called !<br />
Maven, on its side is a build by convention framework, which has introduced dependency management.<br />
But Maven uses XML, and 25 lines of XML are required to launch a simple build !<br />
Maven uses transitive dependency whereas Gradle is able to skip tasks (which can be handy when a Maven dependency is broken&#8230;)<br />
Gradle aims to be a build language rather than a build framework; because when a framework does not implement a functionality, you spend your time fighting against the framework to make him do something it was not intended to do.<br />
You can define your maven build with a groovy script using gradle.<br />
With gradle, it becomes easy to define usually manual and entreprise specific tasks like release management or deployment.<br />
Grandle can use Apache Ivy or Maven dependencies, it can even deploy a build to a maven repository.<br />
There is also a Gradle Wrapper to start using Gradle without installing it : the Continuous integration machine will download Gradle for you and execute the gradle script (which is a shell script downloading gradle) !<br />
What&#8217;s next? Gradle 1.0 will be out in Autumn.<br />
Q&#038;A :<br />
What open source projects are already using Gradle ?<br />
Grails, but others are to come.</p>
<h3>Next Generation Enterprise Builds: Maven, Mercury, and Tycho (for OSGi builds) by Jason van Zyl from Sonatype</h3>
<h4>Maven 3.0 </h4>
<p>Better integration in IDEs, faster, rewritten artifact resolution system, etc&#8230;<br />
Maven 3.0 is more focused on integration tests, provides a new version of the plugin manager, a queryable lifecycle to make the tools able to predict what&#8217;s going to be done and also able to ask to execute a particular step.<br />
Maven 3.0 uses Mercury : a new repository and transport layer, that can be used with others systems (Ruby gems, Eclipse P2 dependency management)</p>
<h4>M2eclipse</h4>
<p>M2eclipse has also been improved, now m2eclipse won&#8217;t call every maven tasks on a a save action, it will only call the appropriate ones.<br />
The m2eclipse team would like the users to be able to resolve every maven operations from Eclipse,<br />
M2eclipse is now compatible with Flex (out by october 2009).</p>
<h4>Nexus</h4>
<p>Only 5% of the maven users use a repository manager.<br />
Nexus is also for binary sharing inside the enterprise, it a repository manager, it&#8217;s like a source control management, but for binaries !<br />
Nexus main advantage is also the caching system it provides.<br />
Nexus can be queryed through m2eclipse, Nexus API can be used through REST, which makes it very easy to use.</p>
<h4>Hudson</h4>
<p>For its next version, hudson will integrate :d rools workflow integration (with a workflow editor), a rest layer to query hudson, unifying hudson m2eclipse, nexus better maven integration</p>
<h3>Testing Zen 16:00 &#8211; 16:20 by Thomas Mueller, Day</h3>
<p>In this session Thomas gave us the reasons why we should test our code.<br />
Then he continued giving us an example of fuzz testing (data generation to test)<br />
Code coverage (with Emma) to find untested and dead code.<br />
Database testing is often hard : a pain to install&#8230; so you can use a Java SQL Database like HSQL (a good one), H2 (the best, and also the one the speaker is working on ! <img src='http://blog.dahanne.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ) or Derby (the worse).</p>
<h3>Creating Performance Test Data with benerator, by Volker Bergmann</h3>
<p>Usually performance testers prefer testing with production data, but sometimes it is not possible (for privacy reasons or if the system is new).<br />
In those cases, you have to use a data generator, like Benerator that can create and anonymize data, to DB, file, LDAP,  JCR, etc&#8230;</p>
<p>To finish the day, we had a really nice speech from Neal Ford, about technology predictability, that was real fun !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dahanne.net/2009/06/23/jazoon-09-first-day-first-sessions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Certified Scrum Master Session in La Defense on June 17th and 18th</title>
		<link>http://blog.dahanne.net/2009/05/28/certified-scrum-master-session-in-la-defense-on-june-17th-and-18th/</link>
		<comments>http://blog.dahanne.net/2009/05/28/certified-scrum-master-session-in-la-defense-on-june-17th-and-18th/#comments</comments>
		<pubDate>Thu, 28 May 2009 07:48:50 +0000</pubDate>
		<dc:creator>anthony.dahanne</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[meeting]]></category>

		<guid isPermaLink="false">http://blog.dahanne.net/?p=151</guid>
		<description><![CDATA[On Wednesday the 17th and Thursday the 18th of June (in [...]]]></description>
			<content:encoded><![CDATA[<p>On Wednesday the 17th and Thursday the 18th of June (in less than a month) I&#8217;m gonna attend a Certified Scrum Master training session @<a href="http://www.valtech-training.fr"> Valtech Training France </a>in La Defense, by Jeff Mc Kenna.<br />
I&#8217;m pretty excited about this training as Scrum becoms more and more popular and it&#8217;s going to the occasion to chat with an experienced Scrum Master.<br />
<a href="http://blog.valtech.fr/wordpress/2009/04/15/certification-scrum-master-avec-valtech/">Eric from Valtech published an interesting post about this event, mentioning a video with Jeff Mc Kenna</a><br />
Some seats are still available, you should have more information at this page : <a href="http://www.valtech-training.fr/fr/index/training/formations/methodes_pratiques_agiles/CSM.html">Certified Scrum Master Training at La Defense 17th and 18th of June 2009.</a><br />
See you there !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dahanne.net/2009/05/28/certified-scrum-master-session-in-la-defense-on-june-17th-and-18th/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XP Day France 09 : compte rendu de sessions suivies</title>
		<link>http://blog.dahanne.net/2009/05/25/xp-day-france-09-compte-rendu-de-sessions-suivies-12/</link>
		<comments>http://blog.dahanne.net/2009/05/25/xp-day-france-09-compte-rendu-de-sessions-suivies-12/#comments</comments>
		<pubDate>Mon, 25 May 2009 11:05:50 +0000</pubDate>
		<dc:creator>anthony.dahanne</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[meeting]]></category>

		<guid isPermaLink="false">http://blog.dahanne.net/?p=144</guid>
		<description><![CDATA[Cette année encore, j'ai encore eu la chance de me ren [...]]]></description>
			<content:encoded><![CDATA[<p>Cette année encore, j&#8217;ai encore eu la chance de me rendre à<a href="http://xpday.fr/programme"> XPDay France</a> (merci <a href="http://blog.valtech.fr">Valtech Technology</a>, mon employeur !), LA réunion agile française, qui se déroule sur 2 jours (je ne suis que le Lundi)<br />
Cette année, je présente avec 2 collègues, Yannick Ameur et Stpéhane Malbéqui la session <a href="http://blog.valtech.fr/wordpress/2009/05/20/prets-pour-les-valtech-days/">&laquo;&nbsp;TDD avec ou sans mocks&nbsp;&raquo;</a> à 15:00 , mais en attendant, j&#8217;ai pu assister aux sessions suivantes :</p>
<h3>Modelisation agile</h1>
<p>par Pascal Roques ancien consultant Valtech/ Valtech Training, aujourd&#8217;hui  chez A2 consultants,  expert en UML,  présente comment modéliser en mode Agile, 45 min de présentation, 45 minutes de Travaux pratiques<br />
En introduction, Pascal nous rappelle que les spécifications nes ont pas désuètes, même à l&#8217;heure de l&#8217;agilité : c&#8217;est pas forcément lourd, cher, et encore moins inutiles, il s&#8217;appuie d&#8217;ailleurs sur les dires de &laquo;&nbsp;gurus&nbsp;&raquo; agiles comme A. Cokburn, M. Fowler et C. Larman, auteurs qui pronent la modélisation agile, la référence  étant http://www.agilemodeling.com par Scott Ambler.<br />
Il faut trouver le juste milieu entre pas de modélisation, et trop de modélisation (génération de tout le code, etc..)<br />
Pascal nous a ensuite présenté les valeurs de la modélisation agile : communication, simplicité, feedback, courage humilité !</p>
<h4>Pratiques de la modélisation agile : </h4>
<ul>
<li>au fur et à mesure, au moment où en a besoin, pas tout d&#8217;un coup !</li>
<li>modéliser ensemble : sur un grand tableau blanc par exemple</li>
<li>simplicité : il n&#8217;est pas nécessaire d&#8217;avoir des énormes outils, des outils simples suffisent, voire meme juste 1 paperboard qu&#8217;on prend en photo !</li>
<li>validation : ne pas oublier de valider le modèle ne le codant !</li>
</ul>
<p>Quand doit on modéliser ? plutot en début d&#8217;itération, ou au sprint 0 en Scrum, la première itération de cadrage<br />
Pascal nous présente ensuite un exemple : librairie en ligne</p>
<ul>
<li>1er diagramme : use cases (consultation, achat d&#8217;ouvrages, etc&#8230;</li>
<li>2eme diagramme : diagramme de séquances : représentation des intéractions dynamiques entre acteurs (internaute et librairie en ligne)</li>
<li>Diagramme de classes : juste ce dont on besoin : le livre et l&#8217;auteur dans un premier temps, le panier et les lignes panier dans un second temps</li>
</ul>
<h4>Travaux pratiques : </h4>
<p>Jeu du démineurs : écrire de diagramme de cas et de séquence et de classe faits par groupe de 8 sur le paper board.<br />
En conclusion, l&#8217;important n&#8217;est pas le modèle obtenu, mais le fait d&#8217;avoir réfléchi ensemble !<br />
Pascal a terminé sa conclusion en présentant des outils de modélisation agile :<br />
, entre autres http://www.yuml.me (creation de diagrammes UML en ligne, publication sur wiki ou blog), http://www.websequencediagrams.com</p>
<h3>Ceintures et bretelles : Test d&#8217;applications Web par Arnaud Bailly</h3>
<p>Beaucoup de bugs dans les applis web, interfaces graphiques de plus en plus riches, on veut enregistrer et rejouer des scénarios de manière automatisée.<br />
On s&#8217;intéresse uniquement du côté client.<br />
Exemple en Java / Scala :utilisation de maven 2, selenium, web driver, JqUnit (tests unitaires JQuery) pour l&#8217;exécution des tests en &laquo;&nbsp;mvn clean install&nbsp;&raquo;<br />
2eme démo : avec le framework Spec, cas de test écrit en BDD (Behaviour Driven Development)<br />
C&#8217;est bien, mais un peu long (27 sec. pour 3 tests) !<br />
Intégration des tests dans un serveur d&#8217;intégration continue, et utilisation de Virtual FrameBuffer pour que les tests puissent lancer le navigateur sans serveur X.<br />
Mais çà devient de plus en plus complexe ! On peut penser à utiliser HTMLUnit pour remplacer le navigateur, mais çà restera long&#8230;<br />
Puisque le code JavaScript est de qualité, testé, avec domaine métier, pourquoi utiliser un navigateur finalement ?<br />
En exécutant les tests sans passer par un navigateur, on gagne du temps (on en est au 18 sec.)<br />
En conclusion, Arnaud se pose la question si les tests d&#8217;IHM apportent vraiment de la valeur, car après tout, les tests sont trop long à exécuter (un projet avec 50 tests peut mettre 1 nuit à passer); même s&#8217;il est important de tester le côté fonctionnel, mais question ergonomi, placement des zones les testeurs humains ont toujours leur plus value !</p>
<h3>XP 2.0 : améliorer l’amélioration continue avec Lean, par Régis Medina et Antoine Contal</h3>
<p>Après XP, découverte de Lean<br />
A travers du vécu lors de la mise en place de Orange Web TV, Antoine explique sa démarche Scrum dans son équipe et Régis y confronte Lean.<br />
Régis essaie de cibler la volonté du client, la performance obtenue : mais en observant les indicateurs, on observe un décalage entre la performance attendue et la performance atteinte : un problème apparaît.<br />
Des concepts Lean comme le QRQC (Quick Response Quality Control), les checklists ont été évoqués et mis en oeuvre sur le projet d&#8217;Antoine.<br />
Antoine a apprécié lors de sa mise en oeuvre Lean :</p>
<ul>
<li>Les indicateurs de performance</li>
<li>Les standard de travail</li>
<li>l&#8217;amélioration continue (tous les jours du just do it)</li>
</ul>
<p>Il a aussi trouvé dur à appliquer ces règles : par exemple : le processus est sans fin<br />
Après la pause déjeuner, passée avec d&#8217;anciens et d&#8217;actuels Valtech (!) nous avons répété la session </p>
<h3>TDD avec ou sans Mock</h3>
<p>session donnée à 15h15 (un peu de retard, sur le planning) par moi même, <a href="http://twitter.com/smalbequi">Stéphane Malbéqui</a> et <a href="http://twitter.com/yannickameur">Yannick Ameur</a> d&#8217;ailleurs si vous avez aimé la présentation, et bien déjà n&#8217;hésitez pas à poster un commentaire, et ensuite rendez vous sur l&#8217;hébergement de la présentation:</p>
<p>http://code.google.com/p/tddavecousansmock/</p>
<p>La session a un peu dérapé (mais pas trop) l&#8217;affichage des slides sur le video projecteur était pas super, mais en tout cas je pense que le sujet a éveillé les consciences : mocker n&#8217;est pas automatique et d&#8217;un autre côté les tests unitaires ne suffisent pas !<br />
Ensuite, direction </p>
<h3>Mon JavaScript est agile</h3>
<p>Toujours donnée par Arnaud Bailly, très intéressante (et très technique aussi), prouvait qu&#8217;il est possible de faire du TDD avec des DSL en JavaScript !</p>
<p>Ensuite le mot des sponsors, au nombre de 5 je crois, l&#8217;apéro Agile et le repas Agile, d&#8217;excellente qualité,  des bons moments pour échanger avec les agilistes francophones (on a beaucoup parlé de la comparaison iPhone/Android quand même <img src='http://blog.dahanne.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  vivent les système ouverts!)<br />
Dommage, je n&#8217;y reviendrai pas demain, bonne journée pour ceux qui auront la chance d&#8217;y être !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dahanne.net/2009/05/25/xp-day-france-09-compte-rendu-de-sessions-suivies-12/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Jazoon 09 : le programme officiel de la conférence</title>
		<link>http://blog.dahanne.net/2009/04/05/jazoon-09-le-programme-officiel-de-la-conference/</link>
		<comments>http://blog.dahanne.net/2009/04/05/jazoon-09-le-programme-officiel-de-la-conference/#comments</comments>
		<pubDate>Sun, 05 Apr 2009 13:25:28 +0000</pubDate>
		<dc:creator>anthony.dahanne</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jazoon 09]]></category>
		<category><![CDATA[meeting]]></category>

		<guid isPermaLink="false">http://blog.dahanne.net/?p=127</guid>
		<description><![CDATA[çà y est, il est en ligne !
Vous pouvez jeter un cou [...]]]></description>
			<content:encoded><![CDATA[<p>çà y est, il est en ligne !<br />
Vous pouvez jeter un coup d&#8217;oeil au programme de Jazoon 2009 (qui aura lieu fin Juin) en cliquant sur ce lien :<br />
<a href="http://jazoon.com/en/conference/schedule.html">http://jazoon.com/en/conference/schedule.html</a><br />
Je commence à élaborer mon planning pour cette semaine (bien que j&#8217;ai énormément de mal à faire mon choix, beaucoup de sujets sont très intéressants)</p>
<ul>
<li>Lundi (si j&#8217;y suis):  Glassfish</li>
<li>Mardi : Java EE6, groovy, Spring 3.0, GWT, iphone, maven , mobile java</li>
<li>Mercredi : hudson, securing ajax,jsf 2,mule, android</li>
<li>Jeudi : android, rest, mockito, openjdk</li>
</ul>
<p>çà va être épuisant je sens !<br />
Trop hâte d&#8217;y être !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dahanne.net/2009/04/05/jazoon-09-le-programme-officiel-de-la-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jazoon Cutting Edge</title>
		<link>http://blog.dahanne.net/2009/03/22/jazoon-cutting-edge/</link>
		<comments>http://blog.dahanne.net/2009/03/22/jazoon-cutting-edge/#comments</comments>
		<pubDate>Sun, 22 Mar 2009 13:31:37 +0000</pubDate>
		<dc:creator>anthony.dahanne</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[jazoon 09]]></category>
		<category><![CDATA[meeting]]></category>

		<guid isPermaLink="false">http://blog.dahanne.net/?p=117</guid>
		<description><![CDATA[Lors de la conférence Jazoon 2009 à Zurich, auront li [...]]]></description>
			<content:encoded><![CDATA[<p>Lors de la <a href="http://jazoon.com">conférence Jazoon 2009 à Zurich</a>, auront lieu les Jazoon Cutting Edge, des présentations de 20 minutes sur des développements Java récents; si vous êtes intéressés pour donner une de ces présentations, <a href="http://jazoon.com/en/contribute.html">proposer votre présentation à Jazoon</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dahanne.net/2009/03/22/jazoon-cutting-edge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RailsCampParis 2 : le rendez vous de la communauté Ruby et Rails</title>
		<link>http://blog.dahanne.net/2009/03/07/railscampparis-2-le-rendez-vous-de-la-communaute-ruby-et-rails/</link>
		<comments>http://blog.dahanne.net/2009/03/07/railscampparis-2-le-rendez-vous-de-la-communaute-ruby-et-rails/#comments</comments>
		<pubDate>Sat, 07 Mar 2009 19:56:51 +0000</pubDate>
		<dc:creator>anthony.dahanne</dc:creator>
				<category><![CDATA[meeting]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.dahanne.net/?p=110</guid>
		<description><![CDATA[Samedi 7 Mars avait lieu la 2ème édition du RailsCamp [...]]]></description>
			<content:encoded><![CDATA[<p>Samedi 7 Mars avait lieu la 2ème édition du RailsCampParis, cette fois ci dans les locaux de Sun, avenue de Iéna (souvenez l&#8217;an dernier c&#8217;était à <a href="http://lacantine.org">La Cantine</a>)<br />
Une bonne soixantaine de personnes était présente pour le démarrage de cette journée, à 10h30; l&#8217;accueil était très bien rodé, avec contrôle de l&#8217;identité des visiteurs, attribution d&#8217;un autocollant avec nom/prénom tags, pour faciliter les échanges entre participants, et café / petit déj copieux <img src='http://blog.dahanne.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
Après une bref intro et la présentation des sponsors, les personnes présentes se sont présentées, avec 3 tags (j&#8217;avais choisi JRuby, Rails, TDD)<br />
Dispersé sur 8 salles, les sujets ont commencé à émerger : beaucoup de merb, un peu de TDD/BDD, de la perf, de la scalabilité, bref, la journée s&#8217;annonce bien !<br />
Je me suis rendu aux sessions : </p>
<h3>&laquo;&nbsp;plugins préférés dans Rails&nbsp;&raquo;</h3>
<p> , les participants ont alors évoqué leurs plugins rails préférés et leurs utilisations ; on retiendra <a href="http://github.com/technoweenie/attachment_fu/tree/master">attachment_fu : pour l&#8217;upload des fichiers</a> ou encore <a href="http://thoughtbot.com/projects/paperclip">PaperClip</a>, Restful Authentification pour l&#8217;authentification.<br />
Quand aux plugins de test, en remplacement on retrouve RSpec, utilisé conjointement avec factory girl et shoulda (autre syntaxe que celle de RSpec de base); TestUnit peut s&#8217;utiliser avec Machinist, shoulda et faker (?)<br />
Bien entendu, Cucumber a été évoqué, car RSpec reste finalement trop technique pour un fonctionnel.<br />
Un petit retour sur <a href="http://github.com/thoughtbot/factory_girl/tree/master">Factory Girl</a> a été fait : factory girl permet de remplacer intelligemment les fixtures en YAML par des bouts de code (en Ruby); on utilise factory girls pour créer les objets à tester; que l&#8217;on persiste ou non (du coup un mock) dans la base&#8230; très intéressant ! </p>
<h3>présentation de Merb (par <a href="http://blog.shingara.fr/railscampparis-2-jy-etais-et-cetait-sympa.html">Cyril Mougel</a>)</h3>
<ul>
<li>ORM agnostique (Active Record, Data Mapper, etc&#8230;),</li>
<li>Javascript agnostique (JQuery, MooTools, etc&#8230;)</li>
<li>Comme Rails 2.2, compatible Rack</li>
<li>3 briques : merb-core, merb-more (le reste d&#8217;ActionPack), merb-plugins (ne sort pas simultanément avec les 2 autres, paquets de communication avec d&#8217;autres briques comme ActiveRecord, etc..)</li>
<li>mot clef &laquo;&nbsp;provides&nbsp;&raquo; permet de stipuler les formats de rendu des vue (.xml, .html, .json, etc..à plutot que &laquo;&nbsp;format=&nbsp;&raquo; en Rails</li>
<li>merb slices : déploiement d&#8217;une unique fonctionnalité (route au final) de l&#8217;application</li>
<h3>présentation de rails 3.0</h3>
<p><a href="http://yeastymobs.com">Nicolas Mérouze</a> est d&#8217;abord revenu sur un historique des fonctionnalités apparues dans rails et merb au cours des versions, pour en arriver au futur Rails 3; puis a exposé la vision des &laquo;&nbsp;poupées russes&nbsp;&raquo;, qui rappelait beaucoup certains concepts SOA de réutilisation du métier, des modèles à travers des services de plus haut niveau&#8230;<br />
Après avoir introduit <ah ref="http://adva-cms.org/">adva-cms (devenu adva-community)</a>, il a présenté son projet : Russian Dolls (vieux de 1 jour!), un plugin de Merb</p>
<p>Enfin, je me suis rendu à la table ronde Rack, où les différents participants ont évoqué ce qu&#8217;est Rack : une application &laquo;&nbsp;middleware&nbsp;&raquo; entre le serveur web et le framework Ruby. Pourquoi utiliser Rack ? par exemple pour gérer les routes en Ruby plutôt que dans un virtual host Apache (ainsi que que les accès à la page 404 ou autres); et ainsi garder la même conf quelque soit le serveur web en frontal, pratique aussi si on a  pas les droits sur la conf Apache ! Aussi, Rack permet de faire du routing entre différentes applications web Ruby.</p>
<p>Après j&#8217;ai dû partir, dommage, une session devait aborder en plus approfondi le thème des tests en Ruby&#8230; En tout cas l&#8217;organisation était parfaite, le &laquo;&nbsp;timeboxing&nbsp;&raquo; de 1h pour chaque session se prêtait très bien à l&#8217;événement, les pizzas, les boissons, les croissants, le tee shirt, vraiment, une excellente organisation ! J&#8217;ai de plus le sentiment que la communauté Rails se préoccupe de plus en plus de la qualité, les débats (ou trolls!) entre TestUnit et RSpec prouvent que les développeurs Rubyistes en  sont soucieux  et c&#8217;est tant mieux !!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dahanne.net/2009/03/07/railscampparis-2-le-rendez-vous-de-la-communaute-ruby-et-rails/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Jazoon 2009 : j&#8217;y serai !</title>
		<link>http://blog.dahanne.net/2009/02/28/jazoon2009-j-y-serai/</link>
		<comments>http://blog.dahanne.net/2009/02/28/jazoon2009-j-y-serai/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 22:58:09 +0000</pubDate>
		<dc:creator>anthony.dahanne</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[jazoon 09]]></category>
		<category><![CDATA[meeting]]></category>

		<guid isPermaLink="false">http://blog.dahanne.net/?p=108</guid>
		<description><![CDATA[Fin Juin 2009 aura lieu à Zürich une conférence inte [...]]]></description>
			<content:encoded><![CDATA[<p>Fin Juin 2009 aura lieu à Zürich <a href="http://jazoon.com">une conférence internationale sur Java, Jazoon</a>.<br />
La première fois que j&#8217;en ai entendu parler était début Février, à l&#8217;anniversaire du ParisJug.<br />
Je reviendrai sur cet événement d&#8217;ici fin Juin (c&#8217;est du 22 au 25 Juin plus précisément), pour le moment, je sais qu&#8217;en plus d&#8217;avoir des acteurs connus du monde de Java, ils organisent les <a href="http://jazoon.com/en/contribute/rookie.html">Jazoon Rookie</a>, réservé aux moins de 26 ans, qui pourront venir concourir en présentant un sujet technique pendant 20 min devant un jury (clotûre des inscriptions : 15 mars 2009)<br />
A suivre !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dahanne.net/2009/02/28/jazoon2009-j-y-serai/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Retour sur le premier anniversaire du ParisJug</title>
		<link>http://blog.dahanne.net/2009/02/11/retour-du-parisjug-1-an-10-02-2009/</link>
		<comments>http://blog.dahanne.net/2009/02/11/retour-du-parisjug-1-an-10-02-2009/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 06:57:40 +0000</pubDate>
		<dc:creator>anthony.dahanne</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[meeting]]></category>

		<guid isPermaLink="false">http://blog.dahanne.net/?p=104</guid>
		<description><![CDATA[Ce Mardi soir 10 Février au soir, avait lieu le 1er an [...]]]></description>
			<content:encoded><![CDATA[<p>Ce Mardi soir 10 Février au soir, avait lieu le 1er anniversaire du Paris Jug, au <a href="http://www.fiap.asso.fr/">Fiap Jean Monnet</a>, précisément là où avait lieu<a href="http://www.xpday.fr/"> XP Days 2008</a>.<br />
Après une présentation de<a href="http://jazoon.com/"> Jazoon</a> et de<a href="http://www.javablackbelt.com/"> JavaBlackBelt</a> (et aussi du massage proposé aux juggeurs, en fond de salle !), Antonio Goncalvès revenait sur cette 1ere année de Paris Jug (en remerciant bien sur l&#8217;Isep où se rencontrent les juggeurs parisiens d&#8217;habitude).<br />
Il en a profité pour revenir sur quelques chiffres : plus de 1200 inscrits sur la mailing list &laquo;&nbsp;announce&nbsp;&raquo; et 200 sur la mailing list &laquo;&nbsp;coeur&nbsp;&raquo;; 15000 visiteurs sur les 7 derniers mois !<br />
David, le trésorier est revenu sur le fait que ParisJug est une association 1901, qui trouve son financement de plusieurs sponsors !<br />
A la fin de cette introduction, tous les &laquo;&nbsp;Jug Leaders&nbsp;&raquo; de France (et Luxembourg) sont montés sur la scène se présenter.</p>
<p>Oups ! problème technique, on passe à la présentation du <a href="http://wicket.apache.org/">framework Web Wicket</a> par Tarik Filiali Ansary.<br />
Wicket utilise uniquement du code Java pour définir ses pages, on fait la liaison entre le modèle et la vue dans une classe Java par exemple !<br />
On peut non seulement créer ses propres composants, par simple héritage (çà me fait penser à GWT çà d&#8217;ailleurs), mais on peut aussi rajouter des comportements à des composants.</p>
<p>A la fin de cette présentation technique, les jug leaders ont cette fois ci pu présenter leur activité et objectifs, dans une ambiance très décontractée ! : BreizhJug (60 participants en moyenne), RivieraJug (80 participants en moyenne, 1 mois d&#8217;existence), BordeauxJug (30 particiapans en moyenne), ToursJug (35 participants en moyenne), LorraineJug (tres récent, depuis le 29 Janvier 2009), YaJug (du Luxembourg, depuis 2006, 30 à 50 personne présentes par événement) JugToulouse (1ère soirée en Mars), Lyon Jug (1ère soirée en Avril), Nantes Jug (30 personnes en moyenne par soirée). </p>
<p>Un organisateur de Jazoon est venu présenter la conférence 2009 (22-25 Juin) , à Zurich compter 1100 € pour les 3 jours. (plutôt 700 euros si on s&#8217;y prend en avance et qu&#8217;on évoque ParisJug)<br />
Juste avant le buffet, a eu lieu une séance de quizz (j&#8217;ai d&#8217;ailleurs gagné un bouquin sur Flex et <a href="http://yannick.ameur.free.fr/">Yannick</a> un bouquin sur Java 6 SE !) et ensuite a été lancé la roue de la fortune JavaFX (!) pour gagner des licences IntelliJ Idea.</p>
<p>Après un buffet où les plus de 200 participants ont pu se retrouver, nous avons eu une présentation de<a href="http://parleys.com"> parleys.com</a> par le créateur de Devoxx; parleys.com (en Flex) qui contient des centaines de présentations techniques (avec vidéo et diapositives des présentations) de conférences comme Spring One, Devoxx, JavaOne, etc&#8230; Nous avons ensuite eu droit à la démonstration de parleys.com en Java FX (où l&#8217;on peut glisser l&#8217;applet sur le bureau, plutôt impressionnant), et enfin en GWT.</p>
<p>Avant de partir (il se faisait tard!) j&#8217;ai pu assister à la présentation de Java SE 7 : j&#8217;ai en l&#8217;occurrence retenu que </p>
<ul>
<li>les .getProp()!=null pourront etre etre remplacés par ?.getProp()</li>
<li>nouveau garbage collector par segmentation</li>
<li>simplifaction sur l&#8217;ecriture des génériques : HashMap<Integer>,List<String>> toto = new HashMap<>()</li>
<li>nouvelles annotations pour poser des contraintes sur des champs (email par exemple)</li>
</ul>
<p>etc&#8230; la présentation allait vite il faut dire difficile de tout voir !.</p>
<p>Dommage pour la présentation de JOGL à laquelle je n&#8217;ai pu assister (il se faisait tard&#8230; 22h45) !<br />
L&#8217;ambiance était vraiment bonne, le nombre de participants impressionnant (plus de 200 entre 20h et 23h !), et comme d&#8217;habitude, la qualité des interventions était de très bonne facture ! Joyeux anniversaire ParisJug !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dahanne.net/2009/02/11/retour-du-parisjug-1-an-10-02-2009/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>JavaCamp à Paris, édition 3, Samedi 31 Janvier !</title>
		<link>http://blog.dahanne.net/2009/01/25/javacamp-a-paris-edition-3-samedi-31-janvier/</link>
		<comments>http://blog.dahanne.net/2009/01/25/javacamp-a-paris-edition-3-samedi-31-janvier/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 20:34:11 +0000</pubDate>
		<dc:creator>anthony.dahanne</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[meeting]]></category>

		<guid isPermaLink="false">http://blog.dahanne.net/?p=97</guid>
		<description><![CDATA[Eric Lefèvre-Ardant et moi-même avons le plaisir de v [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ericlefevre.net">Eric Lefèvre-Ardant</a> et moi-même avons le plaisir de vous proposer un <a href="http://fr.wikipedia.org/wiki/BarCamp">BarCamp</a>, plus particulièrement un <a href="http://barcamp.org/JavaCampParis3">barcamp orienté sur le langage Java</a>, ce samedi 31 janvier !<br />
Cette journée (9h30-16h30) sera l&#8217;occasion d&#8217;échanger vos idées, vos interrogations, vos problématiques autour de Java avec vos pairs.<br />
Comme dans tout <a href="http://www.sachal.fr/2007/06/15/10-etapes-pour-organiser-un-barcamp-crystal-williams-vous-dit-tout/">Barcamp, vous êtes invités à présenter</a>, aussi vous pouvez venir parler de votre dernière trouvaille !<br />
Ce Barcamp étant situé dans <a href="http://fr.sun.com/aboutsun/location/index.jsp?loc=FR-PARIS">les locaux de Sun, à Paris</a>, vous pourrez choisir quels sont les sujets qui vous intéressent le plus et rejoindre les salles en traitant.</p>
<p>Un buffet vous sera également proposé pour la pause déjeuner, par les sponsors de l&#8217;événement : <a href="http://www.valtech.fr">Valtech</a> et <a href="http://fr.sun.com">Sun</a>.<br />
<a href="http://www.parisjug.org">ParisJug</a> est également partenaire de l&#8217;événement!<br />
N&#8217;hésitez à diffuser l&#8217;info autour de vous, et n&#8217;oubliez pas de <a href="http://barcamp.org/JavaCampParis3">vous inscrire à JavaCampParis3</a> !<br />
A Samedi !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dahanne.net/2009/01/25/javacamp-a-paris-edition-3-samedi-31-janvier/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Afterwork GWT du 17 Décembre 2008 chez Valtech</title>
		<link>http://blog.dahanne.net/2008/12/25/afterwork-gwt-du-17-decembre-2008-chez-valtech/</link>
		<comments>http://blog.dahanne.net/2008/12/25/afterwork-gwt-du-17-decembre-2008-chez-valtech/#comments</comments>
		<pubDate>Thu, 25 Dec 2008 09:52:10 +0000</pubDate>
		<dc:creator>anthony.dahanne</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[meeting]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://blog.dahanne.net/?p=80</guid>
		<description><![CDATA[La semaine dernière, avec Pascal, nous présentions un [...]]]></description>
			<content:encoded><![CDATA[<p>La semaine dernière, avec Pascal, nous présentions une seconde fois l&#8217;after work GWT (<a href="http://blog.valtech.fr/wordpress/2008/11/30/presentation-de-gwt-a-lafterwork-du-25-novembre-2008/">voir le post précédent</a> pour le 1er afterwork).</p>
<p>Si vous n&#8217;êtes pas très saumon fumé ni champagne, mais plutôt Eclipse et Widget, je vous propose de réveillonner avec notre présentation mise à jour, ainsi que les workspaces d&#8217;execices et de correction ! <img src='http://blog.dahanne.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Ces workspaces sont utilisables sous windows (avec un JDK 5 minimum).</p>
<p>Pour n&#8217;avoir aucun problème, vous devrez installer gwt et gwtext  C:\dev, selon l&#8217;arborescence suivante (des chemins en dur sont présents dans les .launch entre autres) :</p>
<p><code>C:\dev\gwt\gwt-windows-1.5.3</code></p>
<p><code>C:\dev\gwt\gwtext-2.0.5</code></p>
<p>Pour Linux et MacOsX, le mieux est de récupérer les projets et de corriger les chemins de lancement (.launch).</p>
<p>Le succès était encore une fois au rendez vous, je remercie encore l&#8217;organisation côté Valtech Technology Consulting et côté Valtech Training !</p>
<p>Joyeux Noël à tous !</p>
<ul>
<li><a title="Présentation AfterWork GWT" href="http://blog.dahanne.net/wp-content/uploads/cours_du_soir_gwt_maj_15_12_2008.ppt">Présentation AfterWork GWT</a></li>
<li><a href="http://blog.dahanne.net/wp-content/uploads/workspaces_afterwork_gwt.zip">Workspace AfterWork GWT</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.dahanne.net/2008/12/25/afterwork-gwt-du-17-decembre-2008-chez-valtech/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Retour sur le ParisJug du 2 Novembre : GWT</title>
		<link>http://blog.dahanne.net/2008/11/11/retour-sur-le-parisjug-du-2-novembre-gwt/</link>
		<comments>http://blog.dahanne.net/2008/11/11/retour-sur-le-parisjug-du-2-novembre-gwt/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 16:17:33 +0000</pubDate>
		<dc:creator>anthony.dahanne</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[meeting]]></category>

		<guid isPermaLink="false">http://blog.dahanne.net/?p=77</guid>
		<description><![CDATA[La semaine dernière, je me suis rendu à la réunion P [...]]]></description>
			<content:encoded><![CDATA[<p>La semaine dernière, je me suis rendu à la réunion <a href="http://www.parisjug.org/xwiki/bin/view/Meeting/20081104">ParisJug du 4 Novembre 2008, où GWT était à l&#8217;honneur.</a><br />
La séance se déroulait dans les locaux de l&#8217;Isep, dans le 6ème arrondissement, de 19h30 à 22h.<br />
Quand je suis arrivé, la salle était pleine, plus d&#8217;une centaine de personne était là, impressionnant !<br />
Dans un premier temps, nous avons eu une présentation de GWT par Didier Girard.<br />
Cette présentation couvrait pas mal de points clefs de GWT comme :<br />
*cross browser (même sur Wii et Ipod Nano, avec exemples à l&#8217;appui)<br />
*une démonstration Hello World, avec le debug dans la console GWT<br />
*l&#8217;intégration de JavaScript existant en &laquo;&nbsp;wrappant&nbsp;&raquo; (mot clef &laquo;&nbsp;native&nbsp;&raquo; et mis en commentaire du code Javascript)<br />
*l&#8217;image bundler pour économiser la bande passante<br />
*présentation de l&#8217;intégration avec Gears<br />
*integration javascript : JSNI : en commentaire avec le mot clef native, pour wrapper du code JavaScript existant dans GWT<br />
*plusieurs pointeurs ont été donnés : ongwt.com, muquit.com,obm.org, contactoffice.com, myerp.com, clarityaccounting.com, gwtphp.com (back end en php)<br />
Le présentateur a aussi précisé que Google allait de plus en plus utiliser GWT pour leurs projets, par exemple, Google Health utilise GWT<br />
Des questions réponses ont terminé cette présentation très intéressante et concise. </p>
<p>Ensuite, après une pause restauration, Jérôme Louvel nous a présenté un portage de restlet sur GWT.<br />
Présentation de REST : utilisation du protocole HTTP (et autres) : GET,PUT,DELETE et POST.<br />
Restlet présente une API qui permet de lancer des requêtes vers du SMTP (envoi de mails), POP3 (lire un mail), HTTP( charger une page web), d&#8217;une manière bien plus simple qu&#8217;avec l&#8217;api du JDK.<br />
Il est aussi possible de créer des serveurs avec la même API. (exemple du reverse proxy trivial à écrire)<br />
Restlet-GWT supporte JSON et XML, et dispose de toutes les propriétés client de Restlet.<br />
A contrario, GWT-RPC n&#8217;est pas ouvert : un client GWT-RPC communique avec une appli serveur développée pour GWT; Restlet-GWT n&#8217;a pas de contraintes de ce côté là.<br />
La démonstration consistait justement à la réécriture de l&#8217;exemple GWT Mail avec l&#8217;API GWT Restlet</p>
<p>C&#8217;était ma première soirée ParisJug, et les sujets et orateurs étaient très intéressants; d&#8217;ailleurs quand on voit l&#8217;affluence (plus de 150 personnes) il y a fort à croire que c&#8217;est souvent le cas !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dahanne.net/2008/11/11/retour-sur-le-parisjug-du-2-novembre-gwt/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cours du soir JRuby</title>
		<link>http://blog.dahanne.net/2008/10/30/cours-du-soir-jruby/</link>
		<comments>http://blog.dahanne.net/2008/10/30/cours-du-soir-jruby/#comments</comments>
		<pubDate>Wed, 29 Oct 2008 22:28:38 +0000</pubDate>
		<dc:creator>anthony.dahanne</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[meeting]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.dahanne.net/?p=60</guid>
		<description><![CDATA[Ce Mardi 28 Octobre, dans le cadre des cours du soir de [...]]]></description>
			<content:encoded><![CDATA[<p>Ce Mardi 28 Octobre, dans le cadre des cours du soir de <a href="http://planet.valtech.fr">Valtech</a>, j&#8217;ai présenté une démonstration de la librairie open source JRuby, implémentation 100% Java de Ruby.<br />
A l&#8217;aide de travaux pratiques, avec les 7 participants présents, nous avons pu :</p>
<ul>
<li>  faire un bref rappel du langage Ruby (pendant 1H20 : définition de classe, héritage, module, mixin)</li>
<li>découvrir Jirb, shell permettant de découvrir les classes Ruby et Java (dans un jar)</li>
<li>utiliser des classes Java avec du code Ruby</li>
<li>découvrir Netbeans 6.1, notamment ses facultés &laquo;&nbsp;Ruby&nbsp;&raquo;</li>
<li>en 30 minutes, créer un projet Ruby On Rails, avec 2 modèles, création en scaffold des triplets MVC</li>
<li>déployer cette application Ruby on Rails, (grâce aux taches rake de Netbeans qui permettent de créer un war à partir d&#8217;un projet RoR) sur un conteneur de servlets, Tomcat en l&#8217;occurence</li>
</ul>
<p>Vous pouvez télécharger, à condition de respecter la licence ci dessous, les tps zippés ainsi que la présentation, au format OpenDocument (à lire avec <a href="http://fr.openoffice.org">OpenOffice</a>), ou pdf; vous pouvez aussi choisir de juste consulter la présentation avec l&#8217;applet flash ci dessous.</p>
<p><OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="320" HEIGHT="240" id="CoursDuSoirJRuby" ALIGN=""><br />
<PARAM NAME=movie VALUE="http://blog.dahanne.net/wp-content/uploads/jruby.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#333399> <EMBED src="http://blog.dahanne.net/wp-content/uploads/jruby.swf" quality=high bgcolor=#333399 WIDTH="480" HEIGHT="360" NAME="CoursDuSoirJRuby" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED> </OBJECT> </p>
<ul>
<li>
<a href='http://blog.dahanne.net/wp-content/uploads/tps.zip'>TPs JRuby à télécharger</a></li>
<li><a href='http://blog.dahanne.net/wp-content/uploads/jruby.odp'>Présentation cours du soir JRuby, au format OpenDocument</a></li>
<li><a href='http://blog.dahanne.net/wp-content/uploads/jruby.pdf'>Présentation du cours JRuby, au format pdf</a></li>
</ul>
<p><strong><br />
Prochain rendez vous Ruby/Rails à <a href="http://paris.onrails.info/">Paris On Rails</a> !<br />
</strong></p>
<p><a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.0/fr/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-nc-sa/2.0/fr/88x31.png" /></a><br /><span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" property="dc:title" rel="dc:type">Cours du soir JRuby</span> by <a xmlns:cc="http://creativecommons.org/ns#" href="http://blog.dahanne.net" property="cc:attributionName" rel="cc:attributionURL">Anthony Dahanne</a> est mis &#224; disposition selon les termes de la <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.0/fr/">licence Creative Commons Paternit&#233;-Pas d&#8217;Utilisation Commerciale-Partage des Conditions Initiales &#224; l&#8217;Identique 2.0 France</a>.<br />Bas&#233;(e) sur une oeuvre &#224;<br />Les autorisations au-del&#224; du champ de cette licence peuvent &#234;tre obtenues &#224; <a xmlns:cc="http://creativecommons.org/ns#" href="http://blog.dahanne.net" rel="cc:morePermissions">http://blog.dahanne.net</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dahanne.net/2008/10/30/cours-du-soir-jruby/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Retour sur le BarCamp Java à Paris du 30 Septembre 2008</title>
		<link>http://blog.dahanne.net/2008/10/02/retour-sur-le-barcamp-java-a-paris-du-30-septembre-2008/</link>
		<comments>http://blog.dahanne.net/2008/10/02/retour-sur-le-barcamp-java-a-paris-du-30-septembre-2008/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 18:23:35 +0000</pubDate>
		<dc:creator>anthony.dahanne</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[meeting]]></category>

		<guid isPermaLink="false">http://blog.dahanne.net/?p=57</guid>
		<description><![CDATA[Mardi dernier, à 18h30 avait lieu dans les locaux d'Oc [...]]]></description>
			<content:encoded><![CDATA[<p>Mardi dernier, à 18h30 avait lieu dans les locaux d&#8217;<a href="http://www.octo.fr">Octo</a> un Barcamp sur Java.<br />
J&#8217;arrive un peu en retard, 18h40, et rien n&#8217;a vraiment commencé, les participants, qui s&#8217;étaient au préalable inscrit sur le site du <a href="http://barcamp.org/JavaCampParis">BarCamp Java Paris</a>, arrivent peu à peu.<br />
Je reconnais des visages, des connaissances que j&#8217;ai rencontrés aux XP Days France 2008, parmi eux Gregory qui m&#8217;apprend l&#8217;existence du site <a href="http://stackoverflow.com">StackOverFlow</a>, créé par des gourous de .NET (argh) qui permet de poser une question technique, un peu à la Yahoo answers, mais orienté développeur (tous langages, ouf !); avec un fort accent sur la communauté : on gagne des points quand on répond bien et souvent, ce qui permet de modérer ensuite les questions des autres, etc&#8230; allez voit ce site, c&#8217;est super bien fait, j&#8217;ai déjà posé ma question cet après midi sur Hibernate et j&#8217;ai eu une réponse en 45 minutes !<br />
On était bien une quarantaine quand l&#8217;organisateur, Luc Bizeul, prend la parole et nous invite à nous présenter (prénom, nom, 3 tags)<br />
La plupart des personnes présentes étaient intéressées par Spring, la SOA, JEE.<br />
Après ces présentations, Luc nous a invités à remplir chacun un post it avec un thème que l&#8217;on aimerait aborder pendant ce BarCamp.<br />
Les post-it remplis, et triés par thème si les sujets étaient récurrents, on voit apparaître beaucoup de TDD, Usine logiciel, communauté Java Paris, les licences Open Source,  et un peu moins d&#8217;autres (j&#8217;ai oublié&#8230;).<br />
Une fois ces regroupements faits, Luc demande pour chacun des thèmes qui est intéressé; et selon le nombre de personnes intéressées, il attribue une salle pour chaque sujet (4 salles sur 2 sessions, donc 8 sujets ont été choisis).<br />
Je choisis la salle TDD, et on a défini TDD, les avantages, qui en fait (sur une quinzaine de personnes on était 2 ou 3 à en faire !) comment l&#8217;appliquer sur JSF (apparemment un dénommé <a href="http://wicket.apache.org/"> Wicket</a> existerait pour çà) aussi sur GWT (pas satisfaisant non plus, à creuser..).<br />
Un pointeur intéressant a été évoqué le livre de Kent Beck sur la TDD : <a href="http://www.amazon.com/Test-Driven-Development-Addison-Wesley-Signature/dp/0321146530/ref=sr_1_2?ie=UTF8&#038;s=books&#038;qid=1222971023&#038;sr=1-2">Test Driven Development: By Example</a>.<br />
Et là il était 20h, et je ne pouvais pas rester &#8230; dommage&#8230;<br />
Dommage car les sujets évoqués étaient  intéressants, pas plus techniques que cela, surtout orientés agilité; de plus, on a beaucoup à partager avec les personnes présentes sur ce genre d&#8217;événement !<br />
J&#8217;étais le seul consultant de Valtech à ce BarCamp; et oui, la majorité d&#8217;entre eux préparaient les <a href="http://www.valtech.fr/fr/index/valtech_days.html">Valtech Days 2008 qui auront lieu les 21 et 22 Octobre !<br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dahanne.net/2008/10/02/retour-sur-le-barcamp-java-a-paris-du-30-septembre-2008/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Retour sur le bar camp Rails du 17 Mai , à la Cantine (Paris)</title>
		<link>http://blog.dahanne.net/2008/05/21/retour-sur-le-bar-camp-rails-du-17-mai-a-la-cantine-paris/</link>
		<comments>http://blog.dahanne.net/2008/05/21/retour-sur-le-bar-camp-rails-du-17-mai-a-la-cantine-paris/#comments</comments>
		<pubDate>Wed, 21 May 2008 19:12:30 +0000</pubDate>
		<dc:creator>anthony.dahanne</dc:creator>
				<category><![CDATA[meeting]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.dahanne.net/2008/05/21/retour-sur-le-bar-camp-rails-du-17-mai-a-la-cantine-paris/</guid>
		<description><![CDATA[Intéressé depuis quelque temps par le monde de Ruby e [...]]]></description>
			<content:encoded><![CDATA[<p>Intéressé depuis quelque temps par le monde de Ruby et Ruby on Rails, j&#8217;ai décidé de m&#8217;inscrire au BarCamp Rails ce Samedi 17 Mai à Paris<br />
A partir de 10h, les organisateurs ont mettent en place un tableau où les pesonnes désirant exposer leur travail ou découverte s&#8217;inscrivent.<br />
(il y a 5 espaces disponibles à La Cantine, apparemment il faisait chaud à l&#8217;étage!; et les créneaux horaires durent de 1 à 2 heures)<br />
Ensuite, après avoir présenté brièvement Silicon Sentier et d&#8217;autres sponsors, les organisateurs ont passé le micro à chacun des participants (une centaine quand même !) afin qu&#8217;ils se présentent : prénom + tags (j&#8217;ai choisi les tags développeur Java J2EE, d&#8217;autres tags comme &laquo;&nbsp;fille&nbsp;&raquo; ou &laquo;&nbsp;windows&nbsp;&raquo; étaient plus originaux !)<br />
Les personnes s&#8217;étant inscrites sur le tableau démarrèrent dès 10h30.<br />
Il y en avait pour tout le monde : débutant comme expérimenté ! (présentation ruby on rails, ruby en entreprise, facebook on rails !, etc&#8230;)<br />
Voici mon choix pour la journée :</p>
<h3>10:30 : présentation de l&#8217;intégration google maps dans rails avec <a href="http://geokit.rubyforge.org">geokit</a>; par <a href="http://www.xilinus.com ">Sébastien Gruhier</a></h3>
<p>Apres une présentation du projet, nous avons procédé à la  <a href="http://code.google.com/apis/maps/signup.html">génération d&#8217;une api key chez google maps</a>, afin de pouvoir utiliser l&#8217;API (je crois que l&#8217;on a droit à 10000 requêtes par jour, à vérifier).<br />
Nous avons ensuite créé un site rails, en ayant pris soin auparavant d&#8217;installer les gems de geokit et d&#8217;un module d&#8217;authentification.<br />
Ensuite nous avons testé l&#8217;API par une console Rails, et enfin nous avons codé nos premiers fcihiers Rails avec des cartes.<br />
L&#8217;API geokit permet de faire des travaux de geolocalisation (par IP) et de récupération  de coordonnées, mais elle ne permet pas de générer des cartes gogole maps (en fait lors de la session nousa vons du coder du javascript pour cécupérer des cartes&#8230;)<br />
Pour ceux qui craignent le Javascript, passez votre chemin donc, et dirigez vous plutôt vers un wrapper (comme YM4R sur rubyforge wrapper javascript)</p>
<h3>14:30 : présentation jruby par <a href="http://yeastymobs.com/">Nicolas Mérouze</a></h3>
<p>nous avons installé jruby bin (.zip ou tar gz).<br />
A l&#8217;attaque, en lançant le script bat jruby.bat (ou jruby.sh)on peut d&#8217;ores et déjà installer des gems avec<br />
<code>jruby -S gem install un_gem_ruby</code><br />
Plus généralement,<br />
<code>jruby -S "commande ruby"</code><br />
Nicolas nous a montré beaucoup d&#8217;exemples sur Ruby qui utilise Java (normal il travaille sur un projet qui utilise des librairies java), peu dans l&#8217;inverse (dommage); sur le web, j&#8217;ai pu remarquer cet<a href=" http://java.sun.com/developer/technicalArticles/scripting/jruby/#ej"> article qui permet de découvrir Jruby pour intégrer du Ruby dans Java</a></p>
<h3>16:30 présentation faille sécurité ruby/ecommerce par <a href="http://www.webpulser.com">Webpulser</a></h3>
<p>Pendant cette session les participants ont pu échanger sur leurx expériences Ruby, ensuite l&#8217;équipe technique de Webpulser ont fait un petit tour des failles de sécurité en Ruby :<br />
*Injection SQL : en donnant un &#8216; à la fin d&#8217;une requete GET ,des attaquants pourraient terminer une clause SQL, ==> on utilise le ? à la printf de C pour échapper les caracteres spéciaux<br />
*XSS en donnant du javascript dans l&#8217;url; on évite çà avec <%h= %> qui échappe le html<br />
etc&#8230;</p>
<p>Sans parler de l&#8217;organisation qui était vraiment pro, un accueil chaleureux, bref, ce <a href="http://barcamp.org/RailsCampParis">BarCampRails  parisien</a> vallait vraiment le détour !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dahanne.net/2008/05/21/retour-sur-le-bar-camp-rails-du-17-mai-a-la-cantine-paris/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>XP Day France 2008 : Day 2</title>
		<link>http://blog.dahanne.net/2008/05/06/xp-day-france-2008-day-2/</link>
		<comments>http://blog.dahanne.net/2008/05/06/xp-day-france-2008-day-2/#comments</comments>
		<pubDate>Tue, 06 May 2008 19:35:30 +0000</pubDate>
		<dc:creator>anthony.dahanne</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[meeting]]></category>

		<guid isPermaLink="false">http://blog.dahanne.net/2008/05/06/xp-day-france-2008-day-2/</guid>
		<description><![CDATA[I began this second day with a presentation of Rspec, B [...]]]></description>
			<content:encoded><![CDATA[<p>I began this second day with a presentation of Rspec, Behaviour Driven Development and Selenium Grid, by <a href="http://www.21croissants.com">Jean Michel Garnier</a>. He told us about the history of software testing, Test Driven Development and Behaviour Driven Development.<br />
So what is TDD against BDD ? Quite the something, from a technical point of view; but in fact it diminishes the distance between the client and the software engineer.<br />
BDD is about writing sentences to describe tests.<br />
A story (from Dan North point of view) (As &#8230; I want … To …)is divided into scenarios ( Given … When … Then …).<br />
The thing is, the people who write specs “could”  write Rspec classes, but the syntax is still a bit technical …<br />
Then Jean Michel told us about Autotest, a framework to automatically run tests when you modify a source code; Rcov a software to measure code coverage of your tests (gem install rcov ; rake spec:rcov and finally Heckle, a framework that modifies your source code to … check that your tests are useful !</p>
<p>Next, I’ve seen a presentation of the origins of Agile methods; introducing the Agile Manifesto, agile principles,agile methods like Scrum (3 actors : product owner, scrum master and the team; product backlog to prioritize stories, sprint backlog to split stories in different tasks, and the sprint; and eXtreme Programmingwith its values simplicity, respect, courage, etc…)<br />
The orator also remind the audience about older, predictive methods like cascade and V…</p>
<p>I’ve also attended a session proposed by Guillaume Carré, from Xebia presenting unit tests and Easymocks, where the audience was able to distinguish stubs from mocks, mocks being more faithful to the real behaviour of the class.<br />
Easymock uses interfaces to create mocks, so you get all the mock coding job done !(but you have to describe the behaviour of your mock object).<br />
The orator also talked about Mockito, from ThoughtWorks, which gets the description of the mock object according to the method called on this mock; you still describe the behaviour of the mock, but this time you verify the value returned at the end of your test, not before (which makes test code more readable than Easymock).</p>
<p>To finish the day, <a href="http://jfhelie.blogspot.com/">Jean François Helie</a>, from Octo coded in front of us a blog engine, based on hibernate, maven, Spring, and Spring MVC but … using a test driven approach.<br />
Jean François used Java 5 annotations to describe JUnits tests and once the tests were done, coded the application classes.<br />
He first wrote code for the DAO classes, using Hibernate entity beans annotations (it looks so good persistence without XML).<br />
Then he decided to lighten the test class code with Spring 2.5, using annotations to autowire bean dependencies (yeah annotations look good)<br />
Once the model was written, he continued to the service, writing the test first, of course, but also using mock objects to be able to distinguish errors from the model to errors from the service class; for that he used Easymock linked with Junitils4 with annotations.<br />
Finally, he wrote the controller, always writing the test class first, using Spring MVC framework (specifying the url mapping in the controller class)<br />
The demonstration was quite impressive, I really enjoyed that one! (it reminded me that Java is still on !)</p>
<p>My colleagues from Valtech were not on holidays this second day, they presented Test Driven Requirements, using Fitnesse; continuous integration with Hudson (getting very popular now) and contracting Agile projects.</p>
<p>These XP day(s) were a great experience, I really hope I&#8217;ll be there next year !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dahanne.net/2008/05/06/xp-day-france-2008-day-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XP Day France 2008 : Day 1</title>
		<link>http://blog.dahanne.net/2008/05/05/xp-day-france-2008-day-1/</link>
		<comments>http://blog.dahanne.net/2008/05/05/xp-day-france-2008-day-1/#comments</comments>
		<pubDate>Mon, 05 May 2008 21:33:14 +0000</pubDate>
		<dc:creator>anthony.dahanne</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[meeting]]></category>

		<guid isPermaLink="false">http://blog.dahanne.net/2008/05/05/xp-day-france-2008-day-1/</guid>
		<description><![CDATA[This Monday 5 and Tuesday 6 of May 2008, I’ve been to [...]]]></description>
			<content:encoded><![CDATA[<p>This Monday 5 and Tuesday 6 of May 2008, I’ve been to my first XP Day(s, it actually lasts 2 days) in Paris, an event organized by the association XP France; here are my impressions… </p>
<p>At 8:30, slowly, every guest gets his ID tag, and a breakfast is offered, we’re discovering the schedule of the days to come: the event is divided into 4 rooms, and each day is divided into 4 1 hour and a half sessions (but a session can last all day long or also half a day); all sessions are in French language.<br />
Many subjects are present, the advantage is that you’re sure to find something interesting; on the other hand, if 2 appetizing meetings take place at the same time, you have to choose.<br />
Then, at 9 o’clock, we’re about 150 people (I think) and we are asked to go downstairs, to attend the introduction meeting where the organizers of the event introduce themselves (and also ask people to, if they can,  contribute for the next XP days) and the following XP meetings (Agile Tour, round France, and Agile Open, where attendees will be able to turn into speakers); finally, the speakers of the day introduce what they will be talking about during the sessions they will present.<br />
I chose to be present at the XP laboratory, presented by 2 folks working at <a href="http://www.pyxis-tech.com/fr/">Pyxis (a Quebec based company responsible, among others, of Green Pepper).</a><br />
The session last all day long (but you’re free to leave or get back when you want) and invites people to work on a refactoring of the Miles card game (“1000 Bornes” in French), called XtremeMiles.<br />
People immediately configure their laptop to get up and coding…<br />
The thing is, the speakers turn themselves into the “Client” (or the product owner, because XtremeMiles is a Scrum project) and the “Scrum Master”, and they ask us, the developers, to adopt a Test Driven Development procedure (we write the tests, with JUnits, before we code).<br />
But the main aspect developed is that we’re organized in a Scrum project (it was actually the first time I experienced this kind of Agile organization).<br />
So to sum up the procedure :<br />
•	First, we have a meeting with the Scrum master and the product Owner to ask questions (5mn), to agree on engagement (5mn for the team to choose the cards proposed by the product owner, which contain stories, tracing functionalities) and for the sprint backlog (5mn);<br />
•	Then, the sprint lasts 3 days for each iteration (a day in this game lasts 20 minutes, divided into 2 minutes of stand up meeting, where developers tell the Scrum Master what they’ve done, the problems they’ve encountered and what they’re going to achieve; and 18 minutes of work)<br />
•	Finally, it’s time to show the demo where the developers and the Scrum Master present to the client what they have achieved during the iteration</p>
<p>To code, we used eclipse with subclipse and JUnit, the speakers prepared a Bamboo (continuous integration) to test if a commit would break the build (we were under pressure !)</p>
<p>I attended this session 3 hours (2 iterations) and it was quite fun and very interesting : we’ve been able to witness problems of communication between teams, the way an agile project can rapidly react, etc…<br />
This session was so popular, the organization decided to make it last one day more !</p>
<p>The afternoon, I was present at the “Sujets Eclairs” (lightening talks) session; where anyone in the room can present a subject and explain it in 10 minutes.(usually people who talk during lightening talks are not familiar with public presentations; moreover subjects presented are usually not prepared)<br />
Many topics were proposed, most of them were about project management and agility.(which was nice actually)<br />
The first day finished with some words from the sponsors, among them, <a href="http://www.valtech.com">Valtech</a>, my employer ! (and also an excellent dinner !)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dahanne.net/2008/05/05/xp-day-france-2008-day-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
