Aller au contenu principal

Question fermée

La question fermée est une question dont la réponse est prédéfinie. L'utilisateur répond en faisant un choix.

  • Elle dispose d'un paramètre questionText. Il s'agit du texte de la question.
  • Sa questionType est closed.

Si ce choix est unique et requis (booléen ou single), le simple choix valide la réponse. Si le choix est multiple ou non-requis, l'utilisateur doit confirmer sa réponse.

Ces champs de réponse, contrairement aux questions ouvertes, ne seront pas gérés par des balises html classiques. Afin de répondre à des besoins de contrôle et de dynamisme, ces champs seront tous gérés par des boutons.

Les réponses fonctionnent grâce à une table possible_answers.

Pas mal de changements d'appréciation pendant le POC

Il a été longtemps question de distinguer boolean/single et de ne pas considérer multiple ou order. D'ailleurs, dans le code en phase de POC, les questions single étaient codée sous l'étiquette de multiple.

Pour être clair, ces trois types de réponses sont plutôt homogènes: l'utilisateur doit faire un choix parmi plusieurs boutons. Un boolean est un choix sur une seule proposition, le single est un choix de cardinalité fixe de 1, le multiple est un choix de cardinalité maximale supérieure à 1, possiblement non-required. Il convenait de trouver une façon homogène et cohérente de gérer ces choices.

Un choix est à faire

Afin de pouvoir gérer des choix multiples, je me dis que la réponse doit être un booléen (systématiquement). Il permettra d'être plus facilement utilisable côté gestion de Typst. On aurait alors dans les givenAnswers tous les choix possibles associés à un true ou false facilement testable avec Twig.

La question se pose aussi sur une question d'ordonnancement. Lorsque l'utilisateur doit prioriser des options (par exemple, la priorité donnée aux documents qui se contredisent), je vois la chose (aucun test pour le moment) comme une liste de réponses dont la valeur serait un rang (type number). Je ne sais pas trop comment classifier ce type de question: ouverte ou fermée? Plutôt fermée car les choix sont prédéterminés par ailleurs. Mais ce seront des réponses déjà données par ailleurs. Il faut que j'y réfléchisse sérieusement car c'est une feature nécessaire (pas comme le cas d'une réponse multiple ou non-requise dans le cadre d'une question fermée).

choices – Question fermée, Réponse qualificative

Les choices sont de plusieurs formes:

boolean – Une seule proposition

Il s'agit d'une question avec une seule proposition: est-ce que cette proposition est vraie ou fausse? Il est associé à une seule variable qui prend la réponse du choix. Il a strictement 2 entrées dans possibleAnswers.

Lorsque l'utilisateur fait un choix, la question se valide automatiquement.

single – Strictement 1 choix parmi plusieurs propositions

Il s'agit d'une question avec plusieurs propositions. Pour chacune de ces propositions, on obtient une réponse dont la valeur est un booléen. Une seule réponse parmi les propositions peut être true. Il y a autant d'entrées dans possibleAnswers que de propositions.

Lorsque l'utilisateur fait un choix, la question se valide automatiquement.

remarque

Le single est une forme particulière d'un multiple. Il ne s'agit ni plus ni moins que d'un multiple dont les cardinalités min et max sont à 1, et strictement required.

multiple – Plusieurs choix parmi plusieurs propositions

Il s'agit d'une question avec plusieurs propositions. Pour chacune de ces propositions, on obtient une réponse dont la valeur est un booléen. Il y a autant d'entrées dans possibleAnswers que de propositions.

L'utilisateur doit valider sa réponse.

order – Question fermée, Réponse quantifiable, Ordre parmi plusieurs propositions

Il s'agit d'une question avec plusieurs propositions. Pour chacune de ces propositions, on obtient une réponse dont la valeur est un int. Il y a autant d'entrées dans possibleAnswers que de propositions. Chaque proposition a une valeur par défaut. L'utilisateur doit valider sa réponse.