Cas d’usage n° 7 : Utiliser un serveur d’images IIIF autonome : Cantaloupe
Prérequis :
- installation Java + Cantaloupe
- installation standard d’Omeka S
Présentation de Cantaloupe
Cantaloupe est l’un des serveurs d’images les plus répandus. Il est conforme à toutes les versions de l’API Image IIIF, jusqu’à la version 3.0. Cantaloupe est un logiciel libre. Il fonctionne dans un environnement Java sous Linux ou Windows. Un conteneur Docker préconfiguré est également disponible.
Cantaloupe est fourni prêt à l’emploi et est réputé fonctionner dès son installation. Cependant un paramétrage avancé et une mise en production nécessitent des compétences en administration système.
La documentation fournie est très complète et permet de faire face à un grand nombre de situations, notamment en ce qui concerne l’accès aux images, les processeurs adaptés aux différents formats et les stratégies de cache.
Liens :
Configuration
L’ensemble de la configuration d’une installation est rassemblée dans un seul fichier de configuration. Il est modifiable manuellement ou via une interface web conviviale, mais non traduite en français.

Procédure d’installation basique
- assurez-vous que Java (version 17 ou éventuellement supérieure) est installé sur votre machine (Linux ou Windows),
- téléchargez la dernière version de Cantaloupe (la 5.0.7. publiée en mars 2025) depuis le site officiel.
- décompressez l’archive sur votre machine,
- renommez ou copiez le fichier
cantaloupe.properties.sample
encantaloupe.properties
. - ouvrez-le dans un éditeur de texte afin de
- définir la modalité et le chemin d’accès aux
images :
source.static = FilesystemSource
FilesystemSource.BasicLookupStrategy.path_prefix =
chemin du dossier contenant des images,
- activer l’interface web d’administration à l’adresse
/admin
, si vous le souhaitez :endpoint.admin.enabled = true
true/false pour activer ou désactiver,endpoint.admin.username = admin
identifiant pour accéder à l’interface,endpoint.admin.secret = sesame
mot de passe.
- définir la modalité et le chemin d’accès aux
images :
- lancez Cantaloupe
- sous MacOS/Linux, avec la commande
java -Dcantaloupe.config=/path/to/cantaloupe.properties -Xmx2g -jar cantaloupe-5.0.6.jar
- sous Windows, avec la commande
java -Dcantaloupe.config=C:\path\to\cantaloupe.properties -Xmx2g -jar cantaloupe-5.0.6.jar
- sous MacOS/Linux, avec la commande
- Usage :
-
En supposant que vous ayez déposé une image nommée
image.tif
dans le répertoire indiqué et que vous souhaitiez utiliser la version 2 de l’API Image, accédez - au fichierinfo.json
via l’URL :http://localhost:8182/iiif/2/image.tif/info.json
- à l’image complète en résolution maximale via l’URL :http://localhost:8182/iiif/2/image.tif/full/max/0/default.jpg
- à un carré de 200 pixels de côté découpé dans l’angle supérieur gauche de l’image via l’URL :http://localhost:8182/iiif/2/image.tif/0,0,200,200/max/0/default.jpg
Formats d’image et processeurs d’images
Cantaloupe est principalement utilisé pour servir des images, il accepte également les documents PDF et les vidéos. Les principaux formats d’image sont pris en charge par au moins un processeur, ce qui permet de satisfaire, partiellement ou complètement, l’API image de façon plus ou moins performante. Dans l’administration de Cantaloupe, un tableau indique quels formats d’image sont pris en charge par quel processeur :

Les formats d’images TIFF tuilé et JPEG2000 sont considérés comme de bons choix pour Cantaloupe en termes de performance et de respect des spécifications de l’API Image. Pour le premier, la documentation conseille d’utiliser le processeur Java2d et pour le second l’un des processeurs suivants : Kakadu (licence propriétaire), Grok ou OpenJpeg.
Certains processeurs sont intégrés à l’installation standard, d’autres, comme Grok, OpenJpeg, TurboJpeg ou Kakadu, doivent être installés séparément.
Coupler un serveur d’images Cantaloupe IIIF avec Omeka
Les deux approches présentées ci-après sont mises en œuvre sans faire appel à des modules IIIF particuliers.
Les images sont stockées sur le serveur Cantaloupe
C’est la configuration par défaut de Cantaloupe (source
statique FilesystemSource
).
- Récupérer les URL
info.json
des images sur ce modèle : https://SERVEUR/iiif/VERSION/NOM/info.json où
- SERVEUR est l’adresse du serveur,
- VERSION : 2 ou 3, version de l’API Image utilisée,
- NOM : identifiant de l’image démandée, généralement le nom du fichier.
- Les ajouter à l’installation Omeka S :
- manuellement, via l’onglet d’ajout de medias, choix Image IIIF,
- en nombre : utilisation du module Import CSV (cf.Cas d’usage n°2 : Intégration et récupération de données).
Les images sont ailleurs
En paramétrant Cantaloupe pour récupérer les images via une
URL, il est possible d’assurer une liaison transparente pour
récupérer les urls info.json
.
- Paramétrer Cantaloupe pour utiliser des ressources en ligne,
partie
Source
:
Strategy
:Static
, il est aussi possible de faire appel à un script délégué afin de prendre en charge des situations plus complexes,Static Sources
:HttpSource
, et dans l’onglet du même nom :Lookup Strategy
:Basic
,URL Prefix
: première partie de l’URL, avant l’identifiant de l’image, pour accéder à l’image, par exemple :https://depot.mexina.fr/
,URL Suffix
: partie de l’URL à la suite de l’identifiant, par exemple `/download
,- à titre d’exemple, la requête
https://iiif.mexina.fr/iiif/3/KISE0%2FcalAqiWA38.jpg/info.json
traite l’image téléchargeable à l’adressehttps://depot.mexina.fr/KISE0/calAqiWA38.jpg/download
- Pour chaque image, construire l’URL
info.json
à partir de l’identifiant du média (si l’identifiant comporte des caractères réservés :/ ? # [ ] @ ! $ & ' ( ) * + , ; =
il est nécessaire de les encoder (URL encoding, ou encodage pourcent, par exemple / par%2F
, comme dans l’exemple ci-dessus ) - Les intégrer à l’installation Omeka S :
- manuellement, via l’onglet d’ajout de medias, choix Image IIIF,
- en nombre : utilisation du module Import CSV (cf.Cas d’usage n°2 : Intégration et récupération de données).