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
          • Section Risque Opérationnel et Qualité
            • Rôles
            • Membres directs
              • Jean Martin
              • Priscilla Arthaud
              • Arnaud Luc
              • Karine Marthe
            • Sous-groupes
      • Administrateurs fonctionnels
        • Rôles
          • Administrateur fonctionnel
        • Membres directs
          • Karine Marthe
          • Marina Arnic
        • Sous-groupes

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.

Création d'utilisateur

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.

Rôle : liste des 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 :

Rôle : Création

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.

Groupe : liste des 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 :

Groupe : Création

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 :

Groupe : Modification de la hiérarchie

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 :

Utilisateur : création

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é.

Utilisateur : création

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 :

Utilisateur : Modification de la hiérarchie

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.

Utilisateur : export

Figure 24. Utilisateur : export

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

Utilisateur : export

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 nom accounts.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 :

Importation : résultat

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 :

×