-
Notifications
You must be signed in to change notification settings - Fork 0
Proof of Concept OSRM
L'objectif de ce Proof Of Concept est de réaliser un premier calculateur d'itinéraire utilisant le calculateur OSRM et les données OpenStreetMap.
Nous pouvons assurer que le projet fonctionne avec les versions suivantes :
Programme | Version |
---|---|
npm | 6.11.3 |
ember-cli | 3.14.0 |
node | 12.11.0 |
docker | 19.03.5, build 633a0ea |
git | 2.18.0 |
OpenStreetMap est un projet de cartographie qui vise à constituer une base de données géographiques libre du monde, en utilisant le système GPS et d'autres données libres. Nous avons extrait ces données pour le vélo et pour le Pays de la Loire, ensuite nous avons utilisé ces données pour afficher un fond cartographique et répondre aux problématiques de calcul d’itinéraires.
L'Open Source Routing Machine ou OSRM est l'implémentation C++ d'un moteur de recherche d'itinéraire permettant d'obtenir les plus courts chemins dans un réseau routier. Il est libre service et nous l'avons utilisé pour les multiples services qu'il fournit exploitant les données OpenStreetMap. Par exemple, il possède un mode "vélo" et fournit les services "Route", trouve la route la plus courte reliant les coordonnées fournies, et "Nearest", retrouve les n routes les plus proches des coordonnées fournies.
Le backend d’OSRM est un serveur implémenté en C++. Plutôt que de l'installer et de le recompiler, nous avons préféré l’utiliser au travers de sa dockerisation.
Pour télécharger nos fichiers et les installer sur le conteneur Docker, suivez ce tutoriel : Docker OSRM
Ember.js est un cadriciel open-source JavaScript tourné vers les applications web. Il s'appuie sur une architecture de type MVC.
Pour créer notre projet Ember, la première étape va être d'installer Ember CLI :
npm install -g ember-cli
Nous avons évidemment travailler sur ce projet grâce à un gestionnaire de version, GitHub. Le projet est disponible à l'adresse https://github.com/Maxence-Bouet/pfeEmber.git. La seconde étape est de cloner le repository de notre projet depuis GitHub vers votre machine. Pour ceci, exécutez la commande suivante :
git clone https://github.com/Maxence-Bouet/pfeEmber.git
Ensuite, nous devons installer toutes les libraires nécessaires à notre projet. Pour cela, nous devons aller dans notre projet :
cd pfeEmber
Puis lancer la commande suivante :
nom install
Cette installation peut prendre un peut de temps.
Une fois l'installation des dépendances effectuée, nous pouvons lancer notre serveur ember avec la commande suivante :
ember server
Un serveur à été créé, et est disponible à l'adresse http://localhost:4200
Si vous avez des erreurs, allez à la section suivante.
Des erreurs peuvent survenir lors de l'utilisation de leaflet avec Ember.
S'il s'agit de l'erreur Could not find module ember-leaflet/templates/leaflet-map
imported from ember-leaflet/components/leaflet-map
, il suffit de trouver le fichier avec erreur, disponible au :
node_modules/ember-leaflet/addon/components/leaflet-map.js
Puis de remplacer à la ligne 10 :
import layout from '../templates/leaflet-map';
Par :
import layout from '../templates/current/leaflet-map';
S'il s'agit de l'erreur Could not find module ember-leaflet/templates/leaflet-map
imported from ember-leaflet/mixins/div-overlayable
, il suffit de trouver le fichier avec erreur, disponible au :
node_modules/ember-leaflet/addon/components/div-overlayable.js
Puis de remplacer à la ligne 3 :
import layout from '../templates/div-overlayable';
Par :
import layout from '../templates/current/div-overlayable';
Nous avons réalisé un script permettant d'automatiser l'installation du projet, disponible en fin de page. Il vous suffit de décompresser le fichier EmberOSRMScript.zip et de lancer installEmberPFE.sh.
Fichier Zip : Script d'installation de l'application Web