29 déc. 2023, 10:53:55 Magali Lemaire

Architecture fonctionnelle de Lutece

Table des matières

Description d’une webapp lutece

Lorsqu’une webapp est déployée dans un conteneur de servlet, l’intégralité des fonctions du site sont accessibles depuis les URLs de cette webapp, par exemple http://www.example.com/webapp-example/ que l’on abrégera webapp.

On distingue d’emblée dans Lutece deux parties qui sont totalement séparées:

  • Le front office, destiné au public : URLs sous webapp/jsp/site/
  • Le back office, destiné aux administrateurs : URLs sous webapp/jsp/admin/

Le Front Office

Le point d’entrée principal est le fichier Portal.jsp. La quasi-totalité des contenus html du Front Office sont accessibles à l’URL webapp/jsp/site/Portal.jsp. Le contenu de la page est déterminé par les paramètres de la requête HTTP. Par exemple:

  • webapp/jsp/site/Portal.jsp?page_id=13
  • webapp/jsp/site/Portal.jsp?page=map
  • webapp/jsp/site/Portal.jsp?document_id=21&portlet_id=1

Les différents paramètres HTTP servent à utiliser différents Content Services. Lorsqu’il n’y a pas de paramètres HTTP, c’est le PageContentService (“page_id=XX”) qui est utilisé et qui renvoie le contenu de sa page racine (par défaut page_id=1, mais configurable).

Note: ces URLs techniques peuvent être remplacées par des URLs explicites en utilisant le plugin-seo (exemple: webapp/home.html pour webapp/jsp/site/Portal.jsp?page_id=1, ou webapp/sitemap.html pour webapp/jsp/site/Portal.jsp?page=map).

Autres URLs classiques

Lors de l’accès à l’URL webapp/, le contenu renvoyé est celui d’une URL de la webapp, configurable en Back Office. Par défaut, cette URL est webapp/jsp/site/Portal.jsp.

Les web services REST sont accessibles sous l’URL webapp/rest/* (nécessite a minima le plugin-rest et un plugin publiant des web services, comme module-document-rest).

Le Back Office

L’accueil du back office est accessible à l’URL webapp/jsp/admin/AdminMenu.jsp. Contrairement au contenu du Front Office accessible par le fichier Portal.jsp, les différentes fonctionnalités du back office sont accessibles par leurs propres fichiers “.jsp”, par exemple:

  • webapp/jsp/admin/ManageProperties.jsp
  • webapp/jsp/admin/system/ManagePlugins.jsp

L’accès au Back Office nécessite une authentification. Les liens vers les différents contenus sont ajoutés dynamiquement dans la page d’accueil en fonction des droits et des rôles de l’utilisateur back office.

Note: Nous parlons ici du mécanisme d’authentification Back Office. Il existe également un mécanisme d’authentification Front Office optionnel (plugin mylutece). Ces deux mécanismes ne doivent pas être confondus : ils sont indépendants et les deux populations d’utilisateurs totalement séparées.

Pour aller plus loin