Cas d’usage n° 6 : Créer des ressources à partir de Nakala

Prérequis : - Données Nakala au format Image - Module CSV Import

Nakala est un entrepôt de données spécialisé en SHS et géré par l’IR* Huma-Num. Il permet de constituer des collections qui regroupent des données. Ces données, décrites par des métadonnées, peuvent elles-mêmes être constituées de un ou plusieurs fichiers (des images aux formats TIFF, JPG, des PDF, des fichiers tabulés ou encodés, etc.). Une fois publiées, ces données se voient attribuer un identifiant pérenne DOI et ne sont plus supprimables (mais versionnables).

L’entrepôt Nakala intègre un serveur IIIF Cantaloupe qui repose sur l’API Image, comme détaillé dans le Cas d’usage n° 7. Seule cette API Image est disponible, et il n’exite pas de services complémentaires à l’heure actuelle pour la génération automatique de manifestes. Les fichiers images peuvent donc être appelés un à un, mais ne sont pas accessibles comme une unité documentaire réunissant plusieurs fichiers, accompagnés de leurs métadonnées, et interrogeables via un manifeste IIIF Présentation.

Seuls les fichiers dont les types MIME correspondent à des formats d’images seront servis via le protocole IIIF : image/jpeg, image/tiff, image/png, image/jp2. Le type application/pdf ne renverra au mieux que la première page du document. Voir à ce sujet Formats d’image et processeurs d’images.

Récupération des métadonnées et création de l’item Omeka

Si vous souhaitez intégrer à votre bibliothèque numérique Omeka un ensemble de fichiers publiés sur Nakala, il faut préalablement créer un item pour lui associer des médias.

Si besoin, les métadonnées documentaires d’une collection ou d’une donnée Nakala peuvent être consultées et exporter selon deux méthodes: - en moissonnant l’entrepôt OAI-PMH de Nakala, dans lequel les métadonnées sont structurées en XML. :::info :::spoiler Exemples de requêtes OAI-PMH Pour une collection: https://api.nakala.fr/oai2?verb=ListRecords&metadataPrefix=qdc&set={identifiant de la collection} Pour une donnée: https://api.nakala.fr/oai2?verb=GetRecord&metadataPrefix=oai_dc&identifier=oai:nakala.fr:doi_{identifiant de la donnée}

  • en requetant l’API REST de Nakala, où les métadonnées sont exposées en JSON et en XML. :::info :::spoiler Exemples de requêtes API Pour les métadonnées d’une collection: https://api.nakala.fr/collections/{identifiant de la collection}/metadatas Pour les métadonnées d’une donnée: https://api.nakala.fr/datas/{identifiant nakala de la donnée}/metadatas

Une fois les métadonnées récupérées, elles peuvent être retravaillées, converties aux formats CSV ou TSV, et importées grâce aux modules Bulk Import (Import en lot) ou CSV Import pour enrichir l’item. Il est alors possible de lui associer des médias.

Appeler les fichiers Nakala par leurs manifestes Image IIIF

Les fichiers images peuvent être manipulés et appelés individuellement grâce à l’API Image du serveur Cantaloupe de Nakala, qui fera office de serveur IIIF externe à la biblibliothèque numérique Omeka, comme expliqué précement (voir API Image IIIF). Ils peuvent donc être intégrés au niveau du média Omeka grâce au widget d’integration natif Image IIIF (voir Média Image IIIF) pour être associés à un item.

Créer l’URL d’un manifeste Image IIIF pour un fichier unique

L’URL Nakala d’accès au manifeste Image IIIF d’un fichier est constitué ainsi https://api.nakala.fr/iiif/{identifiant de la donnée}/{identifiant du fichier}/info.json. Le préfixe /info.json indique bien le fichier JSON du manifeste Image IIIF, sans lui, on peut accéder directement au fichier original.

La documentation de l’API Nakala peut aider à construire l’URL du manifeste IIIF, et à transformer l’image le cas échant. - Requête GET /iiif/{identifier}/{fileIdentifier}/info.json - Requête GET /iiif/{identifier}/{fileIdentifier}/{region}/{size}/{rotation}/{quality}.{format}

Ces deux identifiants, de la donnée d’une part, et du fichier d’autre part, sont accessibles directement depuis la page du document: - le DOI de la donnée se trouve sous le titre de la donnée (ou dans son URL); - l’identifiant du fichier, associé à celui de la donnée, est accessible sous la visionneuse.

Une fois construite, cette URL peut être collée dans l’ingéreur Image IIIF pour ajouter un média à votre item.

Attention, si vous souhaitez importer l’image modifiée grâce le protocole IIIF (sélection d’une région, d’une taille, d’une rotation, d’un contraste, etc.) il s’agira alors d’un fichier image, et il faudra donc passer par l’ingéreur URL.

Créer les URL des manifestes Image IIIF pour l’ensemble des fichiers d’une donnée

Si vous souhaitez appeler plusieurs fichiers liés à une donnée, privilégiez le traitement en masse des urls grâce à OpenRefine.

  • Récupérez la liste des fichiers via l’API REST de Nakala grâce à la requête: https://api.nakala.fr/datas/{identifiant de la donnée}/files

  • Entrez cette URL comme source de votre nouveau projet sur Openrefine Adresse web (URLs):

  • Sélectionnez le niveau de division des données du fichier JSON:

  • La colonne _ - sha1 contient l’identifiant du fichier: créez une nouvelle colonne à partir de celle-ci pour générer l’URL du manifeste Image IIIF avec l’expression suivante (n’oubliez pas les guillemets!): 'https://api.nakala.fr/iiif/{identifiant de la donnée}/'+value+'/info.json'

  • Ajoutez une colonne pour indiquer à chaque ligne l’identifiant Omeka o:id de l’item auquel vous souhaitez associer ces médias ; ajoutez également les métadonnées de chaque fichier si necessaire (générez un identifiant ainsi qu’un lien source vers Nakala, par exemple) ; supprimez les colonnes inutiles.

  • Exportez le résultat au format CSV depuis OpenRefine, et importez-le dans votre bibliothèque numérique Omeka: précisez bien que la source de chaque média est l’ingéreur est Image IIIF pour la colonne concernée. Pour plus de détails, consultez intégration d’URL d’images IIIF au format JSON.