1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
.. -*- coding: utf-8 -*-
==================================
Configuration de l'instance Ishtar
==================================
:Auteur: Étienne Loks
:Date: 2018-12-04
:Copyright: CC-BY 3.0
----------------------------------
La configuration d'Ishtar se fait essentiellement par le biais de « l'interface d'administration ». Cette interface propose une vue brute des tables en base de données. Même si cette interface propose une ergonomie simple et pratique, utiliser cette interface peut nécessiter d'avoir connaissance de notions de base d'une base de données pour pouvoir opérer des choix pertinents.
L'interface d'administration nécessite d'avoir un compte administrateur pour y accéder. Les utilisateurs disposant de ce droit ont une icône « roue dentée » sur la barre de menu à l'extrémité droite. Sauf configuration spécifique, cette interface est aussi disponible via l'adresse « https://monsite-ishtar.net/admin/ » (ajouter `/admin/` à l'adresse de base).
L'interface d'administration présente la liste des différentes tables par ordre alphabétique regroupées par application.
.. warning:: Pour des questions de performance, Ishtar utilise intensément un système de cache. Il arrive parfois que celui-ci tarde à se mettre à jour. Il peut arriver que des modifications en administration prennent plusieurs minutes à être prises en compte.
Champs personnalisés
--------------------
Ishtar propose un certain nombre de champ standards et génériques permettant de disposer dès le départ d'une base solide et aussi pour assurer un certain degré d'inter-opérabilité entre les différentes installations d'Ishtar. Néanmoins nul ne peut prétendre à l'exhaustivité et, notamment dans le cadre d'une utilisation d'Ishtar axée recherche, le besoin se fera probablement sentir d'ajouter des champs.
Dans Ishtar ces champs sont appelés : **Champs personnalisés**. Le format JSON étant utilisé pour stocker ces données, le nom **Données JSON** est aussi utilisé.
Ajouter un champ personnalisé se fait via l'interface d'administration au niveau de la rubrique : *Ishtar - Commun › Données JSON - Champs*.
Les différentes données à rentrer sont :
* **Nom** : Ce nom sera reprit dans les formulaires et la fiche.
* **Type de contenu** : Le type d'objet auquel sera rattaché le champ - Opération, Site, Unité d'Enregistrement et Mobilier.
* **Clé** : Valeur de la clé dans le format JSON. Cette clé ne doit impérativement comporter que des lettres minuscules, sans accent ou un tiret bas « _ » (ne pas commencer la clé par le tiret bas et ne pas mettre plusieurs tiret bas d'affilée dans la clé de base). On peut structurer les données personnalisée de manière hiérarchique. Pour les clés hiérarchiques on utilise « __ » entre les sections. Par exemple pour la clé « ma_sousclef » dans la catégorie « ma_categorie », la clé sera notée : *ma_categorie__ma_sousclef*.
* **Type** : Les types de données disponibles sont les suivants :
* Texte,
* Texte long : le composant de saisie sera une zone de texte,
* Entier : nombre entier positif ou négatif,
* Nombre à virgule,
* Booléen : case à cocher - Vrai ou Faux,
* Date : un composant permettant le choix de date depuis un calendrier est proposé,
* Choix : un composant en autocomplétion sur les valeurs existantes est proposé. L'utilisateur a la possibilité de rentrer librement de nouvelles valeurs.
* **Ordre** : Le numéro saisie permet d'ordonner par défaut ce champ par rapport aux autres champs.
* **Section** : La section correspond à un titre de section pour présenter ce champ sur la fiche et permettre des regroupements.
* **Utiliser dans les index de recherche** : Si cette case est cochée, la recherche libre indexera le contenu de ce champ.
* **Afficher** : Si cette case n'est pas cochée, ce champ ne sera pas affiché sur la fiche.
Sauf si un champ personnalisé est uniquement destiné à des données importées et à un affichage sur la fiche, un champ personnalisé sera dans la plupart des cas intégré à un :ref:`formulaire personnalisé <formulaire-personnalise>`.
.. _formulaire-personnalise:
Formulaires personnalisés
-------------------------
La plupart des formulaires peuvent être personnalisés dans Ishtar, notamment tous les formulaires des wizards ainsi que les formulaires de recherche. À ce jour, il n'est pas encore possible d'ajouter de nouveaux formulaires.
Les formulaires personnalisés permettent deux choses : enlever les champs disponibles de base dans le formulaire et ajouter des champs JSON dans le formulaire. Chaque formulaire personnalisé peut être mis à disposition pour tous ou seulement certains utilisateurs.
La configuration de ces champs se fait en administration via : *Ishtar - Commun › Formulaires personnalisés*.
La création se fait en deux temps, d'abord un paramétrage des champs de base puis une définition des champs à exclure et des champs JSON à ajouter.
Le paramétrage de base demande les champs suivants :
* **Nom** : le nom correspondant au formulaire personnalisé. Ce nom ne sera visible qu'en administration mais pour s'y retrouver, il doit à la fois reprendre le nom du formulaire ainsi que le contexte pour lequel il a été défini. Par exemple : « Mobilier - 020 - Général - Tout utilisateur » ou « Mobilier - 030 - Conservation - Saisie terrain ».
* **Formulaire** : le formulaire à personnaliser. Le nom utilisé permet d'identifier assez simplement le formulaire correspondant car il correspond dans l'ordre (séparé par des tirets) au :
* type d'objet concerné (par exemple : « Mobilier »),
* éventuellement, le numéro d'ordre dans le wizard,
* nom du formulaire.
* **À qui s'applique ce formulaire**, cela peut être au choix :
* à tous les utilisateurs,
* à certains utilisateurs en particulier,
* à certains types d'utilisateurs.
Une fois ce paramétrage de base enregistré, la configuration précise du formulaire peut se faire :
* **champs à exclure** : chaque champ de base présent dans le formulaire actuel peut être sélectionné dans la liste pour être écarté de la saisie.
* **champs JSON** : tous les champs JSON préalablement paramétrés concernant l'élément courant peuvent être sélectionnés. La dénomination permet éventuellement de surcharger le nom par défaut du champ JSON. L'ordre permet de placer le champ dans le formulaire. L'aide permet éventuellement d'ajouter un texte pour aider à la saisie.
.. warning:: Sur les formulaires de création, il est impératif de ne pas exclure des champs obligatoires sans quoi la création devient impossible.
.. note:: En tant qu'administrateur, en modifiant son profil depuis les pages d'administration (*Ishtar - Commun › Profils d'utilisateurs*) et en cochant « Afficher les numéros des champs », les numéros des champs actuels des formulaires s'affichent sur l'interface, cela permet ainsi de placer plus aisément les champs personnalisés.
Gestion des permissions
-----------------------
Gestion des comptes
*******************
Dans Ishtar, un compte doit être associé à une personne. Si la personne n'existe pas dans la base, il faut l'ajouter via l'interface principale d'Ishtar : *Annuaire › Personne › Ajout*.
Ensuite on créé un compte associé à cette personne, toujours via l'interface d'Ishtar : *Administration › Compte › Ajout/modification*. Dans les différents panneaux, il est demandé : l'identifiant du compte, le courriel rattaché, le mot de passe puis le type de profil.
Les types de profil définiront les types de permissions auquel aura accès l'utilisateur. Sur ces types de profil, des zones peuvent être définies afin de permettre des règles de rattachement spécifique (cf. :ref:`permissions dans Ishtar<permissions-ishtar>`).
Cette interface de création de compte permet aussi de modifier le mot de passe de comptes existants.
Permissions dans Ishtar
***********************
Les permissions dans Ishtar sont essentiellement gérées par « Type de profil ». Chaque compte a un ou plusieurs « types de profil » associés à son compte. Chaque type de profil donne accès à des actions et des accès sur des types d'objets.
La création/configuration d'un type de profil se fait via : *Ishtar - Commun › Types de profil* :
- **dénomination** : ce champ doit être explicite car il va être retrouvé au niveau de l'interface utilisateur.
- **identifiant textuel** : rempli selon les règles habituelles des identifiants textuels.
- **groupes** : listes des groupes auxquels le profil est rattaché.
Chaque groupe correspond à un type de permission pour un élément précis de la base de données :
- droit de lecture ;
- droit d'ajout ;
- droit de modification/suppression.
Chacun de ces droit est décliné en deux modalités :
- droits sur tous les éléments ;
- droit sur les éléments rattachés.
Un élément est dit « rattaché » à une personne en fonction de règles précises spécifiées dans l':ref:`annexe 1 - règles de rattachement à un élément <annexe-1-rattachement>`. La notion de rattachement permet de spécifier finement les permissions pour des personnes qui sont directement associé à l'élément. Par exemple cela permet donner les droits de modification du mobilier d'une opération au responsable scientifique de cette opération.
En pratique, globalement, les groupes de droits permettent d'accéder à certaines actions :
- le droit de lecture permet une ouverture de la fiche correspondant à l'élément ;
- le droit d'ajout permet d'accéder aux actions d'ajout d'un nouvel élément ;
- le droit de modification/suppression permet d'accéder aux actions concernant la modification/suppression des éléments.
Dans le détail, il y a certaines actions qui sont ouvertes en fonction d'appartenance à des groupes en particulier. Tout cela est détaillé dans l':ref:`annexe 2 - permissions nécessaires pour les actions <annexe-2-permission-action>`.
.. note:: La page *Ishtar - Commun › Résumés des types de profil* permet d'accéder à un tableau qui reprend toutes les permissions associées aux types de profil.
Permissions dans les pages d'administration
*******************************************
Les permissions des pages d'administration sont gérées différemment. Elles utilisent le système de permission du framework Django, framework utilisé par Ishtar.
Une fois le compte créé, les droits se spécifient dans les pages d'administration : *Authentification et autorisation › Utilisateurs*.
L'ouverture de l'accès aux pages d'administration se fait en cochant le « Statut équipe ». Si l'on souhaite n'ouvrir l'accès qu'à certaines pages spécifiques, on ajoute les « Permissions de l'utilisateur » correspondant aux tables que l'on souhaite ouvrir, si l'on souhaite ouvrir l'accès à toutes les tables, il suffit de cocher le « Statut super-utilisateur ».
..
TODO: Profil d'instance Ishtar
|