diff --git a/doc/tuto-pr-gard/Makefile b/doc/tuto-pr-gard/Makefile new file mode 100644 index 0000000..55283ab --- /dev/null +++ b/doc/tuto-pr-gard/Makefile @@ -0,0 +1,15 @@ +.PHONY: all +all: index.html + +.PHONY: task-filecycle.dot +task-lifecycle.dot: + php ../../bin/console workflow:dump --with-metadata task_lifecycle >$@ + +illus-task-lifecycle.svg: task-lifecycle.dot + dot -Tsvg -o $@ $< + +index.html: index.md index.css illus-task-lifecycle.svg + pandoc --from markdown --to html --standalone --css $(word 2,$^) --output $@ $< + +clean: + rm -f index.html task-lifecycle.dot diff --git a/doc/tuto-pr-gard/illus-accueil.png b/doc/tuto-pr-gard/illus-accueil.png new file mode 100644 index 0000000..0e8a6cd Binary files /dev/null and b/doc/tuto-pr-gard/illus-accueil.png differ diff --git a/doc/tuto-pr-gard/illus-autorisation.png b/doc/tuto-pr-gard/illus-autorisation.png new file mode 100644 index 0000000..526d1ff Binary files /dev/null and b/doc/tuto-pr-gard/illus-autorisation.png differ diff --git a/doc/tuto-pr-gard/illus-connexion.png b/doc/tuto-pr-gard/illus-connexion.png new file mode 100644 index 0000000..c846a9f Binary files /dev/null and b/doc/tuto-pr-gard/illus-connexion.png differ diff --git a/doc/tuto-pr-gard/illus-form-projet.png b/doc/tuto-pr-gard/illus-form-projet.png new file mode 100644 index 0000000..1e886c9 Binary files /dev/null and b/doc/tuto-pr-gard/illus-form-projet.png differ diff --git a/doc/tuto-pr-gard/illus-josm-boucle.png b/doc/tuto-pr-gard/illus-josm-boucle.png new file mode 100644 index 0000000..9744abc Binary files /dev/null and b/doc/tuto-pr-gard/illus-josm-boucle.png differ diff --git a/doc/tuto-pr-gard/illus-josm-chemin.png b/doc/tuto-pr-gard/illus-josm-chemin.png new file mode 100644 index 0000000..962cf26 Binary files /dev/null and b/doc/tuto-pr-gard/illus-josm-chemin.png differ diff --git a/doc/tuto-pr-gard/illus-josm-commit.png b/doc/tuto-pr-gard/illus-josm-commit.png new file mode 100644 index 0000000..729d6ed Binary files /dev/null and b/doc/tuto-pr-gard/illus-josm-commit.png differ diff --git a/doc/tuto-pr-gard/illus-josm-gpx1.png b/doc/tuto-pr-gard/illus-josm-gpx1.png new file mode 100644 index 0000000..3918f3b Binary files /dev/null and b/doc/tuto-pr-gard/illus-josm-gpx1.png differ diff --git a/doc/tuto-pr-gard/illus-josm-gpx2.png b/doc/tuto-pr-gard/illus-josm-gpx2.png new file mode 100644 index 0000000..750137d Binary files /dev/null and b/doc/tuto-pr-gard/illus-josm-gpx2.png differ diff --git a/doc/tuto-pr-gard/illus-josm-noeud.png b/doc/tuto-pr-gard/illus-josm-noeud.png new file mode 100644 index 0000000..df5fce4 Binary files /dev/null and b/doc/tuto-pr-gard/illus-josm-noeud.png differ diff --git a/doc/tuto-pr-gard/illus-josm-trou1.png b/doc/tuto-pr-gard/illus-josm-trou1.png new file mode 100644 index 0000000..1a97cc3 Binary files /dev/null and b/doc/tuto-pr-gard/illus-josm-trou1.png differ diff --git a/doc/tuto-pr-gard/illus-josm-trou2.png b/doc/tuto-pr-gard/illus-josm-trou2.png new file mode 100644 index 0000000..62c78c0 Binary files /dev/null and b/doc/tuto-pr-gard/illus-josm-trou2.png differ diff --git a/doc/tuto-pr-gard/illus-josm.png b/doc/tuto-pr-gard/illus-josm.png new file mode 100644 index 0000000..771c642 Binary files /dev/null and b/doc/tuto-pr-gard/illus-josm.png differ diff --git a/doc/tuto-pr-gard/illus-popup.png b/doc/tuto-pr-gard/illus-popup.png new file mode 100644 index 0000000..992af86 Binary files /dev/null and b/doc/tuto-pr-gard/illus-popup.png differ diff --git a/doc/tuto-pr-gard/illus-projet-auteur.png b/doc/tuto-pr-gard/illus-projet-auteur.png new file mode 100644 index 0000000..ded284f Binary files /dev/null and b/doc/tuto-pr-gard/illus-projet-auteur.png differ diff --git a/doc/tuto-pr-gard/illus-projet-deco.png b/doc/tuto-pr-gard/illus-projet-deco.png new file mode 100644 index 0000000..e9fcdd6 Binary files /dev/null and b/doc/tuto-pr-gard/illus-projet-deco.png differ diff --git a/doc/tuto-pr-gard/illus-projet-doing.png b/doc/tuto-pr-gard/illus-projet-doing.png new file mode 100644 index 0000000..a522c2c Binary files /dev/null and b/doc/tuto-pr-gard/illus-projet-doing.png differ diff --git a/doc/tuto-pr-gard/illus-projet-user.png b/doc/tuto-pr-gard/illus-projet-user.png new file mode 100644 index 0000000..b2cbb8b Binary files /dev/null and b/doc/tuto-pr-gard/illus-projet-user.png differ diff --git a/doc/tuto-pr-gard/illus-projet.png b/doc/tuto-pr-gard/illus-projet.png new file mode 100644 index 0000000..9a87770 Binary files /dev/null and b/doc/tuto-pr-gard/illus-projet.png differ diff --git a/doc/tuto-pr-gard/illus-projets.png b/doc/tuto-pr-gard/illus-projets.png new file mode 100644 index 0000000..bcf1b38 Binary files /dev/null and b/doc/tuto-pr-gard/illus-projets.png differ diff --git a/doc/tuto-pr-gard/illus-retour.png b/doc/tuto-pr-gard/illus-retour.png new file mode 100644 index 0000000..b8c2231 Binary files /dev/null and b/doc/tuto-pr-gard/illus-retour.png differ diff --git a/doc/tuto-pr-gard/illus-stats.png b/doc/tuto-pr-gard/illus-stats.png new file mode 100644 index 0000000..595803f Binary files /dev/null and b/doc/tuto-pr-gard/illus-stats.png differ diff --git a/doc/tuto-pr-gard/illus-tache-changeset.png b/doc/tuto-pr-gard/illus-tache-changeset.png new file mode 100644 index 0000000..0e0bf1f Binary files /dev/null and b/doc/tuto-pr-gard/illus-tache-changeset.png differ diff --git a/doc/tuto-pr-gard/illus-tache-done.png b/doc/tuto-pr-gard/illus-tache-done.png new file mode 100644 index 0000000..669151d Binary files /dev/null and b/doc/tuto-pr-gard/illus-tache-done.png differ diff --git a/doc/tuto-pr-gard/illus-task-lifecycle.svg b/doc/tuto-pr-gard/illus-task-lifecycle.svg new file mode 100644 index 0000000..1e1f7c3 --- /dev/null +++ b/doc/tuto-pr-gard/illus-task-lifecycle.svg @@ -0,0 +1,128 @@ + + + + + + +workflow + + + +place_05f20a71783db1a6f0c4e75ebb1914154e901af2 + +todo +title: À faire +color: danger +locking: 0 + + + +transition_b6589fc6ab0dc82cf12099d1c2d40ab994e8410c + +start +title: Commencer la tâche +route: app_task_start +lock: 1 +unlock: 0 + + + +place_05f20a71783db1a6f0c4e75ebb1914154e901af2->transition_b6589fc6ab0dc82cf12099d1c2d40ab994e8410c + + + + + +place_f15fd675d55b55f870ff67b0b6e7d2f25dc4cf99 + +doing +title: En cours +color: warning +locking: 1 + + + +transition_356a192b7913b04c54574d18c28d46e6395428ab + +finish +title: Terminer la tâche +route: app_task_finish +lock: 0 +unlock: 1 + + + +place_f15fd675d55b55f870ff67b0b6e7d2f25dc4cf99->transition_356a192b7913b04c54574d18c28d46e6395428ab + + + + + +transition_da4b9237bacccdf19c0760cab7aec4a8359010b0 + +cancel +title: Abandonner la tâche +route: app_task_cancel +lock: 0 +unlock: 1 + + + +place_f15fd675d55b55f870ff67b0b6e7d2f25dc4cf99->transition_da4b9237bacccdf19c0760cab7aec4a8359010b0 + + + + + +place_e5fd9cfe0e8039111d54b588e77b2bb0cad41c3a + +done +title: Terminé +color: success +locking: 0 + + + +transition_77de68daecd823babbb58edb1c8e14d7106e83bb + +reset +title: Recommencer la tâche +route: app_task_reset +lock: 0 +unlock: 0 + + + +place_e5fd9cfe0e8039111d54b588e77b2bb0cad41c3a->transition_77de68daecd823babbb58edb1c8e14d7106e83bb + + + + + +transition_b6589fc6ab0dc82cf12099d1c2d40ab994e8410c->place_f15fd675d55b55f870ff67b0b6e7d2f25dc4cf99 + + + + + +transition_356a192b7913b04c54574d18c28d46e6395428ab->place_e5fd9cfe0e8039111d54b588e77b2bb0cad41c3a + + + + + +transition_da4b9237bacccdf19c0760cab7aec4a8359010b0->place_05f20a71783db1a6f0c4e75ebb1914154e901af2 + + + + + +transition_77de68daecd823babbb58edb1c8e14d7106e83bb->place_05f20a71783db1a6f0c4e75ebb1914154e901af2 + + + + + diff --git a/doc/tuto-pr-gard/index.css b/doc/tuto-pr-gard/index.css new file mode 100644 index 0000000..93288b7 --- /dev/null +++ b/doc/tuto-pr-gard/index.css @@ -0,0 +1,10 @@ +@import 'https://cdn.jsdelivr.net/npm/water.css@2/out/water.css'; + +img { + max-width: 100%; + margin: 0 auto; +} + +figcaption { + font-style: italic; +} diff --git a/doc/tuto-pr-gard/index.md b/doc/tuto-pr-gard/index.md new file mode 100644 index 0000000..da1a6fc --- /dev/null +++ b/doc/tuto-pr-gard/index.md @@ -0,0 +1,457 @@ +--- +title: Tutoriel Sentiers PR du Gard +--- + +On va voir ci-dessous comment utiliser l'application pour contribuer à entrer +les sentiers de Petite Randonnée dans le département du Gard. + +## Démarrage + +Se rendre sur le site de l'application + + +![Page d'accueil de l'application](illus-accueil.png) + +Se connecter avec ses identifiants OSM en cliquant sur l'entrée de menu +principal « Connexion ». + +Renseigner les champs « Nom d’utilisateur » et « Mot de passe » puis cliquer +sur le bouton « Connexion ». +Cette étape sera ignorée si on est déjà connecté à OSM. + +![Page de connexion OSM](illus-connexion.png) + +Cliquer sur « Autoriser » pour accorder à l'application la possibilté +d'identifier l'utilisateur OSM. + +![Autorisations à accorder à l'application](illus-autorisation.png) + +De retour sur l'application, on peut voir les différents projets en cliquant +sur le bouton « Voir les projets ». +On peut voir que l'on est connecté (ici en tant que « caboulot ») dans le menu +principal. +Pour se déconnecter on peut cliquer sur son nom d’utilisateur puis sur l'entrée +« Déconnexion » du menu déroulant qui apparaît. + +![Retour à l'application](illus-retour.png) + +## Projets + +On peut voir la liste des projets sur la page « +[Projets](https://vps-3fba2a8a.ynh.fr/gestionnaire-de-taches-simple/project/) » +de l’application. + +![Page projets](illus-projets.png) + +Pour chacun des projets, on trouve une fiche de résumé montrant son titre, +l'utilisateur qui l'a créé, quand, ainsi que sa description. +Les projets sont classés dans l'ordre chronologique. +Pour en savoir plus cliquer sur le bouton « Voir le détail ». + +En l'occurrence celui qui nous intéresse ici s'intitule « Sentiers PR du +Gard ». + +Il est possible à ce niveau de créer un nouveau projet en cliquant sur le +bouton « Créer un projet ». + +![Formulaire de création d'un projet](illus-form-projet.png) + +On verra ailleurs comment faire plus en détail. + +## Projet Sentiers PR du Gard + +Sur la page d'un projet on peut voir et faire différentes choses selon que l'on +est connecté ou pas et quand on est connecté que l'on soit le créateur du +projet ou pas. + +![Vue déconnecté](illus-projet-deco.png) + +![Vue connecté en tant que simple utilisateur](illus-projet-user.png) + +![Vue connecté en tant que créateur du projet](illus-projet-auteur.png) + +La page se décompose en plusieurs parties : + +* Le nom du projet. +* Le nom de l'utilisateur qui a créé le projet et la date à laquelle il l'a + fait. +* La description du projet. +* Une barre d'outil permettant de manipuler le projet. +* La carte représentant les tâches du projet. +* Une barre de progression globale dénombrant les tâches par l'état dans lequel + elles peuvent être. +* La liste des tâches triable par leur nom, leur état, leur importance ou leur + urgence. +* Et les commentaires associés aux tâches du projet dans l'ordre + antéchronologique. + +### Paramtères d'un projet + +Ce que l'on ne voit pas sur cette page ainsi mais peut être renseigné lors de +la création ou la modification du projet c'est : + +* Une liste de hashtags. Ils seront utilisés par la télécommande JOSM pour + construire le commentaire du groupe de changements lors de la contribution. +* Un gabarit de source. Il sera utilisé par la télécommande JOSM comme source + pour le groupe de changement lors de la contribution. +* Une imagerie. Elle sera utilisée pour charger un fond via la télécommande + JSOM. +* Une requête Overpass. Cette requête servira à montrer sur la carte du projet + ce que l'on est censé mapper. A priori au début ça ne devrait rien renvoyer + et à la fin on devrait voir représenter tout ce qu'on est censé mapper. + +Par exemple en ce qui nous concerne ici, les sentiers PR du Gard, l'imagerie +suggerée est « fr.orthohr » (imagerie aérienne la plus récente de l'IGN) et la +requête Overpass est la suivante. + +``` +area[admin_level=6][name="Gard"]->.searchArea; +relation["ref"~"PR.+"](area.searchArea); +``` + +C'est-à-dire, toutes les relations ayant un attribut `ref` dont la valeur +contient le mot `PR` suivi d'au moins un caractère dans le département dont le +nom est « Gard ». + +### La barre d'outils + +Le bouton « Revenir aux projets » permet de remonter à la liste des projets. + +Le bouton « Modifier le projet » permet de personnaliser le projet. Cette +possibilité n’est accessible qu'à l'utilisateur ayant créé le projet. On verra +ailleurs comment faire plus en détails. + +Le bouton « Supprimer le projet » permet de le supprimer. Cette possibilité +n’est accessible qu’à l’utilisateur ayant créé le projet. Une confirmation sera +demandée car la suppression est définitive et entrainne la suppression des +tâches du projet ainsi que des commentaires associés. + +Le bouton « Requêter Overpass » met à jour la valeur stockée dans le projet qui +correspond au résultat de la requête Overpass du projet. Cette requête n'est +pas jouée automatiquement pour éviter de surcharger le serveur et il faut +cliquer sur ce bouton de temps en temps pour remonter dans l'application les +changements à OSM apportés par les contributions. N’importe quel utilisateur +connecté y a accès dans la mesure où il peut s'approprier une tâche et donc +contribuer. + +Le bouton « Importer des tâches » permet d'ajouter *en masse* des tâches aux +projets en uploadant une feuille de calcul contenant les champs nécessaires. On +verra ailleurs plus en détail comment faire. N’importe quel utilisateur +connecté peut importer des tâches. + +Le bouton « Exporter les tâches » fait très exactement l'inverse et produit une +feuille de calcul contenant toutes les tâches du projet. Là encore n'importe +quel utilisateur connecté peut exporter les tâches. +A priori on devrait pouvoir importer le fichier que l'on vient d'exporter +puisque le format est le même mais cela dupliquerait toutes les tâches et +n'aurait pas beaucoup d'intérêt dans la mesure où il n'est pas aisé pour le +moment de supprimer beaucoup de tâches à la fois et rien n'est en place pour +prévenir la duplication. + +Le bouton « Créer un tâche » permet d'ajouter une tâche au projet via un +formulaire. On verra ailleurs comment procéder. Il faut être connecté pour +pouvoir créer une tâche. + +Le bouton « Piocher une tâche » permet de se rendre sur une tâche « à faire » +au hasard. + +### La carte + +Une légende peut être ouverte sous la carte. Où l'on peut voir les couleurs +associés aux différentes formes que l'on peut voir dessinées sur le fond de +carte : + +* En bleu ciel, le résultat de la requête Overpass du projet. +* En rouge, les tâches « à faire ». +* En orange, les tâches « en cours ». +* En vert, les tâches « terminées ». + +Les tracés bleu ciel sont légèrement plus épais que ceux servant pour les +tâches dans la mesure où les tracés sont amenés à être superposés. + +Un bouton en haut à droite de la carte permet de n'afficher que certaines +couches parmi celle où sont tracées les tâches et celle où est tracé le +résultat de la requête Overpass. + +Il est possible de cliquer sur les tracés bleu ciel pour voir une popup avec +les informations sur l’élément représenté : + +![Popup Overpass](illus-popup.png) + +La liste des étiquettes de l'élément sont affichées et plusieurs liens sont +proposés selon le cas : + +* « Voir sur OSM » envoie sur la page OSM de l'élément. +* « sur Panoramax » envoie sur Panoramax autour de l'élément si on veut voir à + quoi ça ressemble sur place. +* « sur WayMarkedTrails » envoie sur pour + avoir plus de détails concernant la randonnées (notamment le profil + d'altitude). +* « dans JOSM » ouvre JOSM et charge cet élément dans un calque de données, + prêt pour être modifié. + +Il est possible de cliquer sur le tracé d'une tâche pour arriver directement +sur la page de celle-ci. Si on se contente de survoler son tracé on verra +apparaître son nom. + +Un marqueur est ajouté au centroïde du chemin pour rendre visible les plus +petits d'entre eux quand on dézoome beaucoup. Ce marqueur réagit comme le tracé +au survol et au clic. + +### La barre de progression + +Le code couleur des tâches est repris pour voir ce qui est fait (en vert) et ce +qui reste à faire (en rouge). + +Si on survole la barre on a un peu plus de chiffres. + +![Plus de chiffres](illus-stats.png) + +### La liste des tâches + +Il est possible de trier les tâches selon leur nom, leur état, leur importance +ou leur urgence. Un symbole indique s'il y a un tri et dans quel sens il est. +Par défaut la liste n'est pas triée et la tâches apparaissent dans l'ordre dans +lequel elles ont été ajoutées au projet. + +On peut remarquer que le tri se fait dans l'ordre alphabétique et que ça +marche moyen avec les nombres. + +Cliquer sur une tâche permet d'aller sur la page correspondant à celle-ci. + +### Les commentaires + +Les commentaires sont présentés dans l'ordre antéchronologique. Les +commentaires de toutes les tâches du projet sont agrégés ici. On trouve pour +chacun d'eux, le nom de la tâche commentée, l'auteur du commentaire et la date +à laquelle il a eu lieu. + +Il n'est pas possible de commenter au niveau du projet. On peut le faire au +niveau de la tâche par contre. + +On peut aussi noter qu'un certain nombre de commentaires sont générés +automatiquement, notamment lors du changement d'état d'une tâche. + +## Tâche PR12 Sentier de Roquefeuil + +On a cliqué sur « Piocher une tâche » et on est arrivé là. La tâche est « à +faire ». + +![Tâche PR12 Sentier de Roquefeuil à faire](illus-projet.png) + +La page d’un tâche se décompose ainsi : + +* Nom et état de la tâche (avec le code couleur). +* La barre d'outil spécifique à la tâche. +* Utilisateur ayant créé la tâche et quand. +* Description de la tâche. +* Carte montrant la tâche. +* Les commentaires. + +Le fil d'Ariane est toujours présent en haut de la page pour remonter à la +liste des projets ou au projet de la tâche. + +### Paramtres d'une tâche + +Comme pour les projets, chaque tâche est personnalisée mais tout n'est pas +affiché directement sur la page. Notamment : + +* Une tâche contient des données GeoJSON représentant une géométrie qui pourra + être téléchargée au format GeoJSON ou GPX. Dans le cas des sentiers PR du + Gard il s'agit du tracé de la randonnée. Le fichier GPX pourra être chargé + dans JOSM lors de la contribution et servir de guide pour la relation à + créer. +* Une tâche peut également contenir des données OSM (au format XML) qui + serviront de base à la contribution et seront transmises à JOSM par la + télécommande. En ce qui nous concerne ici ce sera une nouvelle relation avec + les étiquettes correspodantes. On peut imaginer pour d'autres cas que ce soit + des nœuds, des chemins, des polygones, etc. +* L’état d'une tâche permet d'en distinguer les différentes étapes de son cycle + de vie. Ce cycle de vie est décrit un peu plus loin. +* L'urgence et l'importance des tâche est un nombre optionnel permettant de + hiérarchiser les tâches entre elles dans [une matrice + d’Eisenhover](https://fr.wikipedia.org/wiki/Matrice_d'Eisenhower). + +### Cycle de vie d'une tâche + +![Cycle de vie d'une tâche](illus-task-lifecycle.svg) + +Les ronds représentent les états et les carrés les transitions. + +### La barre d'outils + +Le bouton « Revenir au projet » permet de remonter au projet dont la tâche fait +partie. + +La bouton « Modifier la tâche » permet de la personnaliser dans un formulaire +qui cela à été fait lors de sa création. On verra ailleurs comment le faire. + +Le bouton « Supprimer la tâche » permet de supprimer la tâche. Une conformation +devrait éviter de supprimer définitivement par inadvertence la tâche et ses +commentaires. + +Le bouton « Tâche suivante » permet de passer à la tâche suivante dans l'ordre +dans lequel elles ont été ajoutées. + +Selon l'état de la tâche on peut trouver des boutons *de transition* et des +boutons *contextuels*. + +Quand on est dans une tâche « à faire » : + +* On peut « Commencer la tâche » ce qui la fait basculer dans l’état « en cours ». + +Quand on est ans une tâche « en cours » : + +* On peut « Terminer la tâche » ce qui la fait basculer dans l'état « terminée ». +* On peut « Abandonner la tâche » ce qui la remet dans l’état « à faire ». +* On peut « Télécharger la tâche » au format GeoJSON ou GPX. +* On peut utiliser la « Télécommande JOSM » pour piloter autant que possible + JSOM depuis l'application. + +Quand on est dans l'état « terminé » : + +* On peut « Recommencer la tâche » ce qui la fait revenir à l'état « à faire ». + +### La carte + +La carte fonctionne de la même façon que sur la page du projet à ceci prêt +qu'on ne voit que la tâche qui nous concerne. + +### Les commentaires + +Ils sont affichés dans l'ordre antéchronologique et on ne voit que ceux de la +tâche concernée. + +Sous les commentaire on trouve un champ texte libre où l'on peut mettre son +commentaire (au format [Markdown](https://fr.wikipedia.org/wiki/Markdown)) puis +cliquer sur le bouton « Commenter ». + +Il n’est pas possible pour l'instant de supprimer ou modifier un commentaire. + +## Contribution + +On a cliqué sur le bouton « Commencer la tâche » et on est arrivé ici : + +![Tâche PR12 Sentier de Roquefeuil en cours](illus-projet-doing.png) + +Le tracé à changé de couleur car l'état de la tâche à changé. + +On peut remarquer sous la description les suggestions de commentaire et de +source qui seront envoyées à JOSM pour la contribution. Il arrive qu'il les +perde, on pourra les retrouver ici. On a prévu un bouton en fin de ligne pour +copier dans le presse papier automatiquement le texte. + +Une fois assuré que JSOM est bien lancé on est prêt pour contribuer ! + +D'abord, récupérons la trace GPX correspondant au chemin de randonnées en +cliquant sur « Télécharger la tâche » puis « .gpx ». On devrait récupérer le +fichier « pr12-sentier-de-roquefeuil.gpx ». + +Ensuite, cliquons sur « Télécommande JOSM ». JSOM devrait se mettre au premier +plan, charger le fond de carte « Ortho HR IGN » et proposer un calque de +données portant le nom de la tâche « PR12 Sentier de Roquefeuil », contenant +les données associées à la tâche, le tout zoomé sur celles-ci. Ici une relation +intitulée « Sentier de Roquefeuil » avec diverses étiquettes et un unique nœud +« A SUPPRIMER » comme membre. En effet, on ne pourrait pas localiser la +relation s'il n'y avait pas au moins un membre. + +![JOSM ouvert](illus-josm.png) + +Enfin chargeons la trace GPX téléchargée plus tôt en se rendant dans le menu +« Fichier » puis « Ouvrir » de JSOM. + +Il est possible de rendre un peu plus visible la trace GPX, en faisant un clic +droit sur le calque de la trace et en choisissant « Personnaliser le dessin des +traces ». Dès lors on peut changer par exemple l’« Épaisseur du dessin des +traces GPS ». Avec la valeur `10` par exemple. + +On peut alors télécharger les données OSM le long de la trace, en faisant un +clic droit sur le calque de la trace puis un choisissant « Télécharger le long +de cette trace ». + +![Télécharger le long de cette trace](illus-josm-gpx1.png) + +Dans notre cas, 15 m autour de la trace suffit et il faut « Télécharger » dans +le même calque de données et pas un nouveau pour que la relation soit dans les +données téléchargées que l'on est susceptible de modifier également. + +![Données téléchargées](illus-josm-gpx2.png) + +Un clic droit puis « Modifier » sur la relation « Sentier de Roquefeuil » ouvre +une fenêtre avec les propriétés de la relation. C'est là qu'on va pouvoir +accumuler les chemins qui vont former le sentier de randonnée. + +**Attention !** Il est possible que la relation existe déjà et dans ce cas il +faut supprimer celle que l'on a ajouté (qui ne contient qu'un membre) et +apporter nos modifications dans celle qui existe déjà. + +On commence avec un seul membre qui est le nœud « À SUPPRIMER ». Un clic droit +puis « Zoomer à » sur ce membre permet de zoomer sur lui. + +![Zoom sur le nœud à supprimer](illus-josm-noeud.png) + +On sélectionne le chemin sous la trace GPX et on l'ajoute aux membres de la +relation (icône avec la flêche bleue et l'entrée rouge en bas) et on retire le +nœud à supprimer (icône en forme de poubelle). +Il est nécessaire de mettre à jour la relation (icône en forme de disquette). + +![Premier chemin de la relation](illus-josm-chemin.png) + +Cela nous permet de supprimer le nœud « À SUPPRIMER » du calque de données et +on est prêt pour ajouter les chemins suivants à la relation. + +Parfois il faut couper un chemin sur un nœud pour en ajouter qu'une partie à la +relation. + +Parfois il en manque un bout et on peut faire un clic droit puis « Zoomer sur +la séparation » pour trouver ce qui manque, qu'on peut alors insérer et ainsi +boucher le trou. + +![Zoomer sur la séparation](illus-josm-trou1.png) + +![Trou bouché](illus-josm-trou2.png) + +Parfois il est nécessaire de tracer un chemin qui n'existe pas mais que l'on +voit sur l'imagerie et ainsi pouvoir le rajouter à la relation. + +En tout cas il faut penser régulièrement à mettre à jour la relation pour éviter +de devoir régler des conflits. + +Il est possible de trier les membres de la relation, cela peut aider à les +ordonner. + +Dans notre cas les sentiers de randonnée forme une boucle. C'est visuellement +signalé dans la dernière colonnes des membres. Et certains chemins apparaissent +en rouge car ils sont empruntés plusieurs fois (dans un sens à l'aller puis +dans l'autre au retour). + +![Chemin en boucle](illus-josm-boucle.png) + +Une fois la relation correctement remplie, on « Valide » et on peut envoyer les +modifications comme on le fait d'habitude. + +![Envoi des modifications](illus-josm-commit.png) + +Le commentaire et la source devraient être préremplies, il n'y a plus qu'à +« Envoyer ». + +Et c'est terminé pour JSOM. + +De retour sur la page de la tâche, on clique sur « Terminer la tâche » pour +passer dans l'état « terminé ». + +![Tâche terminée](illus-tache-done.png) + +Sur la carte le tracé de la tâche a de nouveau changé de couleur et on peut +constater la présence de blocs « Groupe de modification » au dessus de la +carte. Cliquer dessus les déplie et permet de visualiser les groupes de +modifications réalisés par l'utilisateur entre le moment où la tâche à été +commencée et le moment où la tâche a été terminée, donc fort probablement le +groupe de modifications correspondant à notre contribution. Deux liens sont +proposés pour voir la modification sur [OSM](https://www.openstreetmap.org/) ou +[OSMCha](https://osmcha.org). + +![Groupe de modification](illus-tache-changeset.png) + +Et voilà ! Il est temps de « Revenir au projet » et de « Piocher une tâche » +pour poursuivre la contribution;