L’une des questions les plus fréquemment posées par rapport à notre site Internet concerne la carte qui se trouve au bas de la première page. Mise-à-jour en temps réel (ou presque), elle présente l’emplacement exact de Jayana ainsi que tous les mouvements de l’équipage. Plusieurs se demandent comment pouvons-nous présenter un tel niveau de précision de notre itinéraire?
Avant de verser dans les détails techniques, je dois avouer que j’ai consulté une multitude de blogues de voyage pour alimenter ce rêve de partir en voilier. Après avoir lu les livres de la V’limeuse, c’est le site du voilier “Thanks Larry!” qui a alimenté mes rêves. C’était le voyage d’un geek qui avait fait fortune grâce à Larry Elison (Oracle) et qui avait largué les amarres à bord de la Ferrari des monocoques: un Swan. Au fil de mes lectures, je réalisais à quel point j’étais inculte: je n’avais aucune idée où se trouvaient les lieux qui étaient décrits dans leurs récits. J’ai alors juré que si je créais un blog de voyage, je fournirais en tout temps ce qu’il faut pour se situer les récits sur la planète!
Un an avant le départ, j’ai commencé à investiguer les différentes options qui existaient pour présenter une carte sur un blog. En somme, je n’ai rien trouvé qui satisfaisait mes critères techniques (mises-à-jour aux 15 minutes) et esthétiques. Il faillait donc créer ma solution de toute pièce. Après avoir fait le schéma de ce que je recherchais, je me suis mis à la recherche de chacune des composantes de ce système.
1. Données satellites (GPS)
La première étape consiste à obtenir des points GPS à intervalles réguliers. La solution la plus fiable et la moins coûteuse s’est révélé être un Spot Trace, qui peut envoyer la position d’un appareil à toutes les 5 minutes, moyennant un coût d’achat de $150 et un plan annuel de $100. Bien que le système fonctionne très bien, les données sont quant à elles archivées seulement une semaine. Après, elles sont effacées à tout jamais! Il fallait donc trouver une façon de les archiver…
2. Archive des données sur le Cloud
Dans mes recherches, je suis tombé sur une jeune entreprise (à l’époque), du nom de CartoDB. Leur mission d’entreprise est de présenter de données sur des cartes. Excellent! Et en plus, ils offraient un plan gratuit pour 256 Gb de données. Wow! Maintenant, comment lier CartoDB aux services Spot? Heureusement, ces derniers offrent un API qui permet de consulter les données envoyées du satellite et un finlandais très charitable a publié ses scripts pour interfacer ces deux systèmes sur GitHub. Le système de Jayana repose donc en partie sur son travail. Un de mes ordinateurs à la maison execute un script à toutes les 12 minutes pour lire les données GPS disponibles sur le site de Spot et les archiver sur CartoDB.
3. Présentation
Je ne suis pas un grand fan des cartes de Google Maps pour présenter de l’information géographique. Elles sont utilisées partout et leur style graphique laisse à désirer. Heureusement, une société se démarque en offrant des cartes stylisées qui peuvent être utilisés n’importe où, même avec CartoDB. Il s’agit de MapBox, qui offrent eux aussi un compte gratuit pour le commun des mortels. J’utilise donc une de leurs cartes gratuites, celle des corsaires et pirates…
La ligne brisée en rouge et l’animation de nos déplacements est réalisé à l’aide des fonctions offertes par CartoDB.
4. Ajout d’une source de données
Lors de notre voyage en Amérique centrale, notre balise Spot Trace a cessé de fonctionner. Je me retrouvais donc à entrer manuellement des points GPS pour maintenir la carte à jour. Ce n’était pas tellement long (environ 10 minutes par jour), mais je n’aime pas trop les procédures manuelles. Je me suis mis à la recherche d’une solution alternative et je suis tombé sur Trails. Il s’agit d’une application sur iOS qui enregistre notre parcours (auto, vélo, pied, etc.) et qui peut exporter un fichier GPX. Les fichiers ainsi produits comportent habituellement 3000 points par jour, ce qui est beaucoup trop pour le niveau de précision que j’ai besoin. Je dois donc traiter le fichier GPX pour le réduire à environ 300 points/jour. J’utilise l’application Adze pour cette tâche.
Lorsque le fichier est prêt, j’utilise un script Automator que j’ai créé et qui téléverse les données directement dans CartoDB.
Conclusion
Le système utilisé par le blog de Jayana pour afficher la position du bateau comporte trois parties importantes. La première, la cueillette des données GPS, s’effectue automatique par un Spot Connect, ou avec l’application Tracks sur iPhone. Les données sont ensuite préparées et transmises dans CartoDB pour être archivées à l’aide de scripts PHP. Finalement, grâce à CartoDB et Mapbox, les données apparaissent sur une carte dans le blog de Jayana, sous la forme d’une vieille carte de corsaires. Le tout, mis-à-jour à toutes les 12 minutes (dans le cas de Spot), ou manuellement (dans le cas de Tracks). Le système marche très bien et il est particulièrement apprécié par nos proches quand Jayana fait de longues traversées…
1 Commentaires
Commentaire par Jean Ladouceur
Jean Ladouceur 22 mai 2016 at 10:19 am
Bravo Sylvain ! Heureusement qu’on a les génies pour nous faire progresser dans la vie !
Je me doutais bien qu’il y en avait UN derrière cette carte qui nous informe, de manière dynamique, du chemin que vous avez parcouru ! C’est le cas de le dire, c’est génial !
Commentaires fermés