diff --git a/android/gradle.properties b/android/gradle.properties
index 14eed3944b547f02179b1b42f4b601f91b7957c0..aa51064abebb79ba519e600afb7af23779154d4e 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.4
-app.versionCode=4
+app.versionName=0.0.5
+app.versionCode=5
diff --git a/fastlane/metadata/android/en-US/changelogs/5.txt b/fastlane/metadata/android/en-US/changelogs/5.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2bbe4a913393aeeceb8a7d8c9812849dd191a35e
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/5.txt
@@ -0,0 +1 @@
+Upgrade Flutter framework and dependencies, clean some code
diff --git a/fastlane/metadata/android/fr-FR/changelogs/5.txt b/fastlane/metadata/android/fr-FR/changelogs/5.txt
new file mode 100644
index 0000000000000000000000000000000000000000..864ad0a1475fcf2e546cb12d3c49c1d895ef43b2
--- /dev/null
+++ b/fastlane/metadata/android/fr-FR/changelogs/5.txt
@@ -0,0 +1 @@
+Mise à jour du framework Flutter et de ses dépendances, nettoyage de code
diff --git a/ios/Flutter/Generated.xcconfig b/ios/Flutter/Generated.xcconfig
index 3c2c8301aa23144508b48b38aa0b5e4e946e330c..d7270374780262724fdadb749ed90c859e395b9a 100644
--- a/ios/Flutter/Generated.xcconfig
+++ b/ios/Flutter/Generated.xcconfig
@@ -7,7 +7,8 @@ FLUTTER_BUILD_DIR=build
 FLUTTER_BUILD_NAME=1.0.0
 FLUTTER_BUILD_NUMBER=1
 EXCLUDED_ARCHS[sdk=iphonesimulator*]=i386
+EXCLUDED_ARCHS[sdk=iphoneos*]=armv7
 DART_OBFUSCATION=false
-TRACK_WIDGET_CREATION=false
+TRACK_WIDGET_CREATION=true
 TREE_SHAKE_ICONS=false
 PACKAGE_CONFIG=.dart_tool/package_config.json
diff --git a/ios/Flutter/flutter_export_environment.sh b/ios/Flutter/flutter_export_environment.sh
index 8860bcf20e39c569cc58736c63b7d6a8cadba7ab..50c19baeaa8f9ac165536609e55511800b57b9d6 100755
--- a/ios/Flutter/flutter_export_environment.sh
+++ b/ios/Flutter/flutter_export_environment.sh
@@ -8,6 +8,6 @@ export "FLUTTER_BUILD_DIR=build"
 export "FLUTTER_BUILD_NAME=1.0.0"
 export "FLUTTER_BUILD_NUMBER=1"
 export "DART_OBFUSCATION=false"
-export "TRACK_WIDGET_CREATION=false"
+export "TRACK_WIDGET_CREATION=true"
 export "TREE_SHAKE_ICONS=false"
 export "PACKAGE_CONFIG=.dart_tool/package_config.json"
diff --git a/lib/layout/game.dart b/lib/layout/game.dart
index f479032ea69257d844223f749a72aefdcaa66bd6..095c8fc69ce0e3e001f8c92e512326f6553aa3bd 100644
--- a/lib/layout/game.dart
+++ b/lib/layout/game.dart
@@ -1,12 +1,9 @@
-import 'dart:math';
-
 import 'package:flutter/material.dart';
 
 import '../provider/data.dart';
 import '../utils/game_utils.dart';
 
 class Game {
-
   static Container buildGameWidget(Data myProvider) {
     bool gameIsFinished = myProvider.isGameFinished();
 
@@ -22,17 +19,15 @@ class Game {
           Container(
             height: 150,
             width: double.maxFinite,
-            child: gameIsFinished
-              ? Game.buildEndGameMessage(myProvider)
-              : Text('❇️'),
+            child: gameIsFinished ? Game.buildEndGameMessage(myProvider) : Text('❇️'),
           ),
         ],
       ),
     );
   }
 
-  static FlatButton buildRestartGameButton(Data myProvider) {
-    return FlatButton(
+  static TextButton buildRestartGameButton(Data myProvider) {
+    return TextButton(
       child: Container(
         child: Image(
           image: AssetImage('assets/icons/button_back.png'),
@@ -53,26 +48,24 @@ class Game {
 
     Image decorationImage = Image(
       image: AssetImage(decorationImageAssetName),
-      fit: BoxFit.fill
+      fit: BoxFit.fill,
     );
 
     return Container(
       margin: EdgeInsets.all(2),
       padding: EdgeInsets.all(2),
-
       child: Table(
         defaultColumnWidth: IntrinsicColumnWidth(),
         children: [
           TableRow(
             children: [
-              Column(children: [ decorationImage ]),
-              Column(children: [ buildRestartGameButton(myProvider) ]),
-              Column(children: [ decorationImage ]),
+              Column(children: [decorationImage]),
+              Column(children: [buildRestartGameButton(myProvider)]),
+              Column(children: [decorationImage]),
             ],
           ),
-        ]
-      )
+        ],
+      ),
     );
   }
-
 }
diff --git a/lib/layout/parameters.dart b/lib/layout/parameters.dart
index f0c097923c719756eea304d64f4c087938a07e72..f66b024567e9091019bfd4c350fafb21816bf45d 100644
--- a/lib/layout/parameters.dart
+++ b/lib/layout/parameters.dart
@@ -4,7 +4,6 @@ import '../provider/data.dart';
 import '../utils/game_utils.dart';
 
 class Parameters {
-
   static Container buildParametersSelector(Data myProvider) {
     return Container(
       padding: EdgeInsets.all(2),
@@ -17,7 +16,6 @@ class Parameters {
           SizedBox(height: 5),
           Parameters.buildParameterSelector(myProvider, 'skin'),
           SizedBox(height: 5),
-
           Parameters.buildStartGameButton(myProvider),
         ],
       ),
@@ -29,15 +27,14 @@ class Parameters {
       children: [
         Image(
           image: AssetImage('assets/icons/game_win.png'),
-          fit: BoxFit.fill
+          fit: BoxFit.fill,
         ),
-      ]
+      ],
     );
 
     return Container(
       margin: EdgeInsets.all(2),
       padding: EdgeInsets.all(2),
-
       child: Table(
         defaultColumnWidth: IntrinsicColumnWidth(),
         children: [
@@ -46,7 +43,7 @@ class Parameters {
               decorationImage,
               Column(
                 children: [
-                  FlatButton(
+                  TextButton(
                     child: Container(
                       child: Image(
                         image: AssetImage('assets/icons/button_start.png'),
@@ -55,13 +52,13 @@ class Parameters {
                     ),
                     onPressed: () => GameUtils.startGame(myProvider),
                   ),
-                ]
+                ],
               ),
               decorationImage,
             ],
           ),
-        ]
-      )
+        ],
+      ),
     );
   }
 
@@ -81,7 +78,7 @@ class Parameters {
               Column(
                 children: [
                   _buildParameterButton(myProvider, parameterCode, availableValues[index])
-                ]
+                ],
               ),
           ],
         ),
@@ -89,7 +86,8 @@ class Parameters {
     );
   }
 
-  static TextButton _buildParameterButton(Data myProvider, String parameterCode, String parameterValue) {
+  static TextButton _buildParameterButton(
+      Data myProvider, String parameterCode, String parameterValue) {
     String currentValue = myProvider.getParameterValue(parameterCode).toString();
 
     bool isActive = (parameterValue == currentValue);
@@ -114,5 +112,4 @@ class Parameters {
       onPressed: () => myProvider.setParameterValue(parameterCode, parameterValue),
     );
   }
-
 }
diff --git a/lib/main.dart b/lib/main.dart
index f4e8d27fb5fb887c9185aa132a18e36b21263aa9..039bcee8551d4ca2a0b1a2ecaa4eeef70934ae17 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -17,20 +17,23 @@ class MyApp extends StatelessWidget {
   Widget build(BuildContext context) {
     return ChangeNotifierProvider(
       create: (BuildContext context) => Data(),
-      child: Consumer<Data>(builder: (context, data, child) {
-        return OverlaySupport(
-          child: MaterialApp(
-            debugShowCheckedModeBanner: false,
-            theme: ThemeData(
-              primaryColor: Colors.blue,
-              visualDensity: VisualDensity.adaptivePlatformDensity,
+      child: Consumer<Data>(
+        builder: (context, data, child) {
+          return OverlaySupport(
+            child: MaterialApp(
+              debugShowCheckedModeBanner: false,
+              theme: ThemeData(
+                primaryColor: Colors.blue,
+                visualDensity: VisualDensity.adaptivePlatformDensity,
+              ),
+              home: Home(),
+              routes: {
+                Home.id: (context) => Home(),
+              },
             ),
-            home: Home(),
-            routes: {
-              Home.id: (context) => Home(),
-            },
-          ));
-      }),
+          );
+        },
+      ),
     );
   }
 }
diff --git a/lib/provider/data.dart b/lib/provider/data.dart
index 5546a6aed1453d4f5b53213b7603a0bc0c35f6c6..8c93cd8a9c553350b91dea5d7e7cf8e7890ad024 100644
--- a/lib/provider/data.dart
+++ b/lib/provider/data.dart
@@ -2,7 +2,6 @@ import 'package:flutter/foundation.dart';
 import 'package:shared_preferences/shared_preferences.dart';
 
 class Data extends ChangeNotifier {
-
   // Configuration available values
   List _availableLevelValues = ['easy', 'normal', 'hard', 'nightmare'];
   List _availableSkinValues = ['colors', 'retro'];
@@ -33,30 +32,44 @@ class Data extends ChangeNotifier {
   }
 
   getParameterValue(String parameterCode) {
-    switch(parameterCode) {
-      case 'level': { return _level; }
-      break;
-      case 'skin': { return _skin; }
-      break;
+    switch (parameterCode) {
+      case 'level':
+        {
+          return _level;
+        }
+      case 'skin':
+        {
+          return _skin;
+        }
     }
   }
 
   List getParameterAvailableValues(String parameterCode) {
-    switch(parameterCode) {
-      case 'level': { return _availableLevelValues; }
-      break;
-      case 'skin': { return _availableSkinValues; }
-      break;
+    switch (parameterCode) {
+      case 'level':
+        {
+          return _availableLevelValues;
+        }
+      case 'skin':
+        {
+          return _availableSkinValues;
+        }
     }
     return [];
   }
 
   setParameterValue(String parameterCode, String parameterValue) async {
-    switch(parameterCode) {
-      case 'level': { updateLevel(parameterValue); }
-      break;
-      case 'skin': { updateSkin(parameterValue); }
-      break;
+    switch (parameterCode) {
+      case 'level':
+        {
+          updateLevel(parameterValue);
+        }
+        break;
+      case 'skin':
+        {
+          updateSkin(parameterValue);
+        }
+        break;
     }
     final prefs = await SharedPreferences.getInstance();
     prefs.setString(parameterCode, parameterValue);
@@ -85,5 +98,4 @@ class Data extends ChangeNotifier {
     _gameWon = false;
     notifyListeners();
   }
-
 }
diff --git a/lib/screens/home.dart b/lib/screens/home.dart
index 1381d16b440973da96a90597717c719d2a262b58..f634d8165dede4d18cb8ef5564fb10f357176d5b 100644
--- a/lib/screens/home.dart
+++ b/lib/screens/home.dart
@@ -31,7 +31,7 @@ class _HomeState extends State<Home> {
 
     if (myProvider.gameIsRunning) {
       menuActions = [
-        FlatButton(
+        TextButton(
           child: Container(
             decoration: BoxDecoration(
               borderRadius: BorderRadius.circular(4),
@@ -43,7 +43,7 @@ class _HomeState extends State<Home> {
             margin: EdgeInsets.all(8),
             child: Image(
               image: AssetImage('assets/icons/button_back.png'),
-              fit: BoxFit.fill
+              fit: BoxFit.fill,
             ),
           ),
           onPressed: () => toast('Long press to quit game...'),
@@ -59,10 +59,10 @@ class _HomeState extends State<Home> {
       body: SafeArea(
         child: Center(
           child: myProvider.gameIsRunning
-            ? Game.buildGameWidget(myProvider)
-            : Parameters.buildParametersSelector(myProvider)
+              ? Game.buildGameWidget(myProvider)
+              : Parameters.buildParametersSelector(myProvider),
         ),
-      )
+      ),
     );
   }
 }
diff --git a/pubspec.lock b/pubspec.lock
index 07351092f78aafb89a47561387583ca658c8a097..c6a8d1d185d50a811c7dc375a759a3567d303e2f 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -7,7 +7,7 @@ packages:
       name: async
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.8.2"
+    version: "2.9.0"
   boolean_selector:
     dependency: transitive
     description:
@@ -21,21 +21,14 @@ packages:
       name: characters
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.2.0"
-  charcode:
-    dependency: transitive
-    description:
-      name: charcode
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "1.3.1"
+    version: "1.2.1"
   clock:
     dependency: transitive
     description:
       name: clock
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.1.0"
+    version: "1.1.1"
   collection:
     dependency: transitive
     description:
@@ -49,7 +42,7 @@ packages:
       name: fake_async
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.3.0"
+    version: "1.3.1"
   ffi:
     dependency: transitive
     description:
@@ -63,7 +56,7 @@ packages:
       name: file
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "6.1.2"
+    version: "6.1.4"
   flutter:
     dependency: "direct main"
     description: flutter
@@ -92,21 +85,21 @@ packages:
       name: matcher
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.12.11"
+    version: "0.12.12"
   material_color_utilities:
     dependency: transitive
     description:
       name: material_color_utilities
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.1.4"
+    version: "0.1.5"
   meta:
     dependency: transitive
     description:
       name: meta
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.7.0"
+    version: "1.8.0"
   nested:
     dependency: transitive
     description:
@@ -127,7 +120,7 @@ packages:
       name: path
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.8.1"
+    version: "1.8.2"
   path_provider_linux:
     dependency: transitive
     description:
@@ -148,7 +141,7 @@ packages:
       name: path_provider_windows
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.1.0"
+    version: "2.1.3"
   platform:
     dependency: transitive
     description:
@@ -162,7 +155,7 @@ packages:
       name: plugin_platform_interface
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.1.2"
+    version: "2.1.3"
   process:
     dependency: transitive
     description:
@@ -190,7 +183,7 @@ packages:
       name: shared_preferences_android
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.0.12"
+    version: "2.0.13"
   shared_preferences_ios:
     dependency: transitive
     description:
@@ -218,7 +211,7 @@ packages:
       name: shared_preferences_platform_interface
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.0.0"
+    version: "2.1.0"
   shared_preferences_web:
     dependency: transitive
     description:
@@ -244,7 +237,7 @@ packages:
       name: source_span
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.8.2"
+    version: "1.9.0"
   stack_trace:
     dependency: transitive
     description:
@@ -265,21 +258,21 @@ packages:
       name: string_scanner
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.1.0"
+    version: "1.1.1"
   term_glyph:
     dependency: transitive
     description:
       name: term_glyph
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.2.0"
+    version: "1.2.1"
   test_api:
     dependency: transitive
     description:
       name: test_api
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.4.9"
+    version: "0.4.12"
   vector_math:
     dependency: transitive
     description:
@@ -293,14 +286,14 @@ packages:
       name: win32
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.7.0"
+    version: "3.0.0"
   xdg_directories:
     dependency: transitive
     description:
       name: xdg_directories
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.2.0+1"
+    version: "0.2.0+2"
 sdks:
   dart: ">=2.17.0 <3.0.0"
   flutter: ">=3.0.0"