> 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/logic/demux.md).

# Demux

Ce bloc fonction divise une seule entrée groupée en plusieurs sorties séparées. Utilisez-le lorsque vous avez une liste ou un lot d'éléments et que vous souhaitez accéder à chaque élément individuellement via des sorties distinctes.

## 📥 Entrées

`In`\
Accepte une entrée groupée (liste/lot) sur une seule prise. La prise accepte plusieurs éléments.

## 📤 Sorties

`Out 1`, `Out 2`, ...\
Chaque prise de sortie fournit un élément de la liste d'entrée. Le nombre de sorties peut être ajusté pour correspondre à la taille de la liste que vous souhaitez répartir.

## 🕹️ Contrôles

`Output size`\
Choisissez le nombre de sorties que le bloc doit fournir. le menu déroulant ajuste dynamiquement les prises de sortie visibles.

## 🎨 Fonctionnalités

* Nombre de sorties dynamique : modifiez le nombre de sorties disponibles sans remplacer le bloc.
* Conservation de l'ordre d'entrée : les éléments sont transférés vers les sorties dans la même séquence qu'ils arrivent.
* Prise en charge de données génériques : fonctionne avec des images, des nombres, des formes ou toute autre valeur produite par les blocs en amont.

## 📝 Instructions d'utilisation

1. Fournissez une liste groupée ou un lot à la prise `In`.
2. Réglez `Output size` sur le nombre d'éléments que vous prévoyez de répartir.
3. Utilisez les sorties séparées pour alimenter les blocs en aval qui ont besoin d'éléments individuels.

## 📊 Évaluation

Quand le bloc s'exécute, il lit l'entrée groupée et place chaque élément sur une prise de sortie correspondante. Si l'entrée est plus courte ou plus longue que le nombre de sorties configuré, gérez le décalage avec une logique en aval ou ajustez `Output size` en conséquence.

## 💡 Astuces

* Pour recombiner les éléments séparés en un seul flux, associez ce bloc avec `Mux`.
* Pour accéder à un seul élément d'une liste avant ou après démultiplexage, utilisez `Get Element`.
* Utilisez `Batch Processing` avant le démultiplexage pour traiter de grandes listes et réduire l'utilisation mémoire.
* Après avoir traité les éléments individuels, vous pouvez les fusionner avec `Batch Concatenation`.
* Si vous devez itérer sur chaque élément et les extraire d'un lot, combinez avec `Debatch`.
* Stockez ou figez des résultats intermédiaires avec `Data Memory` lorsque vous avez besoin de sorties stables pour les étapes suivantes.

(indice : choisissez uniquement des blocs parmi la liste disponible lors des combinaisons — par ex. `Mux`, `Get Element`, `Batch Processing`, `Debatch`, `Batch Concatenation`, `Data Memory`.)

## 🛠️ Résolution des problèmes

* Aucune sortie remplie : assurez-vous qu'une entrée groupée valide est connectée à `In` et que `Output size` est configuré sur le nombre attendu.
* Éléments manquants ou supplémentaires : vérifiez que la longueur de l'entrée correspond à `Output size` ou ajoutez une logique en aval pour gérer les longueurs variables (par exemple avec `Get Element` ou `Replace None`).
* Types de données inattendus : vérifiez que les blocs en amont produisent le type de données attendu ; utilisez des blocs de conversion ou de validation si nécessaire.
