@@ -43,7 +43,7 @@ Utiliser des instances comme clef corrige la limitation de la bibliothèque Prov
Le `Provider` est un moyen de __récupérer__ un état présent dans un `ProviderContainer`.
La déclaration d'un provider permet d'indiquer __le type__ et __la valeur d'initialisation__ de l'état auquel il correspond.


> Déclarer un provider permet de __typer__, __initialiser__ et __récupérer__ un état.
...
...
@@ -68,7 +68,7 @@ void main() {
}
```


Le `Provider` est instancié en tant que variable globale et son état est initialisé avec la valeur 13 `<1>`.
L'instance du `ProviderContainer` contient les états `<2>` et permet de les récupérer en passant l'instance du `Provider` en paramètre de sa méthode `read``<3>`.
...
...
@@ -129,7 +129,7 @@ void main() {
}
```


Le `Provider` est déclaré au sein du test pour retenir son affectation d'état et sa libération de ressources `<1>`.
Avant toute manipulation, sa valeur n'est toujours pas affectée `<2>`.
...
...
@@ -170,7 +170,7 @@ void main() {
}
```


Le `Provider` est déclaré pour que ses ressources soient libérées dès qu'il n'est plus utilisé `<1>`.
Après avoir été lu `<2>` ses ressources ne sont pas instantanément libérées `<3>`.
...
...
@@ -231,7 +231,7 @@ void main() {
}
```


Deux `Providers` sont déclarés pour retourner la valeur 13 `<1>`.
Le comportement du `ProviderContainer` est surchargé pour remplacer le premier `Provider` et pour remplacer la valeur retournée par le second `<2>`.
...
...
@@ -257,7 +257,7 @@ void main() {
}
```


Un `Provider` est déclaré pour indiquer par ses états si la clef passée en paramètre est paire `<1>`.
La lecture du `Provider` se fait en passant cette clef et la valeur correspondante est retournée `<2>`.
...
...
@@ -292,7 +292,7 @@ void main() {
}
```


Le `StateProvider` est instancié de la même manière qu'un `Provider`, en initialisant son état avec la valeur 13 `<1>`.
Le notifier du `StateProvider` est récupéré par l'intermédiaire du `ProviderContainer` et son état est remplacé par la valeur 42 `<2>`.
...
...
@@ -339,7 +339,7 @@ void main() {
}
```


Le `StateProvider``intProvider` est initialisé avec la valeur 13, `readProvider` vient lire son état et `watchProvider` le surveiller `<1>`.
Lors de leurs premières lectures, l'état des `readProvider` et `watchProvider` sont identiques à celui du `intProvider``<2>`.
...
...
@@ -434,7 +434,7 @@ void main() {
}
```


Le `StateProvider``intProvider` est initialisé avec la valeur 13 et `watchProvider` surveille ses modifications `<1>`.
Des listeners écoutent leurs changements d'état respectif pour stocker les nouvelles valeurs `<2>`.
...
...
@@ -495,7 +495,7 @@ void main() {
}
```


Le `StateProvider``intProvider` est initialisé avec la valeur 13 et le `moduloProvider` vient l'écouter en sélectionnant uniquement le modulo de 10 de l'état `<1>`.
Un compteur écoute le nombre de changements réalisés par `moduloProvider``<2>`.
Le `StateProvider``intProvider` est initialisé avec la valeur 13 `<1>`.
Il est écouté par le `StateNotifierProvider``incrementProvider` dont le notifier `IncrementNotifier` dispose d'une méthode pour incrémenter son état `<2>`.
La classe `IncrementNotifier`, un `ChangeNotifier` avec une méthode `increment` pour incrémenter sa propriété `number`, est initialisé avec la valeur 13 `<1>`.
La propriété `number` de son `notifier` dispose bien de la valeur 13.
Une `Stream` est déclarée pour retourner la valeur 13 suivie d'une erreur, le tout entrecoupé par un délai de 100 millisecondes `<1>`.
Tant que la première valeur de la `Stream` n'est pas retournée, l'état conserve la valeur `AsyncLoading``<2>`.
...
...
@@ -756,6 +756,6 @@ Vous disposez maintenant des bases pour en comprendre les principaux mécanismes
Le prochain article sera plus court et portera sur son intégration avec Flutter.


[^1]:Les interfaces n'existent pas à proprement parler en Dart, ce sont des classes abstraites avec des méthodes abstraites dont l'interface implicite est implémentée.