À propos du projet

AP3 est une application de gestion bancaire développée en Java avec une interface graphique construite via FXML et SceneBuilder. L'application simule un système bancaire complet permettant de gérer des comptes, des transactions et les informations des clients.

Ce projet démontre l'application concrète des principes de la Programmation Orientée Objet (POO), notamment l'encapsulation avec des comptes bancaires sécurisés, et l'architecture MVC pour une séparation claire des responsabilités.

Fonctionnalités principales

👤

Gestion des clients

Création, modification et suppression des profils clients avec leurs informations.

🏦

Comptes bancaires

Gestion de comptes courants et épargne avec solde, numéro et statut.

💸

Transactions

Dépôts, retraits et virements entre comptes avec historique complet.

🔒

Encapsulation stricte

Tous les attributs privés, accès uniquement via getters/setters contrôlés.

🖥️

Interface JavaFX

Interface graphique moderne créée avec SceneBuilder et fichiers FXML.

📊

Tableau de bord

Vue synthétique des comptes et des transactions récentes.

Étapes du développement

01

Architecture et conception des classes

Conception de la structure objet : classes Client, CompteBancaire, Transaction avec leurs attributs privés et méthodes de gestion. Mise en place des principes POO pour une encapsulation robuste.

02

Interface graphique avec SceneBuilder

Création des écrans de l'application avec SceneBuilder : fenêtres de connexion, tableau de bord, gestion des comptes. Liaison FXML avec les contrôleurs Java.

03

Logique métier et contrôleurs

Implémentation des contrôleurs MVC pour gérer les interactions : création de compte, dépôts, retraits et virements avec validation des données.

04

Persistence des données

Mise en place de la sauvegarde des données clients et comptes. Gestion de l'état de l'application entre les sessions.

Compétences acquises

  • Maîtrise approfondie de la Programmation Orientée Objet (classes, encapsulation, héritage, polymorphisme)
  • Développement d'applications Desktop avec JavaFX et FXML
  • Design d'architecture d'application avec le pattern MVC
  • Utilisation de SceneBuilder pour la conception d'interfaces graphiques
  • Gestion de la persistence et des données en mémoire
  • Validation et sécurisation des entrées utilisateur

Technologies utilisées

  • Langage : Java 11+
  • Framework UI : JavaFX
  • Conception UI : SceneBuilder
  • Markup interface : FXML (XML)
  • IDE : Eclipse / IntelliJ IDEA
  • Paradigme : POO, MVC

Améliorations futures

  • Intégration d'une vraie base de données (MySQL, PostgreSQL)
  • Implémentation d'un système de virement international
  • Ajout de notifications par email ou SMS
  • Création d'une API REST pour une application mobile complémentaire