Exemples
Exécutables, dans le dépôt.
Deux exemples à cloner et lancer, et les guides pas à pas de la documentation. Les deux exemples pointent sur un MinIO local par défaut, donc le vrai chemin de code tourne sur votre laptop sans inscription nulle part.
docker run -p 9000:9000 -p 9001:9001 \
-e MINIO_ROOT_USER=minioadmin -e MINIO_ROOT_PASSWORD=minioadmin \
quay.io/minio/minio server /data --console-address ":9001"01examples/indexeddb-sync
Synchronisation IndexedDB
Une app de notes qui garde tout dans IndexedDB et le déplace vers un autre appareil avec un code. Ouvrez-la dans deux navigateurs : le second est vide jusqu’à ce que le code transporte la base.
À remarquer
- Une paire exportDatabase / importDatabase complète contre un vrai object store
- Le code affiché groupé par quatre, et normalisé côté serveur avec ou sans les espaces
- Rien n’est importé avant que l’utilisateur confirme ce qu’il s’apprête à restaurer
- ifAbsent à l’écriture, une expiration d’une heure, et le DELETE après un import réussi
- Une seule transaction à l’import, pour qu’un échec à mi-chemin laisse les données précédentes intactes
cp .env.example .env.local
bun install
bun run dev # localhost:3200, in two different browsers02examples/node-script
Aller-retour en Node
Un transfert entier dans un seul fichier : écrire un snapshot sous un code, le relire via une version mal tapée de ce code, prouver que les écritures conditionnelles fonctionnent, puis le brûler. Un smoke test pour un nouveau bucket ou fournisseur.
À remarquer
- Le taux de compression sur un dump réaliste, affiché en titre
- Un code tapé en minuscules avec un tiret, résolu par codes.normalize()
- ifAbsent qui rejette une seconde réservation, ifMatch qui rejette une écriture périmée
- destroy() dans un finally, pour que le script sorte sans attendre les sockets keep-alive
cp .env.example .env
bun install
node --env-file=.env --import tsx src/round-trip.tscode ZZWMBSTD
stored 1826 bytes gzipped, from 22991 raw (12.6x)
typed "zzwm-bstd" → ZZWMBSTD
restored 200 notes from node-script, written 2026-08-27T14:29:20.442Z
identical true
claim rejected as PRECONDITION_FAILED
ifMatch rejected as PRECONDITION_FAILED
burned goneGuides
Des exemples pas à pas dans la documentation.
Chaque guide se copie-colle de bout en bout : le store, les routes, la moitié cliente, et ce qui casse si vous sautez une étape.
Essayez en une minute
Sans rien cloner.
- 01
Lancez MinIO avec la commande ci-dessus et créez un bucket.
- 02
Écrivez une configuration de départ et vérifiez-la.
- 03
Déplacez un fichier, et récupérez-le avec un code tapé n’importe comment.
Déposez un fichier. Donnez le code.
Pointez-le sur le bucket que vous payez déjà. Rien à déployer, aucune inscription, personne au milieu.