Aller au contenu

Évolutions infrastructure S/R et application web

Compétences viséesB1.1 Gérer le patrimoine informatique
B1.2 Répondre aux incidents et aux demandes d’assistance et d’évolution
B1.4 Travailler en mode projet 
B1.5 Mettre à disposition des utilisateurs un service informatique
Outils  Virtual Box / Visual Studio Code – Services ssh, apache, mysql
Présentation du contexteL’application web de gestion des frais doit être mise en production et validée sur les éléments d’infrastructure du siège social du laboratoire GSB. La version actuelle AppliFrais-v1.0 est uniquement à destination des visiteurs médicaux, qui peuvent consulter l’historique de leurs notes de frais et saisir celle du mois en cours. La validation va se dérouler sur une maquette proche de l’infrastructure réelle système et réseau du siège social du laboratoire GSB. Plusieurs demandes d’évolution concernant cette application web sont également spécifiées et vont constituer la prochaine version AppliFrais-v1.1.   L’objectif de cet atelier est de déployer l’application web de gestion des frais des visiteurs médicaux sur l’infrastructure physique système et réseau du laboratoire GSB, et de réaliser parallèlement des demandes d’évolution applicatives. Les serveurs de l’infrastructure seront des machines virtuelles gérées par VirtualBox. 
Besoins / Missions L’atelier sera mené par des binômes d’étudiants SISR pour l’infrastructure et SLAM pour les demandes d’évolution applicatives. Les étudiants SISR ont pour mission de mettre en place, configurer et tester la maquette proche de l’infrastructure réelle système et réseau du siège social du laboratoire GSB. La version v1.0 de l’application web leur permettra de valider dans un premier temps l’accès des visiteurs médicaux à cette application web hébergée sur le serveur webvislab à partir d’une tablette.  

Les étudiants SLAM prendront en charge une validation succincte de l’application web v1.0 sous xampp de leur poste de développement W10, puis se répartiront les demandes d’évolutions de l’application web pour fournir la version v1.1 qui sera elle-même déployée sur le serveur webvislab pour la validation finale.
Ressources fourniesRessources matérielles : Routeur Cisco 2911 ou 1841 + câble d’alimentation / 4 câbles paires torsadées / 2 câbles console Commutateur Cisco 2911 24 ports + câble d’alimentation Point d’accès Wi-Fi Cisco AIR-LAP1131AG ou LinkSys + câble d’alimentation Tablette ACER 10 pouces ou Samsung 8 pouces / Clé USB Wi-Fi Ressources logicielles OVA : Serveurs virtuels webvislab.ova et labannu.ova obtenus en fin d’AP1-4-GSB-InfraVirtuelle Hôte virtuel Ubuntu Desktop pc02s20.ova obtenu en fin d’AP1-4-GSB-InfraVirtuelle Ou bien les fichiers originaux webvislab.ova, labannu.ova et ud2204.ova Application web AppliFrais-v1.0 : Scripts PHP / scripts SQL Document de spécifications fonctionnelles détaillées GSB-AppliFrais-V1-SpecDetaillees Ressources documentaires : Fiches techniques Ubuntu réseau / Apache / MySql / DHCP sur routeur Cisco / Points d’accès Configuration ssh : Chapitre 1.3 cours Cisco Notions de base sur la commutation, le routage et sans fil Authentification compte Linux par clé RSA et déploiement par commande scp : https://serversforhackers.com/c/ssh-for-easier-deployment
Productions attendues à déposer sur MoodleInfrastructure système et réseau : Liste et répartition des taches sur les 2 étudiants option SISR Infrastructure complète telle que demandée dans le cahier des charges (CDC). Voir ci-dessous. Comptes-rendus de configuration des différents services demandés dans le CDC Documents de tests des différents services demandés dans le CDC Application web : Liste et répartition des taches sur les 2 étudiants option SLAM Schéma relationnel de la base de données Dossier de tests de l’application web AppliFrais-v1.0 sur les 3 fonctionnalités Authentification visiteur, consultation des fiches de frais, saisie fiche de frais du mois courant Sur poste de développement W10, application web AppliFrais-v1.1 intégrant les demandes d’évolution DE01 à DE04 fonctionnelles, fournie sous forme d’archive des scripts PHP et scripts SQL Compte-rendu détaillé des différentes demandes applicatives Validation finale : Fonctionnement opérationnel de l’application web AppliFrais-v1.1 sur le serveur webvislab implanté dans l’infrastructure système et réseau GSB à partir d’un poste client fixe ou mobile du réseau DIR/DSI L’accès à la version v1.0 de l’application web sur webvislab sera toujours possible Portefeuille de compétences mis à jour
Durée3 séances de 4h

Déploiement de l’environnement de développement à l’aide de XAMPP

J’ai tout d’abord lancé les services Apache et MySQL à l’aide de XAMPP

image1

J’ai crée une base de données « gsbfrais » et un utilisateur « userGsb » avec le mot de passe « secret » sur cette base de données possédant tous les droits à l’aide de PhpMyAdmin

Sur cette base de données, j’ai exécuté les trois fichiers SQL suivants :

image2

Ma base de données a bien été importée

image3

J’ai ensuite copié collé le contenu de l’application AppliFrais 1.0 dans htdocs

image4

L’application est dorénavant accessible.

image5

Demande d’évolution DE01

J’ai ajouté une fonction au site internet afin que le mot de passe soit hashé en SHA2 pour plus de sécurité en modifiant la fonction getInfosVisiteur.

J’ai choisi le hashage SHA2 car il est plus sécurisé que les hashages MD5 et SHA1.

image6

Pour tester ma fonction, j’ai créé une table « exemple » en copiant la structure de la table « visiteur » contenant un utilisateur dont le mot de passe est le hash SHA2 256 bits de « mdp »

image7
image8

Je me heurte à une limite de 20 caractères dans la taille du mot de passe qui ne me permet pas de stocker un hash SHA2 qui est représenté par 64 caractères décimaux.

J’ai donc modifié la colonne mdp pour accepter 64 caractères décimaux.

image9

J’ai modifié mon mot de passe pour inclure tous les caractères du hash.

image10

Je peux maintenant me connecter sur mon utilisateur « lvillachane » avec mon mot de passe « mdp »

image11 1
image12 1

Pour migrer la fonction sur l’environnement de validation j’ai supprimé la table « exemple », redéfini la requête de la table getInfosVisiteur sur la table Visiteur, modifié la colonne « mdp » de la table Visiteur pour accepter 64 caractères et fait en sorte que le contenu des mots de passe en clair dans la colonne mdp soit remplacés par leur hash pour tous les utilisateurs.

image13
image14 1

Demande d’évolution DE02

J’ai fait apparaître explicitement le texte Non renseigné lorsque le montant validé est nul.

image15 1
image16 1

J’ai fait afficher le total des montants des éléments hors forfait.

image17 1
image18 1

Demande d’évolution DE03 

Mise au point de la requête SQL permettant d’afficher une ligne par frais, pour un visiteur donné :  

select mois, idEtat, dateModif, nbJustificatifs, montantValide,   

            Etat.libelle as libEtat   

            from  FicheFrais   

            inner join Etat on FicheFrais.idEtat = Etat.id   

            where idVisiteur = :idVisiteur 

Ajout d’un bouton Synthèse des frais permettant d’accéder à l’affichage de l’ensemble des frais du visiteur. 

image

Affichage sur l’application :  

image 1

Ajout d’une méthode getLaSyntheseFrais() dans la classe PdoGsb appelant cette la requête SQL mise au point précédemment. 

image 3

Ajout de la nouvelle action dans le contrôleur c_etatFrais.php.  

image 2

Affichage sur l’application : 

image 6

Il s’agit maintenant d’ajouter une colonne pour le montant total des frais hors-forfait par mois et une colonne pour le montant total des frais forfait par mois. 

Ajout des frais hors-forfait dans la requête SQL. 

image 5

Ajout de la colonne Montant Hors-forfait dans le tableau de synthèse. 

image 4

Affichage sur l’application :  

image 10

On va maintenant ajouter les frais forfait. Le problème est que l’on ne peut pas ajouter les deux montants de frais (forfait et hors-forfait) dans la même requête SQL, car les sommes contenues dans chaque colonne se multiplient entre elles et cela donne des valeurs bien supérieures à ce qui devrait s’afficher. 

Une solution était de créer une vue incluant la requête SQL précédemment mise au point et d’y ajouter une colonne frais forfait et une autre colonne pour les frais engagés. 

Vue créée sur phpMyAdmin :  

image 7

Demande d’évolution DE04 

J’ai ajouté un champ fichier sur la page d’ajout des éléments non forfaitisés. 

image 8
image 9

J’ai modifié ma table SQL “fichefraishorsforfait” pour ajouter un champ “pdf” qui indiquera le nom de fichier des éventuels fichiers PDF liés aux élements hors forfait 

image 11
Étiquettes:

Join the conversation

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *