A propos...

Quelques mots à propos de cette application…

Motivations

Il existe déjà plusieurs dizaines de très bonnes applications de cartographie adaptées à la randonnée, pourquoi en développer une nouvelle ?

La plupart de ces applications ont un modèle économique “en silos” qui cherche à fidéliser une communauté fermée à la manière des grands réseaux sociaux comme Facebook, Twitter ou Tiktok. Ces communautés restent relativement petites et sympathiques mais elles ne communiquent pas directement entre elles (même si elles autorisent les imports et exports de fichiers GPX permettant à leurs membres de transférer manuellement des informations entre réseaux).

Cette approche est naturelle dans la mesure où il n’y a pas vraiment d’ees alternatives pour des sociétés commerciales de financer leurs développements informatiques et le coût de leurs infrastructures (les applications cartographiques sont particulièrement gourmandes en stockage et puissance de calcul).

Même si les applications actuelles semblent respectueuses des données personnelles, elles font pourtant courir un risque en raison du mouvement de concentration qui commence à se dessiner. Le marché de ces applications est encore très fragmenté et commence à se restructurer. Pour ne donner que deux exemples, Viewranger, la première application que j’ai utilisé de manière intensive a ainsi été rachetée par Outdooractive en 2020 et Iphigénie, doyenne des applications de randonnées française, a été rachetée par Whympr en 2022. Le marché des activités d’extérieur est en pleine expansion et je n’ai aucun doute que ce mouvement de concentration va s’accélérer et finir par intéresser les GAFAM.

Les données que nous confions aujourd’hui à une petite application, aussi vertueuse at sympathique soit elle, risquent donc de tomber un jour ou l’ee dans les mains d’un Google ou d’un Facebook.

Le seul moyen d’éviter cela est d’échapper à cette logique commerciale en développant des applications non seulement open source mais dont l’architecture, décentralisée et fédérée, permette à des acteurs indépendants (associations, collectivités, particuliers…) d’héberger leurs propres serveurs qui communiquent les uns avec les autres.

C’est le type d’architecture utilisée par les réseaux sociaux alternatifs de la Fediverse qui font -un peu- parler d’eux depuis qu’Elon Musk a racheté Twitter et dont le plus connu est Mastodon.

Principes

Archirecture

L’application Dyomedea s’exécute dans un navigateur web et est testée sur Firefox et Google Chrome. Elle peut être exécutée dans un navigateur sur n’importe quelle plateforme (ordinateur, tablette, téléphone, …) ou sous la forme d’une application Android (techniquement, cette application Android “embarque” un serveur web et utilise Google Chrome). La seule différence entre exécution dans un navigateur ou sous forme d’application Android est que le navigateur ne peut pas effectuer de tâches quand la page n’est pas affichée et ne peut donc pas enregistrer de traces en continu.

Tous les traitements sont faits localement au niveau du navigateur : le serveur web ne servant qu’à charger le code de l’application il n’y a aucun échange de données avec ce serveur. Sans autre forme de configuration elle peut parfaitement être utilisée seule et on peut enregistrer et importer des traces qui ne seront stockées que dans une base de données locale par votre navigateur web.

De son côté, la base de données locale peut être configurée pour être synchronisée avec un serveur de base de données. La technologie choisie pour cela (PouchDb / CouchDb) gère particulièrement bien ce type de synchronisation et cela ouvre la porte à de nombreuses fonctionnalités dont je suis loin d’avoir fait le tour :

  • Synchronisation des données entre une (ou plusieurs) applications Android et un (ou plusieurs) navigateur web synchronisés avec la même base de données (vous retrouvez les traces enregistrées sur votre téléphone instantanément sur votre ordinateur ou les parcours préparés sur votre ordinateur sur votre téléphone).
  • Sauvegarde de vos données sur en serveur en cas de problème ou de réinstallation du téléphone ou de l’ordinateur.
  • Synchronisation partielle des bases de données de différents utilisateurs pour des échanges de type réseau social.

Le serveur de base de données est indépendant du serveur web et des utilisateurs de la même application peuvent utiliser des bases de données sur des serveurs différents tout en communiquant entre eux. A l’inverse, une même base de données pourrait être utilisée par plusieurs applications sous réserve qu’elles utilisent le même format de données.

Configuration

La configuration de l’application pouvant apparaître comme étant complexe notamment au niveau de la base de données, j’ai développé un mécanisme d’invitations sous forme de liens. Lorsque vous cliquez sur un de ces liens vous ouvrez un écran de dialogue sur l’application sur lequel vous devez copier un code qui vous est envoyé par mail pour récupérer les paramètres de connection à la base de données et configurer l’application avec ces paramètres. Ca semble compliqué mais tout est fait automatiquement…

Fonctionnalités

Priorité au superflu

J’utilise plusieurs autres applications (OsmAnd, Outdooractive, VisoRando, Wikiloc, Organic Maps, Komoot, Alltrails et quelques autres…) et n’envisage pas de m’en passer dans un avenir proche. Outre les fonctionnalités vraiment basiques, j’ai donc donné la priorité aux fonctionnalités que je n’ai pas trouvé satisfaisantes sur les autres applications -et qui vous sembleront peut être superflues- :

  • La visualisation des informations d’Open Street Map en superposition sur les fonds de cartes
  • L’utilisation de l’application comme journal de bord

Je viens juste de commencer l’implémentation de cette dernière fonctionnalité et compte utiliser notre traversée de l’ESpagne pour l’améliorer et la tester sur le terrain.

Carte avant tout

Un des points qui me déplaisent dans certaines applications est le nombre d’étapes par lesquelles il faut passer avant d’afficher la moindre carte.

A l’inverse, la carte est omniprésente sur l’application Dyomedea et les dialogues se superposent à la carte plutôt que l’inverse.

Organisation en voyages

Un autre inconvénient dans la plupart des applications est qu’au bout de quelques années, les traces s”ajoutant aux traces, on a du mal à s’y retrouver. Il faut avouer que j’ai plus d’un millier de traces mais je ne dois pas être un cas particulier même si je randonne beaucoup.

Le modèle de données ne cherche pas à être original et reprend celui des fichiers GPX avec trois types de données :

  • Des points d’intérêt (waypoints)
  • Des parcours (routes)
  • Des traces (tracks)

Mais ces données sont groupées en voyages.

Cette notion de voyage reste souple, notre traversée de l’Espagne est incontestablement un voyage, mais on peut également regrouper dans voyage toutes les ra,données du printemps 2023 ou même la liste de nos magasins de producteurs préférés.

L’intérêt est notamment de regrouper les parcours (prévus), les traces (réalisées) et des points comme les hébergements, places de parkings, …

Rézotage (en cours de développement)

Dans la version courante, le partage se fait au niveau du voyage, le dialogue d’édition d’un voyage permettant de donner une liste de contacts destinataires du voyage. La liste des contacts accessibles est, pour le moment, déterminée par un administrateur (moi).

Dans les jours qui viennent je vais ajouter la possibilité de définir des notes liées à un point et à une date de manière à constituer un carnet de voyage et donner la possibilité aux destinataires du voyage de commenter ces notes.

Je pense également ajouter la possibilité d’associer des photos à ces notes.