Test Hors-Ligne (Offline Quiz) - taille des fichiers temporaires et blocage plateforme

Test Hors-Ligne (Offline Quiz) - taille des fichiers temporaires et blocage plateforme

par Séverin Terrier,
Nombre de réponses : 1
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour,

J'ai rencontré récemment un problème sur une plateforme qui s'est retrouvée complètement bloquée, avec impossibilité de connexion ou d'action.

C'était un Moodle en 3.5.17, avec le plugin "Test Hors-Ligne" (dernière version dédiée Offline Quiz v3.5.4 2018081304). Je ne pense pas que le fonctionnement change énormément dans les versions plus récentes, mais si vous avez des informations à ce propos, ça m'intéresse.

Sur ce serveur, j'avais une partition de 4 Go au format tmpfs, et Moodle est configuré (dans config.php, via des lignes telles $CFG->tempdir) pour placer les dossiers "cache", "localcache", "temp" et "sessions" sur cette partition, afin d'améliorer les performances. Le dossier temporaire des sauvegardes est lui configuré (via une ligne $CFG->backuptempdir dans config.php) sur le disque pour éviter de saturer la partition avec des fichiers trop importants en taille.

Cette partition de 4 Go s'est retrouvée remplie (avec des fichiers liés à Offline Quiz), il n'y avait plus de place pour les fichiers de session, et cela a du coup complètement bloqué la plateforme. triste

J'ai cherché à comprendre le fonctionnement d'Offline Quiz et des fichiers utilisés. Je me suis aperçu qu'au moment ou l'on utilise la fonction d'Offline Quiz "Importer des résultats", Moodle stockait les fichiers dans le dossier temporaire ($CFG->tempdir/offlinequiz/import).

Ensuite, lorsque la tâche planifiée "Évaluation de la grille de réponse pour le plugin test hors-ligne" s'exécute, Moodle génère dans ce dossier temporaire des fichiers au format .png (à partir des fichiers existants), puis les intègre à sa base interne de fichiers. Ceux-ci sont alors évalués, ou a minima consultables via l'activité pour être corrigés avant l'évaluation.

Pour en revenir à l'origine de mon blocage : lors de l'importation des fichiers de résultat, selon le format des fichiers, Moodle peut opérer une transformation. A priori les fichiers images (.tif, .jpg, .png) sont directement copiés.

De mon côté, les utilisateurs avaient scanné au format .pdf et obtenaient des fichiers d'environ 50 ko chacun (ce qui est très bien). Le problème c'est qu'au moment du dépôt dans Moodle, chaque fichier .pdf est transformé en fichier .tiff et que le fichier résultant pèse 17 Mo. Passer de 50 Ko à 17 Mo est très loin d'être anodin, que ce soit en terme de temps de traitement ou de place occupée. Et surtout, avec des centaines de fichiers, on passe de quelques Mo à quelques Go !

Du coup, il est très important de faire attention au format du scan, et de vérifier avec quelques fichiers la taille des fichiers intermédiaires (éventuellement) générés !

Après coup, des scan directement au format .tif (50 Ko) ont pu être générés, évitant la conversion initiale, et avec seulement une conversion en .png (65 Ko) pour être stockés.

Concernant le paramètre "Conserver les fichiers (jours)" (offlinequiz | keepfilesfordays) défini par défaut à 8 jours, je ne sais pas s'il s'applique uniquement aux fichiers dans le dossier temporaire (qui ne sont pas consultables via l'interface web), ou également à ceux stockés en base interne. Si ce n'est pas le cas, l'intérêt est à mon sens limité, sachant que les fichiers scan d'origine sont normalement disponibles sur une clé USB ou un autre support de stockage.

Séverin

Moyenne des évaluations Utile (5)
En réponse à Séverin Terrier

Re: Test Hors-Ligne (Offline Quiz) - taille des fichiers temporaires et blocage plateforme

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Bonjour,

Je confirme donc que le paramètre "Conserver les fichiers (jours)" (offlinequiz | keepfilesfordays) défini par défaut à 8 jours, s'applique uniquement aux fichiers dans le dossier temporaire (qui ne sont pas consultables via l'interface web). Ceux-ci sont effectivement supprimés après le délai indiqué, mais ceux stockés en base interne sont conservés.

Du coup, je ne vois pas d'intérêt à définir une durée très longue, voire même pas d'intérêt réel à conserver ces fichiers en réalité (on pourrait définir à 1 jour pour limiter les risques de remplissage, même si ça ne changera pas le problème si de nombreux gros fichiers sont générés la même journée).

Séverin
Moyenne des évaluations Utile (3)