// Le numéro de la session
#_SESSION(k)
// Les items (messages ou questions)
:: ou • + (espace) // tout item commence ainsi, message ou question
// Les types de questions => à indiquer dans le texte de la question
#Q_radio => choices // Peut ne pas être précisé car c'est le paramètre par défaut
#Q_CB(n) => checkboxes // où n représente le nombre de réponses autorisées (paramètres max).
#Q_FT(k) => freeText // où k représente le nombre de caractères autorisés dans le champ texte
#Q_img(n) => images // où n représente le nombre de réponses autorisées (paramètres max). L’absence de parenthèses est autorisée.
#Q_range => range
// Les modalités de réponses aux questions
@ // Chaque modalité commence par un arobase (@). IMPORTANT : C'est aussi ce qui permet de déterminer que l'item n'est pas un message mais une question
|| // Deux barres verticales séparent les labels de leur valeur
#_SRC(texte) // indicateur à ajouter à la fin d'une modalité d'une question image
#_ALT(texte) // indicateur à ajouter à la fin d'une modalité d'une question image
#_EMOJI(😊) // indicateur à ajouter à la fin d'une modalité d'une question range
// Les coachs => à signaler sur la ligne précédent un item (message ou question) une seule fois. Tous les items qui suivent seront associés à ce coach. Par défaut c'est le coach motivation qui est désigné comme l'auteur des messages.
#M => motivation
#E => exercice
#S => scientifique
// Les variables => à indiquer dans le texte de la question
#_VARIABLE(texte) // permet d’indiquer les noms de variables (sans espace) correspondant aux questions posées
#_VAR(texte) // Raccourci de la balise variable
// Les commentaires qui disparaissent dans le fichier YAML
#_COMMENT(texte) // Commentaire quelconque explicitement indiqué
#_(texte) // Raccourci de la balise commentaire
// Les dépendances => à signaler sur la ligne précédent un item (message ou question) une seule fois. Tous les items qui suivent auront ces dépendances à moins que #G mettent fin à cela
#D_(NomQuestion:OrdreModalite) ou #D-(NomQuestion:[ContenuModalite])
OU #D_(NomQuestion:OrdreModalite/OrdreModalite) // l’item sera multiplié car il doit apparaître pour plusieurs modalités
OU #D_(NomQuestion:[ContenuModalite]/[ContenuModalite]) // l’item sera multiplié car il doit apparaître pour plusieurs modalités
OU #D_(UUID_Q:UUID_M) OU #D-(UUID_Q:UUID_M/UUID_Q:UUID_M) // item dont l’affichage dépend de la modalité UUID_M de la question UUID_Q
#G => (rien) // à signaler avant un message ou une question. Indique la fin d'une zone de dépendance. Tout le monde reprend ici
// Paramètres des items => à indiquer dans le texte d’un item
// automatiquement => type : session-end (dernier item d’une session) ou => type : study-end (dernier item de l’étude)
#_IMP => type : notice // Message important (à indiquer dans le texte du message)
#_unlocks(UUID) // apparaît dans les paramètres d'un item message ou question
#_unlocks // si les parenthèses sont absentes, l’UUID est généré dynamiquement
// Les modifications dans le texte :
// Gestion genrée
[$.../.../...$] => {% if user.sex == 'male'%} masculin {% elseif user.sex == 'female'%} féminin {% elseif user.sex == 'neutral'%} neutre {% endif %}
[$M/.../.../...$] OU [$S/.../.../...$] OU [$E/.../.../...$] => Fonction à créer pour plus tard si variable coachM.sex ou coachS.sex créée par exemple.
// Réponses précédentes. Le nom ou l’UUID de la variable correspond à un item question
[%NomVariable%] => ‘{{‘UUID‘| answer}}’
[%UUID%] => ‘{{‘UUID‘| answer}}’
// Variable utilisable
[*email*] => {{ user.email }}
[*nom*] => {{user.first_name}}
[*sexe*] => {{user.sex}}
[*coach*] => {{user.coach.full_name}}
[*coach_sexe*] => {{user.coach.sex}}
[*coachE*] => Misha
[*coachS*] => Charlie