RUCKSTUHL Sylvain 

 
Dernière mise à jour le : 

 

Rapport exercice 2 STAF 14

Questionnaire avec PHP

Objectif du quiz / Construction du quiz / Difficultés rencontrées / Quiz
 
Objectif du quiz
Je n'avais jusqu'alors jamais vu du code PHP et des codes HTML qui permettent de réaliser des pages dynamiques. Le premier objectif que je me suis fixé, a donc été celui de me familiariser avec ces nouveaux tags, avec les variables et avec la synthaxe PHP. J'ai dans un premier temps construit un questionnaire de géographie (le thème m'importait peu) et créé quelques questions et un système de calcul très élémentaires.

Après avoir passé de nombreuses heures à comprendre le fonctionnement des variables PHP, je me suis fixé de nouveaux objectifs :
 


 
Construction du quiz

Le thème du quiz (la géographie mondiale) paraît peut-être bateau, mais ceci m'a permis de me consacrer moins de temps au contenu des questions et ainsi permis de consacrer plus de temps à la forme du quiz et au système de calcul.

En ce qui concerne le quiz du Level 1 et le quiz du Level 2, j'ai utilisé les boutons "radio", car leur utilisation est pertinente questions n'ayant qu'une seule bonne réponse. Je n'avais donc pas besoin des boutons "check box" et de leurs fonctionnalités. Pour le quiz du Level 3, j'ai utilisé les boutons "menu déroulant" pour changer et non par souci pédagogique. J'ai donc appris à utiliser 4 sortes de boutons : 

  • radio
  • menu déroulant
  • entrée de texte
  • submit
1)  Respecter la théorie de P. Dillenbourg

Je me suis ensuite efforcé de respecter certaines règles dans le choix des différentes réponses proposées. En effet, j'ai évité des réponses irréalistes car "les propositions erronées mais implausibles ne jouent pas leur rôle de distracteur" (P. Dillenbourg). Par exemple, à une question demandant quelle est la capitale de l'Ethiopie, il faut éviter de proposer Genève ou Paris et proposer plutôt des capitales africaines. J'ai également évité de placer systématiquement la réponse correcte à une question difficile en deuxième position (choix habituel des concepteurs de quiz). Pierre Dillenbourg propose, afin de remédier à cela, de placer aléatoirement les solutions.

2) Passage d'un niveau du quiz à un autre

J'ai essayé de rendre original ce quiz en permettant le passage d'un niveau à l'autre selon le score obtenu.
J'ai, pour réaliser ceci, inséré un lien dans le feedback de la feuille de calcul :

 if ($moyenne > 80) {
echo "Bravo $prenom, vous avez maintenant la possibilité de vous attaquer au Level 2 qui est un questionnaire un peu plus difficile. Il vous faut répondre correctement à plus de 75 % des questions afin de passer au Level 3. Bonne chance.<br><br><h2><a href=\"welcome2.php\">menu</a></h2>"; 
}


3) Demander une seule fois le prénom et l'utiliser sur plusieurs pages et dans plusieurs feedbacks

Utiliser le prénom inscrit à la première page sur toutes les autres est une chose qui est loin d'être évidente à réaliser pour un néophyte. J'y suis parvenu en demandant de l'aide et des explications à Roberto Presedo, moniteur informatique. Grâce à son aide j'ai pu effectué cette opération me permettant d'utilsier une variable sur des pages différentes. Pour cela, il m'a fallu inséré un lien caché sur les pages du Level 2 et du Level 3 :

  <input type="hidden" name="prenom" value="<?echo "$prenom";?>">

et utilisé le code suivant à l'intérieur des "echo" de chaque feedback :

if ($moyenne > 80) {
echo "Bravo $prenom, vous avez maintenant la possibilité de vous attaquer au Level 2 qui est un questionnaire un peu plus difficile. Il vous faut répondre correctement à plus de 75 % des questions afin de passer au Level 3. Bonne chance.<br><br><h2><a href=\"welcome2.php?prenom=$prenom\">menu</a></h2>"; 
}

Enfin, vous avez dû remarquer que ce questionnaire n'a pas de visée pédagogique. Il doit être vu uniquement comme un outil ludique. C'est pourquoi, dans les feedbacks, aucune solution n'est fournie. De plus, comme seul le score compte, il m'a fallu trouver une solution pour que les utilisateurs ne trouvent pas les bonnes réponses en allant regarder la source de la page. En effet, dans la source de la page, on peut voir les réponses si le concepteur a utilisé les valeur "1" et "0" pour définir les bonnes et les mauvaises réponses. J'ai donc utilisé les nombres "1", "2" et "3" afin d'éviter ceci. Par contre, j'ai dû définir les bonnes et les mauvaises réponses dans la feuille de calcul.
 

 
Difficultés rencontrées

J'ai rencontré de nombreuses difficultés avec la synthaxe de PHP, comme avec le "$" des variables que j'ai souvent oubliées et dont l'absence est très dure à remarquer pour un néophyte.

Mais la plus garnde difficulté a été la compréhension et l'utilisation du code a inséré dans les liens pour faire passer une variable d'une page à une autre. Premièrement, je n'avais pas compris qu'il fallait modifier le format de mes pages HTML en PHP pour que cela fonctionne. Ensuite, insérer ce code à l'intérieur du tag <a> qui est lui-même à l'intérireur de "echo" était de loin pas facile. 

 
Solutions des quiz

Pour vous éviter de perdre trop de temps sur les quiz, je vous donne ci-dessus les réponses. Je ne doute absolument pas de vos connaissances géographiques, mais les questions étant tellement tirées par les cheveux (en effet il fallait que je réalise des questions difficiles afin de créer des niveaux) que vous risquez de perdre patience avant d'arriver au terme des quiz.
 
 

Level 1
Question 
Réponse 
1) 
2) 
3) 
4) 
5) 
6) 
7) 
8) 
9) 
10) 
11) 
12) 

 
 
Level 2
Question 
Réponse 
1) 
2) 
3) 
4) 
5) 
6) 
7) 
8) 
9) 
10) 
11) 
12) 

 
 
Level 3
Question 
Réponse 
1) 
2) 
3) 
4) 
5) 
6) 
7) 
8) 
9) 
10) 
11) 
12)