Skip to content

Methods & Tools

JUG Toulouse, Groupe d'utilisateur Java
Syndiquer le contenu
Toulousains et passionnés des technos Java
Mis à jour : il y a 10 heures 20 min

Igor Laborie: revue de « Apache Maven, Version 2 et 3, 2e Ă©dition 2011″ offert par Toulouse JUG

lun, 02/20/2012 - 14:25

Apache Maven, Version 2 et 3, 2e édition Présentation rapide

Ce livre est écrit par Nicolas de Loof (Cloubees) et Arnaud Héritier (eXo Platform), avec de nombreuses participations de la communauté francophone.

Pour rappel Arnaud Ă©tait venu nous prĂ©senter Maven 3 lors de la session du 16 Mars 2011. J’espĂšre que l’on verra Nicolas bientĂŽt sur Toulouse, par exemple pour nous prĂ©senter Cloudbees ?

Ce livre prĂ©sente l’ensemble des concepts de Maven 2 et 3. Il fait le tour des possibilitĂ©s de cet outil via un cas concret que l’on suit de bout en bout en utilisant les plugins principaux.

Ce livre ne fait pas une revue détaillée de tous les plugins de Maven, ni de leurs options.

Revue

Bien que je frĂ©quente depuis longtemps Maven je n’ai jamais eu l’occasion d’approfondir le sujet. J’attendais donc de complĂ©ter mes connaissances et d’apprendre les bonnes pratiques de Maven.

Contrairement aux livres informatiques que je lis traditionnellement ce livre utilise une approche récréative en faisant intervenir de nombreux acteurs de la communauté de Maven. Ceci rend la lecture plus agréable.

En partant d’un cas concret, il met en Ă©vidence la puissance de Maven en expliquant et dĂ©montrant les bonnes pratiques, j’avais dĂ©jĂ  rencontrĂ© beaucoup de ces situations, l’apprentissage en est donc bien meilleur.

Cet ouvrage a globalement a comblé mes attentes sur Maven. Il me parait important de mettre en pratique les notions abordées sur un projet concret en parallÚle de la lecture.

J’ai trouvĂ© particuliĂšrement intĂ©ressant les chapitres qui prennent du recul, en particulier le chapitre 15 qui dresse qui bilan, ainsi que le chapitre 16 qui essai de voir plus loin (OSGi, Modules Java)

Un problĂšme courant lorsqu’on parle des outils comme Maven, ANT, Gradle, … et qu’il est difficile d’isoler l’outil par rapport aux autres outils de la forge logiciel (SCM, IntĂ©gration Continue, ProcĂšs de livraison, …). Dans ce livre on retrouve une prĂ©sentation rapide de l’intĂ©gration continue (Continuum, Hudson et Jenkins) et des outils de qualitĂ© (PMD, Findbugs, Sonar).

De mon point de vu, les outils d’intĂ©gration continue prennent le pas sur Maven pour ce qui concerne le contrĂŽle qualitĂ© voir du processus de livraison (Continuous Delivery). Cela aurait Ă©tĂ© peut ĂȘtre hors sujet, mais j’aurai prĂ©fĂ©rer un chapitre complet sur Jenkins mettant en oeuvre tout ceci.

Du cotĂ© test JavaEE, j’aurai aimer avoir plus de dĂ©tail sur Arquillian qui aujourd’hui me semble ĂȘtre la meilleur solution de test dans ce contexte.

Dans le chapitre 14: « Un nouveau projet dĂ©marre », il manque peut ĂȘtre une petite note sur les outils comme Springs Roo ou JBoss Forge, et d’expliquer le positionnement des archĂ©types Maven vis Ă  vis de ces outils.

Conclusion

Les plus

  • Livre en français, avec un ton rĂ©crĂ©atif
  • Complet pour les bonnes pratiques
  • Les situations sont rĂ©elles
  • Prise de recul sur Maven

Les moins

  • Il y a beaucoup d’exemples, j’aurai bien aimĂ© pouvoir tĂ©lĂ©charger les sources.
  • Plus j’utilise Maven, plus j’ai l’impression que c’est l’outil des annĂ©es 2000′s, et pas celui des 2010′s.

De mon point de vue s’il faut lire un seul bouquin sur Maven, c’est celui la.

Igor.

Catégories: Association

SoirĂ©e JavaFX 2 le 16/02 Ă  l’EPITECH

lun, 02/06/2012 - 10:16

Découvrez JavaFX 2

Le 16/02 Ă  l’Epitech, Ă  18h30, SĂ©bastien Bordes animera une soirĂ©e JavaFX2.

SĂ©bastien nous a allĂ©chĂ© en proposant de faire sa prĂ©sentation 100% avec JavaFX2. Dans le style « Eat your own food », la soirĂ©e donnera donc lieu Ă  une prĂ©sentation et dĂ©monstration de la techno

Plus de dĂ©tails sur la soirĂ©e, et le formulaire d’inscription sur le site JugEvents.

Venez nombreux et parlez-en autour de vous!

Gaël pour le Toulouse JUG.

Catégories: Association

Jonathan Pineau : Retour de JRebel, offert par le Toulouse JUG

sam, 01/28/2012 - 17:05

Ce retour fait suite au gain d’une licence JRebel lors de la soirĂ©e du Toulouse JUG autour du Framework Play.

Présentation rapide

JRebel est un outil proposĂ© par la sociĂ©tĂ© ZeroTurnaround Ă  destination des dĂ©veloppeurs ayant pour but d’amĂ©liorer leur productivitĂ©. Pour cela, il fournit un systĂšme de prises en compte Ă  chaud des modifications sans nĂ©cessiter le redĂ©ploiement de l’application ou le redĂ©marrage du serveur.

Il se prĂ©sente sous la forme d’un plugin « java agent » Ă  dĂ©clarer au niveau de la JVM du serveur d’application et d’un fichier de configuration « rebel.xml » Ă  placer Ă  la racine du rĂ©pertoire contenant les fichiers « .class » pour chaque application et module du projet. A l’exĂ©cution, cet agent surveille les classpath indiquĂ©s dans le fichier « rebel.xml » puis agit sur le Class Loader en chargeant les nouvelles versions des classes (d’aprĂšs ce que j’ai pu comprendre, il s’agit d’un monitoring des classpath en se basant sur les timestamp des fichiers .class pour dĂ©tecter les modifications).

Pour plus de dĂ©tails, la documentation et les forums permettent une prise en main rapide pour les cas d’utilisation standards.

Prise en Main

Pour prendre en main l’outil, j’ai effectuĂ© les premiers tests sur un projet personnel basĂ© sur Spring MVC avec utilisation de Spring Web Flow, le tout s’exĂ©cutant dans le conteneur Tomcat.

Pour les technologies Spring, ZeroTurnaround fournit de nombreux exemples (documentation, FAQ, screencast). La mise en place de JRebel a donc été rapide. Pour les quelques problÚmes survenus au démarrage, une recherche sur les forums permet de rapidement cerner les erreurs de paramétrage.

Pour les personnes ayant assistĂ© aux soirĂ©es sur Play ou Grails, les prĂ©sentateurs ont mis en avant la prise en compte des modifications sans redĂ©marrage du serveur parmi les avantages par rapport aux autres frameworks JEE dits « standards ». Avec JRebel, un projet Spring « classique » profite d‘un fonctionnement trĂšs proche.

L’apport de JRebel est un plus indĂ©niable pour le dĂ©veloppement. Il permet d’amĂ©liorer la productivitĂ© du dĂ©veloppeur aussi bien dans la phase de crĂ©ation que leur de la validation ou du support d’une application. MalgrĂ© quelques ratĂ©s ayant nĂ©cessitĂ© de redĂ©marrer Tomcat, ce premier test m’a convaincu de pousser l’expĂ©rimentation en condition rĂ©elle sur un projet professionnel.

Utilisation en condition réelle

Afin de faire un retour plus pertinent, j’ai configurĂ© JRebel sur mon environnement de dĂ©veloppement professionnel. Point important, la sociĂ©tĂ© pour laquelle je travaille utilise un framework interne, donc non listĂ© comme pris en charge par JRebel.

Alors que la mise en place fut plutĂŽt rapide pour le projet Spring, la tĂąche a Ă©tĂ© beaucoup plus compliquĂ©e sur ce second environnement. AprĂšs plusieurs Ă©checs, j’ai fini par trouver un paramĂ©trage assurant la prise en compte des modifications pour les projets web principaux, les modules externes Ă©tant plus ou moins bien pris en charge.

AprĂšs environ trois semaines d’utilisation en condition rĂ©elle, JRebel affiche une estimation de 3 heures Ă©conomisĂ©es (pour 14 jours de dĂ©veloppement). Toutefois, malgrĂ© la prise en compte des modifications, notre framework interne nĂ©cessite un redĂ©ploiement de l’application web dans la plupart des cas.

La problĂ©matique rencontrĂ©e n’est pas Ă  mettre sur le compte de JRebel mais sur le fonctionnement particulier de notre framework. Pour que certaines modifications soient prises en compte, la chaĂźne de dĂ©marrage de l’application web est impĂ©rative. Pour utiliser JRebel de maniĂšre optimale avec ce framework, le dĂ©veloppement d’un plugin JRebel prenant en compte ses particularitĂ©s semble inĂ©vitable et met fin Ă  mes tests.

Conclusion

Les Plus :

  • JRebel amĂ©liore la productivitĂ© de dĂ©veloppement. Il peut ĂȘtre Ă©galement intĂ©ressant lors de la phase de support oĂč le nombre de redĂ©marrages peut ĂȘtre Ă©levĂ©
  • Bonne intĂ©gration aux diffĂ©rents IDE et gestion de la majoritĂ© des conteneurs de servlet et serveurs JEE
  • Gestion d’un grand nombre de frameworks
  • Documentation et support

Les Moins :

  • Solution payante. Il peut ĂȘtre difficile de justifier l’achat sachant que la solution se limite aux dĂ©veloppeurs et ne profite pas aux clients finaux en environnement de production
  • Solution complexe Ă  mettre en Ɠuvre avec certaines architectures (problĂšme sur la gestion des modifications sur plusieurs modules externes) ou des frameworks « exotiques »

Jonathan Pineau

Catégories: Association

Prochaines soirées : Choisissez la programmation

mar, 01/17/2012 - 22:08

Votre avis nous intéresse, et Léonardo vous a concocté un petit cocktail de sujets bien chaud. A vous de choisir quels sujets seront de préférence présentés en cette année 2012.
Alors, plutĂŽt Kotlin ou LucĂšne ?

Catégories: Association

SoirĂ©e Grails le 19/01 Ă  l’EPITECH

jeu, 01/05/2012 - 15:41

DĂ©couvrez Grails et l’un des projets les plus importants dĂ©veloppĂ© en France avec Grails!

Le 19/01 Ă  l’Epitech, Ă  18h30, Vincent Barrier et Franck Silvestre animeront une soirĂ©e Grails.

Ces deux toulousains, grands utilisateurs de Grails, nous prĂ©senteront une introduction Ă  Grails, ainsi que l’utilisation de Grails pour dĂ©velopper l’ENT des LycĂ©es de la RĂ©gion Île de France: Lilie.

Plus de dĂ©tails sur la soirĂ©e, et le formulaire d’inscription sur le site JugEvents.

Venez nombreux et parlez-en autour de vous!

Gaël pour le Toulouse JUG.

Catégories: Association