TP NOTÉ SERVEUR

Description du sujet

Nous désirons créer un site web appelé << Ma salle de sport >>, permettant à un utilisateur de reserver des cours de sports.

Il y a 3 types d’utilisateurs :

  • Les adhérents
  • Les profs de sports
  • Un administrateur

Les adhérents peuvent réaliser n’importe quel sport. Un prof de sport peut enseigner 2 sports.

Partie 1 - L’administrateur

Formulaire 1 : ajouter un prof

  1. Créer la page ajouterProf.php contenant le formulaire suivant :

    • un champ pour le nom du prof
    • un champ pour le prénom du prof
    • un champ pour la date d’embauche

Les informations du formulaire devront être envoyées à la page enregistrerProf.php

  1. Créer la page enregistrerProf.php permettant d’enregistrer le contenu du formulaire dans un fichier infoProfs.csv. Cette page doit :

    • Afficher la liste des profs déjà enregistrés
    • Contenir un lien permettant de revenir à la page précédente
    • Générer un login pour le prof. Le login doit être réalisé avec la première lettre du prénom et l’ensemble de son nom de famille. attention : il faudra vérifier dans le fichier s’il n’y a pas déjà un un homonyme. S’il y a un homonyme rajouter un numéro aléatoire après la génération du login.
    • Générer un mot de passe aléatoire pour le prof. attention les mots de passes des professeurs devront être encodés en md5
    • Enregistrer les informations du professeur dans le fichier infoProfs.csv

Voici un exemple du fichier texte pour infoProfs.csv :

Dupont;Gerard;24-02-2015;gdupont;1611292af9e5d66e2d9f8eb8ddc9af1c
Laffite;Thibault;02-02-2020;tlaffite;99c71caeb8b8c2e3d71cbd1bc91c16ae

Formulaire 2 : ajouter un sport

  1. Créer la page ajouterSport.php contenant le formulaire suivant :

    • une liste déroulante contenant le nom des profs enregistrés dans le fichier infoProfs.csv
    • un champ pour le sport 1
    • un champ pour le sport 2

Les informations du formulaire devront être envoyées à la page enregistrerSport.php

  1. Créer la page enregistrerSport.php permettant d’enregistrer le contenu du formulaire dans un fichier profSports.csv. Cette page enregistrerSport.php doit :
    • vérifier si le prof est déjà présent dans le fichier et effacer la ligne correspondante pour mettre les deux sports que réalise le prof
    • afficher le contenu du fichier déjà ajoutés (+le nouveau)
    • contenir un lien permettant de revenir à la page précédente.

Voici un exemple du fichier texte pour profSports.csv :

gdupont;crossfit;step
tlaffite;stretch;yoga

Partie 2 - Les profs de sports

Créer un cours de sport

  1. Créer la page ajouterCours.php contenant le formulaire suivant :
    • un champ pour la date
    • un champ pour le resume
    • un ou plusieurs champs pour indiquer l’adresse de la salle
    • un champ text pour indiquer le sport
    • une liste déroulante avec les pseudos de profs de sports

Les informations du formulaire devront être envoyées à la page enregistrerCours.php

  1. Créer la page enregistrerCours.php permettant d’enregistrer le contenu du formulaire dans un fichier infoCours.csv. Cette page doit :

    • créer un identifiant unique pour le cours (génération aléatoire d’une chaine de caractères). Exemple: ABC1456
    • ajouter le contenu du formulaire au fichier infoCours.csv
    • afficher tout les cours
    • contenir un lien permettant de revenir à la page précédente.

Voici un exemple du fichier texte pour infoCours.csv :

ABC1456;gdupont;10-12-2025;cours permettant de renforcer les adducteurs;24 avenue des fleurs;64 000 Pau;stretch
AZER532;tlaffite;11-12-2025;cours permettant de renforcer le dos;24 avenue des fleurs;64 000 Pau;yoga

Partie 3 - Les visiteurs

Rechercher un cours

  1. Créer la page rechercherCours.php contenant le formulaire suivant un champ text pour entrer le nom du sport

Les informations du formulaire devront être envoyées à la page resultatsRechercheCours.php

  1. Créer la page resultatsRechercheCours.php permettant de rechercher dans le fichier du infoCours.csv le nom du sport. S’il y a une ou plusieurs recherches correspondantes, alors on affiche le résultat de recherche avec un bouton inscription cours en face de chaque résultat. La page devra contenir un lien permettant de revenir à la page précédente.

Inscription à un cours

  1. Créer la page inscriptionCours.php contenant le formulaire suivant :

    • un champ pour le nom
    • un champ pour le prénom
    • un champ pour le numéro de téléphone
    • un champ pour l’age

Les informations du formulaire devront être envoyées à la page enregistrerInscription.php

  1. Créer la page enregistrerInscription.php permettant d’enregistrer le contenu du formulaire précédent dans le fichier ABC1456-cours.csv La page devra contenir un lien permettant de revenir à la page précédente.

Voici un exemple du fichier texte pour ABC1456-cours.csv :

Taballonne;Xabi;05 54 65 21 23; 45
Martin;Simon;07 44 65 77 22; 24

Partie 4 - la page de connexion

L’authentification

  1. Créer la page connexion.php contenant le formualaire suivant :
  • un champ pour le login
  • un champ pour le mot de passe

Les informations du formulaire devront être envoyées à la page verifierConnexion.php

  1. Créer la page verifierConnexion.php.
    • si l’utilisateur est enregistré dans le fichier infoProfs.csv, alors redirigez l’utilisateur vers la page accueil.php avec le menu suivant : ajouter un cours

    • si l’utilisateur est entre le login admin et le mot de passe admin, alors redirigez l’utilisateur vers la page accueil.php avec le menu suivant : ajouter un prof et ajouter un sport

    • si l’autentification de l’utilisateur est éroné, alors redirigez l’utilisateur vers la page connexion.php

Partie 5 - Le menu

En tant que visiteur

  • rechercher un cours
  • connexion

En tant que prof

  • accueil
  • ajouter un cours
  • deconnexion

En tant que admin

  • accueil
  • ajouter un sport
  • ajouter un prof
  • deconnexion

Bonus

  1. Donnez la possibilité à l’administrateur de modifier et supprimer un prof
  2. Ajouter la possibilité à un prof de voir qui qui s’est inscrit à ses cours
  3. Autres : selon votre immagination !

Consignes

logo

  • Les rendus se feront dans la classe TEAMS prévue à cet effet => ici
  • Les rendus par mails ne seront pas acceptés !
  • Deadline : dimanche 12 mai 23h59min
  • Le rendu de ce TP est un travail personnel. En plus d’une pénalité au niveau de la note qui sera de 0, une procédure de gestion des fraudes à un examen pourra être envisagée.
  • Aucune question ne pourra être posée à l’enseignant. À vous d’interpréter le sujet.
  • Le TP est à réaliser en dehors des heures de cours
  • Vous interprétez le sujet comme vous le souhaitez. Vous pouvez créer le nombre de pages que vous souhaitez.
  • Vous pouvez vous inspirer (fortement conseillé) de ce qu’on a vu en TP.
  • Il faut que vous utilisiez : du javascript, du php, du html et du css.
  • Vous pouvez utiliser du css si vous le souhaitez.

Le barème

à titre indicatif : il pourra évoluer en fonction de la qualité (ou pas) de vos rendus.