Merge branch 'dev' into 'idf-mobilite-net'
# Conflicts: # README.md # pom.xml
This commit is contained in:
commit
734885524b
7 changed files with 44 additions and 23 deletions
8
.gitignore
vendored
8
.gitignore
vendored
|
@ -1,7 +1,15 @@
|
||||||
# Maven
|
# Maven
|
||||||
target/
|
target/
|
||||||
|
|
||||||
|
# Files
|
||||||
|
.csv
|
||||||
|
|
||||||
|
# IDEs
|
||||||
# Eclipse
|
# Eclipse
|
||||||
.settings/
|
.settings/
|
||||||
.project
|
.project
|
||||||
.classpath
|
.classpath
|
||||||
|
# VSCode/VSCodium
|
||||||
|
.vscode/
|
||||||
|
# IntelliJ
|
||||||
|
.idea/
|
||||||
|
|
|
@ -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
|
||||||
|
|
25
README.md
25
README.md
|
@ -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
|
|
||||||
|
|
4
pom.xml
4
pom.xml
|
@ -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>
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
app.name=${name}
|
app.name=${name}
|
||||||
app.version=${version}
|
app.version=${version}
|
||||||
app.team=No team
|
app.team=Team 3
|
Reference in a new issue