Organisation & méthode
Développement structuré couche par couche :
- Conception — analyse du besoin, MCD, diagramme de classes Mermaid
- Modèle — classe
Connexion (pilote JDBC) + classe Modele (DAO, toutes les requêtes SQL)
- Vue —
VueConnexion, VuePrincipal, PanelPrincipal, PanelEquipements, PanelProfil
- Contrôleur —
ItEvent (point d'entrée, main)
- Tests & recette — tests fonctionnels par scénario (cas nominal + cas limite)
Versioning via Git + GitHub avec historique de commits tout au long du développement.
Difficultés rencontrées & solutions
1. Boutons cliquables dans un JTable — Swing n'autorise pas nativement des boutons actifs dans les cellules. Résolu par deux classes internes : IconButtonRenderer (affichage) et IconButtonEditor (gestion du clic), chaque bouton recevant l'id de la ligne pour déclencher l'action CRUD correcte.
2. Navigation entre panneaux sans recréer la fenêtre — Résolu par la méthode showPanel(JPanel) dans VuePrincipal utilisant removeAll() + revalidate() + repaint() sur le panneau central.
3. Chargement des icônes selon l'environnement — Le chemin des ressources différait entre Eclipse et l'exécution en JAR. Résolu avec getClass().getResource() et redimensionnement via getScaledInstance() avec gestion du cas null.
4. Validation de la saisie numérique — Le champ quantité doit n'accepter que des entiers. Résolu par Integer.parseInt() dans un bloc try/catch NumberFormatException avec message d'erreur JOptionPane et blocage de la soumission.