Sites


Lutece : guide intégrateur

Choisir des composants selon le type de site

Concevoir un site avec Lutece est une histoire de choix, à la fois de fonctionnalités et de versions. Dans ce chapitre nous allons mettre en place des exemples de différents types de sites en proposant pour chacun la liste des plug-ins et modules à choisir pour générer un site immédiatement opérationnel et qui répondent à l’objectif que l’on s’est fixé à savoir : informer, proposer et participer.

Informer

Un site d’information nécessitera des composants permettant de mettre en place les fonctionnalités de publication éditoriale.

Un certain nombre de ces fonctionnalités sont incluses dans le core de Lutece, qui est à l’origine un outil de CMS (Content Management System) avant de devenir un framework de développements web.

Ainsi les fonctionnalités de gestion des utilisateurs, d’administration des pages du site, de positionnement de rubrique de contenu dans les pages par exemple sont présentes dans un site qui ne contiendrait que le composant core, c’est-à-dire le composant minimum indispensable pour générer un site Lutece.
Il s’agit ensuite d’enrichir son site avec toutes les fonctionnalités qui seraient nécessaires pour répondre à son besoin, en incluant la liste des composants nécessaires dans son POM de site.

Par exemple, un site éditorial permettant de publier de l’information variée serait généré par un pom.xml ayant entre autres les composants suivants : 

Pour la navigation sur le site, des plug-ins permettent de gérer les pages filles, d’insérer des rubriques personnalisables, des menus, d’insérer via l’éditeur de texte riche :

        <!-- Plugin de gestion des rubriques de pages filles du site  -->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>plugin-childpages</artifactId>
            <version>4.0.1</version>
            <type>lutece-plugin</type>
        </dependency>
        <!-- Plugin de gestion de menus de navigation du site front office -->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>plugin-menus</artifactId>
            <version>2.0.4</version>
            <type>lutece-plugin</type>
        </dependency>
        <!-- Plugin d'insertion de liens vers des pages du site -->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>plugin-linkpages</artifactId>
            <version>4.0.3</version>
            <type>lutece-plugin</type>
        </dependency>
        <!-- Plugin d'insertion dans l'éditeur de texte de liens vers les pages du site  -->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>plugin-pagelinkservice</artifactId>
            <version>3.0.3</version>
            <type>lutece-plugin</type>
        </dependency>

Pour la saisie de contenus simples et directs dans la page en BO, un éditeur HTML riche, avec un plug-in intégré d’insertion de contenu provenant de différents contenus, provenant de Lutece ou d’interface extérieure (document, pages filles, intégration d’une carte, d’un slider, d’une vidéo...) :

        <!-- Plugin d'insertion de contenu directement dans une rubrique du site via un éditeur html  -->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>plugin-html</artifactId>
            <version>3.1.0</version>
            <type>lutece-plugin</type>
        </dependency>
  <!-- Plugin d'insertion de contenu dans une page du site via un éditeur html  -->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>plugin-htmlpage</artifactId>
            <version>4.0.1</version>
            <type>lutece-plugin</type>
        </dependency>      


Pour la saisie de contenus structurés, le plug-in document et les plug-ins/modules associés :

        <!-- Plugin de création de contenu éditorial structuré -->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>plugin-document</artifactId>
            <version>4.0.1</version>
            <type>lutece-plugin</type>
        </dependency>
        <!-- Plugin d'insertion en masse de fichiers dans un espace de document (par exemple toutes les photos d'un répertoire de son disque dure pour constituer un album en ligne)  -->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>plugin-files2docs</artifactId>
            <version>1.0.6</version>
            <type>lutece-plugin</type>
        </dependency>
        <!-- Plugin de gestion de la newsletter (contenu type document et saisie html directe -->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>plugin-newsletter</artifactId>
            <version>3.0.2</version>
            <type>lutece-plugin</type>
        </dependency>
        <!-- Plugin d'insertion des documents dans la newsletter -->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>module-newsletter-document</artifactId>
            <version>1.0.2</version>
            <type>lutece-plugin</type>
        </dependency>


Pour la gestion d’un agenda, avec possibilité d’associer du contenu documentaire aux événements

        <!-- Plugin de gestion d'un agenda  -->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>plugin-calendar</artifactId>
            <version>4.1.0</version>
            <type>lutece-plugin</type>
        </dependency>
        <!-- Plugin d'association de document éditoriaux à des événenment de l'agenda  -->        
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>module-documenttocalendar</artifactId>
            <version>1.1.1</version>
            <type>lutece-plugin</type>
        </dependency>

Il est possible d’ajouter des « extensions de contenu », qui permettent d’ajouter des commentaires, votes, demander l’avis sur une ressource, des barres de réseaux sociaux...

 

        <!-- Plugin des extensions sur le FO  -->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>plugin-extend</artifactId>
            <version>1.2.1</version>
            <type>lutece-plugin</type>
        </dependency>
        <!-- Plugin d'insertion d'un extension de type commentaire sur le FO  -->                
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>module-extend-comment</artifactId>
            <version>1.1.4</version>
            <type>lutece-plugin</type>
        </dependency>

 

Le fichier complet est accessible en Annexe 2 (à renommer en fichier pom.xml)

Voici un exemple de site purement éditorial



Proposer

Ce type de site permet de proposer des services pour un usager du site.
Typiquement il permet de proposer des téléservices dématérialisés, de manière paramétrable, avec suivi de ses demandes par l’usager et traitement des demandes dans le back-office.

Dans le cadre d’une Administration, ce type de site est couramment utilisé pour proposer des sites de type « Appels à projets », dématérialisation de procédures administratives, accessibles à partir d’un guichet en ligne (de type Portail Citoyen par exemple)

Les plug-ins de proposition de services dématérialisés sont soit « clé en main », à paramétrer, soit des développements spécifiques rendant un service précis, en général en interaction avec des applications métiers d’un Système d’Information.

 

Le Guichet d’accès est constitué d’un ensemble de plug-ins permettant à un utilisateur connecté d’accéder à la liste des services en ligne, à la liste de ses demandes en cours et leur état d’avancement, éventuellement à ses demandes en état brouillon. Plusieurs plug-ins techniques permettent à ce composant d’interagir avec d’autres plug-ins, ou des applications métiers, par le biais de web service Rest, pour les remontées de notifications ou des statuts d’avancement de la demande par exemple.

 

         <!-- Plugin interface guichet -->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>plugin-crm</artifactId>
            <version>1.0.10-SNAPSHOT</version>
            <type>lutece-plugin</type>
        </dependency>
        <!-- Module technique de communication Rest avec d'autres services -->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>module-crm-rest</artifactId>
            <version>1.0.5-SNAPSHOT</version>
            <type>lutece-plugin</type>
        </dependency>
        <!-- Module technique de communication Rest avec le plugin Form, pour accéder au formulaire en mode brouillon notamment -->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>module-crm-form</artifactId>
            <version>2.0.1-SNAPSHOT</version>
            <type>lutece-plugin</type>
        </dependency>
        <!-- Module technique de communication Rest avec le plugin Wotkflow, pour notifier l'utilisateur selon l'état d'avancement de sa demande -->        
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>module-workflow-notifycrm</artifactId>
            <version>3.0.1-SNAPSHOT</version>
            <type>lutece-plugin</type>
        </dependency>

 

Les téléservices peuvent être mis en ligne avec différents types de composants. Le plus facile à utiliser est celui basé sur le plugin-form, qui permet de paramétrer dynamiquement un formulaire simple (voir documentation utilisateur, chapitre gérer les formulaires). Mais des téléservices rendant des services plus spécificiques, packagés sous forme de plug-in dédié peuvent être ajoutés au sein d’un même site. Cela peut permettre par exemple de composer un formulaire comprenant des listes déroulantes valorisées par une application métier par exemple. Les principes de développement de ces plug-ins spécifiques sont accessibles dans le manuel de développement Lutece, chapitre Développement de composants Lutece.

        <!-- Plugin de formulaires paramétrables -->
        </dependency>
             <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>plugin-form</artifactId>
            <version>4.1.1-SNAPSHOT</version>
            <type>lutece-plugin</type>
        </dependency>
        <!--Plugin spécifique de type xpage -->
        </dependency>
              <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>plugin-stationnement</artifactId>
            <version>[1.0.0-SNAPSHOT,)</version>
            <type>lutece-plugin</type>
        </dependency>  
        <!--Plugin spécifique de type xpage -->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>plugin-quotientfamille</artifactId>
            <version>[1.0.0-SNAPSHOT,)</version>
            <type>lutece-plugin</type>
        </dependency>

 

Les données des téléservices peuvent être stockées/traitées par des plug-ins génériques avec lesquels ils interagissent via des modules de communication entre les plug-ins

 

        <!-- Plugin de gestion d'une liste d'états - transition , utilisable dans différents types de plugins Lutece -->            
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>plugin-workflow</artifactId>
            <version>4.2.1-SNAPSHOT</version>
            <type>lutece-plugin</type>
        </dependency>
        <!-- Plugin de gestion de données Lutèce -->            
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>plugin-directory</artifactId>
            <version>4.0.1-SNAPSHOT</version>
            <type>lutece-plugin</type>
        </dependency>  
        <!-- Module d'insertion des données du plugin form dans le plugin directory -->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>module-form-exportdirectory</artifactId>
            <version>3.0.1-SNAPSHOT</version>
            <type>lutece-plugin</type>
        </dependency>  
        <!-- Module de génération d'un pdf d'une fiche directory-->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>module-directory-pdfproducer</artifactId>
            <version>1.1.2-SNAPSHOT</version>
            <type>lutece-plugin</type>                 
        </dependency>
    




Le fichier complet d’exemple d’un site de type guichet avec suivi des demandes est accessible en Annexe 3 (à renommer en fichier pom.xml). Il s’agit du site réalisé dans le cadre d’un Hackathon organisé par la DISIC sur le module d’authentification France Connect. Il est composé des plug-ins permettant de réaliser un guichet dématérialisé, de téléservices métiers, de composants éditoriaux permettant d’enrichir le site...

 Exemple d’architecture d’un site de téléservices

 

Les interfacers front office de ce type de site permettent à un usager par exemple de conserver un brouillon de sa demande tant qu'elle n'a pas été soumise à l'administration :

 

Ou encore d'accéder de manière centralisée à la liste de ses demandes à l'administration, de télécharger des récapitulatifs pdf, d'accéder à l'ensemble de ses notifications, de compléter ses demandes à l'initiative du gestionnaire back-office, ....

 

 

 

Participer

Ce type de site permet de proposer des services de participation des usagers, citoyens, acteurs d’un projet.
Typiquement il permet de proposer des sites où les internautes pourront donner leur avis sur un sujet, réagir à ces sujets et voter.

Le plug-in concerné peut être présenté sous la forme de forum ou encore d’outil participatif pour faire contribuer les internautes en leur permettant de faire des propositions sur un sujet précis, avec possibilité de commenter et voter sur chaque proposition.

        <!-- Plugin permettant de réaliser un outil de proposition/votes/commentaires par les internautes, ou encore un forum -->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>plugin-digglike</artifactId>
            <version>2.3.1</version>
           
<type>lutece-plugin</type>
        </dependency>

Il est possible d’ajouter des « extensions de contenu » permettant d’associer à tout type de contenu des possibilités d’interaction telles que les commentaires, votes, etc., sur des plug-ins standards de Lutece ou sur des plug-ins spécifiques (voir le Guide de développement Lutece - Chapitre Extensions de contenus, et le chapitre paramétrer les extensions de ce présent guide)

        <!-- Plugin et modules permettant d'ajouter des interactions des internautes sur du contenu de tout type -->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>plugin-extend</artifactId>
            <version>1.3.0</version>
           
<type>lutece-plugin</type>
        </dependency>        
        <!-- Module de commentaires -->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>module-extend-comment</artifactId>
            <version>1.1.4</version>
           
<type>lutece-plugin</type>
        </dependency>
        <!-- Module d'avis-->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>module-extend-feedback</artifactId>
            <version>1.0.3</version>
           
<type>lutece-plugin</type>
        </dependency>
        <!-- Module d'insertion d'une barre de réseaux sociaux -->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>module-extend-opengraph</artifactId>
            <version>1.2.0</version>
           
<type>lutece-plugin</type>
        </dependency>

 

Le plug-in Wiki permet d’intégrer un wiki à son site, enrichissant ainsi le contenu d’un espace de contributions partagées

        <!-- Plugin Wiki  -->
         <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>plugin-wiki</artifactId>
            <version>2.1.0</version>
           
<type>lutece-plugin</type>
        </dependency>

 

Ces modules sont en général utilisés dans le cadre de site en partie au moins authentifiés

        <!-- Plugin et module d'authentification des internautes -->
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>plugin-mylutece</artifactId>
            <version>3.3.0</version>
           
<type>lutece-plugin</type>
        </dependency>
        <dependency>
            <groupId>fr.paris.lutece.plugins</groupId>
            <artifactId>module-mylutece-database</artifactId>
            <version>4.0.0</version>
           
<type>lutece-plugin</type>
        </dependency>

 

Le fichier complet est accessible en Annexe 4 (à renommer en fichier pom.xml)

Exemple de Wiki

Il y a une erreur de communication avec le serveur Booktype. Nous ne savons pas actuellement où est le problème.

Vous devriez rafraîchir la page.