3. Expériences et perspectives pour EDBA et vis-à-vis d'AJAX pour ...
Prenant son origine avant l'invention du terme AJAX, avec l'introduction 10 ans ...
Pour comparer, la popularité de Java semble beaucoup plus stable sur la même
... aucun ne concernait explicitement la technologie et moins de 5 abordaient le
sujet ..... La base d'exercices comportant plus de 200 exercices, cela signifie ...
Part of the document
AJAX pour EIAH ? Choix technologique pour un EIAH de l'algorithmique : EDBA
Denis Bouhineau* |* Laboratoire d'Informatique de Grenoble (LIG) |
|Université de Grenoble (Grenoble-I, Univ. J. |
|Fourier) |
|Denis.Bouhineau@imag.fr |
RÉSUMÉ. À l'occasion de la réalisation d'un projet d'EIAH de
l'algorithmique (EDBA : Exercises DataBase about Algorithms), le choix de
la technologie support de développement s'est tourné vers AJAX, plus
particulièrement vers une version d'AJAX quasi-uniquement à base de
Javascript, donnant à l'EIAH visé l'aspect d'un client lourd intelligent
permettant des déploiements sous forme d'application web mono-page
s'intégrant facilement à des plateformes d'enseignement type Moodle. Les
raisons de ce choix, les attentes et interrogations a priori, sont exposées
ainsi que les réponses issues des développements d'une première version de
l'application cible. À travers cette expérience, la question de
l'indépendance de la recherche vis-à-vis de la technologie est aussi
évoquée. Quelques retours d'utilisation in vivo de l'application cible par
des étudiants volontaires complètent la proposition pour une validation par
l'exemple.
MOTS-CLÉS : EIAH, Algorithmique, Programmation, Interpréteur, EDBA, AJAX,
Javascript, Php, MySql, Architecture, Développement logiciel, Déploiement,
Plateforme pédagogique, Moodle, Base de données, Base d'exercices, Prolog,
CAML, Diagnostic, Rétroaction, Collaboratif. Introduction L'engouement pour AJAX, Asynchronous Javascript and Xml [Garrett - 05],
c'est-à-dire pour les applications s'exécutant dans les navigateurs, sans
installation d'éléments supplémentaires (plugin), ni installation sur
l'ordinateur d'applications spécifiques, semble ne pas devoir s'arrêter
depuis son lancement en 2005. Prenant son origine avant l'invention du
terme AJAX, avec l'introduction 10 ans auparavant, en 1995, dans les
navigateurs, d'un langage de programmation -Javascript (normalisé sous le
nom d'Ecmascript, avec des variantes, jscript, actionscript, par exemple)-
permettant l'écriture de programmes interprétés et exécutés par le
navigateur lui-même. Le mouvement AJAX a suivi de peu l'ajout d'un objet
logiciel dans les navigateurs, XMLHttpRequest, en 1998, 2002, 2005, selon
les navigateurs pour accéder par programme aux données accessibles sur
internet. Sur la période 1995-2010, la popularité de cette technologie n'a
cessé de croître comme le montrent les diagrammes donnés par Google-
Chronologie. La croissance d'Ajax suit celle, similaire, de Javascript ;
selon une autre source, le maximum de la popularité de Javascript a été
observé en Juin 2009 par l'éditeur de logiciels TIOBE lors de ses études
sur la popularité des langages de programmation [TIOBE]. Pour comparer, la
popularité de Java semble beaucoup plus stable sur la même période
(d'autres exemples peuvent être pris avec Php, ou Perl). L'utilisation
courante de cette technologie par Google et le soutien que ce géant lui
apporte peuvent expliquer une part de ce succès. À en croire certains
prophètes, il semble même que les applications telles qu'on les connait
depuis 20 ans, dites applications de bureau (desktop application), soient
vouées à disparaitre (fsmsh.com/2940), l'avenir étant à la programmation
d'application web ne nécessitant qu'un navigateur pour s'exécuter. Sans
pour autant souscrire à ces prophéties, il est clair que nombre
d'utilisations de l'informatique passent aujourd'hui par le web, en
excluant l'accès à Wikipédia ou aux diverses informations disponibles sur
internet et qui constituaient initialement le web (tout le web !). Citons
entre autres (avec quelques exemples) : l'accès à sa messagerie (via
webmail) ; la gestion courante des bases de données (via PhpMySqlAdmin) ;
la mise à jour des sites web (via Spip) ; la prise de rendez-vous (via
Doodle) ; l'élaboration d'enquêtes (via Sphinx) ainsi que leur passation et
l'analyse des réponses ; l'organisation pédagogique des cours (via Moodle)
ainsi que la réception et la correction des copies ; etc. Certaines
journées de travail semblent ne pas devoir quitter le navigateur de notre
ordinateur ! Nombre de ces applications passent par AJAX et les
technologies du web 2.0, cf. [O'Reilly - 05]. Le domaine des EIAH est peut-être à la pointe de la technologie en
informatique (les technologies numériques de la communication ou les
technologies éducatives ne sont pas l'objet de cet article, le terme
technologie signifiera ici et dans la suite technologie informatique, sous
entendue pour le développement d'EIAH). Si l'on considère AJAX, il semble
au contraire que cette proposition n'ait que peu séduit la communauté des
chercheurs et enseignants. La typologie des applications web reposant sur
AJAX, avec surtout du contenu à lire, une bonne capacité à communiquer via
internet pour acquérir les données nécessaires mais une interactivité
réduite, sommaire vis-à-vis de l'utilisateur et peu d'intelligence, est
peut-être l'une des raisons de ce manque d'utilisation. La question des
technologies informatiques supports des mises en ?uvre n'est pas souvent
abordée dans les articles, citons comme exception [Trgalova et al. - 09],
aussi il est difficile d'affirmer avec certitude qu'AJAX n'est pas utilisé
dans certains EIAH. Sur la période 2003-2010, la revue Sticef a publié un
peu plus de 60 articles, si l'on se réfère aux titres aucun ne concernait
explicitement la technologie et moins de 5 abordaient le sujet dans le
résumé, dont en particulier [Rebai et al. - 05] et quelques rares autres
articles du dossier spécial Conceptions et usages des plates-formes de
formation. La technologie, les termes « Java », « XML », « PHP », sont-ils
des mots tabous qui n'ont pas leur place dans les titres et résumés ? Le
choix d'une technologie n'est-il pas important ? Toutes les technologies
sont-elles équivalentes ? Pour prendre quelques exemples personnels, il me
semble au contraire qu'il y aurait matière à disserter, en considérant
seulement les choix technologiques, sur ces premiers projets auxquels j'ai
participé, entre "GéoSpécif" [Bouhineau - 97], sous mac-OS, nécessitant un
interpréteur spécifique (PrologIII, payant de surcroît, quasiment disparu
depuis) et les travaux entrepris ensuite pour "Aplusix" [Bouhineau - 03]
pour Windows, sous forme d'exécutable autonome distribué librement un temps
sur le web avec installateur et documentation, puis avec une distribution
commerciale (gratuite pour la recherche). À l'occasion de la mise en place d'un nouvel EIAH pour l'algorithmique
(EDBA : Exercises DataBase about Algorithms, [EDBA]) en 2008, une réflexion
sur le choix de la technologie qui allait servir de support aux
développements de l'EIAH a été entreprise. Au lieu d'être considérée comme
une contrainte, ou d'être prise comme un mal nécessaire, il a été décidé
que la technologie support de développement serait l'un des moteurs de la
réflexion et de l'innovation. Outre la technologie, le projet EDBA a des
objectifs pédagogiques tournés vers les apprenants : introduction de la
notion de test/jeux d'essai dans l'apprentissage de l'algorithmique comme
mode de validation et élément d'apprentissage, de suivi et de motivation
des apprenants (en faisant un lien entre la réussite lors de la résolution
d'exercice, la maîtrise algorithmique des apprenants et la difficulté des
exercices, et en accordant aux apprenants des droits pour la rédaction des
exercices semblables à celles que l'on donne habituellement aux
enseignants). D'autres objectifs étaient plus tournés vers les enseignants
ou les chercheurs en didactique de l'algorithmique : accumulation et
structuration de matériel pédagogique, exercices d'algorithmique, sous la
forme d'une base d'exercices, de jeux d'essai, d'aides, d'exemples, de
tentatives de résolutions réelles par des étudiants, etc. empruntant une
démarche participative (enrichie par les utilisateurs, soit explicitement
pour les experts rédacteurs d'exercices, soit implicitement pour les
étudiant lors de leur utilisation de l'EIAH). Relativement à la
technologie, le projet avait pour objectif d'explorer les technologies
AJAX, de choisir la/les variante(s) d'AJAX les plus appropriées, pour
étudier dans quelle mesure elles pouvaient être utilisées dans le domaine
des EIAH et si elles comportaient des limitations ou sous quelles
conditions les spécificités des applications EIAH peuvent être supportées
par la technologie AJAX. Les raisons de ce choix a priori seront exposés
dans la première partie de cet article avec les attentes et les questions
posées à la technologie. La seconde partie fera un retour sur les solutions
et succès obtenus en utilisant cette technologie lors de la réalisation
d'une première version de l'EIAH visé. La dernière partie se fera l'écho
des premiers usages de l'EIAH pour fournir une forme de validation de
l'utilisation de cette technologie pour la réalisation d'un EIAH par des
preuves d'utilisation in vivo.
Attentes et questions vis à vis de la technologie AJAX
1 Intégration d'EIAH dans les plateformes pédagogiques ? Le choix initial d'AJAX avait pour contexte le mouvement
d'informatisation, de numérisation et de mise à disposition via internet
des enseignements qui a vu le jour avec la diffusion des plateformes
pédagogiques d'enseignement type Moodle (d'autres