diff --git a/android/gradle.properties b/android/gradle.properties
index 85b94f88ee157e1d1b3cec184c8948902443d36f..65eed6426393974efb5a056ec44936d42b5ef2a1 100644
--- a/android/gradle.properties
+++ b/android/gradle.properties
@@ -1,5 +1,5 @@
 org.gradle.jvmargs=-Xmx1536M
 android.useAndroidX=true
 android.enableJetifier=true
-app.versionName=0.0.7
-app.versionCode=7
+app.versionName=0.0.8
+app.versionCode=8
diff --git a/fastlane/metadata/android/en-US/changelogs/8.txt b/fastlane/metadata/android/en-US/changelogs/8.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fa2e56b41c847c0c4777b0c0b2c3aa44948dd10f
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/8.txt
@@ -0,0 +1 @@
+Save and restore game settings
diff --git a/fastlane/metadata/android/fr-FR/changelogs/8.txt b/fastlane/metadata/android/fr-FR/changelogs/8.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ded4ff2dae2a42a54f0c449a2fa9347261ae4e70
--- /dev/null
+++ b/fastlane/metadata/android/fr-FR/changelogs/8.txt
@@ -0,0 +1 @@
+Sauvegarde et restauration des paramètres de jeu
diff --git a/lib/provider/data.dart b/lib/provider/data.dart
index 75cf51392870f4d9269d32b4150ff3c17cf209e9..7f90cf37c447cf7f43fb143cf68474e29fbca2cd 100644
--- a/lib/provider/data.dart
+++ b/lib/provider/data.dart
@@ -1,18 +1,24 @@
 import 'package:flutter/foundation.dart';
+import 'package:shared_preferences/shared_preferences.dart';
 
 class Data extends ChangeNotifier {
 
   // Configuration available values
   List _availableDifficultyLevels = ['easy', 'medium', 'hard', 'nightmare'];
   List _availableSizes = ['10x10', '15x15', '20x20'];
+  List _availableSkins = ['default'];
 
   List get availableDifficultyLevels => _availableDifficultyLevels;
   List get availableSizes => _availableSizes;
+  List get availableSkins => _availableSkins;
 
   // Application default configuration
-  String _level = 'medium';
-  String _size = '15x15';
-  String _skin = 'default';
+  String _level = null;
+  String _levelDefault = 'medium';
+  String _size = null;
+  String _sizeDefault = '15x15';
+  String _skin = null;
+  String _skinDefault = 'default';
 
   // Game data
   bool _gameRunning = false;
@@ -53,6 +59,8 @@ class Data extends ChangeNotifier {
       break;
       case 'size': { return _size; }
       break;
+      case 'skin': { return _skin; }
+      break;
     }
   }
 
@@ -62,16 +70,29 @@ class Data extends ChangeNotifier {
       break;
       case 'size': { return _availableSizes; }
       break;
+      case 'skin': { return _availableSkins; }
+      break;
     }
   }
 
-  setParameterValue(String parameterCode, String parameterValue) {
+  setParameterValue(String parameterCode, String parameterValue) async {
     switch(parameterCode) {
       case 'difficulty': { updateLevel(parameterValue); }
       break;
       case 'size': { updateSize(parameterValue); }
       break;
+      case 'skin': { updateSkin(parameterValue); }
+      break;
     }
+    final prefs = await SharedPreferences.getInstance();
+    prefs.setString(parameterCode, parameterValue);
+  }
+
+  void initParametersValues() async {
+    final prefs = await SharedPreferences.getInstance();
+    setParameterValue('difficulty', prefs.getString('difficulty') ?? _levelDefault);
+    setParameterValue('size', prefs.getString('size') ?? _sizeDefault);
+    setParameterValue('skin', prefs.getString('skin') ?? _skinDefault);
   }
 
   List get cells => _cells;
diff --git a/lib/screens/home.dart b/lib/screens/home.dart
index 204be18a3d6204578b4c7596fe415b1cca727446..6dbde15516c2030d8526ff4a92e1b7e1a98002bd 100644
--- a/lib/screens/home.dart
+++ b/lib/screens/home.dart
@@ -6,9 +6,22 @@ import '../layout/parameters.dart';
 import '../provider/data.dart';
 import '../utils/game_utils.dart';
 
-class Home extends StatelessWidget {
+class Home extends StatefulWidget {
   static const String id = 'home';
 
+  @override
+  _HomeState createState() => _HomeState();
+}
+
+class _HomeState extends State<Home> {
+  @override
+  void initState() {
+    super.initState();
+
+    Data myProvider = Provider.of<Data>(context, listen: false);
+    myProvider.initParametersValues();
+  }
+
   @override
   Widget build(BuildContext context) {
     Data myProvider = Provider.of<Data>(context);
diff --git a/pubspec.lock b/pubspec.lock
index b6eca0d9a310f699c2be40fd6273acfa381332e9..dd1b0e5e19dad6f80a9f30a2edf7f3fa0fec70e7 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -50,6 +50,20 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.2.0"
+  ffi:
+    dependency: transitive
+    description:
+      name: ffi
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.1.2"
+  file:
+    dependency: transitive
+    description:
+      name: file
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "6.1.2"
   flutter:
     dependency: "direct main"
     description: flutter
@@ -60,6 +74,18 @@ packages:
     description: flutter
     source: sdk
     version: "0.0.0"
+  flutter_web_plugins:
+    dependency: transitive
+    description: flutter
+    source: sdk
+    version: "0.0.0"
+  js:
+    dependency: transitive
+    description:
+      name: js
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.6.3"
   matcher:
     dependency: transitive
     description:
@@ -88,6 +114,48 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.8.0"
+  path_provider_linux:
+    dependency: transitive
+    description:
+      name: path_provider_linux
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.0.2"
+  path_provider_platform_interface:
+    dependency: transitive
+    description:
+      name: path_provider_platform_interface
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.0.1"
+  path_provider_windows:
+    dependency: transitive
+    description:
+      name: path_provider_windows
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.0.3"
+  platform:
+    dependency: transitive
+    description:
+      name: platform
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "3.0.0"
+  plugin_platform_interface:
+    dependency: transitive
+    description:
+      name: plugin_platform_interface
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.0.1"
+  process:
+    dependency: transitive
+    description:
+      name: process
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "4.2.3"
   provider:
     dependency: "direct main"
     description:
@@ -95,6 +163,48 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "5.0.0"
+  shared_preferences:
+    dependency: "direct main"
+    description:
+      name: shared_preferences
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.0.6"
+  shared_preferences_linux:
+    dependency: transitive
+    description:
+      name: shared_preferences_linux
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.0.2"
+  shared_preferences_macos:
+    dependency: transitive
+    description:
+      name: shared_preferences_macos
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.0.2"
+  shared_preferences_platform_interface:
+    dependency: transitive
+    description:
+      name: shared_preferences_platform_interface
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.0.0"
+  shared_preferences_web:
+    dependency: transitive
+    description:
+      name: shared_preferences_web
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.0.1"
+  shared_preferences_windows:
+    dependency: transitive
+    description:
+      name: shared_preferences_windows
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.0.2"
   sky_engine:
     dependency: transitive
     description: flutter
@@ -156,6 +266,20 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "2.1.0"
+  win32:
+    dependency: transitive
+    description:
+      name: win32
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.2.5"
+  xdg_directories:
+    dependency: transitive
+    description:
+      name: xdg_directories
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.2.0"
 sdks:
-  dart: ">=2.12.0 <3.0.0"
-  flutter: ">=1.16.0"
+  dart: ">=2.13.0 <3.0.0"
+  flutter: ">=2.0.0"
diff --git a/pubspec.yaml b/pubspec.yaml
index 2b41f4f19fe230f65d2edd16a773e2f321c5f59b..c15502e7c337f2d0133e94844464ead7b04a80a9 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -10,6 +10,7 @@ dependencies:
   flutter:
     sdk: flutter
   provider: ^5.0.0
+  shared_preferences: ^2.0.6
 
 dev_dependencies:
   flutter_test: