# Logique IF/THEN

## Aperçu technique et fonctionnalités

{% columns %}
{% column %}
Le **logique IF/THEN** Le nœud crée des points de branchement intelligents qui acheminent les données entrantes selon différents chemins en fonction de conditions logiques. Il reçoit des données d’autres nœuds, les valide par rapport aux conditions que vous avez définies, puis achemine les résultats selon différents chemins en fonction de la réussite ou de l’échec de la validation. Le nœud vous permet de créer des workflows IF->THEN/ELSE dans lesquels différentes actions se déclenchent automatiquement selon des conditions de données en temps réel.
{% endcolumn %}

{% column %}

<figure><img src="/files/b7c0b5f570c19c4abcb37ec23b91f91837566b85" alt="IF/THEN Logic node tile"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

{% hint style="info" %}
Le **logique IF/THEN** Les nœuds sont configurés séparément pour chaque flux dans l’interface utilisateur de la plateforme Navixy. Chaque nœud ne contient qu’une seule formule logique, reposant sur [Navixy IoT Logic Expression Language](/docs/iot-logic-api/technologies/navixy-iot-logic-expression-language.md).\
Pour des options de syntaxe spécifiques liées aux expressions logiques, consultez [Expressions et syntaxe de la logique IF/THEN](/docs/user/fr/guide/account/iot-logic/nodes/logic-node/logic-node-expressions-and-syntax.md).
{% endhint %}

<figure><img src="/files/13ce04b12a5832d11da71a9a30e4e2160d46c2bb" alt="IF/THEN Logic node positioning in the flow architecture (with inbound and outbound connections)"><figcaption></figcaption></figure>

### Fonctionnement des nœuds logiques IF/THEN

Lorsque les données atteignent pour la première fois un **logique IF/THEN** nœud, le système crée un attribut booléen défini par l’utilisateur qui stocke les résultats de l’évaluation. Chaque paquet de données ultérieur est évalué par rapport à votre expression logique, ce qui met à jour la valeur de cet attribut et achemine les données en conséquence :

* **Résultats vrais**: Les données circulent via la connexion THEN (verte) avec l’attribut booléen défini sur `true`
* **Résultats faux**: Les données circulent via la connexion ELSE (rouge) avec l’attribut booléen défini sur `false`

Cette évaluation s’effectue indépendamment pour chaque paquet de données, ce qui permet à différents enregistrements provenant du même appareil de suivre des chemins différents selon des conditions en temps réel.

### Intégration à l’architecture du flux

Les attributs booléens créés par **logique IF/THEN** les nœuds vont au-delà du routage des flux et s’intègrent aux capacités de surveillance plus larges de Navixy. Comme il s’agit d’attributs personnalisés définis par l’utilisateur, ils peuvent être :

* **Surveillés en temps réel**: Consultez les résultats de l’évaluation dans [Data Stream Analyzer](/docs/user/fr/guide/account/iot-logic/data-stream-analyzer.md) pour dépanner les conditions et vérifier la logique
* **Ajoutés en tant que capteurs personnalisés**: Intégrez-les à l’interface principale de Navixy pour une surveillance continue

En tant que capteurs personnalisés, ces attributs offrent deux fonctionnalités clés :

* **Déclenchement d’alertes**: Vous pouvez créer des règles personnalisées basées sur la valeur d’un capteur afin de recevoir des notifications en cas d’écart. Pour plus de détails sur la création de règles, consultez [Règles et notifications](/docs/user/fr/guide/events-and-notifications.md).
* **Entités surveillées**: Vous pouvez ajouter un attribut au widget [Liste des objets](/docs/user/fr/guide/tracking/objects-list.md) pour surveiller sa valeur en même temps que les autres relevés de l’appareil. Pour plus de détails sur la création d’un capteur personnalisé à partir d’un attribut IoT Logic, consultez [Affichage des nouveaux attributs calculés sur la plateforme Navixy](/docs/user/fr/guide/account/iot-logic/nodes/initiate-attribute-node/displaying-new-calculated-attributes-on-the-navixy-platform.md).

{% hint style="info" %}
Le **logique IF/THEN** Le nœud nécessite une connexion à au moins un nœud précédent (**Source de données** ou d’autres nœuds de traitement) pour recevoir les données d’entrée à valider.
{% endhint %}

### Fonctionnalités du nœud

Le **logique IF/THEN** Le nœud propose :

* **Routage conditionnel des données**: Créez des workflows à embranchements qui acheminent automatiquement les données en fonction d’expressions logiques retournant des résultats vrais ou faux.
* **Validation en temps réel**: Testez les données entrantes de l’appareil par rapport aux règles métier et aux seuils opérationnels à mesure qu’elles arrivent.
* **Prise en charge de conditions complexes**: Combinez plusieurs paramètres à l’aide d’opérateurs logiques (AND, OR, etc.) pour une prise de décision avancée.
* **Conditions basées sur des géofences**: Référencez directement dans les expressions les géofences Navixy nommées à l’aide de `inGeofence()`, `enterGeofence()`, et `leaveGeofence()` fonctions, sans comparaison manuelle des coordonnées. Voir [Fonctions de géofence](/docs/user/fr/guide/account/iot-logic/nodes/logic-node/geofence-functions.md).
* **Création d’attributs**: Générez des attributs booléens qui enregistrent les résultats de la validation pour une utilisation dans d’autres nœuds, les systèmes de surveillance de Navixy et les services tiers.
* **Chemins de sortie flexibles**: Acheminez les données via les connexions THEN (vrai) et ELSE (faux) pour déclencher différentes actions ultérieures.

## Options de configuration

{% columns %}
{% column valign="middle" %}
Le **logique IF/THEN** Le nœud vous permet de définir des expressions conditionnelles qui évaluent les données entrantes et créent des chemins de branchement dans votre flux en fonction des résultats.
{% endcolumn %}

{% column %}

<figure><img src="/files/5a2c2cf37d8422217abe9b296afb34a8f9946d11" alt=""><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

Voyons quels éléments ce nœud utilise et ce que vous pouvez configurer lors de son utilisation.

### Étapes de configuration

{% stepper %}
{% step %}
**Spécifier le nom du nœud**

Saisissez un nom descriptif pour ce **logique IF/THEN** nœud.

* Utilisez un nom qui identifie clairement l’objectif de validation (par exemple, *Vérification d’alerte de température*, *Détection d’infraction de vitesse*).
* Ce nom sera affiché dans le diagramme du flux pour une identification facile.
  {% endstep %}

{% step %}
**Définir le nom de l’expression**

Saisissez le nom de l’attribut booléen qui stockera le résultat de la validation.

* Cet attribut apparaîtra dans [Data Stream Analyzer](/docs/user/fr/guide/account/iot-logic/data-stream-analyzer.md) et sera disponible pour une utilisation dans les nœuds suivants.
* Utilisez des noms descriptifs comme *high\_temperature\_alert* ou speed\_violation\_detected.
* Le système générera automatiquement des noms comme *logic\_1*, *logic\_2* si aucun nom n’est spécifié.
  {% endstep %}

{% step %}
**Créer une expression conditionnelle**

Construisez votre instruction logique à l’aide du champ d’expression.

* Utilisez [des opérateurs logiques conformément à la syntaxe de Navixy Expression Language](/docs/user/fr/guide/account/iot-logic/nodes/logic-node/logic-node-expressions-and-syntax.md) pour référencer les paramètres de l’appareil et les attributs calculés.
* L’expression doit renvoyer une valeur booléenne (true/false) pour que le nœud fonctionne correctement.
* Utilisez le [fonction de saisie semi-automatique](/docs/user/fr/guide/account/iot-logic/nodes/initiate-attribute-node/managing-attributes.md#autofill-attribute-names) pour sélectionner les attributs disponibles à partir des sources de données connectées.
* Pour référencer une géofence Navixy comme condition, utilisez le [sélecteur de géofence](/docs/user/fr/guide/account/iot-logic/nodes/logic-node/geofence-functions.md) dans le champ d’expression.
  {% endstep %}

{% step %}
**Enregistrez la configuration du nœud**

Cliquez sur **Appliquer les modifications** pour terminer la création du nœud.
{% endstep %}

{% step %}
**Connecter les chemins de sortie**

Une fois le nœud configuré, vous devez établir les connexions pour les résultats de validation.

* **Connexion THEN** (verte) : se connecte aux nœuds qui doivent traiter les données lorsque l’expression est évaluée à true.
* **Connexion ELSE** (rouge) : se connecte aux nœuds qui doivent traiter les données lorsque l’expression est évaluée à false ou null.
* La connexion THEN est obligatoire, tandis que la connexion ELSE est facultative.
  {% endstep %}
  {% endstepper %}

{% hint style="info" %}
Lorsque les expressions logiques ne peuvent pas être évaluées en raison de valeurs null, de types de données non valides ou d’erreurs de syntaxe, le résultat est traité comme `false`, et les données circulent via le chemin ELSE.
{% endhint %}

Pour des informations détaillées sur la syntaxe des expressions, les opérateurs et le comportement du flux de données, consultez [Expressions et syntaxe de la logique IF/THEN](/docs/user/fr/guide/account/iot-logic/nodes/logic-node/logic-node-expressions-and-syntax.md).

## Connexions de sortie et flux de données

Le **logique IF/THEN** Le nœud crée deux chemins de sortie distincts en fonction des résultats de l’évaluation de l’expression.

<figure><img src="/files/b4318332ac021d75051cc8569591895e25fa5467" alt="IF/THEN Logic node showing THEN and ELSE connections with green and red color coding"><figcaption></figcaption></figure>

### Connexion THEN (<mark style="color:vert;">vert</mark>)

* **S’active lorsque**: L’expression logique renvoie `true`.
* **Exigence de connexion**: Obligatoire — chaque nœud logique IF/THEN doit avoir au moins une sortie THEN.
* **Connexions multiples**: Peut se connecter à plusieurs nœuds suivants pour un traitement parallèle.
* **Utilisations typiques**: Déclenchement d’alertes, traitement spécial, calculs conditionnels ou routage des données vers des points de terminaison spécifiques.

### Connexion ELSE (<mark style="color:rouge;">rouge</mark>)

* **S’active lorsque**: L’expression logique renvoie `false`, `null`, ou rencontre des erreurs d’évaluation.
* **Exigence de connexion**: Facultative — à utiliser uniquement lorsque vous devez gérer des résultats négatifs.
* **Gestion des erreurs**: Traite les cas où les expressions ne peuvent pas être évaluées en raison de données manquantes ou d’erreurs de syntaxe.
* **Utilisations typiques**: Journalisation des validations échouées, routage des données via des chemins de traitement alternatifs ou poursuite des opérations normales.

### **Exigence de nœud terminal**

Lors de la connexion à des nœuds terminaux ([Action](/docs/user/fr/guide/account/iot-logic/nodes/action-node.md), [Webhook](/docs/user/fr/guide/account/iot-logic/nodes/webhook-node.md)) qui ne prennent pas en charge les connexions sortantes, créez des connexions parallèles pour garantir que le nœud terminal et un point de terminaison de sortie reçoivent les données :

<figure><img src="/files/c85dba36137e42897fdc4fac215d77aafa823183" alt=""><figcaption></figcaption></figure>

**Pourquoi les deux branches ont besoin de points de terminaison de sortie :**

* Assure la persistance des données et la visibilité du système
* Permet la validation du flux
* Les deux branches peuvent partager le même nœud de point de terminaison de sortie

{% hint style="danger" %}
**Erreur de validation :** Les flux sans points de terminaison de sortie sur toutes les branches ne pourront pas être enregistrés et afficheront l’erreur.
{% endhint %}

## Foire aux questions

#### Puis-je utiliser les attributs créés par d’autres nœuds dans les expressions IF/THEN Logic ?

Oui. **logique IF/THEN** Les nœuds peuvent faire référence à tous les attributs disponibles à partir des sources de données connectées, y compris les paramètres d’origine de l’appareil et les attributs calculés par les nœuds **Initiate Attribute** précédents. La fonction de saisie semi-automatique vous aide à sélectionner parmi tous les attributs disponibles.

#### Que se passe-t-il si mon expression contient des erreurs de syntaxe ?

Si une expression contient des erreurs de syntaxe ou ne peut pas être évaluée, le **logique IF/THEN** nœud traite le résultat comme `false` et achemine les données via la connexion ELSE. Vérifiez la syntaxe de l’expression et assurez-vous que tous les attributs référencés existent dans votre flux de données.

#### Puis-je connecter plusieurs nœuds à la même sortie de nœud IF/THEN Logic ?

Oui. Les connexions THEN et ELSE prennent toutes deux en charge plusieurs connexions sortantes, ce qui vous permet de déclencher plusieurs actions différentes en fonction de la même condition logique. Cela permet un traitement parallèle pour des workflows métier complexes.

#### Comment surveiller les résultats du nœud IF/THEN Logic ?

Les résultats du nœud IF/THEN Logic apparaissent sous forme d’attributs booléens dans le [Data Stream Analyzer](/docs/user/fr/guide/account/iot-logic/data-stream-analyzer.md) tableau. Sélectionnez vos appareils et recherchez le nom d’attribut que vous avez spécifié dans le champ du nom de l’expression. Les valeurs s’afficheront comme `true` ou `false` en fonction des résultats de l’évaluation.

#### Puis-je chaîner plusieurs nœuds IF/THEN Logic ensemble ?

Oui. Vous pouvez connecter des nœuds **logique IF/THEN** séquentiellement pour créer des arbres de décision complexes. Chaque nœud **logique IF/THEN** peut référencer les attributs booléens créés par les nœuds **logique IF/THEN** précédents, ce qui permet des workflows de validation sophistiqués en plusieurs étapes.

<figure><img src="/files/803101695a2e5ebbb9a33592960d1f056aa6f682" alt="Example flow showing multiple IF/THEN Logic nodes connected in sequence for complex decision trees"><figcaption></figcaption></figure>

#### Pourquoi les branches IF/THEN Logic doivent-elles se connecter à des points de terminaison de sortie ?

Chaque branche IF/THEN Logic doit se terminer par un point de terminaison de sortie pour la validation du flux de données et la visibilité du système. Lors de l’utilisation de nœuds terminaux (Action, Webhook) qui ne prennent pas en charge les connexions sortantes, créez une connexion parallèle depuis le nœud IF/THEN Logic directement vers un point de terminaison de sortie. Les deux branches peuvent partager le même point de terminaison de sortie si nécessaire.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://navixy.com/docs/user/fr/guide/account/iot-logic/nodes/logic-node.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
