Attention : vous consultez actuellement la documentation dédiée aux versions 2.x de Moodle. La documentation pour les versions 3.x de Moodle est consultable ici : VMoodle et celle pour Moodle 4.x est consultable là : VMoodle.


VMoodle est une infrastructure non standard gérée à partir d'un bloc, et permettant de mettre en place et de piloter un déploiement multiple de Moodle par virtualisation et sur une seule base de code.

Son utilisation est adéquate pour simplifier la maintenance de plusieurs plates-formes d'équipement similaire ou très proches.

Le procédé de virtualisation rend la configuration technique initiale de Moodle dynamique, afin de pouvoir commuter automatiquement de base de données et de répertoire de stockage de fichiers selon le nom de domaine d'accès à la plate-forme.

Les plates-formes virtualisées par ce mode sont totalement indépendantes en gestion et ne partagent aucune données. Il est par contre tout à fait possible d'urbaniser un groupe de telles plates-formes en utilisant le réseau Moodle (MNET) pour obtenir un ensemble cohérent de sites servant une grande institution.

Installation de la virtualisation

Prérequis

Le bloc VMoodle fournit un service complexe de virtualisation et d'administration réseau. La plupart des contraintes liées à l'architecture 1.9 (manques de la couche MNET ou des infrastructures de bloc) ont été levées avec l'architecture 2.x. Une seule contrainte permettant de garantir la stabilité réseau d'une constellation de Moodle cohérente en MNET n'a pu être levée encore :

  • Les réseaux de Moodle constitués par le VMoodle peuvent largement tirer parti de nouveaux services distribués basés sur XMLRPC. Le bloc assure une rotation automatique des clefs SSL entre les Moodle, afin de garantir la stabilité à long terme du réseau de confiance. Moodle standard ne supporte pas encore cette stabilité. [1]

Conditions d'environnement

Le bloc VMoodle virtualise les plates-formes à partir du même serveur Web. Sur Apache la résolution des hôtes Moodle virtualisés peut être réalisé simplement par un Aliasing dans la configuration du serveur :

  <VirtualHost WWW.XXX.YYY.ZZZ >
  ServeName monmoodlemaitre.mondomaine.org
  ServerAlias monvmoodle.mondomaine.org
  DocumentRoot /chemin/vers/moodle
  ...
  </VirtualHost>

Il est possible également de généraliser la reconnaissance des hôtes par un aliasing "wildcard" :

  <VirtualHost WWW.XXX.YYY.ZZZ >
  ServerName monmoodlemaitre.mondomaine.org
  ServerAlias *.mondomaine.org
  DocumentRoot /chemin/vers/moodle
  ...
  </VirtualHost>

Si le domaine mondomaine.org est défini avec une résolution en "wildcard DNS" (*.mondomaine.org), alors la constitution de nouveaux satellites Moodle virtuels ne demandera aucune configuration d'environnement ultérieure.

Installation du bloc

Le bloc s'installe d'abord comme un bloc Moodle standard :

  1. Décompacter le bloc dans le répertoire 'blocks' de l'installation de Moodle
  2. Allez à la page de notification d'administration pour installer logiquement le bloc.

puis un deuxième fichier de configuration doit être créé dans le répertoire :

  blocks/vmoodle/vconfig.php

à partir du fichier modèle :

  blocks/vmoodle/vconfig-dist.php

Ce fichier de configuration fournit une configuration parallèle du commutateur d'instances, avant que la configuration de service ne soit stabilisée.

Services du bloc VMoodle

Services de gestion de la "ferme de Moodle"

  • Hook de virtualisation implantable dans le fichier 'config.php'
  • Gestion du déploiement de plate-formes virtuelles à partir d'un Moodle maître de réseau
  • Photographie de plate-forme (snapshot) pour créer des modèles de déploiement
  • Déploiement à la demande
  • Déploiement en réseau Moodle

Services de super-administration réseau

La multiplication des plates-forme pose toujours un problème important d'administration et d'augmentation de la complexité de gestion. Le bloc VMoodle intègre une infrastructure de super-administration réseau permettant de lancer des commandes réparties sur les différentes plates-formes virtuelles télé-administrées par la plate-forme maître. Ce dispositif est extensible.

  • Distribution de commandes SQL sur tous les nœuds
  • Comparaison de réglage de rôles entre nœuds
  • Copie de feuilles de capacités entre nœuds
  • Installation ou mise à jour massive de plugins sur un réseau de plates-formes

Accès aux services de super-administration

L'accès à ces services se fait par le lien "Administrer" qui se trouve en bas du bloc "Fermes de Moodle". Trois onglets sont disponibles :

  • Gestion des instances et du déploiement : liste les nœuds et permet de les activer/désactiver, prendre une photo d'un nœud, supprimer un nœud, ...
  • Super-administration : un ensemble d'actions qui peuvent être réalisées sur toutes les plateformes en une fois, dont la comparaison et la modification des rôles.
  • Stratégie de services : Cet onglet permet de définir un masque d'ouverture (abonnement/publication) qui sera appliqué aux nouvelles plates-formes déployées à partir de l'infrastructure de gestion des instances.

Ancienne documentation

| Dépôt Git de référence

Espace de travail projet officiel

Roadmap

La version Moodle 2.0 de VMoodle a été élue aux objectifs de continuité technologique du projet ENT Libre 2.0 porté par ATOS Origin et soutenu par la DEGESCO (ministère de l'Education Nationale).

La feuille de route évolutive de ce composant prévoit le renforcement des commandes de superadministration

  • Synchronisation multi-instance des tables d'autorisation d'attribution de surcharge et de changement rôles (en cours)
  • Synchronisation multi-instance des activations de plugins
  • Synchronisation multi-instance des sucharges linguistiques (fichiers de lanques locaux)

Il prévoit aussi la publication et l'évolution des rapports statistiques globaux multi-instances (Rapport VMoodle / report_vmoodle)