25The prerequisite: give the scene some time
A scene built on a 360 image has a default duration of zero seconds, which means unlimited: the visitor stays as long as they like. This is not a flaw to be fixed, and in many cases it is exactly what you want.
You do not have to guess: when the duration is zero, the platform says so itself across the timeline. Your event tracks are there, but empty, and both counters stay frozen at 00:00,0. The message reads "Définissez un temps sur votre scène pour gérer vos évènements sur la timeline" (set a time on your scene to manage your events on the timeline).

The setting sits in "Options de la scène" (scene options), "Général" tab, "Temps et durée" (time and duration) block. Three settings live there:
- "Temps sur la scène (mm:ss)" (time on the scene): two fields, minutes and seconds. This is the setting that unlocks everything else.
- "Jouer la scène en boucle" (loop the scene): once the duration is over, the scene starts again instead of stopping.
- "Afficher time line" (show timeline): shows the visitor a progress bar during the scene.

26The four activation modes
Every event fires according to an activation mode, chosen in its "Général" tab. This choice is not a box ticked at random: it decides who is in charge, the visitor or you. A 360 story offers two of them; a "Réalité Mixte" (mixed reality) story offers four.

"Au clic" (on click): the visitor decides
The event is represented by a point of interest in the scene; nothing happens until the visitor clicks it. This is the free-exploration mode: the visitor looks around, spots the markers, picks their own order. Use it for anything optional or consultable on demand: an information sheet, an on-request sound, a navigation arrow. What the visitor experiences: they are active, they rummage, and they can skip what does not interest them.
"Automatique" (automatic): you decide
The event fires on its own, over its time range, with no action from the visitor. This is the guided-narration mode: an instruction shown on arrival in the scene, an audio commentary that starts, a question that pops up at the right moment. Use it for everything the visitor must see or hear without having to look for it. What the visitor experiences: they watch the sequence you wrote, then take back control. To stagger several automatic events in one scene, the scene must have a duration: that is the prerequisite of the previous section.
"Zone": movement decides (mixed reality)
In "Réalité Mixte" (mixed reality) projects, a third mode appears: the event fires when the visitor enters or leaves a zone of the room. You designate the zone, then the direction, "In" on entry or "Out" on exit, and finally what does the triggering, with "Déclenché par" (triggered by): "Tête" (head), meaning the headset's position, "Main" (hand), meaning hand tracking, or "Les deux" (both). The head is the default. This is the mode for physical experiences: content that launches when someone approaches a real workstation.
"Bulle / Porte": crossing a 360 video (mixed reality)
The fourth mode fires the event when the visitor's head enters a 360 video placed as a bubble or a door in the scene, or leaves it. You pick the video in the "Vidéo 360 (bulle / porte)" list, then "Entrée" (entry) or "Sortie" (exit). If no eligible video exists in the scene, the screen says so and the list stays empty. The screen also warns that this is a headset-only trigger: the web preview has no immersion and will not play it.
Both spatial modes share one extra setting, "Délai avant exécution (s)" (delay before execution, in seconds), in half-second steps. Zero means immediate. Beyond that, the event waits for the delay before executing, and the wait is cancelled if the opposite movement happens in the meantime: a visitor entering a zone then leaving it before the delay is up triggers nothing. That is what stops a mere walk past a zone from launching content.
Limiting repeats
Below the activation toggle sits a discreet but useful block: "Nombre d'ouverture autorisée" (number of openings allowed), with two independent counters, "Dans la scène" (in the scene) and "Dans la story" (in the story). The label spells out the convention: zero means "always", not "never".
This is the setting to know for anything that must not repeat: a welcome message you only want seen once is set to 1 in the story; a comment that may replay on each visit to a scene, but only once per visit, is set to 1 in the scene and 0 in the story.

27Variables: the story's memory
A variable is a value internal to the story that records what the visitor does: did they find the key, which answer did they pick, how long did they take. Variables belong to the whole story: a value set in one scene can be read in every other. They are created in the "Gestion des variables" (variable management) box, opened by the editor's "Variables de déclenchement" (trigger variables) button: a name, a type, and that is all.


| Type | What it records | Typical use |
|---|---|---|
| Vrai/Faux (true/false) | A switch: the thing is done or it is not. Initial value of your choice: FAUX or VRAI. | "The key has been found", "the safety instructions have been read". |
| Nombre (number) | A numeric value, comparable with =, > and < in conditions. | A level reached, a numeric choice made by the visitor. |
| Chaine de caractères (text) | A text, picked from a list of values you declare when creating the variable. | A visitor profile: "beginner" or "expert", steering the rest of the journey. |
| Temps (time) | A stopwatch, driven by three actions: Start, Stop, Set (impose a value). | Timing an exercise across two scenes. |

Three ways to change a variable's value mid-story: the SetVariable event, placed in a scene like any other event; the "Ouverture / Fermeture" tab of any event, which can change variables as a side effect; and, in choice questions, the variable assignment set directly on an answer. Reading, on the other hand, happens in the events' "Conditions" tab. One point that saves you an impossible setup: an assignment placed on an answer can only target a Vrai/Faux (true/false) or Nombre (number) variable. A Chaine de caractères (string) variable can indeed be picked from the list, but no value can be given to it there. To steer a journey according to the answer, the "Réponse à une question" (answer to a question) condition needs no variable at all. Full examples follow two sections down.

The initial value
Each row of the management box unfolds on a chevron, revealing a setting that is easy to miss: the "Valeur Initiale" (initial value). It is the value the variable holds at the very start of the story, before anything has changed it.

28Dynamic tokens: showing a value that changes
Fixed text always says the same thing. A token is a word between double braces that you drop into the text of an event, and that is replaced at playback time by a computed value: the headset battery level, the name given to the device, the number of visitors in the room, the time, the score obtained on a question set. The same text then reads differently for each visitor and at every moment.
Where to place them
Open a Texte (text) event. Below the Texte field of its input screen, a collapsible "Jetons dynamiques" (dynamic tokens) panel lines up every available token. Put the cursor where you want it in your text, then click the token: it is inserted at that exact position, and the cursor moves just after it. Hover a token before clicking and a tooltip tells you what it will show.

The live value dot
Some tokens carry a small dot. It marks a value that is refreshed while the panel stays on screen: the battery going down, the scene stopwatch running, the time changing. The other tokens are set when the panel opens and no longer move while it stays open.

The fourteen tokens
| Token | What it shows | Live value |
|---|---|---|
{{variable(nom)}} | The value of a story variable, among those you defined. | yes |
{{batterie}} | The device battery level, as a percentage. | yes |
{{charge(40)}} | The estimated charging time before reaching the threshold in brackets. Stays empty if the device is not charging, or while the charging rate is not known. | yes |
{{casque}} | The name given to the headset when it was paired. | no |
{{visiteurs}} | The number of headsets in the room, this one included. | yes |
{{ligne}} | The route line assigned to this headset. | no |
{{scene}} | The title of the current scene. | no |
{{story}} | The title of the current story. | no |
{{langue}} | The active language. | no |
{{temps_scene}} | Time elapsed since the scene started, in minutes and seconds. | yes |
{{heure}} | The current time, in hours and minutes. | yes |
{{date}} | Today's date. | yes |
{{points(Questionnaire)}} | Points scored on the question set named in brackets. | yes |
{{maxpoints(Questionnaire)}} | The maximum score of that question set. | yes |
Tokens that expect a word in brackets
{{variable(nom)}} expects a variable name, exactly as you wrote it in the "Gestion des variables" (variable management) box. It is the bridge between the two notions: the variable remembers, the token displays. A variable counting the clues found shows nowhere until you display it; put {{variable(indices)}} in a text and the visitor reads their own counter.
{{points(...)}} and {{maxpoints(...)}} expect the name of a question set in the story. Together they write a full score: "Vous avez obtenu {{points(Securite)}} points sur {{maxpoints(Securite)}}." Finally, {{charge(40)}} expects a threshold as a percentage: the token then announces the time left before the battery reaches that level.


Three uses worth the detour
- A personalised welcome panel: "Bienvenue sur {{casque}}, vous êtes {{visiteurs}} dans la salle."
- A duration reminder on a guided tour: "Il vous reste {{temps_scene}} sur cette étape."
- A battery warning, combined with the "Niveau de batterie" (battery level) condition described in the next section: a panel that only appears below the threshold and reads "Batterie à {{batterie}} pour cent, pensez à rebrancher le casque."
29Conditions: reserving an event for a situation
An event's "Conditions" tab restricts its execution to cases where one or more conditions are met. Conditions combine with AND/OR, and the "Sous condition" (sub-condition) type assembles exactly two conditions with their own AND/OR: "(A and B) or C". Eleven types are offered in a 360 story; two more only appear in "Réalité Mixte" (mixed reality), "Trigger" and "Ligne disponible", bringing the total to thirteen. The table below is the reference, but a condition only really makes sense in situation, which is the point of the next section.
| Condition type | The event only executes if... |
|---|---|
| Ouverture d'un évènement (an event was opened) | another event has been opened a certain number of times. You designate a scene, then one of its events, then a comparator (=, > or <) and a number: "> 0" reads as "has been opened at least once". |
| Fermeture d'un évènement (an event was closed) | the same count, on an event being closed. |
| Réponse à une question (answer to a question) | the visitor picked a specific answer to a question. |
| Valider une question (validate a question) | a question was validated with a "Correcte" (right) or "Erronée" (wrong) answer, your choice. |
| Réponse à un Questionnaire (answer to a question set) | a question set's score sits between a "Pourcentage Min" and a "Pourcentage Max". |
| Seulement sur tablette de contrôle (control tablet only) | the story is played on a trainer's control tablet (with a "Forcer l'affichage sur le web" option to force web display). |
| Jouer sur (played on) | the story is played on the given support: web or headset. |
| Variables | a story variable has the expected value (equality for true/false and text; =, > or < for numbers and stopwatches). |
| Ouverture d'une scène (a scene was opened) | a scene has been opened a certain number of times (comparator =, > or < and number of visits). |
| Trigger | a 3D object marked as a trigger has been activated. You designate a scene, then one of its triggers. Only Objet 3D events with both the "Mixed Reality object" and "Trigger" switches turned on appear in that list: there is no other kind of trigger. Reserved for "Réalité Mixte" projects. |
| Ligne disponible (lane available) | the route line you designate has not yet been claimed by any headset. Reserved for "Réalité Mixte" projects, and the type only appears in the list if route lines have been defined. See Several visitors in the same room. |
| Niveau de batterie (battery level) | the device battery is below, above or equal to the "Seuil (%)" (threshold) you set, according to the chosen comparator. Available in every story. |
| Sous condition (sub-condition) | a group of two conditions, with their own AND/OR, is met. There is no further level: that group assembles exactly two conditions. |

The "Niveau de batterie" (battery level) condition does not behave like the others. Every other condition records an established fact: an answer given, a scene opened, a variable set. This one is re-evaluated continuously during playback. The event appears as soon as the comparison becomes true and disappears as soon as it is false again, for instance when the headset is plugged back in and its battery climbs back above the threshold. That is what makes it useful for a warning aimed at whoever is running the room: the panel shows itself and clears itself. It is available in every story, including those that are not in "Réalité Mixte". Its form asks for two things: a comparator among lower than, greater than and equal to, then a threshold as a percentage between 0 and 100. The add button stays inactive while either is missing.
As long as its conditions are not met, the event does not execute: a click on its point of interest goes nowhere, an automatic trigger is ignored. As soon as they are, it behaves like any other event. On the story map, navigation links under condition are marked with the "Conditionné" (conditional) type in the legend.
30One real case, then four mechanics step by step
Nothing beats a complete example. The one that opens this section was not invented for the wiki: it is taken as-is from a welcome scene built by a practitioner. The four mechanics that follow are variations on the same principle.
The real case: the avatar who speaks when asked to
What we want: on arrival in the scene, a filmed guide is already standing in the setting, at scale, motionless. A picto sits at their feet. The visitor clicks, the guide comes to life and delivers the welcome. Nothing starts on its own, but everything is already in place.

The variable: just one, of type Vrai/Faux (true/false), with an initial value of FAUX (false). It says one thing only: should the video be running, yes or no.
Three events, three roles:
| Event | Activation | What it does |
|---|---|---|
| A reset variable event | Automatique (automatic) | On every entry into the scene it puts the variable back to FAUX. With no condition at all: it always fires. |
| The start picto | Au clic (on click) | The object placed at the guide's feet. On click, it sets the variable to VRAI (true). |
| The guide's video | Automatique (automatic) | It appears on arrival but stays frozen: its "Condition de démarrage" (start condition) waits for the variable to be VRAI. |
Where the trigger sits: on the first two events, "Général" tab, "Variables de déclenchement" (trigger variables) block. Two dropdowns, the variable and the value. That is all.

Where the condition sits: and this is where the build gets subtle. It is not in the "Conditions" tab. It is in the video's "Média" panel, below the transparency mask, in the "Condition de démarrage" block, which the platform defines for you: "La vidéo s'affiche en pause sur sa première image et démarre quand la condition est réalisée" (the video shows paused on its first frame and starts when the condition is met). That block only appears when the video's display mode is "Localisé" (localised): that is the mode a new video is born in, but switching it to "Premier plan" (foreground) makes the block disappear.

The green screen settings: the video was shot against a green screen, and the platform keys it out at playback. In the event's "Média" block, the "Fond vert" (green screen) sub-block gathers six settings: "Activer le fond vert" (enable green screen), "Ombre au sol" (ground shadow), the green screen colour shown as a swatch, then three keying sliders. The ground shadow is worth enabling: without it the figure seems to float above the setting. The three sliders are set by eye. "Tolérance" (tolerance) says how far a colour close to the green still counts as background: too high and it eats into the subject. "Douceur des bords" (edge softness) widens the transition between subject and void. "Anti-halo" (spill suppression) removes the green tint bleeding onto the outlines.

One last, decisive setting: in the "Mode d'affichage" (display mode) block, the video is set to "Localisé" (located) rather than "Premier plan" (foreground), at a reduced size. That is what places it at a precise spot in the setting, at human scale, instead of pinning it in front of the visitor's eyes.
1. The door that only opens once the key is found
Goal: in the Boutique (shop), the staircase is only reachable once the key on the counter has been spotted. The right tool: a Vrai/Faux (true/false) variable.
- Open "Gestion des variables" (variable management) and create the variable CleTrouvee, type Vrai/Faux, initial value FAUX.
- In the Boutique scene, place an Image event "The club key", activation "Au clic" (on click), on the counter.
- On that event, "Ouverture / Fermeture" (opening / closing) tab, "Ouverture" section: in "Gestion des variables", set CleTrouvee to VRAI.
- Still in the Boutique, place the Vers une autre scène (to another scene) event leading to the Escalier (staircase).
- On that arrow, "Conditions" tab: add a condition of type Variables, with CleTrouvee = VRAI.
What the visitor experiences: until they click the key, the arrow to the staircase does not execute, the way is shut. As soon as they open the key image, the variable flips, and the same click on the arrow takes them upstairs. No error message is shown by default: to explain the block, add a Texte event "Find the key first", conditioned the other way round (CleTrouvee = FAUX).
2. The journey that forks on an answer
Goal: in the Hall, one question steers the visitor towards a beginner or expert route. The twist: here again, no variable is needed. The "Réponse à une question" (answer to a question) condition reads the chosen answer directly, and in any case a variable assignment placed on an answer could not receive a text value.
- In the Hall, place a Question à choix (choice question) "Have you played golf before?", activation "Automatique" on arrival in the scene.
- Give it two answers: "It is my first time" and "I play regularly". Neither is ticked as the right answer: there is no score here, only routing.
- Place two Vers une autre scène events: one towards the Préau (discovery route), the other towards the Vue drone (expert route).
- On the first arrow, "Conditions" tab: type Réponse à une question (answer to a question), the Hall question, answer "It is my first time".
- On the second arrow, the same condition, with the answer "I play regularly".
What the visitor experiences: they answer a harmless question, and only the arrow matching their answer works. It feels like a tailor-made journey; you only placed one question and two conditions, without a single variable.
3. The element that only appears on the second visit
Goal: when the visitor comes back to the Hall, a bonus content awaits them, absent on the first visit. The twist: here, no variable is needed, the "Ouverture d'une scène" (a scene was opened) condition counts the visits on its own.
- In the Hall, place the event to reserve for the second visit, for instance a Texte "Welcome back!", activation "Automatique".
- On that event, "Conditions" tab: add a condition of type Ouverture d'une scène, target the Hall scene, comparator >, number 1.
What the visitor experiences: on the first visit, nothing; the scene has only been opened once, the condition is not met. When they return to the Hall after a detour through the Boutique, the visit counter exceeds 1 and the personalised welcome shows up. The same recipe grants a reward to the persistent visitor, or avoids replaying an instruction already seen (reverse condition: comparator =, number 1).
4. The exit that requires the full tour
Goal: the end of the experience is only reachable after consulting three key contents, in any order. The right tool: three Vrai/Faux variables combined with AND.
- Create three Vrai/Faux variables, initialised to FAUX: ParvisVu, PreauVu, BoutiqueVue.
- In each of the three scenes, on the main content event (an instruction, a video...), "Ouverture / Fermeture" tab, "Ouverture" section: set the matching variable to VRAI.
- In the final scene, place the Fin de story (end of story) event (or a Debriefing set to "Au clic" with the "Fin de la Story" option: in "Automatique" that box is greyed out).
- On that event, "Conditions" tab: three conditions of type Variables (ParvisVu = VRAI, PreauVu = VRAI, BoutiqueVue = VRAI), combined with AND.
What the visitor experiences: they explore in whatever order they like; the exit only unlocks once the three contents have been seen. This is the mechanic of training journeys where nothing may be skipped, without imposing a visiting order.
31The "Ouverture / Fermeture" tab: chaining actions
The third tab of an event's settings panel describes what happens around it. On its Ouverture (opening): a dedicated sound ("Audio joué au déclenchement de votre événement", with its volume, overriding the global event sound), one variable to change ("Gestion des variables") and events to launch ("Evénements Déclenchés"). On its Fermeture (closing): one variable to change and events to launch ("Evènements exécutés"), with no audio block at all, since there is no closing sound. Each block acts on a single variable; to change several at once, chain a SetVariable event. The events offered are those of the current scene. This tab is what turns isolated events into a script. It is also here, together with the event's time range, that the moment the event appears is decided: that is the starting point of any animation built in the "Animation" tab.

Rather than a list of fields, here is a real sequence: the Hall welcome, where closing an instruction launches the audio commentary and unlocks the rest of the tour.
- Create the variable AccueilVu, type Vrai/Faux, initial value FAUX.
- In the Hall scene, place a Consigne (instructions) "Welcome to the club", activation "Automatique", at the start of the scene.
- On the Consigne, "Ouverture / Fermeture" tab, Ouverture section: pick a discreet chime in "Audio joué au déclenchement de votre événement" (audio played when your event fires).
- Fermeture section: in "Evénements Déclenchés" (triggered events), select the Audio event "Hall commentary" (placed in the scene, neither on click nor automatic: it waits to be triggered); in "Gestion des variables", set AccueilVu to VRAI.
- On the Vers une autre scène arrow leading to the Boutique, "Conditions" tab: type Variables, AccueilVu = VRAI.
What the visitor experiences: they arrive in the Hall, a chime accompanies the welcome message. They close it: the audio commentary starts at once, and the arrow to the Boutique becomes operational. Three actions chained on a single gesture, closing the window. The same logic extends at will: a triggered event can in turn, on its own closing, trigger others.
32The "Animation" tab: moving an event through time
The fourth tab of an event's settings panel gives it movement. A text sliding to the right as it fades, a 3D object growing as you approach, an avatar crossing the room, an image turning red at the critical moment: all of it is set here, with no code, by placing étapes (steps). It is also what lets you follow a moving subject in the scene: a label, an arrow or a halo placed on someone walking, on a vehicle driving past or on a machine at work stays attached to it throughout the shot, instead of sitting still while the picture moves.

The "Animation" tab is always visible, but it only becomes active for the six event types that occupy a place in space: Texte (text), Image, Vidéo (video), Diaporama (slideshow), Objet 3D (3D object) and Avatar. On the others, a sound, a navigation arrow, a headset setting, there is nothing to move: the tab stays greyed out and tells you why.

The mental model: steps, and what happens between them
A step describes a state at a precise moment: where the object is, how it is rotated, what size it is, what colour tints it, how opaque it is. You are not drawing a movement, you are placing markers, and the platform works out everything that happens between two markers. That calculation is what produces the animation.
Between two steps, every value moves steadily from one to the other. If step 1 puts the panel on the left and step 2 puts it on the right four seconds later, then at the second second it sits in the middle, with nothing for you to write. After the last step, the object stays in the state that step describes.

One exception, and only one: images do not blend. When a step names a new image, it does not dissolve into the previous one, it replaces it outright the moment the step is crossed. Everything else, position, rotation, size, tint and opacity, moves continuously.
The first step is not yours to set
When you place your first step, the platform creates two: the starting state and the arrival state. The first carries a padlock and the words "Départ : à l'activation de l'événement" (starts: when the event appears). It is not a setting, it mirrors the event as you placed it in the "Général" (general) tab. Its moment cannot be edited either: it is the moment the event appears, set elsewhere, and the animation always starts from there.

To change the starting state, change the event's position, rotation or size in the "Général" tab: the starting line follows. Every later step is yours to set freely, and to delete.
What moves: the point of interest, or the content
At the top of the panel, one line answers the question before you ask it: "Ce qui s'anime :" (what moves:), followed by the actual target. It changes with the event, and it is worth understanding.
- An event that opens on click carries a point of interest, and that is what gets animated: the marker moves, grows and changes colour in the scene, before the visitor even opens it. The opened panel then follows it.
- An automatic event, which shows on its own, has no marker to move: the animation then drives the content itself, the text panel, the image, the video or the slideshow.
- An Objet 3D or an Avatar is placed in the scene rather than pinned to a marker: the model itself moves, and the point of interest stays put.

What actually animates, and what does not
Each step opens three groups of settings, each behind a switch, and not all of them are available everywhere.
| Group | What it sets | Available |
|---|---|---|
| "Placement et taille" (placement and size) | Position on three axes, rotation on three axes, and size. The sliders cover exactly the same range as those in the "Général" tab. | On every step, except the first one, which is locked. |
| "Apparence" (appearance) | Colour and opacity, brought together in a single picker. | Everywhere, except on an Objet 3D and an Avatar, where it would have no effect. |
| "Contenu" (content) | The image shown from this step onwards. | Only on an Image event that shows on its own. On a click event, the marker is animated, not the image. |

What does not animate, worth knowing before you go looking: the text itself, sound, video playback, and the built-in appearance of 3D models. Animation moves, rotates, resizes, tints and varies opacity. It does not rewrite content.
Colour and opacity, one single gesture
The "Apparence" group offers a single line, "Couleur et opacité" (colour and opacity), which opens a palette with a transparency slider. Both settings live together because they are chosen together: opaque white changes nothing, transparent white is a fade, a transparent colour does both.

The start, and how it meets the timeline
An animation never starts at the beginning of the scene: it starts when the event appears. That moment is set elsewhere, on the scene's timeline and in the "Ouverture/Fermeture" (opening/closing) tab, and the "Animation" tab reminds you of it on its first line. Move the event along the timeline and its whole animation moves with it, with no step to adjust.
The moments you type on the steps are still the ones you read on the timeline: the "Instant sur la timeline" (time on the timeline) field shows scene time, the one under your cursor, not an internal count. There is no arithmetic to do in your head. A step simply cannot come before the event appears.
Building an animation, gesture by gesture
- Place the event in the scene, at its starting position, in the "Général" tab.
- Open the "Animation" tab and click "Ajouter une étape ici" (add a step here). Two lines appear: the locked start, and an arrival one second later.
- Move the timeline cursor to the moment you want, move the object in the scene, then click "Ajouter une étape ici" again: the step takes the cursor's moment and the position you just gave it.
- Repeat as many times as you need markers. Three or four is almost always enough.
- Expand a step to correct a figure, or use "Reprendre la position actuelle" (use the current position) to give it the current placement without losing its moment.
- Check with "Voir cette étape" (show this step) on each line, then with "Prévisualiser" (preview) for the whole thing.
Repeat and path
Two settings at the top of the panel apply to the whole animation.
- "Répétition" (repeat): "Aucune" (none) plays the animation once and stops on the last step. "En boucle" (loop) starts again from the beginning, with a visible jump if the start and the end do not match. "Aller-retour" (back and forth) replays the animation in reverse and never has that flaw: it is the safe choice for continuous movement, a hovering object or a swing.
- "Trajectoire" (path): "Segments droits" (straight segments) joins the steps in straight lines, with a sharp angle at each one. "Courbe passant par les étapes" (curve through the steps) rounds the route while still passing exactly through every step. For organic movement, a bird, a character walking around an obstacle, choose the curve.

Checking your animation
Three complementary aids. "Voir cette étape" (show this step), the eye icon on each line, shows one step's state. "Prévisualiser" (preview), at the bottom of the panel, appears as soon as there is more than one step. And simply touching a setting brings the timeline onto the step concerned: you always see what you are changing, never a neighbouring moment.
An animation travels with its event: duplicating the event, or copying it and pasting it into another scene, carries all its steps.
33Question sets: grouping, scoring, debriefing
The questionnaire (question set) is a mechanism in its own right, not a mere event: it is a group of questions by theme, with its scoring scale and its hints, accumulating the points of every question attached to it, wherever they sit in the story. The whole thing has four storeys, and none of them can be guessed from the others. That is why this section reads as a walkthrough rather than a list of settings.
- Create the question set in the story options.
- Attach the questions to it, one by one, from each question.
- Set the scoring, answer by answer.
- Place a debriefing that reports on that specific question set.
Storey 1: create the question set
Story options, "Questionnaire" tab. The screen title says it plainly: "Créer vos questionnaires pour associer ensuite vos questions" (create your question sets, then attach your questions to them). The "Nouveau questionnaire" button adds a row, and the pencil switches it to edit mode. A question set carries three things: a "Nom du questionnaire" (name), a "Max Points", and a list of hints you fill in with the "Nouvel indice" (new hint) field and its + button.
The question set's name is its theme. A safety course might have "PPE", "Traffic" and "Lockout": three question sets, three scores, three possible debriefings.


Storey 2: attach the questions and hand out the hints
Attachment does not happen from the question set, but from each question. Open the question, "Options" block, "Questionnaires" sub-block. Three settings live there: the "Appartenant au questionnaire" (belongs to the question set) dropdown, the "Donne un indice" (gives a hint) switch, and the "Indice pour répondre" (hint to answer) dropdown.
Neither hint setting ever targets one specific hint: both designate a question set, and therefore its whole bank. You write the hints once, at question set level, and each question then declares what it does with them. There are two directions, not to be confused: a question can give a hint, another can lean on the hints to be solved. This is the treasure hunt mechanic.
| Setting | What it does |
|---|---|
| "Appartenant au questionnaire" (belongs to the question set) | Attaches the question to a question set: that is where its points go, and that is the hint bank the two settings below target. A newly created quiz question is attached to the "Global" question set by default. |
| "Donne un indice" (gives a hint) | A switch: this question awards a hint from the targeted question set. It stays greyed out until a question set is chosen above, and it is off by default. |
| "Indice pour répondre" (hint to answer) | Designates the question set whose hints act as help on this question. This is the opposite direction from the previous one: here the question leans on the help instead of producing it. |
These three settings only exist on questions: single choice, multiple choice, open answer and hidden objects. The other events tied to a question set, such as the Debriefing or Bonus/Malus, attach to it for the score alone and have no hint setting.

Do not confuse the questionnaire with the question set. The questionnaire belongs to a story: it groups questions already placed in scenes, and it carries their scoring. The set, described in "Mes quiz" (my quizzes), is a store kept alongside your library: it scores nothing and belongs to no story.
The Bonus/Malus event also targets a question set, in its Options block: it adds or removes points without asking a question. Creating several question sets therefore means keeping several scores in parallel, each with its own summary.
Storey 3: the scoring scale
Scoring is set as close to the answer as possible, and its shape changes with the question type. In a Question à choix (choice question), each answer has its own card, with a "Bonne réponse" (right answer) checkbox and a "Points" field. In a Question à réponse libre (open question), the points are carried by the question, through two separate fields: "Points en cas de bonne réponse" and "Points en cas de mauvaise réponse", the latter letting you penalise mistakes.
The question set's "Max Points" sets the reference total from which the debriefing's percentages are computed.
Storey 4: the debriefing
The Debriefing event renders the result. In its "Options" block, the "Options du score" (score options) sub-block carries the two settings that matter: "Score relatif à" (score relative to), the dropdown where you name which question set is being debriefed, and "Mode d'affichage" (display mode), a toggle between "pourcentage" (percentage) and "Points".

The "Palliers" block, spelled that way in the interface, carries the messages. Good news: a debriefing arrives with three tiers already created, 0 to 32%, 33 to 65% and 66 to 100%. Each unfolds into a "Description", the message the visitor will see, and a range defined by a "Min (%)" and a "Max (%)". The "Nouveau feedback" button adds more.

A score across several scenes, step by step
Goal: assess the visitor throughout the club tour, and adapt the final message to their result. No variable to create: the question set accumulates on its own.
- In the story options, "Questionnaire" tab: create the "Découverte du club" question set and set its "Max Points".
- In the Hall, place a Question à choix about the club's history; "Appartenant au questionnaire" option: Découverte du club; put the points on the right answer.
- In the Boutique, place a game of Objets cachés (find three pieces of equipment), attached to the same question set.
- In the Escalier, place a Question à réponse libre, also attached, with its right- and wrong-answer points.
- In the final scene, place a Debriefing: "Score relatif à" Découverte du club, percentage display, and three tiers, for instance 0 to 32 ("Come back and see us..."), 33 to 65 ("Not bad!"), 66 to 100 ("A true club member!"), each with its text, audio and, if you wish, triggered events. Tick "Fin de la Story" (end of story) if this summary closes the experience. That box is only offered on a debriefing set to "Au clic" (on click): in "Automatique" it is greyed out under the message "Désactiver car l'ouverture est automatique" (disabled because opening is automatic). So set the debriefing to "Au clic", for instance triggered by the closing of the last question or by a "see my result" picto, and set its activation before having it triggered by another event, as the choice then disappears.
What the visitor experiences: they answer along the tour, with no visible counter; at the end of the journey, the debriefing shows their score and the message of the tier they reached. Three scenes, three question types, one summary.
34"Mes quiz": a reusable store of questions
Quizzes are stored alongside your media library, not inside a story: they are therefore shared by all your stories, just like your images and sounds. A question that calls for an image will indeed look for it in that same library.
The page and its cards
The grid shows one card per set, preceded by the "Nouveau quiz" (new quiz) card. Below each card name comes the number of questions, then the translation progress for each of your working languages. A red badge in the top right corner counts the questions that need fixing: the set stays usable, but those questions would not work as they are. Three buttons sit at the bottom of a card: open the set, download it as a spreadsheet, delete it. The search field filters on the name.
The four question types
| Type | What the participant does | What you fill in |
|---|---|---|
| "Choix unique" (single choice) | Ticks one proposal only. | The question text, the proposals, a single correct answer, the points. |
| "Choix multiple" (multiple choice) | Ticks several proposals. | The question text, the proposals, as many correct answers as needed, the points. |
| "Réponse libre" (free answer) | Types an answer on a keyboard. | The question text, the expected answer, the points for a correct and for a wrong answer. |
| "Objets cachés" (hidden objects) | Clicks objects in the scenery. | The question text, then the list of objects to find, with their image and their points. |
These are the same four questions as in a story, and the entry screen is strictly the same one: type and format, time to answer, sound, proposals, points, correct and wrong answer feedback. You learn nothing new here, you find again the screen described in the input screens.
The editor of a set
Opening a card, or creating a set, shows a full screen. At the top, the set name, which is required. On the left, an optional description then the numbered list of questions: the + button adds a question and asks for its type, the two arrows move the question within the list, the bin deletes it. The selected question is shown on the right.
An incomplete question is flagged live: an orange badge for something to complete, a red badge for an error that would stop it working, and a "Points à corriger" (things to fix) box lists every issue below the question title. Empty question text, fewer than two proposals, no correct answer, several correct answers on a single choice question, an image missing from the library, a missing expected answer: the list is explicit.
What the store keeps, and what it leaves to the story
A stored question keeps everything that defines it on its own: the question text and its image, the type and the format, the proposals, the correct answers, the points, the correct and wrong answer feedback, the sound, the time to answer, the random answer order, showing the correction, the automatic exit and the zoom permission.
It keeps nothing that depends on a story: the link to a questionnaire, the hints, the events triggered by a feedback, the tracking identifier used by the export to your training platform, and the position of hidden objects in the scenery. Those are set when the question enters a scene.
Translating the questions
Above the question sits a row of tabs: a first tab for the writing language, then one tab per additional language declared on your profile. If you have declared no other language, the row holds only the first tab and a message says so; languages are declared on your profile page.
A language tab shows two columns: the source text field by field on the left, the matching translation box on the right. Each box has an assisted translation button. Two buttons act more widely, one on the current question, the other on the whole set: they only fill boxes that are still empty, so your own rereading is never overwritten. One counter shows progress question by question, another shows it for the whole set and is repeated below the card.
Importing questions from a spreadsheet
Two buttons sit at the top of the page. Start with "Télécharger la trame" (download the template): you get a workbook with two sheets, "Questions" where you fill in, and "Guide" which recalls the rule for each column. One row of the table equals one question. The "Importer (Excel)" button then takes the filled file back.
| Column | What it holds | Rule |
|---|---|---|
| Quiz | The name of the set the question goes into. | Required. Rows sharing a name form one set. |
| Type | The question type. | Required. Six accepted values, see below. |
| Question | The text shown to the participant. | Required. |
| "Réponse 1" to "Réponse 6" (answer 1 to 6) | The proposals. | For a single or multiple choice, text, at least two. For image proposals, the exact title of an image in your library. Not used for a free answer or for hidden objects. |
| "Bonnes réponses" (correct answers) | The number or numbers of the correct proposals. | A single number for a single choice, several separated by a semicolon for a multiple choice. |
| "Réponse attendue" (expected answer) | The expected text. | Free answer only, and required in that case. |
| Points | The points for a correct answer. | Optional, one point by default. |
| "Points mauvaise" (wrong answer points) | The points taken off for a wrong answer. | Free answer only, optional, zero by default. |
| "Feedback bonne réponse" (correct answer feedback) | The message shown when the answer is correct. | Optional. |
| "Feedback mauvaise réponse" (wrong answer feedback) | The message shown when the answer is wrong. | Optional. |
| "Image question" (question image) | The exact title of an image illustrating the question. | Optional. An image that cannot be found gives a warning, not an error. |
| "Temps (s)" (time in seconds) | The time limit, in seconds. | Optional, zero or empty for unlimited time. |
The Type column accepts six values: QCU for a single choice, QCM for a multiple choice, QCU_IMAGE and QCM_IMAGE for the same questions with image proposals, QCO for a free answer, HOTSPOT for hidden objects. The file accepts up to six text proposals per question, and four image ones.
Column headings are recognised regardless of accents and capitals, and several wordings are accepted for the same role. An unknown column is ignored and reported to you; only the three required columns, when missing, stop the import outright.
Once the file is taken in, a check table opens before anything is saved. Every row gets a status: "valides" (valid), "à compléter" (to complete) or "en erreur" (with errors). The three counters at the top give the breakdown. The "Anomalies" (issues) column gives the reason, row by row, with the spreadsheet row number.
Two checkboxes govern the import. "Ne pas importer les questions en erreur" (do not import questions with errors) sets the red rows aside and lets the rest through. "Remplacer les questions des quiz existants" (replace the questions of existing quizzes) only appears when one of the sets in the file carries the name of a set that already exists; the names concerned are listed next to the box. The counter at the bottom always shows how many rows will actually be imported.
Exporting a set, fixing it offline, importing it back
The download button on a card produces a workbook in the template format, with two additions: one group of columns per translation language, whose headings carry the language code in brackets, and a last identifying column. You fix or translate at your own pace in the spreadsheet, then take the same file back through the import button.
Deleting a set
The delete button on a card asks for confirmation and recalls the set name. Deleting takes all its questions and all their translations with it, and it is final. Export the set first if you have the slightest doubt: the workbook you get is enough to recreate it.
