Skip to main content
Voir en Markdown

Redimensionnement et recadrage

Sovrium redimensionne les images stockées au moment de la requête, à partir de paramètres placés sur l'URL de téléchargement ordinaire. Aucun service d'image séparé, aucune étape de compilation, aucune seconde copie dans le stockage — l'original est lu, transformé, mis en cache, et jamais modifié.

request.http
GET /api/buckets/photos/files/{key}?width=400&height=300&fit=cover

Les mêmes paramètres fonctionnent sur une URL signée et sur l'URL que vous remet la pièce jointe d'un enregistrement. Ils ne s'appliquent qu'aux images : tout paramètre de transformation sur un PDF ou un CSV répond 400.

Redimensionnement

Paramètre Type Plage Défaut Signification
width entier 1–2500 source Largeur cible en pixels.
height entier 1–2500 source Hauteur cible en pixels.
fit chaîne voir ci-dessous cover Comment concilier les deux.

Donnez une seule dimension et l'autre découle du rapport d'aspect. Un entier hors de la plage 1–2500 répond 400 ; le plafond existe parce que ces transformations s'exécutent de façon synchrone sur le chemin de la requête, et qu'une dimension non bornée représente un travail non borné.

Modes d'ajustement

fit décide de ce qui se passe quand la boîte demandée et le rapport d'aspect de la source divergent.

Mode Comportement
cover Remplit la boîte en préservant le rapport d'aspect. Les bords sont rognés. Défaut.
contain Tient dans la boîte en préservant le rapport d'aspect. Peut ajouter des bandes.
fill Étire jusqu'aux dimensions exactes en ignorant le rapport d'aspect. Déforme.

Une valeur non reconnue retombe sur cover sans erreur : fit=inside se comporte donc silencieusement comme fit=cover — ce sont des noms de modes Sharp que Sovrium n'expose pas.

Choisissez cover quand la mise en page impose les dimensions (un avatar carré, une carte à taille fixe), contain quand l'image les impose (un logo qui ne doit pas être rogné), et fill pratiquement jamais.

Recadrage

Avec fit=cover, quelque chose doit être écarté. crop choisit quoi :

request.http
GET /api/buckets/photos/files/{key}?width=300&height=300&fit=cover&crop=entropy
GET /api/buckets/photos/files/{key}?width=300&height=300&fit=cover&crop=50,30
Stratégie Syntaxe Ce qu'elle conserve
centre crop=center (défaut) Le milieu de l'image.
entropie crop=entropy La zone la plus chargée, selon l'entropie de Shannon — le détail plutôt que le vide.
attention crop=attention La zone que l'œil regarde en premier, selon le modèle d'attention de Sharp.
focal crop=x,y La zone autour d'un point, x et y étant des pourcentages de 0 à 100.

entropy et attention sont les deux qui méritent d'être connues. Sur une photothèque où rien n'est composé pour votre rapport d'aspect, un recadrage centré décapite régulièrement un portrait ; attention trouve le visage. entropy reste le choix générique le plus sûr pour les photos de produit et les captures d'écran, où le sujet est la partie détaillée.

Un point focal est projeté sur une grille de gravité trois par trois plutôt qu'utilisé en coordonnées exactes : crop=10,90 et crop=20,80 se résolvent donc tous deux en bas à gauche. Voyez-y « quel coin », pas « quel pixel ». Des valeurs hors de 0–100 répondent 400.

crop est analysé quel que soit le mode d'ajustement — un point focal invalide échoue même sous fit=contain — mais il n'est appliqué que sous fit=cover.

Conversion de format

Déplacé vers Format et qualité — formats de sortie, négociation par l'en-tête Accept, et compression.

Qualité

Déplacé vers Format et qualité — le paramètre quality et les formats qui l'honorent.

Presets

Déplacé vers Presets et mise en cache — nommer une transformation une fois et la demander par son nom.

Mise en cache

Déplacé vers Presets et mise en cache — le cache LRU, l'ETag et le Cache-Control.

Préservation de l'original

Déplacé vers Presets et mise en cache — ce à quoi les transformations ne touchent jamais.

Pages associées

Dernière mise à jour 11 août 2026

Cette documentation a été rédigée avec de l'IA : des erreurs ou du contenu obsolète sont donc possibles. Sovrium est en bêta. Les contributions et corrections sont les bienvenues.

Construit avec Sovrium