Le coeur Lutèce
Table des matières
Introduction
L’architecture Lutece est basée sur un Cœur (ou Core) auquel peuvent être attachés des plugins et modules afin d’ajouter des fonctionnalités spécifiques à un site.
Architecture Lutece
L’architecture modulaire de Lutece s’appuie donc sur la distinction entre le cœur et les plugins. Dans la terminologie Lutece, en plus du cœur et des plugins, il existe aussi un autre type de composant : les modules. Leur rôle est d’implémenter ou de spécialiser des fonctionnalités d’un plugin. Il s’agit d’une convention de nommage, car leur comportement est identique à celui d’un plugin. Un exemple d’implémentation de ce type de composant est le module mylutece-database, dont le rôle est d’implémenter les fonctionnalités d’authentification du plugin mylutece en se basant sur des utilisateurs stockés dans la base de données locale. Dans le cas où la webapp Lutece doit être protégée par une authentification de type SSO, partagée entre plusieurs sites, ce module peut être substitué par un module d’authentification SSO, tel que le module mylutece-oauth2.
Un coeur partagé par toutes les applications garantit l’homogénéité tant au niveau de l’implémentation que de l’interface utilisateur, sans surcharger de complexité tous les cas d’utilisation. Les principes de développement et d’organisation du code sont partagés entre le cœur et les plugins. Par exemple, le cœur et le plugin-document implémentent tous les deux des Content Services selon la même architecture.
Administration
Le coeur de Lutece sert donc à l’administration technique d’un site (activation de plugins, gestion de daemon ou de logs), à la gestion des RBAC et donc des utilisateurs mais également à l’administration de contenu éditorial :