Ergonomie de la saisie d’une sortie
C’est bien sûr LE sujet crucial concernant les contributions, étant donné que la plupart des contributions sont des sorties, et que la plupart des nouveaux contributeurs commencent à contribuer via des sorties.
Le principe de base n’a pas changé depuis le début de c2c : trouver un compromis entre facilité de saisie, et facilité de consultation (après filtrage, donc sur des champs permettant ce filtrage).
Organisation général du formulaire
Champs
Les évolutions de c2c ont amené tout un tas de champs dans les sorties.
Pour ne pas noyer le contributeur dans ces champs, l’idée est de les afficher progressivement au fur et à mesure de l’avancée dans la saisie. Et on essaie autant que possible de pré-remplir certains champs.
Pour cela, on impose un ordre de saisie, pour que le pré-remplissage et l’affichage des champs selon les activités soient le plus efficaces et pertinents possible. Le but n’est pas d’embêter le contributeur, c’est bien de lui faciliter la saisie en réduisant le nb de champs affichés et à remplir pour son cas particulier.
Je pense qu’il est préférable de supprimer les onglets, mais de mettre des pictos ou un menu visible en permanence permettant de se balader rapidement d’une section du formulaire à l’autre.
Par ailleurs, on essaiera autant que possible de placer les champs du même thème ensemble, avec les champs chiffrés au dessus du champs texte, pour inciter à saisir le champ chiffré au lieu d’écrire la même chose à la main dans le champ texte.
Carte
Il est bien utile d’avoir la carte tout le temps visible. Sur desktop, ce serait dans la partie droite (ou gauche ?), avec des boutons pour agrandir en plein largeur, ou au contraire la masquer complètement pour laisser la place au reste du formulaire (utile sur desktop petit écran). Quand la carte et les champs sont affichés, il est utile de pouvoir choisir la largeur de la carte (et implicitement des champs) pour un réglage fin selon l’écran ou pour d’autres raisons.
Sur mobile, ce serait un bouton tout le temps visible qui permettrait d’afficher/masquer la carte par dessus le formulaire (comme dans le filtre du topoguide).
La carte comporte un bouton « centrer sur ma position » qui centre la carte sur sa position avec une étendue de 20km à la ronde par exemple.
On peut dessiner une trace sur la carte.
L’idéal serait de pouvoir ajouter des altitudes selon un modèle de terrain, et aussi à la main.
Et aussi de pouvoir ajouter une date/heure à certains points, les points intermédiaires étant mise à jour linéairement
La carte comporte un bouton « réinitialiser », qui annule les modifications faites depuis l’ouverture de la page (avec une demande de confirmation).
1. Choix de l’activité et des itinéraires
La 1ere étape consiste à choisir l’activité et les itinéraires associés à la sortie.
Il est préférable de les choisir ensemble, car le choix de l’activité peut faciliter le choix de l’itinéraire, ou l’inverse. Du coup le formulaire ne peut pas imposer un ordre de saisie pour ces 2 infos.
Tant qu’aucune activité n’est sélectionnée, ou qu’aucun itinéraire n’est associé, tous les autres champs sont masqués. C’est comme cela qu’on impose un ordre de saisie.
Cet ordre ne convient pas à une saisie tout au long de la sortie (choix de l’itinéraire à la fin, car on ne sait pas forcément d’avance où on va). Mais la saisie au cours de la sortie est réservée à l’appli c2c. On pourra quand même faire une saisie au cours de la sortie avec c2c sur navigateur en choisissant un itinéraire +/- bidon pour avoir accès aux autres champs.
Quand on arrive sur le formulaire depuis le bouton « ajouter une sortie » en haut de page, aucune itinéraire n’est associé.
On a la carte à droite ou à gauche, et des champs et boutons de l’autre côté.
1.1. Ajouter une trace GPS
1.1.1 Bouton
Il ne faut pas afficher ce bouton avec la carte (ne pas l’afficher tout le temps), car l’ajout ou le changement de trace GPS a de grosses implications pour tout un tas de champs, et donc il ne faut pas pourvoir faire ça à la légère. Et surtout il faut bien montrer qu’il faut l’ajouter en premier.
D’ailleurs comme la trace GPS n’est pas obligatoire, il faudrait peut être ajouter une phrase pour inciter à la saisir en premier, au lieu de remplir en premier tout un tas de champs à la main, alors que ces champs auraient pu être remplis automatiquement d’après la trace si elle avaient été saisie en premier.
1.1.2 Nettoyage de la trace GPS
Il serait pertinent qu’au chargement de la trace GPS, il y ait un outil éliminant les points abérents, et lissant les altitudes, avec des seuils réglables (distance max entre 2 points pour éliminer les points abérents, etc).
1.1.3 Données extraites de la trace GPS
Si on ajoute une trace GPS, ça extrait des données et ça remplit des champs avec ces données, si les champs sont vides.
Dans ce cas, à coté de ces champs (ou d’une autre façon), il est indiqué « d’après la trace GPS ». Dès qu’on modifie un de ces champs, cette indication disparait pour le champ modifié.
On pourrait aussi ajouter un bouton « Forcer la mise à jour des données », qui écraserait les données déjà existantes.
Lors d’une modification d’une sortie existante, on n’affiche rien (on pourrait refaire l’extraction des infos depuis la trace et les comparer aux infos provenant de la base pour afficher l’indication « d’après la trace GPS » quand les infos sont identiques, mais ce n’est pas indispensable).
Si on modifie la trace GPS (suppression de points abérents, etc), un bouton « Mettre à jour les données issues de la trace » apparait à côté de « Ajouter une trace GPS ». En cliquant dessus, ça met à jour les champs qui sont encore considérés comme provenant de la trace GPS initiale, mais pas les champs qu’on a déjà modifié à la main.
Les champs remplis d’après la trace GPS (même s’ils sont encore cachés) :
- Date de la sortie si la trace est horodatée (début et fin si les dates des points de la trace est sur plusieurs jours)
- Champ texte « horaire », s’il est vide (en gérant un horaire par jour si la trace est sur plusieurs jours).
- Altitudes minimale et maximale
- Dénivelés montée et descente
- Longueur totale
- Altitude de l’accès routier : altitude du 1er point de la trace.
Par ailleurs, ça recentre la carte autour de la trace GPS.
Si on commence par ajouter une trace GPS, tous ces champs sont encore cachés (sur la maquette actuelle ils sont dans d’autres onglets, ça revient au même). Ce n’est pas grave, l’utilisateur pourra corriger ces champs ensuite, qu’il repérera facilement grâce à l’indication « d’après la trace GPS ».
Par contre ça suppose que la trace GPS est assez clean, et qu’on ne souhaite pas vérifier immédiatement les données extraites pour faire plusieurs itérations en corrigeant la trace GPS sur un outil externe.
1.2. Choix de l’activité
Sous le bouton « Ajouter une trace GPS », il y a les boutons de choix des activités.
Avec l’indication suivante : « Si vous ne choisissez pas d’activité, elle vous sera proposée d’après l’activité de l’itinéraire ».
1.3. Choix de l’itinéraire
Quand on arrive sur le formulaire depuis un itinéraire, cet itinéraire est déjà associé dans le formulaire.
Sinon, il faut en associé au moins un. Et on peut en ajouter autant qu’on veut.
1.3.1. Recherche des itinéraires
Sous les boutons de choix des activité, il y a l’outil d’association des itinéraires. En dessous, il y a la liste des itinéraires associés, sous forme de liste et non de card (ou alors des cards toutes plates).
A droite de l’outil, il y a 3 cases à cocher :
-
limiter les résultats aux activités sélectionnées
Si on a sélectionné une activité, cette case est cochée automatiquement. Sinon, elle est inactive et grisée.
-
limiter les résultats à la carte visible
Si on a bougé la carte (en la déplaçant, en changeant le zoom, ou en utilisant le bouton « centrer sur ma position »), cette case est cochée automatiquement. -
limiter les résultats proches de la trace GPS
Si on a importé ou dessiné une trace GPS, cette case est cochée automatiquement. Sinon, elle est inactive et grisée.
Ces cases permettent d’ajouter des critères de recherche dans l’outil d’association.
Si la case 2 ou 3 est cochée, à droite de ces cases apparait un bouton « rechercher sans mot clé », qui permet de filtrer sans donner de mot clé.
Si on vient d’importer une trace GPS, la recherche sans mot clé est automatiquement lancée.
Si on saisi un mot clé, la recherche avec mot clé (et avec les critères selon les cases cochées) est lancée.
Si on (dé)coche une case, la recherche est automatiquement relancée, sans effacer les mot clés.
Si aucune activité n’est sélectionnée, le tri des résultats change selon la saison et l’hémisphère où on se trouve (celui-ci étant déterminé par la trace GPS, où par le recentrage de la carte sur sa position, ou par défaut mis à hémisphère N).
Dans l’hémisphère N :
- Du 22 octobre au 21 mai : les activités ski, raquette, cascade et alpi neige sont mises en tête des résultats.
- Du 22 mai au 21 octobre : les activité ski, raquette et cascade sont mises en queue des résultats (et non, ce n’est pas symétrique).
Les dates sont inversés dans l’hémisphère S.
1.3.2. Sélection d’un itinéraire
Quand on sélectionne un itinéraire parmi les résultats, des vérifications sont faites :
- Si aucune activité n’est sélectionnée mais que l’itinéraire comporte plusieurs activités, un popup demande quelle activité choisir. Ou alors un autre système. Le but étant d’éviter d’avoir une sortie rando pédestre + raquette + ski juste à cause de la copie des activités de l’itinéraire.
- Si on a sélectionné une ou plusieurs activités, dont aucune n’est présente dans l’itinéraire, un popup (ou autre chose) demande ou averti qu’aucun activité de l’itinéraire ne correspond aux activités sélectionnées. Ceci ne peut avoir lieu que si la case 1 n’est pas sélectionnée.
1.3.3 Données extraites des itinéraires
Quand on associe un itinéraire, ça extrait des données et ça remplit des champs avec ces données, si les champs sont vides.
Dans ce cas, à coté de ces champs (ou d’une autre façon), il est indiqué « d’après l’itinéraire ». Dès qu’on modifie un de ces champs, cette indication disparait pour le champ modifié.
Lors d’une modification d’une sortie existante, on n’affiche rien (on pourrait refaire l’extraction des infos depuis la trace et les comparer aux infos provenant de la base pour afficher l’indication « d’après l’itinéraire » quand les infos sont identiques, mais ce n’est pas indispensable).
Si on modifie la liste des itinéraires associés (ajout/suppression), un bouton « Mettre à jour les données » apparait en haut de la liste. En cliquant dessus, ça met à jour les champs qui sont encore considérés comme provenant des itinéraires, mais pas les champs qu’on a déjà modifié à la main.
Les champs remplis d’après les itinéraires (même s’ils sont encore cachés) :
- Activités (voir 1.3.2)
- Altitudes minimale et maximale. Si plusieurs itinéraires sont associés, ça prend le min des altitudes mini, et le max des altitudes max (? à discuter).
- Dénivelés montée, descente, et des difficultés. Si plusieurs itinéraires sont associés, ça prend le max de chacun des dénivs (? à discuter).
- Cotations. Si plusieurs itinéraires sont associés, ça prend le max de chacune des cotations.
- Altitude de l’accès routier : copie de l’altitude minimale
- Titre de la sortie, en copiant le titre de l’itinéraire. Si plusieurs itinéraires sont associés, ça prend le titre de l’itinéraire comportant l’altitude maximale la plus élevé, et si des altitudes sont égales, le 1er associé (ou alors celui avec la cotation la plus élevée, etc).
Sur la carte sont affichés tous les WP associés aux itinéraires associés, ainsi que le point de chaque itinéraire (correspondant à l’attaque de la voie pour l’itinéraire décrivant une voie).
Si aucune trace GPS n’a été importée ou dessinée, la carte est recentrée sur l’ensemble de ces WP.
2. Itinéraire emprunté, participants, titre, date
Une fois qu’un itinéraire est sélectionné, on a la garantie qu’au moins une activité est renseignée, et on peut passer à l’étape suivante.
Les champs suivants s’affichent :
- La case « parcours partiel » est mise à droite de la liste des itinéraires associés, ou en dessous.
- Le champ texte « Précision sur l’itinéraire emprunté » s’affiche sous cette case (donc à droite de la liste des itinéraires si la case s’y trouve aussi), avec une hauteur de 2 lignes sur desktop, qui s’agrandit à 4 ou 5 lignes si on met du texte dedans. L’idée est de bien faire comprendre que ce champ doit être laissé vide si on a associé un seul itinéraire qui ne comporte pas de variante, et qu’on l’a suivi.
- En dessous de la liste des itinéraires, l’outil d’association des participants, avec la liste des participants. Quand on clique dans la zone de saisie de mot clé, ça affiche la liste de ses amis.
- Puis le champ texte « participants non inscrits ».
- Puis le champ « Nombre de participants ». Il est mis à 1 par défaut, et in/dé-crémenté d’1 à chaque a/di-ssociation de participants.
- En dessous, le champ « Titre de la sortie ».
- En dessous, les champs date de début et fin.
- En dessous, le champ texte « Horaires / durée ».
Une fois que le titre et la date sont renseignés, tous les champs obligatoires sont renseignés.
Tous les autres champs sont alors affichés (en tenant compte des activités sélectionnées).
Si on crée une sortie à partir de la page d’un itinéraire, ces 2 premières étapes n’imposent que de choisir la date de la sortie, tout le reste est automatique.
Pour les champs suivants, on n’impose plus un ordre de saisie, seul l’ordre d’affichage des champs incite à en renseigner certains avant d’autres.
3. Dénivelé et cotations
Section rassemblant les champs chiffrés dépendant de l’itinéraire emprunté, mais indépendant des conditions :
- Altitude min et max
- Dénivelés
- Cotations
4. Accès routier / TC
- Altitude du parking
- Conditions de l’accès routier
- Remontées mécaniques
- Sortie en mobilité douce
- Champ texte « Commentaire sur l’accès routier »
5. Conditions
Section rassemblant tous les champs dépendant des conditions
5.1. Altitude de chaussage / déchaussage
Si l’altitude du parking est renseignée, on la prend en référence. Sinon, si l’altitude minimale est renseignée, on la prend en référence.
Si l’activité sélectionnée est le ski ou la raquette, une case à cocher est affichée au dessus des champs « Altitude de chaussage / déchaussage », avec l’intitulé : « Chaussage / déchaussage au départ (xxxx m) », avec xxxx = altitude de référence définie au-dessus.
-
Si la case est cochée, l’altitude de référence est copiée dans les 2 champs Altitude de chaussage / déchaussage, et ces champs sont masqués.
De plus, si la case est cochée, et si l’altitude du parking n’est pas renseignée, l’altitude de référence est copiée dans l’altitude du parking.
Si l’altitude du parking est modifiée ultérieurement, les altitudes de chaussage / déchaussage seront mis à jour. -
Si la case n’est pas cochée, les champs « Altitude de chaussage / déchaussage » restent visibles.
5.2 Champs chiffrés des conditions
En dessous sont affichés les champs « liste à choix » :
- Quantité de neige
- Qualité de neige
- Etat du glacier
- Evaluation des conditions
- Fréquentation
5.3 Champs texte des conditions
En dessous sont affichés les champs texte :
- Météo
- Enneigement par zone
- Conditions : l’intitulé change selon l’activité. Si une activité grimpante est sélectionné, c’est « Conditions, équipement et qualité du rocher »
5.4 Avalanches
En dessous sont affichés les champs :
- Signes d’avalanche
- Observations relatives aux avalanches : ce champ est masqué tant qu’aucune option de « Signes d’avalanche » n’est sélectionnée.
6. Commentaires
Section rassemblant les champs concernant les commentaires persos :
- Champ texte « Commentaires ».
- Case à cocher « Désactiver les commentaires »
Pour le champ texte « commentaires », quand il y a plusieurs participants inscrits, il serait affiché autant de zones de texte que de participants inscrits, avec en intitulé de chaque champ le pseudo topoguide de chaque participant. A l’enregistrement, ça concatène tout, avec en titre de chaque section non vide : ### Pseudo_topoguide
Mais lors d’une modification d’une sortie, il faudrait redispatcher les différentes sections dans les champs de chaque participant, pas forcément simple.
Conclusion
On a demandé des remarques sur l’ergonomie, je fais des remarques sur l’ergonomie
Et il y a encore les itinéraires.
C’est compliqué, mais c’est normal. Si on veut que ce soit simple pour l’utilisateur, il faut que ce soit l’UI qui gère la complexité. Et ce post décrit ce que fait l’UI, pas ce que fait l’utilisateur.
Pour l’utilisateur c’est très simple, en qq clics il peut saisir une sortie avec pas mal d’infos sans saisir le moindre texte.