Création d Votre mission Création d`un site de sondages e de
Transcription
Création d Votre mission Création d`un site de sondages e de
Travail à la maison : Technologies et programmation web (Laravel) Mohamed Belhassen Création d d’un un site de sondages Le but de cet exercice est de compléter un code pour créer un site de sondages simplifié. Toutes les informations nécessaires pour le faire se trouvent dans la première partie du cours (chapitre 1-9). Votre mission On a chargé Leo de réaliser un site de sondages mais il a dû partir avant de terminer. Votre mission est de finirr son travail. Il a pratiquement terminé le site, mais a laissé le contrôleur SondageController en chantier, vous devrez le compléter pour que le site fonctionne. Comme Leo est consciencieux, il a déjà préparé les méthodes du contrôleur et même ajouté des commentaires explicatifs comme aide mémoire. Télécharger le site commencé par Leo ICI depuis ce lien: https://goo.gl/qoK26m m Fonctionnalités du site Le site propose des sondages aux visiteurs, ceux ceux-ci ci peuvent voter en précisant leur adresse email. Pour qu’ils ne puissent nt voter qu’une seule fois, on mémorise ces adresses. Comme on ne va pas vérifier la réalité des adresses, cette précaution est évidemment un peu factice puisque le visiteur pourra voter plusieurs fois en entrant à chaque fois une autre adresse. Mais on se contentera de ce mécanisme pour le moment, en réservant un traitement plus réaliste pour la mission de la partie 2. L’accueil des sondagess répond à l’URL : .../sondage On obtient alors la liste des sondages disponibles : En cliquant sur un des boutons, on aboutit sur le formulaire qui permet de participer au vote : 1 Travail à la maison : Technologies et programmation web (Laravel) Mohamed Belhassen Pour les URL, on adopte ce principe : .../sondage/vote/nom_sondage La partie nom_sondage identifie de façon unique chaque sondage. Un bouton permet de revenir sur la page d’accueil. Le visiteur entre son adresse email et choisit l’option qu’il veut. On procède à une validation de l’adresse : l’adresse est obligatoire : l’adresse doit être valide : l’adresse ne doit pas avoir déjà été utilisée : 2 Travail à la maison : Technologies et programmation web (Laravel) Mohamed Belhassen Remarque : on exclut cette dernière contrainte du champ de la validation de Laravel et on la traite de façon indépendante pour ne pas trop compliquer le code. Nous verrons dans la deuxième partie du cours comment créer des règles de validation personnalisées. Si tout est correct, le vote est validé et on affiche la page des résultats : Un bouton permet de revenir à l’accueil. Organisation du code Leo a bien travaillé et a bien organisé ses fichiers. Les routes Les 3 routes ont été prévues. Le contrôleur Il utilise un contrôleur nommé SondageController placé dans le dossier des contrôleurs : 3 Travail à la maison : Technologies et programmation web (Laravel) Mohamed Belhassen C’est ce contrôleur que vous devez compléter pour que le site fonctionne correctement. Gestion et validation On a cette architecture pour la gestion : Et une requête de formulaire pour la validation : Leo a écrit tout le code correspon correspondant. Les données Comme nous n’avons pas encore abordé les bases de données dans la première partie du cours nous utilisons des fichiers pour mémoriser les données : 4 Travail à la maison : Technologies et programmation web (Laravel) Mohamed Belhassen Pour chaque sondage on a deux fichiers. Prenons le cas du sondage sur les langages de programmation que nous avons vu ci ci-dessus. dessus. Le nom de ce sondage est langage. L’URL pour le vote est : .../sondage/create/langage Le fichier langage dans le dossier files contient les résultats des votes sous la forme : 4,1,1,2,3 Chaque nombre correspond à une des options. Comme ce sondage comporte 5 options, on a 5 nombres qui s’incrémentent au fil des votes. Le fichier langage_emails contient les adresses email des votants sous la forme suivante : [email protected] [email protected] [email protected] [email protected] [email protected] … Ces fichiers sont créés par le code de gestion lors du premier vote. Donc au départ de l’application, le dossier est vide. Il en est évidemment de même pour le second sondage nommé appreciation. Les informations de définition de la localisation de ces fichiers ainsi que les inti intitulés des questions et des réponses figurent dans un fichier de configuration nommé sondage.php : 5 Travail à la maison : Technologies et programmation web (Laravel) Mohamed Belhassen Leo a aussi écrit le code de ce fichier. Les vues Il y a 4 vues ainsi nommées : template : le template Blade pour les vues, index : pour afficher les sondages disponibles sur la page d’accueil avec les liens, sondage : pour afficher le formulaire de vote, resultats : pour afficher les résultats d’un vote. Là aussi, Leo a déjà fini le travail. Langue Il y a le package Français dans le code de base pour les messages. Fichiers à envoyer Vous devez renvoyer le package complet zippé (sans le dossier “vendor”) avec le contrôleur SondageController complété. Donc le package doit être installable avec composer install. 6