# s3nd avec Wasabi

> Déplacer des fichiers et des données d’app local-first via un bucket Wasabi avec s3nd : la configuration createBucket(), le point de départ de la CLI, et ce qu’il faut savoir sur ce fournisseur.

Canonical: https://s3nd.sh/fr/providers/wasabi · Markdown: https://s3nd.sh/fr/providers/wasabi.md · English: https://s3nd.sh/providers/wasabi

Du stockage à prix fixe sans frais de sortie, sur un endpoint régional.

**createBucket()**
```ts
import { createBucket } from 's3nd'

const store = createBucket({
  bucket: 'transfers',
  region: 'eu-central-1',
  endpoint: 'https://s3.eu-central-1.wasabisys.com',
  credentials: {
    accessKeyId: process.env.WASABI_ACCESS_KEY!,
    secretAccessKey: process.env.WASABI_SECRET_KEY!,
  },
})
```

## Pourquoi celui-ci
Wasabi est compatible S3, facturé au téraoctet stocké sans frais de sortie ni de requête, et joignable via un endpoint régional. Il fonctionne avec s3nd comme tout autre fournisseur à endpoint : définissez l’endpoint et la région, et donnez-lui une paire de clés.

## Une configuration de départ, et ce qu’il reste à faire.
init écrit le fichier avec des références ${VAR} plutôt que des secrets, donc il est fait pour être versionné ; le fichier d’environnement qu’il désigne, non.

```sh
s3nd init --provider wasabi --bucket transfers
```
**s3nd.config.json**
```json
{
  "bucket": "transfers",
  "region": "eu-central-1",
  "endpoint": "https://s3.eu-central-1.wasabisys.com",
  "prefix": "transfers",
  "expiresIn": "24h",
  "envFile": ".env",
  "credentials": {
    "accessKeyId": "${WASABI_ACCESS_KEY}",
    "secretAccessKey": "${WASABI_SECRET_KEY}"
  }
}
```

### Ensuite
1. Mettez WASABI_ACCESS_KEY et WASABI_SECRET_KEY dans .env.
2. Ajoutez une règle de cycle de vie sur le préfixe transfers/.
3. Lancez `s3nd doctor`. Il effectue les opérations dont s3nd a besoin et rapporte ce qui s’est passé.

## Notes sur Wasabi.
- **Durée de stockage minimale** — Wasabi facture les objets supprimés pendant une période de rétention minimale. Les transferts sont petits, donc ça compte rarement, mais c’est la ligne de la facture qui surprend.
- **Nettoyage des expirés** — expiresIn empêche un transfert d’être remis ; seule une règle de cycle de vie supprime l’objet. Donnez au préfixe une règle qui expire les objets après un jour ou deux, et s3nd doctor passe au vert.

[Le guide complet](https://doc.s3nd.sh/docs/providers)
