2023-11-09 13:46:26 +01:00
<?xml version="1.0" encoding="utf-8"?>
<creole >
<containers >
<container name= 'web' >
<file filelist= 'envole' name= '/etc/apache2/sites-available/envole' source= 'envole-apache.conf' rm= "True" />
2023-11-13 16:40:30 +01:00
2023-11-10 11:33:16 +01:00
<file filelist= 'envole' name= '/usr/share/envole/docker/env/.env.local' source= 'envole.env' rm= 'True' />
2023-11-13 16:40:30 +01:00
<file filelist= 'envole' name= '/usr/share/envole/docker/env/.env.zapp.ninegate.local' source= 'envole-ninegate.env' rm= 'True' />
2023-11-17 16:40:41 +01:00
<file filelist= 'envole' name= '/usr/share/envole/docker/env/.env.zapp.nineboard.local' source= 'envole-nineboard.env' rm= 'True' />
2023-11-13 16:40:30 +01:00
<file filelist= 'envole' name= '/usr/share/envole/docker/env/.env.zapp.nextcloud.local' source= 'envole-nextcloud.env' rm= 'True' />
<file filelist= 'envole' name= '/usr/share/envole/docker/env/.env.zapp.phpldapadmin.local' source= 'envole-phpldapadmin.env' rm= 'True' />
<file filelist= 'envole' name= '/usr/share/envole/docker/volume/keycloak/envole/realm-export.json' source= 'envole-realm.json' rm= 'True' />
<file filelist= 'envole' name= '/usr/share/envole/docker/volume/nextcloud/envole/mount.json' source= 'envole-nextcloud.mount' rm= 'True' />
2023-11-09 13:46:26 +01:00
<service method= 'apache' servicelist= 'envole' > envole</service>
</container>
</containers>
<variables >
<family name= 'applications web' >
<!-- MASTERIDENTITY -->
<variable type= 'string' name= 'envole_masteridentity' mandatory= 'True' description= "Maître de l'identité" > <value > LDAP</value> </variable>
<!-- AUTHENTIFICATION -->
<variable type= 'string' name= 'envole_modeauth' description= "Mode Authentification" mandatory= 'True' > <value > CAS</value> </variable>
<variable type= 'oui/non' name= 'cas_local' description= "Serveur CAS local" mandatory= 'True' > <value > non</value> </variable>
<variable type= 'string' name= 'cas_host' description= "Host CAS" mandatory= 'True' > </variable>
<variable type= 'string' name= 'cas_port' description= "Port CAS" mandatory= 'True' > <value > 443</value> </variable>
<variable type= 'string' name= 'cas_path' description= "Path CAS" mandatory= 'True' > <value > /sso</value> </variable>
<variable type= 'string' name= 'cas_username' description= "Attribut CAS identifiant unique de l'utilisateur" mandatory= 'True' > <value > username</value> </variable>
<variable type= 'string' name= 'cas_lastname' description= "Attribut CAS nom de l'utilisateur" mandatory= 'True' > <value > lastname</value> </variable>
<variable type= 'string' name= 'cas_firstname' description= "Attribut CAS prénom de l'utilisateur" mandatory= 'True' > <value > firstname</value> </variable>
<variable type= 'string' name= 'cas_email' description= "Attribut CAS mail de l'utilisateur" mandatory= 'True' > <value > email</value> </variable>
<variable type= 'oui/non' name= 'ninegate_ssosynchrogroup' description= "Générer automatiquement les groupes en fonction d'un attribut SSO" > <value > oui</value> </variable>
<variable type= 'string' name= 'ninegate_ssoreqgroup' description= "Attribut SSO associé à la notion de groupe" mandatory= 'True' > <value > user_groups</value> </variable>
<variable type= 'oui/non' name= 'ninegate_ssosynchroitem' description= "Associer automatiquement les items en fonction d'un attribut SSO" > <value > non</value> </variable>
<variable type= 'string' name= 'ninegate_ssoreqitem' description= "Attribut SSO associé à la notion d'item" mandatory= 'True' > </variable>
<!-- BASE DE DONNEES -->
<variable type= 'oui/non' name= 'activer_database' description= 'Activer Base de données' > <value > oui</value> </variable>
<variable type= 'oui/non' name= 'database_local' description= 'Base de données local' > <value > oui</value> </variable>
<variable type= 'string' name= 'database_host' description= 'Host Base de données' mandatory= 'True' > </variable>
<variable type= 'string' name= 'database_port' description= 'Port Base de données' mandatory= 'True' > </variable>
<variable type= 'string' name= 'database_user' description= 'Utilisateur base de données' mandatory= 'True' > </variable>
<!-- OPENLDAP -->
<variable type= 'oui/non' name= 'activer_openldap' description= 'Activer Annuaire' > <value > oui</value> </variable>
<variable type= 'oui/non' name= 'openldap_local' description= 'Annuaire local' > <value > non</value> </variable>
<variable type= 'string' name= 'openldap_ldaptemplate' description= "Modèle d'annuaire" > <value > scribe</value> </variable>
<variable type= 'string' name= 'openldap_host' mandatory= 'True' description= 'Annuaire host' > </variable>
<variable type= 'string' name= 'openldap_port' mandatory= 'True' description= 'Annuaire port' > <value > 389</value> </variable>
<variable type= 'oui/non' name= 'openldap_tls' description= 'Utiliser le mode TLS' > <value > non</value> </variable>
<variable type= 'string' name= 'openldap_basedn' mandatory= 'True' description= 'Base DN' > <value > o=gouv,c=fr</value> </variable>
<variable type= 'string' name= 'openldap_user' mandatory= 'True' description= 'CN du compte writer' > <value > admin</value> </variable>
<!-- APPLICATIONS -->
<variable type= 'oui/non' name= 'activer_ninegate' description= 'Activer Ninegate' > <value > oui</value> </variable>
2023-11-17 16:40:41 +01:00
<variable type= 'oui/non' name= 'activer_nineboard' description= 'Activer Nineboard' > <value > non</value> </variable>
2023-11-09 13:46:26 +01:00
<variable type= 'oui/non' name= 'activer_nextcloud' description= 'Activer Nextcloud' > <value > non</value> </variable>
<variable type= 'oui/non' name= 'activer_adminer' description= 'Activer Adminer' > <value > non</value> </variable>
<variable type= 'oui/non' name= 'activer_phpldapadmin' description= 'Activer Phpldapadmin' > <value > non</value> </variable>
<!-- SECRETS -->
<variable type= 'string' name= 'openldap_password' mandatory= 'True' description= 'Password compte writer Annuaire' > </variable>
<variable type= 'string' name= 'database_rootpassword' mandatory= 'True' description= 'Password compte root base de données' > </variable>
<variable type= 'string' name= 'database_userpassword' mandatory= 'True' description= 'Password compte user base de données' > </variable>
<variable type= 'string' name= 'keycload_userpassword' mandatory= 'True' description= 'Password compte admin-keycloak Keycloak' > </variable>
<variable type= 'string' name= 'envole_adminpassword' mandatory= 'True' description= 'Password compte administrateur applicatifs' > </variable>
<variable type= 'string' name= 'ninegate_secret' mandatory= 'True' description= 'Secret key Ninegate' > </variable>
2023-11-17 16:40:41 +01:00
<variable type= 'string' name= 'nineboard_secret' mandatory= 'True' description= 'Secret key Nineboard' > </variable>
2023-11-09 13:46:26 +01:00
<!-- NINEGATE -->
<variable type= 'oui/non' name= 'ninegate_syncldap' description= 'Synchroniser les utilisateurs vers annuaire' > <value > oui</value> </variable>
<variable type= 'oui/non' name= 'ninegate_scribegroup' description= "Considérer les classes/options comme des groupes de travail" > <value > oui</value> </variable>
<variable type= 'oui/non' name= 'ninegate_scribemaster' description= "Placer les professeurs comme manager des groupes classes/options" > <value > oui</value> </variable>
<variable type= 'string' name= 'ninegate_openldapreqniveau01' description= "Lors de l'initalisation de Ninegate requete LDAP utilisateur de votre premier Niveau01" mandatory= 'True' > <value > (uid=*)</value> </variable>
<variable type= 'oui/non' name= 'ninegate_openldapsynchrogroup' description= "Générer automatiquement les groupes en fonction de votre annuaire" > <value > oui</value> </variable>
<variable type= 'string' name= 'ninegate_openldapreqgroup' description= "Requête pour générer automatiquement les groupes" mandatory= 'True' > <value > (objectClass=posixGroup)</value> </variable>
<variable type= 'string' name= 'ninegate_openldapsubbranchgroup' description= "Rechercher les groupes dans la sous-branche" mandatory= 'False' />
<variable type= 'string' name= 'ninegate_openldapsubbranchuser' description= "Rechercher les utilisateurs dans la sous-branche" mandatory= 'False' />
<variable type= 'string' name= 'ninegate_moderegistration' description= "Mode de registration : none / byuser / byadmin" mandatory= 'True' > <value > none</value> </variable>
<variable type= 'oui/non' name= 'ninegate_forcetheme' description= "Forcer l'utilisation d'un thème" > <value > non</value> </variable>
<variable type= 'string' name= 'ninegate_forcethemename' description= "Nom du thème" > </variable>
2023-11-17 16:40:41 +01:00
<!-- NINEBOARD -->
<variable name= 'nineboard_local' type= 'oui/non' description= 'Nineboard local' > <value > oui</value> </variable>
<variable name= 'nineboard_url' type= 'string' mandatory= 'True' description= 'Nineboard URL' > </variable>
2023-11-09 13:46:26 +01:00
<!-- NEXTCLOUD -->
<variable name= 'nextcloud_local' type= 'oui/non' description= 'Nextcloud local' > <value > oui</value> </variable>
<variable name= 'nextcloud_url' type= 'string' mandatory= 'True' description= 'Nextcloud URL' > </variable>
<variable name= 'nextcloud_samba' type= 'oui/non' description= 'Configurer un partage Samba' > <value > non</value> </variable>
<variable name= 'nextcloud_samba_host' type= 'string' mandatory= 'True' description= 'Samba host name' > </variable>
2023-11-13 16:40:30 +01:00
<variable name= 'nextcloud_samba_domaine' type= 'string' mandatory= 'True' description= 'Samba domaine name' > <value > DOMSCRIBE</value> </variable>
2023-11-09 13:46:26 +01:00
<variable name= 'nextcloud_samba_name' type= 'string' mandatory= 'True' description= 'Samba root name' > <value > nextcloud</value> </variable>
2023-11-13 16:40:30 +01:00
2023-11-09 13:46:26 +01:00
</family>
<separators >
<separator name= "envole_masteridentity" > Maître de l'identité</separator>
<separator name= "envole_modeauth" > Authentification</separator>
<separator name= "activer_database" > Base de Données</separator>
<separator name= "activer_openldap" > Annuaire</separator>
<separator name= "activer_ninegate" > Applications</separator>
<separator name= "openldap_password" > Secrets</separator>
<separator name= "ninegate_syncldap" > Ninegate Portail</separator>
2023-11-17 16:40:41 +01:00
<separator name= "nineboard_local" > Nineboard</separator>
2023-11-09 13:46:26 +01:00
<separator name= "nextcloud_local" > Nextcloud</separator>
</separators>
</variables>
<constraints >
<check name= 'valid_enum' target= 'envole_masteridentity' >
<param > ['LDAP', 'SQL', 'SSO']</param>
</check>
<check name= 'valid_enum' target= 'openldap_ldaptemplate' >
<param > ['scribe', 'open']</param>
</check>
<check name= 'valid_enum' target= 'envole_modeauth' >
<param > ['CAS', 'SQL', 'LDAP']</param>
</check>
2023-11-13 16:40:30 +01:00
<check name= 'valid_enum' target= 'ninegate_moderegistration' >
<param > ['none', 'byuser', 'byadmin']</param>
</check>
2023-11-09 13:46:26 +01:00
<!-- APACHE -->
<condition name= 'hidden_if_in' source= 'activer_apache' >
<param > non</param>
<target type= 'family' > applications web</target>
<target type= 'servicelist' > envole</target>
</condition>
<!-- MASTERIDENTITY -->
<condition name= 'hidden_if_in' source= 'envole_masteridentity' >
<param > LDAP</param>
<param > SSO</param>
<target type= 'variable' > ninegate_syncldap</target>
<target type= 'variable' > ninegate_moderegistration</target>
</condition>
<condition name= 'hidden_if_in' source= 'envole_masteridentity' >
<param > SQL</param>
<param > SSO</param>
<target type= 'variable' > openldap_ldaptemplate</target>
</condition>
<condition name= 'hidden_if_in' source= 'envole_masteridentity' >
<param > SQL</param>
<param > LDAP</param>
<target type= 'variable' > ninegate_ssosynchrogroup</target>
<target type= 'variable' > ninegate_ssoreqgroup</target>
<target type= 'variable' > ninegate_ssosynchroitem</target>
<target type= 'variable' > ninegate_ssoreqitem</target>
</condition>
<!-- AUTHENTIFICATION -->
<condition name= 'hidden_if_in' source= 'envole_modeauth' >
<param > SQL</param>
<param > LDAP</param>
<target type= 'variable' > cas_local</target>
<target type= 'variable' > cas_username</target>
<target type= 'variable' > cas_lastname</target>
<target type= 'variable' > cas_firstname</target>
<target type= 'variable' > cas_email</target>
</condition>
<condition name= 'hidden_if_in' source= 'cas_local' >
<param > oui</param>
<target type= 'variable' > cas_host</target>
<target type= 'variable' > cas_port</target>
<target type= 'variable' > cas_path</target>
</condition>
<condition name= 'hidden_if_in' source= 'cas_local' >
<param > non</param>
<target type= 'variable' > keycload_userpassword</target>
</condition>
<!-- DATABASE -->
<condition name= 'hidden_if_in' source= 'activer_database' >
<param > non</param>
<target type= 'variable' > database_local</target>
<target type= 'variable' > database_rootpassword</target>
<target type= 'variable' > database_userpassword</target>
<target type= 'variable' > activer_ninegate</target>
2023-11-17 16:40:41 +01:00
<target type= 'variable' > activer_nineboard</target>
2023-11-09 13:46:26 +01:00
<target type= 'variable' > activer_nextcloud</target>
<target type= 'variable' > activer_adminer</target>
</condition>
<condition name= 'hidden_if_in' source= 'database_local' >
<param > oui</param>
<target type= 'variable' > database_host</target>
<target type= 'variable' > database_port</target>
<target type= 'variable' > database_user</target>
</condition>
<!-- OPENLDAP -->
<condition name= 'hidden_if_in' source= 'activer_openldap' >
<param > non</param>
<target type= 'variable' > openldap_local</target>
<target type= 'variable' > openldap_password</target>
<target type= 'variable' > activer_phpldapadmin</target>
</condition>
<condition name= 'hidden_if_in' source= 'openldap_local' >
<param > oui</param>
2023-11-13 16:40:30 +01:00
<target type= 'variable' > openldap_ldaptemplate</target>
2023-11-09 13:46:26 +01:00
<target type= 'variable' > openldap_host</target>
<target type= 'variable' > openldap_port</target>
<target type= 'variable' > openldap_tls</target>
<target type= 'variable' > openldap_basedn</target>
<target type= 'variable' > openldap_user</target>
</condition>
2023-11-10 11:33:16 +01:00
<condition name= 'hidden_if_in' source= 'openldap_local' >
<param > non</param>
<target type= 'variable' > ninegate_syncldap</target>
</condition>
2023-11-09 13:46:26 +01:00
<condition name= 'hidden_if_not_in' source= 'openldap_ldaptemplate' >
<param > scribe</param>
<target type= 'variable' > ninegate_scribegroup</target>
<target type= 'variable' > ninegate_scribemaster</target>
</condition>
<!-- NINEGATE -->
<condition name= 'hidden_if_in' source= 'activer_ninegate' >
<param > non</param>
<target type= 'variable' > ninegate_secret</target>
<target type= 'variable' > ninegate_syncldap</target>
<target type= 'variable' > ninegate_ssosynchrogroup</target>
<target type= 'variable' > ninegate_ssoreqgroup</target>
<target type= 'variable' > ninegate_ssosynchroitem</target>
<target type= 'variable' > ninegate_ssoreqitem</target>
<target type= 'variable' > ninegate_scribegroup</target>
<target type= 'variable' > ninegate_scribemaster</target>
<target type= 'variable' > ninegate_openldapreqniveau01</target>
<target type= 'variable' > ninegate_openldapsynchrogroup</target>
<target type= 'variable' > ninegate_openldapreqgroup</target>
<target type= 'variable' > ninegate_openldapsubbranchgroup</target>
<target type= 'variable' > ninegate_openldapsubbranchuser</target>
<target type= 'variable' > ninegate_moderegistration</target>
<target type= 'variable' > ninegate_forcetheme</target>
<target type= 'variable' > ninegate_forcethemename</target>
</condition>
2023-11-17 16:40:41 +01:00
<condition name= 'hidden_if_in' source= 'activer_nineboard' >
<param > non</param>
<target type= 'variable' > nineboard_secret</target>
</condition>
2023-11-09 13:46:26 +01:00
<condition name= 'hidden_if_not_in' source= 'openldap_ldaptemplate' >
<param > scribe</param>
<target type= 'variable' > ninegate_scribegroup</target>
<target type= 'variable' > ninegate_scribemaster</target>
</condition>
<condition name= 'hidden_if_not_in' source= 'openldap_ldaptemplate' >
<param > open</param>
<target type= 'variable' > ninegate_openldapreqniveau01</target>
<target type= 'variable' > ninegate_openldapsynchrogroup</target>
<target type= 'variable' > ninegate_openldapreqgroup</target>
<target type= 'variable' > ninegate_openldapsubbranchgroup</target>
<target type= 'variable' > ninegate_openldapsubbranchuser</target>
</condition>
2023-11-10 11:54:58 +01:00
2023-11-09 13:46:26 +01:00
<condition name= 'hidden_if_in' source= 'ninegate_ssosynchroitem' >
<param > non</param>
<target type= 'variable' > ninegate_ssoreqitem</target>
</condition>
2023-11-10 11:33:16 +01:00
<condition name= 'hidden_if_in' source= 'ninegate_openldapsynchrogroup' >
<param > non</param>
<target type= 'variable' > ninegate_openldapreqgroup</target>
</condition>
2023-11-09 13:46:26 +01:00
<condition name= 'hidden_if_in' source= 'ninegate_forcetheme' >
<param > non</param>
<target type= 'variable' > ninegate_forcethemename</target>
</condition>
2023-11-17 16:40:41 +01:00
<!-- NINEBOARD -->
<condition name= 'hidden_if_in' source= 'activer_nineboard' >
<param > non</param>
<target type= 'variable' > nineboard_local</target>
</condition>
<condition name= 'hidden_if_in' source= 'nineboard_local' >
<param > oui</param>
<target type= 'variable' > nineboard_url</target>
</condition>
2023-11-09 13:46:26 +01:00
<!-- NEXTCLOUD -->
<condition name= 'hidden_if_in' source= 'activer_nextcloud' >
<param > non</param>
<target type= 'variable' > nextcloud_local</target>
<target type= 'variable' > nextcloud_samba</target>
</condition>
<condition name= 'hidden_if_in' source= 'nextcloud_local' >
<param > oui</param>
<target type= 'variable' > nextcloud_url</target>
</condition>
<condition name= 'hidden_if_in' source= 'nextcloud_local' >
<param > non</param>
<target type= 'variable' > nextcloud_samba</target>
</condition>
<condition name= 'hidden_if_in' source= 'nextcloud_samba' >
<param > non</param>
<target type= 'variable' > nextcloud_samba_host</target>
2023-11-13 16:40:30 +01:00
<target type= 'variable' > nextcloud_samba_domaine</target>
2023-11-09 13:46:26 +01:00
<target type= 'variable' > nextcloud_samba_name</target>
</condition>
</constraints>
</creole>