Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🔀 Première version de la lib #5

Merged
merged 83 commits into from
Feb 21, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
e109176
🎉 First Commit
MathieuSoysal Feb 15, 2021
7f06741
🔨 Ajout TypeDepartement
MathieuSoysal Feb 15, 2021
2479cc0
🔨 Ajout Region
MathieuSoysal Feb 15, 2021
f978c22
🔨 Ajout Departement DPT
MathieuSoysal Feb 16, 2021
64aabf1
🛑 Ajout test non-validé RegionTest
MathieuSoysal Feb 18, 2021
7eac4fe
🔨 Validation test Region
MathieuSoysal Feb 18, 2021
ccef533
✏ Correction typos Departement
MathieuSoysal Feb 18, 2021
9065d45
🔨 Ajout des noms : Region.java
MathieuSoysal Feb 18, 2021
25c9056
🔨 Ajout des départements de DOM, TOM et PTOM
MathieuSoysal Feb 18, 2021
181d4e9
🛑 Ajout test non-validé Departement
MathieuSoysal Feb 18, 2021
6d0739c
🛑 Ajout test non-validé OutilGeneraux
MathieuSoysal Feb 18, 2021
ecbb905
🔨 Validation OutilsGeneraux
MathieuSoysal Feb 18, 2021
63f5c52
⚡ LazyLoad Region
MathieuSoysal Feb 18, 2021
c4dd696
🔨 Validation de tous les tests
MathieuSoysal Feb 18, 2021
ab490fa
🛑 Ajout test non-validé Departement
MathieuSoysal Feb 18, 2021
f18d6bc
🛑 Ajout test non-validé OutilsDepartement
MathieuSoysal Feb 18, 2021
53e5bb8
🛑 Ajout test non-validé OutilsString
MathieuSoysal Feb 18, 2021
d3836d7
🛑 Ajout test non-validé OutilsString : indexOfDifference
MathieuSoysal Feb 18, 2021
b7a5ed1
🔨 Validation des tests OutilsString
MathieuSoysal Feb 18, 2021
7ab2fe6
🔨 Validation de tous les tests
MathieuSoysal Feb 18, 2021
fca8c1f
✅ Ajout tests de protection (coverage)
MathieuSoysal Feb 18, 2021
014051d
♻ Refactorisation Outils
MathieuSoysal Feb 18, 2021
3d371c7
♻ Refactorisation OutilsDepartement
MathieuSoysal Feb 18, 2021
2add5cf
🛑 Ajout test non-validé Region
MathieuSoysal Feb 18, 2021
7a97a58
🛑 Ajout test non-validé OutilsRegion
MathieuSoysal Feb 18, 2021
932d9af
✅🛑 Correction test non-validé
MathieuSoysal Feb 18, 2021
78b773d
🔨 Validation OutilsRegion
MathieuSoysal Feb 18, 2021
f92096a
🔨 Validation de tous les tests
MathieuSoysal Feb 18, 2021
1b108b8
♻ Refactorisation OutilsDepartement
MathieuSoysal Feb 18, 2021
f801570
♻ Refactorisation
MathieuSoysal Feb 18, 2021
260f3bb
🛑 Ajout test non-validé Region
MathieuSoysal Feb 18, 2021
d49eb08
🔨 Validation de tous les test
MathieuSoysal Feb 18, 2021
9dbe0ca
♻ Refactorisation Outils
MathieuSoysal Feb 19, 2021
303c2c8
♻ Refactorisation Outils *-* propre 👌👌
MathieuSoysal Feb 19, 2021
0eec514
✅ Ajout test validé (coverage)
MathieuSoysal Feb 19, 2021
f698ba1
📝 Ajout JavaDoc
MathieuSoysal Feb 19, 2021
a621f52
🛑 Ajout tests non-validé OutilsDepartement
MathieuSoysal Feb 19, 2021
6452ef7
🔨 Validation de tous les tests
MathieuSoysal Feb 19, 2021
7d24428
🔨 Mise à jour Departement
MathieuSoysal Feb 19, 2021
4066174
🛑 Ajout test non-validé RepertoireCaumune
MathieuSoysal Feb 19, 2021
954af97
🔨 Validation de tous les tests
MathieuSoysal Feb 19, 2021
03220a5
🛑 Ajout non-validé RepertoireCaumune
MathieuSoysal Feb 19, 2021
fb08598
🔨 Validation des tests
MathieuSoysal Feb 19, 2021
db5ae80
⚡ optimisation caumunes
MathieuSoysal Feb 20, 2021
40af780
📝 Ajout de la JavaDoc
MathieuSoysal Feb 20, 2021
de758b1
🛑 Ajout test non-validé
MathieuSoysal Feb 20, 2021
ca7beef
🔨 Validation test Departement
MathieuSoysal Feb 20, 2021
51e8b48
♻️ mini refactorisation Departement
MathieuSoysal Feb 20, 2021
ac9657a
🛑 Ajout test non-validé Caumune
MathieuSoysal Feb 20, 2021
8816754
✅ Mise à jour CaumuneTest
MathieuSoysal Feb 20, 2021
9d8c010
🔨 Validation test Caumune
MathieuSoysal Feb 20, 2021
d220f2c
🛑 Ajout test non-validé Caumune
MathieuSoysal Feb 20, 2021
d22301b
🔨 Validation test Caumune
MathieuSoysal Feb 20, 2021
0bdf3b6
🛑 test non-validé Caumune
MathieuSoysal Feb 20, 2021
dab5b3c
🔨 Validation test Caumune
MathieuSoysal Feb 20, 2021
b70557c
📝 Ajout javadoc
MathieuSoysal Feb 20, 2021
a5ba35a
🔥 Suppression class obsolète
MathieuSoysal Feb 20, 2021
493772b
💚 Ajout des CI
MathieuSoysal Feb 20, 2021
0977e15
📝 Ajout exemple de pom.xml
MathieuSoysal Feb 20, 2021
d134fed
🛑 Ajout test non-validé Departement
MathieuSoysal Feb 20, 2021
7aa5d58
🔨 Validation test Departement
MathieuSoysal Feb 20, 2021
7ab070c
🛑 Ajout test non-validé Departement
MathieuSoysal Feb 20, 2021
9d89b10
🐛 Correction Departement
MathieuSoysal Feb 20, 2021
9bd90fc
🔨 Validation des tests
MathieuSoysal Feb 21, 2021
8a3ab11
🛑 Ajout test non-validé Region
MathieuSoysal Feb 21, 2021
77a2be9
🛑 Ajout test non-validé Departement
MathieuSoysal Feb 21, 2021
26aac25
🔨 Validation test Departement
MathieuSoysal Feb 21, 2021
44daaea
✅🛑 Mise à jour test (non-validé) RegionTest
MathieuSoysal Feb 21, 2021
481cd55
🔨 Validation de tous les test
MathieuSoysal Feb 21, 2021
7025c50
🎨 Formatage du code
MathieuSoysal Feb 21, 2021
5d7385e
📝 Mise à jour JavaDoc
MathieuSoysal Feb 21, 2021
6b2216d
🔥 Suppression méthode obsolète
MathieuSoysal Feb 21, 2021
7346bed
🔨 Uniformisation des type retournés
MathieuSoysal Feb 21, 2021
760c353
🔥 Supression méthode obsolète:
MathieuSoysal Feb 21, 2021
15da448
✅ Mise à jour test
MathieuSoysal Feb 21, 2021
04b4642
📝 Mise à jour JavaDoc
MathieuSoysal Feb 21, 2021
e053b49
📝 Ajout README.md
MathieuSoysal Feb 21, 2021
9791e69
🔧 Configuration SonarCLoud
MathieuSoysal Feb 21, 2021
b8d7f68
rename: all occurences of Caumune renamed Commune
BioTheWolff Feb 21, 2021
3757dd7
fix(RepertoireCommune): communes.csv was named Communes.csv, making b…
BioTheWolff Feb 21, 2021
e6668eb
style: renamed constants to match pascal case, as they should
BioTheWolff Feb 21, 2021
1fa8017
fix(security): fix security hotspot of printStackTrace in RepertoireC…
BioTheWolff Feb 21, 2021
173086b
📝 Mise à jour README.md
MathieuSoysal Feb 21, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# When shell scripts end in CRLF, bash gives a cryptic error message
*.sh text eol=lf
7 changes: 7 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
@MathieuSoysal

*.java @MathieuSoysal

pom.xml @MathieuSoysal

.github/** @MathieuSoysal
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/---bug-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: "\U0001F41B Bug report"
about: Créez un rapport pour nous aider à nous améliorer
title: "\U0001F41B [BUG]"
labels: bug
assignees: ''

---

**Décrivez le problème**
Une description claire et concise de ce qu'est le bogue.

**Reproduction du bogue**
Étapes/Code pour le reproduire:

**Résultat attendu **
Une description claire et concise de ce à quoi vous vous attendiez.

**Screenshots**
Le cas échéant, ajoutez des captures d'écran pour expliquer votre problème.

**Desktop:**
- OS: [e.g. iOS]

**Contexte additionnel**
Ajoutez ici tout autre contexte sur le problème.
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/---question.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: "\U0001F5E8 Question"
about: Poser une question
title: "\U0001F5E8 Question"
labels: question
assignees: ''

---

**Quelle est votre question?**
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: "\U0001F4DD Signaler un problème sur la Documentation"
about: Suggérer une modification pour la documentation
title: "\U0001F4DD "
labels: documentation
assignees: ''

---

## Signaler une documentation incorrecte

**Emplacement de la documentation incorrecte**
Fournissez des liens et des numéros de ligne, le cas échéant.

**Description des problèmes trouvés dans la documentation**
Une description claire et concise de ce que vous avez trouvé incorrect.

**Mesures prises pour vérifier que la documentation est incorrecte**
Dressez la liste des mesures que vous avez prises:

**Correctif suggéré pour la documentation**
Détaillez les modifications proposées pour corriger la documentation si vous en avez.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: "\U0001F4DDDemande d'ajout d'une Documentation "
about: Suggérer une documentation
title: "\U0001F4DD ajout d'une Documentation "
labels: documentation
assignees: ''

---

## Signaler la documentation nécessaire

**Signaler la documentation nécessaire**
Une description claire et concise de la documentation dont vous pensez qu'elle est nécessaire et pourquoi.

**Description de la documentation souhaitée**
Une description claire et concise de ce que vous souhaitez.

**Étapes prises pour rechercher la documentation nécessaire**
Dressez la liste des mesures que vous avez prises:
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/--id-e-de-fonctionnalit-.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: "✨ Idée de fonctionnalité"
about: Suggérer une idée pour ce projet
title: "✨ [IDÉE]"
labels: enhancement
assignees: ''

---

**Votre demande de fonctionnalité est-elle liée à un problème? Décrivez s'il vous plait.**
Une description claire et concise de la nature du problème. Ex. Je suis toujours frustré quand [...]

**Description de la solution souhaité**
Une description claire et concise de ce que vous voulez qu'il se passe.

**Décrivez les alternatives que vous avez envisagées**
Une description claire et concise de toutes les solutions ou feature alternatives que vous avez envisagées.

**Additional context**
Add any other context or screenshots about the feature request here.
54 changes: 54 additions & 0 deletions .github/workflows/maven-package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Maven Package

on:
release:
types: [created]

jobs:
publish:

runs-on: ubuntu-latest

env:
artifact_name: edt-iut-umontp

steps:
- uses: actions/checkout@v2

- name: Get the release version
id: get_version
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\/v/}

- name: Set up JDK 11 for deploy to OSSRH
uses: actions/setup-java@v1
with:
java-version: 11
server-id: ossrh
server-username: MAVEN_USERNAME
server-password: MAVEN_CENTRAL_TOKEN
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase: MAVEN_GPG_PASSPHRASE

- name: Build with Maven
run: mvn -B package --file pom.xml

- name: Update package version
run: mvn versions:set -DnewVersion=${{ steps.get_version.outputs.VERSION }}

- name: Publish to Apache Maven Central
run: mvn deploy -PossrhDeploy
env:
MAVEN_USERNAME: ${{ secrets.NEXUS_USERNAME }}
MAVEN_CENTRAL_TOKEN: ${{ secrets.NEXUS_PASSWORD }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}

- name: Set up JDK 11 for deploy to github packages
uses: actions/setup-java@v1
with:
java-version: 11
server-id: github

- name: Publish to GitHub Packages Apache Maven
run: mvn deploy -PgithubDeploy
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
26 changes: 26 additions & 0 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# This workflow will build a Java project with Maven
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven

name: Java CI with Maven

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 11
- name: Build with Maven
run: mvn -B package --file pom.xml
- name: Javadoc with Maven
run: mvn -PossrhDeploy javadoc:javadoc
35 changes: 35 additions & 0 deletions .github/workflows/sonarclourd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Build
on:
push:
branches: [ main ]
pull_request:
types: [opened, synchronize, reopened]
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 11
- name: Cache SonarCloud packages
uses: actions/cache@v1
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Cache Maven packages
uses: actions/cache@v1
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Build and analyze
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar
28 changes: 28 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#
# Standard Maven .gitignore
#
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties

#
# IntelliJ
#
*.iml
.idea/*
!.idea/runConfigurations/

#
# Visual Studio Code
#
.settings/
.classpath
.factorypath
.project
.vscode/
81 changes: 81 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
<!-- [![Maven Central](https://img.shields.io/maven-central/v/com.github.devlab-umontp/villes-et-departements-de-france.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22com.github.devlab-umontp%22%20AND%20a:%22villes-et-departements-de-france%22)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=DevLab-umontp_Librairie-Java-Villes-de-France&metric=alert_status)](https://sonarcloud.io/dashboard?id=DevLab-umontp_Librairie-Java-Villes-de-France)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=DevLab-umontp_Librairie-Java-Villes-de-France&metric=coverage)](https://sonarcloud.io/dashboard?id=DevLab-umontp_Librairie-Java-Villes-de-France) -->
![GitHub Actions](https://github.com/DevLab-umontp/Librairie-Java-Villes-de-France/workflows/Java%20CI%20with%20Maven/badge.svg)
[![Javadoc](https://img.shields.io/badge/JavaDoc-Online-green)](https://mathieusoysal.github.io/stats/librairie-java-villes-de-france/fr/france/package-summary.html)
[![Gitmoji.dev](https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat-square)](https://gitmoji.dev)

# ![](ressources/devicon.png) Librairie Java : Villes de France [![GitHub](https://img.shields.io/github/license/DevLab-umontp/Librairie-Java-Villes-de-France)](https://github.com/DevLab-umontp/Librairie-Java-Villes-de-France/blob/master/LICENSE)

### IUT Montpellier-Sète – Département Informatique
* **Colaborateurs:** [étudiants du département informatique](https://iut-montpellier-sete.edu.umontpellier.fr/dut-informatique/)

### Les projets utilisant la librairie
- [Bot Discord EDT](https://github.com/DevLab-umontp/BOT-DISCORD-EDT) : Bot Discord facilitant l'accès à l'empoi du temps de l'IUT de Montpellier

## Comment intégrer la Librairie Java Villes de France dans votre code

### Maven

Si vous avez Maven, ajoutez ce qui suit aux dépendances de votre fichier `pom.xml` :

```xml
<dependency>
<groupId>com.github.devlab-umontp</groupId>
<artifactId>villes-et-departements-de-france</artifactId>
<version>1.0.0</version>
</dependency>
```
>*Voir un exemple de fichier [pom.xml](https://github.com/DevLab-umontp/Librarie-Java-Villes-de-France/blob/main/ressources/pom.xml#L20L24) avec la librairie Villes de France*
### Gradle

Si vous utilisez Gradle, ajoutez ce qui suit aux dépendances de votre fichier `build.gradle`:

```
implementation 'com.github.devlab-umontp:villes-et-departements-de-france:1.0.0'
```

## Exemple de code d'utilisation de la Librairie Java Villes de France

```java
import fr.france.*;

class ExempleDeCode {
public static void main(String[] args) {

// Récupérer la région Corse
Region corse = Region.CORSE;

// Récupérer le departement de l'Hérault
Departement herault = Departement.HERAULT;

// Récupérer les Communes de l'Hérault
List<Commune> communesHerault = herault.getCommunes();

// Récupérer la région de l'Hérault
Region occitanie = herault.getRegion();

// Récupérer les départements de la région Occitanie
List<Departement> departementsOccitanie = occitanie.getDepartements();

// Rechercher un département par rapport à son code
Departement vaucluse = Departement.rechercherParCode(84);

// Récupérer les départements possédant le statut Département d'Outre-Mer
List<Departement> departementsDom = Departement.filtrerParStatut(StatutDepartement.DOM);

// Rechercher les Communes possédant le code postal 56250
List<Commune> communes = RepertoireCommune.rechercherParCodePostal(56250);

// Rechercher la Commune qui se nomme Trefflean et qui possède le code postal 56250
Commune trefflean = RepertoireCommune.rechercherParNomEtCodePostal("Trefflean",56250);
}
}
```
>*Voir plus d'[exemples de code](ressources/ExempleDeCode.java)*
## Contribution
Les suggestions et contributions sont toujours les bienvenues! Veuillez discuter des modifications plus importantes via un [issue](https://github.com/DevLab-umontp/Librarie-Java-Villes-de-France/issues) avant de soumettre une demande.

## Licence

Ce projet est publié sous la licence [Academic Free License 3.0](https://github.com/DevLab-umontp/Librarie-Java-Villes-de-France/blob/main/LICENSE)
Loading