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 | |
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')
-rw-r--r-- | docs/fr/Makefile | 141 | ||||
-rw-r--r-- | docs/fr/administrateur-applicatif.md | 592 | ||||
-rw-r--r-- | docs/fr/administrateur-serveur.md | 285 | ||||
-rw-r--r-- | docs/fr/annexe-1-permission-action.md | 90 | ||||
-rw-r--r-- | docs/fr/annexe-2-ex-flux-ope.md | 180 | ||||
-rw-r--r-- | docs/fr/annexe-3-doc-normes.md | 38 | ||||
-rw-r--r-- | docs/fr/annexe-tech-1-insee-communes.md | 47 | ||||
-rw-r--r-- | docs/fr/annexe-tech-2-ign-communes.md | 88 | ||||
-rw-r--r-- | docs/fr/annexe-tech-3-variables-gen.md | 1205 | ||||
-rw-r--r-- | docs/fr/annexe-tech-4-jinja-filters.md | 126 | ||||
-rw-r--r-- | docs/fr/annexe-tech-5-manage-commands.md | 54 | ||||
-rw-r--r-- | docs/fr/annexe-tech-6-configuration-syndication.md | 220 | ||||
-rw-r--r-- | docs/fr/index.md | 134 | ||||
-rw-r--r-- | docs/fr/media-src/containers.dia (renamed from docs/fr/source/media-src/containers.dia) | bin | 2498 -> 2498 bytes | |||
-rw-r--r-- | docs/fr/media-src/geo-parents.dia (renamed from docs/fr/source/media-src/geo-parents.dia) | bin | 2228 -> 2228 bytes | |||
-rw-r--r-- | docs/fr/media-src/geo-source-point.dia (renamed from docs/fr/source/media-src/geo-source-point.dia) | bin | 3209 -> 3209 bytes | |||
-rw-r--r-- | docs/fr/media-src/geo-source-polygon.dia (renamed from docs/fr/source/media-src/geo-source-polygon.dia) | bin | 2800 -> 2800 bytes | |||
-rw-r--r-- | docs/fr/media-src/graphique-structure-ishtar.png (renamed from docs/fr/source/media-src/graphique-structure-ishtar.png) | bin | 230645 -> 230645 bytes | |||
-rw-r--r-- | docs/fr/media-src/graphique-structure-ishtar.svg (renamed from docs/fr/source/media-src/graphique-structure-ishtar.svg) | 0 | ||||
-rw-r--r-- | docs/fr/media-src/graphique_structure_ishtar-presenter.sozi.html (renamed from docs/fr/source/media-src/graphique_structure_ishtar-presenter.sozi.html) | 0 | ||||
-rw-r--r-- | docs/fr/media-src/graphique_structure_ishtar.dot (renamed from docs/fr/source/media-src/graphique_structure_ishtar.dot) | 0 | ||||
-rw-r--r-- | docs/fr/media-src/graphique_structure_ishtar.sozi.html (renamed from docs/fr/source/media-src/graphique_structure_ishtar.sozi.html) | 0 | ||||
-rw-r--r-- | docs/fr/media-src/graphique_structure_ishtar.sozi.json (renamed from docs/fr/source/media-src/graphique_structure_ishtar.sozi.json) | 0 | ||||
-rw-r--r-- | docs/fr/media-src/graphique_structure_ishtar.svg (renamed from docs/fr/source/media-src/graphique_structure_ishtar.svg) | 0 | ||||
-rw-r--r-- | docs/fr/media-src/graphique_structure_ishtar_layers-presenter.sozi.html (renamed from docs/fr/source/media-src/graphique_structure_ishtar_layers-presenter.sozi.html) | 0 | ||||
-rw-r--r-- | docs/fr/media-src/graphique_structure_ishtar_layers.sozi.html (renamed from docs/fr/source/media-src/graphique_structure_ishtar_layers.sozi.html) | 0 | ||||
-rw-r--r-- | docs/fr/media-src/graphique_structure_ishtar_layers.sozi.json (renamed from docs/fr/source/media-src/graphique_structure_ishtar_layers.sozi.json) | 0 | ||||
-rw-r--r-- | docs/fr/media-src/graphique_structure_ishtar_layers.svg (renamed from docs/fr/source/media-src/graphique_structure_ishtar_layers.svg) | 0 | ||||
-rw-r--r-- | docs/fr/media-src/interface-generale.xcf (renamed from docs/fr/source/media-src/interface-generale.xcf) | bin | 276491 -> 276491 bytes | |||
-rw-r--r-- | docs/fr/media-src/ishtar-coins.dot (renamed from docs/fr/source/media-src/ishtar-coins.dot) | 0 | ||||
-rw-r--r-- | docs/fr/media-src/ishtar-coins.svg (renamed from docs/fr/source/media-src/ishtar-coins.svg) | 0 | ||||
-rw-r--r-- | docs/fr/media-src/ishtar-dublincore.dot (renamed from docs/fr/source/media-src/ishtar-dublincore.dot) | 0 | ||||
-rw-r--r-- | docs/fr/media-src/ishtar-dublincore.svg (renamed from docs/fr/source/media-src/ishtar-dublincore.svg) | 0 | ||||
-rw-r--r-- | docs/fr/media-src/ishtar-syndication.drawio (renamed from docs/fr/source/media-src/ishtar-syndication.drawio) | 0 | ||||
-rw-r--r-- | docs/fr/media-src/ishtar-syndication.drawio.png (renamed from docs/fr/source/media-src/ishtar-syndication.drawio.png) | bin | 37844 -> 37844 bytes | |||
-rw-r--r-- | docs/fr/media-src/traitement.xcf (renamed from docs/fr/source/media-src/traitement.xcf) | bin | 938873 -> 938873 bytes | |||
-rw-r--r-- | docs/fr/principes.md | 576 | ||||
-rw-r--r-- | docs/fr/static/annexe-technique-06-01.png (renamed from docs/fr/source/_static/annexe-technique-06-01.png) | bin | 67750 -> 67750 bytes | |||
-rw-r--r-- | docs/fr/static/annexe-technique-06-02.png (renamed from docs/fr/source/_static/annexe-technique-06-02.png) | bin | 35582 -> 35582 bytes | |||
-rw-r--r-- | docs/fr/static/annexe-technique-06-03.png (renamed from docs/fr/source/_static/annexe-technique-06-03.png) | bin | 38777 -> 38777 bytes | |||
-rw-r--r-- | docs/fr/static/annexe-technique-06-04.png (renamed from docs/fr/source/_static/annexe-technique-06-04.png) | bin | 52412 -> 52412 bytes | |||
-rw-r--r-- | docs/fr/static/annexe-technique-06-05.png (renamed from docs/fr/source/_static/annexe-technique-06-05.png) | bin | 45259 -> 45259 bytes | |||
-rw-r--r-- | docs/fr/static/annexe-technique-06-06.png (renamed from docs/fr/source/_static/annexe-technique-06-06.png) | bin | 157204 -> 157204 bytes | |||
-rw-r--r-- | docs/fr/static/annexe-technique-06-07.png (renamed from docs/fr/source/_static/annexe-technique-06-07.png) | bin | 76811 -> 76811 bytes | |||
-rw-r--r-- | docs/fr/static/annexe-technique-06-08.png (renamed from docs/fr/source/_static/annexe-technique-06-08.png) | bin | 55055 -> 55055 bytes | |||
-rw-r--r-- | docs/fr/static/annexe-technique-06-09.png (renamed from docs/fr/source/_static/annexe-technique-06-09.png) | bin | 55308 -> 55308 bytes | |||
-rw-r--r-- | docs/fr/static/annexe-technique-06-10.png (renamed from docs/fr/source/_static/annexe-technique-06-10.png) | bin | 109448 -> 109448 bytes | |||
-rw-r--r-- | docs/fr/static/annexe-technique-06-11.png (renamed from docs/fr/source/_static/annexe-technique-06-11.png) | bin | 75886 -> 75886 bytes | |||
-rw-r--r-- | docs/fr/static/annexe-technique-06-12.png (renamed from docs/fr/source/_static/annexe-technique-06-12.png) | bin | 57338 -> 57338 bytes | |||
-rw-r--r-- | docs/fr/static/annexe-technique-1-export-qgis.png (renamed from docs/fr/source/_static/annexe-technique-1-export-qgis.png) | bin | 92468 -> 92468 bytes | |||
-rw-r--r-- | docs/fr/static/geo-parents.png (renamed from docs/fr/source/_static/geo-parents.png) | bin | 22275 -> 22275 bytes | |||
-rw-r--r-- | docs/fr/static/geo-source-point.png (renamed from docs/fr/source/_static/geo-source-point.png) | bin | 49549 -> 49549 bytes | |||
-rw-r--r-- | docs/fr/static/geo-source-polygon.png (renamed from docs/fr/source/_static/geo-source-polygon.png) | bin | 40508 -> 40508 bytes | |||
-rw-r--r-- | docs/fr/static/graphique_structure_ishtar.png (renamed from docs/fr/source/_static/graphique_structure_ishtar.png) | bin | 240291 -> 240291 bytes | |||
-rw-r--r-- | docs/fr/static/interface-generale.png (renamed from docs/fr/source/_static/interface-generale.png) | bin | 89012 -> 89012 bytes | |||
-rw-r--r-- | docs/fr/static/ishtar-coins.png (renamed from docs/fr/source/_static/ishtar-coins.png) | bin | 63034 -> 63034 bytes | |||
-rw-r--r-- | docs/fr/static/ishtar-dublincore.png (renamed from docs/fr/source/_static/ishtar-dublincore.png) | bin | 82073 -> 82073 bytes | |||
-rw-r--r-- | docs/fr/static/traitement.png (renamed from docs/fr/source/_static/traitement.png) | bin | 392392 -> 392392 bytes | |||
-rw-r--r-- | docs/fr/templates/annexe-tech-3-variables-gen.jinja (renamed from docs/fr/source/_templates/annexe-tech-3-variables-gen.jinja) | 0 | ||||
-rw-r--r-- | docs/fr/utilisateur.md | 479 |
60 files changed, 4114 insertions, 141 deletions
diff --git a/docs/fr/Makefile b/docs/fr/Makefile deleted file mode 100644 index f2f86a692..000000000 --- a/docs/fr/Makefile +++ /dev/null @@ -1,141 +0,0 @@ -# Makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -PAPER = -BUILDDIR = build - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source - -.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest - -help: - @echo "Please use \`make <target>' where <target> is one of" - @echo " html to make standalone HTML files" - @echo " dirhtml to make HTML files named index.html in directories" - @echo " singlehtml to make a single large HTML file" - @echo " pickle to make pickle files" - @echo " json to make JSON files" - @echo " htmlhelp to make HTML files and a HTML help project" - @echo " qthelp to make HTML files and a qthelp project" - @echo " devhelp to make HTML files and a Devhelp project" - @echo " epub to make an epub" - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" - @echo " latexpdf to make LaTeX files and run them through pdflatex" - @echo " text to make text files" - @echo " man to make manual pages" - @echo " changes to make an overview of all changed/added/deprecated items" - @echo " linkcheck to check all external links for integrity" - @echo " doctest to run all doctests embedded in the documentation (if enabled)" - -clean: - -rm -rf $(BUILDDIR)/* - -dot: - for FILE in `ls source/media-src/*.dot`; do \ - filename=$$(basename -- "$$FILE") ; \ - extension="$${filename##*.}" ; \ - filename="$${filename%.*}" ; \ - dot -Tsvg source/media-src/$$filename.dot > \ - source/media-src/$$filename.svg ; \ - dot -Tpng source/media-src/$$filename.dot > \ - source/_static/$$filename.png ; \ - done - -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." - -dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." - -singlehtml: - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml - @echo - @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." - -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json - @echo - @echo "Build finished; now you can process the JSON files." - -htmlhelp: - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp - @echo - @echo "Build finished; now you can run HTML Help Workshop with the" \ - ".hhp project file in $(BUILDDIR)/htmlhelp." - -qthelp: - $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp - @echo - @echo "Build finished; now you can run "qcollectiongenerator" with the" \ - ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Ishtar.qhcp" - @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Ishtar.qhc" - -devhelp: - $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp - @echo - @echo "Build finished." - @echo "To view the help file:" - @echo "# mkdir -p $$HOME/.local/share/devhelp/Ishtar" - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Ishtar" - @echo "# devhelp" - -epub: - $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub - @echo - @echo "Build finished. The epub file is in $(BUILDDIR)/epub." - -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." - @echo "Run \`make' in that directory to run these through (pdf)latex" \ - "(use \`make latexpdf' here to do that automatically)." - -latexpdf: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through pdflatex..." - make -C $(BUILDDIR)/latex all-pdf - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -text: - $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text - @echo - @echo "Build finished. The text files are in $(BUILDDIR)/text." - -man: - $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man - @echo - @echo "Build finished. The manual pages are in $(BUILDDIR)/man." - -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes - @echo - @echo "The overview file is in $(BUILDDIR)/changes." - -linkcheck: - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in $(BUILDDIR)/linkcheck/output.txt." - -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in $(BUILDDIR)/doctest/output.txt." 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. diff --git a/docs/fr/administrateur-serveur.md b/docs/fr/administrateur-serveur.md new file mode 100644 index 000000000..b988bbe34 --- /dev/null +++ b/docs/fr/administrateur-serveur.md @@ -0,0 +1,285 @@ +Administration serveur +====================== + +Auteur + +: Étienne Loks + +Date + +: 2023-06-12 + +Copyright + +: CC-BY 3.0 + +Ce document présente les instructions d\'installation et de mise à jour +d\'Ishtar. + +Seule l\'installation sous Debian GNU/linux via le paquet Debian est +décrite. Cet environnement est le seul sous lequel un suivi de sécurité +et des dysfonctionnements est assuré, installer Ishtar hors de cet +environnement est déconseillé. + +Un nom de domaine dédié est nécessaire pour chaque instance (une +instance Ishtar n\'est pas installable dans un sous-répertoire). Par +contre un sous-domaine est tout à fait utilisable (par exemple : +*ishtar.mon-domaine.net*). + +::: {.note} +::: {.title} +Note +::: + +Sauf mention explicite, chaque commande est exécutée en tant +qu\'utilisateur root. Les utilisateurs de sudo l\'ajouteront à chaque +commande. +::: + +Installation sur serveur Debian Bullseye +---------------------------------------- + +Un dépôt a été mis en place pour installer sous Debian Bullseye. Ce +dépôt est signé, pour ajouter la clé du dépôt à votre gestionnaire de +paquet, lancez la commande : + + wget -O - http://deb.iggdrasil.net/iggdrasil.gpg.key | apt-key add - + +Puis, au choix, ajoutez le dépôt à votre /etc/apt/sources.list : + + deb http://deb.iggdrasil.net/apt/debian/ bullseye main + deb-src http://deb.iggdrasil.net/apt/debian/ bullseye main + +Ou sauvegardez le fichier +[iggdrasil.list](http://deb.iggdrasil.net/apt/debian/dists/bullseye/iggdrasil.list) +dans votre répertoire **/etc/apt/sources.list.d/** : + + wget -O - http://deb.iggdrasil.net/apt/debian/dists/bullseye/iggdrasil.list > /etc/apt/sources.list.d/iggdrasil.list + +Ensuite mettez à jour la base de données de votre gestionnaire de paquet +et installez le paquet : + + apt update + apt install python3-django-ishtar + +Deux paquets optionnels peuvent être installés : + +- **ishtar-tasks** : installe un service de tâche pour gérer en tâche + de fond les opérations longues (par exemple les imports). + L\'installation de ce paquet est vivement conseillée sauf si votre + serveur a une mémoire vive limitée (par exemple nano-ordinateur). +- **ishtar-libreoffice** : installe libreoffice en mode serveur pour + faciliter des imports / exports aux formats bureautique. Ce paquet + est nécessaire pour générer les tableaux depuis les types d\'import. + Il dépend de la version libreoffice-nogui : la couche graphique + n\'est pas installée sur le serveur. + +Enfin pour créer une nouvelle instance d\'Ishtar : + + ishtar-prepare-instance + +Un ensemble de questions vous sera posé afin de déterminer les +paramètres qui concernent cette instance. + +::: {.note} +::: {.title} +Note +::: + +Le nom de domaine doit bien entendu pointer vers l\'adresse IP du +serveur. Si à l\'issue de l\'installation, le service n\'est pas +joignable, verifiez bien votre configuration DNS ou le cas échéant +verifez bien auprès du gestionnaire de nom de domaine que c\'est le cas. +::: + +::: {.warning} +::: {.title} +Warning +::: + +En termes de serveur Web, l\'installateur fonctionne avec la +configuration que nous considérons comme la plus optimisée qui est le +couple nginx / uwsgi. Si vous avez des services tournant sous Apache ou +sous un autre serveur web, plusieurs options se présentent à vous : + +- faire fonctionner nginx sur un autre port ; +- faire fonctionner vos autres services avec nginx (je vous laisse + découvrir l\'abondante documentation en ligne en cherchant « nginx + + le nom de mon service ») ; +- configurer Ishtar pour fonctionner avec votre serveur web + (référez-vous à la [documentation de + Django](https://docs.djangoproject.com/fr/2.2/howto/deployment/wsgi/)). +::: + +L\'installateur vous demandera un identifiant / mot de passe pour le +compte administrateur. Une fois l\'instance préparée, une base de +données a été créée avec un nom du type +ishtar-le\_nom\_de\_mon\_instance (le nom que vous avez donné), Ishtar +est joignable à l\'adresse donnée par la variable URL et les données de +cette instance sont stockées dans le répertoire +/srv/ishtar/le\_nom\_de\_mon\_instance. + +Initialisation de la base de données +------------------------------------ + +Ishtar dispose de nombreuses tables de paramétrage permettant d\'avoir +un logiciel au plus proche de vos besoins. Remplir toutes ces tables est +fastidieux, c\'est pour cela que des jeux de données de base sont +disponibles. Lors de l\'installation du paquet, à l\'exception des +communes (trop lourdes pour être incluses par défaut), cette +initialisation est faite. + +### Initialisation des communes + +Une liste des communes française peut être téléchargée et chargée : + + cd /tmp + wget "http://ishtar-archeo.net/fixtures/initial_towns-fr.tar.bz2" + tar xvjf initial_towns-fr.tar.bz2 + + ISHTAR_PATH=/srv/ishtar # répertoire par défaut de l'installation pour le paquet Debian + PROJECT_PATH=$ISHTAR_PATH/le_nom_de_mon_instance + cd $PROJECT_PATH + ./manage.py loaddata /tmp/towns_norel-fr.json + ./manage.py loaddata /tmp/towns-fr.json + rm /tmp/initial_towns-fr.tar.bz2 + rm /tmp/towns-* + +Mises à jour +------------ + +### Mise à jour version 3 (sur Debian Buster) vers la version 4 (sur Debian Bullseye) + +Comme lors de toute migration non triviale, il est préférable de faire +une sauvegarde de la base de données et des médias associés juste avant +de lancer la mise à jour. + +Le changement de version nécessite préalablement la mise à jour vers la +version de Debian 11 Bullseye. + +Pour faciliter cette mise à jour, si ceux-ci ont été installés, il est +conseillé de purger en amont les paquets optionnels +[ishtar-libreoffice]{.title-ref} et [ishtar-tasks]{.title-ref} ainsi que +tous les paquets [libreoffice]{.title-ref} : + + apt purge ishtar-libreoffice ishtar-tasks libreoffice-* + apt autoremove + +Ceux-ci pourront être réinstallés une fois la mise à jour vers Bullseye +finie. + +Éteignez les services web et ensuite procédez à la mise à jour de Debian +selon la documentation Debian officielle (ou votre protocole/vos +habitudes). Ne changez pas tout de suite le fichier source list (ou les +lignes) correspondant au dépôt Ishtar. + +Ensuite vous pouvez opérer la migration de la base de données PostgreSQL +vers la version 13 : + + systemctl stop postgresql + pg_dropcluster 13 main + pg_upgradecluster -m dump 11 main # utiliser "dump" pour éviter les complications avec postgis + systemctl start postgresql + +Mettez à jour vers Bullseye le dépôt correspondant à Ishtar (a priori +dans le fichier [/etc/apt/sources.list.d/iggdrasil.list]{.title-ref}) et +lancez la mise à jour : + + apt update + apt upgrade + apt dist-upgrade + +Le paquet [python3-weasyprint]{.title-ref} empêche parfois la mise à +jour (à cause d\'un conflit de version). Dans ce cas, le supprimer +explicitement et relancer le paramétrage : + + apt remove python3-weasyprint + apt --fix-broken install + +Pour finaliser la mise à jour des paquets, supprimer les paquets +obsolètes : + + apt autoremove + +Vous pouvez ensuite, le cas échéant, ré-installer les paquets +[ishtar-libreoffice]{.title-ref} et [ishtar-tasks]{.title-ref} : + + apt install ishtar-tasks ishtar-libreoffice + +On peut ensuite passer à la migration des données. Attention cette +migration peut être longue (plusieurs heures), assurez-vous que le +processus de migration ne soit pas interrompu (a minima lancez-le via un +outil comme [screen]{.title-ref}). Pour chaque instance, dans le +répertoire [/srv/ishtar/]{.title-ref} lancez les commandes : + + cd /srv/ishtar/{le_nom_de_mon_instance} + # mise à jour des données par défaut + ./manage.py loaddata /usr/share/python3-django-ishtar/fixtures/initial_data-auth-fr.json + ./manage.py loaddata /usr/lib/python3/dist-packages/archaeological_files/fixtures/initial_data-fr.json + # migration des données pour la nouvelle gestion géographique + editor local_settings.py + (...) # à la fin du fichier ajouter les lignes + ISHTAR_MIGRATE_V4 = True + USE_BACKGROUND_TASK = False + + ## nombre-de-processus dépend du processeur et du nombre de fils d'exécution disponible + ## plus il y en a, plus rapide est la conversion mais laissez quand même un minimum de marge + ## pour ne pas rendre la machine inutilisable + ./manage.py migrate_to_geo_v4 --process {nombre-de-processus} + # une fois la migration finie + editor local_settings.py + (...) # supprimer les deux lignes ajoutées + +Si vous utilisez [ishtar-tasks]{.title-ref}, sur cette nouvelle version +la gestion du service [rabbitmq]{.title-ref} n\'est plus assurée via +[systemd]{.title-ref} mais via [supervisor.]{.title-ref} La migration de +[systemd]{.title-ref} vers [supervisor]{.title-ref} n\'est pas gérée +automatiquement via le paquet, seules les nouvelles instances ont un +fichier [supervisor]{.title-ref} créé à l\'installation. Pour gérer +cette migration supprimez les fichiers de configuration +[systemd]{.title-ref} résiduels : + + rm -f /etc/systemd/system/rabbitmq-notify-email\@.service + rm -f /etc/systemd/system/rabbitmq-server.service + rm -f /etc/systemd/system/multi-user.target.wants/rabbitmq-server.service + +Puis créez les fichiers de configuration [supervisor]{.title-ref} pour +chaque instance : + + rm -f /etc/monit/conf-enabled/celery-* + rm -f /etc/systemd/system/celery-* + rm -f /etc/systemd/system/multi-user.target.wants/celery-* + + # pour chaque instance listée dans /etc/ishtar/instances + editor /etc/supervisor/conf.d/celery_le_nom_de_mon_instance.conf + + [program:celery_le_nom_de_mon_instance] + command=/usr/bin/celery -A le_nom_de_mon_instance worker --loglevel=INFO -c 6 + directory=/srv/ishtar/ + user=www-data + autostart=true + autorestart=true + stdout_logfile=/var/log/celery/le_nom_de_mon_instance.log + redirect_stderr=true + stopasgroup=true + + supervisorctl reread # prise en compte des nouveaux fichiers de configuration + supervisorctl update # mise à jour + +La migration est terminée. Redémarrez la machine et assurez-vous que +tous les services fonctionnent convenablement en particulier via les +commandes [systemctl \--failed]{.title-ref} et [supervisorctl +status]{.title-ref}. + +En ce qui concerne le paramétrage, il est impératif de modifier les +types de droits utilisateurs pour l\'accès aux données géographiques. +Ouvrez votre instance sur un navigateur web en admin et rendez-vous à la +page : +[http(s)://{my-ihstar}/admin/ishtar\_common/profiletypesummary/]{.title-ref} +pour ajouter les permissions nécessaires. + +Une fois que vous vous serez assuré que tout est fonctionnel, vous +pourrez effacer l\'ancien cluster PostgreSQL correspondant à la version +11 : + + pg_dropcluster 11 main diff --git a/docs/fr/annexe-1-permission-action.md b/docs/fr/annexe-1-permission-action.md new file mode 100644 index 000000000..40c4fbd64 --- /dev/null +++ b/docs/fr/annexe-1-permission-action.md @@ -0,0 +1,90 @@ +Annexe 1 - Détails des permissions {#annexe-1-permission-action} +================================== + +Auteur + +: Étienne Loks + +Date + +: 2023-10-26 + +Copyright + +: CC-BY 3.0 + +------------------------------------------------------------------------ + +Imports +------- + +### Définition des droits + +Par défaut, les utilisateurs avec un profil « Administrateur » ont accès +à tous les droits relatifs aux imports. + +Les droits relatifs aux imports utilisent les groupes suivant : + +- Imports : lecture +- Imports : ajout +- Imports : modification +- Imports : suppression +- Imports rattachés : lecture +- Imports rattachés : ajout +- Imports rattachés : modification +- Imports rattachés : suppression + +Pour que les droits relatifs à ces groupes soient effectifs, ils doivent +être rattachés aux types de profils des utilisateurs (cf. +`permissions dans Ishtar<permissions-ishtar>`{.interpreted-text +role="ref"}). + +### Import rattaché + +Un droit non rattaché ouvre les droits pour tous les éléments. Un import +est rattaché à un utilisateur si cet utilisateur fait partie des +utilisateurs associés au type d\'import (« +<https://monsite-ishtar.net/admin/ishtar_common/importertype/> ») de +l\'import en question. + +L\'utilisateur bénificiera du droit rattaché à un import si : + +- son profil utilisateur a le droit « Import rattaché » correspondant. +- il est listé comme utilisateur du type d\'import de cet import. + +### Permission lecture + +Cette permission d\'accéder aux fiches imports depuis les fiches +d\'éléments créés ou mis à jour. Depuis cette fiche ce droit permet de +visualiser les CSV rattachés aux imports. + +### Permission ajout + +Cette permission permet de créer de nouveaux imports. + +Le droit « Imports rattachés : ajout » ne permet de créer des imports +que pour les types d\'imports pour lesquels l\'utilisateur est listé. + +::: {.warning} +::: {.title} +Warning +::: + +Cette permission est inefficiente sans la permission « Import : +modification » car sans cette permission l\'accès à la liste des imports +n\'est alors pas possible. +::: + +### Permission modification + +Cette permission permet : + +- d\'accéder à la liste des imports, +- de modifier un import existant, +- d\'analyser, de faire les correspondances, de lancer l\'importation + d\'un import. + +### Permission suppression + +Cette permission permet de supprimer les imports **et** par conséquent +les éléments auxquels sont associés ces imports. diff --git a/docs/fr/annexe-2-ex-flux-ope.md b/docs/fr/annexe-2-ex-flux-ope.md new file mode 100644 index 000000000..4c6ebb33b --- /dev/null +++ b/docs/fr/annexe-2-ex-flux-ope.md @@ -0,0 +1,180 @@ +Annexe 2 - Exemple de flux opérationnel : prêt pour exposition +============================================================== + +Auteur + +: Étienne Loks + +Date + +: 2018-12-04 + +Copyright + +: CC-BY 3.0 + +------------------------------------------------------------------------ + +Description +----------- + +Le flux opérationnel « Prêt pour exposition » pourrait par exemple se +décomposer suivant ces différentes étapes : + +> - pré-sélection du mobilier pour l\'exposition par les gestionnaires +> de mobilier ; +> - sélection du mobilier depuis cette pré-selection par la structure +> emprunteuse ; +> - édition des documents administratifs : convention de prêt, +> assurance ; +> - départ effectif du mobilier concerné ; +> - gestion du retour du mobilier. + +Pré-requis : + +> - les patrons des actes administratifs associés à la demande de prêt +> ont été créés, +> +> - la personne en charge du prêt a un compte Ishtar qui dispose au +> minimum : +> +> > - de droits de lecture et modification sur le mobilier +> > éventuellement concerné par la sélection, +> > - d\'un droit de création de demande de traitement, +> > - d\'un droit de création d\'acte administratif. +> +> - les gestionnaires de mobilier concernés ont un compte sur Ishtar +> qui disposent au minimum de droits de lecture sur le mobilier +> éventuellement concerné par la sélection. +> +> - la structure emprunteuse dispose d\'un compte Ishtar avec droit de +> lecture sur le mobilier rattaché. + +### Pré-sélection du mobilier pour l\'exposition par les gestionnaires de mobilier + +1. Un des responsables de mobilier créé un panier depuis l\'action + rapide « Panier » sur les listes de mobilier (par exemple sur + *Mobilier › Recherche*) ou depuis *Mobilier › Panier › Ajout*. +2. Il ajoute quelques éléments à ce panier via l\'action rapide « + Panier » ou *Mobilier › Panier › Gestion des éléments*. +3. Ce responsable partage ce panier en lecture/édition avec les autres + gestionnaires de mobilier via *Mobilier › Panier › Modification*. +4. Les autres gestionnaires peuvent de la même manière ajouter, enlever + des éléments à ce panier via l\'action rapide « Panier » ou + *Mobilier › Panier › Gestion des éléments*. +5. Fin d\'étape : tous les gestionnaires ont signifié (oralement, par + courriel, etc.) que la pré-sélection actuelle convenait. + +### Sélection du mobilier depuis cette pré-selection par la structure emprunteuse + +1. Si l\'on souhaite conserver cette pré-sélection avant partage et + modification, elle peut être dupliquée depuis la fiche associée au + panier (ouverte par exemple depuis : *Mobilier › Panier › Recherche* + ou depuis l\'icône « Paniers » sur une des fiches mobilier concernée + par ce panier) avec l\'icône « Dupliquer ». +2. Le responsable du prêt partage le panier en lecture/édition avec la + structure emprunteuse via *Mobilier › Panier › Modification* et + l\'informe que la pré-selection est disponible (via courriel, + téléphone). + +::: {.note} +::: {.title} +Note +::: + +Un lien direct peut être donné à la structure emprunteuse pour quelle +gère son panier, il suffit d\'aller sur le panneau de gestion des +éléments du panier concerné (*Mobilier › Panier › Gestion des éléments*) +et de recopier l\'adresse dans la barre d\'adresse. La structure +emprunteuse devra préalablement s\'identifier avant d\'accéder à ce +lien. +::: + +::: {.warning} +::: {.title} +Warning +::: + +Si le droit de lecture de mobilier de la structure emprunteuse est basé +sur le mobilier rattaché via ce panier, enlever un élément du panier lui +retire le droit de consulter cet élément. Une astuce peut être de +partager le panier dupliqué : une fois en lecture seule, une fois en +lecture/édition, ainsi même si un élément est retiré du panier en +lecture/édition, il reste « rattaché » à la structure emprunteuse par le +panier en lecture seule. Le panier en lecture simple peut aussi recevoir +des éléments disponibles pour prêt mais pas forcément retenu dans la +sélection proposée. +::: + +3. La structure emprunteuse retire du panier les éléments qui ne + l\'intéresse pas. +4. Fin d\'étape : la structure emprunteuse a fini sa sélection et + confirme son intérêt pour un prêt (par courriel, \...). + +### Édition des documents administratifs + +1. Le responsable du prêt enleve le partage en modification du panier + (*Mobilier › Panier › Modification*). +2. Le responsable du prêt crée une demande de traitement « Demande de + prêt pour exposition » depuis *Demande de traitement › Ajout*. Il + est important de bien renseigner les différents champs pour que la + génération des documents se passe bien. Le panier concerné doit être + associé à cette demande de traitement. +3. Le responsable du prêt crée les actes administratifs correspondant + aux documents administratifs attendus, via l\'icône « + acte admin. + » de la fiche de demande de traitement ou via *Demande de traitement + › Acte administratif › Ajout*. +4. Un document est généré pour chaque acte administratif depuis + *Demande de traitement › Acte administratif › Documents*. Ceux-ci + peuvent alors être transmis à la structure demandeuse. +5. Fin d\'étape : les documents ont été retournés signés. Ils sont + éventuellement numérisés et ajoutés en tant que documents à la + demande de traitement. + +### Départ effectif du mobilier concerné + +1. Le responsable du prêt crée un traitement « Prêt » depuis la fiche + de demande de traitement correspondante avec le bouton « Ajouter le + traitement associé ». Un contenant correspondant au lieu d\'emprunt + doit être spécifié. + +::: {.note} +::: {.title} +Note +::: + +Le traitement peut être ajouté depuis la fiche panier ou via *Traitement +› Traitement simple - Création* mais cela demande de re-sélectionner des +éléments du panier ou de la demande de traitement associée. Passer par +la fiche de demande de traitement correspondante est moins source +d\'erreur. +::: + +2. Une alerte spécique est créée depuis le listing mobilier pour + surveiller le retour du mobilier avec une chaîne de ce type : : + + panier="Exposition Sein 2018" pret="Oui" fin-de-traitement-avant="aujourdhui+30" + +3. Avec cette requête, 30 jours avant la date de retour attendue, + l\'alerte sera affichée. + +4. Fin d\'étape : le mobilier a été retourné. + +### Gestion du retour du mobilier + +1. Sur la fiche panier correspondante, sur les fiches contenants + correspondants ou sur chaque fiche mobilier par mobilier, un + traitement « Retour de prêt » est fait. + +::: {.note} +::: {.title} +Note +::: + +Il sera possible d\'accéder rapidement aux fiches mobilier ou contenant +via le QR-code. +::: + +2. Depuis ces fiches, une demande de traitement « Constat d\'état » + pourra être ajoutée depuis le bouton « Ajouter une demande de + traitement ». diff --git a/docs/fr/annexe-3-doc-normes.md b/docs/fr/annexe-3-doc-normes.md new file mode 100644 index 000000000..45bf5117a --- /dev/null +++ b/docs/fr/annexe-3-doc-normes.md @@ -0,0 +1,38 @@ +Annexe 3 - Correspondance des champs Ishtar - Normes documentaires +================================================================== + +Auteur + +: Étienne Loks + +Date + +: 2020-05-27 + +Copyright + +: CC-BY 3.0 + +------------------------------------------------------------------------ + +Ishtar - Dublin Core +-------------------- + +Issu d\'un consensus international et multidisciplinaire, le [Dublin +Core](https://fr.wikipedia.org/wiki/Dublin_Core) a été développé pour +décrire des documents de manière simple et standardisée. + +{.align-center} + +Ishtar - COinS +-------------- + +Le [ContextObjects in Spans +(COinS)](https://fr.wikipedia.org/wiki/ContextObjects_in_Spans) est une +méthode pour inclure des métadonnées bibliographiques dans le code HTML +de pages web. + +L'utilisation de COinS permet à un logiciel de gestion bibliographique +de récupérer les méta-données de l'ouvrage de référence. + +{.align-center} diff --git a/docs/fr/annexe-tech-1-insee-communes.md b/docs/fr/annexe-tech-1-insee-communes.md new file mode 100644 index 000000000..104f4e38a --- /dev/null +++ b/docs/fr/annexe-tech-1-insee-communes.md @@ -0,0 +1,47 @@ +Annexe technique 1 - Import des regroupements de commune INSEE {#import-regroupements-communes-insee} +============================================================== + +Auteur + +: Étienne Loks + +Date + +: 2020-09-23 + +Copyright + +: CC-BY 3.0 + +------------------------------------------------------------------------ + +[L\'INSEE](https://www.insee.fr) met à disposition un fichier permettant +de suivre l\'évolution des « communes nouvelles » (procédure de +regroupement de communes). Au sein de sa base de données, Ishtar gère +ces évolutions permettant à la fois d\'insérer de nouvelles données pour +ces communes nouvelles mais aussi de conserver voire ajouter des données +relatives à des communes anciennes maintenant regroupées. Une page sur +le site de l\'INSEE permet de télécharger ces données au format CSV : +[communes nouvelles](https://www.insee.fr/fr/information/2549968). + +Ce fichier est importable au sein d\'Ishtar. + +Pour cela, se connecter sur le serveur hébergeant Ishtar, déposer le +fichier CSV que l\'on a téléchargé, puis se rendre dans le répertoire +d\'installation de l\'instance concernée. Enfin, lancer la commande +suivante (en remplaçant \<année\> et \<chemin vers le fichier CSV\> par +les valeurs adéquates) : + +``` {.bash} +root@ishtar-server:# cd <chemin vers l instance> # exemple : /srv/ishtar/prod_deb +root@ishtar-server:# python3 ./manage.py import_insee_comm_csv --year <année> <chemin vers le fichier CSV> +``` + +::: {.note} +::: {.title} +Note +::: + +L\'année attendue est celle de l\'année de création des communes +nouvelles. +::: diff --git a/docs/fr/annexe-tech-2-ign-communes.md b/docs/fr/annexe-tech-2-ign-communes.md new file mode 100644 index 000000000..f7c6269f5 --- /dev/null +++ b/docs/fr/annexe-tech-2-ign-communes.md @@ -0,0 +1,88 @@ +Annexe technique 2 - Import des communes IGN {#import-communes-ign} +============================================ + +Auteur + +: Étienne Loks + +Date + +: 2020-09-23 + +Copyright + +: CC-BY 3.0 + +------------------------------------------------------------------------ + +[L\'IGN](http://www.ign.fr/) met à disposition sous licence libre +([Licence +ouverte](https://www.etalab.gouv.fr/wp-content/uploads/2014/05/Licence_Ouverte.pdf)) +les géométries du découpage administratif du territoire métropolitain +français avec une réactualisation annuelle. Au sein d\'Ishtar, il est +opportun de récupérer le découpage des communes avec leur géométrie +associée. On réalise cela en deux temps : récupération des données et +export au format CSV, puis import au sein d\'Ishtar. Il est nécessaire +pour faire cet import d\'un accès en ligne de commande au serveur sur +lequel est hébergé Ishtar. + +Récupération des données +------------------------ + +Le jeu de données qui nous intéresse est distribué sous le nom ADMIN +EXPRESS. Ce jeu de données est disponible en ligne directement sur le +site de l\'IGN : [ADMIN +EXPRESS](https://geoservices.ign.fr/documentation/diffusion/telechargement-donnees-libres.html#admin-express). + +Une fois le fichier récupéré, il doit être décompressé (il faut disposer +d\'un utilitaire à même de décompresser les archives 7z). Les fichiers +qui nous intéressent concernent le shapefile COMMUNE ou COMMUNE\_CARTO +(géométrie généralisée - moins précise et de fait moins volumineuse). +Celui se trouve dans le répertoire +[ADMIN-EXPRESS-COG/1\_DONNEES\_LIVRAISON\_\<date de livraison\>/\<zone +concernée\>/]{.title-ref}. + +Ce shapefile doit ensuite être ouvert dans QGIS puis exporté au format +CSV en n\'oubliant pas d\'inclure la géométrie au format WKT. + + + +Import dans Ishtar +------------------ + +Il ne reste plus qu\'à importer dans Ishtar. Pour cela, se connecter sur +le serveur hébergeant Ishtar, déposer le fichier CSV que l\'on a généré, +puis se rendre dans le répertoire d\'installation de l\'instance +concernée. Enfin, lancer la commande suivante (en remplaçant \<année\> +et \<chemin vers le fichier CSV\> par les valeurs adéquates) : + +``` {.bash} +root@ishtar-server:# cd <chemin vers l instance> # exemple : /srv/ishtar/prod_deb +root@ishtar-server:# python3 ./manage.py import_geofla_csv --year <année> \ + --srid <code epsg de la projection> <chemin vers le fichier CSV> +root@ishtar-server:# # exemple +root@ishtar-server:# python3 ./manage.py import_geofla_csv --year 2019 --srid 4326 /tmp/2019.csv +``` + +::: {.warning} +::: {.title} +Warning +::: + +L\'année attendue est celle correspondant à l\'année de création pour +des communes nouvelles. Le jeu de données d\'une année concerne les +communes créées l\'année précédente ainsi pour le jeu de données 2020, +il faut indiquer 2019. +::: + +::: {.warning} +::: {.title} +Warning +::: + +Si l\'on souhaite garder un suivi des regroupements de communes, il est +important de procéder à l\'import des nouvelles communes (cf. +`import-regroupements-communes-insee`{.interpreted-text role="ref"}) de +l\'année concernée depuis les sources INSEE avant de faire l\'import des +géométries depuis les sources IGN. +::: diff --git a/docs/fr/annexe-tech-3-variables-gen.md b/docs/fr/annexe-tech-3-variables-gen.md new file mode 100644 index 000000000..6eefab55f --- /dev/null +++ b/docs/fr/annexe-tech-3-variables-gen.md @@ -0,0 +1,1205 @@ +Annexe technique 3 - Variables {#annexe-technique-3-variables} +============================== + +Auteurs + +: Étienne Loks, Ishtar team + +Date + +: 2023-08-28 + +Copyright + +: CC-BY 3.0 + +Ishtar Version + +: v4.0.55 + +------------------------------------------------------------------------ + +Ces variables sont utilisées pour les configurations des imports, les +patrons de documents et la configuration des identifiants, des index +personnalisés. + +Ces variables correspondent aux noms des champs utilisés en base de +données (exemple : `code_patriarche` pour accéder au code patriarche +d\'une opération) ainsi que des « facilitateurs » qui permettent de +disposer de champs plus évolués (exemple : `get_next_index` pour accéder +au prochain numéro d\'index). + +On peut passer d\'un élément lié à un autre (par exemple, accéder à +l\'opération d\'une unité d\'enregistrement) avec la notation double +tiret [\_\_]{.title-ref} et ensuite accéder aux variables de l\'élément +lié (exemple : `operation__code_patriarche` permet d\'accéder au code +patriarche de l\'opération ). + +Ci-dessous la liste des variables pour chaque type d\'éléments. + +..warning:: Cette documentation liste tous les champs en base de données +(moins quelques champs de gestion interne). Certains sont des champs +historiques obsolètes voués à disparaître, d\'autres sont des champs mis +en place pour des futures fonctionnalités et peuvent encore faire +l\'objet de modifications. Tout champ listé ci-dessous qui ne correspond +pas à un champ accessible depuis l\'interface d\'Ishtar ne doit +normalement pas être utilisé. + +Modèles génériques {#valeurs-champs-adresse} +------------------ + +### Champs personnalisés + +Les éléments principaux ([Operation]{.title-ref}, [Unité +d\'Enregistrement]{.title-ref}, [Mobilier]{.title-ref}, etc.) permettent +d\'utiliser des +`champs personnalisés <champ-personnalises>`{.interpreted-text +role="ref"}. Ceux-ci sont accessibles via l\'attribut +[data\_\_]{.title-ref}. Ainsi on accède à une clé [ma\_clef]{.title-ref} +via [data\_\_ma\_clef]{.title-ref} ou à une autre clé sous une catégorie +[ma\_categorie\_\_ma\_sousclef]{.title-ref} via +[data\_\_ma\_categorie\_\_ma\_sousclef]{.title-ref}. + +### Champs adresse + +Les champs adresse sont une liste de variables partagées par plusieurs +éléments : + +- **address** : *Texte* - Adresse +- **address\_complement** : *Texte* - Complément d\'adresse +- **alt\_address** : *Texte* - Autre adresse : adresse +- **alt\_address\_complement** : *Texte* - Autre adresse : complément + d\'adresse +- **alt\_address\_is\_prefered** : *Booléen* - L\'adresse alternative + est préférée +- **alt\_country** : *Chaîne de caractères (30)* - Autre adresse : + pays +- **alt\_postal\_code** : *Chaîne de caractères (10)* - Autre adresse + : code postal +- **alt\_town** : *Chaîne de caractères (70)* - Autre adresse : ville +- **country** : *Chaîne de caractères (30)* - Pays +- **email** : *Courriel (300)* - Courriel +- **mobile\_phone** : *Chaîne de caractères (32)* - Téléphone mobile +- **phone** : *Chaîne de caractères (32)* - Téléphone +- **phone2** : *Chaîne de caractères (32)* - Type de téléphone 2 +- **phone3** : *Chaîne de caractères (32)* - Téléphone 3 +- **phone\_desc** : *Chaîne de caractères (300)* - Type de téléphone +- **phone\_desc2** : *Chaîne de caractères (300)* - Type de téléphone + 2 +- **phone\_desc3** : *Chaîne de caractères (300)* - Type de téléphone + 3 +- **postal\_code** : *Chaîne de caractères (10)* - Code postal +- **precise\_town\_id** : *Entier positif* - Commune (précis) +- **raw\_phone** : *Texte* - Téléphone brut +- **town** : *Chaîne de caractères (150)* - Commune (saisie libre) + +### Personne + +Chaque personne dispose des +`champs adresse <valeurs-champs-adresse>`{.interpreted-text role="ref"}, +ainsi que des champs suivants : + +- **adminact\_operation\_in\_charge\_\_** : *→ Actes administratifs + (responsable de suivi scientifique)* +- **adminact\_scientist\_\_** : *→ Actes administratifs (responsable + d\'opération)* +- **attached\_to\_\_** : *→ Organisation* - Est rattaché à +- **author\_\_** : *→ Auteurs (personne)* +- **cached\_label** : *Texte* - Nom en cache +- **cira\_rapporteur\_\_** : *→ Opérations (rapporteur ctra/cira)* +- **comment** : *Texte* - Commentaire +- **contact\_type** : *Chaîne de caractères (300)* - Type de contact +- **file\_responsability\_\_** : *→ Dossiers archéologiques (personne + responsable)* +- **general\_contractor\_files\_\_** : *→ Dossiers archéologiques + (aménageur)* +- **manage\_treatments\_\_** : *→ Traitements (responsable de suivi + scientifique)* +- **minutes\_writer\_\_** : *→ Opérations (rédacteur du procès + verbal)* +- **name** : *Chaîne de caractères (200)* - Nom +- **old\_title** : *Chaîne de caractères (100)* - Titre +- **operation\_collaborator\_\_** : *→ Opérations (collaborateurs)* +- **operation\_monitoring\_\_** : *→ Opérations (responsable de suivi + scientifique)* +- **operation\_protagonist\_\_** : *→ Opérations (nom du + protagoniste)* +- **operation\_scientist\_responsability\_\_** : *→ Opérations + (responsable de suivi scientifique)* +- **person\_types\_\_** : *→ Type de personne* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - Types +- **raw\_name** : *Chaîne de caractères (300)* - Nom brut +- **responsible\_town\_planning\_service\_files\_\_** : *→ Dossiers + archéologiques (responsable pour le service instructeur)* +- **salutation** : *Chaîne de caractères (200)* - Formule d\'appel +- **scientist\_\_** : *→ Dossiers archéologiques (responsable + d\'opération)* +- **signatory\_\_** : *→ Actes administratifs (signataire)* +- **site\_collaborator\_\_** : *→ Entités archéologiques + (collaborateurs)* +- **surname** : *Chaîne de caractères (50)* - Prénom - Attention, + résidu historique et malheureux dans le code d\'une erreur de + traduction initiale (surname correspond en anglais au nom de + famille, pas au prénom). +- **title\_\_** : *→ Type de titre* (**label** Dénomination, + **txt\_idx** Identifiant textuel, **grammatical\_gender** Genre + grammatical - \"M\": Masculin ; \"F\": Féminin ; \"N\": Neutre, + **long\_title** Titre long) - Titre +- **treatmentfile\_applicant\_\_** : *→ Demandes de traitement + (demandeur)* +- **treatmentfile\_responsability\_\_** : *→ Demandes de traitement + (personne responsable)* +- **treatments\_\_** : *→ Traitements (responsable)* +- **warehouse\_in\_charge\_\_** : *→ Lieux de conservation (personne + responsable)* + +### Auteur + +- **author\_type\_\_** : *→ Type d\'auteur* (**label** Dénomination, + **txt\_idx** Identifiant textuel) - Type d\'auteur +- **cached\_label** : *Texte* - Nom en cache +- **documents\_\_** : *→ Documents (auteurs)* +- **person\_\_** : *→ Personne* - Personne + +### Organisation + +Chaque organisation dispose des +`champs adresse <valeurs-champs-adresse>`{.interpreted-text role="ref"}, +ainsi que des champs suivants : + +- **adminact\_operator\_\_** : *→ Actes administratifs (opérateur + d\'archéologie préventive)* +- **cached\_label** : *Texte* - Nom en cache +- **files\_\_** : *→ Dossiers archéologiques (organisation)* +- **general\_contractor\_files\_\_** : *→ Dossiers archéologiques + (organisation de l\'aménageur)* +- **grammatical\_gender** : *Chaîne de caractères (1)* - Genre + grammatical - \"M\": Masculin ; \"F\": Féminin ; \"N\": Neutre +- **members\_\_** : *→ Personnes (est rattaché à)* +- **name** : *Chaîne de caractères (500)* - Nom +- **operation\_applicant\_authority\_\_** : *→ Opérations (autorité + requérante)* +- **operator\_\_** : *→ Opérations (opérateur)* +- **organization\_type\_\_** : *→ Type d\'organisation* (**label** + Dénomination, **txt\_idx** Identifiant textuel, + **grammatical\_gender** Genre grammatical - \"M\": Masculin ; \"F\": + Féminin ; \"N\": Neutre) - Type +- **planning\_service\_files\_\_** : *→ Dossiers archéologiques + (service instructeur)* +- **publish\_\_** : *→ Documents (éditions)* +- **treatmentfile\_applicant\_\_** : *→ Demandes de traitement + (organisation demandeuse)* +- **treatments\_\_** : *→ Traitements (organisation)* +- **url** : *Adresse web (200)* - Adresse web +- **warehouses\_\_** : *→ Lieux de conservation (organisation)* + +### Documentation + +- **additional\_information** : *Texte* - Information supplémentaire +- **administrativeacts\_\_** : *→ Actes administratifs (documents)* +- **areas\_\_** : *→ Zones* (documents - **label** Dénomination, + **txt\_idx** Identifiant textuel) +- **associated\_file** : *Image (255)* - Dossier associé - La taille + maximale supportée pour le fichier est de 100 Mo. +- **associated\_links** : *Texte* - Liens symboliques +- **associated\_url** : *Adresse web (1000)* - Ressource numérique + (adresse web) +- **authors\_\_** : *→ Auteur* - Auteurs +- **authors\_raw** : *Chaîne de caractères (250)* - Auteurs (brut) +- **cache\_related\_label** : *Texte* - Lié - Valeur en cache - ne pas + éditer +- **cached\_label** : *Texte* - Nom en cache - Généré + automatiquement - ne pas éditer +- **children\_\_** : *→ Documents (source)* +- **comment** : *Texte* - Commentaire +- **complete\_identifier** : *Texte* - Identifiant complet +- **container\_id** : *Entier positif* - ID contenant +- **container\_ref\_id** : *Entier positif* - ID contenant de + référence +- **containers\_\_** : *→ Contenants (documents)* +- **context\_records\_\_** : *→ Unité d\'Enregistrement (documents)* +- **creation\_date** : *Date* - Date de création +- **custom\_index** : *Entier* - Custom index +- **description** : *Texte* - Description +- **duplicate** : *Booléen* - Existe en doublon +- **external\_id** : *Texte* - Identifiant +- **files\_\_** : *→ Dossiers archéologiques (documents)* +- **finds\_\_** : *→ Mobilier (documents)* +- **format\_type\_\_** : *→ Type de format* (**label** Dénomination, + **txt\_idx** Identifiant textuel) - Format +- **image** : *Image (255)* - image - La taille maximale supportée + pour le fichier est de 100 Mo. +- **index** : *Entier* - Index +- **internal\_reference** : *Texte* - Réf. interne +- **isbn** : *Chaîne de caractères (17)* - ISBN +- **issn** : *Chaîne de caractères (10)* - ISSN +- **item\_number** : *Entier* - Nombre d\'éléments +- **language\_\_** : *→ Langue* (**label** Dénomination, **txt\_idx** + Identifiant textuel) - Langue +- **licenses\_\_** : *→ Type de licence* (**label** Dénomination, + **txt\_idx** Identifiant textuel) - Licence +- **main\_image\_administrativeacts\_\_** : *→ Actes administratifs + (image principale)* +- **main\_image\_areas\_\_** : *→ Zones* (image principale - **label** + Dénomination, **txt\_idx** Identifiant textuel) +- **main\_image\_containers\_\_** : *→ Contenants (image principale)* +- **main\_image\_context\_records\_\_** : *→ Unité d\'Enregistrement + (image principale)* +- **main\_image\_finds\_\_** : *→ Mobilier (image principale)* +- **main\_image\_operations\_\_** : *→ Opérations (image principale)* +- **main\_image\_sites\_\_** : *→ Entités archéologiques (image + principale)* +- **main\_image\_towns\_\_** : *→ Communes* (image principale - + **name** Nom, **numero\_insee** Code commune (numéro INSEE), + **cached\_label** Nom en cache) +- **main\_image\_treatment\_files\_\_** : *→ Demandes de traitement + (image principale)* +- **main\_image\_treatments\_\_** : *→ Traitements (image principale)* +- **main\_image\_warehouses\_\_** : *→ Lieux de conservation (image + principale)* +- **operations\_\_** : *→ Opérations (documents)* +- **publisher\_\_** : *→ Organisation* - Éditions +- **publishing\_year** : *Entier positif* - Année de publication +- **qrcode** : *Image (255)* - qrcode +- **receipt\_date** : *Date* - Date de réception +- **receipt\_date\_in\_documentation** : *Date* - Date de réception en + documentation +- **reference** : *Texte* - Réf. +- **scale** : *Chaîne de caractères (30)* - Échelle +- **sites\_\_** : *→ Entités archéologiques (documents)* +- **source\_\_** : *→ Document* - Source +- **source\_free\_input** : *Chaîne de caractères (500)* - Source - + saisie libre +- **source\_page\_range** : *Chaîne de caractères (500)* - Source - + intervalle de pages +- **source\_type\_\_** : *→ Type de document* (**label** Dénomination, + **txt\_idx** Identifiant textuel) - Type +- **support\_type\_\_** : *→ Type de support* (**label** Dénomination, + **txt\_idx** Identifiant textuel) - Support +- **tags\_\_** : *→ Mot-clé du document* (**label** Dénomination, + **txt\_idx** Identifiant textuel) - Mots-clés +- **thumbnail** : *Image (255)* - thumbnail - La taille maximale + supportée pour le fichier est de 100 Mo. +- **title** : *Texte* - Titre +- **towns\_\_** : *→ Communes* (documents - **name** Nom, + **numero\_insee** Code commune (numéro INSEE), **cached\_label** Nom + en cache) +- **treatment\_files\_\_** : *→ Demandes de traitement (documents)* +- **treatments\_\_** : *→ Traitements (documents)* +- **warehouses\_\_** : *→ Lieux de conservation (documents)* + +### Élément géographique + +- **buffer** : *Nombre à virgule* - Tampon +- **buffer\_type\_\_** : *→ Géographie - Type de tampon* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - buffer type +- **comment** : *Texte* - Commentaire +- **data\_type\_\_** : *→ Géographie - Type de données* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - Type de donnée - + Par exemple : contour, Z-supérieur, \... +- **main\_related\_items\_archaeological\_context\_records\_contextrecord\_\_** + : *→ Unité d\'Enregistrement (élément géographique principal)* +- **main\_related\_items\_archaeological\_finds\_basefind\_\_** : *→ + Mobilier d\'origine (élément géographique principal)* +- **main\_related\_items\_archaeological\_operations\_archaeologicalsite\_\_** + : *→ Entités archéologiques (élément géographique principal)* +- **main\_related\_items\_archaeological\_operations\_operation\_\_** + : *→ Opérations (élément géographique principal)* +- **main\_related\_items\_archaeological\_warehouse\_container\_\_** : + *→ Contenants (élément géographique principal)* +- **main\_related\_items\_archaeological\_warehouse\_warehouse\_\_** : + *→ Lieux de conservation (élément géographique principal)* +- **main\_related\_items\_ishtar\_common\_town\_\_** : *→ Communes* + (élément géographique principal - **name** Nom, **numero\_insee** + Code commune (numéro INSEE), **cached\_label** Nom en cache) +- **multi\_line** : *Multi-lignes* - Lignes multiples +- **multi\_points** : *Multi-points* - Points multiples +- **name** : *Texte* - Nom +- **origin\_\_** : *→ Géographie - Type d\'origine* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - Origine - Par + exemple : levé topographiques, géoréférencement, \... +- **point\_3d** : *Point* - Point (3D) +- **provider\_\_** : *→ Géographie - Type de fournisseur* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - Fournisseur - + Fournisseur de données +- **related\_items\_archaeological\_context\_records\_contextrecord\_\_** + : *→ Unité d\'Enregistrement (élément géographique)* +- **related\_items\_archaeological\_finds\_basefind\_\_** : *→ + Mobilier d\'origine (élément géographique)* +- **related\_items\_archaeological\_operations\_archaeologicalsite\_\_** + : *→ Entités archéologiques (élément géographique)* +- **related\_items\_archaeological\_operations\_operation\_\_** : *→ + Opérations (élément géographique)* +- **related\_items\_archaeological\_warehouse\_container\_\_** : *→ + Contenants (élément géographique)* +- **related\_items\_archaeological\_warehouse\_warehouse\_\_** : *→ + Lieux de conservation (élément géographique)* +- **related\_items\_ishtar\_common\_town\_\_** : *→ Communes* (élément + géographique - **name** Nom, **numero\_insee** Code commune (numéro + INSEE), **cached\_label** Nom en cache) +- **source\_content\_type\_\_** : *→ type de contenu* - source content + type +- **source\_id** : *Entier positif* - source id +- **spatial\_reference\_system\_\_** : *→ Géographie - Système de + référence spatiale* (**label** Dénomination, **txt\_idx** + Identifiant textuel, **srid** SRID, **auth\_name** Registre) - + Système de référence spatiale + +### Acte administratif + +- **act\_object** : *Texte* - Objet +- **act\_type\_\_** : *→ Type d\'acte* (**label** Dénomination, + **txt\_idx** Identifiant textuel) - Type d\'acte +- **associated\_file\_\_** : *→ Dossier archéologique* - Dossier + archéologique +- **comment** : *Texte* - Commentaire +- **departments\_label** : *Texte* - Départements - Valeur en cache + des départements associés +- **documents\_\_** : *→ Document* - Documents +- **in\_charge\_\_** : *→ Personne* - Responsable de suivi + scientifique +- **index** : *Entier* - Index +- **main\_image\_\_** : *→ Document* - Image principale +- **operation\_\_** : *→ Opération* - Opération +- **operator\_\_** : *→ Organisation* - Opérateur d\'archéologie + préventive +- **property\_\_** : *→ Propriétés (acte administratif)* +- **ref\_sra** : *Chaîne de caractères (200)* - Autre référence +- **scientist\_\_** : *→ Personne* - Responsable d\'opération +- **signatory\_\_** : *→ Personne* - Signataire +- **signature\_date** : *Date* - Date de signature +- **towns\_label** : *Texte* - Communes - Valeur en cache des communes + associées +- **treatment\_\_** : *→ Traitement* - Traitement +- **treatment\_file\_\_** : *→ Demande de traitement* - Demande de + traitement +- **year** : *Entier* - Année + +### Commune + +- **areas\_\_** : *→ Zones* (communes - **label** Dénomination, + **txt\_idx** Identifiant textuel) +- **cached\_label** : *Chaîne de caractères (500)* - Nom en cache +- **center** : *Point* - Localisation +- **children\_\_** : *→ Commune* (**name** Nom, **numero\_insee** Code + commune (numéro INSEE), **cached\_label** Nom en cache) - Communes + enfants +- **context\_record\_\_** : *→ Unité d\'Enregistrement (commune)* +- **documents\_\_** : *→ Document* - Documents +- **file\_\_** : *→ Dossiers archéologiques (communes)* +- **file\_main\_\_** : *→ Dossiers archéologiques (commune + principale)* +- **geodata\_\_** : *→ Géographie - Donnée vectorielle* - Élément + géographique +- **limit** : *Multi-polygones* - Limite +- **main\_geodata\_\_** : *→ Géographie - Donnée vectorielle* - + Élément géographique principal +- **main\_image\_\_** : *→ Document* - Image principale +- **name** : *Chaîne de caractères (100)* - Nom +- **numero\_insee** : *Chaîne de caractères (120)* - Code commune + (numéro INSEE) +- **operations\_\_** : *→ Opérations (communes)* +- **parcels\_\_** : *→ Parcelles (commune)* +- **parents\_\_** : *→ Communes* (communes enfants - **name** Nom, + **numero\_insee** Code commune (numéro INSEE), **cached\_label** Nom + en cache) +- **sites\_\_** : *→ Entités archéologiques (communes)* +- **surface** : *Entier* - Surface (m2) +- **year** : *Entier* - Année de création - Remplir ce champ est + nécessaire pour distinguer les anciennes communes des nouvelles + communes. + +### Zone géographique + +- **available** : *Booléen* - Disponible +- **children\_\_** : *→ Zones* (parent - **label** Dénomination, + **txt\_idx** Identifiant textuel) +- **comment** : *Texte* - Commentaire +- **documents\_\_** : *→ Document* - Documents +- **label** : *Texte* - Dénomination +- **main\_image\_\_** : *→ Document* - Image principale +- **parent\_\_** : *→ Zone* (**label** Dénomination, **txt\_idx** + Identifiant textuel) - Parent - Seulement quatre niveaux de parents + sont gérés. +- **reference** : *Texte* - Référence +- **towns\_\_** : *→ Commune* (**name** Nom, **numero\_insee** Code + commune (numéro INSEE), **cached\_label** Nom en cache) - Communes +- **txt\_idx** : *Texte* - Identifiant textuel - Le \"slug\" est une + version standardisée du nom. Il ne contient que des lettres en + minuscule, des nombres et des tirets (-). Chaque \"slug\" doit être + unique dans la typologie. + +### Parcelle + +- **associated\_file\_\_** : *→ Dossier archéologique* - Dossier +- **cached\_label** : *Texte* - Nom en cache +- **context\_record\_\_** : *→ Unité d\'Enregistrement (parcelle)* +- **external\_id** : *Chaîne de caractères (100)* - Identifiant +- **operation\_\_** : *→ Opération* - Opération +- **owners\_\_** : *→ Propriétaires de parcelle (parcelle)* +- **parcel\_number** : *Chaîne de caractères (6)* - Numéro de parcelle +- **public\_domain** : *Booléen* - Domaine public +- **section** : *Chaîne de caractères (4)* - Section +- **year** : *Entier* - Année + +### Datation + +- **context\_records\_\_** : *→ Unité d\'Enregistrement (datings)* +- **dating\_type\_\_** : *→ Type de datation* (**label** Dénomination, + **txt\_idx** Identifiant textuel) - Type de datation +- **end\_date** : *Entier* - Date de fin +- **find\_\_** : *→ Mobilier (datation)* +- **period\_\_** : *→ Type de période* (**label** Dénomination, + **txt\_idx** Identifiant textuel) - Période chronologique +- **precise\_dating** : *Texte* - Précision sur la datation +- **quality\_\_** : *→ Type de qualité de datation* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - Qualité +- **start\_date** : *Entier* - Date de début + +Modèles des éléments principaux +------------------------------- + +### Opération + +Chaque opération dispose du champ [data\_\_]{.title-ref} ainsi que des +champs suivants : + +- **abstract** : *Texte* - Résumé +- **administrative\_act\_\_** : *→ Actes administratifs (opération)* +- **applicant\_authority\_\_** : *→ Organisation* - Autorité + requérante +- **archaeological\_sites\_\_** : *→ Entité archéologique* - Entités + archéologiques +- **associated\_file\_\_** : *→ Dossier archéologique* - Dossier +- **cached\_label** : *Texte* - Nom en cache - Généré + automatiquement - ne pas éditer +- **cached\_periods** : *Texte* - Nom en cache des périodes - Généré + automatiquement - ne pas éditer +- **cached\_remains** : *Texte* - Nom en cache des vestiges - Généré + automatiquement - ne pas éditer +- **cached\_towns\_label** : *Texte* - Nom en cache des communes - + Généré automatiquement - ne pas éditer +- **cira\_date** : *Date* - Date avis CTRA/CIRA +- **cira\_rapporteur\_\_** : *→ Personne* - Rapporteur CTRA/CIRA +- **code\_patriarche** : *Texte* - Code PATRIARCHE +- **collaborators\_\_** : *→ Personne* - Collaborateurs +- **comment** : *Texte* - Commentaire +- **common\_name** : *Texte* - Nom générique +- **complete\_identifier** : *Texte* - Identifiant complet +- **containers** : Liste des contenants associés - **Champ non + disponible pour les imports** +- **context\_record\_\_** : *→ Unité d\'Enregistrement (opération)* +- **context\_records** : Liste des unités d\'enregistrement + associées - **Champ non disponible pour les imports** +- **cost** : *Entier* - Coût (euros) +- **creation\_date** : *Date* - Date de création +- **custom\_index** : *Entier* - Custom index +- **documentation\_deadline** : *Date* - Date limite de versement de + la documentation +- **documentation\_received** : *Booléen* - Documentation versée +- **documents\_\_** : *→ Document* - Documents +- **drassm\_code** : *Chaîne de caractères (100)* - Code DRASSM +- **eas\_number** : *Chaîne de caractères (20)* - Numéro de l\'EA +- **effective\_man\_days** : *Entier* - Jours-hommes effectifs +- **end\_date** : *Date* - Date de clôture +- **excavation\_end\_date** : *Date* - Date de fin de chantier +- **finds\_deadline** : *Date* - Date limite de versement du mobilier +- **finds\_received** : *Booléen* - Mobilier versé +- **fnap\_cost** : *Entier* - Financement FNAP (€) +- **fnap\_financing** : *Nombre à virgule* - Financement FNAP (%) +- **geoarchaeological\_context\_prescription** : *Booléen* - + Prescription sur un contexte géoarchéologique +- **geodata\_\_** : *→ Géographie - Donnée vectorielle* - Élément + géographique +- **in\_charge\_\_** : *→ Personne* - Responsable de suivi + scientifique +- **large\_area\_prescription** : *Booléen* - Prescription sur une + vaste surface +- **left\_relations\_\_** : *→ Relations entre opérations (right + record)* +- **main\_geodata\_\_** : *→ Géographie - Donnée vectorielle* - + Élément géographique principal +- **main\_image\_\_** : *→ Document* - Image principale +- **minutes\_writer\_\_** : *→ Personne* - Rédacteur du procès verbal +- **negative\_result** : *Booléen* - Résultat considéré comme négatif +- **official\_report\_number** : *Texte* - Numéro de procès-verbal ou + de saisine +- **old\_code** : *Chaîne de caractères (200)* - Ancien code +- **operation\_code** : *Entier* - Identifiant numérique +- **operation\_type\_\_** : *→ Type d\'opération* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - Type d\'opération +- **operationbydepartment\_\_** : *→ operation by departments + (opération)* +- **operator\_\_** : *→ Organisation* - Opérateur +- **operator\_reference** : *Chaîne de caractères (20)* - Référence de + l\'opérateur +- **optional\_man\_days** : *Entier* - Jours-hommes optionnels +- **parcels\_\_** : *→ Parcelles (opération)* +- **periods\_\_** : *→ Type de période* (**label** Dénomination, + **txt\_idx** Identifiant textuel) - Périodes +- **protagonist\_\_** : *→ Personne* - Nom du protagoniste +- **qrcode** : *Image (255)* - qrcode +- **record\_quality\_type\_\_** : *→ Type de qualité + d\'enregistrement* (**label** Dénomination, **txt\_idx** Identifiant + textuel) - Qualité d\'enregistrement +- **relation\_bitmap\_image** : *Image (100)* - Image des relations + (PNG généré) - La taille maximale supportée pour le fichier est de + 100 Mo. +- **relation\_image** : *Image (100)* - Image des relations (SVG + généré) - La taille maximale supportée pour le fichier est de 100 + Mo. +- **remains\_\_** : *→ Type de vestige* (**label** Dénomination, + **txt\_idx** Identifiant textuel) - Vestiges +- **report\_delivery\_date** : *Date* - Date de livraison du rapport +- **report\_processing\_\_** : *→ Type d\'état de rapport* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - Traitement du + rapport +- **right\_relations\_\_** : *→ Relations entre opérations (left + record)* +- **scheduled\_man\_days** : *Entier* - Jours-hommes prévus +- **scientific\_documentation\_comment** : *Texte* - Commentaire + relatif à la documentation scientifique +- **scientist\_\_** : *→ Personne* - Responsable de suivi scientifique +- **seizure\_name** : *Texte* - Nom de la saisie +- **spatial\_reference\_system\_\_** : *→ Géographie - Système de + référence spatiale* (**label** Dénomination, **txt\_idx** + Identifiant textuel, **srid** SRID, **auth\_name** Registre) - + Système de référence spatiale +- **start\_date** : *Date* - Date de début +- **surface** : *Nombre à virgule* - Surface (m2) +- **top\_sites\_\_** : *→ Entité archéologique* - Sites pour lesquels + cette opération est une opération chapeau +- **towns\_\_** : *→ Commune* (**name** Nom, **numero\_insee** Code + commune (numéro INSEE), **cached\_label** Nom en cache) - Communes +- **virtual\_operation** : *Booléen* - Opération virtuelle - Si coché, + cela signifie que cette opération n\'a pas été officiellement + enregistrée. +- **year** : *Entier* - Année +- **zoning\_prescription** : *Booléen* - Prescription sur zonage + +### Site/Entité archéologique + +Chaque site/entité archéologique dispose du champ [data\_\_]{.title-ref} +ainsi que des champs suivants : + +- **affmar\_number** : *Chaîne de caractères (100)* - Numéro AffMar +- **cached\_label** : *Texte* - Nom en cache - Généré + automatiquement - ne pas éditer +- **cached\_periods** : *Texte* - Nom en cache des périodes - Généré + automatiquement - ne pas éditer +- **cached\_remains** : *Texte* - Nom en cache des vestiges - Généré + automatiquement - ne pas éditer +- **cached\_towns\_label** : *Texte* - Nom en cache des communes - + Généré automatiquement - ne pas éditer +- **collaborators\_\_** : *→ Personne* - Collaborateurs +- **comment** : *Texte* - Commentaire +- **complete\_identifier** : *Texte* - Identifiant complet +- **context\_records\_\_** : *→ Unité d\'Enregistrement (entité + archéologique)* +- **cultural\_attributions\_\_** : *→ Type d\'attribution culturelle* + (**label** Dénomination, **txt\_idx** Identifiant textuel) - + Attribution culturelle +- **custom\_index** : *Entier* - Custom index +- **discovery\_area** : *Texte* - Zone de découverte +- **documents\_\_** : *→ Document* - Documents +- **drassm\_number** : *Chaîne de caractères (100)* - Numéro DRASSM +- **geodata\_\_** : *→ Géographie - Donnée vectorielle* - Élément + géographique +- **locality\_cadastral** : *Texte* - Lieu-dit cadastre +- **locality\_ngi** : *Texte* - Lieu-dit IGN +- **main\_geodata\_\_** : *→ Géographie - Donnée vectorielle* - + Élément géographique principal +- **main\_image\_\_** : *→ Document* - Image principale +- **name** : *Chaîne de caractères (200)* - Nom +- **oceanographic\_service\_localisation** : *Texte* - Localisation + SHOM +- **operations\_\_** : *→ Opérations (entités archéologiques)* +- **other\_reference** : *Texte* - Autre référence +- **periods\_\_** : *→ Type de période* (**label** Dénomination, + **txt\_idx** Identifiant textuel) - Périodes +- **qrcode** : *Image (255)* - qrcode +- **reference** : *Chaîne de caractères (200)* - Référence +- **remains\_\_** : *→ Type de vestige* (**label** Dénomination, + **txt\_idx** Identifiant textuel) - Vestiges +- **shipwreck\_code** : *Texte* - Code épave +- **shipwreck\_name** : *Texte* - Nom de l\'épave +- **sinking\_date** : *Date* - Date de naufrage +- **spatial\_reference\_system\_\_** : *→ Géographie - Système de + référence spatiale* (**label** Dénomination, **txt\_idx** + Identifiant textuel, **srid** SRID, **auth\_name** Registre) - + Système de référence spatiale +- **top\_operations\_\_** : *→ Opérations (sites pour lesquels cette + opération est une opération chapeau)* +- **towns\_\_** : *→ Commune* (**name** Nom, **numero\_insee** Code + commune (numéro INSEE), **cached\_label** Nom en cache) - Communes + +### Dossier archéologique + +Chaque dossier archéologique dispose du champ [data\_\_]{.title-ref} +ainsi que des champs suivants : + +- **administrative\_act\_\_** : *→ Actes administratifs (dossier + archéologique)* +- **cached\_label** : *Texte* - Nom en cache - Généré + automatiquement - ne pas éditer +- **cira\_advised** : *Booléen* - Passage en CIRA +- **classified\_area** : *Booléen* - Au sein d\'un site classé +- **comment** : *Texte* - Commentaire +- **complete\_identifier** : *Texte* - Identifiant complet +- **corporation\_general\_contractor\_\_** : *→ Organisation* - + Organisation de l\'aménageur +- **creation\_date** : *Date* - Date de création +- **custom\_index** : *Entier* - Custom index +- **departments\_\_** : *→ Département* - Départements +- **documents\_\_** : *→ Document* - Documents +- **end\_date** : *Date* - Date de fin +- **equipment\_costs\_\_** : *→ preventive file equipment service + costs (file)* +- **execution\_report\_date** : *Date* - Date du rapport d\'exécution +- **external\_id** : *Chaîne de caractères (120)* - Identifiant +- **file\_\_** : *→ Dossiers archéologiques (dossier associé)* +- **file\_type\_\_** : *→ Type de dossier archéologique* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - Type de dossier +- **filebydepartment\_\_** : *→ file by departments (dossier)* +- **general\_contractor\_\_** : *→ Personne* - Aménageur +- **ground\_end\_date** : *Date* - Date de fin de la fouille +- **ground\_jobs\_\_** : *→ preventive file ground jobs (file)* +- **ground\_start\_date** : *Date* - Date de début de la fouille +- **imported\_line** : *Texte* - Ligne importée +- **in\_charge\_\_** : *→ Personne* - Personne responsable +- **instruction\_deadline** : *Date* - Date limite d\'instruction +- **internal\_reference** : *Chaîne de caractères (60)* - Référence + interne +- **intervention\_period** : *Chaîne de caractères (200)* - Période + d\'intervention +- **jobs\_\_** : *→ preventive file jobs (file)* +- **linear\_meter** : *Entier* - Mètre linéaire +- **locality** : *Chaîne de caractères (100)* - Lieu-dit +- **main\_town\_\_** : *→ Commune* (**name** Nom, **numero\_insee** + Code commune (numéro INSEE), **cached\_label** Nom en cache) - + Commune principale +- **mh\_listing** : *Booléen* - Sur Monument Historique inscrit +- **mh\_register** : *Booléen* - Sur Monument Historique classé +- **name** : *Texte* - Nom +- **numeric\_reference** : *Entier* - Identifiant numérique +- **operation\_type\_for\_royalties\_\_** : *→ Type d\'opération pour + les redevances - France* (**label** Dénomination, **txt\_idx** + Identifiant textuel) - Type d\'opération pour la redevance +- **operations\_\_** : *→ Opérations (dossier)* +- **organization\_\_** : *→ Organisation* - Organisation +- **parcels\_\_** : *→ Parcelles (dossier)* +- **permit\_reference** : *Texte* - Référence du permis / de l\'arrêté +- **permit\_type\_\_** : *→ Type de permis* (**label** Dénomination, + **txt\_idx** Identifiant textuel) - Type de permis +- **planning\_service\_\_** : *→ Organisation* - Service instructeur +- **planning\_service\_date** : *Date* - Date du dossier du service + instructeur +- **price\_agreement\_\_** : *→ Contrat tarifaire* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - Contrat tarifaire +- **protected\_area** : *Booléen* - Au sein d\'un secteur sauvegardé +- **qrcode** : *Image (255)* - qrcode +- **raw\_general\_contractor** : *Chaîne de caractères (200)* - + Aménageur (brut) +- **raw\_town\_planning\_service** : *Chaîne de caractères (200)* - + Service instructeur (brut) +- **reception\_date** : *Date* - Date de réception +- **related\_file\_\_** : *→ Dossier archéologique* - Dossier associé +- **report\_due\_period** : *Chaîne de caractères (200)* - Période de + remise du rapport +- **requested\_operation\_type\_\_** : *→ Type d\'opération* + (**label** Dénomination, **txt\_idx** Identifiant textuel) - Type + d\'opération demandée +- **research\_comment** : *Texte* - Commentaire relatif à + l\'archéologie programmée +- **responsible\_town\_planning\_service\_\_** : *→ Personne* - + Responsable pour le service instructeur +- **saisine\_type\_\_** : *→ Type de saisine* (**label** Dénomination, + **txt\_idx** Identifiant textuel) - Type de saisine +- **scientist\_\_** : *→ Personne* - Responsable d\'opération +- **start\_date** : *Date* - Date de début +- **study\_period** : *Chaîne de caractères (200)* - Période d\'étude +- **total\_developed\_surface** : *Nombre à virgule* - Surface totale + aménagée (m2) +- **total\_surface** : *Nombre à virgule* - Surface totale (m2) +- **towns\_\_** : *→ Commune* (**name** Nom, **numero\_insee** Code + commune (numéro INSEE), **cached\_label** Nom en cache) - Communes +- **type\_of\_agreement\_\_** : *→ Type de convention - France* + (**label** Dénomination, **txt\_idx** Identifiant textuel) - Type de + convention +- **year** : *Entier* - Année + +### Unité d\'enregistrement + +Chaque unité d\'enregistrement dispose du champ [data\_\_]{.title-ref} +ainsi que des champs suivants : + +- **activity\_\_** : *→ Type d\'activité* (**label** Dénomination, + **txt\_idx** Identifiant textuel) - Activité +- **archaeological\_site\_\_** : *→ Entité archéologique* - Entité + archéologique +- **base\_finds** : Liste du mobilier de base associé - **Champ non + disponible pour les imports** +- **base\_finds\_\_** : *→ Mobilier d\'origine (unité + d\'enregistrement)* +- **cached\_label** : *Texte* - Nom en cache - Généré + automatiquement - ne pas éditer +- **cached\_periods** : *Texte* - Nom en cache des périodes - Généré + automatiquement - ne pas éditer +- **cached\_related\_context\_records** : *Texte* - Nom en cache des + unités d\'enregistrements liées - Généré automatiquement - ne pas + éditer +- **closing\_date** : *Date* - Date de clôture +- **comment** : *Texte* - Commentaire général +- **complete\_identifier** : *Texte* - Identifiant complet +- **context\_record\_tree\_child\_\_** : *→ context record trees + (unité d\'enregistrement parente)* +- **context\_record\_tree\_parent\_\_** : *→ context record trees + (unité d\'enregistrement)* +- **contextrecord\_\_** : *→ Unité d\'Enregistrement (related context + records)* +- **custom\_index** : *Entier* - Custom index +- **datings\_\_** : *→ Datation* - datings +- **datings\_comment** : *Texte* - Commentaire relatif aux datations +- **depth** : *Nombre à virgule* - Profondeur (m) +- **depth\_of\_appearance** : *Nombre à virgule* - Profondeur + d\'apparition (m) +- **description** : *Texte* - Description +- **diameter** : *Nombre à virgule* - Diamètre (m) +- **documentations\_\_** : *→ Type de documentation* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - documentations +- **documents\_\_** : *→ Document* - Documents +- **excavation\_technics\_\_** : *→ Type de méthode de fouille* + (**label** Dénomination, **txt\_idx** Identifiant textuel) - + Méthodes de fouille +- **external\_id** : *Texte* - Identifiant +- **filling** : *Texte* - Remplissage +- **geodata\_\_** : *→ Géographie - Donnée vectorielle* - Élément + géographique +- **identification\_\_** : *→ Type d\'identification* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - Identification +- **interpretation** : *Texte* - Interprétation +- **label** : *Chaîne de caractères (200)* - Identifiant +- **left\_relations\_\_** : *→ Relations entre Unités + d\'Enregistrement (right record)* +- **length** : *Nombre à virgule* - Taille (m) +- **location** : *Texte* - Localisation - Une courte description de la + localisation de l\'Unité d\'Enregistrement +- **main\_geodata\_\_** : *→ Géographie - Donnée vectorielle* - + Élément géographique principal +- **main\_image\_\_** : *→ Document* - Image principale +- **opening\_date** : *Date* - Date d\'ouverture +- **operation\_\_** : *→ Opération* - Opération +- **parcel\_\_** : *→ Parcelle* - Parcelle +- **qrcode** : *Image (255)* - qrcode +- **related\_context\_records\_\_** : *→ Unité d\'Enregistrement* - + related context records +- **relation\_bitmap\_image** : *Image (100)* - Image des relations + (PNG généré) - La taille maximale supportée pour le fichier est de + 100 Mo. +- **relation\_image** : *Image (100)* - Image des relations (SVG + généré) - La taille maximale supportée pour le fichier est de 100 + Mo. +- **right\_relations\_\_** : *→ Relations entre Unités + d\'Enregistrement (left record)* +- **spatial\_reference\_system\_\_** : *→ Géographie - Système de + référence spatiale* (**label** Dénomination, **txt\_idx** + Identifiant textuel, **srid** SRID, **auth\_name** Registre) - + Système de référence spatiale +- **surface** : *Nombre à virgule* - Surface (m2) +- **taq** : *Entier* - TAQ - « Terminus Ante Quem ». L\'Unité + d\'Enregistrement ne peut avoir été créée après cette date +- **taq\_estimated** : *Entier* - TAQ estimé - Estimation d\'un « + Terminus Ante Quem » +- **thickness** : *Nombre à virgule* - Épaisseur (m) +- **tpq** : *Entier* - TPQ - « Terminus Post Quem ». L\'Unité + d\'Enregistrement ne peut avoir été créée avant cette date +- **tpq\_estimated** : *Entier* - TPQ estimé - Estimation d\'un « + Terminus Post Quem » +- **unit\_\_** : *→ Type d\'Unité d\'Enregistrement* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - Type d\'Unité + d\'Enregistrement +- **width** : *Nombre à virgule* - Largeur (m) + +### Mobilier d\'origine + +Chaque mobilier d\'origine dispose du champ [data\_\_]{.title-ref} ainsi +que des champs suivants : + +- **batch\_\_** : *→ Type de lot* (**label** Dénomination, + **txt\_idx** Identifiant textuel) - Lot/objet +- **cache\_complete\_id** : *Texte* - Identifiant complet - Valeur en + cache - ne pas éditer +- **cache\_short\_id** : *Texte* - Identifiant court - Valeur en + cache - ne pas éditer +- **cached\_label** : *Texte* - Nom en cache - Généré + automatiquement - ne pas éditer +- **comment** : *Texte* - Commentaire +- **complete\_identifier** : *Texte* - Identifiant complet +- **context\_record\_\_** : *→ Unité d\'Enregistrement* - Unité + d\'Enregistrement +- **custom\_index** : *Entier* - Custom index +- **description** : *Texte* - Description +- **discovery\_date** : *Date* - Date de découverte (exacte ou début) +- **discovery\_date\_taq** : *Date* - Date de découverte (fin) +- **excavation\_id** : *Texte* - Identifiant fouille +- **external\_id** : *Texte* - Identifiant +- **find\_\_** : *→ Mobilier (mobilier d\'origine)* +- **geodata\_\_** : *→ Géographie - Donnée vectorielle* - Élément + géographique +- **index** : *Entier* - Index +- **label** : *Texte* - Identifiant libre +- **line** : *Ligne* - Ligne +- **main\_geodata\_\_** : *→ Géographie - Donnée vectorielle* - + Élément géographique principal +- **material\_index** : *Entier* - Index matériel +- **material\_type\_label** : Concaténation des types de matériaux + associés - **Champ non disponible pour les imports** +- **qrcode** : *Image (255)* - qrcode +- **spatial\_reference\_system\_\_** : *→ Géographie - Système de + référence spatiale* (**label** Dénomination, **txt\_idx** + Identifiant textuel, **srid** SRID, **auth\_name** Registre) - + Système de référence spatiale +- **special\_interest** : *Chaîne de caractères (120)* - Intérêt + spécifique +- **topographic\_localisation** : *Chaîne de caractères (120)* - Point + topographique + +### Mobilier + +Chaque élément mobilier dispose du champ [data\_\_]{.title-ref} ainsi +que des champs suivants : + +- **alteration\_causes\_\_** : *→ Type de cause d\'altération* + (**label** Dénomination, **txt\_idx** Identifiant textuel) - Cause + d\'altération +- **alterations\_\_** : *→ Type d\'altération* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - Altération +- **appraisal\_date** : *Date* - Date d\'évaluation +- **base\_finds** : Liste du mobilier de base associé - **Champ non + disponible pour les imports** +- **base\_finds\_\_** : *→ Mobilier d\'origine* - Mobilier d\'origine +- **basket\_\_** : *→ Paniers (items)* +- **cached\_label** : *Texte* - Nom en cache - Généré + automatiquement - ne pas éditer +- **cached\_materials** : *Texte* - Nom en cache des types de + matériaux - Généré automatiquement - ne pas éditer +- **cached\_object\_types** : *Texte* - Nom en cache des types + d\'objet - Généré automatiquement - ne pas éditer +- **cached\_periods** : *Texte* - Nom en cache des périodes - Généré + automatiquement - ne pas éditer +- **check\_date** : *Date* - Date de vérification +- **checked\_type\_\_** : *→ Type de vérification* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - Vérification +- **circumference** : *Nombre à virgule* - Circonférence (cm) +- **clutter\_height** : *Nombre à virgule* - Encombrement - + hauteur (cm) +- **clutter\_long\_side** : *Nombre à virgule* - Encombrement - grand + côté (cm) +- **clutter\_short\_side** : *Nombre à virgule* - Encombrement - petit + côté (cm) +- **collection\_\_** : *→ Lieu de conservation* - Collection - Ne pas + utiliser - Nécessite des évolutions +- **comment** : *Texte* - Commentaire +- **communicabilities\_\_** : *→ Type de communicabilité* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - Communicabilité +- **complete\_id** : Identifiant complet du mobilier d\'origine + associé - **Champ non disponible pour les imports** +- **complete\_identifier** : *Texte* - Identifiant complet +- **conservatory\_comment** : *Texte* - Commentaire relatif à la + conservation +- **conservatory\_state\_\_** : *→ Type d\'état de conservation* + (**label** Dénomination, **txt\_idx** Identifiant textuel) - État de + conservation +- **container\_\_** : *→ Contenant* - Contenant +- **container\_ref\_\_** : *→ Contenant* - Contenant de référence +- **context\_record\_label** : Dénomination des unités + d\'enregistrement associées - **Champ non disponible pour les + imports** +- **cultural\_attributions\_\_** : *→ Type d\'attribution culturelle* + (**label** Dénomination, **txt\_idx** Identifiant textuel) - + Attribution culturelle +- **custom\_index** : *Entier* - Custom index +- **dating\_comment** : *Texte* - Commentaire relatif aux datations +- **datings\_\_** : *→ Datation* - Datation +- **decoration** : *Texte* - Décor +- **denomination** : *Texte* - Dénomination +- **description** : *Texte* - Description +- **diameter** : *Nombre à virgule* - Diamètre (cm) +- **dimensions\_comment** : *Texte* - Commentaire relatif aux + dimensions +- **documents\_\_** : *→ Document* - Documents +- **downstream\_treatment\_\_** : *→ Traitement* - Traitement aval +- **estimated\_value** : *Nombre à virgule* - Valeur estimée +- **external\_id** : *Texte* - Identifiant +- **find\_number** : *Entier* - Nombre de restes (NR) +- **finddownstreamtreatments\_related\_\_** : *→ find downstream + treatmentss (mobilier)* +- **findnonmodiftreatments\_related\_\_** : *→ find non modif + treatmentss (mobilier)* +- **findtreatments\_related\_\_** : *→ find treatmentss (mobilier)* +- **findupstreamtreatments\_related\_\_** : *→ find upstream + treatmentss (mobilier)* +- **functional\_areas\_\_** : *→ Domaine fonctionnel* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - Domaine + fonctionnel +- **height** : *Nombre à virgule* - Hauteur (cm) +- **index** : *Entier* - Index +- **inscription** : *Texte* - Inscription +- **inside\_container\_\_** : *→ find inside container (mobilier)* +- **insurance\_value** : *Nombre à virgule* - Valeur d\'assurance +- **integrities\_\_** : *→ Type d\'intégrité / intérêt* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - Intégrité / + intérêt +- **is\_complete** : *Booléen* - Est complet ? +- **label** : *Texte* - Identifiant libre +- **laboratory\_id** : *Texte* - Numéro de laboratoire +- **length** : *Nombre à virgule* - Longueur (cm) +- **main\_image\_\_** : *→ Document* - Image principale +- **manufacturing\_place** : *Texte* - Lieu de fabrication +- **mark** : *Texte* - Marquage +- **material\_comment** : *Texte* - Commentaire relatif au matériau +- **material\_type\_quality\_\_** : *→ Type de qualité du type de + matériaux* (**label** Dénomination, **txt\_idx** Identifiant + textuel) - Qualité du type de matériaux +- **material\_types\_\_** : *→ Type de matériau* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - Types de matériau +- **material\_types\_code** : Code des types de matériau - **Champ non + disponible pour les imports** +- **material\_types\_label** : Chaîne de caractère des types de + matériau - **Champ non disponible pour les imports** +- **material\_types\_recommendations** : Chaîne de caractères - + recommandations pour le matériau - **Champ non disponible pour les + imports** +- **min\_number\_of\_individuals** : *Entier* - Nombre minimum + d\'individus (NMI) +- **museum\_id** : *Texte* - Numéro d\'inventaire musée +- **object\_type\_quality\_\_** : *→ Type de qualité du type d\'objet* + (**label** Dénomination, **txt\_idx** Identifiant textuel) - Qualité + du type d\'objet +- **object\_types\_\_** : *→ Type d\'objet* (**label** Dénomination, + **txt\_idx** Identifiant textuel) - Types d\'objet +- **order** : *Entier* - Ordre +- **preservation\_to\_considers\_\_** : *→ Type de traitement* + (**label** Dénomination, **txt\_idx** Identifiant textuel) - + Traitements recommandés +- **previous\_id** : *Texte* - Identifiant précédent +- **property\_\_** : *→ Propriétés (mobilier)* +- **public\_description** : *Texte* - Description publique +- **qrcode** : *Image (255)* - qrcode +- **remarkabilities\_\_** : *→ Type de remarquabilité* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - Remarquabilité +- **seal\_number** : *Texte* - Numéro de scellé +- **thickness** : *Nombre à virgule* - Épaisseur (cm) +- **treatment\_emergency\_\_** : *→ Type d\'urgence de traitement* + (**label** Dénomination, **txt\_idx** Identifiant textuel) - Urgence + du traitement +- **treatments\_\_** : *→ Traitement* - Traitements - Traitements + associés quand il n\'y a pas de création de nouveau mobilier +- **upstream\_treatment\_\_** : *→ Traitement* - Traitement amont +- **volume** : *Nombre à virgule* - Volume (l) +- **weight** : *Nombre à virgule* - Poids +- **weight\_unit** : *Chaîne de caractères (4)* - Unité de poids +- **width** : *Nombre à virgule* - Largeur (cm) + +### Traitement + +Chaque traitement dispose du champ [data\_\_]{.title-ref} ainsi que des +champs suivants : + +- **administrative\_act\_\_** : *→ Actes administratifs (traitement)* +- **cached\_label** : *Texte* - Nom en cache - Généré + automatiquement - ne pas éditer +- **comment** : *Texte* - Commentaire +- **complete\_identifier** : *Texte* - Identifiant complet +- **container\_\_** : *→ Contenant* - Contenant +- **creation\_date** : *Date/heure* - creation date +- **custom\_index** : *Entier* - Custom index +- **description** : *Texte* - Description +- **documents\_\_** : *→ Document* - Documents +- **downstream\_\_** : *→ Mobilier (traitement amont)* +- **end\_date** : *Date* - Date de clôture +- **estimated\_cost** : *Nombre à virgule* - Coût estimé +- **executed** : *Booléen* - Le traitement a été réalisé +- **external\_id** : *Chaîne de caractères (200)* - Identifiant +- **file\_\_** : *→ Demande de traitement* - Demande associée +- **finddownstreamtreatments\_\_** : *→ find downstream treatments + (traitement)* +- **findnonmodiftreatments\_\_** : *→ find non modif treatments + (traitement)* +- **finds\_\_** : *→ Mobilier (traitements)* +- **findtreatments\_\_** : *→ find treatments (traitement)* +- **findupstreamtreatments\_\_** : *→ find upstream treatments + (traitement)* +- **goal** : *Texte* - But +- **image** : *Image (255)* - image - La taille maximale supportée + pour le fichier est de 100 Mo. +- **index** : *Entier* - Index +- **insurance\_cost** : *Nombre à virgule* - Coût d\'assurance +- **label** : *Chaîne de caractères (200)* - Dénomination +- **location\_\_** : *→ Lieu de conservation* - Localisation - Endroit + où le traitement est réalisé. Renseignez le lieu de conservation de + destination pour un déplacement. +- **main\_image\_\_** : *→ Document* - Image principale +- **organization\_\_** : *→ Organisation* - Organisation +- **other\_reference** : *Chaîne de caractères (200)* - Autre réf. +- **person\_\_** : *→ Personne* - Responsable +- **qrcode** : *Image (255)* - qrcode +- **quoted\_cost** : *Nombre à virgule* - Coût devisé +- **realized\_cost** : *Nombre à virgule* - Coût réalisé +- **scientific\_monitoring\_manager\_\_** : *→ Personne* - Responsable + de suivi scientifique +- **start\_date** : *Date* - Date de début +- **thumbnail** : *Image (255)* - thumbnail - La taille maximale + supportée pour le fichier est de 100 Mo. +- **treatment\_state\_\_** : *→ Type d\'état de traitement* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - État +- **treatment\_types\_\_** : *→ Type de traitement* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - Type de traitement +- **upstream\_\_** : *→ Mobilier (traitement aval)* +- **year** : *Entier* - Année + +### Demande de traitement + +Chaque demande de traitement dispose du champ [data\_\_]{.title-ref} +ainsi que des champs suivants : + +- **administrative\_act\_\_** : *→ Actes administratifs (demande de + traitement)* +- **applicant\_\_** : *→ Personne* - Demandeur +- **applicant\_organisation\_\_** : *→ Organisation* - Organisation + demandeuse +- **associated\_basket\_\_** : *→ Panier* - associated basket +- **cached\_label** : *Texte* - Nom en cache - Généré + automatiquement - ne pas éditer +- **comment** : *Texte* - Commentaire +- **complete\_identifier** : *Texte* - Identifiant complet +- **creation\_date** : *Date* - Date de création +- **custom\_index** : *Entier* - Custom index +- **documents\_\_** : *→ Document* - Documents +- **end\_date** : *Date* - Date de clôture +- **exhibition\_end\_date** : *Date* - Date de fin de l\'exposition +- **exhibition\_name** : *Texte* - Nom d\'exposition +- **exhibition\_start\_date** : *Date* - Date de commencement de + l\'exposition +- **external\_id** : *Chaîne de caractères (200)* - Identifiant +- **in\_charge\_\_** : *→ Personne* - Personne responsable +- **index** : *Entier* - Index +- **internal\_reference** : *Chaîne de caractères (200)* - Référence + interne +- **main\_image\_\_** : *→ Document* - Image principale +- **name** : *Texte* - Nom +- **qrcode** : *Image (255)* - qrcode +- **reception\_date** : *Date* - Date de réception +- **treatments\_\_** : *→ Traitements (demande associée)* +- **type\_\_** : *→ Type de demande de traitement* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - Type de demande de + traitement +- **year** : *Entier* - Année + +### Dépot + +Chaque dépot dispose des +`champs adresse <valeurs-champs-adresse>`{.interpreted-text role="ref"}, +du champ [data\_\_]{.title-ref} ainsi que des champs suivants : + +- **associated\_divisions\_\_** : *→ Type de division de lieu de + conservation* (**label** Dénomination, **txt\_idx** Identifiant + textuel) - Divisions +- **cached\_label** : *Texte* - Nom en cache - Généré + automatiquement - ne pas éditer +- **cached\_town\_label** : *Texte* - Nom en cache des communes - + Généré automatiquement - ne pas éditer +- **comment** : *Texte* - Commentaire +- **complete\_identifier** : *Texte* - Identifiant complet +- **containers\_\_** : *→ Contenants (lieu de conservation)* +- **custom\_index** : *Entier* - Custom index +- **divisions\_\_** : *→ warehouse division links (warehouse)* +- **documents\_\_** : *→ Document* - Documents +- **external\_id** : *Texte* - Identifiant +- **finds\_\_** : *→ Mobilier (collection)* +- **geodata\_\_** : *→ Géographie - Donnée vectorielle* - Élément + géographique +- **main\_geodata\_\_** : *→ Géographie - Donnée vectorielle* - + Élément géographique principal +- **main\_image\_\_** : *→ Document* - Image principale +- **max\_division\_number** : *Entier* - Nombre maximum de divisions - + Généré automatiquement +- **name** : *Chaîne de caractères (200)* - Nom +- **organization\_\_** : *→ Organisation* - Organisation +- **owned\_containers\_\_** : *→ Contenants (lieu de conservation + responsable)* +- **person\_in\_charge\_\_** : *→ Personne* - Personne responsable +- **qrcode** : *Image (255)* - qrcode +- **responsibilities\_\_** : *→ Contenants (responsabilité)* +- **slug** : \* (200)\* - Identifiant textuel +- **spatial\_reference\_system\_\_** : *→ Géographie - Système de + référence spatiale* (**label** Dénomination, **txt\_idx** + Identifiant textuel, **srid** SRID, **auth\_name** Registre) - + Système de référence spatiale +- **treatment\_\_** : *→ Traitements (localisation)* +- **warehouse\_type\_\_** : *→ Type de lieu de conservation* + (**label** Dénomination, **txt\_idx** Identifiant textuel) - Type de + lieu de conservation + +### Contenant + +Chaque contenant dispose du champ [data\_\_]{.title-ref} ainsi que des +champs suivants : + +- **cached\_division** : *Texte* - Division mise en cache +- **cached\_label** : *Texte* - Nom en cache - Généré + automatiquement - ne pas éditer +- **cached\_location** : *Texte* - Localisation - en cache +- **cached\_weight** : *Nombre à virgule* - Poids mis en cache (g) - + Poids saisi si disponible sinon poids calculé. +- **calculated\_weight** : *Nombre à virgule* - Poids calculé (g) +- **children\_\_** : *→ Contenants (contenant parent)* +- **comment** : *Texte* - Commentaire +- **complete\_identifier** : *Texte* - Identifiant complet +- **container\_content\_\_** : *→ find inside containers (contenant)* +- **container\_tree\_child\_\_** : *→ container tree (contenant)* +- **container\_tree\_parent\_\_** : *→ container trees (contenant + parent)* +- **container\_type\_\_** : *→ Type de contenant* (**label** + Dénomination, **txt\_idx** Identifiant textuel) - Type de contenant +- **context\_record\_** : Unité d\'Enregistrement associée - à + utiliser avec précaution seule la première unité d\'enregistrement + trouvée est retournée - **Champ non disponible pour les imports** +- **custom\_index** : *Entier* - Custom index +- **division\_\_** : *→ Localisations de contenant (contenant)* +- **documents\_\_** : *→ Document* - Documents +- **external\_id** : *Texte* - Identifiant +- **finds** : Liste du mobilier associé - **Champ non disponible pour + les imports** +- **finds\_\_** : *→ Mobilier (contenant)* +- **finds\_ref\_\_** : *→ Mobilier (contenant de référence)* +- **geodata\_\_** : *→ Géographie - Donnée vectorielle* - Élément + géographique +- **history\_date\_deprecated** : *Date/heure* - history date + deprecated +- **index** : *Entier* - ID contenant +- **location\_\_** : *→ Lieu de conservation* - Lieu de conservation +- **main\_geodata\_\_** : *→ Géographie - Donnée vectorielle* - + Élément géographique principal +- **main\_image\_\_** : *→ Document* - Image principale +- **material\_types** : Types de matériaux dans le contenant - chaîne + de caractères - **Champ non disponible pour les imports** +- **material\_types\_code** : Code des types de matériau - chaîne de + caractères - **Champ non disponible pour les imports** +- **old\_reference** : *Texte* - Ancienne référence +- **operation\_** : Opération associée - à utiliser avec précaution + seule la première opération trouvée est retournée - **Champ non + disponible pour les imports** +- **parent\_\_** : *→ Contenant* - Contenant parent +- **qrcode** : *Image (255)* - qrcode +- **reference** : *Texte* - Réf. du contenant +- **responsibility\_\_** : *→ Lieu de conservation* - Responsabilité - + Lieu de conservation auquel le contenant appartient +- **responsible\_\_** : *→ Lieu de conservation* - Lieu de + conservation responsable - Obsolète - ne pas utiliser +- **spatial\_reference\_system\_\_** : *→ Géographie - Système de + référence spatiale* (**label** Dénomination, **txt\_idx** + Identifiant textuel, **srid** SRID, **auth\_name** Registre) - + Système de référence spatiale +- **treatment\_\_** : *→ Traitements (contenant)* +- **weight** : *Nombre à virgule* - Poids mesuré (g) diff --git a/docs/fr/annexe-tech-4-jinja-filters.md b/docs/fr/annexe-tech-4-jinja-filters.md new file mode 100644 index 000000000..ff1fee616 --- /dev/null +++ b/docs/fr/annexe-tech-4-jinja-filters.md @@ -0,0 +1,126 @@ +Annexe technique 4 - Filtres pour les patrons de documents {#annexe-technique-4-jinja-filters} +========================================================== + +Auteurs + +: Étienne Loks, Valérie-Emma Leroux + +Date + +: 2022-03-08 + +Copyright + +: CC-BY 3.0 + +Ishtar Version + +: v3.1.0 + +------------------------------------------------------------------------ + +Les patrons de documents permettent d\'utiliser des filtres sur les +données de la base de données. Cela permet essentiellement de mettre en +forme les champs. Certains de ces filtres sont directement disponibles +via la bibliothèque Jinja utilisée dans Ishtar, d\'autres ont été +développés au sein d\'Ishtar. + +Pour utiliser un filtre, à la suite de la variable, il faut utiliser le +caractère [\|]{.title-ref}, par exemple : +[{{variable\|capfirst}}]{.title-ref}. + +::: {.note} +::: {.title} +Note +::: + +Les filtres peuvent se chaîner. On peut donc écrire : +[{{variable\|human\_date\|capitalize}}.]{.title-ref} +::: + +Pour les différents exemples nous utilisons directement une chaîne de +caractères pour illustrer, en utilisation réelle on utilise un nom de +variable. + +La bibliothèque logicielle Jinja utilisée pour la génération des patrons +met à disposition nativement un certain nombre de filtres : +[documentation des filtres de base +(anglais)](https://jinja.palletsprojects.com/en/2.11.x/templates/#list-of-builtin-filters). + +Ishtar met a disposition des filtres supplémentaires : + +Formatage des chaînes de caractères +----------------------------------- + +- **capfirt** + +Ce filtre met la première lettre en majuscule et ne touche pas au reste +de la chaîne. + +> - [{{\"saint georges d\'oléron\"\|capfisrt}}]{.title-ref} -\> [Saint +> georges d\'oléron]{.title-ref} + +- **lowerfirst** + +Ce filtre met la première lettre en minuscule et ne touche pas au reste +de la chaîne + +> - [{{\"SAINT-GEORGES-D\'OLÉRON\"\|lowerfirst}}]{.title-ref} -\> +> [sAINT-GEORGES-D\'OLÉRON]{.title-ref} + +- **capitalize** + +Ce filtre met la première lettre de chaque mot en majuscule et le reste +de la chaîne en minuscule. + +> - [{{\"SAINT-GEORGES-D\'OLÉRON\"\|capitalize}}]{.title-ref} -\> +> [Saint-Georges-d\'Oléron]{.title-ref} + +- **human\_date** + +Ce filtre permet d\'afficher une date en toutes lettres. + +> - [{{\"2020-03-03\"\|human\_date}}]{.title-ref} -\> [3 mars +> 2020]{.title-ref} + +- **int** + +Pour afficher un nombre sans décimales. + +> - [{{\"600.0\"\|int}}]{.title-ref} -\> [600]{.title-ref} + +Manipulation des chaînes de caractères +-------------------------------------- + +- **splitpart** + +Ce filtre permet d\'extraire un élément depuis une chaîne de caractères +en prenant en compte un séparateur. Par exemple depuis la chaîne +[\"2,3,10\"]{.title-ref}, accéder au troisième élément : +[\"10\"]{.title-ref}. + +Ce filtre nécessite au minimum un argument, le numéro de l\'élément +souhaité (en commençant le compte à 0) : pour avoir le second élément, +il faut indiquer en argument [\"1\"]{.title-ref}. + +Le second argument correspond à la borne de fin non incluse (en +commençant le compte à 0) : ainsi pour avoir jusqu\'au deuxième élément +il faut indiquer en argument [\"2\"]{.title-ref}. Si l\'on ne souhaite +avoir qu\'un seul élément, on indique [\"0\"]{.title-ref}. + +Par défaut le séparateur [\",\"]{.title-ref} est utilisé si l\'on +souhaite un autre séparateur, on spécifie celui-ci en troisème argument. + +On peut associer un dernier argument qui permet de spécifier le(s) +caractère(s) de concaténation que l\'on souhaite utiliser pour la chaîne +en retour. + +> - [{{\"9,2,10\"\|splitpart(1)}}]{.title-ref} -\> [2]{.title-ref} +> - [{{\"chaise;bureau;papier;paragraphe\"\|splitpart(0,0,\";\")}}]{.title-ref} +> -\> [chaise]{.title-ref} +> - [{{\"182025\_C001\"\|splitpart(1,0,\"\_\")}}]{.title-ref} -\> +> [C001]{.title-ref} +> - [{{\"chaise;bureau;papier;paragraphe\"\|splitpart(1,3,\";\")}}]{.title-ref} +> -\> [bureau;papier]{.title-ref} +> - [{{\"chaise;bureau;papier;paragraphe\"\|splitpart(1,4,\";\",\"\|\")}}]{.title-ref} +> -\> [bureau\|papier\|paragraphe]{.title-ref} diff --git a/docs/fr/annexe-tech-5-manage-commands.md b/docs/fr/annexe-tech-5-manage-commands.md new file mode 100644 index 000000000..3632e8cb7 --- /dev/null +++ b/docs/fr/annexe-tech-5-manage-commands.md @@ -0,0 +1,54 @@ +Annexe technique 5 - Commandes de gestion en CLI {#annexe-tech-5-manage-commands} +================================================ + +Auteurs + +: Étienne Loks + +Date + +: 2021-06-21 + +Copyright + +: CC-BY 3.0 + +Ishtar Version + +: v3.1.0 + +------------------------------------------------------------------------ + +Les commandes de gestion en CLI nécessite un accès en ligne de commande +au serveur. Une fois connecté en SSH à celui-ci, on se rend dans le +répertoire de l\'instance sur laquelle on souhaite intervenir (par +défaut : [/srv/ishtar/\<nom-de-l\'instance\>]{.title-ref}) et l\'on +lance la commande souhaité via un appel au de ce répertoire +[manage.py]{.title-ref} suivi du nom de la commande. Exemple : + +``` {.bash} +root@ishtar-server:# cd /srv/ishtar/prod_deb +root@ishtar-server:# python3 ./manage.py relations_update_cache_tables +``` + +import\_geofla\_csv +------------------- + +Import des communes depuis les données IGN (cf. +`Annexe technique 2<import-communes-ign>`{.interpreted-text +role="ref"}). + +import\_insee\_comm\_csv +------------------------ + +Import des communes depuis les données INSEE (cf. +`Annexe technique 1<import-regroupements-communes-insee>`{.interpreted-text +role="ref"}). + +relations\_update\_cache\_tables +-------------------------------- + +Cette commande met à jour les tables de cache des relations. Cette +commande doit être impérativement lancée lorsque l\'on change le type de +gestion des relations depuis le profil afin de mettre à jour les tables +correpondantes. diff --git a/docs/fr/annexe-tech-6-configuration-syndication.md b/docs/fr/annexe-tech-6-configuration-syndication.md new file mode 100644 index 000000000..7b6b22981 --- /dev/null +++ b/docs/fr/annexe-tech-6-configuration-syndication.md @@ -0,0 +1,220 @@ +Annexe technique 6 - Configuration de la fédération {#annexe-tech-6-configuration-syndication} +=================================================== + +Auteurs + +: Étienne Loks + +Date + +: 2023-02-16 + +Copyright + +: CC-BY 3.0 + +Ishtar Version + +: v4.0 + +La fédération de données entre instances Ishtar est une fonctionnalité +puissante mais assez complexe à mettre en place. La documentation +ci-dessous détaille pas à pas les différentes étapes pour mettre en +place cela. + +Selon que l'on soit l'instance qui partage des données ou celle qui +consulte des données les enjeux sont différents : + +L'instance qui partage des données (dite « source ») doit paramétrer : + +- les types de données à partager ; +- les sous-ensembles de ces données à partager ; +- les attributs que l'on souhaite exposer / cacher ; +- à qui l'on va partager les données (nécessitant la création d'un + compte système avec un jeton d'accès et le paramétrage de l'adresse + IP du serveur vers lequel les données vont être envoyées). + +L'instance source est configurée en administration via les entrées « API +-Accès distant ». + +L'instance qui consulte les données (dite « destination ») doit +paramétrer : + +- le serveur « source » qui fournit les données, son adresse web + d'Ishtar et un jeton d'accès ; +- la correspondance entre les listes de vocabulaire contrôlé de son + instance et les listes de vocabulaire contrôlé de l'instance source. + Cette correspondance est nécessaire pour traduire les recherches par + critères de manière pertinente. + +L'instance destination est configurée en administration via les entrées +« API - Recherche ». + +Pour illustrer une fédération de données, nous allons prendre l'exemple +suivant : + +L'instance Charente-Maritime veut partager un ensemble de données avec +l'instance Nouvelle-Aquitaine. + +Le serveur dit « source » est celui de Charente-Maritime. + +Le serveur dit « destination » est celui de Nouvelle-Aquitaine. + +Configuration du serveur source +------------------------------- + +Cette configuration est à faire si vous souhaitez donner un accès en +lecture à vos données depuis une autre instance Ishtar. Dans notre +exemple, il s'agit du serveur Charente-Maritime. + +Préalablement à cette configuration vous avez besoin de l'adresse IP du +serveur de l'autre instance Ishtar. + +### Création d'un utilisateur système + +Contrairement à la création d'utilisateur classique, on crée un +utilisateur système. Celui-ci n'aura pas accès à l'instance Ishtar +directement. Créer cet utilisateur en interface « Administration de base +de données » : « Authentification et autorisation \> Utilisateurs \> +Ajout ». Utiliser un identifiant qui n'existe pas encore en base de +données, exemple « federation-nouvelle-aquitaine ». Le mot de passe ne +sera pas utilisé : en choisir un particulièrement complexe. + + + +### Associer un jeton d'authentification à un utilisateur système + +Associer ensuite à ce compte un jeton d'authentification. Depuis +l'interface « Administration de base de données » : « Accueil \> Jeton +d'authentification \> Jetons \> Ajout ». Le compte est retrouvé via +l'icône loupe. + +Une fois le jeton créé, aller à la liste des jetons puis mettre de côté +la clé du jeton. + + + +Par exemple sur la capture d'écran, la clé est +`a14b32f31029216da11621ba5ddb0431997ca61d`. Une fois la configuration +terminée, cette clé sera à transmettre à l'administrateur de l\'instance +Ishtar destination. + +### Associer l'adresse IP du serveur destination à l'utilisateur système + +Depuis « Ishtar - Commun \> API - Accès distant - Utilisateurs \> Ajout +», on associe l'utilisateur système à l'adresse IP du serveur. + + + +Pour notre exemple, le serveur de Nouvelle-Aquitaine a l'adresse +`8.8.8.8`. + +### Ouvrir l'accès à un ou plusieurs types de contenu + +Pour chaque type de contenu que l'on souhaite ouvrir (Opération, Unité +d'Enregistrement, Mobilier, ...), ajouter une entrée via : « Ishtar +-Commun \> API - Accès distant - Modèles de recherche \> Ajout ». + + + +On sélectionne notre utilisateur système, le type de contenu, ainsi +qu'éventuellement une requête filtrante. Cette requête correspond à une +chaîne de caractères correspondant à recherche. Seuls les éléments +correspondants à cette requête seront partagés. Si l'on ne renseigne pas +cette requête filtrante tous les éléments seront renvoyés. + +### Filtrer la fiche de contenu + +Il est possible de cacher certains champs sur la fiche que l'on partage. +Pour chaque champ que l'on souhaite cacher, ajouter une entrée via « +Ishtar - Commun \> API - Accès distant - Filtres de fiche \> Ajout ». Le +formulaire doit rempli en deux fois. On se contente d'abord de choisir +le type de contenu que l'on veut filtrer. + + + +Valider avec le bouton « Enregistrer et continuer les modifications ». + +Une fois ce premier enregistrement, l'aide disponible sous le champ « +Clé » liste les différentes clés correspondant au contenu que l'on +souhaite filtrer. + + + +Sur cet exemple, on souhaite filtrer l'affichage de l'image principale. +Note : si l'on souhaite qu'aucune image ne soit affichée, il faut +ajouter chaque champ « image ». + +Configuration du serveur destination +------------------------------------ + +Cette configuration est à faire si vous souhaitez accéder à des données +d'une autre instance Ishtar depuis votre propre instance. Dans notre +exemple, il s'agit du serveur Nouvelle-Aquitaine. + +Préalablement à cette configuration vous avez besoin du jeton +d'authentification donné par le serveur source ainsi que l'adresse web +pour accéder à celui-ci. + +### Créer la source externe + +Cette source externe se crée en interface « Administration de base de +données » : « Ishtar - Commun \> API - Recherche - Sources externes \> +Ajout ». + + + +Sur le formulaire reprendre l'adresse web du serveur source ainsi que le +jeton d'authentification qui vous a été fourni. Le nom renseigné doit +être explicite, il apparaîtra sur les écrans de recherche de +l'interface. On renseigne explicitement chaque utilisateur qui aura +accès à cette source externe. + +### Synchroniser les listes de vocabulaire contrôlées depuis la source + +Une fois la source externe créée il est nécessaire de récupérer les +listes de vocabulaire contrôlées de cette source (le serveur source). +Pour cela, on se rend sur la page listant les sources externes : « +Ishtar -Commun \> API - Recherche - Sources externes ». Sélectionner la +source externe concernée, l'action « Mettre à jour les types depuis la +source » et valider (le bouton « Aller »). + + + +Cette action peut prendre un certain temps. Si des changements sont +faits sur les listes de vocabulaire contrôlé sur la source cette étape +ainsi que les suivantes sont à effectuer de nouveau. + +### Mettre à jour les correspondances + +Pour chaque liste de vocabulaire contrôlée, des correspondances sont +faites automatiquement entre les termes identiques. Lorsque deux +instances partagent la même langue et ont des cas d'utilisation +semblable, une bonne partie des listes de vocabulaire sont mises en +correspondance automatiquement. Afin de visualiser les correspondances +et de compléter les correspondances manquantes, on génère un document de +correspondance. Celui-ci se présente sous la forme d'un document tableur +LibreOffice. Pour cela, on reste sur la page listant les sources +externes : « Ishtar - Commun \> API - Recherche - Sources externes ». +Sélectionner la source externe concernée et l'action « Générer le +document de correspondance », valider (bouton « Aller »). + + + +Ouvrir le document généré avec LibreOffice et parcourir les différents +onglets pour effectuer les éventuelles correspondances manquantes. Là où +des cellules sur la troisième colonne « Local » sont vides, choisir +l'élément manquant dans la liste. + + + +Une fois ces modifications faites, enregistrer le document et le déposer +sur le serveur sur la source externe concernée. + + + +Enregistrer la source externe puis sélectionner la source externe +concernée et l'action « Mettre à jour les associations depuis un +document de correspondance », valider. + + diff --git a/docs/fr/index.md b/docs/fr/index.md new file mode 100644 index 000000000..213e45d3b --- /dev/null +++ b/docs/fr/index.md @@ -0,0 +1,134 @@ + +# Contenu + + + +<!-- +## [Administration applicative](administrateur-applicatif.md#administration-applicative) +### [Listes de types](administrateur-applicatif.md#listes-de-types) +### [Champs personnalisés {#champ-personnalises}](administrateur-applicatif.md#champs-personnalises-champ-personnalises) +### [Formulaires personnalisés {#formulaire-personnalise}](administrateur-applicatif.md#formulaires-personnalises-formulaire-personnalise) +### [Gestion des permissions](administrateur-applicatif.md#gestion-des-permissions) +* [Gestion des comptes {#gestion-comptes}](administrateur-applicatif.md#gestion-des-comptes-gestion-comptes) +* [Permissions dans Ishtar {#permissions-ishtar}](administrateur-applicatif.md#permissions-dans-ishtar-permissions-ishtar) +* [Permissions dans les pages d\'administration](administrateur-applicatif.md#permissions-dans-les-pages-dadministration) +### [Patrons de documents](administrateur-applicatif.md#patrons-de-documents) +* [Principes de base](administrateur-applicatif.md#principes-de-base) +* [Un premier patron](administrateur-applicatif.md#un-premier-patron) +### [Configuration du profil d\'instance Ishtar {#configuration-instance-ishtar}](administrateur-applicatif.md#configuration-du-profil-dinstance-ishtar-configuration-instance-ishtar) +* [Identifiants et index personnalisés](administrateur-applicatif.md#identifiants-et-index-personnalises) +### [Formules](administrateur-applicatif.md#formules) +* [Syntaxe simple {#formules-syntaxe-simple}](administrateur-applicatif.md#syntaxe-simple-formules-syntaxe-simple) +* [Syntaxe Jinja {#formules-syntaxe-jinja}](administrateur-applicatif.md#syntaxe-jinja-formules-syntaxe-jinja) +### [Journalisation RGPD](administrateur-applicatif.md#journalisation-rgpd) +## [Administration serveur](administrateur-serveur.md#administration-serveur) +### [Installation sur serveur Debian Bullseye](administrateur-serveur.md#installation-sur-serveur-debian-bullseye) +### [Initialisation de la base de données](administrateur-serveur.md#initialisation-de-la-base-de-donnees) +* [Initialisation des communes](administrateur-serveur.md#initialisation-des-communes) +### [Mises à jour](administrateur-serveur.md#mises-a-jour) +* [Mise à jour version 3 (sur Debian Buster) vers la version 4 (sur Debian Bullseye)](administrateur-serveur.md#mise-a-jour-version-3-sur-debian-buster-vers-la-version-4-sur-debian-bullseye) +## [Annexe 1 - Détails des permissions {#annexe-1-permission-action}](annexe-1-permission-action.md#annexe-1-details-des-permissions-annexe-1-permission-action) +### [Imports](annexe-1-permission-action.md#imports) +* [Définition des droits](annexe-1-permission-action.md#definition-des-droits) +* [Import rattaché](annexe-1-permission-action.md#import-rattache) +* [Permission lecture](annexe-1-permission-action.md#permission-lecture) +* [Permission ajout](annexe-1-permission-action.md#permission-ajout) +* [Permission modification](annexe-1-permission-action.md#permission-modification) +* [Permission suppression](annexe-1-permission-action.md#permission-suppression) +## [Annexe 2 - Exemple de flux opérationnel : prêt pour exposition](annexe-2-ex-flux-ope.md#annexe-2-exemple-de-flux-operationnel-pret-pour-exposition) +### [Description](annexe-2-ex-flux-ope.md#description) +* [Pré-sélection du mobilier pour l\'exposition par les gestionnaires de mobilier](annexe-2-ex-flux-ope.md#pre-selection-du-mobilier-pour-lexposition-par-les-gestionnaires-de-mobilier) +* [Sélection du mobilier depuis cette pré-selection par la structure emprunteuse](annexe-2-ex-flux-ope.md#selection-du-mobilier-depuis-cette-pre-selection-par-la-structure-emprunteuse) +* [Édition des documents administratifs](annexe-2-ex-flux-ope.md#edition-des-documents-administratifs) +* [Départ effectif du mobilier concerné](annexe-2-ex-flux-ope.md#depart-effectif-du-mobilier-concerne) +* [Gestion du retour du mobilier](annexe-2-ex-flux-ope.md#gestion-du-retour-du-mobilier) +## [Annexe 3 - Correspondance des champs Ishtar - Normes documentaires](annexe-3-doc-normes.md#annexe-3-correspondance-des-champs-ishtar-normes-documentaires) +### [Ishtar - Dublin Core](annexe-3-doc-normes.md#ishtar-dublin-core) +### [Ishtar - COinS](annexe-3-doc-normes.md#ishtar-coins) +## [Annexe technique 1 - Import des regroupements de commune INSEE {#import-regroupements-communes-insee}](annexe-tech-1-insee-communes.md#annexe-technique-1-import-des-regroupements-de-commune-insee-import-regroupements-communes-insee) +## [Annexe technique 2 - Import des communes IGN {#import-communes-ign}](annexe-tech-2-ign-communes.md#annexe-technique-2-import-des-communes-ign-import-communes-ign) +### [Récupération des données](annexe-tech-2-ign-communes.md#recuperation-des-donnees) +### [Import dans Ishtar](annexe-tech-2-ign-communes.md#import-dans-ishtar) +## [Annexe technique 3 - Variables {#annexe-technique-3-variables}](annexe-tech-3-variables-gen.md#annexe-technique-3-variables-annexe-technique-3-variables) +### [Modèles génériques {#valeurs-champs-adresse}](annexe-tech-3-variables-gen.md#modeles-generiques-valeurs-champs-adresse) +* [Champs personnalisés](annexe-tech-3-variables-gen.md#champs-personnalises) +* [Champs adresse](annexe-tech-3-variables-gen.md#champs-adresse) +* [Personne](annexe-tech-3-variables-gen.md#personne) +* [Auteur](annexe-tech-3-variables-gen.md#auteur) +* [Organisation](annexe-tech-3-variables-gen.md#organisation) +* [Documentation](annexe-tech-3-variables-gen.md#documentation) +* [Élément géographique](annexe-tech-3-variables-gen.md#element-geographique) +* [Acte administratif](annexe-tech-3-variables-gen.md#acte-administratif) +* [Commune](annexe-tech-3-variables-gen.md#commune) +* [Zone géographique](annexe-tech-3-variables-gen.md#zone-geographique) +* [Parcelle](annexe-tech-3-variables-gen.md#parcelle) +* [Datation](annexe-tech-3-variables-gen.md#datation) +### [Modèles des éléments principaux](annexe-tech-3-variables-gen.md#modeles-des-elements-principaux) +* [Opération](annexe-tech-3-variables-gen.md#operation) +* [Site/Entité archéologique](annexe-tech-3-variables-gen.md#siteentite-archeologique) +* [Dossier archéologique](annexe-tech-3-variables-gen.md#dossier-archeologique) +* [Unité d\'enregistrement](annexe-tech-3-variables-gen.md#unite-denregistrement) +* [Mobilier d\'origine](annexe-tech-3-variables-gen.md#mobilier-dorigine) +* [Mobilier](annexe-tech-3-variables-gen.md#mobilier) +* [Traitement](annexe-tech-3-variables-gen.md#traitement) +* [Demande de traitement](annexe-tech-3-variables-gen.md#demande-de-traitement) +* [Dépot](annexe-tech-3-variables-gen.md#depot) +* [Contenant](annexe-tech-3-variables-gen.md#contenant) +## [Annexe technique 4 - Filtres pour les patrons de documents {#annexe-technique-4-jinja-filters}](annexe-tech-4-jinja-filters.md#annexe-technique-4-filtres-pour-les-patrons-de-documents-annexe-technique-4-jinja-filters) +### [Formatage des chaînes de caractères](annexe-tech-4-jinja-filters.md#formatage-des-chaines-de-caracteres) +### [Manipulation des chaînes de caractères](annexe-tech-4-jinja-filters.md#manipulation-des-chaines-de-caracteres) +## [Annexe technique 5 - Commandes de gestion en CLI {#annexe-tech-5-manage-commands}](annexe-tech-5-manage-commands.md#annexe-technique-5-commandes-de-gestion-en-cli-annexe-tech-5-manage-commands) +### [import_geofla_csv](annexe-tech-5-manage-commands.md#import_geofla_csv) +### [import_insee_comm_csv](annexe-tech-5-manage-commands.md#import_insee_comm_csv) +### [relations_update_cache_tables](annexe-tech-5-manage-commands.md#relations_update_cache_tables) +## [Annexe technique 6 - Configuration de la fédération {#annexe-tech-6-configuration-syndication}](annexe-tech-6-configuration-syndication.md#annexe-technique-6-configuration-de-la-federation-annexe-tech-6-configuration-syndication) +### [Configuration du serveur source](annexe-tech-6-configuration-syndication.md#configuration-du-serveur-source) +* [Création d'un utilisateur système](annexe-tech-6-configuration-syndication.md#creation-dun-utilisateur-systeme) +* [Associer un jeton d'authentification à un utilisateur système](annexe-tech-6-configuration-syndication.md#associer-un-jeton-dauthentification-a-un-utilisateur-systeme) +* [Associer l'adresse IP du serveur destination à l'utilisateur système](annexe-tech-6-configuration-syndication.md#associer-ladresse-ip-du-serveur-destination-a-lutilisateur-systeme) +* [Ouvrir l'accès à un ou plusieurs types de contenu](annexe-tech-6-configuration-syndication.md#ouvrir-lacces-a-un-ou-plusieurs-types-de-contenu) +* [Filtrer la fiche de contenu](annexe-tech-6-configuration-syndication.md#filtrer-la-fiche-de-contenu) +### [Configuration du serveur destination](annexe-tech-6-configuration-syndication.md#configuration-du-serveur-destination) +* [Créer la source externe](annexe-tech-6-configuration-syndication.md#creer-la-source-externe) +* [Synchroniser les listes de vocabulaire contrôlées depuis la source](annexe-tech-6-configuration-syndication.md#synchroniser-les-listes-de-vocabulaire-controlees-depuis-la-source) +* [Mettre à jour les correspondances](annexe-tech-6-configuration-syndication.md#mettre-a-jour-les-correspondances) +## [Principes](principes.md#principes) +### [Présentation](principes.md#presentation) +* [Présentation générale](principes.md#presentation-generale) +* [Fonctionnalités](principes.md#fonctionnalites) +### [Modules / configuration](principes.md#modules-configuration) +### [Structure de la base de données](principes.md#structure-de-la-base-de-donnees) +* [Opération archéologique](principes.md#operation-archeologique) +* [Site/entité archéologique](principes.md#siteentite-archeologique) +* [Parcelle](principes.md#parcelle) +* [Unité d\'enregistrement](principes.md#unite-denregistrement) +* [Mobilier - Traitement](principes.md#mobilier-traitement) +* [Mobilier - Demande de traitement](principes.md#mobilier-demande-de-traitement) +* [Contenant](principes.md#contenant) +* [Document](principes.md#document) +### [Les flux de données](principes.md#les-flux-de-donnees) +* [Import](principes.md#import) +* [Ajout/modification par formulaire](principes.md#ajoutmodification-par-formulaire) +* [Modification par lot](principes.md#modification-par-lot) +### [Notions avancées](principes.md#notions-avancees) +* [Données géographiques {#donnees-geographiques}](principes.md#donnees-geographiques-donnees-geographiques) +## [Utilisateur](utilisateur.md#utilisateur) +### [Interface générale](utilisateur.md#interface-generale) +* [Zone de profil](utilisateur.md#zone-de-profil) +* [Menu d\'actions](utilisateur.md#menu-dactions) +* [Zone centrale](utilisateur.md#zone-centrale) +* [Zone d\'alerte et de sélection épinglée](utilisateur.md#zone-dalerte-et-de-selection-epinglee) +### [Page de recherche](utilisateur.md#page-de-recherche) +* [Recherche textuelle et par critères](utilisateur.md#recherche-textuelle-et-par-criteres) +* [Marques-pages et alertes {#bookmarks}](utilisateur.md#marques-pages-et-alertes-bookmarks) +* [Tableaux](utilisateur.md#tableaux) +* [Fiches {#sheet}](utilisateur.md#fiches-sheet) +### [Page d\'assistant logiciel (wizard) {#wizard}](utilisateur.md#page-dassistant-logiciel-wizard-wizard) +* [Fil d\'Ariane](utilisateur.md#fil-dariane) +* [Tableau / Zone de formulaire](utilisateur.md#tableau-zone-de-formulaire) +* [Zone de validation](utilisateur.md#zone-de-validation) +### [Utilisation avancée](utilisateur.md#utilisation-avancee) +* [Paniers {#basket}](utilisateur.md#paniers-basket) +* [Éléments épinglés {#pinned}](utilisateur.md#elements-epingles-pinned) +* [Action rapide](utilisateur.md#action-rapide) +-->
\ No newline at end of file diff --git a/docs/fr/source/media-src/containers.dia b/docs/fr/media-src/containers.dia Binary files differindex 550a7d08b..550a7d08b 100644 --- a/docs/fr/source/media-src/containers.dia +++ b/docs/fr/media-src/containers.dia diff --git a/docs/fr/source/media-src/geo-parents.dia b/docs/fr/media-src/geo-parents.dia Binary files differindex faae8e124..faae8e124 100644 --- a/docs/fr/source/media-src/geo-parents.dia +++ b/docs/fr/media-src/geo-parents.dia diff --git a/docs/fr/source/media-src/geo-source-point.dia b/docs/fr/media-src/geo-source-point.dia Binary files differindex 4de8527fd..4de8527fd 100644 --- a/docs/fr/source/media-src/geo-source-point.dia +++ b/docs/fr/media-src/geo-source-point.dia diff --git a/docs/fr/source/media-src/geo-source-polygon.dia b/docs/fr/media-src/geo-source-polygon.dia Binary files differindex de6735aa3..de6735aa3 100644 --- a/docs/fr/source/media-src/geo-source-polygon.dia +++ b/docs/fr/media-src/geo-source-polygon.dia diff --git a/docs/fr/source/media-src/graphique-structure-ishtar.png b/docs/fr/media-src/graphique-structure-ishtar.png Binary files differindex d844297ab..d844297ab 100644 --- a/docs/fr/source/media-src/graphique-structure-ishtar.png +++ b/docs/fr/media-src/graphique-structure-ishtar.png diff --git a/docs/fr/source/media-src/graphique-structure-ishtar.svg b/docs/fr/media-src/graphique-structure-ishtar.svg index 8412b7bcb..8412b7bcb 100644 --- a/docs/fr/source/media-src/graphique-structure-ishtar.svg +++ b/docs/fr/media-src/graphique-structure-ishtar.svg diff --git a/docs/fr/source/media-src/graphique_structure_ishtar-presenter.sozi.html b/docs/fr/media-src/graphique_structure_ishtar-presenter.sozi.html index e3e26ab82..e3e26ab82 100644 --- a/docs/fr/source/media-src/graphique_structure_ishtar-presenter.sozi.html +++ b/docs/fr/media-src/graphique_structure_ishtar-presenter.sozi.html diff --git a/docs/fr/source/media-src/graphique_structure_ishtar.dot b/docs/fr/media-src/graphique_structure_ishtar.dot index e69ab6d6d..e69ab6d6d 100644 --- a/docs/fr/source/media-src/graphique_structure_ishtar.dot +++ b/docs/fr/media-src/graphique_structure_ishtar.dot diff --git a/docs/fr/source/media-src/graphique_structure_ishtar.sozi.html b/docs/fr/media-src/graphique_structure_ishtar.sozi.html index e268ad527..e268ad527 100644 --- a/docs/fr/source/media-src/graphique_structure_ishtar.sozi.html +++ b/docs/fr/media-src/graphique_structure_ishtar.sozi.html diff --git a/docs/fr/source/media-src/graphique_structure_ishtar.sozi.json b/docs/fr/media-src/graphique_structure_ishtar.sozi.json index 72a255763..72a255763 100644 --- a/docs/fr/source/media-src/graphique_structure_ishtar.sozi.json +++ b/docs/fr/media-src/graphique_structure_ishtar.sozi.json diff --git a/docs/fr/source/media-src/graphique_structure_ishtar.svg b/docs/fr/media-src/graphique_structure_ishtar.svg index 48d1778e6..48d1778e6 100644 --- a/docs/fr/source/media-src/graphique_structure_ishtar.svg +++ b/docs/fr/media-src/graphique_structure_ishtar.svg diff --git a/docs/fr/source/media-src/graphique_structure_ishtar_layers-presenter.sozi.html b/docs/fr/media-src/graphique_structure_ishtar_layers-presenter.sozi.html index d80d0a3e1..d80d0a3e1 100644 --- a/docs/fr/source/media-src/graphique_structure_ishtar_layers-presenter.sozi.html +++ b/docs/fr/media-src/graphique_structure_ishtar_layers-presenter.sozi.html diff --git a/docs/fr/source/media-src/graphique_structure_ishtar_layers.sozi.html b/docs/fr/media-src/graphique_structure_ishtar_layers.sozi.html index 663748047..663748047 100644 --- a/docs/fr/source/media-src/graphique_structure_ishtar_layers.sozi.html +++ b/docs/fr/media-src/graphique_structure_ishtar_layers.sozi.html diff --git a/docs/fr/source/media-src/graphique_structure_ishtar_layers.sozi.json b/docs/fr/media-src/graphique_structure_ishtar_layers.sozi.json index 36643e979..36643e979 100644 --- a/docs/fr/source/media-src/graphique_structure_ishtar_layers.sozi.json +++ b/docs/fr/media-src/graphique_structure_ishtar_layers.sozi.json diff --git a/docs/fr/source/media-src/graphique_structure_ishtar_layers.svg b/docs/fr/media-src/graphique_structure_ishtar_layers.svg index d973d383a..d973d383a 100644 --- a/docs/fr/source/media-src/graphique_structure_ishtar_layers.svg +++ b/docs/fr/media-src/graphique_structure_ishtar_layers.svg diff --git a/docs/fr/source/media-src/interface-generale.xcf b/docs/fr/media-src/interface-generale.xcf Binary files differindex f3158a233..f3158a233 100644 --- a/docs/fr/source/media-src/interface-generale.xcf +++ b/docs/fr/media-src/interface-generale.xcf diff --git a/docs/fr/source/media-src/ishtar-coins.dot b/docs/fr/media-src/ishtar-coins.dot index 8d41cc766..8d41cc766 100644 --- a/docs/fr/source/media-src/ishtar-coins.dot +++ b/docs/fr/media-src/ishtar-coins.dot diff --git a/docs/fr/source/media-src/ishtar-coins.svg b/docs/fr/media-src/ishtar-coins.svg index 97db72ca7..97db72ca7 100644 --- a/docs/fr/source/media-src/ishtar-coins.svg +++ b/docs/fr/media-src/ishtar-coins.svg diff --git a/docs/fr/source/media-src/ishtar-dublincore.dot b/docs/fr/media-src/ishtar-dublincore.dot index 72735c64f..72735c64f 100644 --- a/docs/fr/source/media-src/ishtar-dublincore.dot +++ b/docs/fr/media-src/ishtar-dublincore.dot diff --git a/docs/fr/source/media-src/ishtar-dublincore.svg b/docs/fr/media-src/ishtar-dublincore.svg index 22c7c98d1..22c7c98d1 100644 --- a/docs/fr/source/media-src/ishtar-dublincore.svg +++ b/docs/fr/media-src/ishtar-dublincore.svg diff --git a/docs/fr/source/media-src/ishtar-syndication.drawio b/docs/fr/media-src/ishtar-syndication.drawio index d1addf4c1..d1addf4c1 100644 --- a/docs/fr/source/media-src/ishtar-syndication.drawio +++ b/docs/fr/media-src/ishtar-syndication.drawio diff --git a/docs/fr/source/media-src/ishtar-syndication.drawio.png b/docs/fr/media-src/ishtar-syndication.drawio.png Binary files differindex fc5c7fc81..fc5c7fc81 100644 --- a/docs/fr/source/media-src/ishtar-syndication.drawio.png +++ b/docs/fr/media-src/ishtar-syndication.drawio.png diff --git a/docs/fr/source/media-src/traitement.xcf b/docs/fr/media-src/traitement.xcf Binary files differindex 144182859..144182859 100644 --- a/docs/fr/source/media-src/traitement.xcf +++ b/docs/fr/media-src/traitement.xcf diff --git a/docs/fr/principes.md b/docs/fr/principes.md new file mode 100644 index 000000000..4784c5044 --- /dev/null +++ b/docs/fr/principes.md @@ -0,0 +1,576 @@ +Principes +========= + +Auteur + +: Étienne Loks - Valérie-Emma Leroux - Yann Le Jeune + +Date + +: 2020-11-23 + +Copyright + +: CC-BY 3.0 + +Ce document présente les grands principes qui structurent Ishtar. + +Présentation +------------ + +### Présentation générale + +Ishtar est un projet de gestion de base de données visant à gérer les +données et la documentation (mobilier inclus) provenant d\'opérations +archéologique, publié sous la forme d\'un logiciel libre sous licence +AGPL 3.0 (ou supérieure). + +L\'objectif est d\'assurer une traçabilité maximale des informations +afin de faire vivre cette documentation et la rendre même éventuellement +accessible au public ou encore à un (ou des) groupe(s) d\'utilisateurs. + +Ce logiciel a vocation à être installé sur un serveur web mais peut +également fonctionner en local, à l\'échelle d\'un chantier, d\'une +commune ou d\'une région entière. + +Conçu afin de permettre une communication inter-bases, le projet Ishtar +vise plutôt un modèle d\'information distribué que centralisé : la +communication entre les bases est favorisée. + +Il est organisé autour d\'un tronc commun associé à des modules liés à +des besoins « métiers » spécifiques : administration des opérations et +inventaires, lieux de conservation, traitements liés aux laboratoires de +restauration, analyse stratigraphique avancée, étiquetage QR-code, etc. + +De multiples niveaux d\'utilisateurs sont possibles, d\'un accès pour le +public (ou non) à des accès pour chercheurs, responsables d\'opérations, +gestionnaires de CCE, connexion avec un SIG, etc. + +Voici quelques exemples des usages possibles (liste non exhaustive) pour +la gestion des données : + +- d\'une opération programmée ou préventive (une instance pour une + opération ou une série d\'opérations) gérée à l\'échelle de + l\'équipe de recherche associée : gestion des données, mise en + commun, production automatique d\'inventaires conformes, export et + import d\'inventaires avec des spécialistes, gestion des relations + stratigraphiques, etc. ; +- d\'une association de bénévoles : enregistrement des résultats de + chacun dans une base commune ; +- à l\'échelle d\'un service régional de l\'archéologie : gestion des + inventaires mobilier, opérations, dossiers d\'urbanisme, rapports, + dépôts, production d\'arrêtés et de courriers, base de connaissances + régionale, etc. ; +- pour un service de collectivité territoriale : suivi des opérations, + gestion de l\'ensemble des données et mise à disposition du public + et chercheurs ; +- pour un laboratoire de restauration : gestion fine des traitements + et traçabilité maximale du mobilier (tout l\'historique des + traitements est conservé) ; +- pour un PCR : plate-forme de synthèse des données collectées et + valorisation du travail effectué par l\'ouverture au public de la + base une fois le PCR achevé ; +- pour des étudiants : base de données gratuite, utilisant des normes + standardisées, possibilité de mettre en commun son travail avec + d\'autres, de le faire suivre par des tuteurs ou encadrants ; +- etc. + +### Fonctionnalités + +La version actuelle permet d\'accomplir les tâches suivantes : + +- saisie des opérations, +- saisie des unités d\'enregistrement (UE), +- saisie du mobilier archéologique, +- association à de la documentation, +- production automatique d\'inventaires conformes (UE, mobilier, + documents), +- gestionnaire de médias (stockage et gestion des photos, pdf des + rapports, etc.), +- personnalisation des formulaires (ajouts de champs personnalisés, + choix de l\'affichage des champs Ishtar), +- imports paramétrables et archivables, incluant éventuellement les + liens vers des images, depuis des fichiers tabulaires (format csv, + fichier zip pour les images), +- recherche avancée (recherche plein texte et par critère, + enregistrement de recherche, gestion d\'alertes), +- exports (csv) suite à une recherche ou par élément sélectionné + (opération, UE, mobilier), +- production de documents formatés (patrons au format odt), +- production de fiches types pour les opérations, UE ou mobilier + (format odt et pdf), +- tableau de bord produisant automatiquement des statistiques et des + graphiques, +- connexion (jointure) avec un SIG (testé avec QGIS), + +#### Module administratif + +- saisie des dossiers, +- ajout d\'actes administratifs (courriers, arrêtés, etc.), +- production automatique de courriers administratifs (accusés de + réception, etc.), + +#### Module lieux de conservation + +- gestion des mouvements de mobilier, +- production automatique de documents tels conventions de prêts, + fiches d\'état, etc. +- conditionnement, +- sélection par « panier », +- gestion des contenants et étiquetage : il n\'est pas prévu + qu\'Ishtar génère directement des étiquettes (pdf) mais plutôt des + fichiers csv pouvant être utilisés selon tout format d\'étiquette + via « publi-postage » dans un logiciel tiers (libre-office, excel, + etc.). + +Modules / configuration +----------------------- + +Selon le périmètre fonctionnel dans lequel Ishtar est utilisé, il +convient d\'activer ou désactiver certains modules. Ces modules +permettent d\'accéder à plus ou moins de fonctionnalités d\'Ishtar, de +faire apparaître des champs sur les formulaires, de présenter +différemment les données, etc. + +!!! note + L'activation / désactivation d\un module ne change jamais la structure + des données. Il est tout à fait possible d\'activer ponctuellement un + module sans que cela n\'altère les données en base. + +Des dépendances entre modules existent. Ces dépendances sont logiques et +se comprennent aisément si l\'on a intégré la structure de la base de +données d\'Ishtar (cf. +`structure-de-la-base-de-données`{.interpreted-text role="ref"}). En cas +de doute, si une dépendance est manquante lors de l\'activation du +module un message explicite est donné. + +L\'activation des modules est faite en administration sur la page de +configuration d\'instance Ishtar (cf. +`documentation administrateur <configuration-instance-ishtar>`{.interpreted-text +role="ref"}). + +Par ailleurs au niveau de la configuration d\'instance Ishtar un certain +de nombre de paramètres de fonctionnement Ishtar peuvent être ajustés. +Ceux-ci sont détaillés dans la +`documentation administrateur <configuration-instance-ishtar>`{.interpreted-text +role="ref"}. + +::: {.warning} +::: {.title} +Warning +::: + +Contrairement à l\'activation des modules, certains paramètres ont une +incidence importante sur les données stockées dans Ishtar, notamment en +ce qui concerne la gestion des identifiants mobiliers, des identifiants +documents, etc. En tant qu\'administrateur, si vous souhaitez une +configuration différente de la configuration par défaut d\'Ishtar, il +est nécessaire de modifier ces paramètres en amont. +::: + +Structure de la base de données +------------------------------- + +La base de données n\'est pas détaillée table par table dans cette +documentation mais nous allons vous présenter les grandes notions +utilisées. La structure présentée peut apparaître rigide mais c\'est un +mal nécessaire pour une certaine standardisation de données +archéologiques. Par ailleurs les concepts sont très larges et +d\'expérience s\'adapte très bien à la plupart des contextes. + + + +### Opération archéologique + +L\'opération archéologique est le cœur du modèle de données d\'Ishtar. +Au sein d\'Ishtar, l\'opération archéologique est définie comme une +action (ou un projet d\'action) permettant d\'acquérir des données +archéologiques, sous la responsabilité d\'une personne (exemples : +découverte fortuite, diagnostic, fouille programmée, prospection, etc.) +et dans un lieu si possible défini. + +Si l\'opération est au centre du modèle de données d\'Ishtar plutôt que +le site ou l\'entité archéologique, c\'est parce que ce dernier est une +interprétation (comme toute interprétation, sujette à évolution dans le +temps) des données, alors que l\'opération est l\'information qui permet +au mieux de regrouper un corpus documentaire cohérent mettant en lien +des documents (plans, rapports, photos, etc.) et du mobilier. + +Il est possible de créer des liens entre des opérations, soit en les +associant à un même dossier source (avec le module « administratif », +ex. : un permis de construire qui est associé à un diagnostic et une +fouille préventive), soit en définissant une relation entre des +opérations globales (ex. : PCR, suivi d\'autoroutes, etc.) et d\'autres +plus ponctuelles (phases, tranches, secteurs, etc.). Le regroupement +d\'opérations est également pratique en contexte de fouilles +programmées, où il peut être utile d\'avoir des inventaires pour chaque +opération par année, mais également une vision globale de la succession +des fouilles (opération globale). En contexte de grande opération +préventive, ce système peut servir à individualiser des secteurs de +fouilles disposant de modes d'enregistrements spécifiques. +L\'utilisateur a toute latitude pour organiser les opérations entres +elles selon ses besoins, du moment que ces éléments clefs représentent +bien des lots documentaires et mobilier a priori cohérents. + +### Site/entité archéologique + +Malgré le choix de l\'opération comme rôle central de son modèle de +données, Ishtar gère pleinement les sites (ou entité - notion +paramétrable en administration) archéologiques et la migration depuis +une base orientée site est tout à fait envisageable. + +### Parcelle + +Les parcelles sont gérées précisément au sein d\'Ishtar en étant +directement rattachées aux UE. Cela permet de faciliter la gestion des +questions légales concernant le mobilier (réalisation du « partage » ou +responsabilité en cas de restauration). Si la parcelle de l\'UE n\'est +pas connue ou si elle n\'est pas sujette a contrainte légale, il est +possible d\'associer une parcelle virtuelle ou de ne pas renseigner ce +champ. + +### Unité d\'enregistrement + +La notion d\'Unité d\'enregistrement (UE) est à prendre comme un concept +large. Elle se définit comme étant un volume (ou une surface) référencé +dans l\'espace (précisément ou non), associé à des informations +archéologiques et contenant (ou pas) du mobilier. La proue du navire, la +tranchée 3, la structure ST25, l\'US137 ou le quart NE du carré A3 sont +tous des UE valides pour Ishtar. + +Ishtar gère les relations entre UE. Cela permet notamment de définir des +UE emboîtées (par exemple : tranchée \> structure \> US) mais aussi de +gérer les relations stratigraphiques entre US. + +### Mobilier - Traitement + +Un traitement est défini comme une action portée par un responsable sur +du mobilier archéologique dans un lieu donné. Dans ce cadre, un lavage, +une restauration, un prélèvement pour analyse, une radiographie, une +étude, un conditionnement, un prêt pour exposition ou une mise en dépôt +sont tous des traitements (que le gestionnaire de mobilier est libre +d\'enregistrer ou non). + +Un traitement peut mener à ce que plusieurs objets ou lots deviennent un +seul lot ou objet (un remontage par exemple : N à 1), ou à l\'inverse +qu\'un objet suite à un traitement en devienne plusieurs (1 à N). + +Le mobilier tel qu\'habituellement compris se découpe en deux +sous-éléments au sein d\'Ishtar : + +- le mobilier d\'origine ; +- le mobilier (actuel). + +Le mobilier d\'origine comprend les informations invariantes tout au +long de la vie de l\'objet, telle que son contexte de découverte, son +inventeur, etc. Le mobilier actuel (généralement juste appelé +« mobilier » au sein d\'Ishtar) permet de caractériser l\'objet tout au +long de sa vie. + +Le distinguo entre de ces deux notions permet notamment une gestion fine +des traitements simples (destructif ou non) et complexes (tri, +remontage, etc.) avec une connaissance précise de l\'historique de +l\'objet (lieux, responsables et documentations peuvent être associées à +chaque traitement). + +Sur la figure ci-dessous chaque « Fiche mobilier » correspond à un +élément « mobilier actuel » en base de données. Chaque élément et chaque +traitement a une fiche associée. + + + +### Mobilier - Demande de traitement + +La gestion des demandes de traitement au sein d\'Ishtar est prévue pour +permettre d\'archiver les documents liés à toute demande ou préparation +de traitement. Elle permet de générer automatiquement des documents liés +à chaque contexte. + +Par exemple, lors de la réception d\'une demande de prêt de mobilier +pour une expo, créer une demande de traitement dans Ishtar permet +d\'enregistrer la demande, puis de générer automatiquement (selon les +modèles définis sur l\'instance) une réponse de refus ou au contraire +une convention de prêt (à la suite de quoi, une fois la convention +dûment signée, l\'on créera le traitement Prêt associé). + +Lors d\'un besoin de restauration, créer une demande de traitement dans +Ishtar permet de générer une demande de devis, puis éventuellement +d\'archiver les devis reçus, avant de créer le traitement Restauration +avec le prestataire choisi. + +### Contenant + +La notion de Contenant est très générique. En effet, un étage, une +salle, une étagère sont des contenants au même titre qu\'une boîte. +Chaque contenant peut contenir du mobilier ou de la documentation mais +aussi d\'autres contenants. Chaque type de contenant peut être qualifié +de mobile (ex : caisse, boîte, carton, palette) ou immobile (ex : étage, +salle, travée, étagère, vitrine). + +### Document + +Les documents sont gérés de manière transversale et peuvent être +librement associés à un ou plusieurs éléments (opération, site, UE, +traitement, mobilier, etc.) de la base de données. Des méta-données +peuvent être renseignées pour chacun de ces documents et une image et/ou +un fichier peuvent être le cas échéant adjoints. + +Les flux de données +------------------- + +Pour alimenter Ishtar en données, on distingue 3 modes opératoires : + +- l\'import, +- l\'ajout/modification par formulaire, +- la modification par lot. + +Chacun de ces modes offrent avantages et inconvénients qu\'il faut avoir +en tête pour utiliser Ishtar de manière optimale. + +### Import + +#### Mode opératoire + +Cela consiste en l\'import de données dans Ishtar depuis un fichier « +tableur » (format CSV). + +Un « importeur » est utilisé afin d\'extraire les données de ce fichier. + +Cet « importeur » définit plusieurs choses, en particulier : + +- quel est le type de données à importer (des opérations, du mobilier, + de la documentation, etc.) ; +- un ordre de colonne précis ; +- quelles sont les colonnes obligatoires ; +- des formats de données attendus pour chaque colonne ; +- une correspondance entre colonnes et champs de base de données + (sachant que certains champs peuvent être constitués d\'une + concaténation de plusieurs colonnes) ; +- des données par défaut ; +- etc. + +Une fois un fichier d\'import rempli, depuis l\'interface Ishtar, on +procède à l\'import effectif. Celui-ci se déroule en plusieurs phases : + +- création d\'un import (où l\'on spécifie le nom, le type + d\'importeur, le fichier à importer, etc.) ; +- analyse du fichier à importer : Ishtar vérifie la cohérence de base + du fichier et désigne d\'éventuelles entrées à rapprocher ; +- rapprochement entre des entrées du fichier du tableur et des listes + de types fixes d\'Ishtar : une table de correspondance est créée ; +- import effectif des données. + +#### Atouts + +- Ce mode opératoire permet d\'utiliser en amont des outils externes + pour le raffinage des données (exemple : OpenRefine). +- Les rapprochements permettent aussi une mise en correspondance + facilitée des données. +- La personne qui fournit les données n\'a pas besoin de compte sur + Ishtar : l\'import peut être fait par un gestionnaire de données qui + en amont fournit un exemple de fichier ou alors remodèle les données + sources pour correspondre à l\'importeur. +- Dans le cadre d\'intégration de données externes, le fichier + d\'import demeure afin de pouvoir ainsi remonter à la source des + données et conserver l\'historique. + +#### Inconvénients + +- Ce mode opératoire nécessite la création d\'un importeur qui + nécessite une forme d\'expertise sur la base (connaître les champs + obligatoires en création, générer correctement les identifiants + depuis les colonnes, savoir faire correspondre les champs aux noms + en base de données). Des importeurs sont disponibles de base dans + Ishtar ; +- L\'importeur n\'apporte pas de surcouche de contrôle, des données + incohérentes dans le fichier source peuvent déclencher des erreurs + en base de données et donner lieu à des messages d\'erreur parfois + assez peu explicites ; +- Les données importées sont écrites dans la base de données + directement, des données mal saisies dans le tableau importé ou un + mauvais paramétrage d\'importeur peuvent donner lieu à une + destruction de données. + +#### Cas d\'utilisation + +C\'est le mode opératoire à privilégier pour les sources de données +externes à Ishtar que cela soit une reprise d\'une base de données +pré-existante ou une intégration de données d\'autres intervenants. + +En terme de mise à jour, ce mode opératoire peut être pertinent lors de +la mise à jour de masse, notamment lorsque cette mise à jour est +déléguée. En effet, avec un importeur ciblé sur les seules données à +mettre à jour, ce mode peut être très efficace. Le contrôle du fichier +avant import est aisé. + +### Ajout/modification par formulaire + +#### Mode opératoire + +L\'ajout se fait via un enchaînement de formulaire web dans l\'interface +Ishtar. Ces formulaires sont découpés de manière thématique (exemple : +formulaire « Conservation » de « Mobilier ») ou logique (le type +d\'opération est dans le premier formulaire Opération car il conditionne +les formulaires suivants). + +Chaque formulaire peut être personnalisé en ajoutant certains champs +spécifiques (les champs personnalisés) ou en supprimant des champs de +l\'affichage. Ces personnalisations peuvent être faites pour tous ou +simplement pour certains profils d\'utilisateurs. + +#### Atouts + +- Notamment via les formulaires personnalisés, ce mode opératoire peut + être un moyen efficace de saisie, en offrant des formulaires + contextuels. +- De base, ces formulaires présentent tous les champs disponibles, + c\'est la méthode la plus exhaustive. +- Il existe différents facilitateurs de saisie, notamment : + - auto-complétion de la saisie lorsque l\'on chercher à lier à une + commune ou à un autre élément principal d'Ishtar (opérations, + sites archéologiques, unités d'enregistrement, mobilier, dépôts + et contenants) ou dans les listes de vocabulaire contrôlé des + champs avec typologie ; + - filtres vers les éléments pertinents ; par exemple le champ + *Contenant parent* d\'un contenant ne liste que les contenants + du lieu de conservation actuel ; + - aide intelligente à la saisie ; par exemple création automatique + d\'une liste de parcelles depuis un champ texte simple de type + \"2013: XD:1 à 13,24,33 à 39, YD:24\" ou bien conversion à la + volée des dimensions (m vers km, g vers kg, m2 vers ha) pour + vérifier sa saisie de dimensions importantes. + +#### Inconvénients + +- Cette saisie peut être longue et fastidieuse sur des gros volumes. + +#### Cas d\'utilisation + +Ce mode opératoire est particulièrement adapté à de la saisie/correction +unitaire. Elle peut s\'avérer pertinente pour une saisie terrain pour +peu que l\'on dispose de matériel adapté (tablette avec connexion +Internet) et avec éventuellement des formulaires personnalisés afin de +réduire la saisie aux seuls champs pertinents. + +### Modification par lot + +#### Mode opératoire + +Depuis les interfaces tableaux Ishtar, on fait une sélection multiple +des lignes correspondant aux élément à modifier puis un clic sur le +crayon vert permet d\'accéder au formulaire de modification par lot. + +#### Atouts + +- Édition très rapide de champs sur plusieurs éléments. + +#### Inconvénients + +- La facilité et rapidité d\'édition est propice aux erreurs si l\'on + n\'est pas vigilant (un élément supplémentaire est vite + sélectionné). +- Le nombre de champs disponible est limité (il évolue régulièrement + en fonction des demandes des utilisateurs mais cette liste n\'est + pas modifiable directement par les administrateurs fonctionnels, il + faut faire appel aux développeurs). +- Sur les champs multivalués (types de matériau par exemple), on ne + peut actuellement qu\'ajouter une nouvelle valeur, pas remplacer une + valeur existante. + +#### Cas d\'utilisation + +Ce mode opératoire est particulièrement pertinent pour la correction en +masse de données. Cela peut être aussi utile pour des travaux de +pointage. + +Notions avancées +---------------- + +### Données géographiques {#donnees-geographiques} + +Les éléments principaux d'Ishtar (opérations, sites archéologiques, +unités d'enregistrement, mobilier, dépôts et contenants) peuvent être +localisés. Actuellement cette localisation est réalisée par le stockage +de données géographiques (point ou polygone) parmi les champs de +l\'élément concerné. Dans une future version d\'Ishtar, il est envisagé +de créer des éléments distincts de type « Localisation » (qui +correspondrait par exemple à un relevé topographique de terrain) +auxquels les éléments principaux d\'Ishtar pourraient être associés (de +la même manière qu\'un document est un élément distinct, auquel un ou +des éléments parmi opération, site, UE, mobilier, dépôt et contenant +peuvent être associés). + +Un élément localisé dispose des champs suivants (entre parenthèses le +nom du champ en base de données - à utiliser pour les configurations +d\'import) : + +- système de coordonnées géographiques utilisé + ([spatial\_reference\_system]{.title-ref}). Les systèmes de + coordonnées standards sont présents par défaut dans Ishtar mais + d\'autres peuvent être ajoutés en administration. +- coordonnées en x, y et z ([x]{.title-ref}, [y]{.title-ref}, + [z]{.title-ref}). +- erreur estimée en x, y et z ([estimated\_error\_x]{.title-ref}, + [estimated\_error\_y]{.title-ref}, + [estimated\_error\_z]{.title-ref}). +- un champ point 2D ([point\_2d]{.title-ref}) et point 3D + ([point]{.title-ref}). Ce champ est déduit automatiquement des + coordonnées (non visible en interface de saisie). +- un champ polygone ou plus précisément un champ multi-polygone + ([multi\_polygon]{.title-ref}) - par abus de langage polygone est + repris dans la suite de la documentation. Pour l\'instant ce champ + n\'est éditable qu\'en import (mais visible sur les fiches) . +- l\'origine des coordonnées ([point\_source]{.title-ref}) et + l\'origine du polygone ([multi\_polygon\_source]{.title-ref}). Trois + origines sont possibles : + - « précis » (valeur **P** pour *precise*). Les coordonnées ou le + polygone ont été relevés précisément. + - le polygone (valeur **M** pour *multi-polygon*). Ne concerne que + le point : reprend le centroïde du polygone. **Géré + automatiquement par Ishtar** quand le polygone a été défini + précisément et qu\'il n\'y a pas de coordonnées précises + associées. + - la commune (valeur **T** pour *town*). Le point a été déduit du + centroïde de la commune, le polygone reprend celui de la + commune. **Géré automatiquement par Ishtar** quand aucune autre + source n\'est disponible. +- la source des coordonnées ([point\_source\_item]{.title-ref}), du + polygone ([multi\_polygon\_source\_item]{.title-ref}). Quand + l\'élément n\'a pas de coordonnées/de polygone associé, on essaye + d\'associer les coordonnées d\'un élément parent, exemple : sans + coordonnées précises, le mobilier a les coordonnées de son unité + d\'enregistrement qui elle-même hérite des coordonnées de + l\'opération ou du site archéologique associé si elle n\'a pas de + coordonnées propres. Cette mécanique est **gérée automatiquement par + Ishtar**. + +La gestion des données géographiques dans Ishtar est résumée par le +graphe logique suivant pour les coordonnées : + +{.align-center +width="561px"} + +Pour les polygones, la gestion est assez similaire aux coordonnées mais +sans la déduction possible depuis le polygone : + +{.align-center +width="560px"} + +L\'arbre de prise en compte des éléments parents pour les données +géographiques est le suivant : + +{.align-center width="367px"} + +::: {.note} +::: {.title} +Note +::: + +Dans le profil d\'instance, il est possible d\'activer un degré +d\'imprécision. Cela permet de mettre un positionnement approximatif des +éléments sur la fiche au cas où ces fiches seraient consultables par des +tiers non dignes de confiance. Pour ce faire, les coordonnées sont +tronquées (X nombres après la virgule) pour l\'affichage (les données en +base de données restent inchangées). La troncature est opérée sur les +coordonnées en WGS 84 (latitude/longitude). +::: diff --git a/docs/fr/source/_static/annexe-technique-06-01.png b/docs/fr/static/annexe-technique-06-01.png Binary files differindex bc5e0658d..bc5e0658d 100644 --- a/docs/fr/source/_static/annexe-technique-06-01.png +++ b/docs/fr/static/annexe-technique-06-01.png diff --git a/docs/fr/source/_static/annexe-technique-06-02.png b/docs/fr/static/annexe-technique-06-02.png Binary files differindex 911ef87be..911ef87be 100644 --- a/docs/fr/source/_static/annexe-technique-06-02.png +++ b/docs/fr/static/annexe-technique-06-02.png diff --git a/docs/fr/source/_static/annexe-technique-06-03.png b/docs/fr/static/annexe-technique-06-03.png Binary files differindex f04ae54c3..f04ae54c3 100644 --- a/docs/fr/source/_static/annexe-technique-06-03.png +++ b/docs/fr/static/annexe-technique-06-03.png diff --git a/docs/fr/source/_static/annexe-technique-06-04.png b/docs/fr/static/annexe-technique-06-04.png Binary files differindex 1a58ae82f..1a58ae82f 100644 --- a/docs/fr/source/_static/annexe-technique-06-04.png +++ b/docs/fr/static/annexe-technique-06-04.png diff --git a/docs/fr/source/_static/annexe-technique-06-05.png b/docs/fr/static/annexe-technique-06-05.png Binary files differindex 77d9f5ee3..77d9f5ee3 100644 --- a/docs/fr/source/_static/annexe-technique-06-05.png +++ b/docs/fr/static/annexe-technique-06-05.png diff --git a/docs/fr/source/_static/annexe-technique-06-06.png b/docs/fr/static/annexe-technique-06-06.png Binary files differindex b3b01780c..b3b01780c 100644 --- a/docs/fr/source/_static/annexe-technique-06-06.png +++ b/docs/fr/static/annexe-technique-06-06.png diff --git a/docs/fr/source/_static/annexe-technique-06-07.png b/docs/fr/static/annexe-technique-06-07.png Binary files differindex d0a93a87e..d0a93a87e 100644 --- a/docs/fr/source/_static/annexe-technique-06-07.png +++ b/docs/fr/static/annexe-technique-06-07.png diff --git a/docs/fr/source/_static/annexe-technique-06-08.png b/docs/fr/static/annexe-technique-06-08.png Binary files differindex ac21a20c2..ac21a20c2 100644 --- a/docs/fr/source/_static/annexe-technique-06-08.png +++ b/docs/fr/static/annexe-technique-06-08.png diff --git a/docs/fr/source/_static/annexe-technique-06-09.png b/docs/fr/static/annexe-technique-06-09.png Binary files differindex a785c3478..a785c3478 100644 --- a/docs/fr/source/_static/annexe-technique-06-09.png +++ b/docs/fr/static/annexe-technique-06-09.png diff --git a/docs/fr/source/_static/annexe-technique-06-10.png b/docs/fr/static/annexe-technique-06-10.png Binary files differindex 8d4c35a2c..8d4c35a2c 100644 --- a/docs/fr/source/_static/annexe-technique-06-10.png +++ b/docs/fr/static/annexe-technique-06-10.png diff --git a/docs/fr/source/_static/annexe-technique-06-11.png b/docs/fr/static/annexe-technique-06-11.png Binary files differindex 922506998..922506998 100644 --- a/docs/fr/source/_static/annexe-technique-06-11.png +++ b/docs/fr/static/annexe-technique-06-11.png diff --git a/docs/fr/source/_static/annexe-technique-06-12.png b/docs/fr/static/annexe-technique-06-12.png Binary files differindex 500090ed0..500090ed0 100644 --- a/docs/fr/source/_static/annexe-technique-06-12.png +++ b/docs/fr/static/annexe-technique-06-12.png diff --git a/docs/fr/source/_static/annexe-technique-1-export-qgis.png b/docs/fr/static/annexe-technique-1-export-qgis.png Binary files differindex 2bea47376..2bea47376 100644 --- a/docs/fr/source/_static/annexe-technique-1-export-qgis.png +++ b/docs/fr/static/annexe-technique-1-export-qgis.png diff --git a/docs/fr/source/_static/geo-parents.png b/docs/fr/static/geo-parents.png Binary files differindex 6ab39592a..6ab39592a 100644 --- a/docs/fr/source/_static/geo-parents.png +++ b/docs/fr/static/geo-parents.png diff --git a/docs/fr/source/_static/geo-source-point.png b/docs/fr/static/geo-source-point.png Binary files differindex eadfe3a48..eadfe3a48 100644 --- a/docs/fr/source/_static/geo-source-point.png +++ b/docs/fr/static/geo-source-point.png diff --git a/docs/fr/source/_static/geo-source-polygon.png b/docs/fr/static/geo-source-polygon.png Binary files differindex da8762bda..da8762bda 100644 --- a/docs/fr/source/_static/geo-source-polygon.png +++ b/docs/fr/static/geo-source-polygon.png diff --git a/docs/fr/source/_static/graphique_structure_ishtar.png b/docs/fr/static/graphique_structure_ishtar.png Binary files differindex 9d87ff769..9d87ff769 100644 --- a/docs/fr/source/_static/graphique_structure_ishtar.png +++ b/docs/fr/static/graphique_structure_ishtar.png diff --git a/docs/fr/source/_static/interface-generale.png b/docs/fr/static/interface-generale.png Binary files differindex fb054a075..fb054a075 100644 --- a/docs/fr/source/_static/interface-generale.png +++ b/docs/fr/static/interface-generale.png diff --git a/docs/fr/source/_static/ishtar-coins.png b/docs/fr/static/ishtar-coins.png Binary files differindex fcf903f0b..fcf903f0b 100644 --- a/docs/fr/source/_static/ishtar-coins.png +++ b/docs/fr/static/ishtar-coins.png diff --git a/docs/fr/source/_static/ishtar-dublincore.png b/docs/fr/static/ishtar-dublincore.png Binary files differindex 299a41757..299a41757 100644 --- a/docs/fr/source/_static/ishtar-dublincore.png +++ b/docs/fr/static/ishtar-dublincore.png diff --git a/docs/fr/source/_static/traitement.png b/docs/fr/static/traitement.png Binary files differindex bd4d1e225..bd4d1e225 100644 --- a/docs/fr/source/_static/traitement.png +++ b/docs/fr/static/traitement.png diff --git a/docs/fr/source/_templates/annexe-tech-3-variables-gen.jinja b/docs/fr/templates/annexe-tech-3-variables-gen.jinja index 667b4bd2c..667b4bd2c 100644 --- a/docs/fr/source/_templates/annexe-tech-3-variables-gen.jinja +++ b/docs/fr/templates/annexe-tech-3-variables-gen.jinja diff --git a/docs/fr/utilisateur.md b/docs/fr/utilisateur.md new file mode 100644 index 000000000..f03207f01 --- /dev/null +++ b/docs/fr/utilisateur.md @@ -0,0 +1,479 @@ +Utilisateur +=========== + +Auteur + +: Étienne Loks + +Date + +: 2018-10-02 + +Copyright + +: CC-BY 3.0 + +------------------------------------------------------------------------ + +Interface générale +------------------ + +L\'interface générale se découpe en 4 zones : + +1. zone de profil +2. menu d\'actions +3. zone centrale +4. zone d\'alerte et de sélection épinglée + + + +La capture d\'écran ci-dessous reprend l\'interface « bureau ». +L\'interface mobile reprend les mêmes éléments dans une version compacte +: la zone de profil est accessible via l\'icône « hamburger » à droite, +le menu d\'action est repris en haut en position centrale. + +### Zone de profil + +La zone de profil reprend, dans l\'ordre : + +- le nom de l\'instance Ishtar (ici « Démo »), +- le nom de l\'utilisateur et le nom du profil en cours + d\'utilisation - en cliquant sur ces noms, on accède à un sous-menu + permettant de modifier son profil, changer son mot de passe et se + déconnecter, +- si plusieurs langues sont disponibles, une icône « drapeau » qui + permet de changer la langue, +- si on a les droits administrateur, une icône « engrenage » qui + permet à accéder aux pages spécifiques d\'administration (cf. + documentation administrateur). + +### Menu d\'actions + +Ce menu reprend les différentes pages disponibles en fonction des droits +dont dispose l\'utilisateur et des modules activés dans Ishtar. Visible +à tout moment il permet visuellement d\'identifier immédiatement le +contexte. Ce menu est organisé de manière hiérarchique : + +- le premier niveau reprend les éléments généraux : « Opération », + « Unité d\'Enregistrement », « Mobilier », etc. ainsi que des + sections génériques telles que « Imports » ou « Annuaire ». +- le second niveau fournit le détail des actions disponibles en + fonction du premier niveau sélectionné. Classiquement pour les + éléments généraux (si l\'on dispose des droits adéquats), il y des + actions de « Recherche », « Ajout », « Modification » et + « Suppression ». Si des sous-élements sont disponibles (par exemple, + les « Contenants » dans le menu « Lieu de conservation »), ils sont + accessibles après ces actions de base. +- le troisième niveau rend disponible les actions des sous-éléments. + +La sélection d\'un élément du premier niveau charge automatiquement la +page de la première action du second niveau. De même la sélection d\'un +sous-menu dans le second niveau charge automatiquement la première +action du troisième niveau correspondant. + +### Zone centrale + +La zone centrale est totalement contextuelle. Néanmoins si certaines +pages d\'action ont une logique particulière, la plupart des pages +d\'action sur les éléments généraux s\'ouvrent sur une +« `page de recherche <page-de-recherche>`{.interpreted-text +role="ref"} » et les actions d\'ajout, modification et suppression +suivent ensuite une logique de +« `page d'assistant logiciel <wizard>`{.interpreted-text role="ref"} » +(ou wizard). Le détail de ces pages est décrit dans les sections +suivantes de cette documentation. + +### Zone d\'alerte et de sélection épinglée + +Cette zone reprend les éventuelles alertes (cf. +`Page de recherche > Marques-pages et alertes <bookmarks>`{.interpreted-text +role="ref"}), mise en place par l\'utilisateur ainsi que (si +l\'affichage de ceux-ci est activé) les éléments actuellement épinglés +(cf. +`Utilisation avancée > Éléments épinglés <pinned>`{.interpreted-text +role="ref"}). + +Page de recherche +----------------- + +La page de recherche comporte une barre de recherche et d\'un tableau de +résultat. + +### Recherche textuelle et par critères + +La barre de recherche est composée d\'une zone de saisie et d\'une série +d\'icônes d\'outils de recherche. Dans l\'ordre ces icônes permettent de +: + +- icône « loupe » : lancer la recherche, +- icône « engrenage » : accéder à la recherche par critère, +- icône « croix » : vider la zone de recherche, +- icône « épingle » : épingler la recherche actuelle pour qu\'elle + devienne la recherche par défaut pour cette session, +- icône « étoile » : enregistrer une alerte, un marque-page, +- icône « marque-page » : accéder aux marques-pages (les supprimer). + +Lorsque aucune recherche n\'est active par défaut et que la zone de +saisie est vide tous les éléments de la base de données sont listés. + +La zone de recherche permet deux types de recherches distinctes : une +recherche libre (sur l\'ensemble des champs indexés) et une recherche +par critère (champ par champ, pour l\'ensemble des champs de la base). + +#### Recherche libre + +Chaque élément de la base de données est indexé afin de pouvoir +permettre ce type de recherche de manière performante. Les propriétés et +descriptions rattachées aux éléments sont indexées. De même chaque +élément parent est compris dans l\'index de l\'élément enfant. + +Plus précisément : + +- l\'index de recherche d\'une opération comprend les propriétés des + sites(entités) archéologiques lié(e)s ; +- l\'index de recherche d\'un(e) site(entité) archéologique comprend + les propriétés des opérations liées ; +- l\'index de recherche d\'une Unité d\'Enregistrement comprend les + propriétés des opérations et des sites(entités) archéologiques + lié(e)s ; +- l\'index de recherche du mobilier comprend les propriétés des + opérations, des sites(entités) archéologiques et des Unités + d\'Enregistrement lié(e)s. + +En revanche tous les champs de la base ne sont pas indexés, ceci afin +que les résultats restent cohérents. + +Les index de recherche permettent de faire des recherches en +s\'affranchissant des pluriels et de la casse. + +**Exemple** : des recherches sur les termes « AMPHORE », « AMPHORES » et +« amphores » renverront bien tous les éléments concernant des amphores. + +::: {.note} +::: {.title} +Note +::: + +Par choix de ne pas intégrer des résultats trop éloignés de la recherche +initiale, les fautes de frappe et d\'orthographe ne sont pas prises en +charge. Les recherches par orthographe approximative sont plus adaptées +à des interfaces grand public qu\'à des bases de données métier. +Concrètement lorsque l\'on cherche avec le terme « amphore », les +résultats deviennent peu pertinents si par exemple nous sont renvoyés +des éléments évoquant un « phare » dans sa description. En revanche la +recherche libre comprend tout terme de recherche avec le sens « Commence +par ». Ainsi une recherche sur `amp` renverra autant les amphore que les +ampoules. +::: + +Adjoindre plusieurs termes correspond à faire une recherche avec +l\'opérateur logique *ET*. + +**Exemple** : une recherche avec le terme « `amphore dressel 1B` » +retournera tous les éléments concernant des amphores Dressel de type 1B. + +Préfixer un terme par un « moins » : « `-` » permet d\'exclure des +termes de notre recherche. + +**Exemple** : une recherche avec « `ancre -amphore` » permet d\'obtenir +la liste des ancres en excluant les lots de mobilier comprenant des +amphores. + +#### Recherche par critère + +En cliquant sur l\'icône engrenage, on accède à un formulaire permettant +de construire simplement sa recherche par critère. Le formulaire de +construction de requête dépend bien entendu du type d\'élément +recherché. Par ailleurs comme les autres formulaires ce formulaire peut +avoir été personnalisé sur votre installation Ishtar, permettant de +cacher certains champs inutiles ou ajouter d\'autres champs +personnalisés. + +Après sélection d\'une ou plusieurs contraintes dans le formulaire, en +cliquant sur Ajouter, on les ajoute de manière textuelle sous la forme : +« `attribut="valeur"` ». Cette forme permet de facilement retoucher une +requête de manière textuelle sans passer par le formulaire. + +**Exemple** : « `annee="2018"` » recherchera les éléments de l\'année +2018. + +::: {.note} +::: {.title} +Note +::: + +Dans la recherche par critère, le moteur recherche exactement la valeur +entrée. Si l\'on souhaite faire une recherche ouverte du type « contient +la valeur », il faut ajouter un astérisque `*` à la valeur. +::: + +**Exemple** : « `denomination="éclat"` » retournera uniquement les +éléments dont la dénomination est exactement Éclat, tandis que +« `denomination="éclat*"` » renverra tous les éléments dont la +dénomination contient le mot éclat, donc par exemple Lots d\'éclats, +éclat retouché, etc. De la même manière pour les nombres, +« `patriarche="1012"` » donnera uniquement l\'OA1012, alors que +`patriarche="1012*"` renverra toutes les OA contenant les chiffres 1012, +donc par exemple 101201 ou 1010125. + +::: {.warning} +::: {.title} +Warning +::: + +Contrairement à la recherche libre, la juxtaposition des termes +concernant un même attribut est comprise comme un opérateur *OU*. Ainsi +« `annee="2018" annee="2017"` » listera les éléments de l\'année 2017 ou +2018. Néanmoins pour les attributs différents, cela reste à comprendre +comme un opérateur *ET*. Ainsi +« `annee="2018" annee="2017" type-objet="Ancre et corps-mort"` » listera +le mobilier avec un type d\'objet « Ancre et corps-mort » et rattaché à +une des années 2017 ou 2018. +::: + +### Marques-pages et alertes {#bookmarks} + +Les marques-pages permettent de stocker une recherche pour la retrouver +plus aisément plus tard. Ceux-ci sont alors directement disponibles +depuis le menu qui s\'ouvre lorsque l\'on clique sur l\'icône +marque-page de la barre de recherche. + +Techniquement le contenu d\'un marque-page correspond à la chaîne de +texte utilisé dans la zone de recherche. Ainsi (contrairement aux +`paniers <basket>`{.interpreted-text role="ref"}) c\'est la requête qui +est stockée et donc la liste d\'éléments est à même de varier au cours +du temps. + +On peut stocker indifféremment des requêtes en recherche libre ou en +recherche par critère. + +Une alerte est un marque-page mis en évidence : il est toujours +disponible en haut à gauche de l\'interface (à gauche de la zone 4 sur +l\'image de l\'interface générale) avec un badge contenant le nombre +d\'éléments contenu. En cliquant sur cette alerte, on accède directement +au tableau de cette recherche. + +### Tableaux + +Les tableaux se présentent de la même manière que les tableaux web +« classiques » avec possibilité d\'afficher plus ou moins de lignes de +tableaux (entre 10 et 100), possibilité de tri par colonne et une +pagination. + +Dans Ishtar, la première colonne est systématiquement une icône +permettant d\'accéder à la `fiche <sheet>`{.interpreted-text role="ref"} +associé à l\'élément de cette ligne du tableau. + +En tant qu\'administrateur, sur certains tableaux, des actions rapides +en haut à droite permettant des actions sur les éléments actuellement +sélectionnés. + +En bas du tableau, sur la gauche un bouton permet d\'afficher le tableau +en pleine page pour une meilleure lisibilité. + +À la suite de ce bouton différents boutons d\'export en CSV du tableau +courant sont disponibles. Ces exports peuvent être configurés en +administration. + +### Fiches {#sheet} + +En s\'ouvrant, les fiches se placent au-dessus de la page courante +(généralement au dessus d\'un tableau). + +#### Entête + +Une fiche se compose tout d\'abord d\'une entête. Cette entête est +composée de : + +- un titre : ce titre reprend la dénomination précise de l\'élément. + En cliquant sur ce titre, la fiche se replie. +- de flèches de navigations (si pertinent) : dans le cadre d\'une + fiche ouverte depuis un tableau, ces flèches permettent de naviguer + entre éléments du tableau. Il n\'est possible pour l\'instant que de + naviguer parmi les éléments actuellement affichés dans le tableau. +- d\'une flèche de fermeture de la fiche. + +#### Barre d\'outil + +Juste en dessous de l\'entête une barre d\'outil est présente. + +Tout à gauche, lorsque plusieurs versions d\'une même fiche sont +disponibles, il est possible de naviguer parmi les différentes versions +de cette fiche. + +Ensuite sur la droite, différentes actions sont disponibles. Ces actions +dépendent du type d\'élément sélectionné. Généralement on y trouve : + +- une icône « épingle » : elle permet d\'épingler l\'élément de la + fiche (cf. `épinglage <pinned>`{.interpreted-text role="ref"}). +- une icône « crayon » : si l\'on dispose des droits adéquats, elle + permet d\'éditer cette fiche. On accède au premier volet des pages + d\'assistants dédié à l\'édition de ce type d\'élément. +- des icônes « + » : ces icônes permettent d\'associer facilement un + type particulier d\'élément à l\'élément de la fiche courante. Par + exemple « + doc./image » permet d\'associer un document/une image à + l\'élément de la fiche. +- un menu « exporter » : les éléments de ce menu permettent un export + dans différement format de la fiche actuelle. + +#### Contenu de la fiche + +Les fiches présentent globalement les informations relatives à un +élément. + +Lorsque ces informations sont en relations avec d\'autres éléments qui +disposent eux aussi des fiches une icône « i » d\'information est +affiché à côté permettant ainsi de sauter de fiche en fiche. + +#### Navigation entre fiches + +Un rappel des fiches ouvertes est disponible sur la droite. En cliquant +sur un élément de cette liste, la page scrolle jusque la fiche +correspondante. + +Page d\'assistant logiciel (wizard) {#wizard} +----------------------------------- + +Dans Ishtar, pour la plupart des éléments complexes, les pages +d\'édition se présentent sous la forme d\'« assistant logiciel ». Un +assistant logiciel, découpe la saisie en plusieurs pages. Ces pages +permettent une structuration logique de l\'information. Ainsi en +fonction des modules activés et des informations renseignées le contenu +et l\'affichage des panneaux est dynamique. + +**Exemple** : les panneaux disponibles lors de la saisie d\'une +opération préventive, d\'une opération programmée, d\'une saisie +judiciaire, les panneaux affichés sont différents. + +Les panneaux enchaînent les formulaires jusqu\'au dernier panneau de +récapitulatif qui demandera confirmation des changements opérés. Tant +que la validation finale n\'est pas faite aucune donnée n\'est +enregistrée en base de données. + +Jusqu\'à la validation finale, les données de formulaire sont +enregistrées dans la session de l\'utilisateur. L\'utilisateur peut tout +à fait avoir plusieurs saisies d\'éléments de nature différente en +parallèle. Attention à la déconnexion ou à expiration de la session ces +données de formulaires sont effacées. + +### Fil d\'Ariane + +Tout en haut des pages d\'assistant logiciel, un fil d\'Ariane est +affiché. Celui-ci permet de naviguer rapidement entre les différents +panneaux. En modification la navigation est libre. En saisie, certains +panneaux requérant des informations obligatoires ne peuvent pas être +passés : le fil d\'Ariane s\'adapte automatiquement et affiche les +étapes jusqu\'au prochain panneau obligatoire. + +### Tableau / Zone de formulaire + +En saisie, en général, deux types de panneau sont disponibles : un type +« tableau » et un type « zone de formulaire ». + +Les types de page « tableau » permettent de sélectionner un élément tout +en profitant des possibilités de recherche, filtre, tri évoqués +précédemment. Ces types de pages permettent de sélectionner l\'élément +que l\'on souhaite modifier ou l\'élément parent de l\'élément que l\'on +souhaite créer. + +Les types de page « zone de formulaire » sont des formulaires web +classiques. Ils offrent quelques facilitées tel que la saisie de dates +en cliquant dans un calendrier, des conversions d\'unités dynamiques, +etc. Certains contrôles de formulaire sont réalisés de manière dynamique +(par exemple une saisie textuelle dans un champ qui attend un chiffre), +d\'autres sont réalisés après envoi au serveur (par exemple, utilisation +d\'un index déjà utilisé par ailleurs). + +### Zone de validation + +La zone de validation se situe tout en bas de la page. Les boutons +« Valider » et « Annuler » sont toujours disponibles. + +« Valider » permet de valider le panneau en cours et de passer au +panneau suivant. Si c\'est le dernier panneau, le panneau de +récapitulatif, la création/modification/suppression est validée. En +création/modification, l\'utilisateur est redirigé vers la fiche de +l\'élément qui vient d\'être créé/modifié. + +« Annuler » permet d\'annuler toute la saisie en cours : les données de +session seront effacées. + +« Valider et confirmer » (qui s\'insère entre « Valider » et +« Annuler ») permet de valider le panneau actuel et d\'aller directement +au panneau récapitulatif. + +Utilisation avancée +------------------- + +### Paniers {#basket} + +Les paniers sont un autre type de sélection d\'éléments. Contrairement +aux marques-pages, ils concernent une liste d\'éléments fixe. + +Pour effectuer certaines actions, il est nécessaire de préalablement +constituer un panier (notamment pour ce qui concerne les traitements). + +Ce regroupement virtuel peut être aussi un outil de travail, par exemple +en constituant une liste d\'éléments « à traiter ». Un marque-page +(voire une alerte) pouvant être faite sur le contenu d\'un panier, cela +permet de conserver sous la main cette sélection d\'éléments. + +Pour l\'heure les paniers ne concernent que le mobilier. + +### Éléments épinglés {#pinned} + +Les éléments épinglés constituent les éléments « par défaut » en terme +de recherche. L\'épinglage d\'élément est un outil de travail permettant +de travailler dans un contexte de travail donné. + +**Exemple** : je souhaite travailler sur le mobilier d\'une opération +précise. En épinglant cette opération, par défaut, toutes les recherches +de mobilier se feront sur cette opération. + +L\'épinglage est disponible directement dans la barre d\'outil des +fiches. L\'épinglage est aussi disponible au niveau de la barre de +recherche (cette recherche épinglée ne concerne que le tableau +d\'éléments en cours sans gestion hiérarchique). Si celui-ci est activé +dans son profil, l\'épinglage est aussi disponible dans le menu de +gestion des sélections épinglées (à droite de la zone 4 sur l\'image de +l\'interface générale). Si on a activé cette option dans son profil, un +élément créé ou modifié est automatiquement épinglé. + +Une gestion hiérarchique des épingles est faite : le fait d\'épingler un +élément épingle automatiquement ses parents directs. + +**Exemple** : le fait d\'épingler un mobilier épingle automatiquement +l\'Unité d\'Enregistrement et l\'opération archéologique associée à ce +mobilier. + +#### Menu de gestion des sélections épinglées + +Ce menu n\'est visible que s\'il est activé dans son profil. Il propose +de sélectionner les éléments que l\'on souhaite épingler. Différentes +versions de ce menu sont disponibles : + +- « simple » : des menus déroulants permettent d\'épingler les + éléments qui sont directement rattachés à notre compte utilisateur + (en particulier les éléments que l\'on a créé) ; +- « avancé - mes éléments » : on épingle ici seulement les éléments + rattachés à notre compte utilisateur mais avec des champs + fonctionnant en autocomplétion ; +- « avancé - tous les éléments » : on peut épingler tous les éléments + avec des champs en autocomplétion. + +Sur chaque menu, il est possible d\'accéder aux fiches des différents +éléments épinglés (icône « i ») et de détacher l\'épingle sur ces +éléments (croix rouge). + +### Action rapide + +Pour les administrateurs, des actions rapides sont directement +accessibles depuis les tableaux. Ces actions se situent en haut à droite +du tableau. Elles concernent les éléments actuellement sélectionnés dans +le tableau. Les icônes d\'action rapide ne sont actives que lorsque cela +est pertinent : si une action n\'est applicable qu\'à un seul élément, +en sélectionner aucun ou plusieurs désactive l\'icône de l\'action en +question. + +Ces actions rapides permettent notamment de faire de l\'édition de +groupe, de l\'empaquetage, etc. |