🏗️ Amélioration du SI du laboratoire GSB
📋 Contexte
Dans la continuité des projets précédents menés pour le laboratoire Galaxy Swiss Bourdin (GSB), l'entreprise héberge désormais elle-même ses intranets avec une solution sécurisée. Pour renforcer encore son système d'information, GSB confie à notre équipe un nouveau projet centré sur la fiabilisation de l'hébergement et le développement d'un outil d'administration.
Notre mission SLAM consiste à développer l'application GSB-Admin, un client lourd permettant aux super-administrateurs de gérer les utilisateurs de l'application GSB-AppliFrais. Le projet a été conduit en approche AGILE avec des stand-up meetings en début de séance et un suivi via Kanboard.
🎯 Périmètre du projet SLAM
💻 Application GSB-Admin
- Développement d'un client lourd VB.Net sous Visual Studio 2022
- Application MDI réservée aux super-administrateurs GSB
- CU1 : Authentification par mot de passe haché SHA-256 (fichier config.ini)
- CU2 : Liste des utilisateurs (visiteurs et comptables) via DataGridView
- CU3 : Réinitialisation du mot de passe d'un utilisateur
- CU4 : Création d'un utilisateur (visiteur ou comptable)
- Script SQL de mise à jour de la base héritée du projet précédent (GSB-AppliFrais)
- Trigger SGBDR pour incrémenter automatiquement
nbFichesRefusées - Note technique de maintenance évolutive pour les développeurs GSB-AppliFrais
👤 Ma contribution personnelle
En tant que collaborateur SLAM, j'ai pris en charge les tâches de modélisation, de base de données et de développement des formulaires métier :
- Rédaction des cas d'utilisation (CU1 à CU4) Rédaction complète des fiches descriptives des quatre cas d'utilisation de GSB-Admin en respectant le formalisme imposé par le cahier des charges : authentification, liste des utilisateurs, réinitialisation et création d'utilisateur.
-
Modélisation et script SQL de mise à jour
Analyse approfondie de la structure héritée du projet GSB-AppliFrais (tables Utilisateur, Visiteur, Comptable), rédaction du script SQL de mise à jour garantissant la compatibilité avec l'application en production, avec ajout de la table Comptable et du champ
nbFichesRefuséesvia des requêtesALTER TABLErespectant l'intégrité référentielle. -
Trigger SGBDR nbFichesRefusées
Implémentation du trigger qui incrémente automatiquement
nbFichesRefuséesà chaque suppression d'une ligne de frais hors forfait non valide par un comptable — fonctionnalité entièrement à ma charge. - Formulaire MDI principal (FrmPrincipal) Démarrage et structuration du formulaire MDI principal : création du MenuStrip avec les entrées Utilisateurs (Liste, Créer) et Administration (Réinitialiser MDP, Quitter), liaison logique entre FrmAuthentification et FrmPrincipal après authentification réussie.
- Développement des formulaires CU2, CU3, CU4 Développement en binôme des trois formulaires métier : CU2 (connexion MySQL via config.ini, requête SQL, affichage DataGridView), CU3 (sélection utilisateur, hachage SHA-256 du nouveau mot de passe, mise à jour en base), CU4 (formulaire complet, contrôle d'unicité du login, hachage SHA-256, insertion dans Utilisateur puis Visiteur ou Comptable selon le rôle).
🏗️ Architecture de l'application GSB-Admin
L'application respecte le pattern MDI (Multiple Document Interface) de Windows Forms :
config.ini, comparaison avec la saisie hachée, blocage après 3 tentatives échouées. Aucun mot de passe en clair dans les fichiers ou la base.
🔒 Sécurité applicative
Aucun mot de passe n'apparaît en clair, ni dans le fichier
config.ini ni dans la base de données. Le mot de passe super-administrateur est stocké sous forme de hash SHA-256 dans le fichier de configuration, et tous les mots de passe utilisateurs sont hachés avant insertion ou mise à jour en base.
Le fichier
config.ini centralise les paramètres de connexion à la base de données et le hash du mot de passe super-administrateur, sans aucune donnée sensible en clair.
🗄️ Base de données — Modélisation & mise à jour
La solution est implantée sur la base de données du projet GSB-AppliFrais existant. Le script SQL de mise à jour a été conçu pour ne pas compromettre le fonctionnement de l'application en production :
ALTER TABLE risqué sur les colonnes existantes.
nbFichesRefusées (INTEGER, initialisé à 0). Contraintes d'intégrité référentielle maintenues.
nbFichesRefusées du comptable concerné — sans intervention applicative.
💻 Code Source du Projet
assadakh/GSB-Admin Public
Application VB.Net développée sous Visual Studio 2022 — Client lourd MDI de gestion des utilisateurs GSB avec authentification SHA-256, formulaires de gestion (CU2/CU3/CU4) et script SQL de mise à jour de la base.
📊 Bilan
L'application GSB-Admin est entièrement développée et fonctionnelle : authentification sécurisée, liste des utilisateurs, réinitialisation et création de comptes, script SQL et trigger opérationnels.
Ce projet m'a permis d'approfondir mes compétences en développement VB.Net, en modélisation et mise à jour de base de données relationnelle en conditions réelles, ainsi qu'en gestion de projet AGILE.
🎓 Compétences mobilisées
Compétences issues du référentiel BTS SIO mobilisées dans ce projet :
- Recensement et identification des ressources numériques
- Exploitation des référentiels, normes et standards adoptés par le prestataire informatique
- Mise en place et vérification des niveaux d'habilitation associés à un service
- Collecte, suivi et orientation des demandes
- Traitement des demandes concernant les applications
- Analyse des objectifs et des modalités d'organisation d'un projet
- Planification des activités
- Évaluation des indicateurs de suivi d'un projet et analyse des écarts
- Test d'intégration et d'acceptation d'un service
- Déploiement d'un service
- Accompagnement des utilisateurs dans la mise en place d'un service