L'intégration de Moodle à l'université Rennes 2 Haute Bretagne Intervenant : Arnaud Saint-Georges Centre de Ressources Informatiques de l'université Rennes 2 Haute Bretagne Arnaud.Saint-Georges @uhb.fr. Contexte : MoodleMoot 2006 à l'enst de Brest Date : 8 juin 2006 Introduction Après avoir utilisé la plate-forme WebCT pendant plusieurs années, l'université Rennes 2 (plus de 20 000 étudiants inscrits) a mis Moodle en exploitation en octobre 2004. Trois types de population d'apprenants sont concernés par le service de cours en ligne «Cursus»1 : 1) Les étudiants dispensés d'assiduité inscrits au SUED (Service Universitaire d'enseignement à Distance) et acquittant donc des frais d'inscriptions supplémentaires. - 1200 inscrits dont 60% se sont connectés au moins une fois et 20% dans les 10 derniers jours 2) Les étudiants «traditionnels» - 6000 inscrits dont 95% se sont connectés au moins une fois et 60% dans les 10 derniers jours 3) Les étudiants inscrits en Formation Continue - 200 inscrits dont 50% se sont connectés au moins une fois et 15% dans les 10 derniers jours. Compte tenu des volumes d'inscrits et des besoins spécifiques du SUED, il a été nécessaire de soigner particulièrement l'intégration dans l'établissement : - l'authentification ; - l'intégration avec le Système d'information ; - l'intégration avec notre portail (ESUP). Cette présentation n'est qu'un retour d'expérience, en aucun cas un modèle qu'il faudrait suivre. D'autant plus qu'elle soulève autant de questions qu'elle apporte de réponses... 1 L'authentification centralisée et «une seule fois» 11 L'authentification centralisée : LDAP (Lightweight Directory Access Protocol) L'authentification Moodle (déclenchée à partir du lien «Connexion») est déléguée à LDAP, notre annuaire centralisé. Celui-ci répertorie la totalité de nos usagers : étudiants, enseignants, doctorants, stagiaires en formation continue, etc. Et c'est le seul lieu de conservation du mot de passe de chacun d'entre eux. Ainsi nos usagers disposent d'un compte unique («compte Sésame UR2») pour accéder aux ressources (postes du réseau local, imprimantes, etc.) et aux services (cours en ligne, résultats aux examens, etc.) informatiques. A noter : l'accès en mode «invité» reste toutefois possible. Cette authentification déléguée devrait être généralisée l'année prochaine aux autres établissements d'enseignement supérieur bretons (grâce à Shibboleth2). Ce qui permettra par exemple à des étudiants de l'université Rennes 1 de suivre un cours d'anglais dispensé sur notre plate-forme Moodle. Ou bien à un de nos enseignants de pouvoir s'identifier sur la plate-forme Moodle de l'enst de Brest. 1 http://cursus.uhb.fr 2 Shibboleth est utilisé pour gérer notre fédération d'identité : http://federation.cru.fr/ L'intégration de Moodle à l'uhb - 1/14
1) Page d'accueil de Moodle avant authentification 2) Authentification par service CAS externe L'intégration de Moodle à l'uhb - 2/14
3) Usager immédiatement authentifié sous Moodle 12 L'authentification «une seule fois» : CAS3 C'est le concept de SSO (Single Sign On). Il a été intégré dans Moodle par l'université de Rennes 1 (contact : Romuald Lorthioir). Un usager authentifié par Moodle (via LDAP) peut accéder aux autres services accessibles à travers le Web sans se réidentifier : webmail, intranet, services du portail, etc. Réciproquement, un usager authentifié sur un de ces services n'a pas besoin de se réidentifier pour utiliser Moodle. 3 Central Authentication Service : http://www.cru.fr/sso/ L'intégration de Moodle à l'uhb - 3/14
2 L'intégration avec le Système d'information de l'établissement 21 Création quotidienne des nouveaux comptes-utilisateurs à partir de LDAP Le compte Moodle d'un nouvel usager est créé à partir de LDAP (conforme aux recommandations SupAnn4) dans la nuit qui suit son enregistrement dans le système d'information. Auparavant, dans la même nuit : les fiches LDAP des étudiants avaient été créées à partir de notre système de gestion des étudiants (APOGÉE à l'uhb) ; les fiches LDAP des personnels (et assimilés) avaient été créées à partir de système de gestion des personnels (HARPÈGE à l'uhb) ; les fiches LDAP des stagiaires en formation continue avaient été créées automatiquement à partir de fichiers d'inscrits déposés via le Web par les gestionnaires des différents services concernés. Le script utilisé est auth_ldap_sync_users.php, avec modification de la fonction auth_sync_users. L'appariement des données (LDAP -> Moodle) est défini dans les «options d'authentification» de Moodle. Sont récupérées : le Prénom (depuis givenname) le Nom (depuis sn) l'adresse de courriel (depuis mail, l'adresse officielle de l'usager à l'université) le Téléphone 1 (depuis telephonenumber) le Téléphone 2 (depuis supannautretelephone) la Ville (depuis l) Et pour les étudiants : l'ufr de rattachement (depuis supannaffectation vers la rubrique Moodle institution) le Diplôme principal (depuis attuhbetp vers la rubrique Moodle department) le Numéro d'étudiant (depuis supannetuid vers la rubrique Moodle idnumber) l'adresse postale (depuis postalcode, attuhbpays, attuhblibade, street vers les rubriques Moodle yahoo, aim, msn, address) À noter : l'adresse postale est utilisée par le SUED pour envoyer les polycopiés à ses étudiants. 4 Groupe de travail sur les annuaires dans l'enseignement supérieur : http://www.cru.fr/ldap/supann/ L'intégration de Moodle à l'uhb - 4/14
22 Mise à jour quotidienne des comptes-utilisateurs à partir de LDAP Les modifications de la fiche LDAP d'un usager sont répercutées dans Moodle la nuit même. Seules les données Adresse de courriel, Téléphone1, et Téléphone2 ne sont pas concernées par cette synchronisation car l'utilisateur Moodle a la possibilité de les modifier. En particulier, il peut remplacer son adresse officielle prenom.nom@uhb.fr par une autre adresse personnelle. Le script utilisé est également auth_ldap_sync_users.php. Extrait de la configuration LDAP dans Moodle : L'intégration de Moodle à l'uhb - 5/14
23 Le choix de ne pas inscrire automatiquement aux cours Moodle : pourquoi? Nous avons fait le choix de laisser les étudiants «traditionnels» s'inscrire librement dans les cours qui les concernent. Pourtant Moodle permettrait d'inscrire automatiquement les étudiants dans les cours en fonction de leurs inscriptions pédagogiques enregistrées dans APOGÉE. Le lien serait fait via le Numéro d'identification du cours qui pourrait correspondre au code du cours APOGÉE. Mais cette approche se heurte à plusieurs difficultés d'organisation que nous avions identifiées lorsque nous utilisions la plate-forme WebCT : Les inscriptions pédagogiques sont loin d'être toutes enregistrées dans APOGÉE au moment de la la reprise des cours ; de même que les changements d'orientation en cours d'année. Un espace-cours Moodle correspond souvent à plusieurs cours officiels dans APOGÉE, pour différentes raisons : l'enseignant préfère parfois regrouper tout ou partie de ses documents de cours dans un seul espace-cours ; de plus en plus de cours sont transversaux et apparaissent donc dans plusieurs diplômes ; les enseignants se regroupent parfois en équipe pédagogique autour d'un seul espace-cours commun, rassemblant la totalité des cours correspondant à une année de diplôme ou bien à une unité d'enseignement. Cette solution n'a pas que des inconvénients : il n'y a aucun risque de blocage ; un étudiant peut s'inscrire à un cours Moodle de la même façon qu'il peut entrer dans une salle de cours, même si ses inscriptions pédagogiques ne sont pas à jour ; seuls les étudiants réellement concernés (et non pas tous ceux officiellement inscrits) apparaissent dans la liste des participants au cours. L'intégration de Moodle à l'uhb - 6/14
24 Les nouveaux outils de gestion des inscriptions développés à l'uhb Ils sont à la disposition des administrateurs et des gestionnaires des services de formation. 241 Outil «Lister les étudiants» Cet outil permet de connaître la liste des étudiants inscrits ainsi que la totalité de leurs inscriptions. L'interrogation est notamment possible par UFR, par diplôme et par catégorie de cours. Il est possible de télécharger le résultat en format texte. C'est ce qui permet au SUED d'adresser automatiquement les polycopiés les concernant à ses étudiants. Liste des étudiants du SUED inscrits dans un cours d'anglais (code = AN...) : L'intégration de Moodle à l'uhb - 7/14
242 Outil «Inscrire plusieurs étudiants à un cours» Cet outil permet d'inscrire plusieurs étudiants à un cours. Et également d'inscrire tout ou partie des étudiants d'un cours dans un autre cours. Il pourrait être prochaine interfacé avec le précédent outil Lister les étudiants afin de pouvoir travailler sur une sélection d'étudiants ; par exemple, les étudiants inscrits dans un diplôme donné. Prêt à inscrire 4 étudiants au cours AN011L : L'intégration de Moodle à l'uhb - 8/14
243 Outil «Inscrire un étudiant à plusieurs cours» Cet outil permet d'inscrire un étudiants à plusieurs cours. On peut rechercher l'étudiant sur la base de son nom ou de son numéro. On peut restreindre la liste des cours potentiels à une (sous-)catégorie. Prêt à inscrire Maude Madec dans tous les cours de Master 2 d'espagnol : L'intégration de Moodle à l'uhb - 9/14
3 L'intégration avec le portail de l'établissement (Esup-Portail5) L'idée est d'aller au-delà d'un simple lien du portail vers Moodle : c'est-à-dire présenter à l'usager des informations personnelles concernant ses cours sur Moodle. Cours dont il est étudiant ou bien dans lesquels il intervient. Nous avons donc développé un «canal» Moodle pour uportal. 31 Quelles informations présenter à l'utilisateur? 311 Liste de ses inscriptions en tant qu'étudiant et en tant qu'intervenant ; avec lien direct vers le cours. Liste des inscriptions de l'usager connecté au portail, en tant qu'étudiant et intervenant : 5 Espace numérique de travail pour les étudiants et les personnels de l'enseignement Supérieur : http://www.esupportail.org/ L'intégration de Moodle à l'uhb - 10/14
312 Modifications récentes dans chacun de ses cours ajout ou dernière modification d'une ressource ou d'une activité (page web, test, devoir, etc.) ; depuis la dernière visite dans ce cours avec lien direct vers la ressource ou l'activité. Liste des modifications récentes de l'usager connecté au portail : L'intégration de Moodle à l'uhb - 11/14
32 Aspects techniques du canal 321 Interopérabilité : absence de service Web dans Moodle... Actuellement, il n'existe pas de stratégie pour implémenter un outil sous forme de webservice. Cette approche permettrait par exemple de demander à Moodle de retourner, au format XML, la liste des inscriptions d'un étudiant. À charge au programme appelant de les exploiter à sa guise. Mais cette lacune devrait être comblée dans les versions à venir. La solution mise en oeuvre devrait permettre de répondre à des requêtes de type XML-RPC, SOAP ou REST. Voir à ce propos l'échange sur Moodle.org «Services Web dans le futur Moodle» : «http://moodle.org/mod/forum/discuss.php?d=44079 En attendant, le canal Moodle (déployé sur le serveur-portail) est obligé d'interroger directement la base de données. L'intégration de Moodle à l'uhb - 12/14
322 Java et SQL pour produire le flux XML de données Le programme MyCourses.java adresse une requête SQL à la base Moodle : «Quelles sont les inscriptions en tant qu'étudiant de l'usager connecté au portail?». Et met le flux résultant au format XML. Extrait du programme MyCourses.java : L'intégration de Moodle à l'uhb - 13/14
323 XSL6 pour la restitution La feuille de transformation MyCourses.xsl indique quelles données il faut extraire du flux précédent. Elle spécifie également les balises HTML de base (<p>, <ul>, <li>, <a>, etc.) pour la présentation. Des styles de présentation (définis ailleurs) peuvent éventuellement être spécifiés. Extrait de la feuille de transformation MyCourses.xsl : 6 Extensible stylesheet language : http://fr.wikipedia.org/wiki/xsl L'intégration de Moodle à l'uhb - 14/14