Demo Center

Principe

Le Demo Center est une application Spring Boot dont l’objectif est de construire des scopes basés sur un ensemble de modules. Le CLM est utilisé pour créer des scopes à partir de modules stockés dans un projet Git.

Les projets sont ainsi stockés dans une base de données (h2) et peuvent être clonés par les utilisateurs depuis l’interface graphique en renseignant un couple login/password.


Par défaut, l’application est accessible sur l’URL : http://localhost:2503/demo-center

Configuration

FlowerDocs

Le Demo Center nécessite un accès à FlowerDocs Core. Celui-ci peut être configuré avec les propriétés suivantes :

Nom Description
system.admin.username Identifiant de l’utilisateur FlowerDocs avec le rôle SYSTEM_ADMIN
system.admin.password Mot de passe de l’utilisateur FlowerDocs avec le rôle SYSTEM_ADMIN
ws.url URL d’accès aux web services FlowerDocs Core

LDAP

Lors de la création d’un scope, le Demo Center remplace certaines variables définies comme tags des documents de configuration. Les informations du LDAP peuvent donc être variabilisées dans la configuration et ainsi définies par le Demo Center afin de créer un scope configuré pour l’environnement cible.

Lors de la création du scope, une unité d’organisation (OU) est créée (si elle n’existe pas déjà) permettant ainsi d’isoler les utilisateurs de chaque scope. Dans cette OU, deux utilisateurs sont créés :

  • un administrateur de l’OU
  • un administrateur du scope (correspondant à l’utilisateur authentifié par SSO ou aléatoire)
Nom Description
ldap.url URL d’accès au LDAP
ldap.type Type de LDAP dont les valeurs possibles sont définies par le tag LDAPType
ldap.user DN de l’utilisateur utilisé pour se connecter au LDAP
ldap.password Mot de passe de l’utilisateur utilisé pour se connecter au LDAP
ldap.baseDN Base DN du LDAP
ldap.attributes.search Attribut utilisé pour rechercher des utilisateurs dans le LDAP
ldap.attributes.id Attribut utilisé pour déterminer l’identifiant d’un utilisateur dans le LDAP
ldap.attributes.displayName Attribut utilisé pour déterminer le libellé d’un utilisateur du LDAP
ldap.attributes.members Attribut utilisé pour les membres d’un groupe du LDAP
ldap.ouAdmin Identifiant de l’utilisateur à créer dans l’unité d’organisation du scope

Authentification

Un utilisateur peut se connecter à l’interface graphique du Demo Center à travers deux moyens :

  • le compte utilisateur FlowerDocs défini
  • un mécanisme de SSO (OAuth2)

La configuration du standard OAuth2 doit être réalisée en suivant la documentation Spring Boot. Par exemple, pour configurer le fournisseur d’identité Google, il est nécessaire d’ajouter les propriétés :


spring.security.oauth2.client.registration.google.client-id=<client-id>
spring.security.oauth2.client.registration.google.client-secret=<client-secret>

Notification Email

Lorsqu’un scope est créé avec succès grâce au Demo Center, un email de notification est envoyé. Afin de configurer ce mécanisme, il est nécessaire de définir à minima les propriétés suivantes :

Nom Description
spring.mail.host URL du serveur SMTP
spring.mail.port Port du serveur SMTP
spring.mail.username Adresse email du compte email
spring.mail.password Mot de passe du compte email
gui.url URL d’accès à FlowerDocs GUI


A titre d’exemple, la configuration ci-dessous permet l’utilisation d’un serveur email OVH :


spring.mail.host=SSL0.OVH.NET
spring.mail.port=587 
spring.mail.username=<email>
spring.mail.password=<mot de passe>
spring.mail.properties.mail.smtp.starttls.enable=true 
spring.mail.properties.mail.smtp.ssl.trust=*

Modules

Pour faciliter la construction de scopes, les modules peuvent configurés avec les propriétés :

Nom Description
modules.required Modules obligatoires pour la création d’un scope. Ils sont automatiquement ajoutés aux modules sélectionnés pour la création d’un scope
modules.hidden Non-visibles par les utilisateurs dans l’interface graphique

Auto-initialisation

Le mécanisme d’auto-initialisation permet, dès le démarrage de l’application, d’initialiser automatiquement des projets. Chaque projet configuré sera automatiquement créé s’il n’existe pas et cloné pour maintenir les modules à jour.

Nom Description
startup.projects.index.url URL du projet Git
startup.projects.index.branch Branche à cloner
startup.projects.index.credentials.name Nom d’utilisateur Git
startup.projects.index.credentials.password Mot de passe de l’utilisateur Git


La chaîne de caractères index doit être remplacée par une chaîne de caractères unique.