/* Page prose (fr) */
"StructuredVsUnstructured" = "# Structurées vs. non structurées\n\nLa concurrence de Swift a deux familles de tâches, et les distinguer est le modèle mental le plus utile de ce chapitre.\n\nUne **tâche structurée** est une enfant dont la durée de vie est *liée à une portée* de ton code. Elle est créée à l'intérieur d'un parent, et le parent ne peut pas retourner tant que chaque enfant n'a pas terminé (ou été annulée). Tu obtiens des tâches structurées avec **`async let`** (que tu rencontreras plus bas) et avec les **task groups** (un chapitre ultérieur). Le compilateur impose l'imbrication, si bien que les enfants ne peuvent pas survivre à leur parent: pas de fuites, pas de travail oublié.\n\nUne **tâche non structurée** est une tâche que tu crées à la main avec `Task { }` ou `Task.detached { }`. Elle n'est *pas* liée à la portée environnante. Elle continue de s'exécuter même après le retour de la fonction qui l'a créée, et **c'est toi** qui en es responsable: conserver sa référence, attendre sa valeur, l'annuler le moment venu.\n\nVoici la forme structurée. `async let` démarre une tâche enfant immédiatement et lie son résultat éventuel à un nom; tu fais `await` sur ce nom plus tard.";
"StructuredVsUnstructured-2" = "**Observe l'exécution:** le thé et le lait infusent *en même temps*, pas l'un après l'autre. L'ensemble prend environ 0.5 s (le plus long des deux), pas 0.8 s. Les deux enfants sont garanties de terminer avant la fin du bloc `Task`; c'est la garantie du \"lié à une portée.\" Si tu n'écrivais jamais le `await`, Swift les attendrait quand même de façon implicite à la fin de la portée; une enfant structurée n'est jamais abandonnée.\n\n* callout(Essaie): Augmente le délai de `steepTea` à `.milliseconds(900)`. Le plateau arrive-t-il toujours au bout d'environ le *plus long* des deux temps, ou de la somme des deux?\n\nCompare cela avec la `Task { }` non structurée que tu utilises depuis le début: elle flotte librement. Cette liberté est parfois tout l'intérêt (par exemple, lancer du travail depuis l'appui sur un bouton SwiftUI), mais elle signifie que le filet de sécurité disparaît. Personne ne l'attend, sauf toi.\n\n[Précédent](@previous)  |  page 4 sur 11  |  [Suivant: Task.detached](@next)";
