MapLibre GL JS : L'Alternative Open Source à Mapbox
En décembre 2020, Mapbox a changé la licence de sa bibliothèque cartographique phare Mapbox GL JS, passant de la licence BSD-3 à une licence propriétaire. Ce changement a provoqué un séisme dans la communauté cartographique open source et a donné naissance à MapLibre GL JS, un fork communautaire qui perpétue l'esprit du logiciel libre. Chez MapWay, nous avons adopté MapLibre comme technologie centrale pour notre plateforme TMaps, et nous partageons ici notre retour d'expérience.
La genèse de MapLibre
Lorsque Mapbox a annoncé le changement de licence, de nombreuses organisations dépendantes de Mapbox GL JS se sont retrouvées dans une situation délicate. L'obligation d'utiliser un token Mapbox et de payer des frais d'utilisation au-delà d'un certain seuil rendait la bibliothèque inadaptée aux projets à budget limité ou aux applications nécessitant une indépendance technologique totale.
La Linux Foundation a alors pris en charge le projet MapLibre, forké depuis la dernière version open source de Mapbox GL JS (v1.13.0). Depuis, MapLibre a évolué de manière indépendante avec des contributions de grandes entreprises comme AWS, Meta, Microsoft et de nombreux contributeurs individuels. Le projet est aujourd'hui bien au-delà de la version originale de Mapbox, avec des fonctionnalités exclusives et des améliorations significatives.
Fonctionnalités clés de MapLibre GL JS
Rendu vectoriel haute performance
MapLibre exploite WebGL pour dessiner les tuiles vectorielles directement dans le navigateur. Cette approche offre plusieurs avantages majeurs : les styles sont appliqués côté client, permettant une personnalisation totale sans re-générer les tuiles ; le rendu est fluide même avec de grandes quantités de données ; et les transitions entre niveaux de zoom sont animées en douceur, sans l'effet de pixelisation des tuiles raster.
Style dynamique via JSON
La spécification de style MapLibre (compatible avec la Mapbox Style Specification) permet de définir l'apparence complète de la carte dans un fichier JSON. Chaque couche (routes, bâtiments, eau, espaces verts) peut être stylisée indépendamment avec des propriétés comme la couleur, l'opacité, la largeur de trait, et même des expressions conditionnelles basées sur le niveau de zoom ou les attributs des données.
Support natif du terrain 3D
MapLibre intègre nativement le rendu de terrain 3D à partir de données d'élévation (DEM). Cette fonctionnalité permet de visualiser le relief avec un éclairage réaliste (hillshading), d'extruder les bâtiments en 3D, et de naviguer dans un environnement tridimensionnel avec inclinaison et rotation de la caméra. Pour un pays comme la Tunisie avec une topographie variée (de la côte méditerranéenne aux montagnes de Kroumirie), cette capacité est particulièrement précieuse.
Indépendance des sources de données
Contrairement à Mapbox GL JS qui oriente fortement vers les services Mapbox, MapLibre est agnostique quant aux sources de données. Vous pouvez utiliser des tuiles auto-hébergées (via tileserver-gl, Martin, ou tout serveur compatible), des tuiles d'OpenMapTiles, de Stadia Maps, ou de tout autre fournisseur. Cette liberté est essentielle pour les projets nécessitant un contrôle total de l'infrastructure.
Migration depuis Mapbox GL JS
Si vous utilisez actuellement Mapbox GL JS, la migration vers MapLibre est relativement simple. Les étapes principales sont :
-
Remplacer le package npm
mapbox-glparmaplibre-gl - Mettre à jour les imports dans votre code source
-
Retirer la propriété
accessTokende la configuration de la carte - Remplacer les URL des tuiles Mapbox par des alternatives (OpenMapTiles, Stadia, auto-hébergé)
- Vérifier la compatibilité des plugins tiers utilisés
MapLibre Native : au-delà du web
Le projet MapLibre ne se limite pas au web. MapLibre Native fournit un SDK de rendu cartographique pour les applications mobiles iOS et Android, ainsi que pour les environnements desktop. Cela permet de partager les mêmes styles et sources de données entre vos applications web et mobiles, assurant une cohérence visuelle sur toutes les plateformes.
Notre utilisation de MapLibre chez MapWay
Chez MapWay, MapLibre GL JS est le moteur cartographique de notre plateforme TMaps. Nous l'avons choisi pour plusieurs raisons : sa licence open source garantit notre indépendance technologique, ses performances WebGL permettent d'afficher des cartes détaillées de la Tunisie sans latence, et sa flexibilité de style nous permet de créer des expériences visuelles uniques pour nos clients.
Nous contribuons également au projet open source en remontant des bugs et en partageant nos retours d'expérience avec la communauté. L'open source est au cœur de notre philosophie chez MapWay, et MapLibre incarne parfaitement cette vision.
Articles similaires
Besoin d'aide pour votre projet ?
Notre équipe d'experts est prête à vous accompagner.
Contactez-nous