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.
© Copyright 2024 Paperzz