Aller au contenu

Mise en place d'une boucle

Une boucle permet de répéter une partie du questionnaire (une séquence ou une sous-séquence), à partir de valeurs prédéterminées ou de variables du questionnaire.

Dans notre cas d'usage, on souhaite répéter la sous-séquence "Parlez-nous de votre collègue autant de fois que le nombre de collègue qui a été donné à la questions précédente "Combien de personnes partagent votre bureau ?".

On va donc mobiliser la variable COMBIEN_PARTAGE dans une boucle.

Pour créer la boucle, on clique sur le bouton "+ Boucle" dans la barre d'actions.

La fenêtre qui s'ouvre propose plusieurs champs que l'on peut mobiliser de deux manières différentes :

  1. pour une boucle utilisant des valeurs fixes ou des variables du questionnaire (boucle principale);
  2. pour une boucle s'appuyant sur une structure répétée comme une autre boucle ou un tableau dynamique (boucle liée).

Dans ce tutoriel, on va mettre en place le premier cas uniquement.

Pour aller plus loin

Création de la boucle

Les paramètres qui définissent une boucle :

  • Identifiant avec comme toujours un identifiant de la forme MON_IDENTIFIANT
  • Basé sur à remplir uniquement pour les boucles liées (on les base sur un objet existant tel qu'une boucle principale ou sur un tableau dynamique)
  • Nombre d'occurrences max identique à min permet de ne remplir qu'une fois la taille de la boucle si le nombre d'occurrence est fixe (fixé par une formule ou un nombre donné)
  • Nombre minimum d'occurrences le nombre minimum d'itérations, qui peut être une valeur fixe (par exemple 2, ou une variable)
  • Nombre maximum d'occurrences le nombre maximum d'itération, là aussi une valeur fixe ou une variable
  • Afficher toutes les occurrences sur une seule page uniquement pour les boucles principales, lorsqu'il y a un nombre restreint de questions et qu'il est pertinent de proposer toutes les itérations d'un seul tenant en visualisation web ménage ou enquêteur (par exemple questions portant sur les membres d'un logement)
  • Libellé du bouton d'ajout à remplir quand le nombre minimum d'itérations est différent du nombre maximal
  • Début la séquence ou la sous-séquence à partir de laquelle commence la répétition
  • Fin la séquence ou la sous-séquence sur laquelle termine la boucle ; comme pour les filtres, cet élément de fin est inclus dans la boucle.

Dans notre cas, on spécifiera ces valeurs :

  • Identifiant BOUCLE_COLLEGUE (oui, on fait simple 😄)
  • Nombre d'occurrences l'expression VTL nvl($COMBIEN_PARTAGE$, 1), ce qui permet d'avoir 1 si la question précédente n'a pas été répondue ou la valeur de la réponse si on l'a obtenue
  • Début la sous-séquence COLLEGUE
  • Fin la sous-séquence COLLEGUE

Création boucle collègue

Warning

L'interface de création des boucles nous guide pour paramètrer la configuration de la boucle en fonction du contexte de visualisation (ménage / entreprise). Il convient de bien les respecter.

Nous venons de créer notre première boucle 👏.

En visualisant notre questionnaire par exemple en web ménage, on remarque qu'il est difficile de différencier les itérations des différents collègues : ajoutons un peu de personnalisation à la boucle.

Personnalisation de la boucle

Pogues nous permet d'utiliser des variables systèmes bien sympathiques, notamment GLOBAL_ITERATION_INDEX qui donne la position dans une boucle.

Utilisons la pour indiquer à notre répondant où il en est dans son remplissage de boucle. On modifie le libellé de la sous-séquence sur laquelle on boucle. Ajout de la personnalisation dans le libellé de sous-séquence de la boucle

Visualisation d'une occurrence de boucle collègue après personnalisation

Visualisation boucle personnalisées

Il est bien évidemment possible de personnaliser encore plus notre boucle, par exemple en collectant les prénoms des collègues dans une première boucle puis en faisant une boucle liée où on pose les questions sur chaque collègue.

Maintenant qu'on vous a donné les bases, on vous laisse découvrir toutes les possibilités de l'outil !