EFREI LSI L3 ALSI62-CTP : Programmation Avancée en Java Help

Démarrage

Compte GitLab

Le projet se déroulera sur GitLab, vous aurez donc besoin de créer un compte sur Gitlab.com.

Binômes

Ce projet est à faire par binôme. Une fois que vous avez choisi votre binôme, renseignez le sur le document Excel présent dans l'équipe Teams, pour me communiquer votre binôme, votre nom d'utilisateur GitLab ainsi que celui de votre binôme.

Forker le projet

Le projet est fourni sous forme de template dans ce dépôt GitLab, vous devez forker ce projet pour créer votre propre dépôt sur lequel vous allez travailler.

Forker le projet

Ajouter le prof & votre binôme

Ajoutez-moi ensuite sur votre projet (mon nom d'utilisateur est Ombrelin) avec le rôle "Maintainer".

Authentification sur Gitlab.com

L'authentification de votre environnement git local par rapport à Gitlab.com peut se faire par deux biais. Dans notre cas nous allons utiliser un jeton d'accès personnel (personnal access token), afin de faciliter l'intégration de git avec votre IDE IntelliJ.

Création du token d'accès personnel (personnal access token)

  1. Allez dans la section "jeton d'accès" (access token) de votre compte sur gitlab.com.

  2. Ajoutez un nouveau token :

    Personnal Access Token
  3. Une fois créé, conservez bien votre jeton (par exemple dans un gestionnaire de mots de passe. Une fois cette page quittée, vous ne pourrez plus le récupérer.

Une fois en possession de votre jeton, utilisez le à chaque fois que votre client git local, ou votre IDE vous demandera un mot de passe ou un jeton pour l'authentification git.

Cloner le projet

  1. Ouvrez IntelliJ sur l'interface d'accueil et cliquez sur "Cloner un dépôt" (*Clone a repository*) :

    Ij clone repo
  2. Ensuite, cliez sur l'option "Gitlab" sur la gauche de l'interface, renseignez votre jet dans le champs "Token", puis cliquez sur le bouton de connexion :

    Ij gitlab login
  3. Ensuite, la liste de vos dépôts présents sur votre compte gitlab s'affiche. Séléctionnez le dépôt qui correspond à notre projet, et cliquez sur le bouton "Cloner" :

    Ij gitlab clone
  4. IntelliJ va ensuite vous cloner et ouvrir comme un projet le dépôt.

Description du dossier du projet

Le projet est un projet Gradle voir la section du cours à ce sujet. Il contient un module appelé core qui va contenir du code que je fournis :

  1. Des tests d'intégration, qui vérifient de façon automatique que votre code implémente bien les spécifications requises.

  2. Des abstractions (interfaces) qui permettent à mes tests de s'intégrer avec votre code

Créer votre module

Avant de commencer, créer et positionnez-vous sur une nouvelle branche.

Pour commencer à travailler sur le projet il vous faut créer votre module, qui contiendra votre code de simulation :

  1. Créer un nouveau module Gradle nommé `simulation` avec l'aide d'IntelliJ. En tant que "GroupId", saisissez `fr.<votre nom><nom binome>.efrei.monopoly` :

    Ij new module
    Ij new module
  2. Mettre à jour la configuration Gradle de votre module (le module `simulation`, vous ne devez jamais modifier le module `core` par vous-même) :

    plugins { id 'java-library' } repositories { mavenCentral() } dependencies { implementation project(":core") testImplementation project(":core").sourceSets.test.output testImplementation platform('org.junit:junit-bom:5.9.2') testImplementation 'org.junit.jupiter:junit-jupiter' testImplementation "org.mockito:mockito-core:3.+" testImplementation 'org.assertj:assertj-core:3.24.2' } java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } test { useJUnitPlatform() }
  3. Créer votre paquet racine dans votre projet. Suggestion de nommage (dans main/java et test/java) : fr.<votre nom><nom binome>.efrei.monopoly.simulation.

  4. Créer un paquet fr.<votre nom><nom binome>.efrei.monopoly.simulation.integration dans votre dossier de test (simulation/src/test/java), et créer une classe MonopolyTests qui étend ma classe de test BaseMonopolyTests. Ainsi, vous pourrez pour le 1er livrable implémenter la méthode createMonopoly pour fournir votre propre implémentation de Monopoly afin de pouvoir exécuter mes tests avec.

Vous avez terminé le setup pour le projet. Vous pouvez pousser votre branche pour que votre binôme puisse la récupérer de son côté.

Last modified: 14 December 2024