Logo BnF

API et jeux de données

fr
  • Accueil
    • Gallica
    • data.bnf.fr
    • Dépôt légal du Web
    • Catalogue collectif de France (CCFr)
    • Catalogue général de la BnF
    • Mandragore
    • BnF Archives et Manuscrits
    • Bibliographique des éditions parisiennes du XVIe siècle
    • Reliures
    • Données statistiques
    • Voir toutes les sources
    • Expérimentations
    • Projets de recherche
    • Tutoriels & outils
  • Services
  1. Vous êtes ici : Accueil
  2. API IIIF De Récupération Des Images De Gallica
JPEG / JPG TIFF IIIF Images

API IIIF de récupération des images de Gallica


Présentation

L'API IIIF (International Image Interoperability Framework) est une API standardisée par le consortium IIIF  permettant la manipulation homogène d'images indépendamment de leurs localisations physiques et des établissements qui les hébergent.

Console

Contexte

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 7 millions de documents et plus de 100 millions d'images.

Documentation

La documentation complète de l'API est présentée sur le site du consortium. Les restrictions à la BnF sont les suivantes :

  • L'API Image (actuellement en version 3.0 de la spécification) - API implémentée en version 1.1 à la BnF    
  • L'API Présentation (actuellement en version 3.0 de la spécification) - API implémentée en version 2.0 à la BnF    
  • L'API de recherche et d'authentification (actuellement en version 1.0 de la spécification) - API non implémentées à la BnF

API Image

L'API Image est une API RESTful. Pour l'utiliser, il est nécessaire d'utiliser la syntaxe d'accès suivante :

{scheme}://{server}{/prefix}/{identifier}/{region}/{size}/{rotation}/{quality}.{format}.

  1. scheme est le protocole utilisé ("https" à la BnF)    
  2. server correspond au nom de l'hôte ("gallica" à la BnF)    
  3. prefix à la localisation du service ("iiif" à la BnF)    
  4. identifier est l'identifiant ark du document ou d'une vue du document (par exemple ark:/12148/btv1b7711259g) auquel on doit ajouter l'identification de vue (exemple : /f12 pour traiter la vue numéro 12 d'un document)    
  5. region est la zone sélectionnée dans l'image source (par exemple "3976,3143,870,618" permet une extraction à partir de l'image d'origine d'un rectangle commençant au pixel 3976 sur l'axe horizontal, 3143 sur l'axe vertical, et de dimension de 870 pixels de largeur et 618 pixels de hauteur)    
  6. size est la taille de l'image cible générée en pixels. Si on choisit la valeur full, l'image extraite est fournie à la meilleure taille disponible (voir la spécification)
  7. rotation correspond à un angle de rotation pour l'image cible (en degrés, dans le sens des aiguilles d'une montre; par exemple "90")    
  8. quality correspond à une transformation possible de l'image (par exemple native ou default pour le même format que l'original, gray pour niveaux de gris, ou bitonal pour une conversion en en noir et blanc). La valeur color est d'un usage déconseillé.
  9. format correspond au format de l'image cible souhaité (png, jpg, jp2, pdf, gif, tif).

Exemples d'utilisation :

https://gallica.bnf.fr/iiif/ark:/12148/btv1b90017179/f15/0,1900,2400,1200/full/0/native.jpg

pour extraire une image commençant à 0 sur l'axe horizontal, 1900 sur l'axe vertical, de 2400 pixels en largeur et 1200 pixels en hauteur

https://gallica.bnf.fr/iiif/ark:/12148/btv1b9055204k/f1/full/1500,750/0/native.jpg

pour redimensionner l'image originale en une nouvelle image de 1500 pixels en largeur et 750 pixels en hauteur

https://gallica.bnf.fr/iiif/ark:/12148/bpt6k8801260t/f1/50,50,1500,1500/full/135/native.jpg

pour extraire une image commençant à 50 sur l'axe horizontal, 50 sur l'axe vertical, de 1500 pixels en largeur et 1500 pixels en hauteur, à laquelle on applique ensuite une rotation de 135°

https://gallica.bnf.fr/iiif/ark:/12148/btv1b90017179/f3/full/750,/30/bitonal.jpg

pour redimensionner l'image originale en une nouvelle image de 750 pixels en largeur, à laquelle on applique ensuite une rotation de 30°, puis que l'on convertit en noir et blanc

Métadonnées sur une image 

Une requête se terminant par info.json à la suite de l'identifieur permet de récupérer les dimensions de l'image d'origine, par exemple :

https://gallica.bnf.fr/iiif/ark:/12148/btv1b90017179/f15/info.json

affiche, parmi les informations retournées, les dimensions 2400 en largeur et 3498 en hauteur sur cette image.

API Presentation

Métadonnées du document

L’API de présentation (ou Manifest API) est une API RESTful permettant d'obtenir, pour un document, des métadonnées riches (notice bibliographique, liens, droits, descriptions de chacune des vues de l’objet, potentiellement de régions particulières, etc.).

Exemple :

https://gallica.bnf.fr/iiif/ark:/12148/btv1b550076223/manifest.json

On y retrouve notamment des informations bibliographiques extraites de de la notice Dublin Core du document :

  • label - dc:source
  • description - dc:title
  • metadata:label:Title - dc:title
  • metadata:label:Date - dc:date
  • metadata:label:Language - dc:language
  • metadata:label:Repository - dc:source
  • metadata:label:Shelfmark - dc:source
  • metadata:label:Format - dc:format
  • metadata:label:Creator - dc:creator
  • metadata:label:Relation - dc:relation
  • metadata:label:Type - dc:type

ainsi que des descriptions sur chacune des vues du document :

  • width - longueur de l'image d'origine
  • height - largeur de l'image d'origine
  • label - pagination logique de l'image
  • @id - lien vers l'image
  • thumbnail - lien vers la vignette de l'image

Voir aussi

Plusieurs outils OpenSource permettent d'utiliser l'API IIIF et donc celle de la BnF. Les outils principaux sont présentés ci-dessous (une liste plus large est présente sur le site iiif.io).

  •     OpenSeaDragon (visualiseur Javascript)
  •     Mirador (visualiseur Javascript)
  •     IIPMooviewer

Des exemples d'utilisation de l'API IIIF de Gallica sont disponibles sur ce github. Des wrappers permettent d'utiliser cette API avec Python et R.

Accès

API Image (exemple)

https://gallica.bnf.fr/iiif/ark:/12148/btv1b90017179/f15/0,1900,2400,1200/full/0/native.jpg

 

API Presentation (exemple)

https://gallica.bnf.fr/iiif/ark:/12148/btv1b550076223/manifest.json

Fiche Technique
Version

2

Format

JPEG / JPG TIFF

Licence

Conditions d'utilisation des contenus de Gallica

Technologies

IIIF

Sujets

Images

Contact
gallica@bnf.fr
Partage
Twitter Facebook Linkedin
Ressources en lien
API Document de Gallica

À partir d'un document trouvé via l’API de recherche ou de l'interface Gallica, l’API Document permet de récupérer les d'informations (métadonnées) nécessaires à l'exploitation des ressources numér

XML
Wrappers pour les API Gallica

Ces wrappers permettent d'appeler les API Gallica, IIIF et SRU depuis un script Python ou R.

JSON Python IIIF SRU R
Utiliser les contenus IIIF de Gallica

Ce tutoriel présente des usages possibles de la collection Gallica dans un contexte IIIF.

IIIF Images
  • © 2020 BnF
  • A propos
  • Conditions d'utilisation
  • Mentions légales
  • Politique de confidentialité
  • RSS
  • Écrire à la BnF
  • Accessibilité (non conforme)
  • DCAT
twitter facebook instagram youtube