Ghania HAMMICHE Mamadou Adama DIALLO

Slides:



Advertisements
Présentations similaires
Reformulation  L’AFPA promoteur du projet souhaite mettre en place une application WEB afin de remplacer une solution en Java. Pour ce projet 4 mandataires.
Advertisements

CRM et e-marketing ● La gestion de la relation client est devenue un enjeu commercial majeur ● Il faut conquérir, transformer et fidéliser une clientèle.
1 Des outils pour le développement logiciel XEmacs Make CMT SVN Doxygen …
Subversion. 2 Subversion : Pour Quoi Faire ? Problèmes de la gestion du code dans un projet – La durée de vie du projet peut être longue : besoin de gérer.
Présentation LabPlus v3. Solution novatrice en Technologies de l’information Solution novatrice en Technologies de l’information Application pour la Gestion.
OpenArticles : Libérez votre savoir ! Mise en place d'un service libre et gratuit de dépôt et d'accès aux articles scientifiques David Larlet – Janvier.
25/09/2016 La communauté des développeurs du noyau Linux Jean DELVARE SuSE R&D, Support noyau Solutions Linux 2007, 31 janvier 2007.
Les profils du SEDA confection de profil avec Agape.
RMLL 2008 Isis-FISH/Gesi Benjamin Poussin Code Lutin
Développement d'applications Web avec le framework PHP Symfony 2 Mathieu Peltier (Mercator Océan - CNRS) (UMS 831, Observatoire Midi-Pyrénées)
Logiciel Assistant Gestion d’Événement Rémi Papillie (Chef d’équipe) Maxime Brodeur Xavier Pajani Gabriel Rolland David St-Jean.
1 Gestion Electronique de documents (GED) ✔ Définition Efficacité d'une entreprise dépend de la capacité à traiter et consulter les informations qu'elle.
1 TER 2012 Engilberge, Lludice, M'rah Flex Web Roster /32.
1 Créer un extension OpenOffice.org avec Eclipse Créer une extension OpenOffice.org avec Eclipse.
L’évolution du SI. Introduction De nombreux éléments peuvent amener une organisation à faire évoluer son système d’information : Modification des besoins.
La mise en réseau des ordinateurs à l'école Sources : Educnet christian.caleca.free.fr.
Refonte du portail eaufrance Présentation du cadre de référence pour avis GCIB – 14/10/2014 – Anne Macaire.
Test logiciel J.M. Vanel Sommaire Pourquoi tester? Catégories de tests Stratégies de test Pratique des test Caractéristiques des bons tests Gestions.
DIAGRAMME DE DEPLOIEMENT Exposé de: MBALLA MEKONGO Michèle MBOUNA FEUZE William SIEYADJEU Alex Lionel CHOPGWE Leonard NDUMATE Landry TIDJON Lionel.
ARCHITECTURE MULTITENANT CONTAINER DATABASE ET PLUGGABLE DATABASES Pr. A. MESRAR
Les commandes externes
Présenté par M. Anis DIALLO
PDF Accessibilité et PDF.
Déploiement de Octopus au CISSS de la Montérégie-Ouest
Les 4 valeurs du développement agile
Usine de Développement.
Comment accroître le nombre de contributions externes ?
Ce document est un exemple de présentation
Le Cycle de vie d’un logiciel
Séminaire Novembre 2006 Zephir : Déploiement et supervision des serveurs Eole.
Devenir d’AFS et remplacement progressif
- PREPARATION ou SYNTHESE => garder la mention utile.
Les 4 valeurs du développement agile
Javadoc et débogueur Semaine 03 Version A16.
Réalisation d'agents de surveillance Zephir
Virtualisation d’applications mobiles dans un réseau de Cloudlets
Dossier d’inscription Nom de l’équipe
Montage de projets : les données au cœur des projets de recherche
Présentation Linux Mint « 18.2 Sonya »
Démarche de conception. Démarche didactique.
Présentation de la maquette du projet
Séquence n°1 : Séance 3 Problème posé :
Notion De Gestion De Bases De Données
3- Nouvelles pages d’accueil
Branche Professionnelle des organismes de formation
Formation au Numérique Codage et programmation dans les nouveaux programmes Romorantin, le 23 janvier 2018.
Techniques de diffusion
Formation sur les bases de données relationnelles.
Développement d’applications interactives
USER GUIDE : BASE DE DOCUMENTATION
Programmation Android Première application Android
„La plate-forme EAI “ Initiation à WBI
Suivi Campagne Principe
Technologie 4° Le cours : Au collège
Modélisation objet avec UML
CAS AFPA Sprint n°1.
Présenté par M. Anis DIALLO
Serveurs d’applications
EPITECH 2009 UML EPITECH 2009
JDepend - Analyse de la qualité du code Java -
Objectifs de la réunion:
Atos, Atos et le poisson, Atos Origin et le poisson, Atos Consulting ainsi que le poisson seul sont des marques déposées d'Atos Origin SA. © 2006 Atos.
Michel Jouvin Comité des utilisateurs 14 Mai 2007
Comment la faire ? Quand la faire ?
Présentation du programme Introduction de la formation
Proposer, déployer et assurer la diffusion des procédures RH
FRAMEWORKS : XMLBEANS / STRIPES
Design, innovation et créativité
Images Stage – Semaine 4.
Séquence 1:Analyse du système d’information comptable
Transcription de la présentation:

Ghania HAMMICHE Mamadou Adama DIALLO Maven Ghania HAMMICHE Mamadou Adama DIALLO 20/10/2016

PLAN C’est quoi Maven? C’est quoi POM(Project Object Model)? Structure d’un projet Maven? Cycle de vie d’un projet Maven? Avantages et inconvénients Conclusion

C’est quoi maven? Logiciel open Source développé par la fondation Apache Utile pour la construction des projets java en général et java j2ee en particulier Automatiser certaines taches Gérer les dépendances http://maven.apache.org/download.html Il permet : d'automatiser certaines tâches : compilation, tests unitaires et déploiement des applications qui composent le projet de gérer des dépendances vis-à-vis des bibliothèques nécessaires au projet de générer des documentations concernant le projet Avertissement : L'utilisation de Maven requiert un accès internet ainsi que de l'espace disque pour conserver les fichiers téléchargés.  Maven est un outil de construction de projets (build) open source développé par la fondation Apache, initialement pour les besoins du projet Jakarta Turbine. Il permet de faciliter et d'automatiser certaines tâches de la gestion d'un projet Java.

C’est quoi POM(Project Object Model)? Contient les informations nécessaires à Maven pour traiter le projet tel que; nom du projet numéro de version dépendances vers d'autres projets bibliothèques nécessaires à la compilation Le coeur d'un projet Maven 2 est le modèle objet projet (appelé POM pour project object model). Il contient une description détaillée de votre projet, avec en particulier des informations concernant le versionnage et la gestion des configurations, les dépendances, les ressources de l'application, les tests, les membres de l'équipe, la structure et bien plus encore. Le POM prend la forme d'un fichier XML (pom.xml) qui est placé dans le répertoire de base de votre projet. Un fichier pom.xml est présenté ci-dessous : Un projet maven est differents d’un projet java sur le fait que maven se base sur un fichier de configuiration qui est pom dans lequel,,,,,,,

Structure d’un projet Maven? rend le fichier POM plus court et plus simple rend le projet plus simple à comprendre rend l'intégration de plug-ins plus simple Une partie de la puissance de Maven vient des pratiques standardisées qu'il encourage. Un développeur qui a déjà travaillé sur un projet Maven se sentira tout de suite familier avec la structure et l'organisation d'un autre projet Maven. Il n'y a pas besoin de gaspiller du temps à réinventer des structures de répertoires, des conventions, et à adapter des scripts de build Ant pour chaque projet. Même s'il est possible de redéfinir l'emplacement de chacun des répertoires vers une localisation spécifique, il est réellement intéressant de respecter la structure de répertoire standard de Maven 2 autant que possible, et ce pour plusieurs raisons : Cela rend le fichier POM plus court et plus simple Cela rend le projet plus simple à comprendre et rend la vie plus simple au pauvre développeur qui devra maintenir le projet quand vous partirez. Cela rend l'intégration de plug-ins plus simple La structure standard de répertoire de Maven 2 est illustrée dans la figure 1. Dans le répertoire de base se trouve le POM (pom.xml) et deux sous répertoires : src pour tout le code source et target pour les éléments générés.

Cycle de vie d’un projet Maven? Voilà quelques-unes unes des phases les plus utiles du cycle de vie Maven 2 : generate-sources: Génère le code source supplémentaire nécessité par l'application, ce qui est généralement accompli par les plug-ins appropriés. compile: Compile le code source du projet test-compile: Compile les tests unitaires du projet test: Exécute les tests unitaires (typiquement avec Junit) dans le répertoire src/test package: Mets en forme le code compilé dans son format de diffusion (JAR, WAR, etc.) integration-test: Réalise et déploie le package si nécessaire dans un environnement dans lequel les tests d'intégration peuvent être effectués. install: Installe les produits dans l'entrepôt local, pour être utilisé comme dépendance des autres projets sur votre machine locale. deploy: Réalisé dans un environnement d'intégration ou de production, copie le produit final dans un entrepôt distant pour être partagé avec d'autres développeurs ou projets.

Avantages et inconvénients La structure outil stratégique Principe d’'héritage présent, gain en lisibilité du projet Ne pas respecter les conventions Perte en compatibilité et/ou Perte de temps en configuration XML parfois redondant, même en utilisant l'héritage Ne pas respecter les conventions Perte en compatibilité et/ou Perte de temps en configuration Avoir un « super » POM qui fait tout Principe d’'héritage présent, gain en lisibilité du projet Se rendre dépendant de l'environnement Plugin réutilisable, portabilité Sauter systématiquement la phase de test Empêche la découverte tardive de regressions S’'échanger les JARs par mail Principe de partage des JAR existant , repository Utilisation massive du plugin « antrun » Script ant -> build.xml

conclusion Maven1 et Maven2 ont été développés en parallèle mais les versions suivantes sont basées sur la structure de la deuxième version. Maven2 rencontre encore aujourd'hui un certain nombre de problèmes. L'un des reproches que l'on peut lui faire, d'un point de vue technique, est la grande complexité de son noyau. Ceci fait que peu d'évolutions ont finalement été apportées au cœur de Maven2 durant la vie de ce projet, et que la communauté des développeurs Java s'est peu impliquée dans l'évolution de Maven, hormis par le biais des plugins. Voici une liste non exhaustive des problèmes rencontrés avec Maven2 : Dès que l'on veut sortir un peu du système Maven2, que l'on veut faire des choses en dehors du cadre de l'outil, ça devient vite complexe. Le pom.xml est trop verbeux, par exemple pour la définition des dépendances. Trop grande utilisation de plugins, y compris pour réaliser certaines tâches simples. Documentation "officielle" peu fournie et assez peu intuitive. Heureusement, plusieurs ouvrages complets (et pour certains gratuits) existent ! XML parfois redondant, même en utilisant l'héritage. Support pas encore parfait dans les IDE, bien que les choses s'améliorent. Développement et support des plugins "officiels" inégaux. Manque de souplesse, de rigueur sur certains principes (difficile de sortir du cycle de vie par exemple). Maven3 arrive donc à grands pas, afin de combler un certain nombre de lacunes de l'actuelle solution de build Maven2. À noter que les utilisateurs du plugin m2eclipse (plugin offrant le support de Maven2 à Eclipse) utilisent déjà Maven3, car ce plugin se base sur cette nouvelle version de l'outil. De même, les dernières versions de NetBeans ou encore d'IntelliJ utilisent cette version de Maven pour construire les projets. Ci-dessous, une liste non-exhaustive des principales modifications effectuées.

Merci de votre attention Questions?