Proposition d'un nouveau module : Visualiseur GPX

Bonjour,
En ce début d'année je vous propose un nouveau module : Visualiseur GPX. Il permet d'afficher les fichiers TRK et WP au format GPX. Il a été conçu à l'origine pour permettre d'afficher les itinéraires (TRK) de randonnées et les services (WP) associés (hébergements, parking, restaurants ...). A la place d'un long discours place au visuel : Visualiseur GPX. Pour accéder aux fonctions : menu contextuel actif pour la carte et les itinéraires.
Le fond de carte principal est la couche IGN GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2, en mode standard et en mode "imitation scan25" à partir du zoom 19. Pour l'utilisation des couches IGN se référer au site GéoServices, en résumé :
Les données présentes sur le site sont gratuites et disponibles en licence ouverte selon le principe de la licence Etalab 2.0 depuis le 1er janvier 2021. D’autres données complètent la politique d’ouverture des données de l’IGN depuis le 1er juin 2021.
C'est la librairie OpenLayers qui est utilisée.
Le module est ci-joint en version provisoire P.01.
A vous de découvrir si vous le souhaitez.
Jean-Luc
Commentaires
Bonjour Jean-Luc,
Je viens de télécharger et installer dans le répertoire module avec le nom visualizer : fonctionne nickel !
Voir en test ici.
Vais voir ce que je peux en faire pour l'intégrer dans mes randonnées...
Merci et bonne journée... Michel
Bonjour @jeanluc,
Module très intéressant ! je le teste ASAP, si tout est OK, il pourra être publié sur le store.
Bonsoir @jeanluc ,
Sur ton module, lorsque que je clique sur Services et Tout visualiser : c'est OK.
Par contre, si je clique sur hebergements35 ou quelquesBistrots35 cela me renvoie vers ces pages :
https://cartoweb.alwaysdata.net/cdte29/site/file/source/itin1/GPX_WP/hebergements35.gpx et https://cartoweb.alwaysdata.net/cdte29/site/file/source/itin1/GPX_WP/quelquesBistrosEn35.gpx
Une question, comment fait-on pour avoir une doc de présentation de l'itinéraire ?
Dans l'image ci-dessous, j'y ai mis des fichiers en .pdf, .txt et .docx et rien ne s'affiche. J'ai remarqué que dans l'un des tiens, un PDF était à charger.
Bonne soirée... Michel
Bonjour @lemimi,
Merci de t'intéresser à ce module. Je vais essayer d'apporter des réponses claires à tes interrogations.
Pour l'affichage des fichiers WP dans ton navigateur
Le fait de cliquer sur le nom d'un fichier WP GPX doit lancer le téléchargement du fichier et non l'afficher dans le navigateur, c'est le comportement avec FireFox, quasiment le seul que j'utilse. Je viens de tester avec Edge et Vivaldi : j'observe le même comportement que toi, qui semble lié à la galaxie Chrome. Y-a-t-il un paramètre à régler pour modifier ce comportement ? J'ai pas de réponse, donc : à approfondir.
doc de présentation de l'itinéraire (
comment fait-on?
)Le fichier doit avoir le format 'pdf' ('PDF'), c'est le seul admis, et avoir le même nom que l'itinéraire, ce qui simplifie l'administration. Sur mon site l'itinéraire "Equibreizh-CouesnonStPern" a pour fichier GPX Equibreizh-CouesnonStPern.gpx et pour fichier descriptif Equibreizh-CouesnonStPern.pdf.
Doc services
Pour les services, il n'y a pas de fichier descriptif par service. Par contre pour un service donné, en cliquant sur un icone, il a 2 possibilités:
1)- soit le contenu du champ descriptif (desc du WP) s'affiche,
2)- soit si un nom de fichier pdf y est renseigné, celui-ci s'affiche. Pas de règle de nommage pour le fichier, à part le format pdf. exemple :
<wpt lat="48.242768405" lon="-1.934616050"> <ele>112.480000</ele> <name>Irodouer - gite groupe et CH</name> <cmt>irodouer.pdf</cmt> <desc>irodouer.pdf</desc> <sym>Lodging</sym> </wpt>
(ne pas tenir compte du champ cmt)Sur le site cliquer sur l'icone à coté de Irodouer :
J'espère avoir répondu à ton attente.
Jean-Luc
Bonsoir @jeanluc
N'ayant pas de fichiers de traces sous la main, j'ai simplement jeté un œil attentif au script. Je tiens à te féliciter, car tu as tout à fait compris la logique de Zwii.
Le module est très bien construit et très bien codé.
Tu pourrais prendre en compte une modification que j'ai apportée dans les mises à jour récentes des modules :
Les variables globales initialisées dans la classe et transmises aux vues comme
$module::$directories
deviennent
visualizer::$directories
Cela n'empêche pas le fonctionnement. puisque le code du module est intégré au core qui a initialisé l'instance module, mais cela permet de masquer une erreur trouvée par Intellisens.
J'ai renommé mon fichier PDF, nickel :-)
Pour l'affichage des fichiers WP dans notre navigateur, recopie cette question que j'ai posé à ChatGPT : (la réponse est assez longue et il propose diverses solutions).
J'ai ce message d'erreur :
Aucune information de style ne semble associée à ce fichier XML. L’arbre du document est affiché ci-dessous.
dans le fichier ci-dessous :
<gpx version="1.1" creator="Editeur GPX/Jean-Luc Crespel" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">
<wpt lat="48.2164956732926" lon="-1.6975237978568107">
<ele>undefined</ele>
<name>Melesse</name>
<desc>Peu recommandé !</desc>
<sym>bar.png</sym>
</wpt>
<wpt lat="48.24576884496636" lon="-1.7270495546927487">
<ele>undefined</ele>
<name>Montreuil-le-Gast</name>
<desc>A tester !</desc>
<sym>bar.png</sym>
</wpt>
<wpt lat="48.28587788953766" lon="-1.8887545717825924">
<ele>undefined</ele>
<name>Cardroc</name>
<desc>A éviter : lieu maudit !</desc>
<sym>bar.png</sym>
</wpt>
</gpx>
comment résoudre cela ?
Bonjour,
@fred
Merci pour tes compliments. Je vais intégrer le correctif dans la prochaine version provisoire.
@lemimi
comment résoudre cela ?
Comme dit dans mon précédent message, le fichier ne doit pas être affiché mais proposé en téléchargement : il s'agit d'un comportement différent de la galaxie chrome par rapport à FIrefox. Le message
Aucune information de style ne semble associée à ce fichier XML. L’arbre du document est affiché ci-dessous.
est "normal" car ton navigateur ne connait pas le format GPX, il n'est pas prévu pour cela. De plus l'action faite est incorrecte par rapport à la demande.Correctif : j'ai remplacé dans mon script
<a href="fileToUpLoad">
par<a href="fileToUpLoad" download>
.C'est OK : tester avec Firefox, Edge et Vivaldi.
Dit-moi ce qu'il en est de ton coté, afin que je boucle la prochaine version provisoire.
Jean-Luc
Bonjour @jeanluc ,
Je viens de tester sur ton site, je clique sur Services, ensuite hebergements35 ou quelquesBistrosEn35, cela me renvoie vers un téléchargement de fichier GPX : c'est OK.
Par contre, si je coche une des 2 cases ou que je fais Tout visualiser, cela me renvoie ceci :
Et en quittant vers : https://cartoweb.alwaysdata.net/cdte29/site/file/source/itin1/GPX_WP/hebergements35.gpx
Tester sous Opera, Chrome, Firefox et Edge.
Bonne soirée... Michel
Bonsoir @lemimi,
En fait il y a 2 problèmes indépendants l'un de l'autre.
Je commence par le deuxième : le réaffichage du GPX dans le navigateur. Par négligence je n'ai pas appliqué le correctif remplacer dans mon script <a href="fileToUpLoad"> par <a href="fileToUpLoad" download> partout. C'est chose faite maintenant.
Pour le premier problème (... Quitter la page - Rester sur la page). Cela se produit aussi lors de la configuration de certaines données. Je n'ai pas de solution, d'autant plus que cela ne se produisait pas sur ma page d'origine.
Par ailleurs j'ai vu que tu avais eu ce message d'erreur lors du test de la 13.5. @fred avait identifié que c'était dû à un champ caché. Peut-être qu'il pourrait nous en dire plus.
Pour l'instant je sèche !
Jean-Luc
Bonjour tout le monde,
Ce week-end, j'ai prévu de tester le module.
À tantôt,
Fred
Bonjour,
Pour le problème (... Quitter la page - Rester sur la page), j'ai trouvé un paliatif (sur le net) pour Firefox uniquement :
Dans about:config, il suffit de passer "dom.disable_beforeunload" à true.
: cela fonctionne, mais ce n'est peut-être pas une solution élégante.Ci-joint le module en version provisoire P.02, La modification proposée par @fred et la modification pour qu'un fichier GPX ne s'affiche pas dans le navigateur y sont incluses.
Bons tests et merci pour vos retours.
Jean-Luc
Bonsoir,
C'est encore moi. Une idée de dernière minute : faire une doc qui reprend tout ce que j'ai dit d'à peu intéressant dans mes messages précédents.
C'est fait : ci-joint. Il est également accessible via la configuration du module en version provisoire P.03 ci-dessous.
C'est plus que l'heure de l'apéro, je vous laisse. Bon weekend.
Jean-Luc
Bonsoir,
Un premier retour.
Dans un premier temps, j'ai récupéré des traces GPX sur Github puis sur OSM. Aucune ne s'affichait, j'ai donc créé une trace sur le site https://www.gpsvisualizer.com/draw/ et celle-ci s'est affichée ainsi que le point de service.
La couche de base n'affiche que les tuiles concernant la France :
En passant sur OSM Topo, toute la carte est disponible, malheureusement la trace récupérée sur OSM ne s'affiche pas (les deux derniers fichiers) :
Le problème lié au message du navigateur, lorsque la page est quittée, est lié à l'affichage d'un service et non d'une itinéraire. L'instruction à l'origine du problème est eventListner.... De suite, je n'ai pas de solution qui fonctionne.
Voici quelques conseils pour l'amélioration du module.
PB : Lorsque la page de configuration est ouverte et qu'un répertoire est créé dynamiquement, il faut recharger la page pour que celui-ci soit listé.
Solution : créer la liste des dossiers depuis js (voir le module gallery/view/add/add.js.php la partie après /** Liste des dossiers*/
PB : le message affiché par le navigateur de la trace vide n'est pas très "friendly"
Solution : ajouter dans la page index, le test en php qui afficherait un message dans la page. AU niveau du js, ne créer l'instance de chargement que si le fichier est bien chargé sans générer d'alerte.
Concernant la configuration, pour éviter les tests de vérification des dimensions hauteur et largeur (en px, en %), proposer deux sélecteurs.
Voilà.
Bon week-end à tous.
Bonjour @fred ,
Merci pour ton retour. Je n'ai pas forcement compris toutes tes remarques mais je vais essayer d'y répondre en fonction de mon niveau de compréhension.
1)
La couche de base n'affiche que les tuiles concernant la France
C'est normal car ce sont les couches IGN qui s'affichent par défaut. Ces couches ne couvrent par principe que la France. C'est donc un visualiseur Franco-Français. En bonus il est possible d'afficher la carto OSM. Ce qui permet d'afficher des traces hors France. Voir ci-dessous l'exemple pour une trace en Espagne :
2)
Aucune ne s'affichait, j'ai donc créé une trace ...
Il faut que le fichier GPX soit un fichier TRACE (balises trk) et non pas un fichier ROUTE (balise rte). Voir le fichier de la trace (zippé) Espagne ci-joint.
3)
Le problème lié au message du navigateur, lorsque la page est quittée, est lié à l'affichage d'un service et non d'une itinéraire.
Non. Si dans la configuration tu mets le paramètre " Affichage des traces au démarrage" à "Non", le problème se produit. C'est une question de formulaire qui n'est pas sauvegardé et qui n'a pas à l'être. Pour Firefox j'ai proposé une solution dans un de mes messages précédents. A appronfondir.
4)
PB : Lorsque la page de configuration est ouverte et qu'un répertoire est créé dynamiquement, il faut recharger la page pour que celui-ci soit listé.
Est-ce réellement un problème ? Je ne pense pas.
5)
PB : le message affiché par le navigateur de la trace vide n'est pas très "friendly"
Il n'y pas de message quand une trace est vide. Par contre il y a un message d'alerte classique javascript lorsque le répertoire trace est vide (idem lorsque le répertoire service est vide) :
6)
Solution : ajouter dans la page index, le test en php qui afficherait un message dans la page.
S'agit-il d'un message dans le style de ceux qui s'affichent parfois dans Zwii ? Comment y accède-t-on ?
7)
Au niveau du js, ne créer l'instance de chargement que si le fichier est bien chargé ...
Je ne comprends pas. Comportement actuel : si pas de fichier dans le répertoire, alors alerte, puis chargement normal de la page avec affichage de la carte. Ce qui me semble logique.
8)
Concernant la configuration, pour éviter les tests de vérification des dimensions hauteur et largeur (en px, en %), proposer deux sélecteurs.
Qui fait ces tests de vérification et pourquoi ?
Proposer deux sélecteurs : lesquels ? px et % ?
Pour la largeur mettre en % c'est possible. Nécessiterait un nouveau paramètre.
Pour la hauteur mettre en % ne marche pas dans Zwii, j'ai essayé avant de mettre ce module à disposition. Et puis en %, ce serait par rapport à quoi, la hauteur de page est variable en fonction du contenu ?
J'ai mis les deux uniquement en pixel car cela me semble plus simple et avec moins de risque d'erreur.
Voilà mes réponses. Bien sûr on en reparle.
Bonne fin de journée.
Jean-Luc
Bonjour @jeanluc,
Je reprends les points selon ta numérotation. La plupart de mes remarques étaient motivées par le souci de l'utilisateur final qui découvre un module ou une fonctionnalité. C'est une règle que j'essaie de mettre en œuvre pour Zwii reste utilisable sans trop de documentation.
1/ Par défaut, je pense que j'aurais affiché Topo map pour ne pas susciter cette remarque ou laisser à penser à un bug.
2/ En effet, c'est technique, il faut bien connaître le format.
3/ C'est en effet une variable ouverte par le JS d'OSM qui n'est pas refermée et là je ne peux pas t'aider.
4/ Cela l'a été pour moi, puisque j'ai complété les données dans le gestionnaire de fichier en complétant la configuration. C'est d'ailleurs pour cela que Rémi, mon prédécesseur, avait prévu un script js pour disposer de sélecteurs dynamiques.
5/ Oui, certes, mais je ne trouve pas cela élégant.
6-7/ La page index pourrait tester le contenu retourné par $this->getData(['module', $this->getUrl(0),'listFilesTrk']) et afficher un message avec le template speech si vide. Exemple index.php du module news. En conséquence, il n'est plus nécessaire d'afficher cette alerte dans le js en revanche, pour éviter d'éventuelles erreurs, je ne chargerai l'instance loadCarto(); si les données sont disponibles.
8/ Il est toujours mieux d'envisager les bizarreries de saisie. Il est bien de réaliser des contrôles sur la saisie pour s'assurer par exemple que l'utilisateur n'a pas écrit px dans le champ (il est inséré par le traitement plus loin) ou d'autres étrangetés.
Pour éviter cela, comme dans la configuration du thème, je préfère proposer des choix à sélectionner plutôt que des saisies libres.
Voilà tout,
Bon week-end,
Fred
J'oubliais...
Les astérisques sur les champs ont attiré mon attention, en effet, rien ne le précise sans une mention dans le label du champ.
Dans 13.6.00 à venir, j'ai ajouté une propriété aux champs de saisie 'required' => true
Cela permet d'insérer un astérisque rouge à droite du label et de générer un message du navigateur sous la forme d'un popup flottante sur les champs laissés vides.
En l'absence de cette propriété, alors que let getInput attend un champ renseigné, c'est la mention en rouge toujours implémentée qui s'affichera sous la forme d'un texte qui décale le champ (et ça je n'aime pas trop).
Bonjour,
C'est un super module ! Merci.
Il faut que je le teste, mais je note déjà dans ton exemple que l'affichage est limité à l'Europe même avec osm : c'est volontaire? Ça se paramètre pour avoir un affichage mondial ?
Philippe
Bonjour @augras,
Merci pour ton message. Oui c'est volontaire. Je profite de cette réponse pour apporter une précision suite aux 2 messages précédents de @fred.
Ce module n'a pas été créé pour Zwii mais existait déjà avant que je propose de l'y intégrer. J'ai conçu ce visualiseur comme une application indépendante (hors CMS) en 2010 (voire un peu avant) et depuis je la fais vivre. Son but était, et est toujours, d'afficher des traces de randonnées pour des randonneur qui randonnent en France, d'où en final l'utilisation des couches IGN. Cela répondait, et répond encore, à une demande. L'ajout de la carto OSM est un bonus. A noter que sur le net on trouve pas mal de sites qui utilisent la carto OSM (et google map), donc pas d'intérêt pour moi de faire la même chose. Je ne souhaite pas faire 2 produits différents. Des adaptations ont été nécessaires, je m'en contenterai pour l'instant. Par contre, si à plusieurs vous avez un cahier des charges qui proposent des évolutions qui vont dans le bon sens, pourquoi pas, à condition bien-sûr d'utilser ce module activement.
Donc actuellement ce visualiseur est utilisé par au moins 4 associations (bretonnes) et plusieurs fois sur leur site. Deux exemples : exemple-1 et exemple-2.
Par ailleurs, le visualiseur a un grand frère : un éditeur qui permet de créer et modifier des fichiers GPS traces (trk) et wayPoints (wp). A voir entre autres ICI. Je me proposais d'en faire un module pour Zwii. A étudier.
Bonne fin de journée.
Jean-Luc
Bonjour,
Ci-joint le module visualiseur GPX en version provisoire P.04.
Liste des évolutions :
Bonne soirée,
Jean-Luc
Bonjour,
Ci-joint le module visualiseur GPX en version provisoire P.05. Cette version apporte une correction d'erreur et une évolution.
Bon weekend,
Jean-Luc
Bonjour Jean-Luc,
Lorsque le module sera prêt, il sera possible de le proposer dans le store.
Bon week-end,
Fred
Bonjour,
Ci-joint le module visualiseur GPX en version 1.00 qui est la première version officielle. Par rapport à la dernière version provisoire, celle-ci prend en compte la version openLayers v10.4.0, des adaptations à des restrictions d'usage imposées par l'IGN, ainsi que quelques évolutions mineures liées à la cartographie IGN.
Bonne journée,
Jean-Luc
Avertissement : ce module ne fonctionne qu'à partir de la version 13.6.00 de Zwii.
Bonjour,
Merci Jean-Luc, je vais t'ouvrir un compte pour la publication sur le store. Si cela t'intéresse, je recherche un volontaire pour enrichir les fiches existantes avec par exemple des captures d'écran.
Bonne fin de journée,
Fred
Bonjour,
Lorsque que je clique sur Module de la page , j'ai juste ceci :
En test ici : https://test.lemimi.fr/zwii-modules/
Au plaisir... Michel
Le fichier d'aide est bien présent ici : https://test.lemimi.fr/zwii-modules/module/visualizer/vendor/system/aideVisualisateurGPX.pdf
mais le lien qui ne fonctionne pas donne cela :
https://test.lemimi.fr/zwii-modules/visualiseur/module/visualizer/vendor/system/aideVisualisateurGPX.pdf
Bonjour @lemimi,
J'ai 2 instances Zwii avec mon module, dont une en local, et je n'ai pas les problèmes que tu rencontres. Ces 2 instances sont en 13.6.00, ton site est en 13.5.03. Dans la 13.6.00 @fred a introduit des évolutions sur les champs utilisables dans un formulaire, ce que j'utilise dans mon module. Donc mon module ne fonctionne pas avec la branche 13.5 pour au moins cette raison. Désolé pour toi.
Bonne soirée,
Jean-Luc
Bonjour @fred,
je recherche un volontaire pour enrichir les fiches existantes ...
Avant de décider j'ai besoin d'en savoir un peu plus, de quellles fiches parles-tu ... ?
Bonne soirée,
Jean-Luc
Je viens de faire une installation en 13.6.00 et cela fonctionne bien en effet.
https://test.lemimi.fr/zwii-13.6/visualiseur-gpx
Bonne soirée... Michel
Bonjour,
@lemimi Je dois publier cette 13.6 rapidement, ce soir je pense
@jeanluc , il s'agit des quelques fiches qui décrivent les modules à télécharger https://store.zwiicms.fr
Il y en a peu mais j'avoue de ne pas y avoir consacrer suffisamment de temps pour le rendre attractif.
Bonne journée