Soirée "Objectif Cloud" le 15/03 à l'EPITECH

le 05/03/2012 par Gaël Blondelle

Découvrez Cloudbees

Le 15/03 à l'Epitech, à 18h30, Nicolas de Loof, co-auteur du livre Apache Maven, figure de la communauté Java Française, et leader du BreizhJug vous fera découvrir le cloud en Java!

De plus, pour le premier anniversaire du JUG, nous échangerons sur le mouvement des JUG en France et nous ferons le bilan de l'année écoulée.

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.


Igor Laborie - revue de "Apache Maven, Version 2 et 3, 2e édition 2011" offert par Toulouse JUG

le 20/02/2012 par Nicolas Zozol

Apache Maven, Version 2 et 3, 2e édition

Présentation rapide

Ce livre est écrit par Nicolas de Loof (CloudBees) 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 ?

UPDATE : Nicolas viendra justement nous présenter CloudBees jeudi 15 mars 2012, pratiquement un an jour pour jour après la venue d'Arnaud. Réservez votre soirée !

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 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.


Soirée JavaFX 2 le 16/02 à l'EPITECH

le 06/02/2012 par Gaël Blondelle

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.


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

le 28/01/2012 par Nicolas Zozol

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


Prochaines soirées - Choisissez la programmation

le 17/01/2012 par Nicolas Zozol

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 ?


Java User Group

Sponsors


Évènements à venir