-
Notifications
You must be signed in to change notification settings - Fork 4
API IIIF
L'API IIIF (pour International Image Interoperability Framework) est une API standardisée par le consortium IIIF ayant comme objectif de permettre la manipulation homogène d'images indépendamment de leurs localisations physiques et des établissements qui les hébergent.
Il s'agit de définir, pour des grands entrepôts de documents numériques des interfaces permettant l'interopérabilité de leurs images (manuscrits, photographies, estampes, pages de livre, etc. etc.) en fournissant des métadonnées sur ces documents et des verbes de manipulation des images.
La Bibliothèque nationale de France, en tant que participant à cette communauté IIIF, propose l'accès à l'intégralité des images qui composent sa bibliothèque numérique Gallica, ce qui représente plus de 3,5 millions de documents et plus de 100 millions d'images.
L'API IIIF contient plusieurs ensembles de spécifications :
- L'API Image
- L'API Présentation
- L'API de recherche
- L'API d'authentification (draft)
La documentation complète de l'API est présentée sur le site du consortium : http://iiif.io Les restrictions à la BnF sont les suivantes :
- L'API Image (actuellement en version 2.1 de la spécification) - API implémentée en version 2.0 à la BnF
- L'API Présentation (actuellement en version 2.1 de la spécification) - API implémentée en version 2.0 à la BnF
- L'API de recherche (actuellement en version 1.0 de la spécification) - API non implémentée à la BnF
L'API images est une API Restfull. Pour l'utiliser, il est nécessaire d'utiliser la syntaxe d'accès suivante :
{scheme}://{server}{/prefix}/{identifier}/{region}/{size}/{rotation}/{quality}.{format} .
- Le
schemeest le protocole utilisé ("http" à la BnF) - Le
servercorrespond au nom de l'hôte ("gallica" à la BnF) - Le
prefixà la localisation du service ("iiif" à la BnF) - L'
identifierest l'identifiant ark du document ou d'une page du document (par exemple ark:/12148/btv1b7711259g) - La
regionest la zone sélectionnée (rectangle) dans l'image source (par exemple "3976,3143,870,618" pour un rectangle de 870 pixels de largeur, pour 618 de hauteur et ayant comme coordonnées, en pixels 3976 et 3143. - La
sizeest la taille de l'image générée en pixels - La
rotationcorrespond à un angle de rotation pour l'image cible (en degrés, par exemple "90") - La
qualitycorrespond à une transformation possible de l'image (par exemple "native" pour le même format que l'original niveaux de gris, noir et blanc, couleur) - Le
formatcorrespond au format de l'image cible souhaité (par exemple PNG ou JPG).
Voici quelques exemples qui permettent d'illustrer ce qu'il est possible de faire avec cet API de transformation.
####Sélection d'une partie du document
A partir du document suivant, accessible sur Gallica, présentant un récital d'Artha Franklin , il est possible de n'obtenir qu'une partie de l'image à travers l'API: http://gallica.bnf.fr/iiif/ark:/12148/btv1b90017179/f15/0,1900,2400,1200/full/0/native.jpg
####Déformation d'une image
Il est également possible en jouant sur le paramètre sizede jouer sur le rendu de l'image en sortie. Par exemple, en revoyant un peu la géométrie de cette image de la Tour Eiffel : http://gallica.bnf.fr/iiif/ark:/12148/btv1b9055204k/f1/full/1500,750/0/native.jpg.
####Rotation d'une image
En utilisant le paramètre rotationprésenté plus haut, il est également possible de faire "tourner" certaines images du fonds de Gallica... Comme des disques... http://gallica.bnf.fr/iiif/ark:/12148/bpt6k8801260t/f1/full/full/135/native.jpg
####Transformation des images (couleur, noir et blanc, gris)
Le paramètre qualitypermet de transformer les images (espace colorimétrique). Par exemple, de transformer cette lumineuse affiche en noir et blanc : http://gallica.bnf.fr/iiif/ark:/12148/btv1b52504148b/f1/full/full/0/grey.jpg
####Format en sortie
Actuellement les images de Gallica peuvent être récupérées en png ou en jpg à partir de l'API IIIF en le précisant dans le paramètre format.
####Combinaison des effets Bien entendu, les effets sont facilement combinables, les uns avec les autres. Par exemple cette retouche d'une image de la chanteuse de jazz précédemment citée : http://gallica.bnf.fr/iiif/ark:/12148/btv1b90017179/f3/full/750,500/30/bitonal.jpg
Pour l'obtention des métadonnées d'un document particulier, l'API de présentation est disponible. Il s'agit d'une API en REST qui permet d'obtenir des métadonnées bibliographiques, techniques, de structure, de droits sur un document à partir de son identifiant. Les métadonnées sont obtenues dans une capsule json. Pour obtenir toutes les métadonnées liées à l'ensemble de clichés photographiés lors du festival d'Aretha Franklin, l'appel à une simple URL est suffisant : http://gallica.bnf.fr/iiif/ark:/12148/btv1b550076223/manifest.json.
API restfull, cette API est très simple à utiliser et ne nécessite pas de pré-requis en développement particulier.
Plusieurs outils OpenSource permettent d'utiliser l'API IIIF et donc celle de la BnF. Les outils principaux (une liste plus large est présente sur le site iiif.io sont présentés ci-dessous.
- OpenSeaDragon (visualiseur javascript)
- Mirador (visualiseur javascript spécialisé dans la comparaison de documents)
- IIPMooviewer (HTML 5 ajax viewer)