6 minute read
Scenario d’exécution
from Playdating
by Hanna Isua
Dans cette partie seront expliqués les différents mécanismes du fonctionnement technique du site web.
La page ‘index.php’ est chargée automatiquement lorsque le DNS ‘playdatting’ est saisi dans la barre d’adresse du navigateur. Sachant qu’il y a une vérification de l’existence d’une session à l’aide de la fonction ‘verif_session_var()’, si l’utilisateur est toujours connecté, donc ‘index.php’ redirige automatiquement l’utilisateur vers la page ‘mon_compte.php’ (espace personnel de l’utilisateur). Si après vérification aucune session n’est détectée, l’utilisateur reste sur la page ‘index.php’.
Advertisement
Techniquement parlant, l’attribution des droits dépend de plusieurs conditions, elles-mêmes dépendent de la vérification de la session en cours.
L’utilisateur non connecté a la possibilité de consulter les différentes informations situées dans le pied de page (A propos, Vos questions sur le playdatting, Conditions Générales d’utilisation, Les avantages du playdatting, etc.). Sur ces pages il n’y a aucun contrôle de session (accès libre).
Pour pouvoir bénéficier de tous les services offerts par le site de playdatting, l’utilisateur doit se connecter. Si c’est sa première visite du site, il devra d’abord s’inscrire sur le site. Une fois sur la page ‘index. PHP’, l’utilisateur saisit son nom, prénom, date de naissance, login, mot de passe, ville, numéro de téléphone et l’age. Ce formulaire est contrôlé par PHP et JavaScript, derrière chaque `input` il y a une fonction qui vérifie l’exactitude du format d’insertion :
• verifNom() : vérifie l’insertion et l’exactitude du nom
• verifPrenom() : vérifie l’insertion et l’exactitude du prénom
• verifMail() : vérifie l’insertion et l’exactitude du mail
• mailexist($mail) : vérifie la non-existence du mail dans la base de données
• verificationDuUserName() : fait appel à la fonction mailexist($mail) pour la vérification de la non-existence du mail
• verifPhone() : vérifie l’insertion et l’exactitude du numéro de téléphone
• verifMotDePass() : vérifie que les deux mots passe saisis sont identiques et qu’ils contiennent au moins 8 caractères
• verifAdress() : vérifie l’insertion et l’exactitude du nom d’une ville
• verifAge() : vérifie l’insertion et l’exactitude du numéro de l’age
• Insertion() : la fonction chargée d’insérer les données saisies dans la base de données ainsi que d’envoyer un mail de confirmation d’inscription contenant un lien d’activation de l’espace membre à l’utilisateur.
Si lors de l’inscription l’utilisateur n’a pas renseigné l’un des champs obligatoires, le formulaire se recharge en gardant les valeurs déjà saisies. En cas d’erreur, la page reste bloquée en signalant par un message clair l’erreur. Concernant le champ login, la fonction ‘mailexist($mail)’ se connecte à la base de données et vérifie l’existence du login indiqué par le parent : si c’est bien le cas, l’utilisateur se tient alors informé.
Une fois que le formulaire a bien été rempli, la fonction ‘insertion()’ se charge de créer l’espace personnel de l’utilisateur ainsi que d’envoyer un email contenant un lien d’activation à l’adresse mail indiquée lors de l’inscription.
Si l’utilisateur essaie de se connecter sans avoir activé son compte, un message clair lui est affiché en l’incitant à activer son compte.
Le formulaire de connexion, contrôlé par PHP, permet d’accéder à l’espace membre. Si les identifiants saisis sont corrects, l’utilisateur passe à la page ‘mon-compte.php’, sinon un message clair l’informe de l’erreur survenue.
Dès que l’espace membre a été créé, l’utilisateur peut désormais bénéficier de toutes les fonctionnalités du site.
Rechercher une activité :
La fonction de restriction d’accès aux fonctionnalités de réservation et de contact de le parents Alpha d’une activité est désactivée automatiquement, mais elle vérifie constamment que l’utilisateur est bien connecté, sinon elle l’invite à se connecter. Pour contacter un abonné, le seul moyen est de cliquer sur l’onglet `message` figurant dans la fenêtre affichant les détails d’une annonce (affiché par JavaScript).
Si l’annonce ne provient pas de la part d’un passager, l’utilisateur a la possibilité d’effectuer une réservation. Une alerte JavaScript le tient informé du succès de l’opération, et un email récapitulatif est envoyé aux deux parties (parents alpha et parent).
Une fois la réservation effectuée, le nombre de places d’enfant est automatiquement décrémenté. S’il ne reste plus de places disponibles dans une activité, la fonctionnalité réservation est désactivée et la mention `complet` apparaît sur l’annonce.
Publier un Activité :
Dans cette partie (‘Activite_user_ step_1. php’), l’utilisateur a le choix entre Parent Alpha et Parent. Il est demandé de saisir activité + le lieu, nombre d’enfant, description d’activité. En cliquant sur le bouton « Valider et Passer à l’étape 2 », on récupère la saisie dans des variables de session transportables en pages ‘activite_user_ step_2.php’ et ‘Activite_user_ step_3.php’. Pour chaque valeur saisie par l’utilisateur, il y a des fonctions vérifiant l’exactitude des formats d’insertion des champs :
• ChercheractiviteBdd($Activité) : sélectionne toutes les activités dans la table.
• VerificationGenerale () : la fonction qui vérifie la présence de l’activité saisie dans la base de données en faisant appel à la fonction ‘chercherActiviteBdd($Activité)’. Elle vérifie aussi le format de saisie du nom de l’activité ainsi que des lieux et la date. En cas d’erreur de saisie, un message clair informe l’utilisateur.
• Dans la page ‘Activite_user_ step_2.php’, si l’utilisateur ne passe pas par la page ‘Activite_user_ step_1.php’, une redirection automatique le renvoie à l’étape précédente (vérification des variables de session). Il y a deux cas de figure possibles :
• Parents Alpha : il est donne de renseigner la date de l’activité, l’heure , le nombre de places d’enfants ainsi que les préférences du Activité. La fonction ‘vérification()’ s’assure de la bonne saisie, sinon en cas d’erreur un message clair est affiché demandant de bien renseigner les champs concernés.
• Parents : il est demandé de renseigner juste la date de l’activité et l’heure de commencement.
La fonction ‘vérification()’ s’assure de la bonne saisie, sinon en cas d’erreur un message clair est affiché demandant de bien renseigner les champs concernés.
Si tout va bien, une redirection vers la page ‘Activite_user_ step_3.php’ est effectuée après avoir cliqué sur le bouton ‘Valider et passer à l’étape 3’. Dans la page ‘Activite_ user_ step_3.php’, si l’utilisateur ne passe pas par ‘Activite_user_ step_2.php’, une redirection automatique le renvoie à l’étape précédente (vérification des variables de session). A ce stade, les variables de session correspondant au dépôt d’un Activité sont vidées pour permettre une nouvelle proposition d’Activité.
Mon profil :
Dans cette partie du site (‘profil.php’), il y a 2 fonctionnalités pour le moment :
Mes informations générales (‘index.php’).:
l’utilisateur peut modifier son nom, prénom, date de naissance et son numéro de téléphone (tous les champs sauf son login) qui sont sous les mêmes vérifications que les champs du formulaire d’inscription de la page ‘Form_inscription’ . Après validation les champs dont les valeurs ont été modifiées sont mises à jour dans la base de données à l’aide de la fonction ‘modfication()’.
Mes annonces :
Cette page (‘annonces.php’) affiche l’historique des annonces sous forme de tableau: type d’annonce (Parent Alpha/parent), activite, lieu, date, heure, nombre de places réservées . Tout cela grâce à une fonction récupérant à partir d’une requête SQL les informations ci-dessus. Si l’utilisateur n’a publié aucune annonce, « aucune annonce » est affiché.
Mes réservations :
Cette page (‘reservation.php’) affiche l’historique des annonces sous forme de tableau : Nom _activité, lieu, date, heure, nom du parent Alpha. Tout cela grâce à une fonction récupérant à partir d’une requête SQL les informations ci-dessus. Et si l’utilisateur n’a effectué aucune réservation, « aucune réservation » est affiché.