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

Diagramme de cas d'utilisation

Vue d'ensemble des fonctionnalités que j'ai implémentées.

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.

Réinitialisation de mot de passe

Je sélectionne un utilisateur dans la liste déroulante, puis je saisis et confirme le nouveau mot de passe. Le hachage SHA256 est appliqué automatiquement avant la mise à jour en base de données.

Stack technique

VB.NET Windows Forms .NET 8.0 MySQL 8.4 SHA256 Config.ini

Tables de la base de données

Les principales tables que j'utilise dans l'application.

visiteur
  • id Identifiant unique
  • nom / prenom
  • adresseRue / codePostal
  • role 1 = comptable, 2 = visiteur
  • mdp Hash SHA256
  • nbFichesRefusees Compteur automatique
fichefrais
  • idVisiteur Clé étrangère
  • mois Format YYYYMM
  • idEtat CR, CL, VA, MP, RB
  • nbJustificatifs
  • montantValide
  • dateModif
fraisforfait
  • ETP Nuitées (80.00 €)
  • REP Repas (25.00 €)
  • KM Kilométrage (0.62 €/km)
  • NUI Étapes (110.00 €)

Documentation

Documents techniques que j'ai rédigés dans le cadre de l'AP8.