/* Page prose (fr) */
"DistributedLocationTransparency" = "# Transparence de localisation: la récompense et le prix\n\nLa fonctionnalité vedette est la **transparence de localisation**: tu appelles un\nactor distribué de la *même façon* qu'il vive dans ton propre processus ou sur un\nserveur à l'autre bout du pays. L'actor system résout où il se trouve et route\nl'appel. Ton code qui dit `try await ledger.currentBalance()` ne change pas selon la\nréponse.\n\nC'est réellement puissant. Tu peux raisonner sur ton système comme un ensemble\nd'actors qui s'envoient des messages, et laisser le runtime gérer la plomberie de\nl'*endroit* où chaque actor est assis, qui peut même changer à mesure que tu montes\nen charge ou déplaces des services.\n\nMais la transparence porte sur *comment tu écris l'appel*, pas sur ce que l'appel\n*coûte*. Aie l'œil clair sur le prix, parce qu'il est réel:\n\n* **Latence.**  \nUn saut d'actor local, c'est des nanosecondes. Un aller-retour réseau,\nc'est des millisecondes, souvent des milliers de fois plus lent. Un va-et-vient\nbavard qui passe bien dans le processus peut se traîner sur le fil. Tu voudras\nenvoyer des messages moins nombreux et plus gros, plutôt que beaucoup de tout petits.\n* **Échec partiel.**  \nDans un seul processus, si ton code s'exécute, l'actor existe. À\ntravers un réseau, l'autre côté peut s'évanouir en pleine conversation: planté,\nredémarré, inaccessible. C'est le `throws` que tu continues de voir. Tu dois\n*concevoir* pour des appels qui ne reviennent pas, et non traiter l'échec comme une\nsurprise rare.\n* **Sérialisation.**  \nChaque argument et résultat est encodé et décodé. Cela coûte du\nCPU et, plus subtilement, contraint ton API: tu ne peux échanger que des choses qui\npassent par `Codable`. Les riches graphes en mémoire et les ressources en direct\nrestent à la maison.\n\nLa transparence de localisation ne fait pas disparaître ces coûts; elle les rend\n*uniformes à appeler*. Savoir qu'ils sont là est ce qui t'empêche de concevoir un\nsystème distribué comme s'il en était un local.\n\n[Précédent](@previous)  |  page 7 sur 9  |  [Suivant: Quand c'est important](@next)";
