Partie 8 — Persistance locale : SQLite
⏱️ TL;DR — L’historique, les records et les statistiques de Drill méritent une vraie base : expo-sqlite, une base SQL complète DANS le téléphone. Ouverture et CRUD, schéma versionné avec migrations (
PRAGMA user_version), requêtes d’agrégats pour les stats (records par thème, taux de réussite, progression), et un mot sur Drizzle ORM pour les projets qui grossissent. Scores 100 % locaux — ADR 0001 tenu jusqu’au bout.
Pourquoi cette partie
AsyncStorage stocke des préférences ; il ne sait ni requêter, ni agréger, ni grandir. Or Drill veut : « meilleur score par thème », « taux de réussite sur les questions Symfony ce mois-ci », « les questions les plus ratées » (futur Drill v2). C’est du SQL — et votre téléphone embarque SQLite, le moteur de base de données le plus déployé au monde.
Les chapitres
| Chapitre | Contenu |
|---|---|
| 8.1 — expo-sqlite | Ouvrir la base, exécuter, transactions, le provider |
| 8.2 — Le schéma de Drill | Tables sessions/réponses, migrations user_version |
| 8.3 — Stats & records | Agrégats SQL : records, progression, historique branché |
| 8.4 — Drizzle ORM (option) | Requêtes typées — quand et pourquoi passer à l’ORM |
👉 Commencez par le chapitre 8.1.