4.1 Initialisation des comptes
4.1.1 Objectifs
- Utiliser l'interface d'administration pour initialiser des comptes,
- Exporter les comptes,
- Initialiser des comptes à l'aide des formats d'import,
- Produire le paquet
webinst
en important les comptes.
4.1.2 Cadre
Lors de la phase de spécification, les éléments suivants ont été identifiés. L'application nécessite :
- les rôles :
- Utilisateur COGIP
- Responsable des audits,
- Auditeur,
- Administrateur fonctionnel.
- les groupes :
- Utilisateurs COGIP,
- DSI,
- Section Risque Opérationnel et Qualité.
De plus, une bonne pratique est de faire le lien entre les utilisateurs et les rôles au travers des groupes. Nous allons donc également créer les groupes suivants :
- Responsable des audits,
- Auditeurs,
- Administrateur fonctionnel.
Enfin, l'application doit être initialisée avec les utilisateurs suivants :
- Jean Martin :
- section Risque Opérationnel et Qualité,
- auditeur,
- Priscilla Arthaud :
- section Risque Opérationnel et Qualité,
- auditeur,
- Arnaud Luc :
- section Risque Opérationnel et Qualité,
- auditeur,
- Karine Marthe :
- section Risque Opérationnel et Qualité,
- auditeur,
- responsable des audit,
- administrateur fonctionnel,
- Marina Arnic :
- responsable de la DSI,
- administrateur fonctionnel.
Les arborescences de rôles, groupes et utilisateurs définis sont les suivants :
-
Utilisateurs COGIP
- Rôles :
- Utilisateur COGIP
- Membres directs
- Sous-groupes :
-
DSI
- Rôles
- Membres directs
- Marina Arnic
- Sous-groupes
-
Auditeurs
- Rôles
- Auditeur
- Membres directs
- Sous-groupes
-
Responsables des audits
- Rôles
- Responsable des audits
- Membres directs
- Karine Marthe
- Sous-groupes
- Rôles
-
Section Risque Opérationnel et Qualité
- Rôles
- Membres directs
- Jean Martin
- Priscilla Arthaud
- Arnaud Luc
- Karine Marthe
- Sous-groupes
-
Responsables des audits
- Rôles
-
Administrateurs fonctionnels
- Rôles
- Administrateur fonctionnel
- Membres directs
- Karine Marthe
- Marina Arnic
- Sous-groupes
- Rôles
-
DSI
- Rôles :
Nous avons choisi de respecter les bonnes pratiques et de ne donner aucun rôle directement à un utilisateur. Ainsi, les rôles des utilisateurs sont obtenus par leurs groupes d'appartenance (directs et indirects). L'administrateur n'a donc pas à se demander de quels droits dispose un nouvel utilisateur, il suffit de mettre l'utilisateur dans le(s) groupe(s) métier qui lui correspondent.
4.1.3 Interface de gestion des utilisateurs
Pour initialiser les différents types de comptes, vous pouvez utiliser l'interface web.
Veuillez vous rendre sur l'interface d'administration : http://<nomDeDomaine>/dynacase/admin.php
,
puis cliquer sur Gestion des utilisateurs
.

Figure 15. Création d'utilisateur
Cette interface permet de créer des utilisateurs, des groupes et des rôles.
Vous pouvez replier la partie gauche de l'interface en cliquant sur le bouton tout en haut à gauche.
4.1.4 Initialisation des comptes
Vous allez dans un premier temps créer un rôle, un groupe, puis un utilisateur depuis l'interface. la création se fera dans cet ordre car :
- le groupe référence le rôle
- l'utilisateur référence le groupe
Dans un second temps, les documents ainsi créés seront exportés.
Enfin, vous utiliserez les formats d'import et d'export pour créer les autres rôles, groupes et utilisateurs.
Tous les éléments nécessaires au paramétrage de l'application doivent être importés pour permettre les installations et mises à jour de l'application dans divers environnements (développement, pré-production, production).
4.1.4.1 Initialisation du premier rôle
Pour créer un rôle, veuillez vous rendre dans
l'interface de gestion des utilisateurs,
puis cliquer sur tous les rôles
.

Figure 16. Rôle : liste des rôles
Appuyez ensuite sur Créer un rôle
, un formulaire est affiché.
Vous devez compléter le champ obligatoire :
-
Libellé :
Utilisateurs COGIP
.
Appuyez ensuite sur le bouton Créer
.
Le rôle nouvellement créé s'affiche :

Figure 17. Rôle : Création
4.1.4.2 Initialisation du premier groupe
Pour créer un groupe, veuillez vous rendre dans
l'interface de gestion des utilisateurs,
puis cliquer sur tous les groupes
.

Figure 18. Groupe : liste des groupes
Appuyez ensuite sur Créer un groupe d'utilisateur
, un formulaire est affiché.
Vous devez compléter les deux champs obligatoires :
-
Nom :
Utilisateurs COGIP
, -
Identifiant :
GRP_USER_COGIP
. -
Rôles associés :
Utilisateur COGIP
Appuyez ensuite sur le bouton Créer
.
Le groupe nouvellement créé s'affiche :

Figure 19. Groupe : Création
Vous allez maintenant indiquer que ce groupe est un sous-groupe du groupe Utilisateurs
.
Pour cela, utilisez le menu Modifier la hiérarchie
et cliquez sur Utilisateurs
dans la nouvelle fenêtre :

Figure 20. Groupe : Modification de la hiérarchie
Puis cliquez sur le menu sauver
.
4.1.4.3 Initialisation du premier utilisateur
Pour créer un utilisateur, veuillez cliquer sur le bouton Créer un utilisateur
, l'interface de création apparaît :

Figure 21. Utilisateur : création
Veuillez compléter le formulaire en fournissant les nom, prénom, login, mail et mot de passe de l'utilisateur :
-
nom :
Martin
, -
prénom :
Jean
, -
mail :
martin.jean@quickstartcogip.com
, -
login :
martin.jean
, -
mot de passe :
p@ssw0rd
.
Ensuite cliquez sur le bouton Créer
.
Votre utilisateur est ajouté et est affiché.

Figure 22. Utilisateur : création
Les utilisateurs ont quelques spécificités, vous pouvez :
- modifier les groupes dans lequel l'utilisateur est présent (via le menu
Gestion du compte
), - ajouter un suppléant à l'utilisateur en cours, le suppléant possède tous les droits de l'utilisateur,
- indiquer une date d'expiration du compte, passé cette date le compte est désactivé et l'utilisateur ne peut plus se connecter à plateforme,
- désactiver le compte à l'aide du menu
Compte
.
Vous allez maintenant indiquer que l'utilisateur est membre du groupe Utilisateurs COGIP
.
Pour cela, utilisez le menu Gestion du compte>
Changer de groupes
et cliquez sur Utilisateurs
dans la nouvelle fenêtre pour le désélectionner, puis cliquez sur Utilisateurs COGIP
pour le sélectionner :

Figure 23. Utilisateur : Modification de la hiérarchie
Utilisateurs
est en bleu, alors que Utilisateurs COGIP
est en vert.
Cela signifie que l'utilisateur est membre direct du groupe Utilisateurs COGIP
,
alors qu'il est membre indirect du groupe Utilisateurs
(en effet, il est membre d'un de ses sous-groupes).
Puis cliquez sur le menu sauver
.
4.1.4.4 Export des comptes
Vous allez maintenant exporter les comptes créés. Veuillez fermer la fiche utilisateur, et utiliser les filtres dans la grille pour ne voir que cet utilisateur dans la liste.

Figure 24. Utilisateur : export
Cliquez ensuite sur le bouton Exporter les utilisateurs. La fenêtre suivante s'ouvre :

Figure 25. Utilisateur : export
Cette fenêtre affiche les options d'export, ainsi que la liste des groupes qui seront exportés
(dans notre cas, il est indiqué Sélection : Tous les groupes, Identifiant : cogip
,
ce qui correspond à notre filtrage).
Choisissez les options suivantes :
-
Exporter avec les schémas XML : Oui
Les xsd ont déjà été exportées avec les comptes, il n'est pas nécessaire de les télécharger plusieurs fois. Toutefois, activer cette option inclut dans le xml la référence à la xsd, ce qui sera utile lors de la mise à jour du fichier à la main
-
Exporter les mots de passe cryptés : Oui
Indique que les mots de passe doivent être exportés. Comme dynacase ne stocke pas les mots de passe en clair, seul le hash correspondant peut être exporté. Sans cette option, le mot de passe est vide (et les utilisateurs importés ne peuvent donc pas se connecter).
-
Exporter les rôles associés : Oui
Indique que les rôles référencés par cet utilisateur seront également exportés.
-
Exporter les groupes des utilisateurs : Oui
Indique que les groupes référencés par cet utilisateur seront également exportés.
-
Exporter les données documentaires spécifiques : Oui
Indique que les informations du document (comme le libellé) seront également exportées. Sans cette option, seules les données systèmes du rôle sont exportées.
Puis cliquez sur exporter les comptes.
Vous obtenez un fichier zip contenant :
-
un répertoire
XSD
Déposez ce répertoire à la racine du module. puisque ce répertoire n'est pas référencé dans le fichier [
build.json
][dynacase-qs:build.json], il ne sera pas déployé. ce répertoire ne sert qu'au développement. -
un fichier xml
Déposez ce fichier dans le répertoire
COGIP_AUDIT
sous le nomaccounts.xml
.Puisque les options Exporter les rôles associés et Exporter les groupes des utilisateurs ont été sélectionnées, le xml généré contient les données du rôle, du groupe et de l'utilisateur nouvellement créés.
Le fichier xml correspondant peut être téléchargé ici
4.1.5 Ajout des nouveaux comptes dans le fichier d'import
4.1.5.1 Format d'import / export
Le format du xml est défini dans le manuel de référence.
4.1.5.2 Ajout des instructions d'import
Il vous reste à ajouter l'instruction d'import du fichier dans le fichier info.xml
.
Ce fichier déclare les actions réalisées lors de l'installation ou la mise à jour du paquet. Vous allez donc ajouter la ligne suivante pour demander l'import des utilisateurs :
<process command='./wsh.php --api=importAccounts --file=COGIP_AUDIT/accounts.xml'/>
-
dans le bloc
<post-install></post-install>
(actions à réaliser après le déploiement des fichiers lors d'une installation) entre les lignes<process command="programs/record_application COGIP_AUDIT" />
et [xml]
-
dans le bloc
<post-upgrade></post-upgrade>
(actions à réaliser après le déploiement des fichiers lors d'une mise à jour) entre les lignes<process command="programs/record_application COGIP_AUDIT"/>
et [xml]
Le fichier xml complété peut-être consulté ici.
4.1.5.3 Ajout des autres comptes
4.1.5.3.1 Paramétrage de la xsd
En ouvrant le fichier COGIP_AUDIT/accounts.xml
, vous pouvez constater qu'il référence le schéma accounts.xsd
(xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="XSD/accounts.xsd"
).
Toutefois, puisque nous avons déposé le répertoire XSD à la racine du contexte,
nous pouvons redéfinir son emplacement en remplaçant la ligne précédente par
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../XSD/accounts.xsd"
cette étape n'est pas obligatoire. Toutefois, si votre IDE supporte les xsd, le xml sera validé au fur et à mesure de sa complétion, et l'IDE pourra même vous proposer de l'auto-completion.
4.1.5.3.2 renommage du rôle
Vous remarquez que le rôle qui a été créé via l'interface contient une référence aléatoire.
Étant donné que la référence sera utilisée dans le profilage, vous allez remplacer cette référence.
Toutefois, la référence servant de clé d'identification du rôle,
l'import d'un rôle avec le même libellé (displayName
), mais une référence
différente ne fera pas une mise à jour,
mais va créer un nouveau rôle. il faut donc :
- remplacer toutes les occurrences de cette référence aléatoire par une référence compréhensible
(
role_utilisateurs_cogip
) - supprimer le rôle
Utilisateurs COGIP
avec la référence aléatoire depuis l'interface Dynacase.
4.1.5.3.3 Ajout des rôles
Dans la section <roles/>
, nous allons ajouter les 2 rôles manquants :
- Auditeur
- Administrateur fonctionnel
Le bloc <roles></roles>
a donc le contenu suivant :
<roles> <role id="13"> <reference>role_utilisateurs_cogip</reference> <displayName>Utilisateur COGIP</displayName> <document family="ROLE"> <role title="Utilisateur COGIP" revision="0" modification-date="2016-04-20T13:42:00" version="" state=""/> </document> </role> <role> <reference>role_responsable_audit</reference> <displayName>Responsable des audits</displayName> <document family="ROLE"> <role title="Responsable des audits"/> </document> </role> <role> <reference>role_auditeur</reference> <displayName>Auditeur</displayName> <document family="ROLE"> <role title="Auditeur"/> </document> </role> <role> <reference>role_admin_fonc</reference> <displayName>Administrateur fonctionnel</displayName> <document family="ROLE"> <role title="Administrateur fonctionnel"/> </document> </role> </roles>
4.1.5.3.4 Ajout des groupes
Dans la section <groups/>
, nous allons ajouter les 3 groupes manquants :
-
DSI COGIP
- membre du groupe Utilisateurs COGIP
-
Auditeurs
- membre du groupe Utilisateurs COGIP
- rôle Auditeur
-
Administrateurs fonctionnels
- membre du groupe Utilisateurs COGIP
- rôle Administrateur fonctionnel
-
Responsables des audits
- membre du groupe Auditeurs
- rôle Responsable des audits
-
Section Risque Opérationnel et Qualité
- membre du groupe Auditeurs
Le bloc <groups></groups>
a donc le contenu suivant :
<groups> <group id="2"> <reference>all</reference> <displayName>Utilisateurs</displayName> <document family="IGROUP"> <igroup name="GDEFAULT" title="Utilisateurs" revision="0" modification-date="2016-04-20T14:09:04" version="" state=""/> </document> </group> <group id="12"> <reference>grp_user_cogip</reference> <displayName>Utilisateurs COGIP</displayName> <associatedRoles reset="false"> <associatedRole reference="role_utilisateurs_cogip"/> </associatedRoles> <parentGroups reset="false"> <parentGroup reference="all"/> </parentGroups> <document family="IGROUP"> <igroup title="Utilisateurs COGIP" revision="0" modification-date="2016-04-20T14:40:10" version="" state=""/> </document> </group> <group> <reference>grp_dsi</reference> <displayName>DSI</displayName> <associatedRoles reset="false"> </associatedRoles> <parentGroups reset="false"> <parentGroup reference="grp_user_cogip"/> </parentGroups> <document family="IGROUP"> <igroup title="DSI"/> </document> </group> <group> <reference>grp_auditeurs</reference> <displayName>Auditeurs</displayName> <associatedRoles reset="false"> <associatedRole reference="role_auditeur"/> </associatedRoles> <parentGroups reset="false"> <parentGroup reference="grp_user_cogip"/> </parentGroups> <document family="IGROUP"> <igroup title="Auditeurs"/> </document> </group> <group> <reference>grp_admin_fonc</reference> <displayName>Administrateurs fonctionnels</displayName> <associatedRoles reset="false"> <associatedRole reference="role_admin_fonc"/> </associatedRoles> <parentGroups reset="false"> <parentGroup reference="grp_user_cogip"/> </parentGroups> <document family="IGROUP"> <igroup title="Administrateurs Fonctionnels"/> </document> </group> <group> <reference>grp_responsable_audit</reference> <displayName>Responsables des audits</displayName> <associatedRoles reset="false"> <associatedRole reference="role_responsable_audit"/> </associatedRoles> <parentGroups reset="false"> <parentGroup reference="grp_auditeurs"/> </parentGroups> <document family="IGROUP"> <igroup title="Responsables des audits"/> </document> </group> <group> <reference>grp_section_risque_operationnel_qualite</reference> <displayName>Section Risque Opérationnel et Qualité</displayName> <associatedRoles reset="false"> </associatedRoles> <parentGroups reset="false"> <parentGroup reference="grp_auditeurs"/> </parentGroups> <document family="IGROUP"> <igroup title="Section Risque Opérationnel et Qualité"/> </document> </group> </groups>
4.1.5.3.5 Ajout des utilisateurs
Dans la section <users/>
, nous allons ajouter les utilisateurs manquants :
- Priscilla Arthaud :
- Membre du groupe section Risque Opérationnel et Qualité,
- Membre indirect du groupe auditeur,
- Arnaud Luc :
- Membre du groupe section Risque Opérationnel et Qualité,
- Membre indirect du groupe auditeur,
- Karine Marthe :
- Membre du groupe section Risque Opérationnel et Qualité,
- Membre du groupe responsable des audit,
- Membre du groupe administrateur fonctionnel,
- Membre indirect du groupe auditeur,
- Marina Arnic :
- Membre du groupe responsable de la DSI,
- Membre du groupe administrateur fonctionnel.
Le bloc <users></users>
a donc le contenu suivant :
<users> <user id="11"> <login>martin.jean</login> <firstname>Jean</firstname> <lastname>Martin</lastname> <mail>martin.jean@quickstartcogip.com</mail> <status activated="true"/> <password crypted="true">$5$W5l3wgIyC3wKO6ML$Vl875jOLPfxZO8iM/Pvfc/NvV2CjoqGSfOPNUXBUM6B</password> <parentGroups reset="false"> <parentGroup reference="grp_section_risque_operationnel_qualite"/> </parentGroups> <document family="IUSER"> <iuser title="Martin Jean" revision="0" modification-date="2016-04-20T14:40:10" version="" state=""/> </document> </user> <user> <login>arthaud.priscilla</login> <firstname>Priscilla</firstname> <lastname>Arthaud</lastname> <mail>arthaud.priscilla@quickstartcogip.com</mail> <status activated="true"/> <password crypted="true">$5$W5l3wgIyC3wKO6ML$Vl875jOLPfxZO8iM/Pvfc/NvV2CjoqGSfOPNUXBUM6B</password> <parentGroups reset="false"> <parentGroup reference="grp_section_risque_operationnel_qualite"/> </parentGroups> <document family="IUSER"> <iuser title="Arthaud Priscilla"/> </document> </user> <user> <login>luc.arnaud</login> <firstname>Arnaud</firstname> <lastname>Luc</lastname> <mail>luc.arnaud@quickstartcogip.com</mail> <status activated="true"/> <password crypted="true">$5$W5l3wgIyC3wKO6ML$Vl875jOLPfxZO8iM/Pvfc/NvV2CjoqGSfOPNUXBUM6B</password> <parentGroups reset="false"> <parentGroup reference="grp_section_risque_operationnel_qualite"/> </parentGroups> <document family="IUSER"> <iuser title="Luc Arnaud"/> </document> </user> <user> <login>marthe.karine</login> <firstname>Karine</firstname> <lastname>Marthe</lastname> <mail>marthe.karine@quickstartcogip.com</mail> <status activated="true"/> <password crypted="true">$5$W5l3wgIyC3wKO6ML$Vl875jOLPfxZO8iM/Pvfc/NvV2CjoqGSfOPNUXBUM6B</password> <parentGroups reset="false"> <parentGroup reference="grp_section_risque_operationnel_qualite"/> <parentGroup reference="grp_responsable_audit"/> <parentGroup reference="grp_admin_fonc"/> </parentGroups> <document family="IUSER"> <iuser title="Marthe Karine"/> </document> </user> <user> <login>arnic.marina</login> <firstname>Marina</firstname> <lastname>Arnic</lastname> <mail>arnic.marina@quickstartcogip.com</mail> <status activated="true"/> <password crypted="true">$5$W5l3wgIyC3wKO6ML$Vl875jOLPfxZO8iM/Pvfc/NvV2CjoqGSfOPNUXBUM6B</password> <parentGroups reset="false"> <parentGroup reference="grp_dsi"/> <parentGroup reference="grp_admin_fonc"/> </parentGroups> <document family="IUSER"> <iuser title="Arnic Marina"/> </document> </user> </users>
et de changer le groupe parent de Jean Martin par grp_section_risque_operationnel_qualite
4.1.6 Mise en place des modifications
Vous allez maintenant déployer vos modifications :
<devtool> deploy -s . --url http://admin:anakeen@<nomDeDomaine>/dynacase-control/ --port <port> --context dynacase
Vous pouvez maintenant vous rendre dans la gestion des utilisateurs :

Figure 26. Importation : résultat
Vous pouvez voir que les groupes ont été ajoutés, l'arborescence respectée et les différents rôles associés.
Le recalcul de l'arborescence des groupes et des droits est asynchrone, il peut y avoir un décalage de quelques minutes entre l'installation du paquet et la visualisation des données sur le contexte.
4.1.7 Conclusion
Dans ce chapitre, vous avez parcouru l'ensemble des techniques pour créer, associer et importer les différents éléments nécessaires à la gestion des comptes Dynacase.
Ces éléments vous serviront dans toutes les autres phases de vos projets pour fixer les droits, définir des vues particulières, etc.
4.1.8 Pour aller plus loin
Vous pouvez consulter les chapitres suivants de la documentation :
- les comptes,
- [le format d'import CSV][formatCSV],
- les sources après le tutoriel.