Applez Nous: +41 22 518 70 00
Pour sauvegarder des données de configuration légères (mode sombre activé, langue choisie, jeton de session utilisateur), le package shared_preferences enregistre des valeurs primitives sur le stockage persistant natif (NSUserDefaults sur iOS, SharedPreferences sur Android) :
import 'package:shared_preferences/shared_preferences.dart';
Future<void> enregistrerThemeFavori(bool modeSombre) async {
final prefs = await SharedPreferences.getInstance();
await prefs.setBool('cle_mode_sombre', modeSombre);
}
Future<bool> chargerThemeFavori() async {
final prefs = await SharedPreferences.getInstance();
return prefs.getBool('cle_mode_sombre') ?? false;
}
Pour stocker des volumes importants de données structurées accessibles hors connexion (cours enregistrés, leçons téléchargées, notes hors-ligne), nous utilisons SQLite via le package sqflite :
// Création d'une table locale sécurisée
await db.execute('''
CREATE TABLE cours_hors_ligne (
id TEXT PRIMARY KEY,
titre TEXT NOT NULL,
progression INTEGER NOT NULL
)
''');
L’application consulte d’abord le cache SQLite local pour afficher immédiatement le contenu à l’utilisateur, puis tente une synchronisation discrète en tâche de fond avec le serveur central d’Éducasuisse.
Synthèse pédagogique : La persistance locale transforme une simple interface connectée en un outil de travail autonome et résilient face aux aléas de connectivité.