diff --git a/analysis_options.yaml b/analysis_options.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f9b303465f19b5fbf5ec669cd083c9cc38ecda9a
--- /dev/null
+++ b/analysis_options.yaml
@@ -0,0 +1 @@
+include: package:flutter_lints/flutter.yaml
diff --git a/android/gradle.properties b/android/gradle.properties
index b1ac45ad76b5028a746e117b82b3cb45e7147ce0..084a0c045b1c6d975aa8526aa9dfb21671ceda75 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.1.34
-app.versionCode=58
+app.versionName=0.1.35
+app.versionCode=59
diff --git a/fastlane/metadata/android/en-US/changelogs/59.txt b/fastlane/metadata/android/en-US/changelogs/59.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6ab11150150fc75a46c9acc317890208e5a120b9
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/59.txt
@@ -0,0 +1 @@
+Add automatic flutter linter. Apply code lints. Update dependencies.
diff --git a/fastlane/metadata/android/fr-FR/changelogs/59.txt b/fastlane/metadata/android/fr-FR/changelogs/59.txt
new file mode 100644
index 0000000000000000000000000000000000000000..609f5cf6e95a8df0799865df2e1ebde8fa981e5a
--- /dev/null
+++ b/fastlane/metadata/android/fr-FR/changelogs/59.txt
@@ -0,0 +1 @@
+Ajout d'un correcteur automatique de code. Application des corrections. Mise Γ  jour des dΓ©pendances.
diff --git a/lib/main.dart b/lib/main.dart
index a8b8d269c836d8cff0c01d1e5d3c46576adfbf3f..0223044f153427fa22c445e25b2a09f0c9d6770a 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -10,10 +10,12 @@ import 'package:wordguessing/screens/home.dart';
 void main() {
   WidgetsFlutterBinding.ensureInitialized();
   SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp])
-      .then((value) => runApp(MyApp()));
+      .then((value) => runApp(const MyApp()));
 }
 
 class MyApp extends StatelessWidget {
+  const MyApp({super.key});
+
   @override
   Widget build(BuildContext context) {
     return ChangeNotifierProvider(
@@ -24,15 +26,15 @@ class MyApp extends StatelessWidget {
           theme: ThemeData(
             primarySwatch: Colors.blue,
           ),
-          home: Home(),
+          home: const Home(),
           onGenerateRoute: (settings) {
             switch (settings.name) {
               case '/game-pick-word':
-                return MaterialPageRoute(builder: (context) => GamePickWordPage());
+                return MaterialPageRoute(builder: (context) => const GamePickWordPage());
 
               case '/game-pick-image':
                 return MaterialPageRoute(
-                  builder: (context) => GamePickImagePage(),
+                  builder: (context) => const GamePickImagePage(),
                 );
 
               default:
diff --git a/lib/models/word.dart b/lib/models/word.dart
index d0cb851541e794c85a9dd6ff698b2752c9f33e20..bd5dfc3c448102e563fb358f5e94ad8700adf45a 100644
--- a/lib/models/word.dart
+++ b/lib/models/word.dart
@@ -11,13 +11,14 @@ class Word {
 
   Map<String, dynamic> toJson() {
     return {
-      'key': this.key,
-      'text': this.text,
-      'images': this.images.toString(),
+      'key': key,
+      'text': text,
+      'images': images.toString(),
     };
   }
 
+  @override
   String toString() {
-    return this.toJson().toString();
+    return toJson().toString();
   }
 }
diff --git a/lib/screens/game.dart b/lib/screens/game.dart
index a887af7178b8191fcd38fc8c07999daac8f32856..00ede253129c7f06cc7a81bc1f796c9f24536b9f 100644
--- a/lib/screens/game.dart
+++ b/lib/screens/game.dart
@@ -4,6 +4,8 @@ import 'package:provider/provider.dart';
 import 'package:wordguessing/provider/data.dart';
 
 class Game extends StatelessWidget {
+  const Game({super.key});
+
   final int countWords = 4;
 
   Future<void> startGame(Data myProvider, String lang) async {
@@ -48,7 +50,7 @@ class Game extends StatelessWidget {
       ),
       child: Text(
         text,
-        style: TextStyle(
+        style: const TextStyle(
           fontSize: 25,
           fontWeight: FontWeight.w600,
           color: Colors.black,
@@ -59,12 +61,12 @@ class Game extends StatelessWidget {
 
   String getGoodAnswersString(Data myProvider) {
     final int count = myProvider.questionsCount - 1;
-    return 'πŸ‘ ' + myProvider.goodAnswers.toString() + '/' + count.toString();
+    return 'πŸ‘ ${myProvider.goodAnswers}/$count';
   }
 
   String getWrongAnswersString(Data myProvider) {
     final int count = myProvider.questionsCount - 1;
-    return '🚩 ' + myProvider.wrongAnswers.toString() + '/' + count.toString();
+    return '🚩 ${myProvider.wrongAnswers}/$count';
   }
 
   Widget buildScoreContainer(Data myProvider) {
@@ -93,41 +95,37 @@ class Game extends StatelessWidget {
       mainAxisSize: MainAxisSize.min,
       mainAxisAlignment: MainAxisAlignment.center,
       children: [
-        Container(
-          child: ElevatedButton(
-            style: ElevatedButton.styleFrom(
-              foregroundColor: Colors.teal,
-              backgroundColor: Colors.teal,
-              padding: const EdgeInsets.all(35),
-            ),
-            child: const Text(
-              "πŸ‡«πŸ‡·",
-              style: TextStyle(
-                fontSize: 60,
-                color: Colors.black,
-              ),
+        ElevatedButton(
+          style: ElevatedButton.styleFrom(
+            foregroundColor: Colors.teal,
+            backgroundColor: Colors.teal,
+            padding: const EdgeInsets.all(35),
+          ),
+          child: const Text(
+            "πŸ‡«πŸ‡·",
+            style: TextStyle(
+              fontSize: 60,
+              color: Colors.black,
             ),
-            onPressed: () => startGame(myProvider, 'fr'),
           ),
+          onPressed: () => startGame(myProvider, 'fr'),
         ),
         const SizedBox(height: 15),
-        Container(
-          child: ElevatedButton(
-            style: ElevatedButton.styleFrom(
-              foregroundColor: Colors.teal,
-              backgroundColor: Colors.teal,
-              padding: const EdgeInsets.all(35),
-            ),
-            child: const Text(
-              "πŸ‡¬πŸ‡§",
-              style: TextStyle(
-                fontSize: 60,
-                color: Colors.black,
-              ),
+        ElevatedButton(
+          style: ElevatedButton.styleFrom(
+            foregroundColor: Colors.teal,
+            backgroundColor: Colors.teal,
+            padding: const EdgeInsets.all(35),
+          ),
+          child: const Text(
+            "πŸ‡¬πŸ‡§",
+            style: TextStyle(
+              fontSize: 60,
+              color: Colors.black,
             ),
-            onPressed: () => startGame(myProvider, 'en'),
           ),
-        )
+          onPressed: () => startGame(myProvider, 'en'),
+        ),
       ],
     );
   }
@@ -161,15 +159,13 @@ class Game extends StatelessWidget {
     );
 
     return SizedBox.expand(
-      child: Container(
-        child: FittedBox(
-          fit: BoxFit.contain,
-          alignment: Alignment.center,
-          child: SizedBox(
-            height: (MediaQuery.of(context).size.height),
-            width: (MediaQuery.of(context).size.width),
-            child: pageContent,
-          ),
+      child: FittedBox(
+        fit: BoxFit.contain,
+        alignment: Alignment.center,
+        child: SizedBox(
+          height: (MediaQuery.of(context).size.height),
+          width: (MediaQuery.of(context).size.width),
+          child: pageContent,
         ),
       ),
     );
diff --git a/lib/screens/game_pick_image.dart b/lib/screens/game_pick_image.dart
index 7f5929e51bf09de1ee118676268986140aac0a72..e0facc8cc34f1456f30de8656ad0ff37efbdd2dd 100644
--- a/lib/screens/game_pick_image.dart
+++ b/lib/screens/game_pick_image.dart
@@ -6,6 +6,9 @@ import 'package:wordguessing/screens/game.dart';
 import 'package:wordguessing/utils/random_pick_words.dart';
 
 class GamePickImagePage extends Game {
+  const GamePickImagePage({super.key});
+
+  @override
   Future<void> pickData(Data myProvider) async {
     final RandomPickWords randomPickWords = RandomPickWords();
     Word word;
@@ -22,9 +25,9 @@ class GamePickImagePage extends Game {
         myProvider.updateWord(word);
 
         final List<Word> images = [];
-        words.forEach((element) {
+        for (var element in words) {
           images.add(element);
-        });
+        }
 
         myProvider.updateImages(images);
       }
@@ -37,32 +40,30 @@ class GamePickImagePage extends Game {
     const double imageSize = 130;
 
     String imageAsset = 'assets/placeholder.png';
-    if ((word.images.length != 0)) {
-      imageAsset = 'assets/images/' + word.images[0];
+    if ((word.images.isNotEmpty)) {
+      imageAsset = 'assets/images/${word.images[0]}';
     }
 
-    return Container(
-      child: TextButton(
-        child: Container(
-          decoration: BoxDecoration(
-            borderRadius: BorderRadius.circular(8),
-            border: Border.all(
-              color: Colors.blue.shade200,
-              width: 8,
-            ),
-          ),
-          margin: const EdgeInsets.all(2),
-          child: Image(
-            image: AssetImage(imageAsset),
-            width: imageSize,
-            height: imageSize,
-            fit: BoxFit.fill,
+    return TextButton(
+      child: Container(
+        decoration: BoxDecoration(
+          borderRadius: BorderRadius.circular(8),
+          border: Border.all(
+            color: Colors.blue.shade200,
+            width: 8,
           ),
         ),
-        onPressed: () {
-          checkWord(myProvider, word);
-        },
+        margin: const EdgeInsets.all(2),
+        child: Image(
+          image: AssetImage(imageAsset),
+          width: imageSize,
+          height: imageSize,
+          fit: BoxFit.fill,
+        ),
       ),
+      onPressed: () {
+        checkWord(myProvider, word);
+      },
     );
   }
 
@@ -119,7 +120,7 @@ class GamePickImagePage extends Game {
         padding: const EdgeInsets.all(12),
         child: Text(
           word.text,
-          style: TextStyle(
+          style: const TextStyle(
             fontSize: 30,
             fontWeight: FontWeight.w600,
             color: Colors.white,
@@ -129,6 +130,7 @@ class GamePickImagePage extends Game {
     );
   }
 
+  @override
   List<Widget> buildPageContent(Data myProvider) {
     return <Widget>[
       buildTextItemBlock(myProvider),
diff --git a/lib/screens/game_pick_word.dart b/lib/screens/game_pick_word.dart
index 66403f1e524de53f4e9fdb97202451046a332836..86b842d69c214d7dcdbdcb8588f50f2f7b5d0fd1 100644
--- a/lib/screens/game_pick_word.dart
+++ b/lib/screens/game_pick_word.dart
@@ -6,6 +6,9 @@ import 'package:wordguessing/screens/game.dart';
 import 'package:wordguessing/utils/random_pick_words.dart';
 
 class GamePickWordPage extends Game {
+  const GamePickWordPage({super.key});
+
+  @override
   Future<void> pickData(Data myProvider) async {
     final RandomPickWords randomPickWords = RandomPickWords();
     Word word;
@@ -33,7 +36,7 @@ class GamePickWordPage extends Game {
 
     String imageAsset = 'assets/placeholder.png';
     if (image != '') {
-      imageAsset = 'assets/images/' + image;
+      imageAsset = 'assets/images/$image';
     }
 
     return Container(
@@ -96,7 +99,7 @@ class GamePickWordPage extends Game {
         ),
         child: Text(
           word.text,
-          style: TextStyle(
+          style: const TextStyle(
             fontSize: 20,
             fontWeight: FontWeight.w600,
             color: Colors.white,
@@ -114,7 +117,7 @@ class GamePickWordPage extends Game {
     List<Word> otherWords = myProvider.otherWords;
 
     if ((word == null) || (otherWords.length != (countWords - 1))) {
-      return Column();
+      return const Column();
     }
 
     List<Word> words = [
@@ -153,9 +156,10 @@ class GamePickWordPage extends Game {
     );
   }
 
+  @override
   List<Widget> buildPageContent(Data myProvider) {
     return <Widget>[
-      (myProvider.images.length != 0)
+      (myProvider.images.isNotEmpty)
           ? buildImageItemsBlock(myProvider.images[0])
           : const SizedBox.shrink(),
       const SizedBox(height: 2),
diff --git a/lib/screens/home.dart b/lib/screens/home.dart
index 8b664e9e48fe9e78f4c264c718d646325e267f0a..e83989992c5d71837bebd95d617b4052e1a3558a 100644
--- a/lib/screens/home.dart
+++ b/lib/screens/home.dart
@@ -4,6 +4,8 @@ import 'package:provider/provider.dart';
 import 'package:wordguessing/provider/data.dart';
 
 class Home extends StatelessWidget {
+  const Home({super.key});
+
   static const String id = 'home';
 
   @override
@@ -13,7 +15,7 @@ class Home extends StatelessWidget {
     Container buildMenuItemContainer(String code, Color color) {
       const double imageSize = 150;
 
-      final String imageAsset = 'assets/menu/' + code + '.png';
+      final String imageAsset = 'assets/menu/$code.png';
 
       return Container(
         margin: const EdgeInsets.all(2),
@@ -35,7 +37,7 @@ class Home extends StatelessWidget {
             myProvider.resetGame();
             Navigator.pushNamed(
               context,
-              '/' + code,
+              '/$code',
             );
           },
         ),
diff --git a/lib/utils/random_pick_words.dart b/lib/utils/random_pick_words.dart
index e0fe729f70e6166d5bd04abdb1cd82d4f3330ac1..a65f418ceef97bdb27344a77d522a91907b85a50 100644
--- a/lib/utils/random_pick_words.dart
+++ b/lib/utils/random_pick_words.dart
@@ -24,13 +24,13 @@ class RandomPickWords {
 
       wordsMap.forEach((key, data) {
         final List<String> images = [];
-        (data['images'] as List<dynamic>).forEach((image) {
+        for (var image in (data['images'] as List<dynamic>)) {
           images.add(image as String);
-        });
+        }
 
         images.shuffle();
 
-        if (images.length != 0) {
+        if (images.isNotEmpty) {
           wordList.add(Word(
             key: key,
             text: data[lang] ?? '',
diff --git a/pubspec.lock b/pubspec.lock
index aa6ea1ddaf3377e73068c1bf11a79fb671586772..4abc6fe4745a68c7a413405f1ddfd8cad617a2bb 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -22,22 +22,38 @@ packages:
     description: flutter
     source: sdk
     version: "0.0.0"
+  flutter_lints:
+    dependency: "direct dev"
+    description:
+      name: flutter_lints
+      sha256: e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7
+      url: "https://pub.dev"
+    source: hosted
+    version: "3.0.1"
+  lints:
+    dependency: transitive
+    description:
+      name: lints
+      sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
+      url: "https://pub.dev"
+    source: hosted
+    version: "3.0.0"
   material_color_utilities:
     dependency: transitive
     description:
       name: material_color_utilities
-      sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
+      sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
       url: "https://pub.dev"
     source: hosted
-    version: "0.5.0"
+    version: "0.8.0"
   meta:
     dependency: transitive
     description:
       name: meta
-      sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e
+      sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
       url: "https://pub.dev"
     source: hosted
-    version: "1.10.0"
+    version: "1.11.0"
   nested:
     dependency: transitive
     description:
@@ -67,14 +83,6 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "2.1.4"
-  web:
-    dependency: transitive
-    description:
-      name: web
-      sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152
-      url: "https://pub.dev"
-    source: hosted
-    version: "0.3.0"
 sdks:
-  dart: ">=3.2.0-194.0.dev <4.0.0"
+  dart: ">=3.2.0-0 <4.0.0"
   flutter: ">=1.16.0"
diff --git a/pubspec.yaml b/pubspec.yaml
index a33fb28eb74a5cb444ecf5a3195aa72c5decb198..9086709d206c5248a0e8b6514e12f24619507642 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,7 +1,7 @@
 name: wordguessing
 description: A wordguessing game application.
 publish_to: 'none'
-version: 0.1.34+58
+version: 0.1.35+59
 
 environment:
   sdk: '^3.0.0'
@@ -11,6 +11,9 @@ dependencies:
     sdk: flutter
   provider: ^6.0.5
 
+dev_dependencies:
+  flutter_lints: ^3.0.1
+
 flutter:
   uses-material-design: true
   assets: