> For the complete documentation index, see [llms.txt](https://docs.hablla.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hablla.com/french/flux-dautomatisations/tous-les-composants/transformation-des-donnees/selection-multiple.md).

# Sélection multiple

### Vue d'ensemble

Le **Composant conditionnel Switch Case** (identifié dans le système par le nom technique `switch_case`) est un nœud de contrôle de flux axé sur le routage multiniveau et la segmentation complexe des données. Sa fonction principale est d'aller au-delà de la bifurcation binaire du composant IF traditionnel, en permettant à l'automatisation d'évaluer une seule variable ou expression par rapport à plusieurs scénarios de test (*cas*) de manière simultanée. Lors du traitement du contact, le système vérifie les blocs de conditions de haut en bas et dirige l'utilisateur spécifiquement vers le port de sortie du premier critère qui renvoie un résultat positif.

### Paramètres de configuration

La paramétrisation du nœud fonctionne via une liste dynamique de validations regroupées sous la section *Libellé et expression*:

* **Titre :** Le nom ou l'étiquette descriptive donnée à cette condition spécifique (ex : "Note 4 ou 5"). Ce texte sert à organiser l'éditeur visuel et à nommer la porte de sortie physique correspondante.<br>
* **Expression :** Champ structuré pour recevoir des formules de validation entourées par la syntaxe des doubles accolades `{{ ... }}`. C'est le critère mathématique ou textuel qui détermine le succès de la branche.<br>
* **Bouton + Ajouter une option :** Contrôle de gestion qui insère une nouvelle paire de champs (*Titre* + *Expression*) dans la liste de vérification du composant.<br>
* **Icône de corbeille :** Bouton de suppression rapide fixé dans le coin supérieur droit de chaque bloc d'option pour supprimer les règles obsolètes du nœud.<br>

### Constructeur visuel

L'interface du constructeur est conçue de manière verticale et modulaire, adaptant la carte graphique des connexions au volume de règles saisies par l'administrateur :

* **Cartographie de plusieurs ports de sortie :** Contrairement aux nœuds ordinaires, la morphologie physique de ce bloc dans l'éditeur de conception des flux est totalement modulable. Chaque nouvelle option ajoutée par le bouton *+ Ajouter une option* génère un nouveau port de sortie latéral correspondant, identifié exactement par le texte saisi dans le champ *Titre*.<br>
* **Bloc de sortie par défaut (fallback) :** Comme affiché en bas de l'interface de `image_3b7aa4.png`, la dernière option est configurée comme un "Fallback" (ou voie de repli). Elle possède le champ de *Expression* volontairement vide. Si le contact passe par toutes les expressions précédentes et qu'aucune ne correspond, le moteur déclenche automatiquement le port de sortie du *Fallback* pour éviter que le client ne reste bloqué dans le flux.<br>

### Opérateurs spéciaux

Les propriétés logiques de ce composant gèrent la validation syntaxique continue et les méthodes natives d'analyse de chaînes en JavaScript :

* **Analyse par inclusion de caractères (`.includes()`):** Comme illustré dans le panneau, l'interpréteur accepte des méthodes modernes de validation de chaînes, comme `{{$data?.first_message.includes("4") \| $data?.first_message.includes("5")}}`. La méthode `.includes()` vérifie si le terme saisi par l'utilisateur contient ce caractère spécifique n'importe où dans la phrase, au lieu d'exiger une égalité exacte.<br>
* **Priorisation linéaire en cascade :** Le moteur traite les règles de manière strictement linéaire (de haut en bas). Si un contact correspond simultanément au critère 1 et au critère 2, le système effectuera le routage par le chemin 1 pour une question d'ordre de lecture, en ignorant les vérifications inférieures.<br>
* **Calcul synchrone instantané :** Tout comme le composant IF, le Switch Case est résolu en micromillisecondes directement dans la mémoire du serveur, distribuant les contacts via les ports de sortie de manière asynchrone et instantanée.<br>

### Exemples pratiques

Le tableau ci-dessous présente des scénarios classiques de configuration des expressions pour créer des répartitions de prise en charge intelligentes sur la plateforme :

| **Titre de l'option (sortie)** | **Expression JavaScript configurée**       | **Type de validation effectué**                     | **Cas d'utilisation pratique**                                                                                                                                                                  |                                                                                                                                                      |
| ------------------------------ | ------------------------------------------ | --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Note 4 ou 5**                | \`{{$data?.first\_message.includes("4") \\ | $data?.first\_message.includes("5")}}\`             | Recherche partielle de caractères dans une chaîne (OU).                                                                                                                                         | Analyser la note saisie par le client dans un sondage rapide. Les notes 4 ou 5 orientent le contact vers la sortie des clients très satisfaits.      |
| **Note 3**                     | `{{$data?.first_message.includes("3")}}`   | Recherche partielle d'un caractère dans une chaîne. | Identifie les utilisateurs ayant donné la note neutre (3) afin de les envoyer vers une branche de prise en charge axée sur les améliorations.                                                   |                                                                                                                                                      |
| **Note 1 ou 2**                | \`{{$data?.first\_message.includes("1") \\ | $data?.first\_message.includes("2")}}\`             | Recherche partielle de caractères dans une chaîne (OU).                                                                                                                                         | Isoler immédiatement les clients insatisfaits (notes 1 ou 2) afin d'orienter le contact avec la priorité maximale vers la file de rétention humaine. |
| **Fallback**                   | *Vide (sans expression)*                   | Route de repli automatique par exclusion.           | Si le client saisit un texte aléatoire ou une note hors format (ex : "j'ai aimé"), le système prend la sortie du fallback pour lui envoyer un message lui demandant de saisir un nombre valide. |                                                                                                                                                      |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.hablla.com/french/flux-dautomatisations/tous-les-composants/transformation-des-donnees/selection-multiple.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
