dimanche 13 novembre 2011

Revue du livre Apache Maven 3 Cookbook

Ce nouveau livre sur Apache Maven se veut un ensemble de recettes pour mettre en œuvre Apache Maven 3 lorsque l'on souhaite démarrer un projet.
Il se compose de 9 chapitres :
  1. Une introduction aux concepts et à l'utilisation d'Apache Maven 3

    Ce premier chapitre est une introduction 'classique' à la mise en place et la configuration d'Apache Maven 3 sur un poste de développement.

  2. Les techniques d’ingénierie logicielle

    Ce chapitre parle des bonnes pratiques de développement d'un logiciel et de l'utilisation de Maven dans un tel contexte. On y parle de TDD, de qualité de code et de gestion des dépendances et comment Apache Maven facilite cette mise en œuvre. On pourra regretter le choix de PMD pour la qualité logicielle plutôt que d’un outil plus complet comme Sonar.

  3. Les principes agiles de développement et de collaboration

    L'auteur explique ici comment intégrer Apache Maven dans votre organisation avec un gestionnaire de dépôts, un serveur d'intégration continue, ... Bref comment tirer un profit maximum des outils autour de Maven pour développer vos logiciels.

  4. Rapports et documentationNous découvrons l'usage des taches de reporting d'Apache Maven pour produire un site statique, de la Javadoc et plusieurs autres rapports. On pourra regretter le fait que les POM montrés utilisent la vieille forme de configuration d'Apache Maven 2.x et non ce qui est spécifique à Apache Maven 3.

  5. Développement Java avec Maven

    On voit ici comment produire un squelette pour chaque type de projet Java d'entreprise :

    • application Web et comment l'exécuter avec Jetty
    • pour J2EE : archetype
    • pour Spring : on construit un vrai projet Spring
    • pour Hibernate : utilisation du hibernate3-maven-plugin
    • Seam avec Seam Forge : projet Maven de generation de code

  6. Développement Google avec Maven

    C'est pour moi le chapitre le plus intéressant car on y voit comment Apache Maven permet de développer dans le monde des technologies Google : Android, GWT et GAE (Google App Engine).
    Android : comment configurer son environnement pour développer et déployer une application Android.
    GWT : Là encore comment configurer son poste pour créer et tester (que ça soit avec l'outil de test intégrer ou Selenium) une application web GWT.
    GAE : comment utiliser la plate forme de cloud de Google et les différents archétypes disponibles pour construire vos applications.

  7. Scala, Groovy et Flex

    Si pour Scala il existe l'outil Simple Build Tool, celui-ci est destiné aux projets Scala purs, si vous mélangez Scala et Java utilisez Maven et ses archétypes.
    Groovy fournit un archétype et un plugin gmaven qui permet aussi l'exécution des scripts Groovy et l'utilisation de la console et du shell Groovy.
    Enfin pour le troisième langage, Flex, nous découvrons flexmojo qui permet de produire la structure d'un projet Flex type ainsi que la documentation de ce plugin.

  8. Intégration dans un EDI

    Les EDI modernes (Netbeans, Elipse, Intellij IDEA) offrent une excellente intégration d'Apache Maven. Chaque EDI est présenté ainsi qu e sa manière d'intégrer Apache Maven et d'importer un projet Apache Maven dans l'outil.

  9. Étendre Apache Maven avec vos plugins

    Apache Maven est extensible au moyen de plugins. Nous voyons ici comment créer un plugin en Java mais aussi les autres manières d'en faire en utilisant des scripts Apache Ant ou Ruby avec JRuby.

En conclusion ce livre apporte plusieurs détails importants, cependant s'il permet une rapide mise en œuvre d'Apache Maven (et c'est bien là son but affiché) un débutant devrait s'orienter vers un livre offrant une vision plus complète pour mieux en maîtriser les concepts avant d'enrichir sa bibliothèque avec cet ouvrage.

mardi 27 avril 2010

Soirée Jersey et Atmosphere

Lundi soir c'était la 3ème soirée de l'AlpesJug et nous avons eu la chance d'avoir Paul Sandoz, spec leader pour JAX-RS et développeur de Jersey.

Après une légère introduction aux principes de REST qui permettent de créer des services :
  • agregeables
  • faiblement couplés
  • scalables
  • simples
  • apportant des fonctionnalités insoupçonnées
JAX-RS (et donc Jersey) apporte une approche par annotation pour l'exposition REST des services. C'est à ce moment là que j'ai bien cru revenir à la présentation Play! framework. Cependant les fichiers de configuration sont remplacés par des annotations et donc on profite de l'IDE pour coder.
Là encore le développeur n'est pas oublié et on obtient des traces très intéressantes sur le routage dans les headers des réponses HTTP de Jersey (si le mode trace est activé) !!!
Paul avance le long de ses démos nous présentant ensuite Jersey MVC, ce qui permet d'aller vers une application web classique (un futur remplacement de Spring MVC ? ;) .
Courageux, Paul se lance dans une démonstration du framework Atmosphere, qui permet la gestion les connexions HTTP persistantes et le véritable push Ajax. Les démos venant de Jean-François Arcand, tout a bien fonctionné mais Paul n'a pas pu être aussi libre qu'il l'avait été pour les démos Jersey.


Enfin, Paul nous a présenté Jersey couplé à différents moteurs de template basés sur Scala (grâce à Scalate) et là la comparaison avec play! est devenue plus qu'évidente. J'ai vraiment l'impression qu'on peut voir dans Jersey un sérieux concurrent aux frameworks web, tout en conservant une grande souplesse (là où Play! a fait le choix tout à fait respectable de définir une pile complète) en termes de frameworks (JEE6, mais d'autres sont aussi possibles).

Pour récupérer les slides et le code des démonstrations.

mercredi 20 janvier 2010

Coder c'est beau

J'ai voulu m'amuser à voir tout le travail que nous avons effectué chez Silverpeas depuis que nous avons décidé d'ouvrir le code.
Pour réaliser cette vidéo j'ai utilisé gource et ffmeg pour encoder le tout en h264. C'est un premier jet mais ça permet de voir qu'ouvrir un logiciel ce n'est pas si évident.

Silverpeas Gource from Emmanuel Hugonnet on Vimeo.

vendredi 4 décembre 2009

Ca bouge dans les Alpes

Et oui ça bouge dans le monde Java de la région grenobloise. Tout d'abord une annonce fracassante : l'AlpesJug est né. Et oui Grenoble a de nouveau son Java User Group. Les réunions mensuelles vont commencer dès le 22/02/2010 avec la venue d'Antonio Goncalves pour nous présenter JEE6 et le 29/03/2010 Arnaud Héritier célèbre dans toute la communauté Maven pour son livre en français avec Nicolas de Loof viendra nous parler de Maven 3.


Toujours à propos de Maven, la traduction de Maven - The definitive guide en français est maintenant achevée et nous (Erwan et moi-même) attendons les retours de vos relectures. Pour vos remarques et vos corrections, passez par Github et pour lire soit le pdf ou la version HTML, une seule adresse : http://www.maven-definitive-guide.fr/

mercredi 25 novembre 2009

Soigner sa schizophrénie

Voici la présentation que nous avons donnée avec Hervé Lourdin d'Octo lors de l'Agile Tour 2009 à Grenoble:


Pour télécharger le flash : A ouvrir dans un navigateur