jLoDB Javascript Learning Object DataBase Introduction jLoDB est une base de données regroupant un ensemble d'activités éducatives libres. Ces activités sont référencées au sein de la base suivant leur niveau, leur difficulté ainsi que leur champ d'application. Elles sont également structurées à l'identique afin de faciliter leur intégration au sein de logiciels tiers. Cette base de données repose sur un ensemble de technologies web (HTML, CSS, Javascript, SVG, MathML) et elle est ainsi accessible depuis tout navigateur respectant ces protocoles. Actuellement, Firefox et Safari sont les navigateurs offrant la meilleure compatibilité. Il est a noté que l'utilisation exclusive d'images vectorielles rend la solution indifférente à la résolution d'affichage. Seul le format 4/3 paysage est imposé. De plus, quel que soit la nature de l'activité, l'utilisation du clavier reste facultative. jLoDB est compatible avec une utilisation sur ordinateurs, tablettes ou TBI. Enfin, la base de données dans son intégralité est sous licence GPL-3. Quelques exemples d'activités proposées par jLoDB. Activités et exercices Les activités de jLoDB sont des programmes permettant l'exécution d'exercices intéractifs. Chaque réponse proposée par l'utilisateur au cours de ces exercices est évaluée automatiquement. A la différence d'un cahier d'exercices qui peut nécessiter une vérification extérieure des différentes réponses, l'utilisateur est ici totalement autonome. Actuellement, les 2 domaines les plus avancés dans leur développement au sein de la base de données sont les mathématiques et la programmation informatique. Une même activité ('Séquence' dans cet exemple) peut fournir des exercices extrêmement variés. Activités mathématiques Certaines activités implémentées dans jLoDb sont génériques et peuvent proposer des exercices portant sur tous les domaines. L'activité séquence demande par exemple, de répondre à plusieurs questions dans un temps donné. Ces questions peuvent aborder n'importe quel sujet. 2 des illustrations ci-dessus présentent un exercice de numération où il est demandé d'identifier un certain nombre d'éléments présents (des allumettes intactes en l'occurence) ainsi qu'un autre exercice où il faut repérer un point sur une droite graduée. D'autres activités comme l'interrupteur à bascule, déplacement, triage, qcm, puzzle, peinture, mémoire, mots croisés et correcteur sont tout à fait désignés pour l'élaboration d'exercices de mathématiques. De nombreux exemples sont présents dans la base. En plus de ces activités génériques, il existe également des activités spécifiques, spécialement conçues pour l'apprentissage des mathématiques. Géométrie L'activité de 'géométrie' propose à l'utilisateur de réaliser certaines figures demandées par l'énoncé. Il dispose pour cela d'outils de géométrie dynamique qui lui permettent de tracer des segments, des droites et des cercles, d'identifier des intersections et de placer des milieux de segments mais également de tracer des droites parallèles ou perpendiculaires ainsi que des bissectrices. Les exercices varient en fonction de leur(s) objectif(s), de leurs éléments de départs mais aussi des outils disponibles. Où il est demandé de construire un carré à partir de 4 points prédéfinis. Opérations Cette activité demande de résoudre des opérations numériques classiques : addition, soustraction, multiplication et division. Comme toutes les activités de jLoDb, opération est jouable sans clavier et est parfaitement compatible avec une utilisation sur tablette. Pour que chaque robot arrive sur sa case d'arrivée, il est nécessaire de les synchroniser pour que le bleu appuie sur l'interrupteur en premier. Le compte est bon Cette activité est un portage du célèbre jeu du même nom. Chaque exercice propose un ou plusieurs nombres à calculer à partir des tuiles proposées et des opérations disponibles. Ici, les exercices sont paramétrables suivant la valeur du nombre à trouver, le nombre de tuiles proposées et les opérations pouvant être utilisées. Exemple d'un nombre à trouver 296 à partir de 5 tuiles. En règle générale, le nombre de tuiles disponibles est 6. Equation du premier degré Cette activité permet à l'utilisateur de résoudre des équations du premier degré. Un certain nombre de fonctionnalités permettent de simplifier, factoriser et développer ces équations. Il est également possible de proposer un système d'équations à plusieurs inconnues. Pour résoudre l'équation, il faudra user de l'addition et de la multiplication membre à membre. Mathématiques L'activité mathématiques permet à l'utilisateur d'écrire n'importe quelle équation, de la plus simple à la plus complexe (calcul intégral, dérivé, etc.). Elle propose pour cela une écriture par arborescence ainsi qu'un rendu plus lisible basé sur MathML. Dans cet exercice, il est demandé de représenter une expression mathématique sous la forme d'une arborescence. Activités de programmation En plus des activités génériques présentées un peu plus tôt et qui permettent d'aborder les notions les plus académiques de l'informatique comme les bases binaires ou hexadécimales, l'algèbre de Boole ou le calcul logique, il existe actuellement 4 activités spécifiques exclusivement dédiées au code et à la programmation. Robot L'activité 'robot' est une activité de programmation demandant de déplacer un ou plusieurs robots de leurs points de départs vers leurs cases d'arrivées respectives. Le langage utilisé ici repose uniquement sur des icônes graphiques, rendant ainsi l'activité accessible aux plus jeunes. Les notions abordées vont de l'enchaînement d'opérations élémentaires à des concepts beaucoup plus complexes comme la récursivité ou la programmation parallèle. Pour que chaque robot arrive sur sa case d'arrivée, il est nécessaire de les synchroniser pour que le bleu appuie sur l'interrupteur en premier. LOGO L'activité 'LOGO' est une émulation du langage éponyme. Comme pour l'activité précédente, il est demandé de déplacer, non pas un robot, mais une tortue et de tracer certaines figures géométriques. On retrouvera d'ailleurs un certains nombres d'actions communes à l'activité 'Robot', non plus représentées par des images, mais par leur vrai nom : AVANCE, RECULE, TOURNE GAUCHE, etc. La note obtenue par l'utilisateur dépend de l'exactitude de la figure réalisée par rapport à celle demandée par l'énoncé. L'exercice demande ici à l'utilisateur de programmer la tortue pour que celle-ci réalise un cercle de rayon 200 Code L'activité 'code' utilise un langage de programmation assez proche des langages impératifs classiques comme le C ou le BASIC. Si elle reprend un certains nombres des concepts déjà présents dans l'activité 'LOGO', cette activité permet de travailler sur des structures plus complexes comme les chaînes de caractères, les tableaux ou... les tableaux de chaînes de caractères. Il est possible de réaliser un dégradé de rouge dans l'écran graphique de l'activité grâce à une simple boucle. ASM L'activité 'ASM' est une émulation du langage assembleur sur processeur 6502. Contrairement à ce qui est communément admis, l'assembleur n'est pas un langage complexe. Des prérequis en hexadécimal et en calul logique sont, certes, nécessaires, mais une fois passé ce cap théorique, le fonctionnement du processeur est suffisament sommaire pour ne pas offrir de réel difficulté de compréhension. Egalement, cette programmation de bas niveau permet de se familiariser avec la gestion de la mémoire et d'appréhender la notion de pointeurs (ou d'accés mémoire indirect). Le bitmap stocké en mémoire à l'adresse data est transféré vers l'écran graphique pour laisser apparaître un visage célèbre. Genius Socialis jLoDB est une base de données. Son interface est limitée à la consultation des exercices qui y sont référencés et elle n'est guère utilisable seule. Des modules complémentaires viennent corriger cela. Genius Socialis est un site web de type réseau social basé sur jLoDb. L'utilisateur, une fois connecté au serveur, accéde à un graphe de compétences qu'il peut compléter à loisir. Chaque noeud du graphe correspond à une série d'exercices mettant en oeuvre des compétences précises qu'il est nécessaire de valider pour dévérouiller les noeuds suivants. L'aspect social du site permet de suivre l'évolution de ses amis mais également de leur proposer des séries d'exercices personnalisés créés depuis Tibibi. Les noeuds éclairés du graphe sont accessibles. Pour dévérouiller les noeuds suivants, il est nécessaire de résoudre les différents exercices de la série. Tibibi Tibibi est un autre module de jLoDB. Ce logiciel permet de parcourir la base grâce à un moteur de recherche, de trouver les exercices adéquats et de construire des séries d'exercices. Ces séries peuvent être utilisées directement par Tibibi (comme support de cours sur TBI par exemple) ou bien être envoyées vers Genius Socialis. Le moteur de recherche de jLoDB permet de créer des séries d'exercices. Ces séries peuvent être rejouées directement dans Tibibi ou être utilisées par d'autres logiciels.