Je navigue depuis une douzaine
d'années sur mes voiliers, principalement en croisière. A ce jour
je n'ai pas trouvé le logiciel adéquat pour mes carnets de bord et
journaux de voyage en voilier.
Mon but développer un logiciel
de Voyage basé sur du tracking GPS sur Smartphone adapté au monde
de la voile, associant photos et commentaires à des WayPoints sur
une carte et un journal de voyage pouvant être ensuite exporté et
vu sur le WEB.
Un rapide aperçu, différents supports:
Les Blogs
J'ai bien un Blog:
http://esperanzavoyage.blogspot.com/
Les cartes Google Map
Dans ce blog j'ai des liens vers des
cartes Google Map :
https://esperanzavoyage.blogspot.com/p/parcours-du-moment.html
Les albums photo
Dans ce blog j'ai des liens vers des
albums photo :
https://esperanzavoyage.blogspot.com/p/p.html
Les logiciels de voyage tracking sur Smartphone
Findpenguins
https://findpenguins.com/
avec un album de voyage personnel:
https://findpenguins.com/5zv97kazlsbkz/trip/balade-en-grece-janvier-2019
Polarstep https://www.polarsteps.com/
Wikiloc https://fr.wikiloc.com/
exemple itinéraires en voilier:
https://fr.wikiloc.com/itineraires/voile
Les logiciels de voyage sur le Web
TravelMap https://travelmap.net/fr
Là un voyage à bord de mon voilier
Experanza en 2018 https://esperanzasailing.travelmap.net/
Là j'ai du exporter un fichier .kml au
bon format afin d'obtenir le parcours pour ensuite associer des
photos à quelques Waypoints. C'est ce type de présentation qui me
convient dommage c'est que sur du Web.....
Les Trackers GPS sur Smartphone
Exemple
GeoTracker et il y en
a plein d'autres...
https://play.google.com/store/apps/details?id=geo.tracker&hl=fr
Ces nombreux logiciels permettent
d'enregistrer (souvent en background avec de nombreuses options...)
nos traces GPS et permettent de les exporter en format .GPX ou .KML
pour ensuite revoir nos parcours sur Google Hearth ou sur le Web.
Mais là on sort des logiciels de voyage avec
association de journaux et photos à des waypoints.
Les logiciels de navigation sur Smartphone
Navionics
https://play.google.com/store/apps/details?id=it.navionics.singleAppMarineLakesHD&hl=fr
Sailgrib WR
https://play.google.com/store/apps/details?id=com.sailgrib_wr&hl=fr
Plein d'autres
Weather4D, QtVlm, SquidMobile etc... tous sont plus spécialisés
météo ou routage et imcorporent ou non un tracking GPS.
Là aussi
on sort des logiciels de voyage avec association de journaux et
photos à des waypoints. Ce n'est pas leur but.
Les trackers GPS et les logiciels de navigation sont evidement hors categorie. La plupart des autres logiciels associant tracking GPS et journal de voyage (FindPengins, PolarStep etc...) proposent des options payantes et ne correspondent jamais totalement à mes attentes, étant informaticien et profitant du confinement liée au covid 19, j'en profite pour me lancer dans un petit défi technique, développer le logiciel de voyage en voilier qui me convient.
Le cahier des charges (un peu de technique):
Une application adaptée
à la voile et à tout voyage basé sur des
déplacements lents, peu gourmande en ressources et fonctionnant
hors internet.
La seule spécificité de cette application concernant la
voile sera la possibilité de voir le parcours sur des cartes
marines (ou sur terre openStreetMap) et générer des
carnets de bord qui sont obligatoires sur un voilier en cas de
contrôle. (Format papier ou numerique accepté).
Fonctionner indistinctement sur
Android ou Iphone. Un projet Flutter.
Pour cela, dans mon travail,
développant sur un nouveau Framework fortement poussé par Google
pour les applications mobiles : Flutter
https://flutter.dev/ je pense que
c'est le framework idéal pour développer rapidement une petite
application de voyage avec un seul code source ( Dart ) associé à
une compilation Multiplate-forme Android ou Iphone.
Un tracking GPS en backgroud
adapté à des déplacements lents. (Voilier ou randonnée, vélo)
peu gourmand en ressources et fonctionnant hors connexion internet.
Dans le projet Flutter, utiliser un
service de géolocalisation le moins gourmand possible, pouvant
tourner en background même quand l'application est arrêtée et
pouvant même redémarrer automatiquement après arrêt du téléphone.
Utilisation du package
background_fetch :
https://pub.dev/packages/background_fetch
associé au package Geolocator https://pub.dev/packages/geolocator
Le package
backgroud_fetch permet l’exécution d'une tache en background
toutes les 15 minutes au minimum mais ce timing est suffisant pour
déclencher l'appel d'une géolocalisation (appel de Geolocator) sur
des déplacements lents. En voilier à une vitesse de 6 Noeuds cela
permet de générer un waypoint tous les 1,5 Milles Nautiques (1
Mille Nautique = 1 Km 852 mètres) ce qui est amplement suffisant
pour le suivi d'un journal de voyage.
Pour
stocker l'enregistrement des waypoints, des commentaires et images
associées utilisation d'une base de données SQL Locale Sqlite
autonome qui fonctionne hors connexion internet.
Package
https://pub.dev/packages/sqflite
Cette base de donnée permet de stocker les images avec des types
BLOB prévus à cet effet.
Pour restituer les waypoints sur
des cartes gratuites dans l'application et hors connexion internet
utilisation du package flutter_map
https://pub.dev/packages/flutter_map
Ce package permet d'utiliser des cartes
gratuites au format OpenStreetMap ou autres qui pourront être
téléchargées avant le voyage. Ce package est fortement inspiré de
leaflet https://leafletjs.com/
Pour restituer des journaux de
voyage publics sur le Web connexion internet et upload de fichiers
json à partir de l'application.
Ces
journaux pourront être vus par des amis ou des personnes suivant le
voyage, un peu semblables à cela dans la forme:
https://esperanzasailing.travelmap.net/
Ces journaux stockés en local dans l'application dans Sqlite seront
uploadés sur le web via un une extraction de la base sqlite au
format json et un upload d'images locales liées au journal de voyage.
Le
serveur hébergeant le service web de restitution des journaux et des
cartes sera Google Firebase avec sa partie database pour les objets json et sa partie storage pour les images.
Une
fois ces fichiers json copiés sur un serveur Web ils pourront être
exploités ensuite en tant que données de services REST pour une
restitution sur des cartes utilisant la librairie open source
javascript leaflet : https://leafletjs.com/
Afin
de conserver la spécificité des cartes marines avec leaflet on
pourra utiliser l'api Navionics V2 :
https://webapiv2.navionics.com/examples/5000_LeafletSupport.html
pour une une présentation des cartes du voyage sur le web plus
adaptée au monde maritime.
Si dans l'application on dispose d'une connexion internet on pourra
donc Exporter nos journaux vers internet pour les rendre public sur le Web, et aussi les voir via une
WebView intégrée dans l'application.
Pour résumer le cahier des charges: Une application de voyage fonctionnant sur tout smartphone (Android ou Iphone). Dans cette application seul le processus de publication des journaux de voyage sur le web necessite une connexion internet, toutes les autres fonctions: tracking GPS, gestion des journaux et waypoints, ajout des photos et commentaires, consultation des journaux photos et cartes fonctionnent hors internet. Cela me semble important quand on navigue au large dans des contrèes reculées ou dans des pays étrangers où les coûts de connexion peuvent être prohibitifs.
Ha! au fait cette application (si je la finis un jour...) se nommera: « Travel Diary Map »