Des parcours pédagogiques ludiques avec JLoDB

Ces dernières années, il n’y a pas de formation pour enseignants, de lettre ministérielle, d’exposition à destination des enfants qui ne parle pas de « parcours pédagogique ». Derrière ce grand terme fourre-tout on trouve globalement l’idée de faire passer l’apprenant par différentes étapes afin de lui permettre d’acquérir une notion, une compétence… Si on veut que ce parcours soit réellement pertinent et utile, il doit pouvoir s’adapter aux différents utilisateurs. C’est là que l’utilisation d’outils numériques peut prendre tout son sens.

Quelques outils existent dans l’univers du libre. L’association Sésamath développe par exemple le superbe projet J3P, très orienté pédagogie, qui permet à l’élève de créer son parcours parmi les différents exercices planifiés par l’enseignant en fonction de ses réponses.
Sur Framagora, nous avons eu la chance de voir l’évolution d’un projet plus ludique : JLoDB. Son auteur, Johann, nous présente sa réalisation.

Le site jLoDB

Bonjour Johann, peux-tu nous présenter jLoDB ?

Bonjour. jLoDB est l’acronyme de « Javascript Learning Object Database ». C’est une base de données d’activités éducatives ; « éducatives » au sens large car il existe en son sein de nombreuses activités plus ludiques qu’éducatives : le Sudoku, Picross, Sokoban et d’autres encore. Ce projet se présente comme un site web tout ce qu’il y a de plus classique que chacun est libre d’utiliser, d’installer et de modifier comme le permet sa licence GPL-3.

L’architecture de jLoDB est modulaire. Il existe un noyau principal qui est la base de données où sont référencés tous les exercices en fonction de leur difficulté, de leur durée moyenne, de leur champ d’application et d’autres choses encore. Chaque exercice réalisé par l’utilisateur est évalué automatiquement par le programme qui lui donne une note de A à F.

Là-dessus, il est possible de développer des modules qui vont faire usage de cette base et de ces exercices. Parmi les modules actuellement disponibles on peut citer « Dä » qui est une sorte de trivial pursuit où chaque case donne lieu à un exercice issu de la base, « TiBibi » qui permet à un utilisateur de préparer et de stocker ses propres séries d’exercices et finalement « Genius socialis » qui organise les exercices suivant un parcours pédagogique.

Quelle est son originalité ?

D’un point de vue technique, jLoDB se veut le plus accessible possible. Le logiciel est très peu gourmand en ressources et doit pouvoir fonctionner sur tout type de matériel, même ancien. Ensuite, il repose sur des technologies libres et largement répandues (html et javascript côté client, apache, php et mysql côté serveur). En outre, l’utilisation du clavier est facultative rendant le projet compatible avec une utilisation sur tablette. Enfin, l’usage exclusif d’un format graphique vectoriel rend les activités indépendantes de la résolution de l’écran. Le petit bémol vient de la compatibilités des navigateurs puisque seul Firefox est totalement compatible. Safari, s’en sort très bien aussi, mais il souffre d’un bug d’affichage parfois pénalisant tout comme Chrome qui, en plus, ne supporte pas MathML, un format d’affichage de formules mathématiques. Internet Explorer n’est pas supporté.

Au niveau interface et jouabilité, je me suis énormément inspiré de ce qui se faisait dans le domaine du jeu vidéo. Même la représentation du parcours pédagogique est très inspiré par le sphérier de « Final Fantasy XII » ou l’arbre de compétences de « Path of exile ». Également, je suis un grand fan de logiciels comme « Docteur Kawashima » ou « Professeur Layton » qui, avec un game design astucieux, parviennent à rendre passionnant des problèmes parfois complexes. J’ai donc essayé d’appliquer le plus possible ces principes de gamification et j’espère que pour un projet éducatif, jLoDb arrive à proposer des choses ludiques et amusantes dans l’ensemble.

Initiation à la programmation

Enfin, du point de vue du contenu lui-même, certaines activités référencées dans la base me semblent assez peu communes.

4 activités de programmation (Robot, LOGO, programmation impérative et Assembleur 6502) permettent à l’utilisateur d’apprendre l’informatique et la programmation de façon totalement autonome. C’est probablement la partie la plus développée actuellement. À l’heure où il est question de l’apprentissage de l’informatique à l’école, je crois sincèrement que jLoDb apporte une réponse tout à fait crédible.

L’activité « Équation » (inspiré par l’excellent « Dragon Box Algébra ») permet de résoudre des systèmes d’équations à plusieurs inconnus par simple manipulation d’éléments graphiques.

L’activité « MathCraft » (j’adore ce nom) propose des exercices de preuves mathématiques où l’utilisateur doit prouver une hypothèse à partir d’éléments fournis par

Activité MathCraft

l’énoncé. C’est encore assez expérimental et le formalisme de l’activité est un peu complexe, mais je trouve que cela donne des résultats plutôt prometteurs.

Maintenant qu’on connait un peu mieux ton projet, peux-tu te présenter un peu ? Quel est ton « parcours » ?

Je suis ingénieur en développement informatique. Dans la vraie vie, je bosse sur des programmes de gestion de flux de données. C’est un boulot intéressant car technique et exigeant mais, en même temps, il est assez frustrant parce qu’au final, il n’y a rien à montrer. Il n’y a aucun résultat visible : pas de jolies interfaces, aucune image, juste des flux de données et quelques logs. C’est, je crois, pour cette raison que j’ai commencé à programmer à la maison, pour moi, pour me faire plaisir. J’ai commencé par un logiciel de dessin sur Android en version 1.6 (« Plouik ») puis quelques jeux en SDL sous Linux avec un framework développé pour l’occasion (« Splashouille »).

Je suis honnêtement admiratif du boulot que tu as abattu seul. Depuis combien de temps travailles-tu sur ce projet ? Cela représente combien d’heures ?

Merci. Je ne saurais dire exactement. Si j’en crois mon compte GitHub, le dernier submit de « GNU versus zombie rotten tomatoes » (mon dernier développement hors jLoDb) remonte au 25 Juillet 2012. Je pense que cela doit correspondre au début du développement du projet. J’ai commencé par le jeu de l’alchimiste (Note De Moi : Je vous conseille de tester, c’est assez addictif comme jeu) et je me souviens l’avoir ré-écrit au moins 2 fois avant de trouver une structure satisfaisante, assez proche de ce qu’elle est encore aujourd’hui. Au niveau du temps passé, je ne saurais non plus dire. Tout cela est fait sur mon temps libre. J’essaie de développer un peu tous les jours mais cela est très fluctuant.

Je crois savoir que ton idée initiale était un seul et unique parcours dans lequel l’utilisateur pourrait progresser à n’importe quel moment de sa vie ? Cela ne te semble pas un peu audacieux comme projet ?

Tout provient d’un constat assez simple. En tant que joueur occasionnel, j’ai passé un temps incroyable sur de jeux comme « angry birds », « candy crush » ou « puzzle and dragons » à enchaîner des actions parfois très répétitives, à faire et refaire les mêmes niveaux, à me lever plus tôt le matin pour finir une quête quelconque. Les principes de gamification ont aujourd’hui une telle efficacité qu’il est souvent difficile de décrocher. L’idée sous-jacente du projet jLoDb est donc d’utiliser ces techniques de gamification sur des domaines plus académiques afin de créer une addiction à l’apprentissage.

Donc oui, pour répondre à la question, c’est extrêmement ambitieux (et pas mal prétentieux, aussi).

Ça l’est d’autant plus que je suis convaincu désormais qu’il est tout à fait possible d’intégrer la quasi-totalité des matières universitaires, de l’apprentissage de la lecture aux domaines post-bac (comme la thermodynamique ou la médecine). Le travail à accomplir est colossale mais au combien passionnant.

Tes graphismes sont très soignés. C’est toi qui fait tout cela également ? Avec quels logiciels ?

C’est gentil. Pour l’heure, j’ai réalisé l’ensemble des graphismes. J’ai cherché un peu à côté, mais j’avoue ne pas avoir trouvé grand chose. J’ai toujours aimé dessiner et mon petit niveau me permet de faire parfois illusion.Tous les graphismes sont vectoriels, du coup, j’utilise essentiellement Inkscape. Parfois, lorsque l’illustration à réaliser est très géométrique, il m’arrive de « dessiner » directement à l’aide d’un simple éditeur texte profitant du fait que le format vectoriel SVG est un format descriptif parfaitement lisible.

Par contre, pour le moment, les consignes des activités ne me semble pas forcément toutes toujours très claires. Besoin d’un coup de main ?

C’est un problème très récurrent avec mes développements. J’ai eu le même souci sur mon logiciel de dessin que je trouvais personnellement très intuitif mais qui, compte tenu des retours utilisateurs, ne l’était pas tant que cela.

Cela dit, je ne trouve pas que cela soit un problème en soit. Selon moi, le vrai souci est que le contenu du projet (les exercices mais aussi le parcours pédagogique) ne doit pas être rédigé par une seule personne. C’est un non-sens absolu. Surtout pour un projet libre (et surtout quand la dite personne n’a aucune compétence pédagogique). Si je le fais actuellement c’est faute de mieux car il faut bien pouvoir présenter quelque chose, mais il est clair que ce n’est pas une bonne chose. Donc oui, j’ai clairement besoin d’aide.

De manière générale, comment fait-on si on a envie de t’aider ?

Il y a plusieurs façons d’aider le projet. J’ai rédigé une notice dans un forum de discussion créé pour l’occasion (et encore un peu vide). Y sont détaillées les différentes façons de participer au projet.

Module Genius Socialis

Actuellement mon plus gros problème est la scénarisation et la validation du parcours pédagogique. Je n’ai aucune compétence pédagogique, aussi « Genius Socialis » ne doit pas être utilisé par des élèves. Pas encore. Pour qu’il soit exploitable, il faut, au préalable, qu’un groupe de personnes motivées organise et valide ces différentes séries d’exercices. Je pense que cela peut se faire via le forum car tous les outils nécessaires sont déjà disponibles. Donc, si cela vous intéresse n’hésitez pas à me contacter.

Et si je veux moi aussi installer jLoDB sur le serveur de mon école, c’est facile ? Tu as eu le temps de documenter cela quelque part ?

C’est facile au sens où c’est une installation relativement commune. Il faut disposer d’un serveur web. Le trio Apache, mySQL et PHP est largement suffisant. Il n’y a alors plus qu’à copier le projet dans l’arborescence web, modifier le fichier de configuration conf/jlodb.ini et lancer l’installation depuis la page principale du site. Rien de bien compliqué au final. J’ai mis un peu de documentation au niveau du forum de discussion.

Pourquoi le choix d’une licence libre (GPL 3) ? Tu aurais pu faire le choix du propriétaire, vendre cette solution à un éditeur scolaire et prévoir ainsi le remplacement de tes usines à spermatozoïdes par du métal précieux.

Pourquoi une licence libre ? À vrai dire, la question ne s’est pas vraiment posée : c’était une évidence dès le départ. Tout autre type de licence n’aurait fait que brider la diffusion du projet. Ce n’est pas ce dont j’avais envie.

Un exercice de géométrie

Tu vas me trouver curieux (et cette question n’intéressera surement pas vraiment nos lecteurs), mais pourquoi as-tu choisi « Pouf-Pouf Production » comme nom de domaine ? Envie de concurrencer notre framaslave du domaine public dans les noms incongrus ?

Je pense que le choix de noms incongrus devrait être une obligation pour tous les développements non professionnels. C’est en tous cas le choix que j’ai fait en utilisant des noms parfaitement ridicules ou sans réelle signification sur l’ensemble de mes projets.

Initialement, « Plouik », mon logiciel de dessin sous Android et publié sous GooglePlay s’appelait « Sketchbook ». J’avais vérifié que ce nom n’était pas utilisé sur le market de Google mais je n’étais pas allé plus loin à l’époque. Si bien que quelque temps plus tard, j’ai reçu une lettre des avocats d’Autocad me demandant de dépublier expressément le logiciel sous peine de poursuites. Il est vrai qu’un « Autocad Sketchbook » existait déjà sur d’autres supports et, il a même été porté sous Android depuis.

J’ai donc changé le nom du logiciel. Mais, au final, le problème ne s’arrête pas là. Car même si le nom n’existe pas encore, il peut être déposé par une entreprise plus tard. Et le problème se reposera. Donc, pour éviter tout souci, le plus simple est, selon moi, de choisir, dès le départ, des noms dont personne ne veut, ni ne voudra jamais. Noms ridicules, imprononçables ou totalement incongrus : le choix reste très vaste.

Merci Johann pour cet entretien.