Bun est désormais disponible pour TagoIO Analysis. Il exécute directement le TypeScript et le JavaScript, avec des imports de packages écrits comme dans un projet Node.js. TagoIO prend en charge le build pour l’exécution hébergée : vous pouvez donc maintenir votre script sans étape distincte de compilation ou de création de bundle en local.
Utilisez Bun lorsque le traitement des données d’appareils nécessite aussi d’appeler un autre service ou d’utiliser une bibliothèque. Transformez une température élevée en demande de maintenance, mettez les mesures au format attendu par un système de reporting ou combinez les données des capteurs avec des informations issues d’une API externe. Votre Analysis peut assurer le traitement et l’intégration, sans serveur supplémentaire à maintenir.
Écrivez du TypeScript avec des imports familiers
Importez le SDK JavaScript TagoIO avec @tago-io/sdk, ou une bibliothèque de gestion des dates avec dayjs. Bun résout les packages à partir de leur nom. La prise en charge de TypeScript est intégrée : vous pouvez conserver les types dans le script que vous modifiez sur TagoIO, au lieu de le compiler en JavaScript avant de l’envoyer.
Bun n’accepte pas les préfixes d’import npm: ou jsr: de Deno. Utilisez simplement les noms des packages et précisez une version dans l’import si vous avez besoin d’une version particulière du package.
Enregistrez un bundle et réutilisez-le à chaque exécution
Lorsque vous enregistrez une version, TagoIO regroupe le script et ses packages dans un seul fichier. Après un build réussi, les exécutions suivantes utilisent ce bundle enregistré sans réinstaller les packages. La préparation des dépendances a lieu à l’enregistrement, au lieu d’être répétée à chaque exécution.
Ce gain dépend de la réussite du build. Certains échecs, comme un bundle de plus de 10 Mo, entraînent un retour à l’installation des packages à chaque exécution. Les erreurs de syntaxe ou les packages manquants bloquent l’exécution. Le guide du runtime Bun explique les échecs de build et comment les résoudre.
Reliez les mesures à un service externe
Par exemple, un capteur de serre signale 38 °C. Votre Analysis Bun peut lire les données de l’appareil, les combiner avec les informations du site et formater l’horodatage à l’aide d’un package. Elle appelle ensuite l’API de votre système de maintenance pour créer une intervention : “Inspecter le refroidissement.”
Vous fournissez les identifiants d’accès au service et le format de la requête. La même approche convient pour envoyer des mesures mises en forme à une API de reporting ou enrichir la fiche d’un appareil avec des données récupérées dans un autre système.
Bun face aux autres runtimes
- Node.js : compilez et testez un script sous forme de bundle en local, puis envoyez-le. Bun transfère la compilation et le regroupement des dépendances dans TagoIO : vous pouvez modifier directement le TypeScript dans Admin.
- Deno : les deux runtimes permettent de maintenir du TypeScript dans l’éditeur. Bun utilise directement les noms des packages dans les imports ; Deno utilise des spécificateurs
npm:ou des URL. - Python : conservez-le pour les traitements de données qui dépendent de bibliothèques comme
pandas,numpyouscipy. Choisissez Bun lorsque la tâche se prête à JavaScript ou TypeScript et à leurs packages.
L’exécution hébergée avec Bun est décomptée de la limite mensuelle Analysis Service de votre profil.
Comparez la vitesse des runtimes sur une même tâche
Comparaison du traitement de données de capteurs avec différents runtimes :
| Runtime | 1 000 relevés | 100 000 relevés |
|---|---|---|
| Luau 0.728 | 0,74 ms | 30,60 ms |
| Bun 1.4.2 | 19,21 ms | 27,49 ms |
| Deno 2.4.4 | 30,63 ms | 37,87 ms |
| Node.js 24.21.0 | 29,74 ms | 37,98 ms |
| Python 3.13 | 69,70 ms | 138,52 ms |
Chaque runtime utilise la version hébergée par TagoIO. Luau s’exécute directement dans TagoIO sans lancer de processus séparé : ses temps ne couvrent donc que le script. Les autres runtimes lancent un nouveau processus à chaque exécution, et ce démarrage représente l’essentiel de leur temps avec 1 000 relevés.
L’effet de la vitesse sur la consommation
Pour Bun, Deno, Node.js et Python, une exécution hébergée plus rapide peut réduire la consommation Analysis Service si elle passe à une tranche de facturation inférieure. Chaque exécution est facturée pour une seconde au minimum : des écarts inférieurs à une seconde ne suffisent donc pas, à eux seuls, à démontrer une économie.
Compilez et testez dans Admin
Créez une Analysis, choisissez Bun (bun-rt2026) dans Runtime, puis sélectionnez TagoIO sous Runs on. Écrivez votre script dans l’éditeur et enregistrez une version. Vérifiez l’absence d’erreurs de build dans la Console, puis cliquez sur Run pour l’exécuter et examiner ses logs.
TagoAI peut vous aider à écrire et déboguer votre script.
Pour commencer
Consultez le guide des runtimes Analysis, puis créez une Analysis dans Admin. Les notes de version du 13 octobre présentent l’arrivée de Bun.