# Images
Cette collection décrit l'accès aux images publiques (notamment les icônes).
# URL
Pour les images enregistrées sur le serveur, l'URL d'accès est :
GET /api/v2/images/assets/original/<image>
Pour les images enregistrées dans le coffre :
GET /api/v2/images/recorded/original/<image>
# Méthodes
La collection images
implémente les éléments suivants:
- Collection
Action | URL | Action effectuée |
---|---|---|
GET | api/v2/images/assets/original/<image> | Télécharge l'image |
GET | api/v2/images/recorded/original/<image> | Télécharge l'image libre identifiée par image dans le coffre |
GET | api/v2/images/assets/sizes/<size>/<image> | Télécharge l'image redimensionnée |
GET | api/v2/images/recorded/sizes/<size>/<image> | Télécharge l'image libre redimensionnée et identifiée par image dans le coffre |
POST | api/v2/images/* | N/A |
PUT | api/v2/images/* | N/A |
DELETE | api/v2/images/* | N/A |
# Téléchargement d'une image publique
# URL
Téléchargement d'un fichier image contenu dans le répertoire Images
ou dans le coffre en accès public.
# Images enregistrées sur le serveur
Pour les images enregistrées sur le serveur, l'URL d'accès est :
/api/v2/images/assets/original/<image>
Cette ressource télécharge le fichier image contenu dans le répertoireImages
du serveur. Le nom du fichierimage
est le chemin relatif du fichier à télécharger.
Le chemin est relatif au répertoireÌmages
du serveur. Le chemin ne peut pas contenir..
.
Les extensions de fichiers autorisées sont png
, jpg
, jpeg
et gif
.
Exemple :
GET /api/v2/images/assets/original/mime-source_php.png
,GET /api/v2/images/assets/original/flags/fr.png
.
# Images publiques enregistrées dans le coffre
Pour les images enregistrées dans le coffre, l'URL d'accès est :
/api/v2/images/recorded/original/<image>
,/api/v2/images/recorded/original/<image>.<extension>
.
Depuis l'interface de consultation d'un Smart Element de type Smart Structure, d'un dossier ou d'une recherche, il est possible de modifier l'icône de celle-ci. Dans ce cas, l'image est enregistrée dans le coffre en accès public c'est à dire sans nécessité de vérifier un contrôle sur le Smart Element. L'identifiant utilisé doit correspondre à un identifiant d'une image. Si l'identifiant indique un autre type de fichier, le téléchargement ne sera pas autorisé.
L'extension du fichier est facultative. Si elle est présente elle doit correspondre à l'extension du fichier enregistré dans le coffre.
L'identifiant du coffre peut être obtenu par la récupération des informations sur la propriété "icon" du Smart Element.
Exemple: GET /api/v2/smart-elements/DEVBILL?fields=document.properties
Réponse:
{
"success": true,
"data": {
"document": {
"properties": {
"id": 97507,
"title": "Bill",
"initid": 97507,
"icon": "/api/v2/images/assets/sizes/24x24c/devbill.png",
"name": "DEVBILL",
"revision": 0,
"status": "alive"
},
"uri": "/api/v2/smart-structures/DEVBILL.json"
}
},
"messages": []
}
L'URL indiquée dans la propriété icon
est l'image redimensionnée.
L'URL de l'image original est: /api/v2/images/recorded/original/devbill.png
# Structure de retour
Le retour est le contenu du fichier. En cas d'échec, une structure JSON est retournée avec l'erreur si aucune extension n'est indiquée dans l'URL. Si une extension (différente de json) est indiquée alors l'erreur affiché sera un texte brut.
# Paramètres
Le paramètre inline
permet de modifier l'entête HTTP pour demander au navigateur un téléchargement de fichier ou un
affichage dans le navigateur dans le cas où celui-ci permet son affichage.
Par défaut, le téléchargement est demandé; l'entête contient: Content-Disposition: attachment
.
Si inline
vaut true
,yes
ou 1
, la disposition vaut: Content-Disposition: inline
.
# Redimensionnement d'une image
# URL
Téléchargement d'une image redimensionnée.
N.B.
Le redimensionnement ne peut pas dépasser la taille de l'image originale.
# Image enregistrée sur le serveur
L'URL d'accès est: GET /api/v2/images/assets/sizes/<size>/<image>
.
Cette ressource télécharge l'image redimensionnée du fichier image original contenu dans le répertoire Images
du
serveur. Le nom du fichier image
est le chemin relatif du fichier à télécharger. Le chemin est relatif au répertoire
Images
du serveur. Le chemin ne peut pas contenir ..
.
Les extensions de fichiers autorisées sont png
, jpg
, jpeg
et gif
.
Le type du fichier retourné est le même que celui de l'original.
Exemple :
GET /api/v2/images/assets/original/mime-source_php.png
,GET /api/v2/images/assets/original/flags/fr.png
.
# Image publique enregistrée dans le coffre
L'URL d'accès est: GET /api/v2/images/recorded/sizes/<size>/<image>.<extension>
.
L'extension du fichier n'est pas obligatoire. Les valeurs autorisées sont png
, jpg
, jpeg
et gif
.
Le fichier retourné correspond à l'image originale redimensionnée et convertie en fonction de l'extension.
# Smart Field image d'un Smart Element
Redimensionnement d'une image incluse dans un Smart Field image
d'un Smart Element.
GET /api/v2/smart-elements/<docid>/images/<attrid>/<index>/sizes/<size>.<extension>
Paramètres:
- docid: identifiant du Smart Element,
- attrid: identifiant du Smart Field image,
- index: vaut
-1
si le Smart Field n'est pas dans un tableau; indique la rangée du tableau dans le cas contraire (0 indique la première rangée), - size: la taille demandée,
- extension: Extension du fichier produit.
L'extension du fichier est obligatoire. Les valeurs autorisées sont png
, jpg
, jpeg
et gif
.
Le fichier retourné correspond à l'image originale redimensionnée et convertie en fonction de l'extension.
Cette URL est notamment utilisée pour afficher les miniatures (thumbnail) des Smart Fields images.
# Syntaxe pour le redimensionnement
Le paramètre size
permet d'indiquer la nouvelle taille avec la syntaxe suivante:
Soit l'image originale: GET /api/v2/images/assets/original/sky.jpg
# Définir une largeur <width>
(en pixel)
La hauteur est calculée pour garder les proportions de l'image. GET /api/v2/images/assets/sizes/200/sky.jpg
# Définir une hauteur <height>
(en pixel)
La largeur est calculée pour garder les proportions de l'image.
GET /api/v2/images/assets/sizes/x200/sky.jpg
# Définir la largeur et la hauteur <width>x<height>
(en pixel)
L'image est redimensionnée pour contenir dans la dimension indiquée tout en gardant les proportions.
GET /api/v2/images/assets/sizes/200x200/sky.jpg
GET /api/v2/images/assets/sizes/200x100/sky.jpg
# Définir la largeur et la hauteur en découpant l'image <width>x<height>c
Pour que l'image contienne dans les dimensions exactes fournies, cette option permet de rogner (crop) l'image. Ce rognage est centré, les bords (haut/bas) ou (droite/gauche)sont supprimés avec la même proportion.
GET /api/v2/images/assets/sizes/50x200c/sky.jpg
GET /api/v2/images/assets/sizes/200x50c/sky.jpg
# Définir la largeur et la hauteur en étirant l'image <width>x<height>s
L'image est déformée (stretch) pour contenir dans les dimensions indiquées.
GET /api/v2/images/assets/sizes/50x200s/sky.jpg
GET /api/v2/images/assets/sizes/200x50s/sky.jpg
# Structure de retour
Le retour est le contenu du fichier. En cas d'échec, une structure JSON est retournée avec l'erreur si aucune extension n'est indiquée dans l'URL. Si une extension (différente de json) est indiquée alors l'erreur affiché sera un texte brut.
# Paramètres
Le paramètre inline
permet de modifier l'entête HTTP pour demander au navigateur un téléchargement de fichier ou un
affichage dans le navigateur dans le cas où celui-ci permet son affichage.
Par défaut, le téléchargement est demandé; l'entête contient: Content-Disposition: attachment
.
Si inline
vaut true
,yes
ou 1
, la disposition vaut: Content-Disposition: inline
.