Les POI (Points Of Interest) ou Points d'intérêt sont les petits "cailloux blancs" qu'on laisse sur un trajet pour se souvenir, bien après, de certains lieux marquants.
Ce trajet peut être une excursion touristique ou géologique, une randonnée pédestre, la visite d'un musée.
Une visite est un ensemble structuré de POIs.
Un POI comporte ou peut comporter différents objets :
- un ID ou identificateur
- un titre (obligatoire)
- une géolocalisation GPS (obligatoire)
- un commentaire textuel (facultatif)
- une image ou une photo (facultatif)
- un commentaire audio (facultatif)
- une vidéo (facultative).
Puisqu'il est obligatoirement géolocalisé, chaque POI d'une visite peut être représenté par un marqueur sur un fond de carte. Par exemple, une épingle sur un fond de carte Open Street Map.
Il y a deux aspects dans une visite :
- sa construction
- sa visualisation
Construire une visite consiste à décrire une succession de POIs, en fournissant pour chaque POI le maximum des objets qu'on vient de nommer. On peut par exemple choisir une photo ou une vidéo captée avec son smartphone,ou encore enregistrer un commentaire vocal descriptif du POI.
Visualiser une visite consiste à suivre des POIs sur une carte. Cette carte, de manière élémentaire, peut être une carte OSM (OpenStreet Map) sur laquelle les POIs sont représentés par des marqueurs. Un clic sur ces marqueurs entraîne l'ouverture de popups (petites fenêtres flottantes) montant les données attachées au POI.
La visualisation des POIs peut se faire dans deux situations :
- en chambre, avec un ordinateur, c'est une visite virtuelle,
- sur le terrain, avec un smartphone géolocalisé, c'est une visite guidée.
Entre la construction et la visualisation se fait un passage de données, par le truchement d'un fichier.
Ce fichier est en fait une archive (un zip) qui comporte les données brutes (dossier "data") et la structure qui lie les données (fichier visit.json).
La traduction informatique de cette visite guidée va être réalisée par l'écriture de plusieurs applications qui ont en commun le fait d'être des PWA (Progressive Web Applications). Rappelons en quelques phrases l'intérêt du choix des PWA.
- Code unique : Une PWA utilise une seule base de code (HTML, CSS, JavaScript) pour toutes les plateformes (web, mobile, desktop).
- Pas de store d'applications obligatoire : L'utilisateur peut installer la PWA directement depuis le navigateur, sans passer par l'App Store ou Google Play, simplifiant le processus d'adoption.
- Légèreté : Les PWA sont souvent beaucoup plus légères que les applications natives.
- Vitesse et performance : Les PWA sont conçues pour être rapides et réactives.
- Fonctionnement hors ligne (ou avec connexion limitée) : Grâce aux Service Workers, elles peuvent mettre en cache du contenu et fonctionner même sans connexion Internet ou avec une connexion instable.
- Partage facilité : Elles peuvent être lancées et partagées via un simple lien URL.
Pour bâtir les applications, les robots générateurs de code sont essentiels (ChatGPT, Claude, Gemini, Grok, Github Copilot, Perplexity ...). Leur rôle a été déterminant.
La construction de la visite à partir des POIs est basée sur 3 applications accessibles sur le dépôt Github :
- editpoih : construction des POI - modifpoi : correction et déplacement des POIs - ordonnepoi : tri les POI selon la latitude ou la longitude
La visualisation de la visite est réalisée par :
- visupoicd : visite virtuelle ou visite guidée
Une fois que l'application est lancée dans le navigateur (Chrome, Firefox, Safari ...), il est possible de l'installer. Selon le navigateur et le type de plateforme, le processus d'installation est différent. Il peut s'agir d'une icône particulière à côté de la barre d'URL ou d'une option accessible par l'icône "trois points" ou hamburger. L'application apparaît avec son icône sur la page d'accueil et dans la liste des applications installées.
1) Donner un nom à la visite renfermant les POIs.
Remarquer tout de suite qu'il est possible de reprendre une visite déjà commencée et pour laquelle on ajoute des POIs supplémentaire. Cette visite préliminaire est un fichier .zip.
2) Donner un titre au POI sur lequel on va travailler.
3) Deux champs d'entrée qui permettent de fixer la latitude et la longitude du POI. Ces champs peuvent être remplis de 3 manières :
- automatiquement par importation d'une photogéolocalisée (métadonnées EXIF)
- par positionnement manuel d'un marqueur sur la carte OSM
- par remplissage manuel (format degrés décimaux, avec point décimal).
La géolocalisation est obligatoire de quelque manière que ce soit.
4) Remplissage d'un commentaire textuel.
5) Importation d'un fichier audio MP3.
6) Importation d'une vidéo MP4
7) Quand toutes les données sont introduites, on clique sur le bouton "Ajouter ce POI".
Ce POI apparaît alors dans la liste des POIs validés, dans la colonne de droite.
8) On recommence avec l'introduction d'un nouveau POI, autant de fois qu'il y a de POIs prévus.
9) Quand tous les POIs sont validés, on sauvegarde la visite sous la forme d'un fichier Zip.
Les POIs apparaissent dans la liste dans l'ordre dans lequel ils ont été introduits.
Par glisser/déposer, on peut modifier cet ordre.
On peut également éditer de nouveau un POI de la liste ou le supprimer.
Il est fréquent qu'une photo ait été mal géolocalisée par le GPS inetrne du smartphone. Le marqueur du POI se trouve positionné sur la carte au maivais endroit.
A l'aide de la carte, on déplace le marqueut fautif au bon enfroit. On sauvegarde le fichier modifié.
Les POIs sont souvent entrés dans un ordre indifférent à leur ordonnancement géographique.
Si la visite est linéaire, il est possible de réorganiser les POIs selon la latitude ou selon la longitude.
Comme les marqueurs sont numérotés, il est alors plus facile de suivre la progression sur le terrain.
Alors que la construction des POIs se prépare essentiellement sur Desktop (ordinateur), la visualisation des POIs est intrinséquement plus adaptée aux situations de mobilité externe et donc au smartphone. Visupoicd peut fonctionner sur PC ou sur Mac, mais on reste dans la virtualité.
On insistera donc sur les propriétés de l'application installée sur un smartphone (Android ou iOS).
A l'ouverture de l'application, il n'est demandé que de charger un fichier .zip.
Ce fichier .zip qui peut atteindre des dizaines ou des centaines de mégaoctets aura été précédemment sauvegardé dans un dossier facilement accessible. Sa taille interdit généralement d'être transmis par mél. On utilisera à cet effet des plateformes de transfert de fichiers lourds ou un Drive dans le cloud.
Si la visite comporte de nombreux POIs et des fichiers média lourds, alors l'importation peut demander un certain temps.
Une carte s'affiche présentant une suite numérotée de marqueurs de POIs. Normalement, tous les POIs sont représentés et correspondent à une certaine échelle. Il est possible de zoomer pour grossir et mieux distinguer individuellement les POIs..
Un clic sur un marqueur de POI enttraîne l'ouverture d'une popup (petite fenêtre attachée au point).
Si vous déplacez la carte (glisser), vous constatez que votre position géographique actuelle est figurée par un gros marqueur rouge pulsant. En zoomant dessus, vous verrez les détails de topographie ou d'architecture apparaître.
Dans la popup sont figurés :
- le titre du POI,
- sa latitude et sa longitude
- un commentaire (facultatif)
- une photo (facultative)
- un lecteur audio (facultatif)
- un lecteur vidéo (facultatif)
- une distance en mètres vous séparant du POI
- un azimut en degrés par rapport au Nord vers le POI sélectionné.
La distance et l'azimut sont mis à jour à mesure que vous vous déplacez. On peut ainsi se rapprocher progressivement du POI en tenant compte de l'évolution de la distance.
Si une photo est présente dans la popup, un simple clic sur cette photo ouvre une "lightbox" zoomable.
Ceci permet d'observer des détails précis à l'intérieur de la photo. Une croix de fermeture permet de faire disparaître la lightbox.
__________________________________
Pour aider à l'optimisation des photos apparaissant dans les POIs, une petite application PWA a été créée :
________________________________________
Pour vérifier si une photo est correctement géolocalisée dans ses données EXIF