Uploadista Logo
VersionTypeScriptOpen Source

Uploadista SDK 1.0 est disponible

Avatar de Denis Laboureyras
Denis Laboureyras
CTO & Tech Lead
6 min read
Share:
Illustration abstraite de pipelines de traitement de fichiers traversant une infrastructure cloud

Aujourd’hui, nous publions Uploadista SDK 1.0 — la première version stable du moteur open source qui gère l’upload et le traitement de fichiers dans Uploadista. Après des mois d’itérations en bêta façonnées par des retours en production réels, la surface d’API est stable, le moteur de flux a fait ses preuves, et il est prêt à accueillir vos projets.

C’est la version vers laquelle nous travaillions : une manière unique, typée et composable de transférer des octets d’un client vers un espace de stockage — et de faire tout ce qui doit se passer entre les deux.

Ce qu’est le SDK Uploadista

Le SDK traite la gestion de fichiers comme un problème de pipeline, pas un problème d’upload. Vous définissez un flux — un graphe orienté d’étapes de traitement — et le moteur se charge de l’orchestration, des reprises, du parallélisme et du suivi de progression. Chaque étape a des entrées et sorties typées : si une étape de redimensionnement attend une image et reçoit une vidéo, le compilateur vous le signale dès la compilation.

Tout est sous licence MIT et s’exécute là où vous le déployez : Node, Bun et les runtimes edge comme Cloudflare Workers.

Les nouveautés de la 1.0

Un moteur de flux prêt pour la production. Le processeur de DAG au cœur du SDK est désormais stable. Les nœuds couvrent tout le cycle de vie — entrée, optimisation et redimensionnement d’images, opérations utilitaires (routage conditionnel, fusion, multiplexage, zip) et sortie vers le stockage. Quand l’étape 3 sur 5 échoue, seule l’étape 3 est relancée lors d’une reprise. Aucun fichier orphelin, aucun nettoyage manuel.

Un nouveau système de file d’attente pour les flux. L’ajout phare de la 1.0. Les flux peuvent désormais être mis en file d’attente et exécutés de manière fiable via un service dédié, offrant un traitement durable et sensible à la contre-pression plutôt qu’une exécution « fire-and-forget ». C’est ce qui rend les pipelines lourds et de longue durée fiables à grande échelle.

Progression en temps réel via WebSockets. La progression des uploads et des flux est diffusée aux clients au fur et à mesure, pour que votre interface reflète un état exact au lieu de le deviner.

Bring Your Own Storage. Des data stores de première classe pour AWS S3, Google Cloud Storage, Azure Blob Storage et le système de fichiers local. Vos fichiers restent dans vos buckets — un prérequis, pas une fonctionnalité, pour quiconque a des exigences de résidence des données.

Des KV stores interchangeables. Les métadonnées et l’état des pipelines peuvent vivre dans Redis, IORedis, Cloudflare Durable Objects, Cloudflare KV, un store en mémoire pour le développement, ou le système de fichiers. Changez de backend sans toucher à la logique de vos flux.

TypeScript d’abord, bâti sur Effect. Le SDK est construit avec Effect-TS de bout en bout pour une gestion des erreurs robuste et typée. Vos définitions de pipeline sont entièrement typées — et la 1.0 prend en charge la dernière version de TypeScript.

Pour commencer

Installez les paquets dont vous avez besoin et définissez votre premier flux :

npm install @uploadista/core @uploadista/server

Ensuite, composez vos nœuds d’entrée, de traitement et de stockage en un flux, exécutez-le en local, puis déployez la même définition en production. La documentation détaille toute la mise en place.

La suite

La 1.0 est une fondation, pas une ligne d’arrivée. Nous continuons d’investir dans le constructeur visuel de flux — concevez vos pipelines sur un canvas avec le TypeScript généré pour vous — ainsi que dans une documentation plus approfondie et des SDK mobiles natifs. Et parce que le cœur est open source, la feuille de route se construit au grand jour.

Si le traitement de fichiers à grande échelle vous a déjà causé des soucis, nous serions ravis que vous l’essayiez. Parcourez le SDK sur GitHub, lisez la documentation, ou créez un compte Uploadista Cloud — sans carte bancaire.

Merci à toutes celles et ceux qui ont testé les bêtas et remonté les problèmes francs et précis qui nous ont menés jusqu’ici. Cette version est meilleure grâce à vous.