[Home] [Travaux] [Rapport exercice 2]

Rapport Exercice 2

Objectifs et implémentation

Mon objectif pour cet exercice était d'apprendre à faire des formulaires html, de connaitre l'utilisation de base du langage php, et enfin de voir comment construire une interaction simple avec l'utilisateur. Cette interaction apparaît sous la forme d'un quizz évaluatif. Je me suis également intéressé à la récupération des données dans un fichier à part sur le serveur. Le but de ce questionnaire (vu du côté de l'apprenant) est de lire un texte (des rappels de cours), de répondre à quinze questions. La première page permet de mettre l'utilisateur dans le contexte, de lui présenter la matière sur laquelle il va être testè. Il obtiendra une évaluation et une note avec un feedback pour chacune de ses réponses. Il pourra aussi se situer par rapport aux autres grâce à un tableau récapitulant les scores de tous les participants.

Comme mon but pour cet exercice était de comprendre les aspects techniques pour la création d'un questionnaire, je ne me suis peu attardé sur le choix du thème. j'ai choisi de faire un quizz très simple sur l'utilisation des temps dans la langue anglaise et j'ai d'abord construit mes questions et mon formulaire (en html). J'ai choisi un design très simple des pages (rappels, exercices et résultats) pour rester dans l'esprit de ma homepage. Je me suis efforcé de donner une certaine ergonomie au tout, notamment en plaçant des feedbacks pour toutes les réponses, en redonnant les questions et les réponses des apprenants. Afin de découvrir les différentes possibilités d'interaction, j'ai placé plusieurs sortes d'inputs (checkbox, radio buttons, texte, menu...). Ainsi, j'ai pu tester différents scripts php pour faire marcher cela. Du fait de ces interactions différentes, j'espère que ce quizz est plus qu'un simple qcm. Et pour pousser plus en avant, j'avais envie de voir comment marchait les sytémes de fichiers (lecture, écriture) avec php. J'ai trouvé que cela ressemblait beaucoup au C. J'ai donc simplement créé deux fichiers : le premier comptabilise le nombre de participants au test et le second récapitule les scores de chacun. J'aurais aimé faire un script calculant la moyenne générale et la moyenne de chacun mais je n'en ai pas eu le temps. Cette récupération des données apporte une touche d'originalité par rapport à un simple qcm..

Aspects techniques et difficultés

J'ai réalisé tout cela avec xemacs (en partie chez moi, avec linux et son serveur apache et en partie a la salle tecfa). J'ai préféré séparer le code php (qui est bien assez long) du formulaire html. De plus, en cours de route, je me suis apercu qu'il ne fallait pas mettre d'indications quant aux réponses dans le code html du formulaire sinon n'importe qui passant le test pourrait les voir. J'ai tâché de faire un code php propre (malgré sa longueur, j'aurais du prendre le temps de faire des sous-programmes). Mon problème principale est venu des checkbox; l'utilisateur pouvant donner plusieurs réponses, je n'ai pas trouvé de solution propre (au sens du code) pour donner des feedbacks à chaque possibilité. Je me suis donc contenté de mettre des if, ce qui est, je le reconnait, un peu maladroit.
En ce qui concerne la récupération des données, je n'ai pas eu trop de problèmes. J'ai du simplement modifier les permissions sur les fichiers (pour l'enregistrement des données quand n'import qui passe mon test).

Au niveau documentation, je me suis servis des polycopiés tecfa et du manuel php (notamment la traduction de Nexen qui a un glossaire assez utile). J'ai également suivi les conseils de P.Dillenbourg (cours STAF 16) en ce qui concerne la construction de qcm ergonomique et bien fait (bons distracteurs, mettre de bons feedbacks...)

En conclusion, je dirais qu'en ayant déjà des notions de programmation (j'ai des notions en c et java), php est un langage qui s'apprend assez vite (peut être du fait de la syntaxe c-like !) et parait efficace pour les interactions simples comme un quizz.


© N.Nova (Janvier 2001)