Installation allégée de Moodle

Installation allégée de Moodle

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

Bonjour,

Il est arrivé plusieurs fois que des gens demandent s'il était possible de créer une installation allégée de Moodle, qui ne contiendrait pas tous les dossiers et sous-dossiers, afin de tenir moins de place.

Ayant été confronté récemment à l'installation d'une plateforme Moodle particulière, qui ne devait contenir que quelques utilisateurs, et uniquement des ressources, je me suis dit que c'était l'occasion d'essayer.

Après tout, ça permet toujours de gagner un peu de place disque (même si le gain est minime), et d'avoir quelques tables en moins dans la base de données.

Je dois avouer que la tâche est ardue, car à l'installation, Moodle nécessite la présence d'une majeure partie de ses dossiers et sous-dossiers : sans cela, on obtient des messages d'erreur qui bloquent l'installation triste

Du coup, j'ai procédé par essai/erreur : à chaque fois, il fallait supprimer complètement la base de données, la recréer, modifier la liste des dossiers à supprimer (dans mon script), et ré-essayer l'installation... je ne sais pas si une méthode plus efficace existerait ?

Séverin

Moyenne des évaluations  -
En réponse à Séverin Terrier

Re: Installation allégée de Moodle

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Pour le moment, j'ai le script suivant, qui fonctionne (pour Moodle 3.5) :

#! /bin/bash
###### But du script : ########################################################
# Ce script permet de supprimer certains dossier d'une installation Moodle
# afin de ne pas installer des éléments inutiles, avoir moins de tables...
# A lancer impérativement avant d'accéder à l'interface web, lors de MAJ !
###############################################################################

# On défini quelques variables
DIR_MDL="/chemin/vers/moodle"      # Dossier de l'installation Moodle
DIR_ORI=$PWD                       # Mémorise le dossier d'origine

cd $DIR_MDL
# Ces dossiers (au moins certains d'entre eux) semblent nécessaires lors de l'installation
#rm -fr blog competency plagiarism portfolio rss

cd $DIR_MDL/auth
rm -fr db cas email ldap lti shibboleth

cd $DIR_MDL/enrol
rm -fr category cohort database flatfile imsenterprise ldap lti meta paypal

cd $DIR_MDL/mod
# Ces dossiers (au moins certains d'entre eux) semblent nécessaires lors de l'installation
#rm -fr assign assignment book chat choice data feedback folder glossary imscp lesson lti page scorm survey wiki workshop

cd $DIR_MDL/blocks
# Ces dossiers (au moins certains d'entre eux) semblent nécessaires lors de l'installation
#rm -fr activity_modules activity_results badges blog_recent blog_menu blog_tags calendar_month comments community completionstatus course_list course_summary feedback globalsearch glossary_random mentees quiz_results section_links selfcompletion site_main_menu social_activities tag_flickr tag_youtube tags

cd $DIR_MDL/filter
rm -fr data glossary

cd $DIR_MDL/repository
rm -fr boxnet dropbox equella flickr flickr_public googledocs merlot onedrive picasa s3 skydrive webdav wikimedia youtube

cd $DIR_MDL/admin/tool
rm -fr assignmentupgrade

echo " Dossier Moodle $DIR_MDL nettoyé de plusieurs sous-dossiers, pour alléger l'installation !"

cd $DIR_ORI

Vous pouvez constater qu'on ne gagne pas grand chose. Il serait sans doute possible de supprimer quelques dossiers supplémentaires, mais j'en ai eu assez de faire des essais/erreurs...
Pour les personnes utilisant Git, il serait possible j'imagine de définir les différents dossiers à ignorer.

Ce script est à passer à nouveau lors de chaque mise à jour, entre le moment ou l'on met en place les fichiers, et celui ou l'on accède à la plateforme pour effectuer la mise à jour. Il nécessite un serveur unix (mais on comprend aisément l'idée, pour une éventuelle transposition sous Windows).

Par contre, une fois dans l'interface, j'ai également désactivé plein d'éléments, pour alléger l'interface.

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

Re: Installation allégée de Moodle

par Luiggi Sansonetti,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Titulaires du Moodle Course Creator Certificate Avatar Traducteurs

Merci Séverin et voilà quelque chose pour me paraît vraiment utile !

Car oui on peut simplifier cette demeure Moodle au niveau de la façade, comme au niveau des appartements.

Et maintenant, même en sous-sol clin d’œil

Top.

En réponse à Séverin Terrier

Re: Installation allégée de Moodle

par Ludovic ORNON,

Bonjour Séverin,

Combien gagnes tu par rapport à une installation normale ?

Pour alléger l'interface, comment fais-tu ? du code css pour cacher les éléments ? désactivation et désinstallation des plugins non utilisés ?

Je suis curieux clin d’œil

Ludovic

En réponse à Ludovic ORNON

Re: Installation allégée de Moodle

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

Je passe de 305 Mo à 215 Mo occupés.

J'ai simplement désactivé les différents éléments que je n'utilise pas, que ce soit en terme d'activité, filtre, fonctionnalités optionnelles...

Comme je l'expliquais au début, cette plateforme a un usage particulier.

Séverin

En réponse à Séverin Terrier

Re: Installation allégée de Moodle

par Nicolas Martignoni,
Avatar Développeurs Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

> Je passe de 305 Mo à 215 Mo occupés.

Cette taille originale de 305 Mo indique que tu utilises sans doute une version téléchargée au moyen de Git.

Si c'est le cas il existe un moyen plus radical de diminuer la taille, c'est de faire un "shallow clone" (c'est à dire télécharger une version de Git sans toutes les versions précédentes). L'avantage, c'est qu'on ne touche pas du tout à l'intégrité de Moodle. C'est ce que je fais sur la MoodleBox, et ça permet de gagner bcp de place.

La commande est :

git clone --depth=1 -b MOODLE_36_STABLE git://git.moodle.org/moodle.git

Sinon, télécharger une version via https://download.moodle.org/ (seulement 180 Mo décompressée).

Moyenne des évaluations Utile (1)
En réponse à Nicolas Martignoni

Re: Installation allégée de Moodle

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

A vrai dire, non, je n'utilise pas Git, mais télécharge les archives sur Moodle.org, que je décompresse ensuite.

Seulement, j'ai mesuré la taille occupée sur mes dossiers en production, qui intègrent le contenu des plugins (parfois lourds).

Par contre, de mon côté, la simple archive de Moodle 3.5.5 décompressée "pèse" 215 Mo.
Peut-être la taille affichée comme occupée dépend de la taille des secteurs du disque ?

Pour connaître la taille occupée, j'utilise la commande suivante :

du -sch /chemin/vers/moodle

Mais en résumé, on ne gagne de toute façon pas grand chose.

Séverin

En réponse à Séverin Terrier

Re: Installation allégée de Moodle

par Nicolas Martignoni,
Avatar Développeurs Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

J'obtiens la même valeur avec du. Les 180 Mo sont la taille nette de tous les fichiers. On perd en effet en raison du formatage du disque.

En réponse à Nicolas Martignoni

Re: Installation allégée de Moodle

par François MOTTARD,
A propos de la moodlebox, serait-il possible d’avoir une version encore plus allégée. Une version sans tous les plugins de dépôts externes, de méthodes d’authentification, etc...
Concevoir l’image de la moodlebox pour un usage en classe, avec un professeur et lui permettant d’installer lui-même les plugins nécessaires à la gestion de ces dépôts. L’usage étant principalement orienté vers de la remédiation, du dépassement et de l’auto formation en liaison avec des apprenants disposant de services Google ou Microsoft.
Un référencement des plugins installés par défaut, mais qui ne faut surtout pas dé-installer sous peine de plantage serait utile. Plus que la taille occupée par Moodle sur la carte sd, c’est sa réactivité qui importe à mon avis et pour se faire, il ne faut pas hésiter à désactiver l’ensemble des services non utilisés parfois même momentanément en fonction de l’usage fait en classe avec la moodlebox.
En réponse à François MOTTARD

Re: [MoodleBox] Installation allégée de Moodle

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles
Bonjour François,
Juste un avis...
L'image créée par Nicolas contient un Moodle standard.
Rien ne t'empêche de désactiver tous les plugins que tu juges nécessaire afin d'aboutir à un produit réduit.
L'ennui avec un "vrai" Moodle réduit serait qu'il ne pourra jamais s'adapter à tous les cas particuliers.
Alors que Moodle standard permet tout.
Je ne suis pas informarticien, mais il me semble qu'un service installé mais désactivé, ne doit sans doute avoir quasiment aucune influence sur le fonctionnement global ?
En plus, la dernière image installée sur PI4 donne des étalonnages (benchmark) de l'ordre de 100 points, voire moins, ce qui semble très bien.
Que donnent ces tests chez toi ?
Daniel


En réponse à François MOTTARD

Re: Installation allégée de Moodle

par Nicolas Martignoni,
Avatar Développeurs Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

C'est bien entendu possible, mais ce n'est pas moi qui le ferai clin d’œil, pour les 2 raisons suivantes :

  • le gain en terme de place est faible (au mieux quelques dizaines de Mo sur un total 266 Mo), dérisoire même sur une carte de 4 Go, et le gain en terme de performance par une telle suppression est nul, car il suffit le cas échéant de désactiver les plugins selon ses souhaits ;
  • le temps nécessaire à gérer le projet MoodleBox est déjà actuellement à la limite de mes possibilités ; ajouter des fonctionnalités ou des configurations alternatives nécessiterait soit 1) de faire moins bien le tout, soit 2) de sous-traiter ou de diminuer mon temps de travail (rémunéré), avec un impact financier que je ne peux pas me permettre (il faut bien manger et se loger à la fin du mois incertain).
PS. AMHA cette discussion serait mieux placée ici: https://discuss.moodlebox.net/, car pas directement liée à Moodle.
En réponse à Séverin Terrier

Re: Installation allégée de Moodle

par Nicolas Martignoni,
Avatar Développeurs Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Intéressant. Mais j'ai la même question que Ludovic: le jeu en vaut-il la chandelle, en terme d'espace gagné ?

Et surtout en terme de confiance par rapport au résultat. Comment être sûr que l'instance va fonctionner correctement à terme, bien supporter les mises à jour, etc. ?

En réponse à Nicolas Martignoni

Re: Installation allégée de Moodle

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

Effectivement, ça gagne :

  • un peu de place (215 Mo au lieu de 305 Mo)
  • quelques tables dans la base de données (400 tables au lieu de 430 tables)

donc rien d'exceptionnel, effectivement (comme je l'avais annoncé).

En supprimant principalement des méthodes d'authentification, méthodes d'inscription, ainsi que dépôts, des filtres voire des outils qui ne sont pas utilisés, je ne pense pas qu'il y ait grand risque.

Par contre, comme indiqué dans mon message initial, un certain nombre d'éléments sont requis lors de l'installation, et génèrent directement un plantage de l'installation s'ils manquent !

Peut-être qu'avec des essais supplémentaires, on arriverait à supprimer des activités et blocs, mais il me semble qu'il y a des appels au sein des fichiers de Moodle, et qu'il soit difficile de s'en passer sans modifier le code source (et là, effectivement, on commence à risquer plus fortement les ennuis).

Séverin

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

Re: Installation allégée de Moodle

par Patrick Lemaire,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour Séverin,

J'avais déjà voulu relever un challenge, sorte de Proof of Concept, afin d'obtenir le Moodle le plus light possible tout en restant stable. Mon idée sous-jacente était de proposer un Moodle sur mesure en n'ajoutant à cette base minimale que les éléments nécessaires. En effet, j'ai déjà eu besoin de plateformes avec uniquement les activités Test dessus.

Pourtant, même si Moodle propose la désinstallation de plugins (car quasiment tout est plugin sous Moodle), il n'est ensuite plus possible de refaire une installation propre. Après avoir retiré plus de 300 plugins, j'en arrive à un Moodle fonctionnel mais qui ne peut être installé normalement. Il persiste une erreur (en ce qui me concerne) avec le déploiement des modèles d'Analytics (erreur get_id sur un objet absent). Impossible de revenir à un état stable sur le processus d'installation. Par contre, on peut déployer des plateformes de ce type par restauration de la base de données et du code allégé.

Quelque part, je me dis qu'il y a un "raté" dans le code quand on nous dit qu'on peut désinstaller un plugin alors que pourtant il est appelé ailleurs...

Mon MoodleLight 3.5.5 fait 126 Mo et 221 tables dans la base de données. On peut encore réduire mais ça perd de son charme si on perd déjà l'installation en route triste

À suivre...
Patrick

Moyenne des évaluations Utile (2)