weather-aggregator/README.md
2024-10-31 11:47:53 +01:00

76 lines
1.9 KiB
Markdown

---
documentclass: book
papersize: a4
fontsize: 10pt
header-includes: |
\hypersetup{
colorlinks = true,
linkbordercolor = {pink},
}
---
# Projet de PG203
Ce starter kit vous permet de démarrer un projet d'application en
ligne de commande Java. La gestion du build est effectuée par l'outil
Gradle. Deux exécutables sont fournis: `gradlew` pour Unix ou MacOS et
`gradlew.bat` pour Windows.
Le starter kit vient avec:
- le framework [`JUnit 5`](https://junit.org/junit5/docs/current/user-guide/) pour gérer les tests;
- la bibliothèque [`JSON-Java`](https://github.com/stleary/JSON-java)
pour la manipulation de fichiers JSON;
- l'outil [`Jacoco`](https://www.jacoco.org/) pour la couverture du
code par les tests.
Le starter-kit contient un fichier
`src/main/java/eirb/pg203/Main.java` qui contient un programme de
démonstration. Ce programme récupère via l'API [Chuck Norris
Joke](https://api.chucknorris.io/) une blague sur Chuck Norris au
format JSON. Cette blague est ensuite parsée par la librarie
`org-json` et affichée sur la console.
Le fichier `src/main/java/eirb/pg203/SampleTest.java` contient un
petit exemple de test unitaire de la fonction qui télécharge et parse
la blague en question.
Voici comment effectuer les différentes commandes importantes.
## Compilation
```bash
./gradlew build
```
## Lancement des tests
```bash
./gradlew test
```
## Génération du rapport de couverture
```bash
./gradlew jacocoTestReport
```
Le rapport se trouve dans `build/reports/jacoco/test/html/index.html`.
## Lancement du programme
```
./gradlew run --args="arg1 arg2"
```
## Documentation
- WeatherAPI : la [documentation](https://www.weatherapi.com/docs)
ainsi qu'une [page de test](https://www.weatherapi.com/api-explorer.aspx)
- OpenMeteo : la [documentation](https://open-meteo.com/en/docs)
- OpenWeatherMap : la [documentation](https://openweathermap.org/api)