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
Après le développement de l’application de gestion des frais des visiteurs médicaux (que vous pouvez consulter ici), l’informaticien est chargé de développer le back-office avec le framework Zend Framework.
Mission
Développer le back-office en respectant le cahier des charges (téléchargeable ici).
RÉALISATION
Menu, authentification, ACL (Access List Control)
Les différents accès aux fonctionnalités en fonction des rôles :
- Non authentifié (Guest) : Connexion, Webservices
- Authentifié en tant que Comptable : Toutes les fonctionnalités sauf Modification des montants des frais forfaits
- Authentifié en tant qu’Admin : Toutes les fonctionnalités
On utilisera les classes Zend_Auth et Zend_Acl.
Visiteur – CRUD
« Gérer les visiteurs » amène sur cette vue.
Une aide de vue calcule l’ancienneté chez GSB du visiteur médical.
Les liens « Détail », « Détail des Fiches », « Ajouter un visiteur », « Modifier » et « Supprimer » redirigent vers leurs actions et vues respectives (voir figures ci-dessous).
Ajouter
Détail
Détail des Fiches
Modifier
Validation des données des visiteurs en ajout-modification
Les formulaires sont créés à l’aide de la classe Zend_Form.
Pour assurer la validité des données des visiteurs en ajout-modification, on utilisera la classe Zend_Validator. Dans le cas échéant les messages d’erreur explicites suivants seront utilisés :
Export des fiches de frais
« Voir/Exporter toutes les fiches de frais » amène sur cette vue.
Après exportation de l’ensemble des fiches en CSV, les données sont correctement exploitables par un tableur. Par exemple ici, nous avons calculé la somme de tous les montants valides.
Frais Forfait – Lister et Modifier le montant
« Modification des montants des frais forfaits » amène sur cette vue.
Seul le montant du frais forfaitaire est modifiable, exemple du Forfait Etape :
Tableau de bord : cumuls par visiteur, cumuls par visiteur et par frais forfait

WebService : XML rendus
Affichage des coordonnées de tous les visiteurs
URL : http://localhost/GSBZFBO2019/public/ws?method=getVisiteursV2
Extrait du résultat retourné :

Affichage des noms et prénoms des visiteurs dont la première lettre du nom est passée en paramètre
URL : http://localhost/GSBZFBO2019/public/ws?method=getVisiteursV3&arg1=D
Extrait du résultat retourné :

Affichage des coordonnées du visiteur dont l’id est passé en paramètre
URL : http://localhost/GSBZFBO2019/public/ws?method=getVisiteursV4&arg1=a17
Résultat retourné :

Affichage des noms et prénoms des visiteurs ayant plus d’années d’ancienneté que le nombre d’années passé en paramètre
URL : http://localhost/GSBZFBO2019/public/ws?method=getVisiteursV5&arg1=20
Résultat retourné :

Affichage de la quantité de fiche de frais dont l’état est passé en paramètre
URL : http://localhost/GSBZFBO2019/public/ws?method=getNbFicheFrais&arg1=CR
Résultat retourné :

COMPÉTENCES DU RÉFÉRENTIEL
- A1.1.1 Analyse du cahier des charges d’un service à produire
- Analyse du cahier des charges fournis
- A1.2.5 Définition des niveaux d’habilitation associés à un service
- Mise en place de la liste de contrôle d’accès (ACL)
- A4.1.2 Conception ou adaptation de l’interface utilisateur d’une solution applicative
- Mise en place des formulaires (Zend Form, Zend Validator)
- A4.1.3 Conception ou adaptation d’une base de données
- Mise en place de la base de données GSB
- A4.1.6 Gestion d’environnements de développement et de test
- Netbeans (notamment FromScratch + ZendTool)
- A4.1.7 Développement, utilisation ou adaptation de composants logiciels
- Classes héritant des classes Zend (POO)
- A5.2.4 Étude d‘une technologie, d’un composant, d’un outil ou d’une méthode
- Découverte de ZendFramework