Mon CV
← Retour aux projets
⚙️ Projet Professionnel · BTS SIO SLAM

🛠️ Service Web et Site — Laboratoire GSB

🏢 Client : Galaxy Swiss Bourdin (GSB) 🏛️ Laboratoire pharmaceutique · Cas d'étude BTS SIO · 540 visiteurs médicaux 👤 Rôle : Collaborateur SLAM 👥 2 membres (SLAM) 🛠️ PHP · Architecture MVC · MySQL

📋 Contexte

Le laboratoire Galaxy Swiss Bourdin (GSB) dispose de visiteurs médicaux qui se déplacent pour présenter des produits pharmaceutiques aux prescripteurs. Ces déplacements génèrent des frais pris en charge par la comptabilité. Une application web de gestion de ces frais est en cours de développement et notre équipe a été chargée d'en poursuivre le développement tout en proposant une solution d'hébergement sécurisée.

Mon équipe SLAM a eu la charge du développement applicatif, avec pour objectif de livrer une solution complète, opérationnelle, sécurisée et conforme aux exigences techniques et juridiques du laboratoire.

🎯 Périmètre du projet

💻 Développement applicatif

  • Prise en main de l'application GSB-AppliFrais (architecture MVC)
  • Débogage des saisies existantes (fiches de frais)
  • Hachage des mots de passe en base de données
  • Développement du service comptable
  • Gestion des rôles visiteur / comptable dans la base de données
  • Implémentation des états de fiche (Validée, Mise en Paiement)
  • Analyse juridique (RGPD, protection des données)

👤 Ma contribution personnelle

En tant que collaborateur SLAM, j'ai pris en charge la sécurisation de l'authentification, la conception du service comptable et la résolution des bugs applicatifs :

  • Hachage des mots de passe Dès la première semaine, j'ai implémenté le système de hachage des mots de passe dans la base de données MySQL, assurant la protection des données d'authentification des visiteurs médicaux et des comptables. Cette modification a nécessité d'adapter également le contrôleur de connexion pour que la vérification se fasse sur le mot de passe haché.
  • Mise en place des outils de collaboration Configuration des outils de travail collaboratif (Kanboard pour le suivi des tâches, tableau Excel d'avancement) et participation aux stand-up meetings pour coordonner les équipes SLAM et SISR.
  • Conception de l'architecture du service comptable J'ai analysé deux approches possibles pour distinguer visiteurs et comptables, et proposé la solution retenue : l'ajout d'un attribut role dans la table visiteur de la base de données. Cette décision a structuré l'ensemble du développement qui a suivi.
  • Développement du service comptable Modification de la table visiteur (ALTER TABLE visiteur ADD role VARCHAR(20)), adaptation de la méthode getInfosVisiteur pour inclure le rôle dans les requêtes SQL avec paramètres préparés, modification de c_connexion.php pour rediriger selon le rôle, création des vues, et création du contrôleur c_validerFrais.php.
  • Évolution du schéma des états de fiche Après analyse avec le laboratoire GSB, j'ai proposé de séparer les états "Validée" et "Mise en Paiement" en deux étapes distinctes plutôt qu'un état combiné, améliorant la traçabilité et la flexibilité pour corriger les fiches avant paiement.
  • Correction de bugs et tests Résolution d'un bug de calcul des totaux dans le contrôleur (les ajouts de frais hors forfait n'étaient pas recalculés dynamiquement), correction de l'affichage des statuts de fiches pour les comptables, et mise en place de la gestion des frais refusés reportés sur le mois suivant.
  • Partie juridique Contribution à l'analyse RGPD de l'application : qualification des données personnelles traitées, identification de la base légale de leur collecte et évaluation des régimes de protection applicables.

⚡ Défis techniques rencontrés côté SLAM

Distinction des statuts de fiches Les statuts "Validée" et "Mise en Paiement" n'apparaissaient pas clairement dans l'interface, créant une ambiguïté pour les comptables.
✅ Résolu par des indicateurs visuels dans v_validerFiche.php
Bug de calcul des totaux En ajoutant un frais hors forfait de 50 €, le total restait bloqué à 1 500 € au lieu de passer à 1 550 €. Erreur dans la logique de mise à jour du contrôleur.
✅ Corrigé via la logique de recalcul dynamique dans c_validerFrais.php
Flux des fiches mal compris L'équipe partait sur un flux linéaire simple, incompatible avec les besoins réels du laboratoire.
✅ Séparation des états "Validée" et "Mise en Paiement" après discussion avec GSB
Frais refusés non reportés Les frais refusés n'étaient pas automatiquement reportés sur le mois suivant, créant des pertes pour les visiteurs.
✅ Implémentation du report automatique dans le script de clôture mensuelle

🔄 Évolution du workflow des fiches de frais

Le schéma initial prévoyait un processus linéaire fusionnant validation et paiement. Après analyse avec le laboratoire GSB, l'état a été scindé en deux pour un meilleur contrôle :

Créée (CR) Clôturée (CL) Validée (VA) Mise en Paiement (MP) ✨ Remboursée (RB)

Cette évolution améliore la traçabilité, offre plus de flexibilité pour corriger une fiche validée avant son paiement, et répond aux exigences opérationnelles du laboratoire.

⚖️ Analyse juridique — RGPD

Données traitées Adresses IP, identifiants de visiteurs, frais de déplacement — qualifiées comme données personnelles au sens de l'article 4 du RGPD.
Base légale Traitement dans un cadre contractuel (exécution du contrat de travail), pouvant dispenser du consentement préalable si les personnes concernées sont informées.
Mesures de protection Hachage des mots de passe, restriction des accès par rôle, authentification sécurisée, journalisation des actions, sauvegardes régulières.
Protection de la BDD La base de données peut bénéficier du droit sui generis (Union européenne) protégeant les investissements réalisés pour sa constitution, indépendamment du droit d'auteur.

📊 Bilan

✅ Projet terminé

Ce projet m'a permis de travailler sur une application métier réelle en architecture MVC, dans un contexte professionnel avec des contraintes techniques et des délais à respecter. Ma contribution principale a porté sur la sécurisation de l'authentification, la conception et le développement du service comptable, et la résolution de bugs complexes liés aux calculs et aux états des fiches. La collaboration continue avec l'équipe SISR a également renforcé ma capacité à travailler dans un environnement multi-filières.

🎓 Compétences mobilisées

Compétences issues du référentiel BTS SIO mobilisées dans ce projet :

Activité 1.1 — Gestion du patrimoine informatique
  • 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
  • Vérification du respect des règles d'utilisation des ressources numériques
Activité 1.2 — Réponse aux incidents et aux demandes d'assistance et d'évolution
  • Traitement des demandes concernant les applications
Activité 1.3 — Développement de la présence en ligne de l'organisation
  • Participation à l'évolution d'un site Web exploitant les données de l'organisation
  • Participation à la valorisation de l'image de l'organisation sur les médias numériques en tenant compte du cadre juridique et des enjeux économiques
Activité 1.4 — Travail en mode projet
  • 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
Activité 1.5 — Mise à disposition des utilisateurs d'un service informatique
  • Test d'intégration et d'acceptation d'un service
  • Déploiement d'un service