Contexte PPE GSB CR Analyse Projet réalisé :

Contexte PPE GSB CR
Le laboratoire est issu de la fusion entre le géant américain Galaxy et le conglomérat Swiss
Bourdin. Cette fusion a eu pour but de moderniser l’activité de visite médicale et de réaliser
une économie d’échelle dans la production et la distribution des médicaments.
Le laboratoire désire mettre à disposition des visiteurs médicaux une application Web
permettant de centraliser les comptes rendus de visite. Cette base d’information sera utilisée à
des fins d’élaboration de la démarche de communication auprès des praticiens et donnera une
vision individuelle et synthétique de l’activité de représentation.
Pour permettre une aide au renseignement des rapports, l’application fournira une description
des produits du laboratoire, les coordonnées précises des praticiens et les informations
détaillées les concernant.
Analyse
Forme de l’objet
Dans un premier temps sous forme d’un site Web sécurisé et authentifié, l’application peut
devenir dans le futur un outil accessible depuis des terminaux mobiles (tablettes ou
téléphones).
Accessibilité sécurité
La page d’accueil ne doit proposer qu’une zone d’identification.L’application ne doit pas être
reliée au reste du site de l’entreprise ou intégrée à l’intranet.
Projet réalisé :
Expression de besoin
Le projet consiste à créer une application Web pour les visiteurs qui doit dans un premier
temps se connecter avec ses identifiants. L’application permet au visiteur de consulter la
description technique des produits du laboratoire, les coordonnées précise du praticien, il peut
ajouter un praticien, rechercher un praticien mais aussi modifier un praticien. Le visiteur doit
pouvoir ajouter un compte rendu de visite ou il pourra renseigner les informations détaillés
sur le praticien et ses appréciations, les médicaments qu’il a présentés (2 par rapports) mais
aussi les quantités d’échantillons qu’il a laissé aux praticiens (jusqu’à 10). La liste des
comptes rendus est ensuite consultable par le visiteur ainsi que la liste des échantillons laissés
pour chaque compte-rendu.
Compétence acquise au cours de ce projet :
-expression de besoin:
.savoir analyser précisément le besoin de l’entreprise avant de commencer tout étape du
projet, pour bien comprendre ce que demande l’entreprise et ne pas réaliser une application à
côté. Notamment bien comprendre que la consultation des données des praticiens doit pouvoir
être observable par le visiteur afin qu’il puisse avoir toute les information pour remplir son
compte rendus de visite. Aussi le visiteur ne peut remplir de CR s’il n’est pas authentifier.
.Concevoir une application Web en PHP à partir d’une classe données qui comporte les
fonctions nous permettant d’interagir avec la base de données GSB.
.Développer une interface web facile d’accès pour les visiteurs en accord avec la logique de
l’application leurs permettant de remplir les rapports de visite facilement
.Prévoir les erreurs de saisie éventuelles par le visiteur afin d’éviter les pertes de temps
inutiles notamment pour les dates.
Analyse :
MCD
Consulter le MCD de l’entreprise afin d’analyser quelles modifications sont à effectuer et
modifier le MCD en fonction avant de commencer le développement du projet.
Modifications effectuées :
Table visiteur : Ajouter de l’attribut Vis_Login et Vis_password afin de permettre une
authentification du visiteur.
Table Rapport : Ajouter des attributs PROD_1 et PROD_2 afin que le visiteur puisse
renseigner 2 médicaments dans son compte rendus
Table Médicament : pour obtenir les noms des médicaments ainsi que leur référence et une
description détaillé de chaque médicament pour faciliter au visiteur la saisie de ses comptes
rendus.
Table Offrir : permet de renseigner les échantillons présentées en fonction du numéro de
rapport.
Rôle et service rendus pour chaque rôle
Le projet a été réalisé avec l’aide d’un camarade de classe , nous avons repartis les taches de
façon à ce que chacun ai des choses intéressantes à faire notamment en matière de
développement ; et afin que chacun apprennent en matière de PHP. Nous nous sommes
consultés à plusieurs reprises afin de regrouper nos travails respectifs et de nous aider
lorsqu’il y avait des problèmes de compréhension ou de développement dans le projet.
Cas d’utilisation :
Maquette IHM
-Nous avons réalisé la saisie des comptes rendus par le visiteur à partir d’une maquette IHM
et des tables de la base donnée données par l’entreprise, Ainsi on en a déduit : la gestion de 2
médicaments et la possibilitée d’ajouter jusqu’à 10 échantillons ; la récupération de la liste
des médicaments, du dernier numéro de rapport renseigné la liste des praticiens ainsi qu’une
description détaillée des médicaments.
-Analyse des coordonnées de chaque praticien à récupérer dans la base de donnée a et afficher
ainsi que des données modifiable pour les praticiens.
-Authentification du visiteur à partir d’un login et d’un password afin d’accéder a tous le
contenu de l’application
-Réalisations de la gestion d’erreur pour chaque fonctionnalisées du site web.
Choix de conception
Langage de développement utilisé
-PHP pour la conception de l’application, WAMP pour afficher le code PHP retranscrit en
code HTML.
-SGBD : PHP My Admin, Mysql pour la récupération insertion et modification des données
dans la BDD. La connexion à la BDD se fait par technologie PDO qui présente beaucoup
d’avantages (voir fiche de veille technologique)
-Boostrap pour l’interface : conception d’une navbar comportant les différentes fonctions du
site, menu déroulant pour les fonctions de la navbar, affichage des tableau, type de police,
bouton de validation, boutons rechercher, bouton de sélection, et fenêtre infobulle. Bootstrap
nous permet un gain de temps certain dans le développement et un design bien meilleur
qu’avec un CSS basique, notamment grâce à ses fonctionnalitées Javascript pour les menus
déroulant, les infobulles, les calendrier et boutons de saisies extensibles pour les echantillons.
Utilisation facile grâce à l’aide de la doc présente sur le site de bootstrap.
Correspondance Conception/analyse
Modèle préconisé M.V.C
M : modèle : correspond aux fonctionnalités de récupération de données dans la base de
données : toutes les interactions nécessaires avec la base de données GSB sont présentes dans
un seul fichier appelé « bdgestionlib.php », chaque fois qu’il y en a besoin une fonction de ce
fichier est appelée par le controller.
V : vue : les vues ont été réalisées à partir de maquette IHM préalablement analysé pour
chaque fonctionnalitées du site il y en a une, ces vue sont appelés par le controller de la
fonction associés.
C : Controller : (cas d’utilisation) : Les contrôleurs appellent les vues et les fonctions de la
base de données, ainsi que les utilitaires de gestions d’erreurs. Ils permettent d’effectuer les
différents traitements étudiés dans les cas d’utilisation, pour chaque controleur il y a un appel
à une vue, un appel aux fonctions de la bdd si nécessaire et l’appel aux fonctions de gestion
d’erreurs.
Ce modèle est destiné à répondre aux besoins des applications interactives en séparant les
problématiques liées aux différents composants au sein de leur architecture respective.
Réalisation
Pour ce module j’ai réalisé la fonction de listage des coordonnées, d’ajout et de modification
de praticien, le module d’authentification visiteur, la gestion des CR rendu pour le visiteur
ainsi que l’interface avec bootstrap notamment les infobulles et le menu déroulant, et les
fonctions d’interaction avec la base de données. J’ai aussi réalisé le module de connexion à la
bdd par PDO. Les principales difficultés ont été tout d’abord de réaliser le module de gestion
d’erreurs liées aux données saisies et consulter par le visiteur car il y a beaucoup d’erreurs de
saisie à traiter pour chaque fonctionnalitées. Ensuite l’intégration des éléments en Javascript
n’a pas été facile, j’ai rencontrées certaines difficultés notamment pour la gestion des
échantillons avec un menu extensible à 10 échantillons ainsi que pour intégrer les tableaux
avec Pagination qui permet de les structurer par pages et avec la possibilité de faire des tris et
de rechercher un élément ;Enfin pour les infobulles comportant la liste des échantillons il a
fallu trouver un système qui les afficher mais qui ne les retirer pas juste après afin que
l’utilisateur aient le temps de les consulter et les defiler. Ces infobulles ne sont pas
correctement affichable avec Google chrome c’est pour cela qu’un lien vers une autre page est
possible pour afficher les échantillons. Cependant le menu extensible pour les échantillons
n’est pas compatible avec IE, Nous n’avons pas encore trouvé de solution. Enfin l’utilisation
d’une base de données à distance a nécessité différentes modifications dans le code
notamment pour les fonctions du modèle. L’intégration de l’application sur le serveur ftp de
l’école a été longue car le serveur ftp est lent de plus il a fallu modifier les coordonnées
d’accès a la base de données à l’aide de son adresse ip sinon il y avait une erreur à la
connexion.
Test unitaire
Il y a eu beaucoup de test unitaire afin que le site soit pleinement fonctionnel : des tests ont
été effectués pour réaliser la gestion des erreurs de l’utilisateur et bien vérifier qu’elle
fonctionne correctement, les tests d’ajout de données des comptes rendus et ajout praticien
dans la base de données. Pour les CR il a fallu effectuer des tests pour vérifier que lorsque
l’utilisateur saisie le même échantillon deux fois dans le compte rendus, les quantités
associées sont additionnées et insérées dans la base de données. De plus beaucoup d’autres
tests ont été effectuées notamment si le visiteur ne renseigne pas les médicaments ou le
praticien qu’il a consulté dans le CR et les problèmes d’incompatibilité avec les différents
explorateurs internet.
Conclusion
Cependant ces problèmes rencontrées m’ont permis de beaucoup apprendre en PHP en
Javascript mais aussi en programmation en générale, car le PHP est un bon langage pour
apprendre la programmation, je sais aujourd’hui concevoir de beaux sites web en PHP grâce à
Bootstrap, un css que je ne connaissais pas auparavant, je maitrise mieux les différentes
requêtes SQL et je suis capable de gérer plus rapidement les erreurs liées à PHP et MySQL.