colisdocs

Introduction

colis livre vos fichiers à vos clients depuis un stockage qui vous appartient, et vous dit quand ils les ont validés.

Livrez un fichier à un client depuis votre propre bucket, et recevez sa réponse.

# sans rien configurer : le service public ; ou votre page de livraison (colis init --provider remote)
$ colis envoyer ./maquette-v2.pdf
maquette-v2.pdf · 1.8 MB · expires in 1 day
K7QP2M4X

# plus tard : le client a-t-il validé ?
$ colis statut K7QP2M4X
validé
envoyé  2026-09-22 10:00
ouvert  2026-09-22 11:00
validé  2026-09-22 12:00

Ce que fait colis

colis est un outil de livraison de fichiers pour les freelances :

  • Vous envoyez un livrable vers un stockage compatible S3 qui vous appartient (AWS S3, Cloudflare R2, MinIO, Scaleway, Wasabi) — ou, pour commencer, vers le service public de colis — sous un code de huit caractères, avec une durée de vie et, si vous le voulez, un mot de passe.
  • Votre client ouvre la page de retrait de votre déploiement, voit un aperçu du fichier, puis valide la livraison ou demande des corrections avec un commentaire. Sa réponse est définitive et horodatée.
  • Chaque étape déclenche un webhook signé (Standard Webhooks, HMAC-SHA256), et un nœud n8n lance un workflow sur n’importe laquelle d’entre elles.
  • Les gros fichiers partent du navigateur directement vers le bucket, en morceaux, avec reprise si la connexion coupe.
  • La CLI parle français : envoyer, recevoir, statut, annuler, verifier, init. Les anciens noms put, get, rm et doctor restent des alias.

Il n’y a pas de compte. Sans rien configurer, la CLI passe par le service public, colis-tau.vercel.app : ouvert à tous et limité (un fichier de 100 Mo au plus, gardé 24 h au plus, et 20 envois par heure depuis une même adresse). Avec votre bucket, les fichiers restent chez vous, et la page de livraison tourne sur votre déploiement Vercel.

Les pièces

PièceRôle
templates/dropLa page de livraison : l’envoi, la page de retrait, l’accusé de réception, les webhooks. Une app Next.js à déployer.
@mdemb/colisLa commande colis, pour envoyer depuis un terminal ou une CI et suivre une livraison.
n8n-nodes-colisUn déclencheur et une action pour n8n.
@colis/coreLe seul paquet qui détient les identifiants du stockage : l’API fichiers et les routes de transfert.
@colis/protocolLe contrat que partagent le serveur et ses clients, les codes et la signature des webhooks. Sans client S3.
@colis/reactLes hooks pour envoyer, retrouver un code et saisir un code sans faute.

La commande s’installe avec npm i -g @mdemb/colis. Les autres paquets ne sont pas encore publiés : ils se construisent depuis le dépôt, voir Installation.

Ce que colis n’est pas

Ce n’est pas un service de stockage hébergé. Le service public sert à commencer et aux petits envois, dans ses limites. Pour vos livrables, déployez la page de livraison sur votre compte, avec votre bucket : rien ne transite alors par un serveur qui ne vous appartient pas.

Ce n’est pas un client S3 généraliste. Pas de list(), pas d’administration de bucket, pas de règles de cycle de vie créées pour vous. Le client S3 sous-jacent reste accessible par store.client.

Ce n’est pas du chiffrement. Votre déploiement peut lire chaque fichier qu’il stocke. Quand ce n’est pas acceptable, chiffrez avant d’envoyer, et donnez au colis une courte durée de vie ou un mot de passe.

Par où commencer

Le site présente le produit, les comparatifs et les fournisseurs : colis-site.vercel.app.

colis est un fork de s3nd, d’Abderrahmane Mouzoune, sous licence MIT comme colis.

Sur cette page