CONTEXTE
Entreprise
GSB (Galaxy Swiss Bourdin) est un laboratoire pharmaceutique. Il développe (R&D) , produit et vend des médicaments. Son principal canal de vente repose sur les visiteurs médicaux employés, qui démarchent les médecins. L’informatique intervient en support dans le processus de vente.
Projet
Le laboratoire est amené à contacter des médecins installés pour ses différentes activités, notamment pour que ses visiteurs médicaux se déplacent afin de leur présenter les nouveaux produits pharmaceutiques. Une base de données de médecins est régulièrement mise à jour à cause de départ à la retraite ou d’installation de nouveaux praticiens.
La base de données et le fichier CSS sont fournis.
Contraintes :
- Développement en JAVA. Architecture applicative en MVC avec Servlet contrôleur, et utilisant des JSP avec JSTL
- L’application utilisera la base de données PostgreSQL fournie. Elle est garnie et mise à jour par une entreprise spécialisée qui nous vend ces informations
- Les informations exposées des médecins indiqueront : Nom, Prénom, Adresse,Téléphone, Spécialité médicale complémentaire
Mission
Développer une application web donnant accès aux informations de la base de données, et respectant les contraintes ci-dessus, afin de permettre la consultation en ligne des médecins via un navigateur.
RÉALISATION
Première approche :
Un premier menu est proposé à partir du diagramme de classe initial :
- « Médecins par département » affiche une liste déroulante des numéros de département. Le choix du département affiche la liste des médecins qui y sont installés
- « Médecins par nom » propose une zone de texte pour saisir tout ou partie d’un nom et affiche les médecins qui y correspondent
Nouveau cas d’utilisation :
A la demande des visiteurs médicaux, il faut ajouter dans le menu la liste des médecins par spécialité complémentaire.
Votre chef de projet vous donne cette tâche en toute responsabilité, il insiste sur les points suivants :
- Revoir le diagramme de classe pour trouver rapidement les médecins à partir de leur spécialité complémentaire
- Modifier le chargement depuis la base de données pour instancier tous les objets métiers : en premier chargement des départements, puis chargement des spécialités complémentaires, puis chargement de tous les médecins. Ensuite, en mémoire, on parcourt les médecins et on les associe à leur département et à leur spécialité
- Ajouter « Médecins par spécialité » au menu, et modifier le contrôleur et les vues. Il faut que le contrôleur soit très clair pour bien distinguer les trois actions principales, et les sous-actions à l’intérieur de ces dernières
Aspect visuel
Rendu final du menu
Rendu final des trois différents tris

![]()
Rendu final d’un résultat (ici tri par nom commençant par « A »)
Aspect technique
Le projet développé en JAVA Web est organisé selon le modèle MVC avec un Servlet (contrôleur), des classes métiers (modèles) et des pages web JSP (vues).
L’intégration du style est gérée par un fichier « style.css » dans le dossier « styles ».
Diagramme de classe initial
Diagramme de classe modifié
COMPÉTENCES DU RÉFÉRENTIEL
- A4.1.2 Conception ou adaptation de l’interface utilisateur d’une solution applicative
- Développement de l’application
- A4.1.6 Gestion d’environnements de développement et de test
- Netbeans
- A4.1.7 Développement, utilisation ou adaptation de composants logiciels
- Développement de l’application
- A4.1.9 Rédaction d’une documentation technique
- Schématisation du diagramme de classe
- A4.2.4 Mise à jour d’une documentation technique
- Mise à jour du diagramme de classe
- A5.1.1 Mise en place d’une gestion de configuration
- Mise en place du gestionnaire de version Git sur Netbeans et SourceForge
- A5.1.3 Suivi d’une configuration et de ses éléments
- Git