ESCO-Portail et la gestion des groupes

Christian Daviau

GIP RECIA

151 Rue de la Juine – 45160 Olivet



Arnaud Deman

GIP RECIA

151 Rue de la Juine – 45160 Olivet


Résumé

L'ENT ESCO-Portail est un projet porté par le GIP RECIA et qui a pour objectif d'adapter l'ENT ESUP-Portail aux besoins et aux contraintes des établissements d'enseignement secondaire. Le déploiement d'un ENT unique destiné à un grand nombre d'utilisateurs et partagé par de nombreux établissements autonomes donne à la gestion des groupes une importance prépondérante. En effet, c'est à travers elle que le GIP RECIA a choisi de mettre en œuvre la délégation de l'administration de l'ENT et de ses services dans chaque établissement. Internet2/Grouper est l'outil qui a été retenu pour ses fonctionnalités et ses capacités d'adaptation.

Nativement riche, Grouper a cependant nécessité des enrichissements fonctionnels et techniques pour s'adapter à un environnement à fortes contraintes :

La réalisation de ces travaux a été l'occasion d'établir les bases d'une collaboration avec les communautés Internet2, JaSig et ESUP.

Mots clefs

ENT, Gestion des groupes, délégation d'administration, ESCO-Portail, ESUP-Portail, Internet2, Grouper, uPortal

1Introduction

Le GIP RECIA1 (RÉgion Centre InterActive), constitué en octobre 2003 a pour co-contractants l'État, le Conseil Régional Centre, les universités d'Orléans et Tours, le Conseil Général du Cher, le CROUS d'Orléans-Tours et enfin l'Association de Développement et de Promotion des Technologies de l'Information et de la Communication (DPTIC). Ce Groupement d'Intérêt Public "Recherche" (loi n°82-610 du 15 juillet 1982) a notamment pour objet :

Une des missions confiée au GIP RECIA concerne le développement des ENT pour tous les établissements d'enseignement secondaire de l'académie Orléans-Tours. Les universités régionales ayant choisi de déployer leurs ENT sur la base du projet ESUP-Portail, il a dès le début été envisagé d'adapter cet ENT pour les établissements d'enseignement secondaire. Une étude réalisée fin 2007 a confirmé la pertinence de ce scénario : le projet ESCO-Portail était né.

Des collaborations avec le consortium ESUP-Portail, mais aussi avec d'autres académies comme celle de Bordeaux (projet ARGOS2), Montpellier (projet 4-5-63) et Lille ont été opérées pour concrétiser le projet.

Le développement et la mise en œuvre de l'ENT pour les établissements d'enseignement secondaires en Région Centre est financé à parts égales par la Région Centre4, l'État5, le FEDER6 (Fond Européen de Développement Régional) et le GIP RECIA. Pendant l'année 2008/2009, 9 lycées (dont un lycée agricole) ont expérimenté l'ENT, suivis en octobre 2009 par 4 collèges. La généralisation du déploiement a commencé en novembre 2009 sur le périmètre lycées à raison de 30 nouveaux établissements par année scolaire.

2Contexte

2.1Contexte de mise en œuvre de l'ENT ESCO-Portail

La mise en œuvre d'un ENT en Région Centre repose sur une collaboration entre divers acteurs aux compétences complémentaires :



Le périmètre le plus important concerne celui de l'éducation nationale, avec ses 340 établissements (106 lycées et 234 collèges), ses quelques 180 000 élèves et un potentiel de 600 000 comptes (élèves, personnels, parents...) répartis dans des groupes d'établissements ou académiques (groupes disciplinaires, cités scolaires...) dont le nombre final est estimé à 50 000.



L'ENT doit, entre autres, permettre de concilier une centralisation académique et territoriale avec une vision d'établissement. Le système d'information est académique, il regroupe toutes les informations relatives aux lycées et collèges. Les services ENT sont mis en œuvre pour chaque porteur de projet (collectivités territoriales) et, une fois authentifié, l'utilisateur doit retrouver l'environnement de son établissement (Figure 2).

2.2Constitution du référentiel ENT

Selon le cahier des charges des ENT du second degré, le référentiel ENT est constitué à partir d'extractions de ce qui est appelé « Annuaire Fédérateur Académique » et qui est en fait un entrepôt de données issues des bases métier de l'Éducation Nationale. ESCO-Portail dispose d'un dispositif, nommé ESCO-Sarapis, qui permet de constituer un référentiel ENT fiable et évolutif à partir de ces extractions. ESCO-Sarapis donne une cohérence aux informations reçues, crée et met à jour les comptes des utilisateurs et envoie au gestionnaire de groupes (Internet2/Grouper), au moyen de ESCO-Grouper, les informations nécessaires à la constitution des groupes de base (classes, niveaux, types de populations...) avant publication dans l'annuaire LDAP.

Figure 3: dispositif d'alimentation automatisé du référentiel ENT




2.3Les groupes dans ESCO-Portail

Il a très vite été identifié que la gestion des groupes proposée par uPortal ne pourrait pas satisfaire aux objectifs spécifiques du projet :

La recherche d'un outil « universel » de gestion des groupes a été donc réalisée et le choix s'est porté sur Grouper8, proposé par la communauté Internet2. Cet outil répond à une grande partie des besoins exprimés et son architecture très ouverte permet des évolutions nécessaires au projet :

De plus, la communauté Internet2 est très active, ce qui permet de discuter des évolutions et trouver de l'aide en cas de difficultés. Le GIP RECIA aura implémenté à la fin de l'année civile l'ensemble des fonctionnalités manquantes. Ces réalisations ont été l'occasion de commencer à mettre en place des collaborations avec les consortiums Internet29 (qui a réalisé une étude de cas sur l'utilisation de Grouper dans ESCO-Portail10)et le JASIG11.

3Grouper

3.1Les concepts

Dans Grouper, les groupes peuvent contenir des individus, d'autres groupes ou encore un mélange des deux. La notion de dossier, proche de celle d'espace de noms facilite la structuration de la hiérarchie des groupes. Une caractéristique technique fondamentale de Grouper est de réaliser le calcul des appartenances lors de la création ou de la modification des groupes et non lors de leur utilisation. L'intérêt est de garantir des temps de réponse performant et une bonne résistance à la charge. Enfin, Grouper offre un certain nombre de facilités d'adaptation, comme la possibilité de créer des types de groupes personnalisés ou encore un mécanisme pour implanter des extensions (hooks).

Figure 4: concepts de Grouper




3.2Les droits sur les dossiers et sur les groupes

La gestion des droits dans Grouper est suffisamment fine et détaillée pour permettre la mise en place d'un mécanisme de délégation d'administration.

Dans le projet ESCO-Portail, ces possibilités sont très précieuses. Elles permettent, par exemple, de déléguer dans les établissements la définition des droits d'accès aux canaux du portail : chaque canal est accessibles aux membres d'un groupe et la composition de ce groupe est laissé à la discrétion des administrateurs locaux des établissements.



3.3Publication dans LDAP

Pour que des applications externes puissent utiliser les groupes constitués via Grouper, un mécanisme de publication dans les branches des groupes et des individus de l'annuaire LDAP est utilisé. Cette publication est assurée par un composant développée par la communeauté Internet2 : LDAPPC, qui est déclanché régulièrement afin de maintenir la cohérence entre Grouper et l'annuaire. Parmis les applications exploitant les groupes exportés dans l'annuaire, on peut citer l'application de cahier de textes ou encore Sakai, l'outil de formation et d'enseinement à distance. Pour ce dernier, un connecteur spécifique à été développé par l'un de nos prestataires, afin de réaliser une intégration la plus complète possible.

3.4Interface de gestion des groupes

L'interface utilisateur initiale de Grouper permet de réaliser toutes les fonctions nécessaires à la gestion des groupes. Elle a été francisée et légèrement adaptée pour pouvoir être utilisée dans les établissements par les administrateurs locaux. Cependant, cette interface n'a pas la simplicité suffisante pour être généralisée, elle est adhérente à une version maintenant dépassée de Grouper (1.2.1) et ne permet pas d'utiliser toutes les possibilités de Grouper (types de groupes personnalisés, groupes dynamiques...). Une nouvelle interface est désormais nécessaire, plus conviviale, ouverte aux extensions, non adhérente à la version de Grouper et intégrée au portail sous forme de portlet.

4Nouvelles fonctionnalités

4.1Constitution d'une hiérarchie de groupes initiale

A partir des possibilités offertes par Grouper, une stratégie de gestion des groupes a été définie pour permettre de répondre à un certain nombre d'objectifs : déléguer une partie des tâches d'administration dans les établissements, profiler les accès à l'ENT ou gérer les droits au niveau des différents canaux. Un certain nombre de services, sensibles du point de vue de la sécurité, s'appuient également sur la gestion des groupes comme, par exemple, la possibilité pour les enseignants de réinitialiser l'ensemble des mots de passe des élèves d'une de leurs classes. Cette stratégie de gestion des groupes rend nécessaire la constitution automatisée d'une hiérarchie initiale de groupes pour chacun des établissements intégrés dans le périmètre de l'ENT. Outre la création de groupes et de dossiers, ce processus a également en charge le positionnement des privilèges et la ventilation des personnes rattachées aux établissements : personnels administratif, enseignants, élèves, parents...

D'un point de vue technique, l'organisation des dossiers, des groupes ainsi que les relations d'appartenance et d'administration sont définies de façon synthétique, via un mécanisme de « templates ». Le module d'alimentation est constitué de deux parties : un web service qui contient la logique métier relative à la gestion des relations d'appartenance et d'administration et un client qui détermine les informations transmises au web service. L'intérêt de ce découpage est de faciliter la réutilisation de ce module dans d'autres contextes : seule la partie cliente, la plus simple, devant être adaptée.

4.2Accès aux groupes pour le portail et les canaux

Les groupes définis dans Grouper n'ont d'utilité que s'ils sont accessibles aux autres applications : ENT, canaux et applications externes. Suivant le type d'applications, deux modes différents d'accès aux groupes sont utilisés. Nous avons vu plus haut que Grouper propose un mécanisme de publication des groupes dans l'annuaire LDAP (LDAPPC). Pour le portail et les canaux une intégration à été réalisée au nivaux du gestionnaire de groupes uPortal.

L'intégration des groupes définis dans Grouper au sein du portail repose, d'une part, sur un web service d'exposition des groupes et dossiers et, d'autre part, sur deux GroupStores qui sont des composants spécifiques du gestionnaire de groupes du portail. Le web service modifie également la sémantique de Grouper pour l'adapter à celle du portail en lui présentant les dossiers comme s'ils étaient des groupes. L'un des GroupStore est un client de ce web service tandis que l'autre est chargé de monter dynamiquement l'arborescence issue de Grouper dans celle du portail, sans écriture dans la base de données uPortal. Ces composants permettent au portail d'accéder de façon transparente aux groupes définis dans Grouper. Ainsi, ceux-ci peuvent être utilisés dans les définitions de layouts (DLM) ou pour positionner les droits d'accès aux canaux. Les canaux les plus anciens du portail (i.e. implémentant l'interface IChannel) peuvent les utiliser via le canal servant de gestion de groupes. Il s'agit, par exemple, du canal d'accès aux espaces de stockages. Les plus récents, qui sont développés sous la forme de portlets, comme ESUP-Lecture ou NewsPortlet, y accèdent via le web service mis à disposition par la communauté ESUP-portail.



4.3Groupes dynamiques

Nativement, Grouper ne permet pas de créer de groupes définis sur des critères d'appartenance. Dans le portail, les groupes de type PAGS (Person Attributes Group Store) permettent de constituer de tels groupes, définis en fonction des attributs des individus. Ceux-ci étant très utilisés, une extension de Grouper a été réalisée afin de supporter un type de groupes équivalent aux groupes PAGS : les groupes dynamiques. La contrainte principale pour ce développement était, pour une question de performance, de ne pas dégrader le fonctionnement normal de Grouper dans lequel le calcul des appartenances est réalisé lors de la création et de la modification des groupes.
La structure de cette extension peut être décomposée en trois grandes parties :

D'un point de vue technique les définitions logiques des groupes dynamiques respectent une grammaire élémentaire. A partir de cette grammaire, un analyseur lexical et un analyseur syntaxique ont été générés via l'outil ANTLR (Another Tool For Language Recognition). Pour le module d'initialisation, notre référentiel des individus étant un annuaire LDAP, une implémentation réalisant une traduction des définitions logiques en filtre LDAP a été développée. Enfin, pour le maintient de cohérence, notre implémentation s'appuie sur le protocole de réplication LDAP Sync. Le module est vu par l'annuaire comme un réplicat LDAP et, via ce mécanisme, les modifications qui interviennent dans le référentiel des individus sont transmises au niveau des Groupes. Pour Grouper, les groupes dynamiques sont des groupes classiques et peuvent être manipulés exactement comme les groupes natifs.

Nous avons déjà vu que dans Grouper, il est possible de définir des types de groupes personnalisés et d'y associer un champ spécifique. Les groupes dynamiques exploitent cette possibilité, pour discriminer les groupes natifs des groupes dynamiques et pour réaliser l'association entre ces derniers et leur définition logique. Enfin, la logique métier correspondant à ce nouveau type de groupes est intégrée de façon transparente via le mécanisme d'extension de Grouper : les hooks.

4.4Nouvelle interface utilisateur pour Grouper

L'interface développée par la communauté Internet 2 est orientée administrateurs. Pour faciliter l'utilisation de l'outil dans les établissements, une nouvelle interface est développée par l'un de nos prestataires. Les caractéristiques principales de cette nouvelle interface sont :

5Perspectives

Après plus d'une année en production comme élément du socle de l'ENT, Grouper se révèle être un outil très efficace pour répondre aux besoins des établissements d'enseignement secondaire, en particulier grace à ses capacités d'adaptation, les possibilités qu'il offre en terme de délégation d'administration et les améliorations qui ont été apportés dans le projet ESCO-Portail. L'objectif est d'utiliser Grouper comme unique référentiel de groupes allant jusqu'à couvrir des besoins fontionnels très variés comme la constitution de listes de diffusion ou de certains groupes systèmes tels que ceux utilisés par Samba. Le travail d'intégration de l'ensemble des applicatifs se poursuit afin de les rendre capables d'interagir avec Grouper, via le web service ou par l'intermediaire de l'annuaire LDAP. La publication dans l'annuaire LDAP doit être améliorée en l'orientant vers une publication en temps réel.
Enfin, l'intégration au portail doit se poursuivre avec, comme objectif final, de remplacer par Grouper le gestionnaire de groupes actuel. Grace à la communauté ESUP-portail, des premiers contacts ont pu être établis dans ce sens avec le JASIG qui suit avec grand intérêt les développements réalisés pour le projet ESCO-Portail, notament pour ce qui concerne la nouvelle interface graphique.

1http://www.recia.fr

2http://argos.ac-bordeaux.fr/argos.htm

3http://www.crdp-montpellier.fr/ent/

4http://www.regioncentre.fr

5http://www.loiret.pref.gouv.fr et http://www.ac-orleans-tours.fr

6http://europa.eu/legislation_summaries/employment_and_social_policy/job_creation_measures/l60015_fr.htm

7http://www.draf.centre.agriculture.gouv.fr/

8http://www.internet2.edu/grouper/

9http://www.internet2.edu/

10http://www.internet2.edu/pubs/GIP_RECIA_GrouperCaseStudy.pdf

11http://www.jasig.org/

9/9 JRES 2009