Je pose le problème :
Je dois coder un système de quiz pour un site d'éducation. Le système doit permettre à l'admin de :
Côté User final (l'apprenant qui passerale quiz), les résultats des tests qu'il passe devront être implémenté sur son profil (Id du quizz, points obtenus, score en %, ...)
Je vois 3 solutions classiques :
1 / PHP
2/ PHP+Ajax
3/ Tout Javasript (ou Jquery) lorsque l'utlisateur final passe le quiz et transmission au serveur à la fin du quizz
questions :
Premièrement si quelqu'un a déjà mis en place ce genre de système ou si vous y avez un peu réfléchi, avez-vous des préconisations en matière de solutions pour ce genre d'app web ? (organisation des tables en BDD, solution optimale, etc...)
Un bon exemple est le site W3C qui fait des quizs sur les langages. Ce genre de résultat est à peu près celui que je souhaite côté front.
Par exemple : http://www.w3schools.com/quiztest/quiztest.asp?qtest=jQuery
Pour moi il faut enregistrer les réponses dans un tableau javascript, les transmettrent à php en ajax et renvoyer une réponse toujours en ajax.
Pour l'organisation de la table je verais bien 2 tables une contenant l'id et le nom du quizz et une deuxième contenant l'id du quizz les questions et les réponses.
Dans ce cas, moi je partirais sur du PHP+JavaScript uniquement. Je pense que moi, je mettrais en place un truc du style :
Bonsoir, ton utilisateur final saura s'il a répondu correctement après chaque question ou seulement quand il arrivera à la fin du quiz ?
je me tournerais plutôt vers du Php/Ajax pour une question d'accesibilité, même si le Javascript est de plus en plus répandu.
Après je pense que c'est plutot une question de tes préférences a toi, parce que quoi que tu utilise de ce que tu as proposé le résultats en sera presque identique en terme de fonctionnalités.
Oui c'est une bonne solution skp, j'ai juste une appréhension sur la sécurité, la possibilité de triche. A partir du moment où j'envoie les données seulement à la fin du quiz, pendant on peut les modifier.
Pour des quiz à visée "ludique" ça ne m'aurait pas posé de pb. Pour des quiz sur un système d'éducation, qui permet de certifier un apprenant, ça m'en pose un peu plus :)
Je vais tenter de regarder comment pratiquent les sites d'éducation qui ont intégré un système d'évaluation type quiz.
Tricher de quelles façons ? Aller chercher la réponse sur google ? Qu'il le fasse au moment de la question ou après ça revient au même non ? Dans ton cas, un utilisateur qui se rend compte qu'il a fait faux ne pourra pas revenir sur une question, ou encore s'il ne sait pas la réponse il sera forcé de répondre pour passer à la suivante, au lieu de passer à la suivante et revenir plus tard dessus. Après, c'est peut-être ce que tu recherches.
Moi je peux te donner un exemple, mais pas sûr que tu puisses le vérifier. Au cours de ma formation, j'ai suivi les cursus Cisco CCNA 1 à 4. Pour chaque chapitre et fin de cursus des QCM sont proposés. Ces QCM ont la forme de l'exemple que je t'ai donné.
Tu as raison skp. J'ai juste le réflexe des données JS qui peuvent toujours être interceptées avant envoi. Dans ce cas, ça ne sert effectivement à rien de prendre ça en compte. Merci pour l'exemple du cursus Cisco et leur façon de faire. Je pense que je vais me diriger vers ça, c'est ce qui me semble le plus pratique et le plus logique à coder.