Une alternative à GoogleMap arrive sur RoadbookMoto ! 2018-08-09 16:56:24

1. Quels sont les objectifs de ces évolutions

    Il y a quelques semaines de cela des infos peu rassurantes sur un changement de politique tarifaire de Google m'ont fait dire que le site roadbookmoto.fr devait s'adapter. 

    Pour permettre le fonctionnement de roadbookmoto.fr, vous l'avez surement déjà compris, on utilise les outils mis à disposition par Google. Si on veut rentrer plus dans le détail, ces outils s'appellent des APIs (Application Programming Interface) et plus précisément des API web puisque nous sommes sur une page web. Vous trouverez sur le net plein d'explications plus ou moins technique voici quelques liens :https://www.1min30.com/dictionnaire-du-web/api-interface-de-programmation, https://en.wikipedia.org/wiki/Web_API

Concrètement chaque fois que l'on a besoin des informations de GoogleMap, on lance un appel à une API avec les bons paramètres et Google nous renvoie les infos. Exemple : vous entrez du texte dans le champ "Départ". On va alors demander à Google une liste de points (coordonnées) accompagnés de leur description (adresse texte) qui correspondent potentiellement au texte recherché. Cette liste est affichée en dessous du champ texte que vous êtes en train de saisir, ce qui vous permet de choisir le point de départ. On appelle ce service le "Geocoding" .

Il y a pour l'utilisation de roadbookmoto tout un tas d'appels aux APIs de GoogleMap nécessaires. Du "Geocoding" pour rechercher le point de départ et arrivée, du "routing" pour calculer un itinéraire, du "Geocoding-reverse" pour déterminer une adresse à partir d'un point, ainsi que le service d'affichage de la carte car ca aussi c'est un service :-) . Et chaque service peut être appelé autant de fois que nécessaire pour réaliser le tracé.

    Certains services sont donc inévitables dans le fonctionnement du site (Geocoding, Routing, affichage de la carte). Selon le service nécessaire, des alternatives à GoogleMap existent en utilisation gratuite ou non, avec des systèmes "open source" ou non. Par exemple, pour l'affichage de la carte, une alternative open source bien connue est OpenStreeMap une autre privée et payante ViaMichelin.

    Concernant le service de routing, il est vrai qu'il y a pas énormément de possibilités surtout si on cherche un service gratuit. Parmi les fournisseurs de ce service, on trouve par exemple : Google, MapBox, Geoportail (service beta mais Français !) ...

    Une autre solution pourrait être de posséder soit même un algorithme de calcul d'itinéraire. C'est possible ! En effet la communauté libre, en lien avec OpenStreetMap, a développé un algorithme "open source" (et donc gratuit) avec tout un système pour le déployer assez facilement. (OSRM : https://wiki.openstreetmap.org/wiki/FR:Open_Source_Routing_Machine )Néanmoins cette solution nécessite un hébergement qui puisse supporter la totalité de la cartographie routière de OpenStreeMap. En effet l'algorithme a besoin de connaitre les routes pour déterminer le chemin à emprunter. Et c'est là qu'est le hic! Le coup d'une telle infrastructure n'est pas négligeable ! Rassurez-vous ce n'est pas une fortune mais par rapport à ce que rapporte le site roabookmoto.fr (c'est à dire 0€) bin c'est beaucoup .... donc cette solution n'est pas possible, retour au point de départ :-(

    Après pas mal de recherches sur le net pour trouver une alternative à GoogleMap, j'ai trouvé OpenRouteService ( https://openrouteservice.org/ ). Cet outil est réalisé par un organisme publique allemand en lien avec l'université d'Heidelberg. ORS propose un service de geocoding et routing gratuit et peut être intégré avec une cartographie OpenStreetMap. EUREKA ! enfin presque il faut quand même bien étudier la documentation des API pour entamer sa mise en place.

    La conception du site actuel est fortement liée à GoogleMap, dans la façon de calculer, modifier l'itinéraire ainsi que l'affichage des résultats. Changer de fournisseur m'a obligé de revoir la conception de tout cela, mais en gardant les roadbooks existants fonctionnels. Ce qui m'a amené à séparer les 2 façons de faire.


C'est pourquoi lors de la création d'un roadbook vous devez choisir l'algorithme que vous désirez utiliser (GoogleMap ou OpenRouteService).


2. Ce qui change pour le fonctionnement des roadbooks "Google"

    Auparavant, lors de la creation d'un roadbook, le minimum d'infos étaient stockées sur roadbookmoto.fr et le tracé (trace bleu sur la carte) n'était pas sauvegardé. Ceci permettait d'optimiser l'espace de stockage nécessaire mais nécessité un appel au service de routing à chaque fois qu'on voulait afficher le tracé.

    Pour "économiser" des appels aux API Google, la trace du roadbook est désormais sauvegardée et n'est plus calculée à chaque fois. Pour les roadbooks existants, cette information est mise à jour lors de la première ouverture du roadbook.

    Ce changement est plutot "transparent" pour l'utilisation des roadbooks. Il a été malgré tout un changement technique important.


3. Fonctionnement des roadbooks "OpenRouteService"        

    Le fonctionnement est similaire aux roadbooks "GoogleMap". On saisit un point de départ et un point d'arrivée, un premier itinéraire est calculé de manière automatique. Le départ/arrivée est modifiable à l'aide de la souris directement sur la carte. On peut également ajouter des points intermédiaires en cliquant sur la bouton "Ajouter un waypoint" ("Cliquez sur la carte").

   

    Lorsque le trajet est valide on clique sur le bouton "Générer" pour générer le roadbook. Les champs "Route" et "Commentaire" du roadbook sont éditables


4. Changement sur la liste des roadbooks

    Parmi les services qui "consomment", c'est à dire qui ceux auxquels on fait le plus appel, il y a le service "Static Map". Celui-ci permet d'afficher sous un format image un schéma miniature du tracé. Celui-ci est donc très utilisé sur la liste des roadbooks puisqu'a chaque affichage de la page il y a autant d'appels que d'images présentant la minicarte.De plus ce même service sert à afficher l'emplacement de chaque carrefour dans la partie détails sur la page d'impression.

    Pour rappel, l'utilisation des service GoogleMap fait l'objet d'un crédit qui n'est pas illimité et consommer ce crédit pour afficher la minicarte plutôt que de créer des roadbooks c'est quand même dommage ! Ces images sont maintenant générées à partir des données OpenStreetMap. Ce qui, je l'espère, participera fortement à la réduction de consommation du dit crédit.


P.S. : en plus des nouvelles fonctionnalités de roadbook, une gestion des articles a été ajouté : plus de détails ICI


Auteur
Max15
Modificateur
Max15
Création
2018-08-09 16:56:24
Modification
2018-09-03 09:53:22

Commentaires

Ajouter un commentaire
Connectez-vous pour commenter l'article