import 'dart:convert'; import 'package:flutter/foundation.dart'; import 'package:shared_preferences/shared_preferences.dart'; /// Service simple de cache local basé sur SharedPreferences. /// /// Fonctionne sur mobile et sur Flutter Web pour conserver des données /// locales légères quand cela apporte une vraie valeur. class CacheService { SharedPreferences? _prefs; Future init() async { _prefs = await SharedPreferences.getInstance(); } bool ready() => _prefs != null; Future setJson(String key, Map value) async { if (_prefs == null) return; await _prefs!.setString(key, jsonEncode(value)); } Map? getJson(String key) { if (_prefs == null) return null; final s = _prefs!.getString(key); if (s == null) return null; try { return jsonDecode(s) as Map; } catch (e) { if (kDebugMode) print('CacheService getJson error: $e'); return null; } } Future setString(String key, String value) async { if (_prefs == null) return; await _prefs!.setString(key, value); } String? getString(String key) => _prefs?.getString(key); }