====== Environnement pour methodo : Maven, GIT ======
Attention, nous restons ici dans l'environnement IntelliJ. Des Tds spécifiques sur Git seront réalisés plus tard. Nous visons à travers ce TD, à nouveau, à vous outiller..
====== AVANT TOUT======
En ligne de commande avec l'outil Git: Lancez la commande:
git config --global http.sslVerify false
===== Association d'un projet Maven avec un repository GIT (1 seule fois par équipe ) =====
Mise en place de votre environnement de développement pour le module Production : Création de la structure initiale du projet, Mise en place du repository GIT
==== Création de la structure du projet ====
Une seule fois par équipe, puisqu'il s'agit de mettre en place la structure du projet. La récupération de cette structure par tous les membres de l'équipe est réalisée à l'exercice suivant !
- Si ce n'est pas fait [[https://mbf-iut.i3s.unice.fr/doku.php?id=intellij#creer_un_projet_maven|créer un projet Maven]]
* GroupId : fr.unice.iut.methodo.escapeIut1 (ou 2 ...4)
* ArtefactID : au choix mais vous devez tous avoir le même dans l'équipe.
- Vérifier que votre projet s'exécute correctement, pour être certain qu'il est bien construit!
==== Associer un dépôt GIT à votre projet ====
- Récupérer l'adresse du dépôt GIT de votre projet : {{ :2016_2017:s3:concprogobjet:td:git_forge_logiciel_du_de_partement_informatique.png?direct&300 |}}
- {{ :2016_2017:s3:concprogobjet:td:enableversioncontrol_2016-09-11_a_18.53.08.png?direct&300 |}}
- Répondre NON : NON NON NON NON NON {{ :2016_2017:s3:concprogobjet:td:no_2016-09-15_a_23.00.44.png?direct&300 |}}
- "Créer gitignore" (pour spécifier les fichiers que vous ne voulez pas voir dans le répertoire partagé par l'équipe, chacun aura les siens), si vous n'y avez pas accès, il vous manque peut etre un plugin gitIgnore que vous trouverez sous File-> Settings -> Pluggins -> Browse repository -> .ignore : {{:2016_2017:s3:concprogobjet:td:capture_d_e_cran_2016-09-16_a_15.34.46.png?200|}}
- Sélectionner java, jetBrain, windows, osx, linux, maven pour par exemple ne pas avoir les .class, .iml, etc : {{ :2016_2017:s3:concprogobjet:td:gitignore_2016-09-15_a_23.09.31.png?direct&300 |}}
- "Commiter votre projet", si la structure du projet n'apparait pas comme dans la figure ci-jointe, clique droit sur le projet, puis git, Add, puis refaire un commit changes: {{ :2016_2017:s3:concprogobjet:td:comitter_2016-09-15_a_23.03.40.png?direct&300 |}}
- Commiter : {{ :2016_2017:s3:concprogobjet:td:commit_2016-09-15_a_23.15.29.png?direct&300 |}}
- Si vous avez oublié le Push, click droit,git, Repository, Push puis Define Remote
- {{ :2016_2017:s3:concprogobjet:td:capture_d_e_cran_2016-09-15_a_23.17.42.png?direct&300 |}}
- {{ :2016_2017:s3:concprogobjet:td:capture_d_e_cran_2016-09-15_a_23.19.25.png?direct&300 |}}
Vous avez à présent dans la forge un projet Maven.
Tous les étudiants de l'équipe vont à présent récupérer cet environnement sur leur machine.
===== Récupération des codes sources d'un projet maven présent dans un repository GIT =====
Dans le cadre du projet, vous allez dans cette étape récupérer le projet qui a été placé dans le dépôt sur la forge, pour en avoir une copie sur votre machine.
- Commencer par créer un nouveau projet sur votre machine par récupération du repo distant : {{ :2016_2017:s3:concprogobjet:td:checkout_2016-09-15_a_22.27.35.png?direct&300 |}}
- Récupérer l'adresse de votre repo distant :
- {{ :2016_2017:s3:concprogobjet:td:reference_dans_lal_forge_2016-09-15_a_22.37.42.png?direct&400 |}}
- {{ :2016_2017:s3:concprogobjet:td:forgedepot_2016-09-15_a_22.41.16.png?direct&300 |}}
- {{ :2016_2017:s3:concprogobjet:td:forgeadresse_2016-09-15_a_22.44.01.png?direct&300 |}}
- Enregistrer le repo :
- {{ :2016_2017:s3:concprogobjet:td:connexion_2016-09-15_a_22.50.16.png?direct&300 |}}
- Ajouter un nouveau fichier ou modifier du code, le commiter et le pousser dans le dépôt distant.
- Tous les étudiants de l'équipe font la même chose afin que chacun ait son environnement sur sa machine.
- Récupérer la version courante du projet par update {{ :2016_2017:s3:concprogobjet:td:updategit.png?direct&300 |}}
Tous les étudiants à la fin du TD ont un projet MAVEN dans leur propre environnement connecté par GIT à la forge.
Le chef de projet fait le travail à la racine pour vérifier que le dépôt GIT principal qui sera utilisé en intégration fonctionne bien. Vous pourrez y placer les codes que vous voudrez partager dans l'ensemble du groupe.
Puis pour s'assurer qu'il sait collaborer, il récupère les codes d'un quelconque de ses sous-projets.
===== Utilisation de maven pour récupérer une dépendance =====
==== Renseigner le repository Maven propre à l'IUT ====
A faire absoluement!
Afin de récupérer une __dépendance__ au sein de votre projet, il faut spécifier dans le **pom.xml** l'adresse du serveur (repository) Maven que nous utilisons dans le cadre de ce module:
iut-public
Repo IUT
http://sparks-vm26.i3s.unice.fr/repository/iut-public/
Si aucun repository n'est spécifié, Maven cherchera automatiquement les dépendances sur Maven Central (https://repo1.maven.org/maven2/) où NE SONT PAS DISPONIBLES les modules développés à l'IUT
==== Module Member ====
Une fois le repository renseigné, nous pouvons récupérer la dépendance vers le module Member (à placer entre ):
fr.unice.iut.info.methodo
members
1.0-SNAPSHOT
Le code source (avec les tests associés) du module Member est disponible [[https://bitbucket.org/cyrilcecchinel/member_service_iut|ici]]
==== Module Maps ====
Une fois le repository renseigné, nous pouvons récupérer la dépendance vers le module Maps (à placer entre ):
fr.unice.iut.info.methodo
maps
1.0-SNAPSHOT
Le code source (avec les tests associés) du module Maps est disponible [[https://bitbucket.org/cyrilcecchinel/openstreetmap_iut|ici]]. Un exemple d'application exécutable est donné au sein du code source. N'hésitez pas à cloner le repo git et à ouvrir le module comme un projet à part entière afin d'exécuter l'application.
En savoir plus
[[http://dcabasson.developpez.com/articles/java/maven/introduction-maven2/|Maven]]