# Introduction

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

Canonical: https://colis-docs.vercel.app/docs · Markdown: https://colis-docs.vercel.app/docs.md

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

```sh
# 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](https://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èce             | Rôle                                                                                                                                            |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `templates/drop`  | La [page de livraison](https://colis-docs.vercel.app/docs/page-de-livraison) : l’envoi, la page de retrait, l’accusé de réception, les webhooks. Une app Next.js à déployer. |
| `@mdemb/colis`    | La commande [`colis`](https://colis-docs.vercel.app/docs/cli), pour envoyer depuis un terminal ou une CI et suivre une livraison.                                            |
| `n8n-nodes-colis` | Un déclencheur et une action pour [n8n](https://colis-docs.vercel.app/docs/webhooks#avec-n8n).                                                                               |
| `@colis/core`     | Le seul paquet qui détient les identifiants du stockage : l’[API fichiers](https://colis-docs.vercel.app/docs/api) et les routes de transfert.                               |
| `@colis/protocol` | Le [contrat](https://colis-docs.vercel.app/docs/protocole) que partagent le serveur et ses clients, les codes et la signature des webhooks. Sans client S3.                  |
| `@colis/react`    | Les [hooks](https://colis-docs.vercel.app/docs/react) 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](https://colis-docs.vercel.app/docs/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

- [Démarrage rapide](https://colis-docs.vercel.app/docs/demarrage-rapide) : un premier colis envoyé, ouvert et validé.
- [Page de livraison](https://colis-docs.vercel.app/docs/page-de-livraison) : la déployer sur Vercel avec votre bucket.
- [CLI](https://colis-docs.vercel.app/docs/cli) : chaque commande et chaque option.
- [Webhooks & n8n](https://colis-docs.vercel.app/docs/webhooks) : brancher vos automatisations.
- [Cas d’usage](https://colis-docs.vercel.app/docs/cas-d-usage/valider-une-maquette) : les scénarios de freelance, de bout en bout.

Le site présente le produit, les comparatifs et les fournisseurs :
[colis-site.vercel.app](https://colis-site.vercel.app).

colis est un fork de [s3nd](https://github.com/AbderrahmaneMouzoune/s3nd), d’Abderrahmane
Mouzoune, sous licence MIT comme colis.
