Article écrit par Iheb Balti
Retrouvez la présentation d’un outil de gestion des projets logiciels Java, basé sur le concept d’un modèle d’objet de projet (POM). Maven peut gérer la construction, le reporting et la documentation d’un projet.
1. Définition
Maven est un outil open source développé par la fondation Maven qui permet l’automatisation de certaines tâches de la gestion de projet tout en facilitant cette dernière.
2. Fonctionnalité
Parmi les fonctionnalités de Maven, on peut citer :
- L’automatisation des tâches qui se répètent
- La gestion des dépendances
- La construction ainsi que la compilation des projets
- Le déploiement des applications
3. Installation
Nous allons examiner les étapes pour installer et configurer Apache Maven sur un système d’exploitation Windows.
Étape 1 : Téléchargement de Maven La première étape consiste à télécharger la dernière version de Maven à partir du site Web d’Apache Maven. Allez sur https://maven.apache.org/download.cgi et téléchargez le fichier binaire zip. Une fois le téléchargement terminé, décompressez le fichier zip dans le dossier de votre choix.
Étape 2 : Configuration de la variable d’environnement La deuxième étape consiste à configurer la variable d’environnement pour que Maven soit disponible dans la ligne de commande. Pour ce faire, cliquez avec le bouton droit sur l’icône “Ordinateur” et sélectionnez “Propriétés”. Dans la fenêtre des propriétés système, cliquez sur “Paramètres système avancés” et sélectionnez “Variables d’environnement”. Ajoutez une nouvelle variable d’environnement appelée “M2_HOME” avec la valeur du chemin d’installation de Maven.
Ensuite, ajoutez le chemin du dossier “bin” de Maven à la variable d’environnement “PATH”. Pour ce faire, sélectionnez la variable “PATH” et cliquez sur le bouton “Modifier”. Ajoutez le chemin du dossier “bin” de Maven à la fin de la liste des chemins d’accès existants, séparé par un point-virgule (;).
Étape 3 : Vérification de l’installation de Maven Pour vérifier si Maven est correctement installé, ouvrez une nouvelle fenêtre de commande et tapez “mvn -version”. Si tout est correctement configuré, la version de Maven doit s’afficher.
Étape 4 : Configuration des paramètres de Maven La dernière étape consiste à configurer les paramètres de Maven pour qu’il fonctionne correctement. Pour cela, créez un fichier “settings.xml” dans le dossier “conf” de Maven. Vous pouvez copier le fichier “settings.xml” de la distribution de Maven et le modifier selon vos besoins. Les paramètres les plus couramment utilisés sont les informations d’identification du serveur de dépôt, les paramètres de proxy et les profils.
En conclusion, l’installation et la configuration d’Apache Maven sont relativement simples. Il vous suffit de télécharger le fichier binaire, de configurer les variables d’environnement et de vérifier l’installation en utilisant la commande “mvn -version”. Ensuite, vous pouvez configurer les paramètres de Maven pour qu’il fonctionne correctement. Avec Maven, vous pouvez automatiser le processus de construction et de déploiement de votre code, ce qui vous permet de vous concentrer sur la création de fonctionnalités utiles pour votre application.
Pour vérifier si Maven est installé correctement dans Eclipse, il suffit d’aller dans le menu Window -> Preferences.
4. POM.xml (Project Object Model)
Nous allons vous expliquer les balises qui se trouvent dans le fichier POM d’une application Maven :
- project : cette balise est la racine de tous les fichiers pom.xml
- modelVersion : version du POM
- groupId : groupe qui a créé le projet (Ex : org.apache.)
- artifactId : nom utilisé pour nommer l’artefact à construire
- packaging : type de packaging de projet
- version : c’est la version de l’artefact
- name : nom du projet
- description : description du projet
- dependencies : les dépendances à utiliser ainsi que la gestion de ces derniers
- archetype : template du projet
5. Quality Gates
Les quality gates (ou portes de qualité) sont des critères ou des règles qui déterminent si un logiciel est prêt à être déployé ou non. Ils sont utilisés dans le cadre de l’assurance qualité du logiciel pour garantir que le logiciel répond aux exigences de qualité minimales avant d’être livré aux utilisateurs finaux. Les quality gates sont souvent définis dans le cadre de processus de développement Agile ou DevOps.
Voici quelques exemples de quality gates courants :
- Tests unitaires : Les tests unitaires sont utilisés pour s’assurer que chaque unité de code fonctionne correctement de manière isolée. Les quality gates peuvent imposer un seuil minimum de couverture de tests unitaires pour garantir que le code est bien testé.
- Tests d’intégration : Les tests d’intégration sont utilisés pour s’assurer que les différentes unités de code fonctionnent correctement ensemble. Les quality gates peuvent imposer un seuil minimum de tests d’intégration pour garantir que le code fonctionne correctement dans un environnement intégré.
- Analyse de code : Les outils d’analyse de code peuvent être utilisés pour détecter les erreurs de programmation, les vulnérabilités de sécurité et les problèmes de performance. Les quality gates peuvent imposer un seuil maximum de violations de code pour garantir que le code est de qualité suffisante.
- Tests de performance : Les tests de performance sont utilisés pour s’assurer que le logiciel fonctionne de manière satisfaisante dans des conditions de charge élevée. Les quality gates peuvent imposer un seuil minimum de performances pour garantir que le logiciel est capable de traiter un volume de transactions élevé.
- Revues de code : Les revues de code sont utilisées pour s’assurer que le code est conforme aux normes de codage de l’entreprise et aux meilleures pratiques. Les quality gates peuvent exiger que chaque code soit examiné avant d’être accepté.
- Tests de sécurité : Les tests de sécurité sont utilisés pour s’assurer que le logiciel est résistant aux attaques malveillantes. Les quality gates peuvent imposer un seuil minimum de tests de sécurité pour garantir que le logiciel est sécurisé.
En résumé, les quality gates sont des étapes importantes du processus de développement de logiciels qui permettent de garantir la qualité et la fiabilité du code avant sa mise en production. Les quality gates peuvent être définis en fonction des exigences de l’entreprise et des normes de qualité de l’industrie pour garantir que le logiciel est conforme aux exigences de qualité minimales.
6. Arborescence projet Maven
- src/main/java : code source Java
- src/main/resources : c’est le fichier de ressources (tel que : fichier de config, les images…)
- src/test/java : c’est le fichier qui contient le code source Java de test
- src/test/resources : c’est le fichier de ressources pour les tests
- target : c’est le dossier qui contient le fichier résultat, les binaires, mais aussi les packages générés et finalement, les résultats de tests
- pom.xml : le fichier de configuration de projet
7. Commande Maven
Vous trouvez ci-dessous, quelques commandes Maven :
- mvn package : permet la construction du projet pour la génération de l’artéfact
- mvn clean : suppression des fichiers qui sont générés par les précédentes générations
- mvn clean package : permet la suppression des fichiers générés par les précédentes générations ainsi que la construction de projet pour la génération de l’artéfact
- mvn install : génération de l’artéfact et le déploiement dans le dépôt local
- mvn –version : affichage des informations pour la version de Maven
- mvn test : permet l’exécution des tests unitaires
- mvn compile : pour compiler les sources du projet
8. Conclusion
On peut citer 2 avantages majeurs de Maven :
- Les plugins qui répondent à nos besoins
- Une diffusion rapide de l’état actuel du projet via le site généré par Maven devient plus facile, mais aussi très complet.
Pour aller plus loin
Voici un lien officiel qui présente les caractéristiques de Maven : https://maven.apache.org
Source :
Maven – Welcome to Apache Maven