> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/french/function-blocks/blocks-reference/data-logic/flow-control/subsystem-out.md).

# Subsystem Out

Ce bloc fonctionnel fournit un point d'export unique à l'intérieur d'un sous-système. Utilisez-le pour pousser des données du contexte local du sous-système vers la scène parente (principale) ou vers d'autres parties de votre scénario. Il est généralement utilisé en groupe — chaque point d'export est mappé à un point d'entrée correspondant dans la scène parente.

## 📥 Entrées <a href="#inputs" id="inputs"></a>

`Generic` Cette entrée accepte tout type de données que vous souhaitez exposer en dehors du sous-système (images, nombres, listes, dictionnaires, etc.).

## 📤 Sorties <a href="#outputs" id="outputs"></a>

Ce bloc fonctionnel ne produit pas de sorties directes dans sa vue locale — il expose plutôt l'entrée connectée au contexte parent où des points d'entrée correspondants la reçoivent.

## 🕹️ Contrôles <a href="#controls" id="controls"></a>

Ce bloc n'a pas de contrôles interactifs.\
Lorsqu'il est utilisé à l'intérieur d'un sous-système, le bloc affiche un petit titre/indice numérique pour indiquer sa position d'export par rapport aux autres points d'export.

## 🎨 Fonctionnalités <a href="#features" id="features"></a>

* `Expose Local Data` Permet de rendre disponible toute valeur provenant de l'intérieur d'un sous-système à la scène parente.
* `Multiple Exports` Ajouter plusieurs blocs de ce type dans un sous-système crée plusieurs canaux d'export ordonnés. L'indice affiché vous aide à suivre l'ordre de mapping.
* `Type Syncing` Le point d'export s'adaptera au type de données connecté afin que le point d'entrée parent puisse correspondre au même type.
* `Safe Use in Main Scene` Placer le bloc dans la scène principale transmettra sa valeur d'entrée comme une sortie de passage normale, pratique pour les tests ou lorsque le sous-système est ouvert.

## 📝 Instructions d'utilisation <a href="#usage" id="usage"></a>

1. Ajoutez un conteneur de sous-système (utilisez le bloc `Subsystem`) et travaillez à l'intérieur.
2. Placez un ou plusieurs blocs `Subsystem Out` à l'intérieur du sous-système là où vous souhaitez exporter des valeurs.
3. Connectez vos résultats de traitement internes à l'entrée `Generic` de chaque bloc `Subsystem Out`.
4. Dans la scène parente, ajoutez les points d'entrée correspondants pour recevoir les données exportées. L'étiquette numérique sur chaque `Subsystem Out` aide à faire correspondre la bonne entrée parente.

## 📊 Évaluation <a href="#evaluation" id="evaluation"></a>

Lorsque le scénario s'exécute, ce bloc expose la valeur courante présente sur son entrée `Generic` au contexte externe (parent). Plusieurs blocs d'export créent une liste ordonnée de valeurs exportées que le parent peut consommer dans le même ordre.

## 💡 Conseils et astuces <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Associez-le avec `Subsystem In` pour recevoir les valeurs exportées à l'intérieur de votre scène principale ou d'un autre sous-système.
* Utilisez `Subsystem Enabled` pour contrôler si un sous-système est actif et donc si ses exports sont pertinents à un instant donné.
* Si vous devez exposer plusieurs valeurs hétérogènes via un seul canal d'export, utilisez `Mux` à l'intérieur du sous-système pour regrouper les valeurs dans une sortie structurée, puis utilisez `Demux` ou le déballage dans le parent selon les besoins.
* Pour un partage persistant ou lors de l'implémentation de boucles de rétroaction, envisagez `Data Write Local` et `Data Read Local` pour stocker et lire des données en dehors du mapping direct d'export/import.
* Pendant le débogage, routez les données exportées vers `Debug Input` ou vers des blocs de journalisation/export tels que `CSV Export` ou `Image Logger` (pour les données d'image) pour vérifier ce que produit le sous-système.
* Maintenez l'ordre des exports explicite : ajoutez ou supprimez les blocs d'export dans le sous-système avec précaution — le mapping parent suit l'ordre des points d'export, et le titre numérique vous aidera à vérifier l'alignement.

## 🛠️ Dépannage <a href="#troubleshooting" id="troubleshooting"></a>

* Si la scène parente ne reçoit pas la valeur attendue, confirmez que le nombre de blocs d'export à l'intérieur du sous-système correspond au nombre de points d'entrée correspondants dans la scène parente.
* Si les types de données semblent incompatibles, assurez-vous que la valeur connectée à l'entrée `Generic` est du même type que celui attendu par le parent (utilisez `Data Type Converter` ou `Mux` pour normaliser les données avant export).
* Lors des expérimentations, vous pouvez placer le bloc dans la scène principale pour prévisualiser directement les sorties, puis le déplacer dans un sous-système une fois le flux stabilisé.
