Nous nous plaçons désormais dans le cadre d'une
application pédagogique. L'objectif est de créer un petit programme
éducatif. Nous allons donc appliquer une méthode de conception
générique (telle qu'on nous l'enseigne dans le cours STAF 16). Il y a
cependant une contrainte : celle de construire une application de type
questionnaire. L'objectif général est l'apprentissage de deux notions
de la langue anglaise (le comparatif double et les exclamatifs). Les
activités qui seront proposées dans ce cadre consisteront à traduire
des phrases et à choisir une bonne réponse parmi une liste de
propositions. Si l'on se réfère à une taxonomie d'objectifs
telle que celle de D'Hainaut (1986), on peut distinguer trois
composantes : l'objet (la grammaire anglaise), le produit de
l'activité (les choix de phrases et les traductions) et
l'opérateur de cette transformation (les règles de
grammaire). Les opérations cognitives demandées à
l'apprenant relèveront alors de l'application (la mise en
oeuvre d'un principe appris antérieurement). Ce genre de
programme pourrait s'adresser à des enfants apprenant la langue
anglaise, et qui serait par ailleurs assez autonome avec un
environnement informatique. Au niveau du scénario
pédagogique, l'application débute avec un court texte
présentant les règles de grammaire concernant les deux
notions traités (le comparatif double et les exclamatifs). Au
cours de cette présentation, l'apprenant est invité
(mais pas obligé) à essayer de traduire quelques exemples (on
lui fournit alors un feedback immé pour qu'il puisse
s'évaluer). Ensuite, on lui propose un questionnaire fait de
dix questions (avec lesquelles il est évalué).
Bien sûr, ce petit cours et les questions ont
été élaborés intuitivement à partir de mes
cours d'anglais. Il n'y a aucune recherche didactique sur la
discipline. En effet, les questions sont très proches des
exemples (le transfert est donc trés
facile). L'
intérêt ici est
double :
- découvrir les possibilités de Javascript pour
produire des interactions avec l'utilisateur sur le web puisque
c'est l'avenir de cette technologie (Nielsen, 2000 entre autres).
- inscrire cela dans un contexte "pédagogique" comme
on nous l'enseigne par ailleurs à Tecfa
Pour réaliser ce petit projet, j'ai d'abord
conçu la page d'accueil welcome.html qui reçoit l'utilisateur avec un
prompt lui demandant son nom et lui souhaitant la bienvenue. Cette
page propose les rappels de cours et demande à l'apprenant de traduire
quelques exemples. J'ai utilisé ici deux fonctions Javascript,
l'une appelant l'autre : une fonction teste la validité de la
réponse (et si l'utilisateur a bien rempli le champs à valider)
et donne un feedback immédiat en utilisant l'autre fonction qui
ouvre une nouvelle fenêtre. Au niveau du code, j'ai
utilisé une solution pas très propre : celle
d'écrire pour chaque traduction à effectuer une fonction qui
teste la validité. Ce qui fait que pour 7 phrases, il y a 7
fonctions test. Il aurait été plus intéressant
(mais je n'y suis pas parvenu) de tout réunir dans une seule
fonction.
En ce qui concerne la deuxième partie (le questionnaire
proprement dit), j'ai fait un formulaire en html avec des
entrées textes et radio. Le traitement des entrées
textes par Javascript est très sommaire : la réponse
n'est juste que si elle est exactement conforme à celle attendue. Je
pense qu'en utilisant des expressions régulières il sera
possible d'ajouter un peu de modularité à tout cela (laisser
l'utilisateur pouvoir faire des erreurs sur les majuscules notamment
ou quelques fautes d'orthographe). Pour faire le traitement avec
Javascript j'utilise une fonction qui analyse une à une toutes les
réponses données puis qui prend un sous-programme pour
l'affichage du feedback et du score dans une nouvelle
fenêtre. Il y a vérification que les champs ont
été remplis (mais on le signale pas à l'apprenant tout
de suite : ce peut être volontaire : il ne connait peut
être pas la réponse). J'ai suivi les recommendations
ergonomiques que l'on appris dans STAF12 (et notemment Carneson et
al. ???) : répétition des questions, indication de la
validité de la réponse... Il est vrai que l'utilisation
majoritaire d'entrée texte est contestable dans la situation
présente : puisque les utilisateurs sont censés
débuter en anglais, il ne peuvent connaitre tout le vocabulaire
et ainsi faire des erreurs sur d'autres aspects. Il y a donc un biais
: on ne mesure pas les aptitudes grammaticales des apprenants sur les
deux notions présentées mais quelque chose de plus
général (tenant compte du vocabulaire notamment). Il
aurait été plus logique d'utiliser des checkbox et plus
de radiobutton à la manière d'un véritable qcm. Une
dernière critique ergonomique vient du fait que les feedbacks
sont un peu trop basiques : il serait intéressant d'expliquer à
l'apprenant pourquoi telle forme de grammaire ne convient pas avec
telle phrase. C'est un probleme plutot didactique (il aurait fallu
étudier un peu le domaine).
Ce petit module de cours est en
fait un modèle que l'on pourrait étendre avec plus de questions et une
recherche didactique derrière.
Un autre problème vient du fait qu'avec Javascript,
l'utilisateur peut lire les réponses dans le code, cependant il
aurait pu être possible de placer le ceode dans un fichier .js
externe. Au niveau technique, tout a été réalisé avec Emacs (en
partie sous Linux et sous Windows 2000). J'ai testé le questionnaire
sur plusieurs configurations (Unix, Linux, MacOs et Win) avec des
browsers différents (Netscape 4.5, 4.7 , 6, IE 4.5). Seul Netscape 4.5
posait le plus de problème. Il semblerait que ces problèmes étaient
dus aux accents... (je les ai corrigés) J'ai utilisé le
debugger de Netscape qui est pratique pour la détection d'erreurs.