Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gestion des Contrats d'Assurance — JavaFX + SQLite

Projet Maven simple, ouvrable directement dans NetBeans (File → Open Project).

Sujet 3 — Gestion des contrats d'assurance (EPL — Développement d'Applications Desktop, S6 2026).

Prérequis

  • JDK 17 ou plus (JDK 21 recommandé)
  • Maven 3.8+ (intégré à NetBeans)
  • Connexion internet au premier build (téléchargement des dépendances Maven)

Lancer l'application en mode développement

mvn clean javafx:run

Dans NetBeans, utiliser directement le bouton Run du projet (voir nbactions.xml, qui route Run/Debug vers le goal javafx:run, plus fiable que l'action Maven par défaut pour une appli JavaFX).

Identifiants de test

  • Utilisateur : admin
  • Mot de passe : admin123

(Compte créé automatiquement au premier lancement si la table users est vide. Un nouveau compte peut aussi être créé via la page "Inscription".)

Base de données

En conditions normales d'exécution, le fichier SQLite est créé automatiquement dans le dossier utilisateur (~/.assurance-app/assurance.db sur Linux/Mac, C:\Users\<utilisateur>\.assurance-app\assurance.db sur Windows) au premier lancement — aucune installation de serveur de base de données n'est nécessaire.

Pour les besoins du rendu, une copie figée de la base (avec le compte de test et quelques contrats d'exemple) et le schéma SQL sont fournis dans database/ :

  • database/assurance.db — copie de la base de données SQLite
  • database/schema.sql — script SQL du schéma (tables users et contrats)

Livrables générés (dossier executables/)

Trois artefacts construits automatiquement pour Windows via GitHub Actions (voir .github/workflows/build-windows.yml, déclenché à chaque push sur main) :

Fichier Contenu
gestion-contrats-assurance-jar.zip Le jar exécutable (java -jar gestion-contrats-assurance.jar)
gestion-contrats-assurance-installeur-exe.zip L'installeur Windows (.exe) — installe l'application sur la machine
gestion-contrats-assurance-executable-app.zip L'exécutable de l'application prêt à l'emploi (dossier avec GestionContratsAssurance.exe), sans passer par une installation

Reconstruire soi-même ces livrables

mvn clean package
mvn org.panteleyev:jpackage-maven-plugin:jpackage@installer   # -> installer-dist/
mvn org.panteleyev:jpackage-maven-plugin:jpackage@app-image   # -> app-image-dist/

⚠️ jpackage fabrique un livrable pour l'OS sur lequel la commande tourne (pas de cross-compilation) : .exe sur Windows (nécessite WiX Toolset), .deb sur Linux (nécessite fakeroot et binutils), .dmg sur Mac. Le pom.xml détecte l'OS automatiquement (profils Maven) et choisit le bon type.

Captures d'écran

Voir le dossier screen/ : Login, Sign Up, Home (tableau des contrats), formulaire d'ajout/modification.

Fenêtre de Login

Fenêtre de création de compte

Fenêtre Home

Fenêtre de modification/nouveau contrat

Structure du projet

database/
 ├── assurance.db            (copie de la base SQLite pour le rendu)
 └── schema.sql               (schéma SQL)
executables/                  (jar, installeur .exe, exécutable app-image — livrables générés)
screen/                        (captures des 4 écrans)
src/main/java/com/eplis/assurance/
 ├── MainApp.java             (point d'entrée JavaFX)
 ├── Launcher.java            (point d'entrée pour le jar/installeur packagés)
 ├── model/                    (Contrat, User)
 ├── dao/                      (accès JDBC : UserDAO, ContratDAO)
 ├── controller/                (LoginController, SignUpController, HomeController,
 │                                AjoutContratController, ModifierContratController)
 ├── util/                      (DatabaseManager, SceneNavigator, UserSession)
 └── exception/                 (ValidationException, DatabaseException)
src/main/resources/
 ├── fxml/                      (Login, SignUp, Home, AjoutContrat, ModifierContrat)
 ├── css/style.css
 └── images/logo.png
.github/workflows/build-windows.yml   (CI : build jar + installeur + app-image sur Windows)
pom.xml
nbactions.xml                  (config NetBeans : Run/Debug -> javafx:run)

Fonctionnalités

  • Login : authentification via JDBC, mot de passe vérifié avec BCrypt.
  • Sign Up : création de compte, mot de passe haché en BCrypt, validations (identifiant déjà pris, mot de passe trop court).
  • Home : TableView des contrats, informations générales (nombre de contrats, total des primes), déconnexion.
  • Ajout d'un contrat : formulaire modal, visible immédiatement dans le tableau après validation (numéro unique, prime numérique positive, champs obligatoires).
  • Modification d'un contrat : double-clic sur une ligne ou bouton "Modifier le statut" — permet de mettre à jour assuré, produit, prime, date d'effet et statut ; le numéro (clé métier) reste non modifiable.
  • Gestion des erreurs et exceptions séparée en deux familles : ValidationException (erreurs de saisie, affichées à l'écran) et DatabaseException (erreurs SQL, enveloppées pour ne jamais exposer de détails techniques bruts à l'utilisateur).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages