# Papillon 🦋

Bienvenue sur notre projet **"PAPILLON"**, un logiciel qui reste en permanence au premier plan, comme un papillon collé sur le moniteur. Ce projet a été réalisé dans le cadre de la [SAÉ 3.1](https://iut-fbleau.fr/sitebp/sae3/31_2025/Y8R8E4MV9Y7T33O8.php) de l'IUT Sénart-Fontainebleau.

## Table des matières
- [Présentation](#présentation)
- [Organisation du projet](#organisation-du-projet)
- [Compilation et lancement](#Compilation-et-lancement)
- [Création de la documentation](#création-de-la-documentation)
- [Nettoyage des fichiers temporaires](#Nettoyage-des-fichiers-temporaires)
- [Rapport d'avancement](#Rapport-d-avancement)
- [Crédits](#crédits)

---

## Présentation

Papillon, est une application de gestion de rappels qui permet à l'utilisateur :
- D'ajouter des rappels (titre, contenu, thème, rang).
- De modifier ou supprimer un rappel existant.
- De consulter la liste de tous ses rappels.
- Et d'avoir la fenêtre visible (comme un papillon posé sur l'écran).

Ce projet a été développé en **Java** en suivant les consignes de l’IUT afin d’assurer une structure claire et un code facile à maintenir.

---

## Organisation du projet

L’organisation du projet suit une structure claire permettant de séparer le code source, les composants externes et les fichiers de configuration. Voici l'aborescence :

```
SAE31_2025/
├── Documentations/
│   ├── Diagrammes/
│   └── Rapports.pdf
├── lib/ # Bibliothèques externes MariaDB
├── src/ # Code source du projet
│ └── fr/iutbleau/papillon/ # Package principal contenant toutes les classes Java
│       ├── BaseDeDonnees.java
│       ├── BtnAjouter.java
│       ├── BtnModifier.java
│       ├── BtnSupprimer.java
│       ├── ChoixRang.java
│       ├── ColorIcon.java
│       ├── CouleurList.java
│       ├── Crud.java
│       ├── FenetreAjout.java
│       ├── FenetreModif.java
│       ├── FenetreRappel.java
│       ├── GestionAjout.java
│       ├── GestionModif.java
│       ├── GestionRappel.java
│       ├── LimiteContenu.java
│       ├── Main.java
│       ├── PanelRappel.java
│       ├── Rappel.java
│       ├── RappelBD.java
│       ├── Start.java
│       ├── UserKey.java
│       ├── Utilisateur.java
│       └── UtilisateurBD.java
├── .gitignore # Permet d’ignorer les fichiers .class générés lors de la compilation
├── Makefile # Automatisation pour la compilation et l’exécution
├── README.md # Fichier actuelle
└── logo.png #Logo de la fenêtre
```
---

## Compilation et lancement

# Pré-requis
- **MariaDB client** (inclus dans le répertoire `libs`)

---

Pour avoir accès au projet faire les commandes suivantes:

```bash
# Cloner le dépôt
git clone https://grond.iut-fbleau.fr/yolou/SAE31_2025/
cd SAE31_2025
```
Pour compile et exécuter
```bash
# Compiler et exécuter le projet
make compile
make run
```

ou 

### Création du fichier `.jar`
Vous pouvez générer une archive exécutable :
```bash
make jar
```

Avec l'archive .jar on exécute :
```bash
make run-jar
```


---

## Création de la documentation

La documentation du code source est générée via **Javadoc**. Utilisez :
```bash
make doc
```
---

## Nettoyage des fichiers temporaires 

Pour supprimer les fichiers intermédiaires on fait :
```bash
make clean
```

---

## Rapport d'avancement 

Le rapport du projet est disponible dans le dossier `Documentation`. Accédez-y directement ici : [Documentations/Rapport.pdf](./Documentations/Rapport.pdf).

---

## Crédits

Ce projet a été réalisé par :
- [Jenson VAL](https://grond.iut-fbleau.fr/val)
- [Aylane SEHL](https://grond.iut-fbleau.fr/sehl)
- [Séri-Khane YOLOU](https://grond.iut-fbleau.fr/yolou)

Professeur : **Luc Hernandez**.
