# Groupes

Les groupes servent à organiser des questions liées dans votre formulaire. Un groupe est défini en utilisant les types `begin_group` et `end_group` Vous pouvez contrôler le comportement d’un groupe en utilisant l’ `appearance` colonne.

## 📄 Groupe avec appearance : field-list

Lorsque vous utilisez `field-list` comme apparence d’un groupe, toutes les questions à l’intérieur du groupe apparaîtront sur la **même écran**Cela crée une mise en page de type page où les utilisateurs peuvent répondre à plusieurs questions liées en une seule fois.

Chaque ligne à l’intérieur du groupe est traitée comme une **question individuelle**, et le libellé du groupe (s’il est utilisé) peut être affiché comme en-tête de section selon la plateforme.

Exemple – groupe field-list avec types de questions mixtes

| type               | nom          | label                         | appearance | required |
| ------------------ | ------------ | ----------------------------- | ---------- | -------- |
| begin\_group       | contact      | Coordonnées                   | field-list |          |
| text               | fname        | Prénom                        |            | yes      |
| text               | lname        | Nom de famille                |            | yes      |
| select\_one gender | gender       | Genre                         |            |          |
| select\_multiple   | contact\_way | Méthodes de contact préférées |            |          |
| end\_group         |              |                               |            |          |

### feuille Choices

| list\_name   | nom    | label     |
| ------------ | ------ | --------- |
| gender       | male   | Male      |
| gender       | female | Female    |
| gender       | other  | Other     |
| contact\_way | e-mail | Email     |
| contact\_way | phone  | Téléphone |
| contact\_way | sms    | SMS       |

Ce qui se passe :\
Ce groupe sera affiché comme une seule page avec les champs suivants :

* Prénom (texte)
* Nom (texte)
* Genre (sélection d’une option)
* Méthodes de contact préférées (sélection de plusieurs options)

Tous les champs sont sur une seule page, permettant à l’utilisateur de saisir plusieurs informations liées en une seule fois.

## 🔠 Groupe avec appearance table-list

Lorsque vous appliquez `appearance: table-list` à un groupe, sélectionnez des questions qui partagent la même liste de choix ; elles peuvent apparaître sous forme de matrice/grille — une ligne par question, une colonne par choix.

**survey sheet**

| type                        | nom          | label                                                    | appearance |
| --------------------------- | ------------ | -------------------------------------------------------- | ---------- |
| begin\_group                | opinion\_grp | Veuillez indiquer votre opinion :                        | table-list |
| select\_one agree\_disagree | q1           | Je fais confiance aux services pharmaceutiques en ligne. |            |
| select\_one agree\_disagree | q2           | Le site web est facile à utiliser.                       |            |
| select\_one agree\_disagree | q3           | Je recommanderais cette plateforme.                      |            |
| end\_group                  |              |                                                          |            |

**choices sheet**

| list\_name      | nom      | label        |
| --------------- | -------- | ------------ |
| agree\_disagree | agree    | D’accord     |
| agree\_disagree | disagree | Pas d’accord |

## ⁉️ Groupe sans appearance

Lorsqu’aucune apparence n’est définie, le groupe est traité davantage comme une question structurée avec différents types de réponses. Le libellé du groupe devient l’invite principale de la question, et chaque ligne à l’intérieur du groupe est considérée comme une réponse distincte.&#x20;

Exemple – sans appearance&#x20;

| type         | nom     | label                      |
| ------------ | ------- | -------------------------- |
| begin\_group | contact | Fournissez vos coordonnées |
| text         | fname   | Prénom                     |
| text         | lname   | Nom de famille             |
| text         | address | Adresse (rue)              |
| integer      | zip     | Code postal                |
| end\_group   |         |                            |

En bonus, vous pouvez ajouter une contrainte à la question du code postal pour vous assurer qu’il s’agit d’un code postal américain valide (5 chiffres) :

| type    | nom | label       | constraint          | constraint\_message                              |
| ------- | --- | ----------- | ------------------- | ------------------------------------------------ |
| integer | zip | Code postal | regex(., '^\d{5}$') | Doit être un code postal américain de 5 chiffres |

Ce qui se passe : Le formulaire affichera une série de questions liées sous l’invite "Fournissez vos coordonnées", chaque champ étant considéré comme faisant partie de cette invite unique.

#### Résumé

Le comportement du groupe change selon que vous utilisez ou non l’ `field-list` appearance :

| Apparence  | Comportement                                                                    |
| ---------- | ------------------------------------------------------------------------------- |
| field-list | Affiche toutes les questions du groupe sur le même écran                        |
| (aucun)    | Traite le groupe comme une seule question avec plusieurs parties ou sous-champs |

## 📰 Groupe avec appearance : field-list contenant un groupe imbriqué

Vous pouvez créer un groupe avec `appearance: field-list` et y placer d’autres éléments, notamment :

* Un groupe imbriqué sans aucune apparence (qui se comporte comme une question structurée en plusieurs parties)
* D’autres questions individuelles (comme select\_one ou text)

Cela vous permet d’afficher une page complète d’entrées liées tout en bénéficiant de sous-sections structurées à l’intérieur de cette page, comme une mise en page avec un bloc d’informations de contact et une méthode de contact préférée

Dans cet exemple :

* Le groupe principal utilise `field-list`, donc tout apparaît sur une seule page.
* À l’intérieur, il y a un groupe imbriqué (sans appearance), qui agit comme un bloc de questions textuelles liées.
* Après le groupe imbriqué, il y a une question select\_one demandant comment le Répondant préfère être contacté.

### **survey sheet**

| type               | nom          | label                       | appearance |
| ------------------ | ------------ | --------------------------- | ---------- |
| begin\_group       | full\_block  | Page de contact             | field-list |
| begin\_group       | contact      | Fournissez vos coordonnées  |            |
| text               | fname        | Prénom                      |            |
| text               | lname        | Nom de famille              |            |
| text               | address      | Adresse (rue)               |            |
| integer            | zip          | Code postal                 |            |
| end\_group         |              |                             |            |
| select\_one method | contact\_way | Méthode de contact préférée |            |
| end\_group         |              |                             |            |

### **choices sheet**

| list\_name | nom    | label     |
| ---------- | ------ | --------- |
| method     | e-mail | Email     |
| method     | phone  | Téléphone |
| method     | sms    | SMS       |

Ce qui se passe :

* Le Répondant voit une seule page.
* En haut, il est invité à renseigner ses coordonnées (prénom, nom, etc.) — ceux-ci apparaissent regroupés mais sont traités comme des parties d’une même section structurée.
* En dessous, sur le même écran, il peut choisir sa méthode de contact préférée.

Cette approche maintient les informations liées bien organisées et efficaces à remplir.


---

# 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://docs.ngsurvey.com/fr/projects/import-export/xlsform/feuille-de-sondage/groupes.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.
