> 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/data-operations/replace-none.md).

# Replace None

Ce bloc de fonction fournit un mécanisme de secours simple : lorsque l'entrée principale est manquante (`None`), il renvoie une valeur de remplacement fournie par l'utilisateur afin que les blocs en aval continuent de recevoir des données valides.

## 📥 Entrées

* `Input Data` (Generic) — Donnée principale à vérifier pour présence.
* `New Data` (Generic) — Donnée de remplacement à utiliser lorsque l'entrée principale est `None`.

## 📤 Sorties

* `Replaced Data` (Generic) — Donnée résultante : soit l'`Input Data` originale si présente, soit la `New Data` lorsque l'entrée est `None`.

## 🕹️ Contrôles

Ce bloc n'a pas de contrôles interactifs.

## 🎯 Fonctionnalités

* Solution de secours minimale et fiable pour les valeurs manquantes afin d'éviter les interruptions dans un flux.
* Support de types de données génériques — fonctionne avec des images, nombres, textes, listes ou autres types de données.
* Comportement léger et déterministe — transmet toujours soit la valeur originale, soit la valeur de remplacement.

## 📝 Instructions d'utilisation

1. Connectez la source que vous souhaitez protéger à `Input Data`.
2. Fournissez une valeur par défaut ou de secours à `New Data`. Il peut s'agir d'une valeur statique, d'une valeur précédemment stockée ou d'une image/numéro/texte de remplacement.
3. Lisez le résultat depuis `Replaced Data` et poursuivez le pipeline comme d'habitude.

Exemples d'utilisation : fournir une image de remplacement lorsqu'un flux caméra échoue brièvement, donner un nombre par défaut pour des calculs, ou transmettre une chaîne de secours lorsqu'une réponse réseau est manquante.

## ⚙️ Fonctionnement

Lorsque le flux s'exécute, ce bloc vérifie si `Input Data` est présent. Si oui, cette valeur est transmise. Si la valeur est `None`, le bloc renvoie la valeur fournie à `New Data`. Si les deux sont `None`, la sortie sera `None` (assurez-vous donc de fournir un secours significatif si nécessaire).

## 💡 Conseils et astuces

* Combinez avec `Is None` pour créer une logique conditionnelle (par exemple, déclencher une alerte uniquement lorsque l'entrée d'origine est manquante).
* Utilisez avec `Data Memory` pour geler et réutiliser la dernière valeur valide comme secours `New Data`.
* Pour les flux d'images (p.ex. depuis `Camera USB` ou `Stream Reader`), alimentez une image statique représentative dans `New Data` afin que des afficheurs comme `Show Image` aient toujours quelque chose d'utile à montrer.
* Associez à `Debug Input` ou `Data to JSON` pour consigner quand des secours sont utilisés, ce qui aide à surveiller la qualité des données au fil du temps.
* Pour enregistrer les événements de secours ou les résultats, connectez `Replaced Data` à `CSV Export` ou `Image Logger` selon le type de données.

## 🛠️ Dépannage

* Si vous voyez toujours `None` en sortie, vérifiez qu'une valeur non-`None` est fournie soit à `Input Data`, soit à `New Data`.
* Pour les pipelines d'images : si le secours apparaît mais est incorrect visuellement, vérifiez le format (canaux de couleur, taille) de `New Data` pour qu'il corresponde aux attentes en aval.
