Un problème à résoudre : Sauvegarde des Flashcards

Un problème à résoudre : Sauvegarde des Flashcards

par Valery Fremaux,
Nombre de réponses : 2

J'en appelle à votre cogitation pour des avis sur ce problème :

(réflexion "tout haut" pour susciter les réactions)

le flashcard s'appuie sur une question "match" (appariements en français) pour obtenir les couples "Questions/Réponses" qui font le dos et la face de chaque carte.

La sauvegarde du module, mais surtout sa restauration va poser un problème. Si seules les données du flashcard sont sauvées, la référence à la question dans le système d'origine est perdue. La sauvegarde doit donc envisager de sauvegarder également les données de la question d'origine et donc les données de 3 tables : question, question_match et question_match_sub.

Jusques là rien de bien méchant.

Le problème vient à la restauration. Restaurer un flashcard dans un environnement existant sur le même Moodle devrait en principe retrouver la question dans la base au même id. Mais pas nécessairement. Il suffit que le temps entre une sauvegarde et une restauration de ce cours soit suffisamment important pour que la base de questions ait bougé notablement entre les deux (et peut être la question d'origine effacée entre deux).

Dans un autre site, c'est encore pire. La question originale n'a surement jamais existé.

Donc la solution serait à la restauration de créer une nouvelle question "from scratch" et de l'indexer "où on peut" (c'est un peu ce "où on peut" qui me fait peur, sachant qu'entre 1.8 et 1.9, l'architecture des categories a changé), même si la question existe déjà dans la base.

Une troisième solution peut être la meilleure : se débarrasser de cette liaison entre deux modules (ce qu'en conception informatique nous appellons un "couplage") et ajouter une interface d'édition locale des dos/faces des cartes.   

Vos avis vont être déterminants sur cette architecture.

Moyenne des évaluations  -
En réponse à Valery Fremaux

Re: Un problème à résoudre : Sauvegarde des Flashcards

par Th V,

Bonsoir, Valery,

J'ai un peu de mal à suivre ton raisonnement. Ce que j'ai compris c'est qu'il peut avoir un problème de gestion des questions, si on continue d'utiliser les questions de type match.

Pourquoi ne pas crée un type de question flash qui étant totalement étrangère au système ne peut pas le perturber ?

J'ai compris le problème ou suis-je hors sujet ?

@+ Thierry

En réponse à Th V

Re: Un problème à résoudre : Sauvegarde des Flashcards

par Valery Fremaux,

Tu es entre les deux.

Le problème ne vient pas du type de question. Une match convient en effet, puisqu'elle fournit un ensemble de paires question/réponse. En créer une nouvelle ne résout pas le problème du couplage.

Pour essayer d'être plus clair, il faut expliquer comment se fait une sauvegarde Moodle. Chaque instance de module inscrite dans le cours sauvegarde toutes les données qui lui sont nécessaires. Pour des modules simples, celà se limite à un enreigstrement de la table principale de module. Pour des modules plus complexes, il faut sauvegarder toutes les données relatives à ce modules, à partir de toutes les tables utilisées pour ce dernier. Lorsqu'une instance n'utilise que des données de son propre jeu de tables, tout se passe bien : il est facile de constituer une sauvegarde qui peut être restaurée dans n'importe quelles conditions, puisque les données sont toutes disponibles dans la sauvegarde. Certaines données supplémentaires (données de contexte) sont en général reconstruites par calcul au moment de la restauration.

Par contre, lorsqu'un module s'appuie sur des données gérées par ailleurs (c'est le cas ici), on ne sait pas très bien ce qu'il faut stocker (et jusqu'où il faut stocker) pour pouvoir remonter une situation exploitable dans l'environnement d'arrivée. Si on ne sauvegarde QUE les données du module, il va manquer des données à l'arrivée, si on sauvegarde toutes les dépendances, il est possible que la sauvegarde nécessite beaucoup de données et que le processus de sauvegarde lui-même soit beaucoup plus difficile à programmer.

A la restauration c'est pire encore. S'il manque des données on ne sait pas comment rattacher les "pièces manquantes" qui sont restées dans la plateforme de départ. Si on les toutes amenées avec soi (par exemple ici, la question les sous-questions le mapping de la question et des sous questions, mais également la catégorie et les réglages de cette catégorie dans la plate-forme de départ, on ne sait toujours pas comment reconstruire tout ça DANS TOUS LES CAS). C'est le problème du "couplage fort" que j'évoquais tout à l'heure.

Ce couplage introduit donc effectivementun problème de gestion des questions, mais pas du côté des quiz, mais bien pour l'architecture du module flashcard (ou du moins pour sa "transportabilité").

(plus j'explique et plus je pense que la solution qui découple complètement les quiz du flashcard, avec une éventuelle fonction d'import question -> flashcard ou d'export flashcard -> question me semble être une solution raisonnable).

Pourquoi ne peut on pas créer (ou pourquoi ça ne sert pas ici) un type de question "flash" : parce que celui ci, en tant que type de question est donc précisément reconnu par le module question puis quiz et ne peut donc pas "fonctionnellement" être isolé du fonctionnement des tests. Le module flashne peut donc pas s'en approprier l'usage exclusif, dû aux règles d'architecture qui ont présidées à l'établissement de tout ce système de questions.

J'espère avoir éclairé ta lanterne moodlique.