Projet : GSB-Admin
Application de gestion pour le laboratoire Galaxy Swiss Bourdin
J'ai développé GSB-Admin, une application desktop de super-administration, dans le cadre de l'atelier professionnel 8 du BTS SIO. Elle me permet de gérer les utilisateurs visiteurs médicaux et comptables ainsi que les fiches de frais du laboratoire pharmaceutique fictif Galaxy Swiss Bourdin.
J'ai conçu cette application comme complément à l'application web Laravel de gestion des frais utilisée par les visiteurs et comptables. Via GSB-Admin, je peux consulter la liste des utilisateurs, en créer de nouveaux avec un rôle spécifique, et réinitialiser les mots de passe de manière sécurisée avec hachage SHA256.
Informations du Projet
- Catégorie Application Desktop
- Langage VB.NET (WinForms)
- Framework .NET 8.0
- Base de données MySQL 8.4
- Contexte AP8 — BTS SIO SLAM
Aperçu des fonctionnalités
Tour d'horizon de l'application, illustré par des captures d'écran.
Authentification sécurisée
J'ai mis en place un écran de connexion par mot de passe haché en SHA256. Les identifiants sont stockés dans un fichier Config.ini séparé, jamais en dur dans le code. Seul le super-administrateur peut accéder à l'application.
Fenêtre principale MDI
Une fois connecté, j'arrive sur la fenêtre principale de type MDI. La barre de menu donne accès aux différentes fonctionnalités via le menu "Utilisateurs" et permet de quitter proprement l'application.
Menu Utilisateurs
Le menu "Utilisateurs" propose trois actions : consulter la liste des utilisateurs, en créer un nouveau, ou réinitialiser un mot de passe. Chaque action ouvre un formulaire enfant dans la fenêtre MDI.
Liste des utilisateurs
J'affiche la liste complète des utilisateurs dans un DataGridView avec leurs informations : identifiant, nom, prénom, login, rôle et nombre de fiches refusées. Les visiteurs médicaux et les comptables sont tous visibles.
Création d'un utilisateur
J'ai conçu un formulaire complet pour ajouter un nouvel utilisateur : ID, nom, prénom, login, mot de passe, adresse, code postal, ville, date d'embauche et rôle. Le mot de passe est automatiquement haché en SHA256 avant l'insertion en base.
Stack technique
Tables de la base de données
Les principales tables que j'utilise dans l'application.
visiteur
idIdentifiant uniquenom/prenomadresseRue/codePostalrole1 = comptable, 2 = visiteurmdpHash SHA256nbFichesRefuseesCompteur automatique
fichefrais
idVisiteurClé étrangèremoisFormat YYYYMMidEtatCR, CL, VA, MP, RBnbJustificatifsmontantValidedateModif
fraisforfait
ETPNuitées (80.00 €)REPRepas (25.00 €)KMKilométrage (0.62 €/km)NUIÉtapes (110.00 €)
Documentation
Documents techniques que j'ai rédigés dans le cadre de l'AP8.