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.
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 |
system.admin.mail | Adresse mail de l’utilisateur FlowerDocs avec le rôle SYSTEM_ADMIN utilisé pour être notifié des créations de scope |
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 pour l’envoi d’email:
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=*
SYSTEM_ADMIN
est utilisé pour créer un scope et qu’aucune adresse email n’est configurée, la notification ne sera pas envoyée.
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 |