Quiz en Ligne
Presentation
Objectif principal : Une plateforme de quiz avec plusieurs categories. Les utilisateurs peuvent jouer aux quiz existants ou creer les leurs. Systeme de score et classement.
Technologies utilisees : PHP pour le backend, MySQL pour stocker les questions et scores, HTML/CSS/JS pour le frontend. Sessions PHP pour l'authentification.
Fonctionnalites cles : Inscription/connexion, quiz par categories, timer par question, scores avec classement global, creation de quiz personnalises, partage de quiz.
Livrables attendus : Site web complet avec base de donnees. Interface admin pour moderer les quiz. Au moins 5 categories de quiz pre-remplies.
Calendrier previsionnel : Trois semaines. Le systeme de creation de quiz par les utilisateurs demande pas mal de validation.
Parties prenantes & criteres de succes : Projet de groupe pour le cours de web. On etait 3, j'ai fait le backend et la BDD.
Le Defi
Empecher la triche. Le timer cote client c'est facile a contourner. Et si on envoie les bonnes reponses au navigateur pour verifier, on peut les voir dans le code source. Fallait tout verifier cote serveur.
La Solution
Les reponses sont verifiees uniquement cote serveur. On stocke le timestamp de debut en session et on verifie que le temps ecoule est coherent. Les bonnes reponses ne sont jamais envoyees au client avant la fin du quiz.
Architecture Technique
Tables MySQL : users, quizzes, questions, answers, scores. PHP avec architecture MVC basique. Controllers pour auth, quiz, admin. Models pour les requetes SQL. Views en PHP/HTML. AJAX pour soumettre les reponses sans recharger la page.
Points Cles
- Systeme anti-triche cote serveur
- Creation de quiz par les utilisateurs
- Classement temps reel
Apercu
Resultats & Apprentissages
On a eu 18/20 au projet. Le site marchait bien avec une centaine de quiz crees par la classe pendant les tests. J'ai appris PHP en profondeur et surtout l'importance de la securite cote serveur.
Evolutions Futures
Mode multijoueur en temps reel avec WebSockets. Badges et achievements. Import de questions depuis des fichiers CSV. API pour integrer les quiz ailleurs.