Vous êtes sur la page 1sur 21

FORMATION SUR LA

PROGRAMMATION DE
FORMULAIRE XLSFORMS
Cahier de participant.e.s

Esaïe N. Simplice COULIBALY


Socio-économiste et Spécialiste en gestion des connaissances
Tél :+226 70 98 25 30
ciecfac.sarl@gmail.com Novembre 2021
Table des matières
Introduction : Qu'est-ce qu'un XLSForm ? ....................................................................................................... 3
I. Format de base .......................................................................................................................................... 4
I.1. La feuille de travail « survey » ............................................................................................................... 4
I.2. La feuille « choices ».............................................................................................................................. 4
I.3. Paramétrages généraux de feuille ........................................................................................................... 4
II. Types de questions .................................................................................................................................... 6
II.1. Questions à choix multiples .................................................................................................................. 6
II.2. Précisez autre ........................................................................................................................................ 7
III. Métadonnées ......................................................................................................................................... 8
IV. Conseils/indice...................................................................................................................................... 8
V. Contraintes & Message de contrainte ....................................................................................................... 9
V.1. Contraintes ............................................................................................................................................ 9
V.2. Message de contrainte ........................................................................................................................... 9
VI. Saut de question / Pertinent ................................................................................................................ 10
VII. Formules ............................................................................................................................................. 11
VIII. Calculation (Calcul) ............................................................................................................................ 12
IX. Requis/Obligation ............................................................................................................................... 12
X. Regroupement des questions .................................................................................................................. 12
XI. Emboîtement de groupes dans des groupes ........................................................................................ 13
XII. Sauter de groupe de question .............................................................................................................. 13
XIII. Répétitions .......................................................................................................................................... 13
XIV. Prise en charge de plusieurs langues............................................................................................... 15
XV. Médias ................................................................................................................................................ 15
XVI. Les sélections en cascade................................................................................................................ 15
XVII. Sélections externes.......................................................................................................................... 16
XVIII. Défaut ............................................................................................................................................. 16
XIX. Apparition/ appearance ................................................................................................................... 17
XX. Feuille de calcul des paramètres ......................................................................................................... 17
XXI. Formulaires cryptés ........................................................................................................................ 18
XXII. Spécifier le nom de la soumission du formulaire ........................................................................... 18
XXIII. Formulaires de pages web multiples............................................................................................... 18
XXIV. Formes du thème de la grille .......................................................................................................... 19
XXV. Notes avancées ............................................................................................................................... 20
XXV.1. Combinaison visuelle de notes ...................................................................................................... 20
XXV.2. Notes de stylisme .......................................................................................................................... 20
XXV.3. Plateformes/outils qui supportent les XLSForms ......................................................................... 20
XXV.4. Plus de ressources ......................................................................................................................... 20
XXV.5. Histoire.......................................................................................................................................... 21
Introduction : Qu'est-ce qu'un XLSForm ?
XLSForm est une norme de formulaire créée pour simplifier la création de formulaires dans Excel.
La création se fait dans un format lisible par l'homme, à l'aide d'un outil familier que presque tout le
monde connaît : Excel. Les formulaires XLSForm constituent une norme pratique pour le partage et
la collaboration en matière de création de formulaires. Ils sont simples à utiliser pour commencer,
mais permettent la création de formulaires complexes par une personne familiarisée avec la syntaxe
décrite ci-dessous.

Le XLSForm est ensuite converti en XForm, une norme de formulaire ouverte très populaire qui
vous permet de créer un formulaire avec des fonctionnalités complexes, comme la logiquede saut,
de manière cohérente sur un certain nombre de plateformes de collecte de données Web et mobiles.
Les XLSForms sont compatibles avec le sous-ensemble de fonctionnalités XForm prises en charge
par le projet Javarosa. Les formulaires XLSForm sont pris en charge par un certain nombre de
plateformes de collecte de données populaires.

3
I. Format de base
Chaque classeur Excel comporte généralement deux feuilles de travail : « survey » et « choices ».
Une troisième feuille de calcul facultative, appelée « setting », peut ajouter des spécifications
supplémentaires à votre formulaire. Elle est décrite ci-dessous.

I.1. La feuille de travail « survey »


Cette feuille de travail donne à votre formulaire sa structure générale et contient la majeure partie du
contenu du formulaire. Elle contient la liste complète des questions et des informations sur la façon
dont elles doivent apparaître dans le formulaire. Chaque ligne représente généralement une question
; toutefois, vous pouvez ajouter certaines autres caractéristiques décrites ci-dessous au formulaire
pour améliorer l'expérience de l'utilisateur.

I.2. La feuille « choices »


Cette feuille de calcul est utilisée pour spécifier les choix de réponse pour les questions à choix
multiples. Chaque ligne représente un choix de réponse. Les choix de réponse ayant le même nom
de liste sont considérés comme faisant partie d'un ensemble de choix apparentés et apparaissent
ensemble pour une question. Cela permet également de réutiliser un ensemblede choix pour plusieurs
questions (par exemple, les questions oui/non)

Ces deux feuilles de calcul comportent un ensemble de colonnes obligatoires qui doivent être
présentes pour que le formulaire fonctionne. En outre, chaque feuille de calcul comporte un ensemble
de colonnes facultatives qui permettent de mieux contrôler le comportement de chaque entrée du
formulaire, mais dont la présence n'est pas indispensable. Chaque entrée doit avoir des valeurs pour
chacune des colonnes obligatoires, mais les colonnes facultativespeuvent être laissées vides.

I.3. Paramétrages généraux de feuille


La feuille de calcul de « survey » comporte 3 colonnes obligatoires : « type », « name » et
« label ».
o La colonne « type » précise le type d'entrée que vous ajoutez (types de question).
o La colonne « name » spécifie le nom unique de la variable pour cette entrée. Deux
entrées ne peuvent pas avoir le même nom.
o La colonne « label » contient le texte réel que vous voyez dans le formulaire (sur
les tablettes/téléphones). Il est également possible d'utiliser des colonnes de
traduction de label (d'étiquettes) (voir ci-dessous).
4
La feuille de calcul des « choices » comporte également trois colonnes obligatoires : « list
name » ; « name » et « label ».
o La colonne « list name » (des noms de listes) vous permet de regrouper un
ensemble de choix de réponses connexes, c'est-à-dire des choix de réponses qui
doivent apparaître ensemble sous une question.
o La colonne « name » (nom) spécifie le nom unique de la variable pour ce choix
de réponse.
o La colonne « label » (d'étiquettes) présente le choix de réponse exactement comme
vousvoulez qu'il apparaisse sur le formulaire. Il est également possible d'utiliser
des colonnes de traduction de label (d'étiquettes).

Les colonnes que vous ajoutez à votre classeur Excel, qu'elles soient obligatoires ou facultatives,
peuvent apparaître dans n'importe quel ordre. Les colonnes facultatives peuvent être complètement
omises. Un nombre quelconque de lignes peuvent être laissées vides.
Tout le formatage du fichier Excel (tel que les couleurs, les polices, taille…) est ignoré. Vous pouvez
donc utiliser des lignes de séparation, des ombres et d'autres formats de police pour rendre le
formulaire plus lisible.

Une chose à garder à l'esprit lorsque vous créez des formulaires dans Excel est que la syntaxe que
vous utilisez doit être précise. Par exemple, si vous écrivez « Choices » ou « choice » au lieu de
« choices », le formulaire ne fonctionnera pas.

5
II. Types de questions
XLSForm supporte un certain nombre de types de questions. Ce ne sont que quelques-unes des
options que vous pouvez saisir dans la colonne « type » de la feuille de travail « survey » dans votre
XLSForm :

Type de question Entrée de la réponse

integer Entrée de nombres entiers (c'est-à-dire des nombres entiers).


decimal Entrée décimale.
text Réponse en texte libre.
select_one [options] Question à choix multiple ; une seule réponse peut être sélectionnée.
select_multiple Question à choix multiple ; plusieurs réponses peuvent être
[options] sélectionnées.
note Affiche une note à l'écran, ne nécessite aucune saisie.
geopoint Collectez une seule coordonnée GPS.
geotrace Enregistrez une ligne de deux ou plusieurs coordonnées GPS.
geoshape Enregistrez un polygone de plusieurs coordonnées GPS ; le dernier
point est le même que le premier. (surface/aires)
date Entrée de la date.
time Entrée du temps.
dateTime Accepte la saisie d'une date et d'une heure.
image Prenez une photo.
audio Faites un enregistrement audio.
video Faites un enregistrement vidéo.
barcode Scanner un code-barres, nécessite l'installation de l'application de
scanner de codes- barres.
calculate Effectuez un calcul ; voir la section "Calculation" ci-dessous.
acknowledge Accuser réception de l'invite qui met la valeur sur "OK" si elle est
sélectionnée.

Par exemple, pour collecter le nom et les coordonnées GPS d'un magasin, vous devez écrire ce qui
suit dans la feuille « survey »:

type name label


texte Nom_magasin Quel est le nom de ce magasin ?
geopoint magasin_gps Collectez les coordonnées GPS de cemagasin.

Voir le formulaire XLS Question_types pour un aperçu de chaque type de question utilisé dans un
formulaire.

II.1. Questions à choix multiples


XLSForm supporte à la fois les questions « select_one » (sélectionner une seule réponse) et
« select_multiple »(sélectionner plusieurs réponses). Pour rédiger une question à choix multiple, il
faut ajouter une feuille de « choices » à votre classeur Excel. Voici un exemple de question
« select_one » :

6
Feuilles « survey »
type name label
select_one yes_no aime_pizza Vous aimez la pizza ?
Feuilles « choices »
List name name label
oui_non oui Oui
oui_non non Non

Notez que le « oui_non » de la feuille de travail de « survey » doit correspondre au « oui_non » de la


colonne du « list name » dans la feuille de travail des « choices ». Cela permet de s'assurer que le
formulaire affiche la bonne liste de choix de réponses pour une question particulière.

Nous pouvons également ajouter des questions à choix multiple qui permettent de sélectionner
plusieurs réponses, comme suit :

Feuilles « survey »
type name label
sélectionner_multiple favoris_toppings Quelles sont vos garnitures de pizza
pizza_toppings préférées ?
Feuilles « choices »
List name name label
pizza_toppings fromage Fromage
pizza_toppings pepperoni Pepperoni
pizza_toppings saucisse Saucisse

II.2. Précisez autre


Pour les questions à choix multiples, les enquêtes prévoient souvent la possibilité de cocher la case
"autre" lorsque le choix de réponse n'est pas indiqué. Ensuite, on leur demande généralement de
préciser l'autre option. Cela est possible avec XLSForm en incluant « or_other » après le nom de la
liste de choix de réponses dans la feuille « survey ». La feuille de calcul des choix (« choices ») reste
la même. Voir ci-dessous :
Feuilles « survey »
type name label
select_multiple pizza_toppings or_autre favorite_topping Quelles sont vos garnitures de pizzapréférées
?
Feuilles « choices »
List name name label
pizza_toppings fromage Fromage
pizza_toppings pepperoni Pepperoni
pizza_toppings saucisse Saucisse
Cliquez sur le lien pour consulter le questionnaire complet sur la pizza.

Avertissement : Lorsque vous exportez des données en utilisant cette option « or_other »
(ou_autre), dans la colonne favorite_topping, vous verrez une valeur autre. Une
colonne séparée contiendra la réponse aux questions pour lesquelles l'utilisateur a
sélectionné « autre ». Cela complique l'analyse des données, c'est pourquoi nous
ne recommandons pas l'utilisation de l'option « or_other » pour les collectes de
données à grande échelle. Voir la section Pertinente ci-dessous pour une méthode
alternative plus appropriée aux projets à grande échelle.

7
III. Métadonnées
XLSForm dispose d'un certain nombre d'options de type de données pour la collecte demétadonnées
:

Type de métadonnées Signification

start Date et heure de début de l'enquête.


end Date et heure de fin de l'enquête.
today Jour de l'enquête.
deviceid IMEI (International Mobile Equipment Identity)
subscriberid IMSI (International Mobile Subscriber Identity)
simserial Numéro de série SIM.
phonenumber Numéro de téléphone (si disponible).
Notez que certains champs de métadonnées ne s'appliquent qu'aux formulaires basés sur les
téléphones portables.

Si je voulais que mon enquête recueille toutes ces métadonnées, je placerais leséléments suivants au
début de l'enquête :

Feuilles « survey »
type name label
start commencer
end fin
todays Aujourd_hui
deviceid Numéro_du_dispositif
subscriberid Numéro_abonné
simserial simserial
phonenumber Numéro_detéléphone

Remarquez qu'il n'y a pas d'étiquettes (« label ») associées aux types de questions sur les
métadonnées. Cela est dû au fait que le téléphone capture ces variables automatiquement. Ces
questions n'apparaîtront pas sur l'écran du téléphone, mais vous les verrez lorsque vous consulterez
lesdonnées de votre enquête. Le tutoriel XLSForm montre comment les métadonnées sont utilisées
dans un formulaire.

IV. Conseils/indice
Il arrive que vous souhaitiez ajouter un petit indice à une question de votre formulaire, pour indiquer
à l'utilisateur comment répondre à la question, mais vous ne voulez pas que l'indice fasse partie de la
question elle-même. Il est facile d'ajouter des conseils aux questions dans XLSForms. Il suffit
d'ajouter une colonne « hint » (d'indice) et d'ajouter votre message d'indice.
Voir ci-dessous pour un exemple.

Feuilles « survey »

8
type name label hint
Regardez sur le panneau si le magasin aun
text nom Quel est le nom de ce magasin ?
panneau.
Collectez les coordonnées GPS dece
geopoint geopoint
magasin.

Le didacticielXLSForm fournit d'autres exemples de questions avec des conseils.

V. Contraintes & Message de contrainte


V.1. Contraintes

Une façon d'assurer la qualité des données est d'ajouter des contraintes aux champs de données de
votre formulaire. Par exemple, lorsque vous demandez l'âge d'une personne, vousvoulez éviter les
réponses impossibles, comme -22 ou
200. Il est facile d'ajouter des contraintes de données dans votre formulaire. Il suffit d'ajouter une
nouvelle colonne, appelée contrainte, et de saisir la formule spécifiant les limites de la réponse.
Dans l'exemple ci-dessous, la réponse pour l'âge de la personne doit être inférieure ou égale à 150.
Notez comment le . de la formule renvoie à la variable de la question.

Feuilles « survey »
type name label constraint
integer age Quel âge avez-vous? . <= 150

Dans cet exemple, la formule « .<= 150 » signifie que la valeur saisie pour la question doit être
inférieure ou égale à 150. Si l'utilisateur met 151 ou plus comme réponse, il ne pourra pas passer
à la question suivante ou soumettre le formulaire.

D'autres expressions utiles à utiliser dans la colonne des « constraint » peuvent être trouvées ici.
Regardez sous la rubrique
Section des « Operators »( opérateurs).

V.2. Message de contrainte


Si vous souhaitez inclure un message avec votre contrainte, indiquant à l'utilisateur pourquoi la
réponse n'est pas acceptée, vous pouvez ajouter une colonne constraint_message à votre
formulaire. Voir l'exemple ci-dessous.

Feuilles « survey »

type name label constraint constraint_message


Les personnes interrogées doivent avoir
integer âge du répondant Âge du répondant . >=18
18 ans ou plus pour répondre
à l'enquête.

Dans cet exemple, si l'utilisateur saisit un âge inférieur à 18 ans, un message d'erreur apparaît dans
la colonne constraint_message. D'autres exemples de contraintes ont été illustrés dans ce
formulaire XLS.

9
VI. Saut de question / Pertinent
L'une des grandes caractéristiques de XLSForm est la possibilité de sauter une question ou de faire
apparaître une question supplémentaire en fonction de la réponse à une question précédente. Vous
trouverez ci-dessous un exemple de la façon de procéder en ajoutant une colonne « relevant »
pour une question « select_one », en utilisant notre exemple de garniture de pizza :

Feuilles « survey »

type name label relevant


select_one oui_non aime_pizza Vous aimez la
pizza ?
select_multiple pizza_toppings ou_autre favorite_topping Garnitures ${ aime_pizza } = 'oui'
préférées

Dans cet exemple, on demande à la personne interrogée : "Aimez-vous la pizza ?". Si la réponse
est oui, la question sur les garnitures de pizza apparaît ci-dessous. Notez les ${ } autour de la
variable « aime_pizza ». Ils sont nécessaires pour que le formulaire fasse référence à la variable de
la question précédente.

Dans l'exemple suivant, nous utilisons la syntaxe « relevant » (pertinente) pour une question
« select_multiple », qui est légèrement différente de l'exemple de question « select_one » ci-
dessus.

Feuilles « survey »
type name label relevant
select_one yes_no aime_pizza Vous aimez la pizza ?
select_multiple
favorite_topping Garnitures préférées ${ aime_pizza } = 'oui'
pizza_toppings ou_autre
Quel est votre type de selected(${favorite_topping},
texte Fromage_préféré
fromage préféré ? 'saucisse ')
Feuilles « choices »
list name name label
pizza_toppings fromage Fromage
pizza_toppings pepperoni Pepperoni
pizza_toppings saucisse Saucisse

10
Comme la question sur la garniture de la pizza permet plusieurs réponses, nous devons utiliser
l'expression selected(${favorite_topping}, 'saucisse'), car nous voulons que la question sur
le fromage apparaisse chaque fois que l'utilisateur sélectionne la Saucisse comme l'une des
réponses (que d'autres réponses soient sélectionnées ou non).

Nous avons mentionné précédemment qu'il existait une autre méthode pour spécifier d'autres
questions à choix multiple, plus appropriée pour les enquêtes à grande échelle. Cela peut être fait
en utilisant la même syntaxe pertinente que dans l'exemple ci-dessus :

Feuilles « survey »
type name label relevant
Quelles sontvos
sélectionner_multiple
favoris_toppings garnitures de pizza
pizza_toppings
préférées ?

selected(${favorite_toppings},
texte favoris_toppings_autres Précisez autre :
'autre')
Feuilles « choices »
list name name label
pizza_toppings fromage Fromage
pizza_toppings pepperoni Pepperoni
pizza_toppings saucisse Saucisse
pizza_toppings autre Autre

Notez que vous devez inclure « Autre » comme choix de réponse dans la feuille de « choices ».

VII. Formules
Les formules sont utilisées dans les colonnes « constraint », « relevant » et « calculation »
(Contrainte, Saut/Pertinent et Calcul). Vous avez déjà vu quelques exemples dans les sections
« constraint » et « relevant » ci-dessus. Les formules vous permettent d'ajouter des
fonctionnalités supplémentaires et des mesures de qualité des données à vos formulaires. Les
formules sont composées de fonctions et d'opérateurs (+, *, div, etc.). La liste complète de ces
derniers est la suivante :

Opérateur Description Exemple


+ Addition 6+4
- Soustraction 6-4
* Multiplication 6*4
div Division 8 div 4
= Egal prix=9.80
!= Différent (Non égal prix!=9.80
< Moins de prix<9.80
<= Inférieur ou égal à prix<=9.80
> Supérieur à prix>9,80
>= Supérieur ou égal à prix>=9.80
ou ou prix=9.80 or prix=9.70
et et prix>9.00 and prix<9.90
mod Modulus (reste de la division) 5 mod 2

11
VIII. Calculation (Calcul)
Votre enquête peut effectuer des calculs en utilisant les valeurs des questions précédentes. Dans la
plupart des cas, cela nécessite l'insertion d'une question de calcul. Par exemple, dans l'enquête ci-
dessous, nous avons calculé le pourboire pour un repas et l'avons affiché àl'utilisateur :

Feuilles « survey »
type name label calculation
decimal montant Quel était le prix du repas ?
calculate conseil ${mount} * 0.18
note afficher Le pourboire de 18% pour votre
repas est : ${conseil}fcfa

Notez que le ${conseil} de la dernière ligne sera remplacé par le montant réel du pourboirelorsque
vous consulterez et remplirez le formulaire.

IX. Requis/Obligation
Il est simple de marquer certaines questions comme obligatoires dans votre formulaire. Cela
signifie que l'utilisateur ne pourra pas passer à la question suivante ou soumettre leformulaire sans
avoir répondu à cette question.

Pour rendre les questions obligatoires, ajoutez une colonne « required » (obligatoire) à votre
feuille de calcul. Sous cette colonne, indiquez que les questions sont obligatoires en écrivant
« yes » ou « true ». Voir l'exemple ci-dessous :

Feuilles « survey »
type name label constraint required
entier âge Quel âge avez-vous ? . <= 150 yes

X. Regroupement des questions


Pour créer un groupe de questions dans votre formulaire, essayez ce qui suit :

Feuilles « survey »
type name label
begin group repondant Répondant
texte nom Entrez le nom du répondant
texte position Indiquez la position du répondant au sein de
l'école.
eend group

12
C'est un bon moyen de regrouper des questions connexes pour l'exportation et l'analyse des
données. Remarquez que le groupe final ne nécessite pas de nom ou d'étiquette, car il est caché
dans le formulaire.

XI. Emboîtement de groupes dans des groupes


Les groupes de questions peuvent être imbriqués les uns dans les autres :

Feuilles « survey »
type name label
begin group hopital Hôpital
texte nom Quel est le nom de cet hôpital ?
begin group medicaments anti-vih Médicaments contre le VIH
select_one yes_no avoir_un_medicament_hiv Cet hôpital dispose-t-il de médicamentscontre le VIH ?
end group
end group

Vous devez toujours fermer le groupe le plus récent qui a été créé en premier. Par exemple, lepremier
« end group » (groupe de fin) que vous voyez ferme le groupe de « Médicaments contre le VIH »,
et le second ferme le groupe de début d' « Hôpital ». Lorsque vous travaillez avec des groupes et que
vous obtenez des messages d'erreur en essayant de télécharger votre formulaire, vérifiez que pour
chaque « begin group » (groupe de départ), vous avez un « end group » (groupe de fin).

XII. Sauter de groupe de question


L'une des fonctions intéressantes de XLSForm est la possibilité d'ignorer un groupe de questions en
combinant la fonction de groupe avec la syntaxe « relevant ». Si vous voulez ignorer un groupe de
questions en une seule fois, placez l'attribut « relevant » au début d'un groupe comme suit :

Feuilles « survey »
type name label relevant
integer age Quel âge avez-vous ?
begin group enfan t Enfant ${age} <= 5
integer muac Enregistrez la circonférence de la partie supérieure du bras de cet
enfant.
select_one yes_no mrdt Le test de diagnostic rapide de l'enfant est-ilpositif ?

end group

Dans cet exemple, les deux questions relatives au groupe d'enfants (muac et mrdt) n'apparaîtront
que si l'âge de l'enfant indiqué dans la première question est inférieur ou égal à cinq ans.

XIII. Répétitions
Un utilisateur peut répéter un groupe de questions en utilisant les constructions « begin repeat »
13
et « end repeat » :

Feuilles « survey »
type name label
begin repeat repetition_enfant
texte nom Nom de l'enfant
décimal poids_de_naissance Poids de l'enfant àla naissance
select_one male_female sexe Sexe de l'enfant
end repeat
Feuilles « choices »
list name name label
male_female homme Homme
male_female femme Femme

Dans cet exemple, les champs nom, poids_de_naissance et sexe sont regroupés dans un groupe
de répétition, et l'utilisateur peut répéter ce groupe autant de fois que nécessaire en sélectionnant
l'option dans le formulaire pour commencer une autre répétition.

La colonne « label » (étiquette) est facultative pour la « begin repeat » (répétition de début).
L'attribution d'une étiquette à un groupe de répétition ajoutera l'étiquette comme titre au bloc de
questions derépétition dans le formulaire.

Le formulaire XLSForm DeliveryOutcome illustre un autre exemple de groupe de répétition.

Note : Au lieu d'autoriser un nombre infini de répétitions, l'utilisateur peut spécifier un nombre
exact de répétitions en utilisant la colonne « repeat_count » :

Feuilles « survey »
type name label repeat_count
begin repeat repetition_enfant 3
texte nom Nom de l'enfant
décimal poids_de_naissan Poids de l'enfant àla naissance
ce
select_one male_female sexe Sexe de l'enfant
end repeat
Feuilles « choices »
list name name label
male_female homme Homme
male_female femme Femme

Dans l'exemple ci-dessus, le groupe de répétitions est limité à 3 répétitions.

Certaines plateformes prennent également en charge le comptage dynamique des répétitions. Dans
l'exemple ci-dessous, le nombre que l'utilisateur saisit dans le champ « num_hh_members »
détermine le nombre de répétitions du groupe « hh_member » :

Feuilles « survey »
type name label repeat_count
Nombre de membresdu ménage ?
integer nombre_hh_memb
res
14
commencer hh_member ${num_hh_members}
répéter
texte nom Nom
entier âge Âge
select_one
male_female genre Genre
répétition de fin
Feuilles « choices »
list name name label
masculin_féminin homme Homme
masculin_féminin femme Femme

XIV. Prise en charge de plusieurs langues


Il est facile d'ajouter plusieurs langues à un formulaire. Il vous suffit de nommer votre
label::language1, label::language2, etc., et vos formulaires seront disponibles en plusieurs
langues. Voir l'exemple ci-dessous. Pour sélectionner une autre langue sur le téléphone, appuyez
sur la touche Menu, puis sur l'optionChanger de langue. Pour le formulaire ci-dessous, les options
possibles sont English et Español.

Feuilles « survey »
type name label::Français label::English label::Español constraint
integer age Quel âge avez-vous ? How old are you? ¿Cuántos años tienes? . <= 150

Note : Vous pouvez également ajouter une colonne de langue différente pour les indices et les
fichiers multimédias ; il vous suffit d'utiliser la fonction « ::language » est à nouveau utilisée.
Consultez le documentstandard XLSForm pour savoir exactement quels types d'entêtes de
colonne peuvent accepter une modification de la langue.

XV. Médias
Vous pouvez inclure dans votre formulaire des questions qui affichent des images ou qui lisent des
fichiers vidéo ou audio. Si vous utilisez le client mobile ODK pour la soumission deformulaires,
vous devez placer les fichiers multimédias que vous souhaitez inclure dans le dossier
/odk/forms/formname-media sur votre téléphone, puis faire référence au nom exact du fichier dans
la colonne « medias » de votre formulaire. Vous trouverez ci-dessous un exemplede la manière de
procéder.

Feuilles « survey »
type name label media::image media::video
note exemple_média Exemple demédia exemple.jpg exemple.mp4

Consultez le formulaire XLSForm Birds qui illustre l'utilisation des fichiers multimédias. Vous
pouvez également cliquer sur le lien pour voir le formulaire webBirds.

XVI. Les sélections en cascade


15
De nombreux formulaires commencent par demander le lieu où se trouve le répondant, chaque choix
de lieu spécifiant les choix de lieux suivants (par exemple, la Région, la commune, levillage).
Au lieu d'ajouter un champ select_one pour chaque option d'emplacement, vous pouvez utiliser la
sélection en cascade. Pour utiliser les sélections en cascade, vous devez créer une colonne
« choice_filter » dans votre feuille de calcul « survey » et ajouter les colonnes d'attributsde lieu dans
votre feuille de calcul « choices ». Consultez un exemple de formulaire XLS ici.

XVII. Sélections externes


Si un formulaire comporte des sélections avec un grand nombre de choix (par exemple, descentaines
ou des milliers), ce formulaire peut ralentir le chargement du formulaire et la navigation dans des
clients comme KoboCollect/ODK Collect. La meilleure solution à ce problème est d'utiliser des
sélections externes.

L'activation des sélections externes est simple. - Au lieu de « select_one » pour le type d'invite,
utilisez « select_one_external ». - Au lieu de la feuille « choices », mettez les choix externes dans
la feuille « external_choices ».

Voir le formulaire select_one_external pour un exemple qui utilise les choix normaux etexternes.

Lorsqu'un XLSForm avec des choix externes est converti en XForm, deux fichiersseront produits, le
XForm (par exemple, form-filename.xml) avec tous les choix normaux, et un itemsets.csv avec les
choix externes.

Le fichier itemsets.csv peut être téléchargé sur n'importe quel serveur compatible Kobo/ODK (par
exemple, ODK Aggregate) comme un fichier média. Il sera téléchargé sur n'importe quel serveur
compatible Kobo/ODK (par exemple, ODK Collect) comme n'importe quel autre fichier média et
enregistré dans le dossier [form-filename]-media. Les clients tels que ODK Collect chargent les
fichiers multimédias à partir de la carte SD, de sorte que votre formulaire comportant un grand
nombre de choix se chargera désormais très rapidement.

XVIII. Défaut
L'ajout d'un champ par défaut (« default ») signifie qu'une question sera pré-remplie avec une
réponse lorsque l'utilisateur verra la question pour la première fois. Cela peut permettre de gagner du
temps si la réponse est une réponse couramment choisie ou de montrer à l'utilisateur le type de choix
de réponse attendu. Voir les deux exemples ci-dessous.
Feuilles « survey »
type name label default
today today
date survey_date Date de l'enquête ? 2010-06-15

Dans l'exemple suivant, le poids est automatiquement fixé à 51,3 kg. Vous pouvez simplement
modifier la réponse en touchant le champ de réponse et en saisissant une autreréponse.

Feuilles « survey »
type name label default
decimal poids Poids du répondant ? (en kgs) 51.3

16
XIX. Apparition/ appearance
La colonne « appearance » vous permet de modifier l'apparence des questions dans votre
formulaire. Le tableau suivant répertorie les attributs d'apparence possibles et la manière dont la
question apparaît dans le formulaire

Attribut de
Type de question Description
l'apparence

multiline texte Il est préférable de l'utiliser avec des clients Web, car il
permet decréer une zone de texte de plusieurs lignes.
select_one, select_multiple
minimal Les choix de réponses apparaissent dans un menu déroulant.
quick Pertinent pour les clients mobiles uniquement, cet attribut fait
select_one
passer automatiquement le formulaire à la question suivante
après la sélection d'une réponse.
month-year date Sélectionnez uniquement un mois et une année pour la date.
year date Sélectionnez uniquement une année pour la date.
horizontal-compact select_one, select_multiple Pour les clients Web uniquement, cela permet d'afficher les
choix deréponses horizontalement.
select_one, select_multiple Pour les clients Web uniquement, cela affiche les choix de
horizontal
réponses horizontalement, mais en colonnes.
Utilisé de préférence avec des clients Web, il fait apparaître
likert select_one
leschoix de réponse sous la forme d'une échelle de Likert.
select_one, select_multiple
compact [choixavec images]. Disposer les choix de réponses des images côte à côte.

select_one [choix avecimages] Identique au précédent, mais celui-ci passe automatiquement


quickcompact
à laquestion suivante (uniquement pour les clients mobiles).
field-list Tout le groupe de questions apparaît sur un seul écran (pour
groupes
lesclients mobiles uniquement).
label select_one, select_multiple
Affiche les étiquettes des choix de réponses (et non les
entrées).
Utilisé conjointement avec l'attribut label ci-dessus, affiche
select_one, select_multiple
list-nolabel les entrées de réponse sans les étiquettes (veillez à placer les
champs label et list-nolabel dans un groupe avec l'attribut
field-list si vous
utilisez un client mobile).
Une façon plus simple d'obtenir la même apparence que ci-
table-list groupes dessus, appliquer cet attribut à l'ensemble du groupe de
questions (cela peutralentir un peu le formulaire).
Permet de tracer votre signature dans votre formulaire
signature image
(clients mobiles uniquement).
draw Permet d'esquisser un dessin avec votre doigt sur l'écran de
image
l'appareil mobile.

Un formulaire XLSForm avec tous les attributs d'apparence de ce tableau est disponible ici.

XX. Feuille de calcul des paramètres


La feuille de calcul des « settings » (paramètres) est facultative, mais elle vous permet de
personnaliserdavantage votre formulaire, notamment en le cryptant ou en définissant un thème de
17
style général pour votre formulaire, entre autres.
Vous trouverez ci-dessous un exemple de feuille de calcul des paramètres :

Feuilles « settings »
form_title form_id public_key submission_url default_languag
Exemplede titre https://example-odk-
exemple_id IIBIjANBg... Français
aggregate.appspot.com/submission

Les entêtes de colonne de cet exemple de feuille de calcul « settings » (des paramètres) ont les
fonctionssuivantes :

 form_title : Le titre du formulaire qui est affiché aux utilisateurs. Le titre du formulaire
est tiré de
form_id si form_title est vide ou manquant.
 form_id : Le nom utilisé pour identifier la soumission du formulaire. L'identifiant du
formulaire est tiré du nom du fichier XLS si form_id est vide ou manquant.
 clé_publique : Pour les formulaires chiffrés, c'est ici que la clé publique est copiée et
collée.
 submission_url : Pour les formulaires cryptés, cette url spécifie le serveur sur lequel les
formulaires finalisés sont soumis.
 default_language : Dans les formulaires localisés, ceci définit la langue qui doit être
utilisée par défaut.

XXI. Formulaires cryptés


Les formulaires cryptés fournissent un mécanisme pour garder vos données privées en utilisant http
pour la communication. Les soumissions de formulaires envoyées au serveur d'Aggregate sont
cryptées et totalement inaccessibles à toute personne ne possédant pas la cléprivée.
Pour crypter les formulaires XLS, ajoutez l'id_string, le submission_url et le public_key comme
en-têtes de colonne dans la feuille de calcul « settings ». Ils font ce qui suit :
 id_string - nom utilisé pour identifier le formulaire
 submission_url - est votre url de soumission
 public_key - est la clé publique base64RsaPublicKey

Pour plus d'informations sur les formulaires cryptés et la façon de générer les clés rsa, consultez le
tutoriel ici. Veuillez consulter l'exemple tutorial_encryptedXLSForm.

XXII. Spécifier le nom de la soumission du formulaire


Dans la feuille de calcul des « settings », vous pouvez spécifier un nom unique pour chaque
soumission de formulaire à l'aide des champs remplis par l'utilisateur pendant l'enquête. Sur la feuille
de calcul « settings », ajoutez une colonne appelée instance_name. Saisissez l'expression qui définit
le nom unique de l'instance du formulaire à l'aide des champs de la feuille de calcul « survey ».

Regardez cet exemple de formulaire XLS qui calcule le nom d'instance à partir des noms etprénoms
de l'utilisateur associés à l'uuid de la soumission du formulaire.

XXIII. Formulaires de pages web multiples


18
Les formulaires Web peuvent être divisés en plusieurs pages à l'aide des pages de thème destyle.
Un exemple de formulaire divisé en plusieurs pages peut être vu sur le formulaire Web Widgets on
Pages.

Dans l'onglet « settings », créez une colonne appelée « style » et définissez-la sur pages, commesuit
:

Feuilles « settings »
form_title form_id style
exemple detitre exemple_id pages

Dans votre onglet d'enquête, regroupez les questions que vous souhaitez voir apparaître sur
chaque page, puis définissez l'apparence du groupe comme étant une liste de champs. Voir
l'exemple ci-dessous.

Feuilles « settings »
type name label appearance
begin groupe groupe1 field-list
text nom Nom du défendeur
integer age Âge du répondant
string adresse Adresse du défendeur
end group

Voir cet article de blog pour plus d'informations sur la création de formulaires web multi-pages.
La source de XLSForm est ici.

XXIV. Formes du thème de la grille


Le style « theme-grid » (grille thématique) permet à votre formulaire d'imiter l'aspect des
enquêtes papiertraditionnelles en compactant plusieurs questions sur une seule ligne. Ce style
s'utilise de préférence avec des écrans plus grands (par exemple, des ordinateurs ou des tablettes).
Il permet également une impression agréable !

Veuillez cliquer sur le lien pour voir un exemple de formulaire Webdu thèmeGrille.

Pour créer un formulaire Grille, dans l'onglet « setting », sous la colonne style,écrivez « theme-
grid », comme suit :

Feuilles « settings »
form_title form_id style
exemple detitre exemple_id theme-grid

Dans votre onglet « survey », regroupez les questions que vous souhaitez voir apparaître dans
chaque section, puis définissez l'apparence de chaque champ en fonction de la largeur souhaitée
(la largeur par défaut est de 4). Voir l'exemple ci-dessous.

Feuilles « survey »
type name label appearance
begin group groupe1

19
text nom Nom du défendeur w3
integer age Âge du répondant w1
string adresse Adresse du défendeur w4
end group

Consultez cet article de blog pour plus d'informations sur la création de formulaires Grid.
L'exemple de XLSForm du thème Grille est ici.

XXV. Notes avancées

XXV.1. Combinaison visuelle de notes


Le format XLSForm ne permet d'ajouter qu'un seul de chaque type de média (image, vidéo, audio)
à une question de note (c'est-à-dire que vous ne pouvez pas avoir plus d'un fichier ou type de
média dans un seul champ de note). Pour contourner cette limitation, les notes suivantes seront
désormais fusionnées visuellement afin d'apparaître comme une seule note dans votre formulaire.
En pratique, cela signifie que vous pouvez inclure plusieurs champs de notes les uns après les
autres dans votre formulaire XLS. Lors de l'affichage du formulaire, les notes apparaîtront
automatiquement comme une seule note. Voir l'exemple de formulaire web ici, et la source du
XLSForm ici.

XXV.2. Notes de stylisme


XLSForm supporte un sous-ensemble limité de la syntaxe Markdown pour styliser les notes dans
votre formulaire.

 accentuer les mots en les enveloppant dans _ ou *


 accentuer fortement les mots en les enveloppant _ _ou **.
 un lien peut être ajouté en utilisant [nom du lien](url)
 ajoutez un retour à la ligne à l'endroit souhaité en appuyant sur Ctrl-Enter ou Ctrl-Alt-
Enter (la combinaison de touches peut être différente dans certains tableurs).

Consultez l'article du blog sur le style et la combinaison des notes ici.

XXV.3. Plateformes/outils qui supportent les XLSForms

 Kit de données ouvert (ODK)


 Formhub
 Ona
 EnquêteCTO
 Enketo
 Boîte à outils Kobo
 CommCare
 Nafundi's XLSFormOffline
 xlsform.exe de Nathan Breit
 DataWinners

XXV.4. Plus de ressources


20
Le document standard XLSform peut vous guider à travers les types d'entrée spécifiques, les
entêtes de colonne, etc. qui constituent une syntaxe légitime dans les XLSForms. Si vous souhaitez
approfondir votre compréhension des XForms et aller au-delà des XLSForms, voici quelques
ressources pour les comprendre :

 Directives relatives aux formulaires :


http://code.google.com/p/opendatakit/wiki/XFormDesignGuidelines
 Tutoriel sur la conception de formulaires :
https://bitbucket.org/javarosa/javarosa/wiki/buildxforms
 Exemples de formulaires :
http://code.google.com/p/opendatakit/source/browse/?repo=forms
 Université Formhub
 Galerie de formulaires Ona
 XForms tel que supporté par JavaRosa :
https://bitbucket.org/javarosa/javarosa/wiki/xform- jr-compat

XXV.5. Histoire

Le XLSForm a été développé à l'origine par Andrew Marder et Alex Dorey du


SustainableEngineeringLabde l'Université deColumbia. Au fur et à mesure que lesXLSForm ont été
adoptés par ODK Community, SEL a travaillé avec l'équipe ODK de l'Université de Washington
pour développer la spécification actuelle. PyXForm, la bibliothèque utilisée pour convertir les
XLSForms en XForms, est un projet open source soutenu par les membres d'ODK, SEL, Ona,
SurveyCTO et Kobo.

Ce site vous aidera à créer des formulaires XLSForm. XLSForm est un outil utilisé pour simplifier
la création de formulaires. XLSForm convertit les formulaires créés dans Excel en XForms qui
peuvent être utilisés avec un certain nombre de plateformes web ou mobiles.

21

Vous aimerez peut-être aussi