/* Page prose (fr) */
"Overview" = "# Actors globaux et Sendable\n\nDe retour dans les chapitres classiques, tu as appris la règle d'or: **le travail d'UI se fait sur le thread principal.** La façon classique de la respecter était d'envelopper chaque mise à jour d'UI dans `DispatchQueue.main.async { ... }` et d'*espérer* ne jamais oublier. Oublier était un bug silencieux: l'app avait généralement l'air correcte, puis déraillait sous charge. Le modèle moderne fait quelque chose de mieux: il te laisse *marquer* du code comme \"thread principal uniquement\" et fait vérifier chaque appel par le **compilateur** à ta place. Ce marqueur, c'est `@MainActor`, et il fait partie d'une idée plus vaste, les **actors globaux**, qui s'associe à un protocole appelé **`Sendable`** pour laisser Swift prouver que ta concurrence est sûre avant même que tu l'exécutes. C'est de cette preuve que parle ce chapitre.\n\n---\n\n## Ce que tu vas apprendre\n\n* Ce qu'est `@MainActor`, et comment il remplace le \"sauter de retour vers `DispatchQueue.main`.\"\n* Comment définir ton propre **actor global** avec `@globalActor`.\n* Ce que signifie **`Sendable`**, et pourquoi une classe mutable n'est pas Sendable.\n* Ce que restreignent les closures `@Sendable`, et pourquoi `Task` les exige.\n* Comment Swift 6 transforme tout cela en vérification des data races à la **compilation**.\n\nTourne la page et nous commencerons avec `@MainActor`, le marqueur auquel tu recourras constamment.\n\npage 1 sur 11  |  [Suivant: MainActor et le thread principal](@next)";
