VMoodle

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

Moodle1.9


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. Il s'appuie sur quelques fonctionnalités non supportées par la version standard de Moodle, mais facilement implantable.

  • Le bloc propose des services XMLRPC. La prise en charge des fonctions XMLRPC n'est pas faite par la version standard de Moodle. [1]
  • Le bloc est extensible. Il utilise une structure en sous-plugins (comme le module ressource, par exemple). Les sous-plugins sont supportés dans les modules, mais pas dans les blocs. Moodle.org ne prévoit pas de changer cette situation. [2]
  • 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é. [3]

Des patches sont fournis avec la distribution VMoodle pour obtenir ces fonctions.

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.