kamazoun

#5 in README-fr.md

@@ -108,20 +108,21 @@ import 'package:get/get.dart'; @@ -108,20 +108,21 @@ import 'package:get/get.dart';
108 108
109 # Application Counter avec Getx 109 # Application Counter avec Getx
110 110
111 -Le projet "compteur" créé par défaut sur un nouveau projet sur Flutter comporte plus de 100 lignes (avec commentaires). Pour montrer la puissance de Get, je vais vous montrer comment faire un "compteur" changeant d'état à chaque clic, basculant entre les pages et partageant l'état entre les écrans, le tout de manière organisée, en séparant la logique métier de la vue, en UNIQUEMENT 26 LIGNES CODE INCLUANT LES COMMENTAIRES. 111 +Le projet "Counter" créé par défaut sur chaque nouveau projet Flutter comporte plus de 100 lignes (avec commentaires). Pour montrer la puissance de Get, je vais vous montrer comment faire un "compteur" changeant d'état à chaque clic, naviguer entre les pages et partager l'état entre les écrans, le tout de manière organisée, en séparant la Business logic de la Vue, en SEULEMENT 26 LIGNES DE CODE INCLUANT LES COMMENTAIRES.
112 - Step 1: 112 - Step 1:
113 - Add "Get" before your MaterialApp, turning it into GetMaterialApp 113 + Ajoutez "Get" avant MaterialApp, pour le transformer en GetMaterialApp
114 114
115 ```dart 115 ```dart
116 void main() => runApp(GetMaterialApp(home: Home())); 116 void main() => runApp(GetMaterialApp(home: Home()));
117 ``` 117 ```
118 118
119 -- Note: this does not modify the MaterialApp of the Flutter, GetMaterialApp is not a modified MaterialApp, it is just a pre-configured Widget, which has the default MaterialApp as a child. You can configure this manually, but it is definitely not necessary. GetMaterialApp will create routes, inject them, inject translations, inject everything you need for route navigation. If you use Get only for state management or dependency management, it is not necessary to use GetMaterialApp. GetMaterialApp is necessary for routes, snackbars, internationalization, bottomSheets, dialogs, and high-level apis related to routes and absence of context.  
120 -- Note²: This step in only necessary if you gonna use route management (`Get.to()`, `Get.back()` and so on). If you not gonna use it then it is not necessary to do step 1 119 +- Note: cela ne modifie pas le MaterialApp de Flutter, GetMaterialApp n'est pas un MaterialApp modifié, il s'agit simplement d'un widget préconfiguré, qui a le MaterialApp par défaut comme enfant (child: ). Vous pouvez le configurer manuellement, mais ce n'est certainement pas nécessaire. GetMaterialApp créera des routes, les injectera, injectera les traductions, injectera tout ce dont vous avez besoin pour la navigation de routes. Si vous utilisez Get uniquement pour la gestion de l'état (State management) ou la gestion des dépendances (DI), il n'est pas nécessaire d'utiliser GetMaterialApp. GetMaterialApp est nécessaire pour les routes, les 'snackbars', l'internationalisation, les 'bottomSheets', les dialogues et les API de haut niveau liés aux routes et à l'absence de 'context'.
  120 +
  121 +- Note²: Cette étape n'est nécessaire que si vous allez utiliser la gestion de routes (Get.to(), Get.back(), etc). Si vous ne l'utiliserez pas, il n'est pas nécessaire de faire l'étape 1.
121 122
122 - Step 2: 123 - Step 2:
123 - Create your business logic class and place all variables, methods and controllers inside it.  
124 - You can make any variable observable using a simple ".obs". 124 + Créez votre classe de Business logic et placez-y toutes les variables, méthodes et contrôleurs.
  125 + Vous pouvez rendre toute variable observable en utilisant un simple ".obs".
125 126
126 ```dart 127 ```dart
127 class Controller extends GetxController{ 128 class Controller extends GetxController{
@@ -131,7 +132,7 @@ class Controller extends GetxController{ @@ -131,7 +132,7 @@ class Controller extends GetxController{
131 ``` 132 ```
132 133
133 - Step 3: 134 - Step 3:
134 - Create your View, use StatelessWidget and save some RAM, with Get you may no longer need to use StatefulWidget. 135 + Créez votre Vue, utilisez StatelessWidget et économisez de la RAM, avec Get, vous n'aurez peut-être plus besoin d'utiliser StatefulWidget.
135 136
136 ```dart 137 ```dart
137 class Home extends StatelessWidget { 138 class Home extends StatelessWidget {
@@ -139,14 +140,14 @@ class Home extends StatelessWidget { @@ -139,14 +140,14 @@ class Home extends StatelessWidget {
139 @override 140 @override
140 Widget build(context) { 141 Widget build(context) {
141 142
142 - // Instantiate your class using Get.put() to make it available for all "child" routes there. 143 + // Instanciez votre classe en utilisant Get.put() pour le rendre disponible pour tous les routes "descendantes".
143 final Controller c = Get.put(Controller()); 144 final Controller c = Get.put(Controller());
144 145
145 return Scaffold( 146 return Scaffold(
146 - // Use Obx(()=> to update Text() whenever count is changed. 147 + // Utilisez Obx(()=> pour mettre à jour Text() chaque fois que count est changé.
147 appBar: AppBar(title: Obx(() => Text("Clicks: ${c.count}"))), 148 appBar: AppBar(title: Obx(() => Text("Clicks: ${c.count}"))),
148 149
149 - // Replace the 8 lines Navigator.push by a simple Get.to(). You don't need context 150 + // Remplacez les 8 lignes Navigator.push par un simple Get.to(). Vous n'avez pas besoin de 'context'
150 body: Center(child: RaisedButton( 151 body: Center(child: RaisedButton(
151 child: Text("Go to Other"), onPressed: () => Get.to(Other()))), 152 child: Text("Go to Other"), onPressed: () => Get.to(Other()))),
152 floatingActionButton: 153 floatingActionButton:
@@ -155,26 +156,26 @@ class Home extends StatelessWidget { @@ -155,26 +156,26 @@ class Home extends StatelessWidget {
155 } 156 }
156 157
157 class Other extends StatelessWidget { 158 class Other extends StatelessWidget {
158 - // You can ask Get to find a Controller that is being used by another page and redirect you to it. 159 + // Vous pouvez demander à Get de trouver un contrôleur utilisé par une autre page et de vous y rediriger.
159 final Controller c = Get.find(); 160 final Controller c = Get.find();
160 161
161 @override 162 @override
162 Widget build(context){ 163 Widget build(context){
163 - // Access the updated count variable 164 + // Accéder à la variable 'count' qui est mise à jour
164 return Scaffold(body: Center(child: Text("${c.count}"))); 165 return Scaffold(body: Center(child: Text("${c.count}")));
165 } 166 }
166 } 167 }
167 ``` 168 ```
168 169
169 -Result: 170 +Résultat:
170 171
171 ![](https://raw.githubusercontent.com/jonataslaw/getx-community/master/counter-app-gif.gif) 172 ![](https://raw.githubusercontent.com/jonataslaw/getx-community/master/counter-app-gif.gif)
172 173
173 -This is a simple project but it already makes clear how powerful Get is. As your project grows, this difference will become more significant. 174 +C'est un projet simple mais il montre déjà à quel point Get est puissant. Au fur et à mesure que votre projet se développe, cette différence deviendra plus significative.
174 175
175 -Get was designed to work with teams, but it makes the job of an individual developer simple. 176 +Get a été conçu pour fonctionner avec des équipes, mais il simplifie le travail d'un développeur individuel.
176 177
177 -Improve your deadlines, deliver everything on time without losing performance. Get is not for everyone, but if you identified with that phrase, Get is for you! 178 +Améliorez vos délais, livrez tout à temps sans perte de performances. Get n'est pas pour tout le monde, mais si vous vous êtes identifié à cette phrase, Get est fait pour vous!
178 179
179 # The Three pillars 180 # The Three pillars
180 181