Package: niiif-niiif
La librairie niiif-niiif crée et publie le manifeste IIIF des fichiers JPEG et TIFF d'une donnée Nakala.Nakalaest un service de la TGIR (Très Grande Infrastructure de Recherche) Huma-Num permettant à des chercheurs, enseignants-chercheurs et équipes de recherche de partager, publier et valoriser tous types de données numériques documentées (fichiers textes, sons, images, vidéos, objets 3D, etc.) dans un entrepôt sécurisé afin de les publier en accord avec les principes du FAIR data (Facile à trouver, Accessible, Interopérable et Réutilisable).Les images déposées sur Nakala sont accessiblesà travers une APIcompatible avecIIIF Image API 3.0mais Huma-Num ne propose pas de service de création de manifestes, ces fichiers JSON qui permettent la lecture des images par desvisionneuses compatibles avec le protocole IIIF.La librarie Python niiif-niiif propose donc de palier temporairement à ce manque.Plus précisément, niiif-niiif :Vérifie si la donnée Nakala dont l'identifiant lui est donné en paramètre existe. Le cas échéant,Supprime s'il existe l'ancien fichier metadata.json des fichiers de la donnée,Crée un manifeste IIIF à partir des fichiers JPEG ou TIFF de la donnée Nakala,Ajoute à la donnée Nakala le fichier metadata.json contenant le manifeste.Vous pouvez ensuite copier l'URL de téléchargement du fichier metadata.json et la transmettre à une visionneuse IIIF
(ex.Mirador).L'URL d'un fichier déposé sur Nakala est unique. L'URL du manifeste d'une donnée changera donc à chaque fois que vous le créerez avec niiif-niiif. Pensez à soumettre cette nouvelle URL à la visionneuse.Le serveur d'image IIIFCantaloupeutilisé par Nakala n'étant compatible qu'avec IIIF Image API 3.0, niiif-niiif génère depuis
sa version 0.2.0 des manifestes conformes àIIIF Presentation API 3.0.Depuis la version 0.2.0, il est possible de préciser en paramètre si le document doit-être affiché de manière paginée (voir la propriétébehaviorde IIIF Presentation API 3.0).Les manifestes de niiif-niiif ont été testés avec les visionneuses IIIF suivantes :UniversalViewer v3.0: Il y a unbug d'affichagedes vignettes de manifestes API Presentation 3.0 avec UV 3.x.UniversalViewer v4.0: Il y a unbug d'affichagedes vignettes de manifestes API Presentation 3.0 avec UV 4.x.TIFY: Problème d'affichageMirador: OKInstallationPour utiliser le script, utilisez de préférence un gestionnaire d'environnement Python tel queMiniconda.# Vous pouvez définir le nom de l'environnement Python à votre convenance avec le paramètre -n.condacreate-nniiif-niiifpython=3.8# Activez l'environnementcondaactivateniiif-niiif# Installez la librairie niiifpipinstallniiif-niiifUtilisationLe script a besoin pour fonctionner des clés d'API d'un compte utilisateur Nakala ayant des droits d'écriture sur
la donnée Nakala pour laquelle vous souhaitez créer un manifeste. Cette clé d'API est à créer et à copier
depuis le profil du compte Nakala.En ligne de commande# Activez l'environnement (si ce n'est pas déjà fait)condaactivateniiif-niiif# Pour afficher les arguments du scriptpython-mniiif-h# Pour créer le manifeste de la donnée Nakala dont l'ID = 10.34847/nkl.12121212 avec un affichage paginé dans la visioneuse IIIF de votre choix (le paramètre -behavior est optionnel)python-mniiif-apikey12345678-12345678-1234578-12345678-dataid10.34847/nkl.12121212-behaviorpagedDans un script PythonLa fonctioncreate_data_manifest_if_data_exists(apiKey, dataIdentifier)peut être importée depuis un script Python.# Activez l'environnement (si ce n'est pas déjà fait)condaactivateniiif-niiif# Lancez pythonpython
>>>fromniiifimportcreate_data_manifest_if_data_exists
>>>create_data_manifest_if_data_exists(apiKey='12345678-12345678-1234578-12345678',dataIdentifier='10.34847/nkl.12121212')