manager-app · SectionParcours · 9 août 2026

Configurer un parcours sans empiler quatre fenêtres

La refonte du 6 août a réglé le vocabulaire : trois questions en français à la place de neuf booléens. Elle n'a pas touché à la forme — et la forme, c'est une popup qui en ouvre une, qui en ouvre une. Voici la mesure du problème et deux façons d'en sortir.

Ce que traverse le client aujourd'hui

Pour poser une question sur la deuxième étape d'un parcours, et l'écrire en néerlandais, il faut ouvrir cinq surfaces l'une par-dessus l'autre. Chacune existe pour de bonnes raisons ; c'est leur empilement qui n'a été décidé par personne.

1
Écran de configuration où se déroule le parcours · carte de base · liste des parcours en place
2
Popup « Modifier le Parcours » 8 contrôles + la liste des étapes popup
3
Popup « Modifier l'Étape » 10 contrôles + la liste des questions popup sur popup
4
Popup « Modifier la Question » 3 à 6 contrôles selon le type popup sur popup sur popup
5
Popup de traduction jusqu'à 10 langues, un éditeur riche par langue et une de plus

Chaque niveau fait screenWidth × 0,82 puis 0,75 puis 0,65 — les fenêtres rétrécissent à mesure qu'on descend, ce qui est le seul repère visuel de profondeur.

Empilement

Rien ne dit où l'on est

Quatre dialogues au même endroit de l'écran, mêmes coins arrondis, même bouton « Sauvegarder » en bas à droite. Le seul indice de niveau est une largeur qui diminue de 7 %.

Sauvegarde

Rien n'est écrit avant d'avoir tout refermé

Chaque popup travaille sur une copie JSON profonde et ne remonte qu'à la fermeture. Fermer la fenêtre du parcours par la croix jette les trois questions saisies dessous, sans avertissement.

Contexte

Le parcours disparaît quand on édite l'étape

Impossible de voir la liste des étapes pendant qu'on en configure une. Comparer l'étape 2 et l'étape 3, c'est fermer, rouvrir, refermer, rouvrir.

Option A — une seule fenêtre, un rail d'étapes

La popup reste : le client sait qu'il « entre » configurer un parcours et qu'il en ressort. Ce qui disparaît, c'est l'empilement. Les étapes deviennent un rail à gauche, toujours visible ; le détail s'affiche à droite ; la question s'ouvre dans le flux, sans nouvelle fenêtre. C'est cliquable — essayez le rail.

Le fort souterrain Le parcours
Fort de Saint-Héribert

Le parcours

Ce que le visiteur voit avant de commencer.

Le fort souterrain FR +3
Une heure sous la colline… FR +3
Quelle ambiance ?
Visite
Parcours de découverte : le visiteur avance à son rythme.
Jeu
Escape game ou chasse au trésor : messages de début et de fin.
Comment le visiteur progresse-t-il ?durée estimée : 55 min
Libre
Il choisit ses étapes dans l'ordre qu'il veut.
Dans l'ordre
Il suit la séquence ; il peut revenir sur une étape déjà vue.
Étape par étape
Chaque étape se débloque en réussissant le défi de la précédente.

Étape 1 — La poterne d'entrée

Le rail reste à gauche : passer à l'étape 2 est un clic, plus un aller-retour.

La poterne d'entrée FR +3
Le seul accès d'origine… FR +3
Emplacementparcours sur le terrain
50.4283, 4.8091
15 m
Contenu riche
Image · poterne-1900.jpg Vidéo · ouverture-grille.mp4 + ajouter
Aucun audio FR +3
? Questionsaucune — facultatif

Étape 2 — Le couloir de contrescarpe

La question s'ouvre ici, pas dans une quatrième fenêtre.

Le couloir de contrescarpe FR +3
Quatre-vingts mètres de galerie… FR +3
? Questions1 question · sans chrono
01 Combien de meurtrières comptez-vous dans le couloir ? réponse attendue
Réponse attendue
14 FR +3

⌨ La réponse ne contient que des chiffres : le visiteur verra un pavé numérique façon cadenas. Rien à configurer.

Étape 3 — La chambre de tir

Une étape vierge : les trois blocs attendent, rien n'est obligatoire.

La chambre de tir FR +3
À rédiger FR
Emplacement
Placer sur la carte
Contenu riche
+ ajouter un média
? Questions
Enregistré il y a 3 s

Trois changements portent tout le reste. Le rail — la liste des étapes ne disparaît jamais. Le fil en haut à gauche — on sait où on est sans compter les fenêtres. « Enregistré » en bas à gauche remplace « Sauvegarder » : chaque champ part au serveur en sortant du champ, il n'y a plus rien à perdre en fermant.

Option B — l'atelier plein écran

Le parcours quitte la popup et devient un écran à part entière, sur le modèle des éditeurs de contenu. Trois colonnes : les parcours de la section, les étapes du parcours choisi, le détail de l'étape choisie. Rien n'est jamais recouvert.

Le gain réel de B n'est pas la place : c'est la troisième colonne libre, où loger un aperçu visiteur en direct. Le coût réel n'est pas le code de l'écran — c'est que le parcours devient le seul type de section à ne pas se configurer comme les douze autres.

Ce qui les sépare

Critère A — fenêtre unique + rail B — atelier plein écran
Profondeur maximale 2 — la fenêtre, puis la traduction 1 — plus la traduction
Cohérence avec les 12 autres sections Intacte — même geste : j'ouvre, je règle, je ferme Rompue — le parcours devient l'exception
Ce qu'il faut réécrire Les trois show… fusionnés en un widget à panneaux. Les blocs de champs se déplacent sans changer Idem, plus une route, un écran, et sa place dans le menu latéral
Aperçu visiteur en direct À l'étroit — il faudrait un troisième volet dans une fenêtre déjà large Naturel — la colonne est libre
Sauvegarde au fil de l'eau Nécessaire dans les deux cas, et indépendante du choix — c'est le vrai chantier

Je recommande A

Non pas parce que la popup serait meilleure en soi, mais parce que le client a déjà appris le geste sur douze autres types de section. Faire du parcours le seul écran plein cadre lui demande d'apprendre une deuxième grammaire pour le type le plus compliqué du produit — le pire endroit où placer la nouveauté.

Et surtout : ce qui fait mal aujourd'hui n'est pas la popup, c'est l'empilement et la sauvegarde en cascade. A traite les deux. B traite les deux aussi, pour plus cher, en ajoutant un risque d'incohérence. Si l'aperçu en direct devient un jour prioritaire, B redevient le bon choix — et le travail fait pour A (un widget à panneaux, indépendant du Dialog qui l'entoure) se déplace tel quel dans un écran plein.

Ce qui ne change pas, quel que soit le choix

La popup de traduction reste une popup

Écrire dix langues est une tâche à part, avec son éditeur riche et son bouton IA. Un niveau de profondeur pour ça est justifié. Les langues restent listées verticalement — pas d'onglets.

Les composants de champ restent

Ce qui casse les alignements, ce n'est pas leur conception : c'est size.width × 0.2 dans NumberInputContainer et des tailles de label qui vont de 16 à 25 px selon le composant. Deux corrections, pas une bibliothèque à refaire.

Les trois questions restent les trois questions

Où se déroule le parcours, quelle ambiance, comment on progresse. Le vocabulaire du 6 août est bon ; c'est son contenant qu'on change.

Pour reprendre plus tard

  1. Trancher A ou B. Rien ne se code avant. Tout le reste en découle.
  2. Sauvegarde au fil de l'eau d'abord, avant la refonte visuelle : c'est le seul point qui fait perdre du travail au client aujourd'hui, et il se traite indépendamment de la forme retenue. Aujourd'hui les trois popups travaillent sur une copie jsonEncode/jsonDecode et ne remontent qu'à la fermeture.
  3. Extraire les blocs de champs des trois show… en widgets autonomes (ParcoursFields, EtapeFields, QuestionFields). Cette étape sert A et B à l'identique — c'est le travail à faire en premier une fois le choix posé.
  4. Puis le contenant : rail + panneaux dans un Dialog pour A, un écran routé pour B.
  5. Rejouer le plan de test §19.13 cas 0 — les 7 lignes ajoutées le 9 août couvrent déjà cet écran.