# 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é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 Ì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

Figure 1. Image de référence (600x338px)

# 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

Figure 2. Image 200x113px

# 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

Figure 3. Image 355x200px

# 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

Figure 4. Image 200x113px

GET /api/v2/images/assets/sizes/200x100/sky.jpg

Figure 5. Image 178x100px

# 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

Figure 6. Image 50x200px

GET /api/v2/images/assets/sizes/200x50c/sky.jpg

Figure 7. Image 200x50px

# 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

Figure 8. Image 50x200px

GET /api/v2/images/assets/sizes/200x50s/sky.jpg

Figure 9. Image 200x50px

# 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.