|
|
6 years ago | |
|---|---|---|
| .. | ||
| ParcInfo | 6 years ago | |
| demo | 6 years ago | |
| Preparation.md | 6 years ago | |
| README.md | 6 years ago | |
| init_db.sql | 6 years ago | |
La startup dans laquelle vous venez d'être recruté s'agrandit et il devient primordial de mettre en place une gestion mutualisée du parc informatique. C'est en partie pour vos compétences en développement web que vous avez tapé dans l'œil de votre chef de projet : votre première mission consiste à concevoir une application back-end (partie serveur) Lumen avec un front-end (site web) minimaliste pour la gestion du parc informatique, répondant au cahier des charges qui suit.
Le modèle de données utilisé doit être composé des 3 tables suivantes :
Users : login (varchar,255), password (varchar,255)`Postes : id (int,11), salle (int,3), os (varchar,255)`Reservations : id (int,11), user_id (varchar,255), poste_id (int,11), date_debut (date), date_fin (date), est_root (tinyint,1)`Dans la table Users :
login est la clé primaire et unique de la table UsersDans la table Reservations :
user_id et poste_id sont des clés étrangères référençant les colonnes login et id des tables Users et Postes.est_root est un booléen indiquant si l'utilisateur est administrateur ou non.date_debut et date_fin définissent la période sur laquelle un utilisateur est autorisé à utiliser un poste.est_root, le type (tinyint,1) est identique à un booléenLe fichier init_db.sql contient un script SQL permettant de créer ces tables avec leurs contraintes et des enregistrements. Il doit être importé dans PhpMyAdmin selon les indications ci-dessous.
Exécutez la commande le git pull prof master pour récupérer le répertoire TP_note qui contient :
ParcInfo/ : le répertoire contenant le framework lumen de base.init_db.sql : le script d'initialisation de la base de donnéesREADME.md : l'énoncé du TP noté que vous êtes en train de lire.Importez la base de données dans PhpMyAdmin :
ParcInfo depuis http://ss4s.iutrs.unistra.frParcInfo et le script init_db.sql comme fichier à importer.Modifiez le fichier ParcInfo/.env avec vos informations de connexion à la base de données.
Copiez-collez le répertoire vendor de l'un de vos projet Lumen, ainsi que tous les autres fichiers que vous voulez.
Votre environnement est prêt.
Un site d'exemple est accessible ici : attention, tous les liens et les boutons d'envoi de formulaires sont de simples appels à des pages HTML statiques. Les actions d'ajout, de suppression et de modification son inopérantes. Pas besoin de compte pour se connecter et naviguer.
Note: Au moment de la connexion, c'est le nom de l'utilisateur qui est enregistré dans une variable de session et qui pourra (devra) être réutilisée lors de la gestion des postes.
Les fonctionnalités de gestion du parc informatique doivent uniquement être réalisables si l'utilisateur est connecté. Un utilisateur connecté doit pouvoir :
Lister tous les postes informatiques avec pour chacun son id, sa salle et l'OS installé.
Ajouter un nouveau poste informatique en indiquant :
<input> de type number)<select> contenant 4 <option> : Ubuntu, Debian, MacOS, et Windows)Supprimer un poste depuis la page listant tous les postes, avec un lien spécifique pour chaque poste.
Lister toutes les réservations avec le n° de poste concerné, l'id de l'utilisateur concerné (qui peut être présent dans les varaibles de session), les dates de début et de fin, et si l'utilisateur aura les droits d'administration.
Réserver un poste pour soi en indiquant :
input de type number)input de type date)input de type number)<select> contenant 2 <option> : admin ou user)Supprimer une réservation depuis la page listant toutes les réservations avec un lien différent pour chaque réservation
Visualiser toutes les réservations liées à un poste donné depuis la page listant tous les postes, avec un lien spécifique ajouté au niveau de chaque poste.
Lister toutes mes réservations.
Indication : Les champs de type
datedoivent être traitée comme une chaîne de caractères au format YYYY-MM-DD lors de la construction de la requête. Il se trouve que c'est dans ce format qu'un élément HTML input de type "date" formate la date lors la soumission du formulaire.