← Retour aux projets
📊
BTS

Application GSB — Gestion des frais de services

Application web de gestion des notes de frais pour Galaxy Swiss Bourdin (GSB), entreprise pharmaceutique issue de la fusion de deux groupes. Projet officiel du référentiel BTS SIO SLAM (réalisation professionnelle n°1, épreuve E6).

Contexte BTS SIO SLAM — Lycée Condorcet (Belfort) Période 2025 - 2026 Rôle Développeur full-stack (seul)
PHP 8 POO MySQL 8.0 phpMyAdmin HTML5 CSS3 MVC
Voir sur GitHub ↓ Dossier technique (.docx)

Fonctionnalités principales // features

[01]

Authentification sécurisée (rôles visiteur / comptable)

[02]

Saisie de fiches mensuelles : frais forfaitisés (repas, nuitées, km) + frais hors forfait avec justificatif

[03]

Workflow complet : saisie → clôture → validation → mise en paiement → remboursement

[04]

Contrôle et validation des fiches par le service comptable (validation, refus, correction)

[05]

Export PDF récapitulatif

[06]

Statistiques : total remboursé, demandes en attente, suivi par visiteur

Déroulement du projet // process

ÉTAPE 01

Contexte : GSB, issue d'une fusion, doit centraliser la gestion des notes de frais générées par sa force commerciale de visiteurs médicaux répartis sur plusieurs zones. Budget annuel conséquent → besoin d'optimiser le contrôle et de fiabiliser le suivi.

ÉTAPE 02

Étape 1 — Analyse du cahier des charges fourni avec le sujet GSB : identification des rôles utilisateurs (visiteur, comptable), des types de frais (forfaitisés / hors forfait), et du processus de validation.

ÉTAPE 03

Étape 2 — Modélisation des données : MCD (entité-association), passage au MLD, schéma SQL implémenté sous MySQL 8.0 via phpMyAdmin.

ÉTAPE 04

Étape 3 — Modélisation UML de l'application et maquettage des interfaces homme-machine (IHM) : page de connexion, dashboard visiteur, création/édition de fiche, vue récapitulative PDF, dashboard comptable, vues de validation/refus.

ÉTAPE 05

Étape 4 — Mise en place de l'architecture MVC en PHP POO (modèles métier, contrôleurs, vues, routeur).

ÉTAPE 06

Étape 5 — Développement des fonctionnalités : authentification, saisie de fiche mensuelle (frais forfait + hors forfait), suivi des états (saisie en cours, clôturée, validée, mise en paiement, remboursée).

ÉTAPE 07

Étape 6 — Côté comptable : interface de contrôle, validation, refus avec motif, correction si besoin.

ÉTAPE 08

Étape 7 — Exploitation des données : totaux remboursés, demandes en attente, statistiques par utilisateur.

ÉTAPE 09

Étape 8 — Tests fonctionnels avec les comptes de démo, sécurisation (requêtes préparées PDO, échappement HTML), documentation et dépôt sur GitHub.

Difficultés & solutions // learnings

Difficultés rencontrées

  • Bien séparer la logique métier de l'affichage au début (tentation de tout mettre dans la vue).
  • Gérer proprement les états successifs d'une fiche de frais (machine à états).
  • Sécuriser les accès utilisateurs : sessions PHP, échappement des entrées, autorisations selon le rôle.

Solutions apportées

  • Refactor strict en classes Modèle / Contrôleur / Vue, application rigoureuse du pattern MVC.
  • Définition d'une énumération d'états (saisie, clôturée, validée, en paiement, remboursée) et transitions encadrées côté contrôleur.
  • Utilisation systématique de PDO avec requêtes préparées et de htmlspecialchars sur tout affichage.

Comptes de démonstration // test access

Compétences BTS SIO mobilisées // référentiel

B1.4 B2.1 B2.2 B2.3

Livrables // outputs

Bilan personnel // retour d'expérience

Premier projet web d'envergure du référentiel BTS SIO SLAM. M'a permis de mettre en pratique le cycle complet : analyse → modélisation (MCD/MLD/UML) → architecture MVC → développement → tests → documentation. Sensibilisation forte à la sécurité (injections SQL, XSS, gestion des sessions). Code maintenable et extensible, prêt pour une présentation en épreuve E6.

← Retour aux projets