L'histoire d'OkMap
Avant OkMap
Une expérience qui vient de loin
En 2003, lorsque l'idée d'OkMap commençait à prendre forme, j'avais déjà une façon d'aborder le développement logiciel que j'avais acquise au cours des années précédentes.
La programmation avait commencé de nombreuses années auparavant, dans un domaine complètement différent de celui de la cartographie. Au fil du temps, une conviction simple s'était consolidée : avant de développer une fonctionnalité, il faut bien comprendre ce que l'on veut obtenir et comment y parvenir ; ce n'est qu'ensuite que vient l'écriture du code.
L'objectif était donc d'essayer de réaliser les choses correctement dès le départ, en évitant autant que possible de construire des solutions destinées à être réécrites peu de temps après.
Lorsque OkMap est né en 2004, cette façon de travailler était déjà acquise. Mais la phase initiale fut également une exception : OkMap est né comme un laboratoire personnel, et expérimenter signifiait aussi écrire du code pour comprendre des problèmes que je ne connaissais pas encore. Certaines de ces premières solutions seraient ensuite entièrement réécrites, mais l'expérience acquise durant cette phase resterait fondamentale.
Le contexte, en revanche, changeait complètement : il ne s'agissait plus de logiciels de gestion, mais de cartographie, de GPS et de randonnée.
OkMap est né de la rencontre entre l'expérience dans le développement logiciel et une passion pour la cartographie et la montagne que je cultivais depuis ma jeunesse.
Le laboratoire
2004–2005 — De l'expérimentation à un logiciel utilisable
En 2004, le développement d'OkMap commença. L'idée n'était pas de créer un produit commercial, ni de construire dès le départ un programme complet. C'était avant tout un laboratoire dans lequel expérimenter avec la cartographie numérique, les cartes et les technologies nécessaires à leur mise en œuvre.
Les premiers essais portèrent sur la représentation de la surface terrestre. L'une des premières projections implémentées fut la projection orthographique, utilisée principalement comme exercice pour visualiser la Terre et expérimenter avec un globe tournant. Parallèlement commença le travail sur la représentation de données vectorielles simples.
Ces premières expériences montrèrent précisément à quel point il était nécessaire de bien comprendre les problèmes cartographiques avant de pouvoir les résoudre avec un logiciel. L'idée initiale du globe tournant, par exemple, reposait sur une approche qui ne tenait pas compte du fait que les données vectorielles utilisées étaient référencées par rapport à un centre de projection déterminé. En changeant le point de vue du globe, la référence de la projection changeait donc elle aussi.
Cette solution fut abandonnée et une grande partie du code fut réécrite. Ce ne fut cependant pas un travail perdu : cette première implémentation avait permis de comprendre le problème et d'acquérir les connaissances nécessaires pour l'aborder différemment.
Pendant ce temps, OkMap commença à prendre une forme plus concrète. Aux expérimentations initiales s'ajoutèrent la gestion des cartes raster et leur géoréférencement, la visualisation et la modification des données GPS, ainsi que la possibilité de créer et de modifier des objets graphiques vectoriels directement sur la carte.
La gestion de la cartographie se développa également progressivement. Les datums, ellipsoïdes et projections étaient définis dans les fichiers XML de la base de données cartographique d'OkMap. Les principales projections nécessaires au travail avec les cartes furent implémentées, notamment Lat/Lon, Mercator transverse et Mercator.
À ces fonctions s'ajouta un premier ensemble d'outils pour l'importation et l'exportation des données, les statistiques et les graphiques des traces GPS.
Ce n'était pas encore le programme qu'OkMap allait devenir au cours des années suivantes, mais un noyau cohérent de fonctionnalités existait désormais : une carte raster pouvait être géoréférencée, les données GPS pouvaient être visualisées et modifiées, les objets pouvaient être représentés sur la cartographie et les résultats pouvaient être analysés.
C'était, en substance, le minimum nécessaire pour qu'OkMap cesse d'être seulement un laboratoire personnel et puisse devenir quelque chose d'utile également pour d'autres.
La distribution gratuite
2005–2015 — OkMap rencontre ses utilisateurs
Lorsque OkMap atteignit un ensemble de fonctionnalités suffisamment complet pour être utile également à d'autres, je décidai de le rendre disponible gratuitement. Il n'y avait pas encore de projet commercial : l'objectif était de permettre à d'autres personnes intéressées par la cartographie et le GPS d'utiliser le travail que j'avais développé.
La diffusion se fit initialement principalement par le site d'OkMap et les forums consacrés au GPS, à la cartographie et à la randonnée. À cette époque, ces lieux représentaient un important point de rencontre pour les passionnés et furent également le premier environnement dans lequel OkMap commença à rencontrer ses utilisateurs.
La distribution fit également apparaître de nouveaux besoins. La relation avec les utilisateurs se développa dans deux directions. D'une part, il y avait l'assistance : essayer de répondre aux questions, aider à résoudre les problèmes et, lorsque cela était nécessaire, approfondir des questions cartographiques parfois très spécifiques.
D'autre part, il y avait les demandes de nouvelles fonctionnalités. Toutes ne conduisaient pas à un développement : chaque besoin devait être évalué par rapport à ce qu'était OkMap et à la manière dont il pouvait s'intégrer au programme.
Dans certains cas, cependant, une demande particulière devenait l'occasion d'aborder un problème plus général. Cela s'est produit, par exemple, lorsqu'un professeur expert en systèmes de référence et transformations géodésiques me fit découvrir les transformations de Bursa-Wolf. Jusqu'alors, OkMap utilisait de simples translations pour la transformation des datums ; l'étude des nouvelles formules conduisit à l'implémentation d'un modèle plus complet.
La gestion des projections s'enrichit également en réponse à des besoins spécifiques. Certains utilisateurs russes attirèrent l'attention sur la projection de Bonne, qui fut ensuite ajoutée à OkMap.
Ces épisodes représentent une manière d'évoluer qui resterait caractéristique d'OkMap : un besoin concret pouvait devenir le point de départ du développement d'une fonctionnalité générale, mais cela ne signifiait pas simplement ajouter une nouvelle fonction chaque fois que quelqu'un en faisait la demande.
Au fil des années, OkMap continua ainsi à évoluer dans différentes directions, tout en conservant sa propre identité. Les nouvelles fonctionnalités devaient trouver une place cohérente dans le programme et contribuer à le rendre plus utile, sans le transformer en une simple collection d'outils indépendants.
Durant cette période arriva également l'une des fonctionnalités qui allait jouer un rôle important dans la diffusion d'OkMap : la possibilité de créer des Garmin Custom Maps. C'était encore la période de distribution gratuite, mais OkMap commençait désormais à être utilisé dans des contextes de plus en plus différents de ceux pour lesquels il avait été conçu à l'origine.
La commercialisation
2015 — Après onze ans
Pendant environ onze ans, OkMap avait été distribué gratuitement. Entre-temps, le programme avait grandi, rencontré des utilisateurs aux besoins très différents et avait été soumis à des tests et vérifications continus.
Au fil des années, ma confiance dans le logiciel s'était également consolidée. Les fonctionnalités étaient devenues plus nombreuses et plus complètes, mais surtout OkMap avait atteint un niveau de maturité et de fiabilité que je considérais suffisant pour pouvoir le proposer comme produit commercial.
La décision de commencer la commercialisation arriva donc comme une conséquence naturelle de ce parcours. Le 30 juillet 2015, la première vente d'OkMap fut effectuée : après onze ans, le laboratoire personnel avec lequel tout avait commencé devenait également un logiciel commercial.
Le logiciel continue d'évoluer
La commercialisation ne changea cependant pas la manière dont OkMap continuait à se développer. Les demandes des utilisateurs se mêlaient à l'évolution des outils de développement, des interfaces utilisateur et des technologies liées à la cartographie et au GPS, faisant progressivement évoluer le programme vers de nouvelles possibilités.
Web Maps
Un autre changement important arriva avec l'introduction des Web Maps. L'idée naquit en observant l'évolution d'autres logiciels cartographiques et la possibilité d'utiliser directement les cartes disponibles sur Internet.
Pour les utilisateurs, ce fut un changement significatif. Il n'était plus nécessairement indispensable de disposer d'une carte numérique locale : OkMap pouvait utiliser les cartes disponibles en ligne, facilitant l'accès à la cartographie et élargissant considérablement les possibilités d'utilisation du programme.
Du point de vue du développement également, ce fut une étape importante. La gestion des cartes en ligne nécessitait une approche complètement différente de celle utilisée pour les cartes raster locales. OkMap commença ainsi à gérer différents services cartographiques disponibles en ligne et à permettre aux utilisateurs d'en configurer de nouveaux.
Au fil du temps, la prise en charge s'est étendue à différentes technologies de distribution des cartes sur le web, en suivant l'évolution des normes et des solutions disponibles.
Du GPS au ROV
L'évolution d'OkMap conduisit également à une utilisation très différente de celle pour laquelle il avait été créé. Certaines des fonctions de communication déjà présentes dans le programme, conçues à l'origine pour recevoir et partager en temps réel les données de position, pouvaient également être utilisées pour connecter OkMap à des appareils autres que les GPS classiques.
De cette possibilité naquit une interface dédiée permettant de recevoir les données provenant d'un ROV et de les représenter sur la même carte utilisée pour suivre la position du navire. La même architecture permettait de gérer plusieurs sources de données, en les identifiant individuellement, et donc d'afficher simultanément des informations provenant de différents appareils, tels que des ROV et d'autres dispositifs sous-marins.
Au fil du temps, cette intégration s'enrichit de nouvelles fonctionnalités. Une bande latérale semi-transparente fut introduite le long de la trace du ROV pour indiquer la zone observée par le véhicule, un cercle de proximité autour de la position actuelle pour mettre en évidence la zone observable à ce moment-là et une ligne de relèvement pour en projeter la direction.
Ces solutions amenèrent OkMap dans des contextes opérationnels professionnels très différents de ceux d'origine, notamment des activités nautiques de recherche de personnes disparues et des activités archéologiques sous-marines.
Garmin PVT
Un autre besoin provenant de l'utilisation professionnelle des GPS conduisit à un développement supplémentaire. Certains appareils Garmin utilisés sur le terrain transmettaient les informations de position via le protocole PVT, différent du flux NMEA standard déjà géré par OkMap.
Pour pouvoir utiliser directement ces appareils, la prise en charge du protocole Garmin PVT fut donc implémentée. Là encore, un besoin concret se transforma en une fonctionnalité intégrée au programme, élargissant les possibilités d'utilisation d'OkMap avec des outils GPS déjà utilisés dans des activités opérationnelles.
Un logiciel qui continue de changer
Optimiser ce qui existe déjà
L'évolution d'OkMap ne s'est pas limitée à l'ajout de nouvelles fonctionnalités. Dans certains cas, il a été nécessaire de revenir sur des parties du programme déjà consolidées afin d'en améliorer le fonctionnement.
Un exemple est le système de rendu des objets graphiques sur la carte. Avec l'augmentation des possibilités du programme, redessiner à chaque fois l'ensemble de la carte devenait de moins en moins efficace. Le système fut donc repensé afin de ne redessiner que ce qui avait été modifié, en conservant en mémoire graphique les parties qui n'avaient pas changé et en les recomposant comme un seul niveau.
Ce type d'intervention n'ajoute pas nécessairement une nouvelle entrée dans les menus, mais peut modifier de manière significative le comportement du programme.
La curiosité comme moteur du développement
Toutes les nouvelles fonctionnalités ne sont pas nées d'une demande. Certaines ont simplement été l'occasion d'explorer une possibilité technique et de déterminer si elle pouvait trouver une place utile au sein d'OkMap.
C'est ainsi qu'est né, par exemple, le support de la génération de cartes hillshade et color relief, en exploitant une possibilité déjà offerte par les outils utilisés par OkMap. Dans d'autres cas, la curiosité a conduit à étudier quel pouvait être un algorithme efficace pour générer les courbes de niveau sous forme de données vectorielles.
D'autres expérimentations ont conduit à des outils plus directement liés à l'utilisation quotidienne du programme, comme l'identification du système de référence le plus probable d'une carte lorsque le CRS n'est pas indiqué mais que des coordonnées métriques sont disponibles, ou le téléchargement de waypoints depuis OpenStreetMap.
Une nouvelle frontière : la couverture systématique
L'une des fonctionnalités les plus récentes est une nouvelle fois née d'un besoin lié au ROV : la possibilité de générer automatiquement une trace en bandes parallèles pour couvrir systématiquement une zone de recherche, ou de générer une grille de parcours à l'intérieur d'une zone définie par un polygone.
La fonction a été conçue comme un outil général de planification de parcours et non comme une fonctionnalité spécifique aux ROV. Le même type de parcours peut en effet être utilisé, par exemple, pour planifier la couverture d'une zone avec un drone, comme dans le cas d'un relevé sur un champ agricole.
C'est un exemple de la manière dont un besoin concret peut devenir une fonction plus générale, capable de trouver des applications également dans des contextes différents de celui qui avait initialement conduit à son développement.
Vingt ans plus tard
Au-delà des utilisations prévues
En 2024, vingt ans s'étaient écoulés depuis le début du développement d'OkMap. Le programme était désormais très différent de ce premier laboratoire personnel, mais certaines des idées fondamentales avec lesquelles il était né étaient restées les mêmes.
Au fil des années, OkMap est entré dans des contextes qui allaient bien au-delà de ceux que j'avais imaginés au départ. Certaines utilisations étaient la conséquence directe des fonctionnalités développées, tandis que d'autres sont nées de besoins spécifiques des utilisateurs et ont conduit à de nouvelles possibilités pour le programme.
Dans certains cas, il s'agissait d'activités professionnelles dans lesquelles la cartographie et la position géographique étaient des éléments importants du travail quotidien. OkMap a été utilisé, entre autres, dans des activités nautiques et sous-marines, dans la recherche de personnes disparues et dans des activités archéologiques.
OkMap a également été utilisé pour effectuer des relevés lors de certaines opérations importantes de récupération, en travaillant sur une carte sous-marine de la zone.
Au fil des années, je me suis rendu compte que les utilisations d'un logiciel comme OkMap peuvent être bien plus nombreuses que celles que son développeur peut connaître ou imaginer.
La relation avec les utilisateurs
Au fil des années, la relation avec les utilisateurs est devenue une partie importante de l'histoire d'OkMap. Il ne s'agissait pas seulement de fournir une assistance, mais de chercher à comprendre les situations dans lesquelles le programme était utilisé et les difficultés qui pouvaient apparaître lors de son utilisation quotidienne.
J'ai toujours essayé de répondre aux demandes reçues et, lorsqu'un problème le nécessitait, de l'approfondir directement. Dans certains cas, cela a signifié travailler avec l'utilisateur sur sa situation concrète, par exemple en vérifiant personnellement une carte et le choix des points de contrôle nécessaires pour la géoréférencer correctement, jusqu'à fournir une procédure étape par étape.
Cette relation a permis à OkMap de continuer à évoluer également grâce à l'expérience de ceux qui l'utilisaient. Les demandes ne devenaient pas automatiquement de nouvelles fonctions : elles étaient d'abord évaluées et, lorsqu'elles trouvaient une place cohérente dans l'ensemble du programme, elles pouvaient devenir partie intégrante de son évolution.
Et cela continue
Après plus de vingt ans, OkMap continue d'être développé. Les technologies changent, de nouveaux besoins apparaissent et de nouvelles idées arrivent, mais la manière d'aborder le projet est restée essentiellement la même : comprendre, expérimenter, vérifier et développer ce qui peut être réellement utile.
L'histoire d'OkMap continue donc...
Découvrez OkMap et ses fonctionnalités
Découvrez OkMap Desktop et OkMap Mobile, explorez leurs fonctionnalités et trouvez les ressources utiles pour tirer le meilleur parti du logiciel.
Logiciel pour Windows - Fonctionnalités Desktop - Fonctionnalités Mobile