Supabase ajoute les téléversements avec reprise grâce à tus
L’open source est au cœur de Transloadit, et deux de nos projets, Uppy et tus, ont un impact dans leurs domaines respectifs. Dans cet esprit, nous sommes heureux de mettre en lumière Supabase, un backend open source en tant que service qui a récemment adopté le protocole tus pour permettre les téléversements avec reprise.

Avec tus, notre protocole ouvert de téléversement avec reprise, nous avons actuellement pour mission d’en faire le standard des téléversements de fichiers sur Internet – au point de chercher à intégrer les téléversements de fichiers avec reprise à HTTP. C’est précisément cette mission qui a d’abord attiré Supabase vers tus, comme l’explique son responsable du stockage, Fabrizio Fenoglio :
« Chez Supabase, nous nous engageons à être entièrement open source. Cela passe notamment par le soutien à la communauté open source grâce à l’adoption de protocoles et de bibliothèques ouverts. Nous avons choisi tus pour nos téléversements avec reprise, parce qu’il est open source, mais aussi parce que l’équipe derrière ce protocole s’engage à standardiser les téléversements avec reprise. »
Fabrizio Fenoglio
Avant d’examiner plus en détail la façon dont Supabase utilise tus, nous avons demandé à Fabrizio de nous en dire un peu plus sur Supabase et sur la manière dont ce service propose une alternative plus souple et mieux adaptée aux développeurs que les solutions backend traditionnelles.
« Supabase est un backend open source en tant que service qui permet aux développeurs de créer facilement des applications web et mobiles et de les faire évoluer à grande échelle. Avec Supabase, les développeurs peuvent se concentrer davantage sur la création d’excellentes applications et moins se préoccuper de la gestion de l’infrastructure. »
Avec des outils pour une base de données Postgres, l’authentification, les fonctions en périphérie, le stockage et bien plus, on peut dire que Supabase est un acteur de poids dans le domaine des backends cloud.
Les avantages des téléversements avec reprise
Avant d’adopter tus, le stockage de Supabase reposait sur des téléversements HTTP multipart vieillissants. Naturellement, l’expérience est peu satisfaisante pour les utilisateurs dont la connexion est de mauvaise qualité : une perte de signal les oblige à recommencer le téléversement depuis le début. Fabrizio détaille les avantages des téléversements avec reprise :
« Le passage à un modèle de téléversement avec reprise nous a permis de téléverser de gros fichiers de manière fiable, ou même de téléverser depuis des connexions instables, comme celles que l’on peut rencontrer dans une application mobile, par exemple. En général, nos clients préfèrent utiliser les téléversements avec reprise plutôt que les téléversements multipart traditionnels. »
Passer à tus
Pour abandonner les téléversements multipart, l’équipe de Supabase a décidé d’utiliser tus-node-server, une implémentation officielle du protocole tus pour les serveurs Node. Toutefois, pour adapter cette implémentation à ses besoins, l’équipe de Supabase a dû apporter quelques modifications.
« L’intégration a été assez simple. Cependant, l’implémentation Node n’est pas aussi mature que l’implémentation en Go, ce qui nous a obligés à apporter quelques modifications à notre fork. Nous sommes actuellement en contact avec les développeurs de Transloadit et travaillons avec eux pour intégrer nos modifications à l’implémentation officielle. »
Collaborer pour améliorer tus au maximum
Les résultats parlent d’eux-mêmes : les retours de Supabase ont été précieux dans notre mission visant à standardiser tus, notamment grâce à ses contributions à tus-node-server. Prenons par exemple les PR #410 ou #446, ou les autres PR et correctifs dont discutent les développeurs de Supabase et de Transloadit. Voici une courte liste des problèmes sur lesquels nous collaborons activement :
- #408 - Ajouter la prise en charge de mécanismes de verrouillage, dont un verrou distribué
- #457 - Ajouter le préfixage des objets
- #458 - Corriger les erreurs de caractères non valides dans
l’en-tête
x-amz-meta-file - #459 - Ajouter
isCompletedà la classe d’informations deUpload - #460 - Introduire un middleware pour le contrôle d’accès
- #461 - Séparer le serveur en environnements d’exécution pour que tus puisse s’exécuter en périphérie
Vers la standardisation
Grâce à la force de l’open source, tus progresse vers la standardisation des téléversements de fichiers avec reprise sur le web. Avec l’aide d’équipes comme Supabase, nous nous rapprochons chaque jour de cet objectif.
Avant de conclure, pensez à découvrir la semaine de lancement de Supabase, du 7 au 11 août 2023, durant laquelle l’équipe dévoile une série de nouvelles fonctionnalités 🚀
