# Livrer des fichiers lourds

> Jusqu’à 2 Go par défaut, envoyés par le navigateur directement dans votre bucket, par morceaux, avec reprise si la connexion coupe. Comment le faire avec colis, à quoi faire attention, et où c’est documenté.

Canonical: https://colis-site.vercel.app/use-cases/fichiers-lourds · Markdown: https://colis-site.vercel.app/use-cases/fichiers-lourds.md · English: https://colis-site.vercel.app/en/use-cases/fichiers-lourds

Jusqu’à 2 Go par défaut, envoyés par le navigateur directement dans votre bucket, par morceaux, avec reprise si la connexion coupe.

```json
[
  {
    "AllowedOrigins": ["https://drop.example.com"],
    "AllowedMethods": ["PUT"],
    "AllowedHeaders": ["*"],
    "ExposeHeaders": ["ETag"],
    "MaxAgeSeconds": 3600
  }
]
```

## Ce qui se passe vraiment.
### Le problème
Un montage vidéo, un export haute définition, une archive de sources : trop lourd pour l’e-mail, et les services d’envoi hébergés en gardent une copie chez eux.

### Ce que colis y fait
Au-dessus de `DROP_MAX_SIZE_MB`, la page de livraison n’envoie plus rien à travers la fonction. Le navigateur découpe le fichier en morceaux de 8 Mio et les envoie lui-même au bucket, par URL présignées, quatre à la fois ; le serveur ne fait que signer et assembler. Si l’onglet se ferme ou que la connexion tombe, redéposez le même fichier : la page propose de reprendre l’envoi et n’envoie que ce qui manque.

## Les pièges faciles.
- **Une règle CORS sur le bucket** — Les morceaux vont du navigateur au bucket : il doit autoriser `PUT` depuis votre page et exposer `ETag`. Sans elle, les petits fichiers passent et les gros échouent avec un message qui explique pourquoi.
- **Les envois abandonnés coûtent** — Ajoutez `AbortIncompleteMultipartUpload` après un jour à la règle de cycle de vie du préfixe.
- **La durée démarre avec l’envoi** — L’expiration est écrite à l’ouverture de l’envoi : un envoi lent consomme une partie de la durée choisie.

Packages: colis-drop. [Les gros fichiers, dans le README](https://github.com/mamadouwhile/colis/blob/main/templates/drop/README.md#large-files)
