STAF 14 - Exercice 4 - Rapport de Luis Gonzalez

quiz en Javascript | homepage | page travaux | E-mail

Professeur : Daniel Schneider - Assistante : Vivian Synteta


Rapport sur mon quiz en Javasript

Quiz

Objectifs de la réalisation

Comme c'est la première fois que je travaille avec Javascript, je me suis fixé comme objectifs de me familiariser avec le minimum nécessaire de connaissances pour réaliser un questionnaire avec divers moyens de sélection. Au niveau du projet, dans un premier temps, j'avais prévu de réaliser un dispositif avec du matériel scolaire, une sorte d'appui pour des élèves en difficultés. Cependant, ne disposant pas du temps nécessaire au développement du matériel pédagogique, j'ai opté pour l'utilisation d'un matériel déjà existant, mon quiz en PHP (en plus, je sais qu'il est bon au niveau de l'instructional design), ce qui m'a permis de me concentrer exclusivement sur le développement de mes connaissances en Javascript.
Néanmoins, je voulais que l'apparence de la page du questionnaire et de son feed-back associé soient semblables et aussi qu'il soit possible de tester le quiz avec les browsers les plus utilisés (Internet Explorer, Netscapte & Mozilla).

Analyse des besoins

Pour m'aider à réaliser ce dispositif, j'ai pris connaissance des documents distribués au cours (Introduction à Javascript), ce qui m'a permis de construire déjà une petite base de connaissances. Mais, comme ce n'était pas suffisant pour mener à bien mon projet, j'ai consulté d'anciens travaux et de la littérature sur le sujet (voir références).
C'est essentiellement les variables et leur traitement qui m'ont obligé à creuser un peu plus pour réussir à mieux comprendre la logique de la programmation Javascript. J'ai utilisé AceHTML5 pour la construction du dispositif.

Design

De manière générale, comme je l'ai mentionné plus haut, je voulais que la présentation ne change pas entre le quiz en PHP et celui en Javascript.  Je me suis donc efforcé, malgré certaines difficultés, de reproduire fidèlement la forme. Cependant, j'ai ajouté des fenêtres (alert) qui souhaite la  bienvenue aux visiteurs lorsque l'on arrive sur le quiz et aussi lorsque le visiteur ne rempli pas le formulaire en entier (à part la zone de saisie du nom et celle de la question bonus qu'il ne semblait pas nécessaire de remplir. En effet, j'ai constaté sur la page où sont regroupés les scores pour le quiz en PHP que très peu de personnes entrent leur nom, donc j'ai considéré qu'il valait mieux ne pas insister sur cet aspect. J'ai d'ailleurs prévu un feed-back qui tient compte de la présence ou de la non-présence du nom du visiteur. Quant à la question bonus, comme son nom l'indique, c'est un bonus donc libre à l'utilisateur de remplir ou non cet espace. Je n'ai pas voulu créer trop de ces fenêtre d'alerte parce qu'il me semble que c'est assez vite agaçant. Il me semble que c'est un bon moyen d'attirer l'attention de manière ponctuelle, mais il ne faut pas en abuser.
J'ai réussi à tenir les objectifs que je m'étais fixé, puisque l'apparence est effectivement la même. Cependant, j'ai hésité à changer la forme des questions 5 à 7, car les menus déroulant à choix sont plus difficiles à gérer pour la gestion des variables. Pourtant, j'ai gardé la présentation d'origine, malgré un problème lié à ces trois questions qui me semble empêcher, soit partiellement (les feed-back de ces questions) l'affichage de la page ou l'entier du feed-back dans Netscape. Il n'y a en revanche aucun problème d'affichage avec Internet Explorer et Mozilla.

Commentaires

Je suis satisfait de m'être concentré sur l'aspect technique, car je pense que je n'aurais pas eu assez de temps pour réaliser un dispositif qui me satisfasse vraiment au niveau technique. J'aurais pu créer une fenêtre par feed-back pour chaque question, mais j'avais envie de conserver la vision de l'ensemble des questions et le détail des points obtenus et le total réalisé. Pour améliorer encore davantage les feed-back, j'aurai pu créer un bouton qui donne des renseignements sur chaque auteur (origine de l'auteur, détails sur les personnages, bibliographie, collaborations, etc).

Difficultés

Je n'ai pas rencontré de nombreux problèmes, mais il m'a fallu beaucoup de temps pour parvenir à les résoudre. Tout d'abord, comme je l'ai déjà mentionné, l'utilisation des variables est assez différente de celle de PHP, surtout pour les menus déroulant et les entrées textes. Le livre de Hofmann a été très utile pour comprendre la logique sous-jacente. J'ai eu de la difficulté à comprendre comment s'organisait les valeurs (en tableau, si j'ai bien compris) et aussi comment il fallait nommer ces variables pour faire ressortir la valeur correspondante désirée.
Autre exemple, j'ai mis beaucoup (trop) de temps à réaliser que le score total ne s'affichait pas normalement parce que j'avais donné à la valeur de chaque score une forme texte en mettant la valeur entre guillemet et donc il affichait le score comme une suite de 1 et de 0.
Par contre, j'ai fait bien attention de ne pas me tromper dans l'ordre d'appel des variables. Par exemple, pour calculer le total du score, il faut impérativement calculer le score de chaque question individuellement. Ou aussi, je mentionne le score réel lorsqu'il est supérieur à 10, mais c'est bien la valeur de 10 qui est indiquée dans la rubrique total.

Réflexions

Il me semble que ce quiz est un peu plus abouti que celui réalisé en PHP. En effet, j'ai tenu compte des critiques qui m'ont été adressées. J'ai prévu que les utilisateurs puissent ne pas répondre à toutes les questions. Ma solution consiste à les obliger de faire un choix partout afin qu'ils puissent obtenir le feed-back. Je pense ainsi avoir prévu toutes les possibilités ; il ne peut donc pas y avoir de feed-back erroné comme cela pouvait être le cas dans l'autre travail.

Références

Hofmann, A. (2001). JavaScript. Paris : Edition Data Becker.
Vander Veer, E. A. (1997). JavaScript pour les nuls. Paris : Edition SYBEX.


Réalisation : Luis Gonzalez | homepage | page travaux | Quiz | haut de la page

Dernière mise à jour : 17.04.02