# D.3.3.3 — Navigation à l'intérieur d'un formulaire

## 3.3 Navigation à l'intérieur d'un formulaire

Une fois un formulaire ouvert, l'enquêteur navigue de question en question. La navigation dans les formulaires ODK est simple et intuitive, mais comporte quelques règles importantes à connaître.

### 3.3.1 Éléments de l'interface en cours de formulaire

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Écran d'un formulaire ODK en cours de remplissage, avec annotations numérotées identifiant : 1-Barre de titre avec le nom du formulaire et le numéro de question actuelle / total, 2-Zone de question avec le libellé de la question, 3-Zone de réponse (champ texte, liste déroulante, ou bouton photo selon le type de question), 4-Barre de navigation inférieure avec les boutons "< Back" (retour) et "Next >" (suivant)</callout>`

<table id="bkmrk-%C3%89l%C3%A9ment-description-"><thead><tr><th>Élément</th><th>Description</th></tr></thead><tbody><tr><td>**Barre de titre**</td><td>Affiche le nom abrégé du formulaire et la progression (numéro de la question actuelle / nombre total de questions visibles)</td></tr><tr><td>**Libellé de la question**</td><td>Texte de la question posée à l'enquêteur. Les questions obligatoires sont précédées d'un astérisque (\*)</td></tr><tr><td>**Zone de réponse**</td><td>Zone de saisie dont le type varie selon la nature de la question (voir section 3.3.2)</td></tr><tr><td>**Bouton "&lt; Back"**</td><td>Retourne à la question précédente. La réponse de la question actuelle est sauvegardée avant le retour</td></tr><tr><td>**Bouton "Next &gt;"**</td><td>Passe à la question suivante. Si la question est obligatoire et non renseignée, un message d'erreur s'affiche</td></tr><tr><td>**Icône sauvegarde** (☁ ou 💾)</td><td>Permet de sauvegarder le formulaire comme brouillon et de quitter sans perdre les données</td></tr><tr><td>**Icône menu** (⋮)</td><td>Options supplémentaires : changer la langue, sauvegarder, voir les informations du formulaire</td></tr></tbody></table>

### 3.3.2 Les types de questions dans les formulaires PIGBF

Les formulaires ODK du programme PIGBF utilisent plusieurs types de questions, chacun correspondant à un type de saisie spécifique :

<table id="bkmrk-type-de-question-app"><thead><tr><th>Type de question</th><th>Apparence</th><th>Instructions de saisie</th></tr></thead><tbody><tr><td>**Texte libre**</td><td>Champ de saisie textuelle (clavier s'affiche automatiquement)</td><td>Taper la réponse au clavier. Respecter l'orthographe exacte des noms propres</td></tr><tr><td>**Numérique**</td><td>Champ de saisie numérique (clavier numérique s'affiche)</td><td>Saisir uniquement des chiffres. Pas d'espaces, pas de tirets</td></tr><tr><td>**Choix unique (liste)**</td><td>Liste de choix avec boutons radio ou menu déroulant</td><td>Appuyer sur l'option correspondante — une seule sélection possible</td></tr><tr><td>**Choix multiple**</td><td>Liste de choix avec cases à cocher</td><td>Cocher toutes les options applicables — plusieurs sélections possibles</td></tr><tr><td>**Date**</td><td>Sélecteur de date (calendrier ou roues de défilement)</td><td>Naviguer dans le calendrier pour sélectionner la date exacte</td></tr><tr><td>**Photo**</td><td>Bouton "Take Picture" (Prendre la photo)</td><td>Appuyer sur le bouton pour activer la caméra, capturer, puis valider</td></tr><tr><td>**GPS / Localisation**</td><td>Bouton "Start GeoPoint" ou chargement automatique</td><td>Patienter que le GPS se fixe (point bleu clignotant) puis valider</td></tr><tr><td>**Code-barres / QR**</td><td>Bouton "Scan barcode"</td><td>Aligner le code-barres ou QR dans le cadre de scan</td></tr><tr><td>**Entité (liste déroulante avec recherche)**</td><td>Champ de recherche avec liste filtrée</td><td>Taper les premières lettres pour filtrer la liste, puis sélectionner</td></tr></tbody></table>

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Exemples de différents types de questions dans un formulaire ODK : (a) champ texte avec clavier visible, (b) liste de choix unique avec boutons radio, (c) bouton "Take Picture" pour la capture photo, (d) indicateur GPS en cours de localisation avec barre de progression</callout>`

### 3.3.3 Questions obligatoires et validation automatique

ODK Collect applique des règles de validation en temps réel :

**Questions obligatoires :** Marquées d'un **astérisque (\*)** avant le libellé. Si l'enquêteur appuie sur "Next &gt;" sans avoir répondu à une question obligatoire, un message d'erreur en rouge s'affiche sous la zone de réponse : *"This field is required."* (Ce champ est obligatoire.) Il est impossible de passer à la question suivante sans y répondre.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Question obligatoire non remplie dans ODK Collect : libellé de la question précédé d'une étoile (*), message d'erreur en rouge "This field is required." affiché sous la zone de réponse vide, bouton "Next >" grisé ou avec indication d'erreur</callout>`

**Contraintes de format :** Certains champs acceptent uniquement des formats précis (ex : numéro de téléphone à 10 chiffres, date dans une plage définie). Si la valeur saisie ne respecte pas le format attendu, un message d'erreur spécifique s'affiche.

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Erreur de contrainte de format dans ODK Collect : champ numéro de téléphone avec valeur incorrecte saisie, message d'erreur personnalisé en rouge sous le champ (ex : "Le numéro de téléphone doit contenir 10 chiffres")</callout>`

**Logique conditionnelle (sauts de questions) :** Certaines questions n'apparaissent que si une condition est remplie dans une question précédente. Par exemple, une question sur le type de handicap n'apparaîtra que si l'enquêteur a répondu "Oui" à la question "L'élève présente-t-elle un handicap ?". L'enquêteur ne voit donc pas toutes les questions du formulaire dans tous les cas — c'est normal et voulu.

### 3.3.4 Sauvegarder un formulaire en cours

Si l'enquêteur doit interrompre une collecte avant de l'avoir terminée (personne absente, interruption externe, batterie faible), il peut sauvegarder le formulaire en cours :

1. Appuyer sur l'icône **sauvegarde** (disquette ou nuage) dans la barre de titre, ou
2. Appuyer sur le bouton physique **Retour** de la tablette (flèche ←) en bas de l'écran Android — ODK Collect demande si vous souhaitez sauvegarder ou abandonner

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Boîte de dialogue de sortie d'un formulaire en cours dans ODK Collect : message "Voulez-vous sauvegarder votre progression ?" avec trois options : "Sauvegarder en tant que brouillon" (bouton bleu), "Ignorer les modifications" (rouge), "Continuer à remplir" (gris)</callout>`

3. Choisir **Sauvegarder en tant que brouillon** — le formulaire est placé dans la section "Drafts" avec toutes les données déjà saisies préservées
4. Pour reprendre : aller dans **Drafts** et appuyer sur l'entrée du formulaire

### 3.3.5 Finaliser et envoyer un formulaire

Lorsque l'enquêteur a répondu à toutes les questions du formulaire, la dernière page affiche un écran de **finalisation** :

`<callout class="info">📸 <strong>Capture d'écran à insérer :</strong> Écran de finalisation d'un formulaire ODK : message "Vous avez terminé ce formulaire." ou équivalent, indication du nom du formulaire et du nom/ID de l'entrée, case à cocher "Marquer ce formulaire comme final" (cochée par défaut), bouton "Envoyer le formulaire" (bleu) et bouton "Enregistrer comme brouillon" (gris)</callout>`

<table id="bkmrk-%C3%89l%C3%A9ment-description--1"><thead><tr><th>Élément</th><th>Description</th></tr></thead><tbody><tr><td>**Message de fin**</td><td>Confirmation que toutes les questions ont été répondues</td></tr><tr><td>**Case "Marquer comme final"**</td><td>**Doit rester cochée.** Un formulaire marqué comme final passe en "Ready to send" et ne peut plus être modifié</td></tr><tr><td>**Bouton "Envoyer le formulaire"**</td><td>Tente d'envoyer immédiatement le formulaire si la connexion est disponible. Sinon, le place en "Ready to send"</td></tr><tr><td>**Bouton "Enregistrer comme brouillon"**</td><td>Sauvegarde sans finaliser — le formulaire reste modifiable en "Drafts"</td></tr></tbody></table>

**Procédure recommandée :**  
1\. Vérifier que la case **"Marquer ce formulaire comme final"** est bien cochée  
2\. Appuyer sur **"Envoyer le formulaire"**  
3\. Si connexion disponible → le formulaire est envoyé immédiatement et passe en "Sent"  
4\. Si pas de connexion → le formulaire passe en "Ready to send" ; il sera envoyé automatiquement à la prochaine connexion

> ⚠️ **Ne décochez jamais la case "Marquer comme final" sauf si vous avez une raison impérative de compléter le formulaire ultérieurement.** Un formulaire non marqué final reste en "Drafts", ne sera pas envoyé automatiquement, et risque d'être oublié.

---