Skip to content

Commit b674a01

Browse files
authored
Correct speling mistakes
1 parent 10a4dc7 commit b674a01

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

fr/10_optimization.adoc

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Bienvenue dans le dernier chapitre du livre. Le chemin a été long mais vous n
66
* la pagination
77
* la mise en cache
88
9-
J’essaierai d’aller aussi loin que possible en essayant de couvrir certains scénarios courants. J’espère que ces scénario vous serons utiles pour certains de vos projets.
9+
J’essaierai d’aller aussi loin que possible en essayant de couvrir certains scénarios courants. J’espère que ces scénari vous serons utiles pour certains de vos projets.
1010

1111
Si vous commencez à lire à ce stade, vous voudrez probablement que le code fonctionne, vous pouvez le cloner comme ça:
1212

@@ -24,7 +24,7 @@ $ git checkout -b chapter10
2424

2525
=== Mettre en conformité notre structure JSON avec celle de https://jsonapi.org/[JSON:API]
2626

27-
Comme je vous le dis depuis le début de ce livre, une partie importante et difficile lors de la création de votre API est de décider le format de sortie. Heureusement, certaines organisations ont déjà fait face à ce genre de problème et elles ont ainsi établies certaines conventions.
27+
Comme je vous le dis depuis le début de ce livre, une partie importante et difficile lors de la création de votre API est de décider le format de sortie. Heureusement, certaines organisations ont déjà fait face à ce genre de problème et elles ont ainsi établi certaines conventions.
2828

2929
Une des convention les plus appliquée est très certainement https://jsonapi.org/[JSON:API]. Cette convention nous permettra d’aborder la pagination plus sereinement dans la prochaine section.
3030

@@ -36,15 +36,15 @@ Ainsi, notre document *doit* contenir ces clefs:
3636
* `errors` qui doit contenir un tableau des erreurs qui sont survenues.
3737
* `meta` qui contient un https://jsonapi.org/format/#document-meta[objet meta]
3838

39-
NOTE: Les clés `data` et `errors` ne doivent pas être présente en même temps et c’est logique puisque si une erreur survient nous ne devrions pas être en mesure de rendre des données correctes.
39+
NOTE: Les clés `data` et `errors` ne doivent pas être présentes en même temps et c’est logique puisque si une erreur survient nous ne devrions pas être en mesure de rendre des données correctes.
4040

4141
Le contenu de la clé `data`est lui aussi assez stricte:
4242

4343
* il doit posséder une clé `type`qui décrit le type du modèle JSON (si c’est un article, un utilisateur, etc..)
44-
* les proprités de l’objets doivent être placées dans une clé `attributes` et les undescore (`_`) sont remplacés par des tirets (`-`)
44+
* les propriétés de l’objets doivent être placées dans une clé `attributes` et les undescore (`_`) sont remplacés par des tirets (`-`)
4545
* les liaisons de l’objets doivent être placées dans une clé `relationships`
4646

47-
Cela risque de nous faire pas mal de changement puisque nous n’avons implémenté aucune de ses règles. Ne vous inquiétéz pas, nous avons mis en place des tests unitaires afin de nous assurer qu’il n’y aura pas de régression. Commençons doc par les mettre à jour
47+
Cela risque de nous faire pas mal de changements puisque nous n’avons implémenté aucune de ces règles. Ne vous inquiétez pas, nous avons mis en place des tests unitaires afin de nous assurer qu’il n’y aura pas de régression. Commençons donc par les mettre à jour
4848

4949
==== Les utilisateurs
5050

@@ -69,7 +69,7 @@ RSpec.describe Api::V1::UsersController, type: :controller do
6969
end
7070
----
7171

72-
Nous devons mettre à jour les emplacement. Voici le fichier complet
72+
Nous devons mettre à jour les emplacements. Voici le fichier complet
7373

7474
[source,ruby]
7575
.spec/controllers/api/v1/users_controller_spec.rb
@@ -139,7 +139,7 @@ NOTE: Rappelez vos bien que dans les spécification JSON:API, les undescore (`_`
139139

140140
==== Les commandes
141141

142-
Pour les commandes, il y a une petite spécifité car pour récupérer l’utilisateur associé, nous devons passer par la clé `:relationships`. En dehors de ça, le principe reste iddentique:
142+
Pour les commandes, il y a une petite spécifité car pour récupérer l’utilisateur associé, nous devons passer par la clé `:relationships`. En dehors de ça, le principe reste identique:
143143

144144
[source,ruby]
145145
.spec/controllers/api/v1/products_controller_spec.rb
@@ -292,17 +292,17 @@ end
292292

293293
==== L’implémentation
294294

295-
Depuis le début, afin de sérialiser nos modèles, nous vons utilisé _Active Model Serializer_. Heureusement pour nous, cette librairie propose plusieurs *adaptateurs*. Les adapateurs sont en quelques sorte des modèles de JSON à appliquer à tous nos sérialiseur. C’est parfait.
295+
Depuis le début, afin de sérialiser nos modèles, nous avons utilisé _Active Model Serializer_. Heureusement pour nous, cette librairie propose plusieurs *adaptateurs*. Les adapateurs sont en quelques sorte des modèles de JSON à appliquer à tous nos sérialiseur. C’est parfait.
296296

297-
La https://github.com/rails-api/active_model_serializers/blob/v0.10.6/docs/general/adapters.md[documentation de _Active Model Serializer_] nous montre propose une liste des adaptateurs existants. Et, si vous voyez ou je veux en venir, il en existe une toute prête pour le modèle JSON:API! Pour le mettre en place, il suffit simplement d’activer l’adapter en créant le fichier suivant:
297+
La https://github.com/rails-api/active_model_serializers/blob/v0.10.6/docs/general/adapters.md[documentation de _Active Model Serializer_] nous propose une liste des adaptateurs existants. Et, si vous voyez ou je veux en venir, il en existe une toute prête pour le modèle JSON:API! Pour le mettre en place, il suffit simplement d’activer l’adaptateur en créant le fichier suivant:
298298

299299
[source,ruby]
300300
.config/initializers/activemodel_serializer.rb
301301
----
302302
ActiveModelSerializers.config.adapter = :json_api
303303
----
304304

305-
Nous devons aussi indique le type de l’objet du serialiseur. _Active Model Serializer_ propose une méthode toute fate pour cela: `type`. L’implémentation est donc très facile:
305+
Nous devons aussi indiquer le type de l’objet du serialiseur. _Active Model Serializer_ propose une méthode toute faite pour cela: `type`. L’implémentation est donc très facile:
306306

307307
[source,ruby]
308308
.app/serializers/order_serializer.rb
@@ -331,7 +331,7 @@ class UserSerializer < ActiveModel::Serializer
331331
end
332332
----
333333

334-
Et c’est tout! Lançon maintenant *tous* nos tests pour voir s’ils passent:
334+
Et c’est tout! Lançons maintenant *tous* nos tests pour voir s’ils passent:
335335

336336
[source,bash]
337337
----
@@ -423,7 +423,7 @@ Finished in 2.12 seconds (files took 1.4 seconds to load)
423423
103 examples, 0 failures
424424
----
425425

426-
Et voilà le travail. Vu que nous sommes content de notre travail, faisons un _commit_:
426+
Et voilà le travail. Vu que nous sommes contents de notre travail, faisons un _commit_:
427427

428428
[source,bash]
429429
----
@@ -433,7 +433,7 @@ $ git commit -m "Respect JSON:API response format"
433433

434434
=== Pagination
435435

436-
Une stratégie très commune pour optimiser la récupération d’enregistrements dans une base de données est de charger seulement une quantité limité en les paginant. Si vous êtes familier avec cette technique, vous savez qu’avec Rails c’est vraiment très facile à mettre en place avec des gemmes telles que https://github.com/mislav/will_paginate[will_paginate] ou https://github.com/kaminari/kaminari[kaminari].
436+
Une stratégie très commune pour optimiser la récupération d’enregistrements dans une base de données est de charger seulement une quantité limitée en les paginant. Si vous êtes familiers avec cette technique, vous savez qu’avec Rails c’est vraiment très facile à mettre en place avec des gemmes telles que https://github.com/mislav/will_paginate[will_paginate] ou https://github.com/kaminari/kaminari[kaminari].
437437

438438
La seule partie délicate ici est de savoir comment gérer la sortie JSON pour donner assez d’informations au client sur la façon dont le tableau est paginé. Dans la section précédente, j’ai partagé quelques ressources sur les pratiques que j’allais suivre ici. L’une d’entre elles était http://jsonapi.org/ qui est une page incontournable des signets.
439439

@@ -511,7 +511,7 @@ RSpec.describe Api::V1::ProductsController, type: :controller do
511511
end
512512
----
513513

514-
Le test que nous venons d’ajouter devrait échouer or, si nous exécutons les tests, deux tests échouent. Cela veux dire que nous avons cassé quelque chose d’autre:
514+
Le test que nous venons d’ajouter devrait échouer or, si nous exécutons les tests, deux tests échouent. Cela veut dire que nous avons cassé quelque chose d’autre:
515515

516516
[source,bash]
517517
----
@@ -616,7 +616,7 @@ $ git commit -m "Adds pagination for the products index action to optimize respo
616616

617617
==== Liste des commandes
618618

619-
Maintenant, il est temps de faire exactement la même chose pour la route de la liste des commandes. Cela devrait être très facile à mettre en œuvre. Mais d’abord, ajoutons quelques test au fichier `orders_controller_spec.rb`:
619+
Maintenant, il est temps de faire exactement la même chose pour la route de la liste des commandes. Cela devrait être très facile à mettre en œuvre. Mais d’abord, ajoutons quelques tests au fichier `orders_controller_spec.rb`:
620620

621621
[source,ruby]
622622
.spec/controllers/api/v1/orders_controller_spec.rb
@@ -918,7 +918,7 @@ $ curl -w 'Total: %{time_total}\n' -o /dev/null -s http://api.marketplace.dev/pr
918918
Total: 0,021979
919919
----
920920

921-
Nous sommes donc passé de 174 ms à 21 ms. L’amélioration est donc énorme! _Comittons_ une dernière fois nos changements.
921+
Nous sommes donc passés de 174 ms à 21 ms. L’amélioration est donc énorme! _Comittons_ une dernière fois nos changements.
922922

923923
[source,ruby]
924924
----
@@ -929,4 +929,4 @@ $ git commit -am "Adds caching for the serializers"
929929

930930
Si vous arrivez à ce point, cela signifie que vous en avez fini avec le livre. Bon travail! Vous venez de devenir un grand développeur API Rails, c’est sûr.
931931

932-
Merci d’avoir emmené cette grande aventure avec moi, j’espère que vous avez apprécié le voyage autant que moi. On devrait prendre une bière un de ces jours.
932+
Merci d’avoir traversé cette grande aventure avec moi, j’espère que vous avez apprécié le voyage autant que moi. On devrait prendre une bière un de ces jours.

0 commit comments

Comments
 (0)