Aller au contenu principal

Moodle

OpenVLE peut être connecté à une instance Moodle existante pour provisionner automatiquement des environnements d'apprentissage. Les cours Moodle sont dupliqués, les participants sont synchronisés et les inscriptions sont gérées — le tout piloté par le cycle de vie des événements dans OpenVLE.

Optionnel

L'intégration Moodle est entièrement optionnelle. En cas de non-utilisation, tous les éléments liés à Moodle ne sont pas affichés dans l'interface utilisateur. L'intégration est désactivée par défaut.

Architecture

OpenVLE communique avec Moodle exclusivement via l'API REST Moodle Web Services. Il n'y a pas de connexion directe à la base de données — toutes les opérations s'effectuent via des appels API HTTP.

ComposantRôle
OpenVLE BackendRécupère les cours Moodle et vérifie les utilisateurs
OpenVLE WorkerExécute la duplication de cours, la création d'utilisateurs et les inscriptions de manière asynchrone
Moodle Web ServicesReçoit les requêtes API et exécute les opérations dans Moodle
Accès réseau

Le backend OpenVLE doit pouvoir établir des connexions HTTPS sortantes vers l'instance Moodle. L'authentification s'effectue via un token API Moodle.

Concept : association de cours

L'intégration repose sur l'association de cours Moodle à des environnements OpenVLE :

  1. Environnement — Un environnement OpenVLE peut être associé à un cours Moodle. Ce cours Moodle sert de modèle.
  2. Événement — Lorsqu'un événement est démarré à partir de cet environnement, OpenVLE duplique automatiquement le cours modèle Moodle. Chaque événement reçoit son propre cours Moodle.

Cycle de vie d'un événement

Les actions Moodle sont liées au cycle de vie d'un événement :

PhaseAction Moodle
DéploiementLe cours modèle est dupliqué, les participants sont créés et inscrits
Ajout de participantsL'utilisateur est créé dans Moodle si nécessaire et inscrit au cours
Suppression de participantsL'utilisateur est désinscrit du cours Moodle
Fin de l'événementLes étudiants sont désinscrits, les enseignants restent, le cours devient invisible
Suppression de l'événementLe cours Moodle est optionnellement supprimé (configurable)

Synchronisation des utilisateurs

Lors du déploiement, OpenVLE vérifie pour chaque participant si un utilisateur correspondant existe dans Moodle. La correspondance s'effectue via le champ configuré (MOODLE_USER_MATCH_FIELD — soit email, soit username). Si aucun utilisateur Moodle n'est trouvé, OpenVLE en crée automatiquement un nouveau.

Association des rôles

OpenVLE fait correspondre les rôles des participants aux rôles de cours Moodle :

Rôle OpenVLERôle Moodle
EnseignantsEditing Teacher (Role ID 3)
ÉtudiantsStudent (Role ID 5)
Perte de données lors de la désinscription

Lors de la désinscription d'un participant, les soumissions, notes et progrès d'apprentissage dans le cours Moodle sont perdus. Il s'agit d'une limitation de l'API REST Moodle (voir MDL-70582).

Informations complémentaires