diff options
author | Ătienne Loks <etienne.loks@iggdrasil.net> | 2024-04-03 11:35:11 +0200 |
---|---|---|
committer | Ătienne Loks <etienne.loks@iggdrasil.net> | 2024-04-03 12:59:04 +0200 |
commit | f3746283d19ae6a6e54f9543faa0831060b057d9 (patch) | |
tree | efb2dba26644e32d2f4408f4c8d855b08069fec1 /docs/fr/administrateur-applicatif.md | |
parent | 20a963495efeb3df19f19e3c1f15902adf823a6d (diff) | |
download | Ishtar-develop-md.tar.bz2 Ishtar-develop-md.zip |
đïž documentation: reST to markdown (mkdocs)develop-md
Diffstat (limited to 'docs/fr/administrateur-applicatif.md')
-rw-r--r-- | docs/fr/administrateur-applicatif.md | 592 |
1 files changed, 592 insertions, 0 deletions
diff --git a/docs/fr/administrateur-applicatif.md b/docs/fr/administrateur-applicatif.md new file mode 100644 index 000000000..a5cdeb24b --- /dev/null +++ b/docs/fr/administrateur-applicatif.md @@ -0,0 +1,592 @@ +Administration applicative +========================== + +Auteur + +: Ătienne Loks + +Date + +: 2023-11-16 + +Copyright + +: CC-BY 3.0 + +------------------------------------------------------------------------ + +::: {#interface-administrateur} +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/]{.title-ref} Ă 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} +::: {.title} +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. +::: + +Listes de types +--------------- + +Ishtar fournit par dĂ©faut des donnĂ©es pour chaque liste de choix. +Chacune de ces listes est paramĂ©trable en administration. + +Dans les pages d\'administration, les listes de types se retrouvent sous +les dĂ©nominations « Types de \... », rangĂ©es par application : + +- **Ishtar - Commun** : contient les listes de types transversales + utilisĂ©es par plusieurs types d\'Ă©lĂ©ments ; +- **Ishtar - OpĂ©ration** : contient les listes de types concernant les + opĂ©rations et les entitĂ©s archĂ©ologiques/sites ; +- **Ishtar - UnitĂ©s d\'enregistrement** : contient les listes de types + relatives aux UnitĂ©s d\'enregistrement et aux datations ; +- **Ishtar - Mobilier** : contient les listes de types relatives au + mobilier et aux traitements ; +- **Ishtar - Lieu de conservation** : contient les listes de types + relatives aux lieux de conservation et aux contenants ; +- **Ishtar - Dossier** : contient les listes de types relatives aux + dossiers administratifs. + +Dans Ishtar, chaque type est dĂ©fini au minimum par les champs suivants : + +- **DĂ©nomination** +- **Identifiant textuel** : L\'identifiant textuel est une version + standardisĂ©e du nom. Il ne contient que des lettres en minuscules + non accentuĂ©es, des nombres et des tirets (-). Chaque identifiant + textuel doit ĂȘtre unique dans la liste de types. Ces identifiants + sont des clĂ©s permettant les Ă©changes entre bases de donnĂ©es et pour + des traductions. Ces identifiants peuvent ĂȘtre utilisĂ©s dans le code + source de l\'application. Une fois créés il ne faut a priori pas + changer ces identifiants textuels. +- **Commentaire** : Le contenu du commentaire est affichĂ© dans l\'aide + en ligne sur les formulaires. +- **DisponibilitĂ©** : DĂ©cocher ce champ rend indisponible ce type dans + les formulaires, sans dĂ©truire l\'information pour ce qui est dĂ©jĂ + prĂ©sent en base ; l\'information est toujours visible dans les + fiches. +- **Ordre** : Dans les listes les champs sont ordonnĂ©s par ce numĂ©ro + d\'ordre et en cas d\'Ă©galitĂ© par ordre alphabĂ©tique. + +Certains types permettent de mettre en place une hiĂ©rarchie. Pour cela +le champ **parent** est disponible. Pour chaque type enfant, ce champ +est renseignĂ© avec le type parent adĂ©quat. + +Certains types disposent aussi d\'autres champs spĂ©cifiques ; ceux-ci +sont explicites ou disposent d\'une aide en ligne. + +::: {.note} +::: {.title} +Note +::: + +Pour travailler sur ces listes de types ou les transmettre Ă des tiers, +la possibilitĂ© est offerte d\'exporter ces listes de types via +l\'interface d\'administration. On sĂ©lectionne les Ă©lĂ©ments Ă exporter +(ou tous les Ă©lĂ©ments) puis on utilise l\'action « Exporter les Ă©lĂ©ments +sĂ©lectionnĂ©s en fichier CSV ». Le fichier peut alors ĂȘtre Ă©ditĂ© dans un +tableur. Pour une mise Ă jour, il est important de ne pas modifier les +identifiants textuels qui sont la clĂ© de rapprochement pour le +rĂ©-import. L\'action d\'import est disponible en haut Ă droite : « +Import depuis un CSV ». +::: + +Champs personnalisĂ©s {#champ-personnalises} +-------------------- + +Ishtar propose un certain nombre de champs 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 repris dans les formulaires et la fiche. +- **Type de contenu** : Le type d\'objet auquel sera rattachĂ© le + champ - OpĂ©ration, Site, UnitĂ© d\'Enregistrement, Mobilier, \... +- **ClĂ©** : Valeur de la clĂ© dans le format JSON. Cette clĂ© ne doit + impĂ©rativement comporter que des lettres minuscules, sans accent et + des tirets bas « \_ » (ne pas commencer la clĂ© par le tiret bas et + ne pas mettre plusieurs tirets 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 saisi 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 +`formulaire personnalisĂ© <formulaire-personnalise>`{.interpreted-text +role="ref"}. + +Formulaires personnalisĂ©s {#formulaire-personnalise} +------------------------- + +La plupart des formulaires peuvent ĂȘtre personnalisĂ©s dans Ishtar, +notamment tous les formulaires de crĂ©ation/modification 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 : soustraire de +l\'affichage du formulaire les champs disponibles par dĂ©faut 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 les formulaires + successifs, + - 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 (mobilier, OA\...) 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} +::: {.title} +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} +::: {.title} +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 {#gestion-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Ă©e 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 auxquelles 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. +`permissions dans Ishtar<permissions-ishtar>`{.interpreted-text +role="ref"}). + +Cette interface de crĂ©ation de compte permet aussi de modifier le mot de +passe de comptes existants. + +### Permissions dans Ishtar {#permissions-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 droits 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\'`annexe 1 - dĂ©tail des permissions <annexe-1-permission-action>`{.interpreted-text +role="ref"}. La notion de rattachement permet de spĂ©cifier finement les +permissions pour des personnes qui sont directement associĂ©es Ă +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 donnĂ©es, actions qui sont accessibles +en fonction d\'appartenance Ă des groupes en particulier. Tout cela est +dĂ©taillĂ© dans +l\'`annexe 1 - dĂ©tail des permissions <annexe-1-permission-action>`{.interpreted-text +role="ref"}. + +::: {.note} +::: {.title} +Note +::: + +La page *Ishtar - Commun âș RĂ©sumĂ©s des types de profil* permet +d\'accĂ©der Ă un tableau qui reprend et rend explicites 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 +(cadre de dĂ©veloppement logiciel) 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 ». + +Patrons de documents +-------------------- + +### Principes de base + +Ishtar propose une gĂ©nĂ©ration automatisĂ©e de document. Depuis un patron +au format LibreOffice (ODT), les donnĂ©es relatives Ă un Ă©lĂ©ment (acte +administratif, mobilier\...) remplacent les variables du patron pour +obtenir le document dĂ©sirĂ©. + +On crĂ©e le patron au format ODT avec un contenu adaptĂ©, puis depuis +l\'interface d\'administration, sous l\'entrĂ©e *Ishtar - Commun âș +Patrons de document âș Document de rĂ©fĂ©rence*, on créé un patron de +document avec ce fichier ODT associĂ© au type d\'Ă©lĂ©ment pour lequel il +est destinĂ©. + +Le document peut alors ĂȘtre gĂ©nĂ©rĂ© depuis n\'importe quelle fiche de +l\'Ă©lĂ©ment concernĂ© (en haut Ă droite sous « Documents »). + +### Un premier patron + +Pour crĂ©er un patron, la premiĂšre Ă©tape est de rĂ©cupĂ©rer toutes les +variables disponibles pour l\'Ă©lĂ©ment Ă partir duquel on veut gĂ©nĂ©rer un +document. Il existe pour cela un [document de +rĂ©fĂ©rence](https://gitlab.com/iggdrasil/ishtar/raw/main/archaeological_operations/tests/document_reference.odt) +que l\'on peut attacher Ă l\'Ă©lĂ©ment pour lequel on souhaite Ă©diter un +nouveau document. + +::: {.note} +::: {.title} +Note +::: + +En cas d\'indisponibilitĂ© du lien pour ce document, ce document est trĂšs +simple et peut ĂȘtre recréé facilement, il suffit d\'insĂ©rer : +`{{VALUES}}` dans un document ODT vide et de sauvegarder le document. +::: + +Depuis *Ishtar - Commun âș Patrons de document âș Document de rĂ©fĂ©rence*, +on ajoute un nouveau patron de document : « Document de rĂ©fĂ©rence » +auquel on associe le document de rĂ©fĂ©rence tĂ©lĂ©chargĂ© et le type +d\'Ă©lĂ©ment pour lequel on souhaite crĂ©er un patron de document. + +Ensuite, il faut rĂ©cupĂ©rer un document de rĂ©fĂ©rence gĂ©nĂ©rĂ© depuis la +fiche d\'un Ă©lĂ©ment contenant tous les champs que l\'on souhaite +exploiter. + +On ouvre ce document sous LibreOffice. Le document produit contient une +liste de clĂ© avec la valeur associĂ©e concernant l\'Ă©lĂ©ment que l\'on a +choisi. + +Les diffĂ©rentes clĂ©s vont permettre de constituer un patron rĂ©pondant Ă +ce qui est attendu. Pour cela reprendre un exemple du document que l\'on +souhaite gĂ©nĂ©rer (toujours au format ODT) et remplacer chaque occurence +d\'une valeur par la clĂ© en reprenant la +`syntaxe Jinja <formules-syntaxe-jinja>`{.interpreted-text role="ref"} +(Jinja est le nom de la bibliothĂšque utilisĂ©e). Une fois quelques +substitutions faites, on peut l\'enregistrer et crĂ©er le patron dans +l\'interface d\'administration Ishtar. Ce premier patron est alors +disponible depuis la fiche des Ă©lĂ©ments. + +Configuration du profil d\'instance Ishtar {#configuration-instance-ishtar} +------------------------------------------ + +*En cours de rĂ©daction\...* + +### Identifiants et index personnalisĂ©s + +Pour chaque type d\'Ă©lĂ©ment principal, il est possible de configurer le +profil Ishtar pour personnaliser : + +- l\'identifiant externe : c\'est un identifiant textuel unique dans + la base qui permet de faire des rapprochements de maniĂšre non + ambiguĂ«. Il est souvent utilisĂ© pour les imports. Par exemple, un + identifiant externe pour les unitĂ©s d\'enregistrement peut ĂȘtre + \"code patriarche de l\'opĂ©ration-identifiant de l\'unitĂ© + d\'enregistrement\" ou alors \"code patriarche de + l\'opĂ©ration-section parcelle-numĂ©ro parcelle-identifiant de + l\'unitĂ© d\'enregistrement\". Des identifiants externes sont + paramĂ©trĂ©s par dĂ©faut pour chaque type d\'Ă©lĂ©ment principale. Note : + l\'identifiant externe de l\'opĂ©ration est toujours le code + patriarche et n\'est pas paramĂ©trable. +- l\'identifiant complet (optionnel) : cet identifiant est un + identifiant de gestion paramĂ©trable. Cet identifiant peut par + exemple se distinguer de l\'identifiant externe pour incorporer des + codes matiĂšres. +- clĂ©s pour index personnalisĂ© : un index personnalisĂ© peut ĂȘtre + dĂ©fini en fonction d\'une ou plusieurs clĂ©s reprenant les champs. + Par exemple une clĂ© opĂ©ration peut ĂȘtre utilisĂ©e pour gĂ©nĂ©rer un + index numĂ©rotant de 1 Ă n le mobilier sur une opĂ©ration. + +Pour dĂ©finir identifiant externes et identifiant complet, on utilise des +formules. Deux types de syntaxes sont utilisĂ©es : une +`syntaxe simple <formules-syntaxe-simple>`{.interpreted-text role="ref"} +et une `syntaxe Jinja <formules-syntaxe-jinja>`{.interpreted-text +role="ref"} (nom de la bibliothĂšque utilisĂ©e). Ces deux syntaxes +utilisent des variables relatives Ă l\'Ă©lĂ©ment. L\'utilisation de ces +variables est explicitĂ©e dans +l\'`annexe technique 3 - variables <annexe-technique-3-variables>`{.interpreted-text +role="ref"}. + +Formules +-------- + +### Syntaxe simple {#formules-syntaxe-simple} + +Cette syntaxe permet d\'utiliser directement les variables en utilisant +la notation accolade simple `{}`. Par exemple : : + + OA-{code_patriarche} + +Cette notation se traduira ainsi par des rendus comme : +[OA-061234]{.title-ref} ou [OA-44789]{.title-ref}. + +### Syntaxe Jinja {#formules-syntaxe-jinja} + +Cette syntaxe permet de faire de faire des substitutions de maniĂšre plus +fine qu\'avec la syntaxe simple. Cette syntaxe est utilisĂ©e +systĂ©matiquement pour les patrons de document, un sous-ensemble de cette +syntaxe (variables et structures conditionnelles) peut-ĂȘtre utilisĂ©e +optionnellement pour les identifiants personnalisĂ©s. + +#### Variables + +L\'accĂšs aux [variables \<annexe-technique-3-variables\>]{.title-ref} se +fait par la notation double accolade `{{ }}`. Ainsi par exemple, pour +accĂ©der aux variables [nom\_de\_ma\_clef\_1]{.title-ref} et +[nom\_de\_ma\_clef\_2]{.title-ref} : : + + Je, soussignĂ©, {{nom_de_ma_clef_1}}, vous accorde un prĂȘt de {{nom_ma_clef_2}}. + +#### Conditions + +Des structures conditionnelles peuvent ĂȘtre mises en place. Cela permet +notamment de tester si une valeur a Ă©tĂ© renseignĂ©e et de permettre de +contextualiser l\'affichage en fonction de cela. Exemple : : + + Ce traitement sous + {% if responsable %}la responsabilitĂ© de {{responsable}} + {% else %}une responsabilitĂ© Ă dĂ©finir + {% endif %} se tiendra... + +Les structures conditionnelles se structurent autour des mots clĂ©s `if`, +`else` et `endif`. On utilise `{%` et `%}` autour de ces mots clĂ©s. La +section `else` est facultative. + +#### Parcours de liste + +Certaines clĂ©s peuvent parfois renvoyer Ă des listes d\'Ă©lĂ©ments, chacun +ayant des attributs. On peut alors parcourir cette liste d\'Ă©lĂ©ment de +cette maniĂšre : : + + {% for element in liste_elements %} + {{element.nom}} - {{element.prenom}} + {% endfor %} + +Cela se structure autour des mots clĂ©s `for`, `in` et `endfor`. Au lieu +de doubles accolades, `{%` et `%}` encadrent ces mots clĂ©s. + +Journalisation RGPD +------------------- + +ConformĂ©ment aux [recommandations de la +CNIL](https://www.cnil.fr/fr/la-cnil-publie-une-recommandation-relative-aux-mesures-de-journalisation), +une journalisation des actions relatives aux traitements, au sens RGPD, +de donnĂ©es personnelles est possible dans Ishtar. + +La journalisation consiste Ă assurer la traçabilitĂ© des actions opĂ©rĂ©es +sur des donnĂ©es personnelles. La traçabilitĂ© est assurĂ©e en enregistrant +: + +- l\'identifiant utilisateur qui rĂ©alise le traitement, +- la date et l'heure de l'accĂšs, +- l\'adresse IP de connexion, +- l\'information si cette IP est « routable » (i.e l\'IP est routable + si la connexion vient d\'Internet sinon la connexion vient du rĂ©seau + interne au serveur), +- le type de traitement, +- des liens vers les personnes concernĂ©es par le traitement. + +Si une personne est supprimĂ©e de la base de donnĂ©es, nom et prĂ©nom de +cette personne sont sauvegardĂ©es dans une table intermĂ©diaire le temps +que des donnĂ©es de journalisation concernant cette personne existent. + +Les types de traitements identifiĂ©s sont : + +- consultation de l\'annuaire (listing de personnes), +- export de l\'annuaire, +- consultation de la notice personne, +- export de la notice personne, +- crĂ©ation de personne (formulaire ou import), +- modification de personne (formulaire, import ou fusion), +- suppression de fiche personne. + +::: {.note} +::: {.title} +Note +::: + +Cette journalisation n\'est destinĂ©e qu\'Ă des seules fins +d'investigation en cas d'incident, d'intrusion dans les systĂšmes +informatiques ou de dĂ©tournement d'usage des traitements de donnĂ©es par +les personnes habilitĂ©es. Tout autre usage n\'est a priori pas lĂ©gitime +et relĂšve d\'une infraction au rĂšglement RGPD. +::: + +Cette journalisation est dĂ©sactivĂ©e par dĂ©faut. Elle peut ĂȘtre activĂ©e +par l\'administrateur serveur (paramĂštre [GDPR\_LOGGING]{.title-ref} Ă +[True]{.title-ref} dans le fichier [local\_settings.py]{.title-ref}). + +La durĂ©e de conservation des donnĂ©es de journalisation est fixĂ©e Ă 6 +mois (durĂ©e minimale prĂ©conisĂ©e par la CNIL). Cette durĂ©e peut ĂȘtre +changĂ©e par l\'administrateur serveur (paramĂštre +[GDPR\_RETENTION\_PERIOD]{.title-ref} dans le fichier +[local\_settings.py]{.title-ref}) mais il convient de rester dans le +cadre lĂ©gal (sauf exception la durĂ©e de conservation ne peut excĂ©der un +an). Au-delĂ de la durĂ©e paramĂ©trĂ©e les donnĂ©es sont supprimĂ©es +automatiquement (un script vĂ©rifie quotidiennement la pĂ©remption des +donnĂ©es). + +Ces donnĂ©es sont accessibles en consultation uniquement (la suppression +et la modification ne sont pas possible) via l\'interface +d\'administrateur aux utilisateurs : statut « super utilisateur » ou +dans le groupe « Administrateur RGPD » (et disposant du statut Ă©quipe : +cf. `gestion des comptes <gestion-comptes>`{.interpreted-text +role="ref"} ). Un export de ces donnĂ©es en CSV est possible pour +analyse. Le cas Ă©chĂ©ant, l\'administrateur RGPD doit prendre des mesures +organisationnelles afin de garantir une dĂ©truction de cet export une +fois que celui-ci a Ă©tĂ© exploitĂ©. + +::: {.note} +::: {.title} +Note +::: + +Si des utilisateurs disposent d\'un statut « super utilisateur » mais ne +sont pas administrateur RGPD, il est nĂ©cessaire de leur retirer ce +statut pour leur donner le groupe « administrateur technique ». +::: + +Lors du contrĂŽle de ces donnĂ©es, une attention particuliĂšre sera portĂ©e +sur les lignes ne disposant pas de l\'information de l\'utilisateur +et/ou de l\'adresse IP associĂ©e et/ou si l\'adresse IP est non routable. +Il peut s\'agir d\'entrĂ©es relatives Ă , dans le cas le plus courant, un +script de maintenance, Ă un dysfonctionnement ou alors, dans le pire des +cas, d\'une compromission de la base de donnĂ©es. Remontez l\'information +au plus vite au rĂ©fĂ©rent administration systĂšme. |