SQLite est devenue en 2026 l’option de référence pour les startups francophones qui veulent simplicité, performance, et coût minimal. Plus de Postgres lourd à gérer, plus de Firebase vendor-locked. Litestream ajoute réplication continue de SQLite vers S3/MinIO/B2. Turso offre SQLite distribué edge avec libSQL fork moderne. Ce guide détaille les deux approches pour PME africaines à Dakar, Abidjan, Casablanca.
Sommaire
- Pourquoi SQLite en 2026
- Litestream vs Turso vs SQLite pur
- Vue d’ensemble pratique
- Tutoriels du cluster
- Cas d’usage
- Adaptation au contexte ouest-africain
- Erreurs fréquentes
- FAQ
Pourquoi SQLite en 2026
Cinq raisons concrètes.
Performance. SQLite gère 100 000+ writes/sec sur SSD moderne. Reads en mémoire = sub-microsecondes. Plus rapide que Postgres pour 95% des charges PME.
Simplicité. Pas de serveur, pas de connexions, pas de pool. Un fichier app.db. Backup = copie. Migration = scp.
Coût zéro. SQLite gratuit. Pas de DBA, pas de cluster Postgres, pas de Firebase. VPS Hetzner CX22 (4,51 €/mois) tient SaaS 10 000 users.
Embedded. SQLite intégré dans Bun, Deno, mobile apps natives. Pas de réseau, pas de latence.
Réplication continue. Litestream stream WAL vers S3 toutes les secondes. Recovery point < 1 sec. Bcp plus simple que Postgres replication.
Litestream vs Turso vs SQLite pur
SQLite pur (single-file)
Le plus simple. app.db sur VPS. Backup = cron rsync. Limites : single-server, pas de read replicas, pas de edge.
Litestream
Process séparé qui stream WAL SQLite vers S3 (MinIO, B2, AWS) en continu. Restore depuis snapshot S3 en cas de crash. Single-writer mais survit aux désastres serveur.
Turso (libSQL)
Fork SQLite avec serveur HTTP, replication multi-region edge, embedded replicas. Cloud SaaS ou self-hosted. Modèle distribué moderne.
rqlite
Cluster SQLite via Raft consensus. Multi-writer, mais latence augmentée. Pour clusters HA strict.
Vue d’ensemble pratique
1. SQLite + Litestream sur VPS unique
App + SQLite + Litestream daemon → S3 stream. Voir Litestream sur VPS avec S3.
2. Turso self-hosted
libSQL serveur + clients distribués. Voir Déployer Turso self-hosted.
3. Bun + SQLite intégré
Bun a SQLite natif Bun.sql + Bun:sqlite. Voir Bun + SQLite + Litestream production.
4. Migration depuis Postgres ou Firebase
Voir Migrer de Postgres ou Firebase vers SQLite.
Tutoriels du cluster Litestream/Turso
- Litestream sur VPS avec S3 réplication
- Déployer Turso libSQL self-hosted
- Bun + SQLite + Litestream en production
- Migrer de Postgres ou Firebase vers SQLite
Cas d’usage
SaaS B2B early stage
SaaS à Dakar 0-1000 users : SQLite + Litestream sur Hetzner CX22 = 4,51 €/mois. Postgres surdimensionné. Migration future possible.
Apps mobile offline-first
App à Abidjan opérant en zones rurales : SQLite local sur device + sync différée. Fonctionne offline-first natif.
Edge serverless
API serverless via Cloudflare Workers + Turso edge : latence < 10ms partout. Idéal API mobile money lookup.
Outils internes PME
Outil RH/CRM PME 50 personnes : SQLite + Litestream = simplicité max. Postgres overkill.
Documentation et CMS
Site Astro/Next.js avec base SQLite : queries au build, performance excellente.
Adaptation au contexte ouest-africain
Quatre adaptations.
Coût. Postgres managé Supabase = 25 USD/mois minimum. SQLite + Litestream = 4,51 €/mois VPS + 1 USD/mois B2. Économie x5.
Embedded mobile. Apps mobile Dakar/Abidjan : SQLite natif iOS/Android. Pas de connexion réseau pour reads. UX fluide même sur 3G partagée.
Edge Africa. Turso edge replicas : Lagos, Le Cap, Casablanca disponibles. Latence < 30 ms.
Backups offsite simples. Litestream → Backblaze B2 = 1 USD/To/mois. Snapshot continu sans script complexe.
Erreurs fréquentes
| Erreur | Cause | Solution |
|---|---|---|
| SQLite locked errors | Multi-writer threads | WAL mode + busy_timeout |
| Litestream lag | Bandwidth limité | Tuner snapshot interval |
| Migration schema lente | SQLite ALTER limité | Recréer table + INSERT INTO |
| Performance dégrade | Pas de VACUUM | VACUUM nuit + auto_vacuum=incremental |
| Concurrent writes échouent | SQLite lock | Queue writes ou Turso |
| Backup file corrompu | Copie pendant write | Toujours .backup() ou Litestream |
FAQ
SQLite vraiment production ? Oui. WhatsApp, Apple, Mozilla utilisent SQLite. Linus Torvalds aussi. Sérieux.
Limite users ? 100k users avec read-heavy OK. Write-heavy = limites apparaissent.
Postgres vs SQLite décision ? SQLite < 100k users + reads-heavy. Postgres > 100k ou multi-writers concurrents.
Litestream vs replicat de Postgres ? Litestream = single-writer, eventual consistency vers S3. Postgres replication = multi-server sync.
Turso paid ? Cloud à partir de 0 USD (free tier 500 DB, 1 GB total). Self-host gratuit illimité.
libSQL vs SQLite ? libSQL fork avec serveur HTTP, embedded replicas, async I/O. Compatible drop-in SQLite.
Drizzle ORM compatible ? Oui. Drizzle + better-sqlite3 ou Bun:sqlite. Patterns identiques Postgres.
Pour aller plus loin
- Démarrer maintenant : Litestream sur VPS
- Documentation Litestream : litestream.io
- Documentation Turso : turso.tech