Le début de l'interactivité dans les pages web date des années 90. Les fonctionnalités potentielles sont longtemps restées tributaires des contraintes techniques. L'arrivée dans le domaine public de nouvelles technologies aptes à gérer le flux de données, le multimédia et à permettre la déportation du code côté client permet dorénavant d'envisager le web comme de l'applicatif, avec toutes ses possibilités de création d'outils et de ressources.
D'un point de vue technique, il est opportun de se baser sur les nouvelles fonctionnalités offertes par HTML5, notamment en ce qui concerne la gestion désormais native de l'audio. Malgré cela la qualité de l'interactivité, moins triviale au vu de la structure inhérente à l'architecture client/serveur, nécessite l'utilisation d'autres technologies. Nous avons conclu d'un premier essai avec NetQuiz dans aFIP que l'utilisation de technologies plus ouvertes est nécessaire pour mieux contrôler le flux de données et la réponse aux évènements, et finalement pour mieux répondre aux contraintes spécifiques existantes dans le contexte des outils d'apprentissage.
L'intérêt est triple : contrôler de manière plus complète la technique liée à l'interactivité pour mettre en place des solutions adaptées, utiliser une solution générique transférable à d'autres projets, et profiter des possibilités offertes pour étendre les solutions en matière d'outils de formation.
Afin de faciliter l'intégration des nouvelles possibilités dans l'architecture web, de nombreuses solutions libres et gratuites ont été développées dans le domaine public, s'appuyant toutes sur javascript (seul langage reconnu par les navigateurs). Dans aFIP et pour l'intégration des tests audios, le choix s'est porté sur le langage Processing, pour les raisons suivantes :
L'intégration des tests oraux nous a permis de valider ces points mais également de remarquer que :
Pour des projets qui ne se basent pas sur de la publication mais sont entièrement orientés « plateforme de formation », c'est-à-dire pour pouvoir créer des applications client/serveur, des nouvelles solutions sont désormais disponibles, plus légères, plus souples et mieux intégrées que les précédentes.
Ces outils, du fait qu'ils se basent sur javascript, s'intègrent facilement. Ils sont pertinents pour du développement RIA (Rich Internet Application) souple et léger, mais également pour de simples extensions permettant de rajouter de l'interactivité dans des plateformes gérant du contenu, comme WordPress ou Drupal. D'un point de vue technique, ils permettent également de concentrer l'effort de développement sur quelques technologies seulement, qui s'avèrent être complètes (noyau HTML5 + javascript), centrales (avec des satellites, Coffeescript par exemple) et pérennes (ces technologies sont une des conséquences des choix des acteurs majeurs de l'internet).