Apache Maven


Maven est devenu l'un des acteurs majeurs dans le monde Java et il est désormais difficile de survivre en entreprise sans rien connaître du sujet. Arnaud Héritier et Nicolas de Loof, experts de l'outil et contributeurs à leurs heures, comptent bien vous aider à maîtriser la bête que vous soyez débutant ou non, à travers cet ouvrage, "Apache Maven", publié aux éditions Pearson. L'approche des auteurs est tout simplement géniale : plutôt que d'enchaîner les chapitres, ils nous dépeignent l'histoire d'une start up fictive qui au fil de ses besoins utilise les fonctionnalités de Maven. Et plutôt que d'utiliser des personnages lambdas, on retrouve les principaux acteurs de la communauté. Bref pour peu que vous suiviez quelques conférences dans vos JUGs préférés, vous apprécierez les clins d'oeil. Concernant la forme, c'est donc du tout bon et on enchaîne avec plaisir les différents chapitres. 

Concernant le fond, le livre s'adresse plus à des débutants qu'à des experts. Néanmoins, quelque soit votre niveau, vous pourrez glaner des informations utiles à mettre en place sur vos projets. On passe bien sûr en revue les bases dans la première partie, avec la gestion des dépendances et du cycle de vie, puis l'ajout de tests unitaires et d'intégration. On sent, tout au long du livre, une volonté des auteurs de nous sensibiliser sur la qualité logicielle, comment délivrer un bon produit et comment Maven peut nous y aider. 

On passe ensuite dans une deuxième partie, à l'utilisation de Maven en entreprise. La modularisation, l'intégration avec les IDEs, l'intégration avec JEE et la gestion des livraisons sont abordées. Ici clairement on rentre dans le vif du sujet, mais toujours de façon très progressive. La partie JEE m'a semblé un peu longue mais j'ai apprécié que Maven ne soit pas vendu comme un produit miracle et que ses faiblesses soient clairement énoncées. Par exemple l'intégration aux IDEs a longtemps été un problème (surtout si vous devez travailler sous Eclipse), et on ne vous le cache pas. 

On attaque ensuite la dernière partie du livre avec les concepts avancés, comme la création de plugins, les différents formats (on a même un mot sur OSGi), puis l'utilisation d'archétype, l'assurance qualité, et enfin un dernier chapitre, qui arrive étonnamment tard, sur les différentes alternatives à Maven mais qui est tout simplement excellent. J'ai parfois regretté la brièveté de certains chapitres sur des notions qui mériteraient d'être approfondies mais là aussi on retrouve la volonté d'écrire avant tout pour faire découvrir plutôt que pour des experts. 

Les quelques remarques que je peux faire ne doivent pas vous tromper, on a affaire là à un excellent livre, l'un des meilleurs livres d'IT que j'ai pu lire sur la forme, et si vous souhaitez progresser avec Maven, c'est tout simplement un must have que je conseille absolument. Ne vous attendez pas à trouver une bible de référence, mais vous apprendrez sans aucun doute quelque chose qui vous sera utile dans votre travail de tous les jours. Et on attend avec impatience une version actualisée pour Maven 3 !

Cédric.


Cédric a bien décrit le contenu du livre. Pour ma part, j'ai apprécié comment les chapitres sont construits. Les auteurs auraient pu se contenter de décrire techniquement le fonctionnement de Maven en présentant des exemples simplistes, mais au contraire, ils présentent de vrais cas de travail dans lesquels on s'est forcément retrouvé. Ainsi, le chapitre sur la livraison est très bien construit et permet de bien comprendre la place que prendre Maven dans ce processus complexe.

Le ton du livre le rend simple à lire, tout en gardant l'attention du lecteur. Que l'on soit débutant ou expert, il y aura forcément quelque chose à apprendre dans ce livre. On y retrouve conseils et astuces qui ne sont pas donnés dans la documentation officielle de Maven. Par exemple, les chapitres sur les plugins et les archetypes permettent de bien comprendre comment ils fonctionnent et comment les développer facilement.

Maven fournit une convention pour les projets et le livre nous permet de les comprendre afin d'éviter les dérives qui font que parfois Maven n'est pas apprécié. Les langages alternatifs de la JVM (Groovy, Scala, ...) sont à peine évoqués, une partie de chapitre dessus aurait été intéressant.

Bref, c'est un must-have, rien à dire de plus. Espérons bientôt une mise à jour pour parler des nouveautés que Maven 3 apporte.

Julien.


Comments