Guide technique

Synchronisation LDAP totale pour les ENT

Architecture et fonctionnement des scripts

Tous les scripts de commande sont situés dans le répertoire /cli du composant. Ces scripts sont conçus pour optimiser des synchronisations massives sur un grand nombre d'instances Moodle en parallèle (VMoodle), notamment dans les installations académiques. Ils sont conçus pour pourvoir optimiser le temps de traitement de synchronisation par répartition sur plusieurs processeurs du serveur. Ces scripts sont de trois sortes :

Des scripts de tâche de synchronisation

Des “workers”

Des “lanceurs de masse” (bulks)

Les tâches de synchronisation sont toutes compatibles avec la virtualisation VMoodle.

Les scripts de synchronisation

Ils exécutent une synchronisation simple sur une des entités métier supportées sur un hôte moodle donné (par défaut, l'installation principale).

Les workers

Ils enchaînent une série de tâches de synchronisation sur une série d'hôtes spécifiée.

Les lanceurs de masse (bulks)

Ils répartissent les hôtes à synchroniser sur des workers. Lorsque l'option de traitement distribué est utilisé, les workers sont lancés en parallèle afin de pouvoir bénéficier d'une architecture multi-processeurs.

Le lanceur de masse bulk_sync_hosts.php est un super lanceur qui traite toues les entités métier actives les unes à la suite des autres (utilisateurs, assignations de rôle, cohortes et groupes de cours)

Un exemple de chaine de traitement

bulk_sync_cohorts.php ==> sync_cohorts_worker.php ==> sync_cohorts.php

Configuration

La configuration de l'ENT Installer est un aspect essentiel de l'utilisation de ce composant. En effet le principal usage de ce composant est la synchronisation régulière automatisée des entités métier principales de Moodle basée sur ces configurations.

Source des données

Les données sont extraites d'un annuaire LDAP tel qui'il est défini par le plugin d'authentification LDAP, même si celui-ci n'est pas utilisé ou activé pour l'authentification des utilisateurs. Au cas où une autre méthode d'authentification comportant des paramétrages LDAP est utilisée, alors il y aura lieu de reporter les même paramètres dans la configuration du plugin auth/ldap à l'usage de l'ENT_Installer.

Principe général des configurations

Un annuaire LDAP est un arbre de données constitué de fiches de données classées dans un arbre. Chaque noeud de l'arbre peut an plus disposer de ses propres attributs. de plus un attribut peut contenir une donnée simple ou composite présentant elle-même uin certain format de construction.

Les définitions et schémas de données sont en général conçus par les équipes SI, avec des normes et des préoccupations générales d'urbanisation du SI. Elles ne sont pas, en général, dédiées à telle ou telle application en particulier, mais sont plutôt organisées et formatées pour servir plusieurs applications utilisatrices hétérogènes.

Il y a donc à priori des chances que les données de l'annuaire ne correspondent pas directement aux formats dont Moodle a besoin pour s'alimenter.

l'ENT installer travaille sur une base générale de traitement qui peut être découpé en 5 concepts :

Trouver la donnée (l'attribut) dans le LDAP

Trouver la portion de valeur signifiante dans le contenu de l'attribut

Etablir éventuellement une correspondance entre ces valeurs signifiantes extraites, et des valeurs attendues par Moodle

Trouver quelle partie de la donnée (traduite ou non) est nécessaire à Moodle

Trouver où la donnée doit être rangée dans Moodle

Aspects généraux

Paramètres généraux et options de comportement

Précautions générales sur l'annuaire LDAP

API supplémentaire de lecture du LDAP

Entités synchronisées

Les principales entités métier de moodle sont synchronisées par une tâche associée à un script CLI en ligne de commande.

Synchronisation des comptes utilisateur

Synchronisation des cours et catégories de cours

Synchronisation des cohortes

Synchronisation des groupes de cours

Synchronisation des attributions de rôles:todo:

Documentations annexes

Injection des catégories initiales

Capacités

Guide des capacités

Revenir à l'index du composant - Revenir à l'index des plugins