60"
:style="scrolled ? 'background-color:#252426;box-shadow:0 2px 20px rgba(0,0,0,0.4);padding-top:0.5rem;padding-bottom:0.5rem;' : 'background-color:#252426;padding-top:0.75rem;padding-bottom:0.75rem;'">
6
fonctionnalités clés
2
rôles (Client & Admin)
MVC
Architecture
Java
JDK 8+
Contexte & description
Projet réalisé en BTS SIO (BAC+2) — Gestion Banque est une application Java simulant le fonctionnement d'une banque. Elle permet à des clients de créer un compte, s'authentifier, consulter leur solde, effectuer des dépôts, retraits et virements, et visualiser leur historique. Un espace administrateur avec authentification dédiée est également disponible. Structuré selon l'architecture MVC avec stockage en mémoire via ArrayList.
Fonctionnalités clés
Inscription & authentification
Création de compte client avec détection des doublons. Connexion sécurisée pour clients et administrateurs.
Comptes avec numérotation automatique
Création de comptes bancaires avec numérotation automatique au format IBAN-like.
Dépôts, retraits & virements
Opérations bancaires avec validation métier (solde insuffisant, saisies invalides).
Historique des transactions
Consultation de l'historique complet (montant, date, statut) par compte.
Espace administrateur
Espace admin avec authentification dédiée. Menus de gestion des clients et comptes (en cours d'implémentation).
Validation & gestion des erreurs
Messages d'erreur clairs pour saisies invalides et solde insuffisant. Détection des doublons à l'inscription.
Stack technique
Langage & interface
Java JDK 8+Java SwingJOptionPane
Architecture & données
Architecture MVCArrayList
Outils
IntelliJ IDEAGit
Concepts appliqués
POOEncapsulationNavigation par rôles
Ce que j'ai mis en pratique
Architecture MVC appliquée à un domaine métier réel
Séparation claire des responsabilités : le Modèle gère les données (comptes, clients, transactions), la Vue expose les boîtes de dialogue Swing, et le Contrôleur orchestre la logique métier entre les deux.
Conception orientée objet (encapsulation, composition)
Modélisation des entités bancaires (Client, Compte, Transaction) avec encapsulation des données et composition des objets pour refléter les relations réelles du domaine.
Gestion des erreurs métier
Validation des saisies, contrôle du solde avant chaque opération (retrait, virement), et détection des doublons à l'inscription — avec messages d'erreur clairs via JOptionPane.
Navigation par menus avec switch-case
Interface de navigation structurée avec switch-case pour guider l'utilisateur entre les différentes fonctionnalités selon son rôle (client ou administrateur).
Pistes d'amélioration
Persistance des données
Base de données SQL ou fichiers pour remplacer les ArrayList en mémoire.
Hashage des mots de passe
Bcrypt ou SHA-256 pour sécuriser les credentials en stockage.
Virements entre clients
Étendre les virements à des comptes appartenant à des clients différents.
Interface JavaFX
Migration vers JavaFX pour une interface graphique complète et moderne.
Interfaces — Création de compte
Interfaces — Espace client
Tester l'application
Disponible au téléchargement · Nécessite Java 8+