Présentation du Robot /dropbox/store pour exporter facilement

C’est l’heure de Re-Loadit !
Cet article de blog est le premier d’une série que nous appelons Re-loadit. Dans cette série, nous allons couvrir plusieurs fonctionnalités de Transloadit qui n’ont pas encore été présentées comme il se doit à nos utilisateurs.
Comme pour d’autres présentations de Robot, nous vous donnerons quelques exemples, expliquerons les fonctionnalités clés du Robot et vous proposerons quelques conseils pour bien démarrer. J’espère que vous prendrez plaisir à découvrir comment tirer parti de l’étendue des fonctionnalités de Transloadit.
Le Robot /dropbox/store
Alors que le stockage cloud ne cesse de gagner en popularité, stocker des fichiers uniquement sur son propre disque semble bientôt voué à suivre le chemin du téléphone à clapet. Avec pas moins de 500 millions de comptes utilisateurs enregistrés, Dropbox se distingue comme l’un des services de stockage cloud les plus importants du marché. Nous voulons garantir à nos utilisateurs la liberté d’intégrer ce service directement dans leurs Templates Transloadit.
C’est pourquoi nous avons lancé le Robot /dropbox/store, qui fait partie de la famille des Robots Transloadit depuis mai de cette année.

Que peut-il faire ?
Son fonctionnement ne pourrait pas être plus simple : le Robot /dropbox/store exporte tous les résultats d’encodage de votre Assembly vers l’emplacement de stockage Dropbox de votre choix. Pour illustrer ses capacités, voici un bon exemple : ce Robot peut vous aider à mieux suivre vos documents numériques importants, comme vos fiches de paie ou vos factures.
Les entreprises fournissent souvent leurs factures sous forme de page HTML. Archiver correctement ces documents, ce qui est obligatoire si vous dirigez vous-même une entreprise, peut s’avérer fastidieux à la main. Personnellement, j’aime stocker mes factures dans Dropbox pour les avoir toutes au même endroit, en sécurité. Pour cet exemple, je vais donc vous montrer comment utiliser Transloadit pour « imprimer » automatiquement des pages HTML et les stocker au format PDF dans un Dropbox.
Créer l’Assembly
Avant de commencer à créer mon Assembly, je dois obtenir mon jeton d’accès Dropbox. Il est nécessaire pour que nos Assemblies puissent utiliser l’API Dropbox. Pour générer mon jeton d’accès, je dois me rendre dans la section développeurs de Dropbox. Je vous recommande vivement de stocker votre jeton d’accès dans les informations d’identification de Template ici, chez Transloadit. Cela permet de garder votre clé d’accès chiffrée dans notre base de données et aide à empêcher des utilisateurs malveillants d’y accéder. Comme vous pouvez le voir dans la capture d’écran ci-dessous, j’ai nommé mon ensemble d’informations d’identification Dropbox my_invoice_uploader. J’aurai besoin de ce nom plus tard, lorsque je commencerai à créer mon Assembly.

Voici les Assembly Instructions que j’ai utilisées après avoir correctement configuré mon jeton d’accès :
{
"steps": {
"screenshot": {
"robot": "/html/convert",
"format": "pdf",
"url": "https://demos.transloadit.com/b2-invoice-example/2018-11-29-backblaze-tyler-invoice.htm",
"width": 1024
},
"exported": {
"robot": "/dropbox/store",
"use": "screenshot",
"credentials": "my_invoice_uploader",
"path": "invoices/${file.original_basename}.${file.ext}"
}
}
}
Tout est ici assez simple. Le Robot /html/convert
prend des captures d’écran d’une page web HTML fournie. Avec le paramètre url, je peux
récupérer une page web directement depuis son URL. Ensuite, le paramètre format détermine le
format de la capture d’écran, comme png, mais je choisis pdf dans ce cas. Enfin, le paramètre
width est défini sur 1024. La hauteur de la capture d’écran est alors automatiquement mise à
l’échelle en fonction de cette valeur afin de conserver le rapport d’aspect souhaité.
Oh, et au cas où vous commenceriez à vous inquiéter, nous avons modifié les chiffres de cet exemple de facture HTML Backblaze afin qu’ils n’aient plus aucun sens ! 😄
Dans le Step suivant, j’envoie la capture d’écran PDF au Robot
/dropbox/store pour l’exporter. Le paramètre credentials accède au jeton
d’accès Dropbox que j’ai stocké dans mon ensemble d’informations d’identification de Template
nommé my_invoice_uploader. Le paramètre path stocke ensuite le PDF exporté dans un dossier
nommé invoices de mon espace Dropbox et nomme chaque fichier d’après son nom d’origine. Si vous
craignez des collisions, vous pouvez ajouter d’autres
Assembly Variables à ce chemin, comme un
hachage MD5 (${file.md5hash}) ou le ${unique_prefix}.
Pour tester mon Template fraîchement créé, j’exécute le code Node.js suivant, qui prend en argument la page web voulue. N’hésitez pas à l’essayer vous-même.
const { Transloadit } = require('transloadit')
const transloadit = new Transloadit({
authKey: process.env.TRANSLOADIT_AUTH_KEY,
authSecret: process.env.TRANSLOADIT_SECRET_KEY,
})
const options = {
waitForCompletion: true,
params: {
steps: {
screenshot: {
robot: '/html/convert',
format: 'pdf',
url: process.argv[2],
width: 1024,
},
exported: {
robot: '/dropbox/store',
use: 'screenshot',
credentials: 'my_invoice_uploader',
path: 'invoices/${file.id}.${file.ext}',
},
},
},
}
transloadit.createAssembly(options)
.then((result) => {
console.log({ result })
})
.catch((err) => {
console.error(err)
process.exitCode = 1
})
Les résultats
Après vérification de mon Dropbox, tout semble s’être bien déroulé. Ma facture est tranquillement installée, au format PDF, dans le chemin indiqué 💖

J’espère que cet article vous a montré à quel point le Robot /dropbox/store est puissant et avec quelle facilité il peut être combiné aux autres fonctionnalités de Transloadit. C’est tout pour ce premier épisode de la série Re-loadit. J’espère que vous avez déjà hâte de découvrir la suite !