Merge branch 'dev' into 'idf-mobilite-net'

# Conflicts:
#   README.md
#   pom.xml
This commit is contained in:
RODRIGUEZ lucas 2024-04-23 20:38:40 +02:00
commit 734885524b
7 changed files with 44 additions and 23 deletions

8
.gitignore vendored
View file

@ -1,7 +1,15 @@
# Maven # Maven
target/ target/
# Files
.csv
# IDEs
# Eclipse # Eclipse
.settings/ .settings/
.project .project
.classpath .classpath
# VSCode/VSCodium
.vscode/
# IntelliJ
.idea/

View file

@ -6,14 +6,14 @@
## Etudiant ## Etudiant
Vous ne devez pas contribuer directement à ce projet mais devez en effectuer un fork. Une fois cela effectué vous devez: Vous ne devez pas contribuer directement à ce projet mais devez en effectuer un fork. Une fois cela effectué vous devez:
- [ ] Ajouter votre identifiant de groupe au champs `groupId` du fichier [pom.xml](pom.xml) sous la forme de `fr.u-paris.gla.votreequipe` - [X] Ajouter votre identifiant de groupe au champs `groupId` du fichier [pom.xml](pom.xml) sous la forme de `fr.u-paris.gla.votreequipe`
- [ ] Modifier le package principal afin de refleter le nouveau nom de groupe. - [ ] Modifier le package principal afin de refleter le nouveau nom de groupe.
- [ ] Adapter le fichier [README](README.md) au contenu de votre projet specifique - [ ] Adapter le fichier [README](README.md) au contenu de votre projet specifique
- [ ] Adapter ce fichier (CONTRIBUTING.md) à vos propres instructions de contribution, notamment: - [ ] Adapter ce fichier (CONTRIBUTING.md) à vos propres instructions de contribution, notamment:
- [ ] Convention de style de codage - [ ] Convention de style de codage
- [ ] Convention d'utilisation de git - [ ] Convention d'utilisation de git
- [ ] Lien avec d'autres projets et d'autres dépôts. - [ ] Lien avec d'autres projets et d'autres dépôts.
- [ ] Modifier le fichier `application.properties` au besoin. - [X] Modifier le fichier `application.properties` au besoin.
## Enseignant ## Enseignant

View file

@ -1,19 +1,32 @@
# Projet de GLA # Projet de GLA
Version 2024 Version 2024
## Description ## Description
Ceci est l'archetype de projet de Génie Logiciel Avancé (GLA).
Il s'agit d'un projet Java. Ce dépôt définit un système de build et une application simple. Il est nécéssaire de consulter le fichier [CONTRIBUTING.md](CONTRIBUTING.md) pour utiliser ce dépôt. Ceci est l'archétype de projet de Génie Logiciel Avancé (GLA).
Il s'agit d'un projet Java. Ce dépôt définit un système de build et une application simple. Il est nécessaire de consulter le fichier [CONTRIBUTING.md](CONTRIBUTING.md) pour utiliser ce dépôt.
## Lancement du programme ## Lancement du programme
Ce projet utilise [maven](https://maven.apache.org/) de Apache pour la gestion de construction.
Afin de compiler et lancer les tests, éxecutez simplement Ce projet utilise [maven](https://maven.apache.org/) d'Apache pour la gestion de construction.
```
Afin de compiler et lancer les tests, exécutez simplement
```bash
mvn verify mvn verify
``` ```
Afin de vérifier les tests via JaCoCo.
Les résultats du test sont dans `target/site/jacoco/index.html`.
```bash
mvn clean jacoco:prepare-agent install jacoco:report
```
Par la suite, `mvn jacoco:report` suffit.
Dans sa version initiale, le programme fournit est un simple code qui se lance en terminal ou en application graphique. Dans sa version initiale, le programme fournit est un simple code qui se lance en terminal ou en application graphique.
Une fois le programme compilé, vous trouverez un jar executable dans le dossier target. Au nom de jar près (version changeante), vous pourrez l'exécuter avec: Une fois le programme compilé, vous trouverez un jar executable dans le dossier target. Au nom de jar près (version changeante), vous pourrez l'exécuter avec:
@ -24,5 +37,3 @@ java -jar target/project-2024.1.0.0-SNAPSHOT.jar --info
L'option de lancement `--info` causera l'affichage dans la console d'informations de l'application. L'option de lancement `--info` causera l'affichage dans la console d'informations de l'application.
L'option de lancement `--gui` causera l'ouverture d'une fenêtre affichant le logo de l'Université de Paris. L'option de lancement `--gui` causera l'ouverture d'une fenêtre affichant le logo de l'Université de Paris.
mvn verify && java -jar target/project-2024.1.0.0-SNAPSHOT.jar prof.csv nous.csv

View file

@ -5,11 +5,11 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>fr.u-paris.gla</groupId> <groupId>fr.u-paris.gla.pathfinder</groupId>
<artifactId>project</artifactId> <artifactId>project</artifactId>
<version>2024.1.0.0-SNAPSHOT</version> <version>2024.1.0.0-SNAPSHOT</version>
<name>Project Base</name> <name>Pathfinder</name>
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

View file

@ -65,26 +65,26 @@ public class App {
/** @param out the output stream */ /** @param out the output stream */
public static void printAppInfos(PrintStream out) { public static void printAppInfos(PrintStream out) {
Properties props = new Properties(); Properties props = readApplicationProperties();
try (InputStream is = App.class.getResourceAsStream("application.properties")) { //$NON-NLS-1$
props.load(is);
} catch (IOException e) {
throw new RuntimeException("Unable to read application informations", e); //$NON-NLS-1$
}
out.println("Application: " + props.getProperty("app.name", UNSPECIFIED)); //$NON-NLS-1$ //$NON-NLS-2$ out.println("Application: " + props.getProperty("app.name", UNSPECIFIED)); //$NON-NLS-1$ //$NON-NLS-2$
out.println("Version: " + props.getProperty("app.version", UNSPECIFIED)); //$NON-NLS-1$ //$NON-NLS-2$ out.println("Version: " + props.getProperty("app.version", UNSPECIFIED)); //$NON-NLS-1$ //$NON-NLS-2$
out.println("By: " + props.getProperty("app.team", UNSPECIFIED)); //$NON-NLS-1$ //$NON-NLS-2$ out.println("By: " + props.getProperty("app.team", UNSPECIFIED)); //$NON-NLS-1$ //$NON-NLS-2$
} }
/** Shows the logo in an image. */ private static Properties readApplicationProperties() {
public static void showLogo() {
Properties props = new Properties(); Properties props = new Properties();
try (InputStream is = App.class.getResourceAsStream("application.properties")) { //$NON-NLS-1$ try (InputStream is = App.class.getResourceAsStream("application.properties")) { //$NON-NLS-1$
props.load(is); props.load(is);
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException("Unable to read application informations", e); //$NON-NLS-1$ throw new RuntimeException("Unable to read application informations", e); //$NON-NLS-1$
} }
return props;
}
/** Shows the logo in an image. */
public static void showLogo() {
Properties props = readApplicationProperties();
JFrame frame = new JFrame(props.getProperty("app.name")); //$NON-NLS-1$ JFrame frame = new JFrame(props.getProperty("app.name")); //$NON-NLS-1$
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

View file

@ -8,6 +8,8 @@ package fr.u_paris.gla.project.utils;
* @author Emmanuel Bigeon */ * @author Emmanuel Bigeon */
public final class GPS { public final class GPS {
/** The value of a flat angle, in degrees. */
private static final int FLAT_ANGLE_DEGREE = 180;
/** The (approximated) earth radius in km. */ /** The (approximated) earth radius in km. */
private static final double EARTH_RADIUS = 6_370.0; private static final double EARTH_RADIUS = 6_370.0;
@ -20,8 +22,8 @@ public final class GPS {
* *
* @param degree the degree value * @param degree the degree value
* @return the radian value */ * @return the radian value */
private static final double degreeToRadian(double degree) { private static double degreeToRadian(double degree) {
return degree / 180 * Math.PI; return degree / FLAT_ANGLE_DEGREE * Math.PI;
} }
/** Compute the flying distance between two GPS positions. /** Compute the flying distance between two GPS positions.

View file

@ -1,3 +1,3 @@
app.name=${name} app.name=${name}
app.version=${version} app.version=${version}
app.team=No team app.team=Team 3