SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
Apache Maven,[object Object],Initiation,[object Object],Paris VI - Master STL-TA,[object Object],Jeudi 23 Octobre 2008,[object Object]
Arnaud Héritier,[object Object],OCTO Technology,[object Object],Expert sénior,[object Object],aheritier AT octo DOT com,[object Object],http://www.octo.com,[object Object],Maven,[object Object],Committer depuis 2004,[object Object],Membre du PMC (Project Management Committee) depuis 2005  ,[object Object],aheritier AT apache DOT org,[object Object],http://maven.apache.org,[object Object],DESS GLA (ex Master STL-TA),[object Object],Promotion 1999,[object Object],2,[object Object]
http://tinyurl.com/6r5v8p,[object Object],http://tinyurl.com/5uv6lg,[object Object],3,[object Object],Bibliographie,[object Object]
Licence,[object Object],Creative Commons,[object Object],Contrat Paternité,[object Object],Pas d'Utilisation Commerciale,[object Object],Partage des Conditions Initiales à l'Identique ,[object Object], 2.0 France,[object Object],http://creativecommons.org/licenses/by-nc-sa/2.0/fr/,[object Object],4,[object Object]
Aujourd’hui,[object Object],Pourquoi Maven ?,[object Object],Maven, les concepts,[object Object],Maven, sa place dans l’entreprise,[object Object],Comment faire échouer son projet avec Maven ?,[object Object],Démonstration,[object Object],5,[object Object]
Pourquoi Maven ?,[object Object],Apache Maven,[object Object],6,[object Object]
Construction d’un war en 2002,[object Object],Construire un war,[object Object],Utilisation d’Eclipse limitée,[object Object],En ces temps reculés où WTP n’existait pas (uniquement dans la version payante d’IBM), eclipse ne permettait pas d’exporter des Wars,[object Object],Gestion manuelle,[object Object],Modifier les fichiers de paramétrage,[object Object],Exporter les différents jar,[object Object],Copier les dépendances (et nos jars), dans un répertoire lib,[object Object],Faire un zip que l’on renomme en war,[object Object],Tagguer l’ensemble des sources dans le répertoire de sources (CVS),[object Object],Envoi du fichier par FTP sur le serveur d’intégration,[object Object],Se connecter à la console d’administration du serveur et déployer l’application ,[object Object]
Construction d’un war en 2002,[object Object],Combien de temps ça prend ?,[object Object],Quand tout va bien : ,[object Object],15 minutes,[object Object],Quand il y a des problèmes : ,[object Object],½ journée,[object Object],Un seul problème, Y’a toujours des problèmes,[object Object],Erreur dans la configuration,[object Object],Oublie d’une dépendance,[object Object],Oublie d’un fichier,[object Object],Correction de dernière minute qui introduit une régression…,[object Object],Autres,[object Object]
Une première réponse : ANT,[object Object],Ecriture d’un script,[object Object],Permet d’automatiser le processus,[object Object],Durée réduite du processus réduite de moitié,[object Object],Le processus ne monopolise personne,[object Object],On le lance et on passe à autre chose,[object Object]
Les limites de ANT,[object Object],Ecrire le script, c’est long,[object Object],Modifier un script, c’est très long,[object Object],Au final, le gains de temps n’est pas évident,[object Object],Mais c’est quand même plus amusant,[object Object],Il est possible de réutiliser le script !,[object Object]
La réutilisation de scripts ANT,[object Object],Les scripts ne sont pas directement réutilisables ,[object Object],Structure de projets différents,[object Object],Besoins différents,[object Object],Encore du temps perdu,[object Object],Modification du script,[object Object],Réécriture pour le rendre plus générique,[object Object], Un nouveau métier s’est créé : scripteur ANT,[object Object]
Quelques exemples,[object Object],http://anonsvn.jboss.org/repos/seam/branches/community/Seam_2_0,[object Object],http://junit.cvs.sourceforge.net/viewvc/junit/junit/build.xml?view=markup,[object Object],http://findbugs.googlecode.com/svn/trunk/findbugs/build.xml,[object Object]
Les CONCEPTS,[object Object],Apache Maven,[object Object],13,[object Object]
L’arrivée de Maven,[object Object],Convention Over Configuration,[object Object],On ne script plus, on décrit son projet (POM),[object Object],Architecture extensible,[object Object],Des plugins réutilisables évitent la multiplication des scripts de build,[object Object],Gestion des librairies du projet (versions, partage, ..),[object Object],Référentiels de librairies,[object Object],Dépendances déclaratives,[object Object],Dépendances transitives,[object Object],Amélioration de la qualité des livrables,[object Object],Contrôles,[object Object],Rapports,[object Object]
Les  conventions,[object Object],1 projet Maven = 1 artéfact (pom, jar, war, ear, …),[object Object],1 organisation des répertoires prédéfinie,[object Object],1 descripteur standardisé,[object Object],Des cycles de construction standardisés,[object Object],15,[object Object]
Le POM,[object Object],Un fichier XML (pom.xml),[object Object],Décrivant :,[object Object],Identification du projet,[object Object],Version du projet,[object Object],Description du projet,[object Object],Liste des développeurs,[object Object],Dépendances,[object Object],…,[object Object],<?xml version="1.0" encoding="UTF-8"?>,[object Object],<project>,[object Object], <modelVersion>4.0.0</modelVersion>,[object Object], <groupId>com.octo</groupId>,[object Object], <artifactId>webapp-sample</artifactId>,[object Object], <version>1.1-SNAPSHOT</version>,[object Object], <packaging>war</packaging>,[object Object], <name>Simple webapp</name>,[object Object], <inceptionYear>2007</inceptionYear>,[object Object], <dependencies>,[object Object],  <dependency>,[object Object],   <groupId>org.springframework</groupId>,[object Object],   <artifactId>spring-struts</artifactId>,[object Object],   <version>2.0.2</version>,[object Object],  </dependency>,[object Object],  …,[object Object], </dependencies>,[object Object],</project>,[object Object],16,[object Object]
Cycle de vie et plugins,[object Object],17,[object Object]
Les référentiels de d’artéfacts,[object Object],Par défaut :,[object Object],Un central ,[object Object],http://repo1.maven.org/maven2,[object Object],Propose plusieurs dizaines de Go de librairies OSS.,[object Object],Un local ,[object Object],${user.home}/.m2/repository,[object Object],Centralise tous les artéfacts utilisés et créés par vos projets,[object Object],18,[object Object]
Sans Maven,[object Object],Avec Maven,[object Object],19,[object Object],Les dépendances,[object Object]
Les dépendances,[object Object],Déclaratives,[object Object],groupId + artifactId + version (+ classifier),[object Object],Transitives,[object Object],Lib A  Lib B,[object Object],Lib B  Lib C,[object Object],Alors Lib A  Lib C,[object Object],Scopes d’utilisation,[object Object],Runtime : Taglibs,[object Object],Provided : API Servlet, Driver SGBD, …,[object Object],Compile : par défaut,[object Object],Test : Junit, DBUnit…,[object Object],System : non recommandé,[object Object],20,[object Object]
Le reactor,[object Object],Construit un projet et tous ces modules en résolvant l’ordre de leurs dépendances,[object Object],Projet 1	,[object Object],Module A (dépend de B),[object Object],Module B,[object Object],Module C (dépend de A),[object Object], Construira B ,[object Object],puis A ,[object Object],puis C ,[object Object],pom.xml de projet 1,[object Object],<modules>,[object Object],  <module>moduleA</module>,[object Object],  <module>moduleC</module>,[object Object],  <module>moduleB</module>,[object Object],</modules>,[object Object],21,[object Object]
L’héritage,[object Object],Factorisation de paramètres entre projets/modules,[object Object],L’organisation des sous modules et de l’héritage doit être technique (ejbs, wars, jars) et non pas fonctionnel (serviceA, serviceB, …),[object Object],Projet1,[object Object],Jars,[object Object],Jar1,[object Object],Jar2,[object Object],Wars,[object Object],War1,[object Object],…,[object Object],pom.xml de module Jar1,[object Object],<parent>,[object Object],  <groupId>X.Y.Z</groupId>,[object Object],  <artifactId>jars</artifactId>,[object Object],  <version>1.0-SNAPSHOT</version>,[object Object],</parent>,[object Object],22,[object Object]
L’héritage naturel,[object Object],Lorsque le parent sert aussi de reactor,[object Object],A condition que nom du module = son artifactId,[object Object],Evite la re-définition de certains éléments du pom :,[object Object],Url du site,[object Object],Déploiement du site ,[object Object],Informations SCMs,[object Object],23,[object Object]
Site / Documentation,[object Object],Génération d’un site documentaire à partir de documents dans différents formats :,[object Object],Xdocs (xml),[object Object],Apt (wiki),[object Object],Docbook,[object Object],….,[object Object],Génération de rapports sur le projet,[object Object],Descriptif,[object Object],Informations sur les dépendances,[object Object],Documentation automatique des plugins maven,[object Object],Javadoc,[object Object],Xref,[object Object],24,[object Object]
Site / Documentation,[object Object],25,[object Object]
Reporting / Contrôle qualité,[object Object],Reporting - Réactif,[object Object],Je corrige les problèmes une fois étudié le rapport,[object Object],Les problèmes sont dans le gestionnaire de versions,[object Object],Contrôle - Pro-actif,[object Object],Le build échoue si mon code ne respecte pas certaines règles	,[object Object],Les problèmes ne sont pas dans le gestionnaire de versions puisque je ne commit jamais un code qui ne build pas,[object Object],Types de contrôles / reporting,[object Object],Résultat de l’exécution des tests : surefire,[object Object],Couverture de tests : clover, cobertura,[object Object],Qualité du code : findbugs,[object Object],Conformité aux standards : checkstyle,[object Object],Patterns / Antipatterns : pmd,[object Object],26,[object Object]
Reporting / Contrôle qualité,[object Object],27,[object Object]
Et encore  . . .,[object Object],Profiles,[object Object],Properties,[object Object],Assemblies,[object Object],Archetypes,[object Object],28,[object Object]
Sa place dans l’entreprise,[object Object],Apache Maven,[object Object],29,[object Object]
Référentiels de librairies,[object Object],30,[object Object],© OCTO  Technology 2008,[object Object]
L’intégration continue,[object Object]
L’intégration continue – Multi-projets,[object Object],32,[object Object]
Le processus de release,[object Object],33,[object Object]
Comment faire échouer son projet avec Maven ?,[object Object],Apache Maven,[object Object],34,[object Object]
10 bonnes pratiques pour faire échouer son projet,[object Object],Ne pas utiliser les conventions,[object Object],Mettre tout ce qui est possible de mettre dans le pom,[object Object],Se rendre dépendant de l’environnement,[object Object],Multiplier les niveauxd’héritage,[object Object],Utiliser systématiquement "-Dmaven.test.skip=true » ,[object Object],Faire les releases à la main,[object Object],S’échanger les jars par mail,[object Object],Utilisation massive du plugin antrun,[object Object],Essayer de définir les dépendances pour les autres,[object Object],35,[object Object]
10. Passer son temps dans la console,[object Object]
Démonstration,[object Object],Apache Maven,[object Object],37,[object Object]
Initialiser un projet,[object Object],From scratch,[object Object],A l’ancienne,[object Object],Avec m2eclipse,[object Object],Depuis un modèle (archetype),[object Object],En ligne de commande,[object Object],Avec m2eclipse,[object Object],38,[object Object]
Gérer les dépendances,[object Object],Recherche de dépendances,[object Object],Mvnrepository.com,[object Object],m2eclipse,[object Object],Dépendances simples,[object Object],Dépendances avancées,[object Object],Ranges,[object Object],Scopes,[object Object],Excludes,[object Object],Analyse des dépendances,[object Object],dependency:tree,[object Object],dependency:analyze,[object Object],39,[object Object]
Multi-modules,[object Object],Ajout de modules,[object Object],Dépendances entre modules,[object Object],Le reactor,[object Object],Son rôle,[object Object],Le plugin du même nom,[object Object],40,[object Object]
Héritage,[object Object],Héritage entre modules,[object Object],Mise en place d’un dependencyManagement,[object Object],41,[object Object]
Plugins,[object Object],Configuration des plugins,[object Object],PluginsManagement,[object Object],42,[object Object]
Documentation & Reporting,[object Object],Différents formats pour la documentation :,[object Object],Xdoc, APT,[object Object],Configuration des rapports,[object Object],Descripteur de site,[object Object],43,[object Object]
Questions ?,[object Object],Merci pour votre attention,[object Object],44,[object Object]

Weitere ähnliche Inhalte

Was ist angesagt?

Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel  - Introduction Et Bonnes PratiquesIndustrialisation Du Logiciel  - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel - Introduction Et Bonnes PratiquesEmmanuel Hugonnet
 
Tests Dinterface SWT
Tests Dinterface SWTTests Dinterface SWT
Tests Dinterface SWTEric Le Merdy
 
Intégration continue transco
Intégration continue transcoIntégration continue transco
Intégration continue transcolaurent_opnworks
 
Presentation Rex Methodes Agiles
Presentation Rex Methodes AgilesPresentation Rex Methodes Agiles
Presentation Rex Methodes AgilesIppon
 
Présentation Maven
Présentation MavenPrésentation Maven
Présentation MavenSOAT
 
Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014Ippon
 
Sonar 2.0 au JUG Genève
Sonar 2.0 au JUG GenèveSonar 2.0 au JUG Genève
Sonar 2.0 au JUG GenèveFreddy Mallet
 
JCertif 2012 : Integration continue avec Jenkins
JCertif 2012 : Integration continue avec JenkinsJCertif 2012 : Integration continue avec Jenkins
JCertif 2012 : Integration continue avec JenkinsRossi Oddet
 
Concept de l’Intégration Continue
Concept de l’Intégration ContinueConcept de l’Intégration Continue
Concept de l’Intégration ContinueFrédéric Sagez
 
Commencer avec le tdd
Commencer avec le tddCommencer avec le tdd
Commencer avec le tddEric Hogue
 
Allons plus loin avec Selenium
Allons plus loin avec SeleniumAllons plus loin avec Selenium
Allons plus loin avec SeleniumSOAT
 
Java 9 modulo les modules devoxx fr 2017
Java 9 modulo les modules devoxx fr 2017Java 9 modulo les modules devoxx fr 2017
Java 9 modulo les modules devoxx fr 2017Jean-Michel Doudoux
 
Intégration continue
Intégration continueIntégration continue
Intégration continueKlee Group
 
Quid de vos applications symfony 1
Quid de vos applications symfony 1Quid de vos applications symfony 1
Quid de vos applications symfony 1marchugon
 
Integration continue - Introduction
Integration continue - IntroductionIntegration continue - Introduction
Integration continue - IntroductionOlivier ETIENNE
 
20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natif20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natifHenri Gomez
 
Reunion Technique PMSIpilot - Janvier 2010
Reunion Technique PMSIpilot - Janvier 2010Reunion Technique PMSIpilot - Janvier 2010
Reunion Technique PMSIpilot - Janvier 2010PMSIpilot
 
Les générateurs de code, pour se simplifier la vie au quotidien
Les générateurs de code, pour se simplifier la vie au quotidienLes générateurs de code, pour se simplifier la vie au quotidien
Les générateurs de code, pour se simplifier la vie au quotidienNicolas Carlo
 
Formation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifkemenaran
 

Was ist angesagt? (20)

Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel  - Introduction Et Bonnes PratiquesIndustrialisation Du Logiciel  - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
 
Tests Dinterface SWT
Tests Dinterface SWTTests Dinterface SWT
Tests Dinterface SWT
 
Intégration continue transco
Intégration continue transcoIntégration continue transco
Intégration continue transco
 
Presentation Rex Methodes Agiles
Presentation Rex Methodes AgilesPresentation Rex Methodes Agiles
Presentation Rex Methodes Agiles
 
Présentation Maven
Présentation MavenPrésentation Maven
Présentation Maven
 
Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014
 
Sonar 2.0 au JUG Genève
Sonar 2.0 au JUG GenèveSonar 2.0 au JUG Genève
Sonar 2.0 au JUG Genève
 
JCertif 2012 : Integration continue avec Jenkins
JCertif 2012 : Integration continue avec JenkinsJCertif 2012 : Integration continue avec Jenkins
JCertif 2012 : Integration continue avec Jenkins
 
Concept de l’Intégration Continue
Concept de l’Intégration ContinueConcept de l’Intégration Continue
Concept de l’Intégration Continue
 
Commencer avec le tdd
Commencer avec le tddCommencer avec le tdd
Commencer avec le tdd
 
Allons plus loin avec Selenium
Allons plus loin avec SeleniumAllons plus loin avec Selenium
Allons plus loin avec Selenium
 
Valider par des tests - Blend
Valider par des tests - BlendValider par des tests - Blend
Valider par des tests - Blend
 
Java 9 modulo les modules devoxx fr 2017
Java 9 modulo les modules devoxx fr 2017Java 9 modulo les modules devoxx fr 2017
Java 9 modulo les modules devoxx fr 2017
 
Intégration continue
Intégration continueIntégration continue
Intégration continue
 
Quid de vos applications symfony 1
Quid de vos applications symfony 1Quid de vos applications symfony 1
Quid de vos applications symfony 1
 
Integration continue - Introduction
Integration continue - IntroductionIntegration continue - Introduction
Integration continue - Introduction
 
20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natif20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natif
 
Reunion Technique PMSIpilot - Janvier 2010
Reunion Technique PMSIpilot - Janvier 2010Reunion Technique PMSIpilot - Janvier 2010
Reunion Technique PMSIpilot - Janvier 2010
 
Les générateurs de code, pour se simplifier la vie au quotidien
Les générateurs de code, pour se simplifier la vie au quotidienLes générateurs de code, pour se simplifier la vie au quotidien
Les générateurs de code, pour se simplifier la vie au quotidien
 
Formation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratif
 

Andere mochten auch

ARM Architecture-based System Virtualization: Xen ARM open source software pr...
ARM Architecture-based System Virtualization: Xen ARM open source software pr...ARM Architecture-based System Virtualization: Xen ARM open source software pr...
ARM Architecture-based System Virtualization: Xen ARM open source software pr...The Linux Foundation
 
Cahier des charges_sti2_d_-_stl2
Cahier des charges_sti2_d_-_stl2Cahier des charges_sti2_d_-_stl2
Cahier des charges_sti2_d_-_stl2Claude Oziard
 
Les imprimanres 3 d
Les imprimanres 3 dLes imprimanres 3 d
Les imprimanres 3 ddihiaselma
 
Os3d presentation 2015
Os3d presentation 2015Os3d presentation 2015
Os3d presentation 2015Philippe PERES
 
Brochure détecteurs de vision 3D (2009)
Brochure détecteurs de vision 3D (2009)Brochure détecteurs de vision 3D (2009)
Brochure détecteurs de vision 3D (2009)ifm electronic gmbh
 
4. Memory virtualization and management
4. Memory virtualization and management4. Memory virtualization and management
4. Memory virtualization and managementHwanju Kim
 
3. CPU virtualization and scheduling
3. CPU virtualization and scheduling3. CPU virtualization and scheduling
3. CPU virtualization and schedulingHwanju Kim
 
Terrassement - calcul de volume
Terrassement - calcul de volume Terrassement - calcul de volume
Terrassement - calcul de volume Abdessadek ELASRI
 
.logistique gestion des stock
.logistique gestion des stock .logistique gestion des stock
.logistique gestion des stock Yassine Badri
 
La simulation 3D au service du marketing et de la vente
La simulation 3D au service du marketing et de la venteLa simulation 3D au service du marketing et de la vente
La simulation 3D au service du marketing et de la venteVISIMMO 3D
 

Andere mochten auch (15)

ARM Architecture-based System Virtualization: Xen ARM open source software pr...
ARM Architecture-based System Virtualization: Xen ARM open source software pr...ARM Architecture-based System Virtualization: Xen ARM open source software pr...
ARM Architecture-based System Virtualization: Xen ARM open source software pr...
 
Xen & virtualization
Xen & virtualizationXen & virtualization
Xen & virtualization
 
Cahier des charges_sti2_d_-_stl2
Cahier des charges_sti2_d_-_stl2Cahier des charges_sti2_d_-_stl2
Cahier des charges_sti2_d_-_stl2
 
Les imprimanres 3 d
Les imprimanres 3 dLes imprimanres 3 d
Les imprimanres 3 d
 
2. OS vs. VMM
2. OS vs. VMM2. OS vs. VMM
2. OS vs. VMM
 
Xen Memory Management
Xen Memory ManagementXen Memory Management
Xen Memory Management
 
Os3d presentation 2015
Os3d presentation 2015Os3d presentation 2015
Os3d presentation 2015
 
Ogre 3D : une introduction
Ogre 3D : une introductionOgre 3D : une introduction
Ogre 3D : une introduction
 
Brochure détecteurs de vision 3D (2009)
Brochure détecteurs de vision 3D (2009)Brochure détecteurs de vision 3D (2009)
Brochure détecteurs de vision 3D (2009)
 
4. Memory virtualization and management
4. Memory virtualization and management4. Memory virtualization and management
4. Memory virtualization and management
 
3. CPU virtualization and scheduling
3. CPU virtualization and scheduling3. CPU virtualization and scheduling
3. CPU virtualization and scheduling
 
Terrassement - calcul de volume
Terrassement - calcul de volume Terrassement - calcul de volume
Terrassement - calcul de volume
 
.logistique gestion des stock
.logistique gestion des stock .logistique gestion des stock
.logistique gestion des stock
 
Reconstruction 3 D
Reconstruction 3 DReconstruction 3 D
Reconstruction 3 D
 
La simulation 3D au service du marketing et de la vente
La simulation 3D au service du marketing et de la venteLa simulation 3D au service du marketing et de la vente
La simulation 3D au service du marketing et de la vente
 

Ähnlich wie 20081023 - Paris Vi Master STL TA - Initiation Maven

Paris Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascriptParis Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascriptMichael Akbaraly
 
20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders BattleArnaud Héritier
 
Symphonie pour PHP industrialisé en agilité majeure
Symphonie pour PHP industrialisé en agilité majeureSymphonie pour PHP industrialisé en agilité majeure
Symphonie pour PHP industrialisé en agilité majeureMarc Nazarian
 
Paris Web 2015 - Atelier désendettement Javascript legacy
Paris Web 2015 - Atelier désendettement Javascript legacyParis Web 2015 - Atelier désendettement Javascript legacy
Paris Web 2015 - Atelier désendettement Javascript legacyFrançois Petitit
 
Présentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expériencePrésentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expérienceKhanh Maudoux
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsJulien Wittouck
 
Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Ippon
 
Industrialisation PHP - Canal+
Industrialisation PHP - Canal+Industrialisation PHP - Canal+
Industrialisation PHP - Canal+ekino
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipelineNicolas wallerand
 
At2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicAt2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicEmmanuel Hugonnet
 
Production logicielle, outils et pratiques
Production logicielle, outils et pratiquesProduction logicielle, outils et pratiques
Production logicielle, outils et pratiquesJohan Moreau
 
Industrialisation des développements logiciels
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logicielsSylvain Leroy
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...ENSIBS
 
Comment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open SourceComment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open SourceChristian Charreyre
 
Déploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIsDéploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIsNicolas Herbaut
 
20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyonClement Bouillier
 
Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Julien Dubois
 
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !vincent aniort
 
Pyconfr2018 deploy des application python dans un cluster open shift
Pyconfr2018 deploy des application python dans un cluster open shiftPyconfr2018 deploy des application python dans un cluster open shift
Pyconfr2018 deploy des application python dans un cluster open shiftArthur Lutz
 

Ähnlich wie 20081023 - Paris Vi Master STL TA - Initiation Maven (20)

Paris Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascriptParis Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascript
 
20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle
 
Symphonie pour PHP industrialisé en agilité majeure
Symphonie pour PHP industrialisé en agilité majeureSymphonie pour PHP industrialisé en agilité majeure
Symphonie pour PHP industrialisé en agilité majeure
 
Paris Web 2015 - Atelier désendettement Javascript legacy
Paris Web 2015 - Atelier désendettement Javascript legacyParis Web 2015 - Atelier désendettement Javascript legacy
Paris Web 2015 - Atelier désendettement Javascript legacy
 
Présentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expériencePrésentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expérience
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'ts
 
Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Présentation Rex GWT 2.0
Présentation Rex GWT 2.0
 
Industrialisation PHP - Canal+
Industrialisation PHP - Canal+Industrialisation PHP - Canal+
Industrialisation PHP - Canal+
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipeline
 
At2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicAt2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville Public
 
Production logicielle, outils et pratiques
Production logicielle, outils et pratiquesProduction logicielle, outils et pratiques
Production logicielle, outils et pratiques
 
Industrialisation des développements logiciels
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logiciels
 
Etude des Frameworks PHP
Etude des Frameworks PHPEtude des Frameworks PHP
Etude des Frameworks PHP
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
 
Comment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open SourceComment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open Source
 
Déploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIsDéploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIs
 
20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyon
 
Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017
 
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
 
Pyconfr2018 deploy des application python dans un cluster open shift
Pyconfr2018 deploy des application python dans un cluster open shiftPyconfr2018 deploy des application python dans un cluster open shift
Pyconfr2018 deploy des application python dans un cluster open shift
 

Mehr von Arnaud Héritier

Devops Recto-Verso @ DevoxxMA
Devops Recto-Verso @ DevoxxMADevops Recto-Verso @ DevoxxMA
Devops Recto-Verso @ DevoxxMAArnaud Héritier
 
Java is evolving rapidly: Maven helps you staying on track
Java is evolving rapidly:  Maven helps you staying on trackJava is evolving rapidly:  Maven helps you staying on track
Java is evolving rapidly: Maven helps you staying on trackArnaud Héritier
 
Quand java prend de la vitesse, apache maven vous garde sur les rails
Quand java prend de la vitesse, apache maven vous garde sur les railsQuand java prend de la vitesse, apache maven vous garde sur les rails
Quand java prend de la vitesse, apache maven vous garde sur les railsArnaud Héritier
 
Sonar In Action 20110302-vn
Sonar In Action 20110302-vnSonar In Action 20110302-vn
Sonar In Action 20110302-vnArnaud Héritier
 
2014 August - eXo Software Factory Overview
2014 August - eXo Software Factory Overview2014 August - eXo Software Factory Overview
2014 August - eXo Software Factory OverviewArnaud Héritier
 
CRaSH @ JUGSummerCamp 2012 - Quickie
CRaSH @ JUGSummerCamp 2012 - QuickieCRaSH @ JUGSummerCamp 2012 - Quickie
CRaSH @ JUGSummerCamp 2012 - QuickieArnaud Héritier
 
LavaJUG-Maven 3.x, will it lives up to its promises
LavaJUG-Maven 3.x, will it lives up to its promisesLavaJUG-Maven 3.x, will it lives up to its promises
LavaJUG-Maven 3.x, will it lives up to its promisesArnaud Héritier
 
Hands on iOS developments with jenkins
Hands on iOS developments with jenkinsHands on iOS developments with jenkins
Hands on iOS developments with jenkinsArnaud Héritier
 
eXo Software Factory Overview
eXo Software Factory OvervieweXo Software Factory Overview
eXo Software Factory OverviewArnaud Héritier
 
Apache Maven - eXo TN presentation
Apache Maven - eXo TN presentationApache Maven - eXo TN presentation
Apache Maven - eXo TN presentationArnaud Héritier
 
Mobile developments at eXo
Mobile developments at eXoMobile developments at eXo
Mobile developments at eXoArnaud Héritier
 
Jenkins User Meetup - eXo usages of Jenkins
Jenkins User Meetup - eXo usages of JenkinsJenkins User Meetup - eXo usages of Jenkins
Jenkins User Meetup - eXo usages of JenkinsArnaud Héritier
 
ToursJUG-Maven 3.x, will it lives up to its promises
ToursJUG-Maven 3.x, will it lives up to its promisesToursJUG-Maven 3.x, will it lives up to its promises
ToursJUG-Maven 3.x, will it lives up to its promisesArnaud Héritier
 
YaJUG-Maven 3.x, will it lives up to its promises
YaJUG-Maven 3.x, will it lives up to its promisesYaJUG-Maven 3.x, will it lives up to its promises
YaJUG-Maven 3.x, will it lives up to its promisesArnaud Héritier
 
BordeauxJUG-Maven 3.x, will it lives up to its promises
BordeauxJUG-Maven 3.x, will it lives up to its promisesBordeauxJUG-Maven 3.x, will it lives up to its promises
BordeauxJUG-Maven 3.x, will it lives up to its promisesArnaud Héritier
 
ToulouseJUG-Maven 3.x, will it lives up to its promises
ToulouseJUG-Maven 3.x, will it lives up to its promisesToulouseJUG-Maven 3.x, will it lives up to its promises
ToulouseJUG-Maven 3.x, will it lives up to its promisesArnaud Héritier
 
Apache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentationApache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentationArnaud Héritier
 
LyonJUG - Maven 3.x, will it live up to its promises?
LyonJUG - Maven 3.x, will it live up to its promises?LyonJUG - Maven 3.x, will it live up to its promises?
LyonJUG - Maven 3.x, will it live up to its promises?Arnaud Héritier
 
Lorraine JUG (1st June, 2010) - Maven
Lorraine JUG (1st June, 2010) - MavenLorraine JUG (1st June, 2010) - Maven
Lorraine JUG (1st June, 2010) - MavenArnaud Héritier
 
Riviera JUG (20th April, 2010) - Maven
Riviera JUG (20th April, 2010) - MavenRiviera JUG (20th April, 2010) - Maven
Riviera JUG (20th April, 2010) - MavenArnaud Héritier
 

Mehr von Arnaud Héritier (20)

Devops Recto-Verso @ DevoxxMA
Devops Recto-Verso @ DevoxxMADevops Recto-Verso @ DevoxxMA
Devops Recto-Verso @ DevoxxMA
 
Java is evolving rapidly: Maven helps you staying on track
Java is evolving rapidly:  Maven helps you staying on trackJava is evolving rapidly:  Maven helps you staying on track
Java is evolving rapidly: Maven helps you staying on track
 
Quand java prend de la vitesse, apache maven vous garde sur les rails
Quand java prend de la vitesse, apache maven vous garde sur les railsQuand java prend de la vitesse, apache maven vous garde sur les rails
Quand java prend de la vitesse, apache maven vous garde sur les rails
 
Sonar In Action 20110302-vn
Sonar In Action 20110302-vnSonar In Action 20110302-vn
Sonar In Action 20110302-vn
 
2014 August - eXo Software Factory Overview
2014 August - eXo Software Factory Overview2014 August - eXo Software Factory Overview
2014 August - eXo Software Factory Overview
 
CRaSH @ JUGSummerCamp 2012 - Quickie
CRaSH @ JUGSummerCamp 2012 - QuickieCRaSH @ JUGSummerCamp 2012 - Quickie
CRaSH @ JUGSummerCamp 2012 - Quickie
 
LavaJUG-Maven 3.x, will it lives up to its promises
LavaJUG-Maven 3.x, will it lives up to its promisesLavaJUG-Maven 3.x, will it lives up to its promises
LavaJUG-Maven 3.x, will it lives up to its promises
 
Hands on iOS developments with jenkins
Hands on iOS developments with jenkinsHands on iOS developments with jenkins
Hands on iOS developments with jenkins
 
eXo Software Factory Overview
eXo Software Factory OvervieweXo Software Factory Overview
eXo Software Factory Overview
 
Apache Maven - eXo TN presentation
Apache Maven - eXo TN presentationApache Maven - eXo TN presentation
Apache Maven - eXo TN presentation
 
Mobile developments at eXo
Mobile developments at eXoMobile developments at eXo
Mobile developments at eXo
 
Jenkins User Meetup - eXo usages of Jenkins
Jenkins User Meetup - eXo usages of JenkinsJenkins User Meetup - eXo usages of Jenkins
Jenkins User Meetup - eXo usages of Jenkins
 
ToursJUG-Maven 3.x, will it lives up to its promises
ToursJUG-Maven 3.x, will it lives up to its promisesToursJUG-Maven 3.x, will it lives up to its promises
ToursJUG-Maven 3.x, will it lives up to its promises
 
YaJUG-Maven 3.x, will it lives up to its promises
YaJUG-Maven 3.x, will it lives up to its promisesYaJUG-Maven 3.x, will it lives up to its promises
YaJUG-Maven 3.x, will it lives up to its promises
 
BordeauxJUG-Maven 3.x, will it lives up to its promises
BordeauxJUG-Maven 3.x, will it lives up to its promisesBordeauxJUG-Maven 3.x, will it lives up to its promises
BordeauxJUG-Maven 3.x, will it lives up to its promises
 
ToulouseJUG-Maven 3.x, will it lives up to its promises
ToulouseJUG-Maven 3.x, will it lives up to its promisesToulouseJUG-Maven 3.x, will it lives up to its promises
ToulouseJUG-Maven 3.x, will it lives up to its promises
 
Apache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentationApache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentation
 
LyonJUG - Maven 3.x, will it live up to its promises?
LyonJUG - Maven 3.x, will it live up to its promises?LyonJUG - Maven 3.x, will it live up to its promises?
LyonJUG - Maven 3.x, will it live up to its promises?
 
Lorraine JUG (1st June, 2010) - Maven
Lorraine JUG (1st June, 2010) - MavenLorraine JUG (1st June, 2010) - Maven
Lorraine JUG (1st June, 2010) - Maven
 
Riviera JUG (20th April, 2010) - Maven
Riviera JUG (20th April, 2010) - MavenRiviera JUG (20th April, 2010) - Maven
Riviera JUG (20th April, 2010) - Maven
 

20081023 - Paris Vi Master STL TA - Initiation Maven

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.