Présentation du Robot /script/run pour l’évaluation de code
C’est avec plaisir que nous vous présentons le tout nouveau Robot /script/run. Grâce à l’évaluation de code qu’il apporte à la boîte à outils Transloadit, vos Assemblies disposent désormais des vastes possibilités du JavaScript moderne !
Si vous incluez du code personnalisé dans vos paramètres à l’aide de ${...}, nous exécuterons
automatiquement ce code et renverrons la valeur résultante pour qu’elle soit utilisée dans votre
Assembly.
Les simples lectures de variables comme ${file.meta.width} sont classées comme ne nécessitant pas
l’interpréteur JavaScript du Robot et restent gratuites. Les expansions plus complexes nous
obligeront à invoquer en coulisses le Robot /script/run, et
chaque évaluation dynamique donne alors lieu à exactement une facturation.

Créer un Template
Pour une petite démonstration, créons un Template qui redimensionne une image pour l’adapter au nombre d’or.
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"golden_ratio_resized": {
"use": ":original",
"robot": "/image/resize",
"width": "${file.meta.height * (1 + Math.sqrt(5))/2}",
"height": "${file.meta.height}",
"resize_strategy": "fillcrop",
"result": true,
"imagemagick_stack": "v3.0.1"
},
"exported": {
"robot": "/s3/store",
"use": "golden_ratio_resized",
"result": true,
"credentials": "s3defaultBucket",
"path": "golden_ratio/${file.name}"
}
}
}
En examinant le JSON ci-dessus, vous remarquerez que le Step golden_ratio_resized contient
la fonctionnalité /script/run au sein de notre Robot
/image/resize. Cela permet de garder notre JSON aussi efficace que possible.
Pour redimensionner notre image selon le nombre d’or, nous laissons le paramètre height identique à
la hauteur d’origine du fichier, puis nous modifions le paramètre width selon le nombre d’or, à
partir de cette hauteur d’origine. Nous utilisons également la stratégie de redimensionnement fillcrop
pour que l’image puisse s’étendre et remplir le cadre.
Tester
Pour vérifier que tout fonctionne comme prévu, téléversons la photo d’un chat à l’air sympathique et observons le nouveau rapport d’aspect.


Et voilà : nous modifions automatiquement nos images sans avoir à effectuer de calculs préalables sur notre backend.
Pour conclure
Voilà qui conclut cette démonstration. Nous avons hâte de découvrir les façons ingénieuses dont vous utiliserez le Robot /script/run dans vos projets. Vos retours sur cette toute dernière nouveauté de notre famille de Robots nous intéressent également, et n’hésitez pas à nous dire quelles autres fonctionnalités vous aimeriez voir à l’avenir !
