Nov 4, 2021 3:52:16 PM Thomas Dumont avatar

Tutorial: Create a Lutece plugin step by step

The Lutece MOOC

This course will teach you all the basics of development with Lutece. You will discover:

  • the general architecture of Lutece with its Front Office and its Back Office.
  • using the code generator to create your first plugin
  • standards, best practices and rules for producing a compliant code
  • the assembly of a site containing several plugins
  • basic monitoring of your site


The skills required for this course are:

  • good knowledge and practice of the Java language.
  • good knowledge and practice of HTML and CSS.

Other skills can be beneficial such as:

  • good knowledge and practice of Spring IoC.
  • good knowledge and practice of Freemarker.

Enroll in !

The classic tutorial

Otherwise, a classic tutorial is available on github. The goal of this tutorial is to make a Lut├Ęce plugin : a basic application using the Lutece portal services.

This tutorial offers different steps :

  • Initialization
    • Installation of the prerequisites
    • use of the plugin-WIZARD application to easily create the skeleton of our project
    • launch of the plugin within a lutece site
  • Customization of the plugin
    • modification of the pages of the application
    • modification of the data model
    • launch of the plug-in within a lutece site using other plugins
  • Using services from other plugins
    • added a voting/comment feature to the plugin's pages
    • adding a REST webservice
    • add the implementation of a cache system
  • Finalization of the plugin
    • Formatting, testing, packaging

Go to the tutorial


The tutorial is available on github at the following address :

The sample application generated during this turorial is also available :

The GIT branches of this project are used as follows :

  • branches step0 to step6: branches corresponding to the successive states of the plugin's sources with each addition of functionality
  • develop branch: full version of the plugin
  • Master branch: initial branch of the project containing this file