Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

20090615 - Ch'ti JUG - Apache Maven

3,890 views

Published on

Présentation de Maven et de son utilisation en entreprise dans le cadre du Ch'ti JUG, le 15 juin 2009.
Pourquoi Maven ? Pourquoi l'adopter ? Les bonnes et mauvaise pratiques. Son avenir ...

Published in: Technology
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full EPUB Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full doc Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... Download PDF EBOOK here { https://urlzs.com/UABbn } ......................................................................................................................... Download EPUB Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... Download doc Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full EPUB Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full doc Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... Download PDF EBOOK here { https://urlzs.com/UABbn } ......................................................................................................................... Download EPUB Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... Download doc Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

20090615 - Ch'ti JUG - Apache Maven

  1. 1. Apache Maven 2 en entreprise… Comment tuer son projet avec Maven ? Comment le réussir ? 15 Juin 2009
  2. 2. Arnaud Héritier <ul><li>Committer depuis 2004 </li></ul><ul><li>Membre du PMC (Project Management Committee) depuis 2005 </li></ul><ul><li>aheritier AT apache DOT org </li></ul><ul><li>http://maven.apache.org </li></ul>
  3. 3. Arnaud Héritier <ul><li>Aujourd’hui - OCTO Technology </li></ul><ul><ul><li>Cabinet d’architectes en SI </li></ul></ul><ul><ul><li>http://www.octo.com </li></ul></ul><ul><ul><li>Architecte sénior </li></ul></ul><ul><li>Dans quelques jours - eXo platform </li></ul><ul><ul><li>Editeur de logiciels </li></ul></ul><ul><ul><li>http://www.exoplatform.com </li></ul></ul><ul><ul><li>Software Factory Manager </li></ul></ul><ul><ul><ul><li>Qualité </li></ul></ul></ul><ul><ul><ul><li>Outillage </li></ul></ul></ul><ul><ul><ul><li>Productivité des développements </li></ul></ul></ul>
  4. 4. Programme <ul><li>Faire le choix Maven </li></ul><ul><li>Mettre en place Maven </li></ul><ul><li>Utiliser Maven au jour le jour </li></ul><ul><li>Apprendre Maven </li></ul><ul><li>L’avenir de Maven </li></ul>
  5. 5. Programme <ul><li>Faire le choix Maven </li></ul><ul><ul><li>Pourquoi Maven ? </li></ul></ul><ul><ul><li>Les intérêts pour un projet </li></ul></ul><ul><ul><li>Les intérêts pour une entreprise </li></ul></ul><ul><ul><li>LA solution ? </li></ul></ul><ul><li>Mettre en place Maven </li></ul><ul><li>Utiliser Maven au jour le jour </li></ul><ul><li>Apprendre Maven </li></ul><ul><li>L’avenir de Maven </li></ul>
  6. 6. Pourquoi Maven ?
  7. 7. Construction d’un war en 2002 <ul><li>Utilisation d’Eclipse limitée </li></ul><ul><ul><li>Pas de WTP (uniquement dans la version payante d’IBM), </li></ul></ul><ul><ul><li>Eclipse ne permettait pas d’exporter des Wars </li></ul></ul>
  8. 8. Construction d’un war en 2002 <ul><li>Beaucoup de tâches manuelles </li></ul><ul><ul><li>Modifier les fichiers de paramétrage </li></ul></ul><ul><ul><li>Exporter les différents jar </li></ul></ul><ul><ul><li>Copier les dépendances (et nos jars), dans un répertoire lib </li></ul></ul><ul><ul><li>Faire un zip que l’on renomme en war </li></ul></ul><ul><ul><li>Tagguer l’ensemble des sources dans le répertoire de sources (CVS) </li></ul></ul><ul><ul><li>Envoyer le fichier par FTP sur le serveur d’intégration </li></ul></ul><ul><ul><li>Se connecter à la console d’administration du serveur et déployer l’application </li></ul></ul>
  9. 9. Construction d’un war en 2002 <ul><li>Un seul problème, Y’a toujours des problèmes </li></ul><ul><ul><li>Erreur dans la configuration </li></ul></ul><ul><ul><li>Oubli d’une dépendance </li></ul></ul><ul><ul><li>oubli d’un fichier </li></ul></ul><ul><ul><li>Correction de dernière minute qui introduit une régression… </li></ul></ul><ul><ul><li>Autres </li></ul></ul><ul><li>Combien de temps ça prend ? </li></ul><ul><ul><li>Quand tout va bien : 15 minutes </li></ul></ul><ul><ul><li>Quand il y a des problèmes : ½ journée </li></ul></ul>
  10. 10. Une première réponse : ANT <ul><li>Ecriture d’un script </li></ul><ul><ul><li>Permet d’automatiser le process </li></ul></ul><ul><ul><li>Durée du processus réduite de moitié </li></ul></ul><ul><ul><li>Le processus ne monopolise personne </li></ul></ul><ul><ul><ul><li>On le lance et on passe à autre chose </li></ul></ul></ul>
  11. 11. Les limites de ANT <ul><li>Ecrire le script, c’est long </li></ul><ul><li>Modifier un script, c’est très long </li></ul><ul><li>Au final, le gains de temps n’est pas évident </li></ul><ul><ul><li>Mais c’est quand même plus amusant </li></ul></ul><ul><ul><li>Il est possible de réutiliser le script ! </li></ul></ul>
  12. 12. La réutilisation de scripts ANT <ul><li>Les scripts ne sont pas directement réutilisables </li></ul><ul><ul><li>Structure de projets différents </li></ul></ul><ul><ul><li>Besoins différents </li></ul></ul><ul><li>Encore du temps perdu </li></ul><ul><ul><li>Modification du script </li></ul></ul><ul><ul><li>Réécriture pour le rendre plus générique </li></ul></ul><ul><li>Un nouveau métier s’est créé dans chaque projet : scripteur ANT </li></ul>
  13. 13. Quelques exemples <ul><li>J u nit : http://junit.cvs.sourceforge.net/viewvc/junit/junit/build.xml?view=markup </li></ul><ul><li>Findbugs : http://findbugs.googlecode.com/svn/trunk/findbugs/build.xml </li></ul><ul><li>J b oss SEAM : http://anonsvn.jboss.org/repos/seam/branches/community/Seam_2_0 </li></ul>
  14. 14. Les intérêts de Maven pour un projet
  15. 15. Maven, le choix Projet <ul><li>Le projet peut-être librement découpé en modules </li></ul><ul><ul><li>Maven ne cristallise pas l’architecture de l’application </li></ul></ul><ul><li>Gestion des dépendances </li></ul><ul><ul><li>Déclaratif : Gestion automatique du téléchargement et de l’utilisation dans le projet. </li></ul></ul><ul><ul><li>Transitivité : On ne déclare que ce que l’on utilise </li></ul></ul>
  16. 16. Maven, le choix Projet <ul><li>Centralise et automatise les différents aspects du développement de logiciels </li></ul><ul><li>Une seule chose qu’il ne peut faire à votre place  : Développer </li></ul><ul><ul><li>Construction </li></ul></ul><ul><ul><li>Tests </li></ul></ul><ul><ul><li>Packaging </li></ul></ul><ul><ul><li>Déploiement </li></ul></ul><ul><ul><li>Documentation </li></ul></ul><ul><ul><li>Contrôles et rapports sur la qualité des développements </li></ul></ul>
  17. 17. Les intérêts de Maven pour une entreprise
  18. 18. Maven, le choix Entreprise <ul><li>Standard du marché </li></ul><ul><ul><li>Disponibilité des ressources </li></ul></ul><ul><li>Standardisation des développements </li></ul><ul><ul><li>Organisation des sources </li></ul></ul><ul><ul><li>Descripteur de projet </li></ul></ul>
  19. 19. Maven, le choix Entreprise <ul><li>Rationnaliser les coûts </li></ul><ul><ul><li>On ne réinvente pas la roue à chaque nouveau projet </li></ul></ul><ul><ul><li>Factorisation entre projets </li></ul></ul><ul><li>Promotion de la qualité et intégration de l’outillage associé </li></ul>
  20. 20. LA solution ?
  21. 21. Maven, LA solution ? <ul><li>NON !!! </li></ul><ul><ul><li>Maven ne répond pas à tous les besoins </li></ul></ul><ul><li>Choisissez Maven seulement si vous adhérez à son objectif : </li></ul><ul><ul><li>STANDARDISER </li></ul></ul><ul><li>En avez vous les moyens ? </li></ul><ul><ul><li>Ex: standardiser un existant coûte vite cher ! </li></ul></ul><ul><li>Ant et les autres solutions de scripting peuvent être justifiées. </li></ul>
  22. 22. Programme <ul><li>Faire le choix Maven </li></ul><ul><li>Mettre en place Maven </li></ul><ul><ul><li>KISS </li></ul></ul><ul><ul><li>Sécurisation de l’environnement </li></ul></ul><ul><ul><li>Industrialisation des développements </li></ul></ul><ul><li>Utiliser Maven au jour le jour </li></ul><ul><li>Apprendre Maven </li></ul><ul><li>L’avenir de Maven </li></ul>
  23. 23. KISS
  24. 24. K.I.S.S. <ul><li>Keep It Simple, Stupid </li></ul><ul><li>Partez de rien </li></ul><ul><li>Ne faites pas de sur-architecture </li></ul><ul><ul><li>ça n’est pas parce que Maven vous propose d’utiliser des modules qu’il faut le faire. </li></ul></ul><ul><li>Ne testez pas toutes les fonctionnalités de Maven dans votre projet. </li></ul>
  25. 25. Sécurisation de l’environnement
  26. 26. Sécurisez ! <ul><li>Mettez en place un gestionnaire de proxy des repositories externes </li></ul><ul><li>Pour se prémunir </li></ul><ul><ul><li>des défaillances du réseau de l’entreprise </li></ul></ul><ul><ul><li>des défaillances des repositories externes. </li></ul></ul><ul><li>Pour faire plaisir </li></ul><ul><ul><li>à votre infra en diminuant la charge réseau. </li></ul></ul><ul><ul><li>aux développeurs en diminuant les temps de téléchargement. </li></ul></ul>
  27. 27. Sécurisez ! <ul><li>Différents produits gratuits ou payants </li></ul><ul><ul><li>Sonatype Nexus (remplaçant de Proximity) </li></ul></ul><ul><ul><li>Jfrog Artifactory </li></ul></ul><ul><ul><li>Apache Archiva </li></ul></ul><ul><li>Un groupe unique qui fait proxy vers tous les repos externes </li></ul><ul><ul><li>Déclaration d’un mirroir * dans les settings de tous les développeurs </li></ul></ul>
  28. 28. Settings avec un miroir global <ul><li><settings> <mirrors> <mirror> <!--This sends everything else to /public --> <id>nexus</id> <mirrorOf>external:*</mirrorOf> <url>http://localhost:8081/nexus/content/groups/public</url> </mirror> </mirrors> <profiles> <profile> <id>nexus</id> <!--Enable snapshots for the built in central repo to direct --> <!--all requests to nexus via the mirror --> <repositories> <repository> <id>central</id> <url>http://central</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>central</id> <url>http://central</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <activeProfiles> <!--make the profile active all the time --> <activeProfile>nexus</activeProfile> </activeProfiles> </settings> </li></ul>
  29. 29. Industrialisation des développements
  30. 30. Industrialisez ! <ul><li>Partagez vos livrables : </li></ul><ul><ul><li>Référentiels d’artifacts </li></ul></ul><ul><li>Partagez vos extensions Maven : </li></ul><ul><ul><li>Plugins </li></ul></ul><ul><li>Partagez le paramétrage Maven : </li></ul><ul><ul><li>POM Parent </li></ul></ul>
  31. 31. Industrialisez ! <ul><li>Partagez vos versions recommandées d’artifacts : </li></ul><ul><ul><li>POM de dependencyManagement </li></ul></ul><ul><ul><li>Scope import </li></ul></ul><ul><li>Partagez vos modèles d’applications : </li></ul><ul><ul><li>Archetypes </li></ul></ul><ul><li>Automatisez votre processus de release </li></ul>
  32. 32. Industrialisez ! <ul><li>Mettez en place une démarche de tests </li></ul><ul><ul><li>Tout l’outillage est pré-intégré : </li></ul></ul><ul><ul><ul><li>Junit, TestNG – tests unitaires, </li></ul></ul></ul><ul><ul><ul><li>Selenium, Canoo – tests d’IHM, </li></ul></ul></ul><ul><ul><ul><li>Fitnesse, Greenpepper – tests fonctionnels, </li></ul></ul></ul><ul><ul><ul><li>SoapUI – tests d’intégration WS </li></ul></ul></ul><ul><ul><ul><li>Et bien d’autres encore </li></ul></ul></ul>
  33. 33. Industrialisez ! <ul><li>Mettez en place une démarche qualité </li></ul><ul><ul><li>Uniformisation du code (CheckStyle) </li></ul></ul><ul><ul><li>Recherche de mauvaises pratiques ou de bugs potentiels (PMD, FindBugs, Clirr) </li></ul></ul><ul><ul><li>Couverture du code par les tests (Cobertura, Clover) </li></ul></ul><ul><ul><li>Contrôles </li></ul></ul><ul><ul><ul><li>le build ne passe pas si certains critères ne sont pas atteints (Non compatibilité ascendante des APIs, …) </li></ul></ul></ul><ul><ul><li>Reporting </li></ul></ul><ul><ul><ul><li>Site web ou serveur dédié (sonar) </li></ul></ul></ul>
  34. 34. Sonar
  35. 35. Industrialisez ! <ul><li>Mettez en place un serveur d’intégration continue </li></ul><ul><ul><li>Environnement neutre </li></ul></ul><ul><ul><li>Réagir au plus tôt </li></ul></ul><ul><ul><ul><li>intégration, </li></ul></ul></ul><ul><ul><ul><li>tests, </li></ul></ul></ul><ul><ul><ul><li>contrôles qualité </li></ul></ul></ul><ul><ul><li>Amélioration de la productivité et de la qualité </li></ul></ul><ul><li>Différents produits gratuits ou non </li></ul><ul><ul><li>Hudson, Bamboo, TeamCity, Continuum, Cruisecontrol, … </li></ul></ul>
  36. 36. Hudson
  37. 37. Programme <ul><li>Faire le choix Maven </li></ul><ul><li>Mettre en place Maven </li></ul><ul><li>Utiliser Maven au jour le jour </li></ul><ul><ul><li>Structurer son projet </li></ul></ul><ul><ul><li>Structurer son POM </li></ul></ul><ul><ul><li>Pratiques de développement </li></ul></ul><ul><li>Apprendre Maven </li></ul><ul><li>L’avenir de Maven </li></ul>
  38. 38. Structurer son projet
  39. 39. Structurer son projet <ul><li>A ne pas faire : </li></ul><ul><ul><li>Ne pas utiliser les conventions </li></ul></ul><ul><ul><ul><li>Sauf si migration, et uniquement en période transitoire. </li></ul></ul></ul><ul><ul><li>Avoir plusieurs sous modules avec des versions différentes </li></ul></ul><ul><ul><ul><li>Ces modules sont alors de véritables projets indépendants. Pas besoin d’un build global. </li></ul></ul></ul>
  40. 40. Structurer son projet <ul><li>A ne pas faire : </li></ul><ul><ul><li>Avoir un trop grand nombre de modules dans un même projet </li></ul></ul><ul><ul><ul><li>Est ce justifié par des contraintes ou besoins techniques ? </li></ul></ul></ul><ul><ul><ul><li>Cela pénalise les performances le projet. </li></ul></ul></ul><ul><ul><li>Avoir un trop grand nombre d’héritage </li></ul></ul><ul><ul><ul><li>Cela complexifie la maintenance des POMs </li></ul></ul></ul><ul><ul><ul><ul><li>A quel endroit est positionné la configuration du plugin XXX ? </li></ul></ul></ul></ul>
  41. 41. Structurer son projet <ul><li>A faire : </li></ul><ul><ul><li>Utiliser l’héritage « naturel » : Le reactor sert de parent ses sous-modules. </li></ul></ul><ul><ul><ul><li>Simplifie la configuration (site, scm, …) </li></ul></ul></ul>
  42. 42. Structurer son POM
  43. 43. Structurer son POM <ul><li>A ne pas faire : </li></ul><ul><ul><li>Dépendances : </li></ul></ul><ul><ul><ul><li>Confondre dependencies / dependencyManagement </li></ul></ul></ul><ul><ul><li>Plugins : </li></ul></ul><ul><ul><ul><li>Confondre plugins / pluginManagement </li></ul></ul></ul><ul><ul><ul><li>Utiliser massivement le plugin AntRun </li></ul></ul></ul><ul><ul><ul><li>Ne pas définir explicitement les versions de TOUS les plugins utilisés par le projet </li></ul></ul></ul>
  44. 44. Structurer son POM <ul><li>A ne pas faire : </li></ul><ul><ul><li>Profils : </li></ul></ul><ul><ul><ul><li>Se rendre dépendant de l’environnement </li></ul></ul></ul><ul><ul><ul><li>Avoir des dépendances non définies par défaut </li></ul></ul></ul><ul><ul><li>Reporting et qualité </li></ul></ul><ul><ul><ul><li>Activer sur un code existant tous les rapportspossibles avec leurs configurations par défaut </li></ul></ul></ul><ul><ul><ul><li>Faire des contrôles sur le formattage du code sans fournir la configuration associée pour l’IDE </li></ul></ul></ul><ul><ul><li>Mettre tout ce qu’il est possible de mettre dans le POM. </li></ul></ul>
  45. 45. Structurer son POM <ul><li>A faire : </li></ul><ul><ul><li>Fixer les versions des dépendances dans le dependencyManagement de plus haut niveau dans l’héritage du projet </li></ul></ul><ul><ul><li>Définir les dépendances (groupId, artifactId, scope) au plus prêt de leur utilisation (dans les modules) </li></ul></ul><ul><ul><li>Utiliser les plugins dependency (apache) et versions (mojo) pour analyser et maintenir les dépendances de votre projet </li></ul></ul>
  46. 46. Pratiques de développement
  47. 47. Pratiques de développement <ul><li>A ne pas faire : </li></ul><ul><ul><li>Passer son temps dans la console, </li></ul></ul><ul><ul><li>S’échanger des jars par mail, </li></ul></ul><ul><ul><li>Utiliser systématiquement &quot;-Dmaven.test.skip=true » </li></ul></ul><ul><ul><li>Faire les releases à la main </li></ul></ul>
  48. 48. Pratiques de développement <ul><li>A faire : </li></ul><ul><ul><li>Tenir sa version de Maven à jour </li></ul></ul><ul><ul><ul><li>On a pu noter sur la version 2.1 une réduction de plus 75% du temps de résolution des modules et dépendances d’un projet </li></ul></ul></ul><ul><ul><li>Utiliser le plugin reactor (ou Maven >= 2.1) pour ne reconstruire que ce qui est nécessaire </li></ul></ul><ul><ul><li>Adapter son utilisation de Maven à son IDE. </li></ul></ul>
  49. 49. Programme <ul><li>Faire le choix Maven </li></ul><ul><li>Mettre en place Maven </li></ul><ul><li>Utiliser Maven au jour le jour </li></ul><ul><li>Apprendre Maven </li></ul><ul><ul><li>Où trouver des documentations ? </li></ul></ul><ul><ul><li>Quels ouvrages sont disponibles ? </li></ul></ul><ul><ul><li>Où trouver du support ? </li></ul></ul><ul><li>L’avenir de Maven </li></ul>
  50. 50. Où trouver des documentations ?
  51. 51. Documentations <ul><li>Le site web : </li></ul><ul><ul><li>http://maven.apache.org </li></ul></ul><ul><li>Le wiki projet : </li></ul><ul><ul><li>http://docs.codehaus.org/display/MAVEN </li></ul></ul><ul><li>Le wiki utilisateurs : </li></ul><ul><ul><li>http://docs.codehaus.org/display/MAVENUSER </li></ul></ul>
  52. 52. Quels ouvrages sont disponibles ?
  53. 53. Ouvrages <ul><li>Sonatype / O’Reilly : </li></ul><ul><ul><li>The Definitive Guide </li></ul></ul><ul><ul><li>http://www.sonatype.com/books </li></ul></ul><ul><ul><li>Gratuit en version électronique </li></ul></ul><ul><ul><li>D’ici la fin de l’année (?) en français </li></ul></ul>
  54. 54. Ouvrages <ul><li>Exist Global </li></ul><ul><ul><li>Better builds with Maven </li></ul></ul><ul><ul><li>http://www.maestrodev.com/better-build-maven </li></ul></ul><ul><ul><li>Gratuit </li></ul></ul><ul><ul><li>Version électronique uniquement </li></ul></ul>
  55. 55. Ouvrages <ul><li>Nicolas De Loof – Arnaud Héritier / Pearson </li></ul><ul><ul><li>Un ouvrage original axé sur la pratique </li></ul></ul><ul><ul><li>En français </li></ul></ul><ul><ul><li>D’ici la fin de l’année </li></ul></ul>
  56. 56. Ouvrages <ul><li>OCTO Technology </li></ul><ul><ul><li>Java Productivity Primer </li></ul></ul><ul><ul><li>12 pratiques autour de Maven et des usines de développement pour améliorer le productivité en Java </li></ul></ul><ul><ul><li>http://www.octo.com </li></ul></ul><ul><ul><li>Gratuit </li></ul></ul><ul><ul><li>En français cet été (enfin !!) </li></ul></ul>
  57. 57. Où trouver du support ?
  58. 58. Support <ul><li>Listes de diffusion </li></ul><ul><ul><li>http://maven.apache.org/mail-lists.html </li></ul></ul><ul><li>IRC </li></ul><ul><ul><li>irc.codehaus.org - #maven </li></ul></ul><ul><li>Developpez.net </li></ul><ul><ul><li>http://www.developpez.net/ forum maven </li></ul></ul><ul><ul><li>En français </li></ul></ul><ul><li>Contrats de support </li></ul><ul><ul><li>Sonatype et quelques autres entreprises </li></ul></ul>
  59. 59. Programme <ul><li>Faire le choix Maven </li></ul><ul><li>Mettre en place Maven </li></ul><ul><li>Utiliser Maven au jour le jour </li></ul><ul><li>Apprendre Maven </li></ul><ul><li>L’avenir de Maven </li></ul><ul><ul><li>Le produit </li></ul></ul><ul><ul><li>La concurrence </li></ul></ul><ul><ul><li>La communauté </li></ul></ul>
  60. 60. Le produit
  61. 61. Apache Maven 2.0.x <ul><li>Maintenance corrective </li></ul><ul><li>Dernière version publiée : 2.0.10 </li></ul><ul><li>Pas certain qu’une version 2.0.11 voit le jour. </li></ul>
  62. 62. Apache Maven 2.x <ul><li>Maintenance évolutive </li></ul><ul><li>Corrections qui imposent un refactoring conséquent </li></ul><ul><li>Dernière version publiée : 2.1.0 </li></ul><ul><li>La version 2.2.0 sera bientôt disponible </li></ul><ul><li>2.2.0-RC3 déjà disponible </li></ul><ul><ul><li>Correction du problème de résolution des propriétés et de transformation du POM apparus en 2.1.0 </li></ul></ul><ul><ul><li>Java 5 en pré-requis pour exécuter Maven </li></ul></ul>
  63. 63. Apache Maven 3.x <ul><li>N’AYEZ PAS PEUR, NE FUYEZ PAS !!! </li></ul><ul><li>Notre objectif : Compatibilité avec Maven 2.x assurée </li></ul><ul><ul><li>Pour les projets </li></ul></ul><ul><ul><li>Pour les plugins </li></ul></ul>
  64. 64. Apache Maven 3.x <ul><li>Pourquoi une 3.x ? </li></ul><ul><ul><li>Parce que refonte importante du code </li></ul></ul><ul><li>Réduction / Désendettement du code </li></ul><ul><li>Refonte de l’API d’utilisation (embedder) pour une meilleure intégration aux IDEs </li></ul>
  65. 65. Apache Maven 3.x <ul><li>Refonte de la gestion des artifacts (Mercury) </li></ul><ul><ul><li>Amélioration de l’algorithme de résolution des dépendances (SAT), </li></ul></ul><ul><ul><li>Abstraction des référentiels, </li></ul></ul><ul><ul><li>Gestion des versions configurable (Maven vs OSGI vs …), </li></ul></ul><ul><ul><li>Réécriture de la couche de transport http/webdav par l’équipe de Jetty. </li></ul></ul><ul><li>Cycle de vie prédictible et interrogeable, </li></ul>
  66. 66. Apache Maven 3.x <ul><li>Abstraction du descripteur de projet </li></ul><ul><ul><li>Gestion de plusieurs versions du POM </li></ul></ul><ul><ul><li>Gestion de plusieurs formats du POM </li></ul></ul><ul><ul><li>Comment gérer la compatibilité avec les anciennes versions de Maven ? </li></ul></ul><ul><li>Remplacement de plexus par une implémentation « standard « (JSR 299 ou JSR 330) : </li></ul><ul><ul><li>Guice ? </li></ul></ul><ul><ul><li>XBR ? </li></ul></ul><ul><li>... </li></ul>
  67. 67. La concurrence
  68. 68. Les concurrents <ul><li>Ant + Ivy, Easy Ant, Gant, Graddle, … </li></ul><ul><li>Offrent la souplesse d’un outillage scriptable </li></ul><ul><li>Cherchent à apporter un niveau de service proche de Maven (gestion de dépendances, ..) mais avec une standardisation moins contraignante. </li></ul><ul><li>Cette souplesse ne leur sera t’elle pas fatale comme pour Maven 1 ? </li></ul>
  69. 69. La communauté
  70. 70. La communauté des utilisateurs <ul><li>1780 inscrits sur la liste de diffusion des utilisateurs </li></ul><ul><li>Statistiques sur 90 jours </li></ul><ul><li>En bleu le nombre d’inscrits </li></ul><ul><li>En rouge le nombre de messages par jours </li></ul>
  71. 71. Le site web
  72. 72. Les téléchargements <ul><li>Nombre de téléchargements par mois depuis un an </li></ul>
  73. 73. L’équipe projet <ul><li>Plus de 60 committeurs enregistrés, </li></ul><ul><li>Plus de 20 actifs depuis le début de l’année, </li></ul><ul><li>Des entreprises comme Sonatype fournissent des ressources pour le projet et du support professionnel pour les utilisateurs, </li></ul><ul><li>Une communauté de développeurs moins isolée : rapprochements avec Eclipse, Jetty, … </li></ul>
  74. 74. Conclusion <ul><li>Aujourd’hui très largement adopté par les entreprises, </li></ul><ul><li>Un produit avec une grande valeur ajoutée, </li></ul><ul><li>Une communauté d’utilisateurs et de développeurs active, </li></ul><ul><li>Du support professionnel, </li></ul><ul><li>Une produit loin d’être « parfait », </li></ul><ul><li>Encore beaucoup de choses à faire, </li></ul><ul><li>Mais un véritable challenge à relever </li></ul><ul><ul><li>Venez nous aider à le réaliser !! </li></ul></ul>
  75. 75. Questions ?
  76. 76. Licence <ul><li>Les photos et logos appartiennent à leurs auteurs respectifs </li></ul><ul><li>Le contenu de la présentation est sous licence Creative Commons 2.0 France </li></ul><ul><ul><li>Contrat Paternité </li></ul></ul><ul><ul><li>Pas d'Utilisation Commerciale </li></ul></ul><ul><ul><li>Partage des Conditions Initiales à l'Identique </li></ul></ul><ul><li>http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ </li></ul>
  77. 77. Buffet <ul><li>Merci pour votre attention </li></ul><ul><li>Merci à Sopra Group pour son sponsoring </li></ul>

×