Quantcast
Channel: Assistance technique
Viewing all articles
Browse latest Browse all 47868

Publication du contenu de dossiers imbriqués dans Moodle 2.4

$
0
0
by Jean FRUITET.  

Bonjour,

Lors du passage à Moodle 2.x les administrateurs Moodle (et les utilisateurs) ont perdu quelques fonctionnalité très pratiques de Moodle 1.9 pour la publication de contenus et leur restitution dans de nouveaux cours.

Il s'agit de la possibilité de publier le contenu de dossiers contenant des dossiers, et la possibilité de constituer directement une archive Zip sur le serveur pour la déplacer... d'un cours à l'autre.

Comme cette fonctionnalité m'est réclamée par nos administrateurs Moodle, je souhaiterais interroger la communauté sur les possibilités de contourner cette perte de fonctionnalité.

Evidemment on peut répondre qu'il suffit de placer les données sur un serveur web hors Moodle, mais ce n'est pas le genre de réponse que nous attendons smile

Bon, comme le système de fichiers de Moodle est plutôt compliqué, j'ai fait un état des lieux pour placer le problème dans son contexte technique.
S'il y a des erreurs ou des imprécisions, je compte sur vous, amis moodlers, pour corriger mes propos.

Si vous connaissez bien le système de fichiers de Moodle passez directement à la conclusion.

Jean.

 

Système des fichiers sous Moodle 1.9
---------------------------------

Avec Moodle 1.9 les données utilisateurétaient enregistrées
- pour les activités dans le dossier
./moodledata/ID_Cours/moddata/NOM_MODULE/ID_USER
- pour les fichiers dans
./moodledata/ID_Cours/Nom_du_dossier_choisi_par_user/

Il était possible de créer des dossiers contenant des dossiers et de publier directement dans le cours le point d'entrée vers le dossier conteneur.
L'ajout et la suppression des document ou de dossier est immédiatement répercutée lors de l'affichage.
Il était possible de comprimer en ligne le contenu d'un dossier pour en faire une archive zip téléchargeable ou déplaçable in situ.

Cette organisation permettait à un utilisateur de créer un dossier dans le système de fichier LOCAL du cours puis de l'ouvrir en écriture à ses collègues "enseignants avec droits d'édition" et en lecture aux "étudiants".

Donc très simple à mettre en oeuvre dans un cours... mais problématique dès qu'il fallait partager ces ressources entre différents cours.
Avec Moodle 1.9 on a assisté à une énorme duplication des données car pour partager les mêmes documents entre différents publics (différents cours) il  fallait soit les dupliquer soit les placer dans un méta-cours commun à tous ces publics.

Evidemment la publication de liens vers le document (ou le dossier) permettait d'éviter cette duplication mais nécessitait d'autoriser tous les utilisateurs susceptibles d'accéder à la ressourceà s'inscrire au cours en question.

Système de fichiers avec Moodle 2.x
-------------------------------

Avec Moodle 2 changement de paradigme - comme disent les anglo-saxons. Les données ne sont plus centrées sur le cours Moodle, mais sur l'utilisateur.

Un utilisateur Moodle avec des droits d'écriture "enseignant avec droits d'édition" dispose d'un espace personnel de stockage de ses documents. Il peut aussi accéder à des espaces de stockage communs sur le serveur ou à des dépôts locaux ou distants.

Pour les documents déposés sur la plateforme Moodle l'espace de stockage est situé dans
./moodledata/filedir/
Le mécanisme de renommage des fichiers est basé sur un algorithme qui calcule pour tout document déposé une clé de hachage basée sur le contexte dans lequel se fait le dépôt et sur le contenu du fichier et non pas sur le nom de celui-ci.
Par exemple 6cc7e53439ff8b6febb3695f63f1d139757d5e34, qui est un document texte CSV (mais cela n'a aucune importance en l'occurrence) est placé dans
./moodledata/filedir/6c/c7/6cc7e53439ff8b6febb3695f63f1d139757d5e34

Si maintenant je modifie le contenu de ce fichier, par exemple en corrigeant un seul mot du document et que je le redépose à la place du document corrigé, non seulement une nouvelle clé est calculée mais l'ancien fichier n'est pas supprimé de l'arborescence moodledata/filedir/

Il semblerait pourtant que le cron du serveur fasse du ménage avec les fichiers orphelins mais je n'ai rien constaté de tel sur mon propre serveur. Les anciennes versions de fichiers s'entassent...

Cela a plusieurs conséquences :
- Quand un même fichier est déposé plusieurs fois dans le même espace Moodle il est systématiquement dupliqué (une nouvelle clé de hachage est calculée chaque fois).

- Quand un fichier antérieurement déposé est sélectionné dans l'espace de fichiers, si une copie est demandée une nouvelle clé de hachage est calculée (et donc un double du fichier est placé sur le serveur), sinon si un alias est demandé c'est la même clé de hachage qui est utilisée (pas de nouveau fichier sur le disque).

On pourrait trouver cela très pratique pour éviter l'encombrement du disque avec des fichiers identiques, mais en réalité même cette "commodité" est relativement illusoire : quand une version est redéposée après modification, les autres "copies" ne sont pas modifiées même si ce sont des alias ! Car les alias "antérieurs" sont transformés en copies (ils restent dans l'état antérieur à la modification).
Autrement dit il n'y a pas modification globale de tous les alias d'un fichier modifié...


- Quand un document qui a des alias est supprimé, les autres alias sont transformés en copies pour éviter l'incohérence des données (ce qui est la seule politique envisageable).

Mais du coup il nous manque un outil pour dire "Supprimer du serveur toutes les occurrences du fichier "CeFichierSeraObsolèteALaRentrée2013.pdf"

Le système de fichiers concernant les activités est encore plus sophistiqué, puisque le contexte Moodle contribue à l'indexation des documents attachés aux activités.

Modification globale d'une ressource dans Moodle 2.3 et suivants
-------------------------------------------------------
Comme avec Moodle 1.9 si un document est désigné par un lien (URL) la modification de l'original se propage de façon transparente à tous les liens créés dans d'autres cours vers ce document.
Bien éviemment la suppression du document rend les liens inactifs (liens morts), mais cela est de bonne guerre.

Publication d'un dossier
------------------------
La structure des dossiers est exactement identique à celle des fichiers... sauf qu'il n'est pas possible de collecter d'un seul coup le contenu d'un dossier (il faut collecter un par un les documents qui le constituent), ni même de composer une archive zip qui serait ensuite décomprimée dans un autre cours.
C'est une difficulté réelle pour les utilisateurs qui pouvaient dans la version Moodle 1.9 constituer des structures de ressources imbriquées puis les distribuer entre différents cours.

Conclusion
---------

Avant de me lancer dans des développements d'une solution logicielle pour restituer la fonctionnalité perdue (ce qui n'est ni drôle ni forcément efficace) j'aimerais que vous me disiez si vous connaissez des façons élégantes ou pratiques de contourner cette difficulté ?

Avez-vous connaissance d'une activité Moodle permettant d'étendre le système de fichiers pour les collections de documents ?
Comment procédez-vous dans vos environnements de travail ?

Y a t-il des espace de discussion (en anglais possiblement) où ces questions sont abordées ? Bon je sais je pourrais probablement les retrouver moi-même mais en hiver je suis particulièrement flemmard.

Merci de votre attention.


Viewing all articles
Browse latest Browse all 47868

Latest Images

Trending Articles

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>