Logs sous forme de liste d'événements stockés en mémoire vive à partir du clic sur "Touchez l'écran" jusqu'à l'un des trois événements ci-dessous qui déclenche l'enregistrement du fichier en JSON sur carte SD :
- Timeout sur n'importe quel écran (timeout de 1min, cf le schéma au crayon de papier dans les specs AEI)
- Clic sur "Arrêter" (event avec
"choice": "abandon"
) - Partage Facebook réussi
En cas de I/O Error
ou bien SDCard inexistant, ignorer silencieusement l'enregistrement des logs (ne pas crasher).
A chaque clic sur "Touchez l'écran pour commencer, le timestamp courant est utilisé pour donner un ID à cet utilisateur.
t_id = timestamp_du_clic_sur_TOUCHEZ_LECRAN()
La liste d'évènements sera enregistrée sur carte SD sous le nom de fichier <t_id>.json
à la fin de l'interaction de cet utilisateur.
[
{"event": "start", "time": <t_id>},
# Evenement SYSTEMATIQUE
# C'est le seul évènement forcément présent dans chaque fichier JSON
# Evenement déclenché par l'appui sur "Touchez l'écran"
{"event": "capture", "time": timestamp_du_clic()},
# Evenement PROBABLE, sauf si timeout
# Evenement déclenché par l'appui sur le retardateur
{"event": "navigate_RT" "time": timestamp_du_mouseOver()},
# Evenement OPTIONNEL
# Evenement déclenché par navigation dans l'image sphérique Real Time
# 1 nouvel event "navigation" à chaque mouseOver si le "navigation" précédent date d'il y a > 2 sec
{"event": "visualize", "time": timestamp_du_clic(), "choice": <choice>}
# Evenement PROBABLE, sauf si timeout
# choice: "share" si clic sur "partager"
# choice: "restart" si clic sur "recommencer" (conservation du même t_id.json avec un nouvel événement "capture" ou bien "timeout")
# choice: "abandon" si clic sur "arreter" (changement du t_id au prochain usage)
# En cas de "abandon" : Enregistre le JSON <t_id>.json courant (changement du t_id au prochain start)
{"event": "navigate_HQ" "time": timestamp_du_mouseOver()},
# Evenement OPTIONNEL
# Evenement déclenché par navigation dans l'image sphérique Haute Qualité
# 1 nouvel event "navigation" à chaque mouseOver si le "navigation" précédent date d'il y a > 2 sec
{"event": "share", "time": timestamp_du_clic(), "choice": <choice>},
# Evenement OPTIONNEL
# choice: "facebook" si clic sur "facebok"
# choice: "abandon" si clic sur "arreter" (changement du t_id au prochain usage)
{"event": "facebook", "time": timestamp_du_retour_de_facebook(), "result": <result>},
# Evenement OPTIONNEL
# Evenement qui indique le succès, l'échec ou l'abandon du partage Facebook
# Valeurs de <result> selon les valeurs de retour possibles de l'API facebook, par ex "success", "unauthorized", "abandon", ...
{"event": "timeout", "time": timestamp_du_timeout()}
# Evenement OPTIONNEL
# Déclenché cas de timeout sur **n'importe quel écran**
# Enregistre le JSON <t_id>.json courant (changement du t_id au prochain start)
]