Vous êtes ici :

AccueilInstallations Installation Unix

Installation Unix

Dépendances

Tempus dépend des bibliothèques suivantes:

  • boost: timer, system, unit_test_framework, thread and program_options. Version 1.49 avec une distribution Ubuntu récente, utiliser la version 1.53 pour une compilation Windows avec Visual Studio 2008
  • PostgreSQL
  • PostGIS 2.x
  • LibXML2 pour le serveur WPS
  • iconv
  • shapelib pour osm2shp
  • FastCGI pour le serveur WPS
  • QGIS 2.x
  • PyQT pour les plugins QGIS

Compilation

Dans le répertoire racine, créer un dossier build. Ensuite utiliser une interface de configuration Cmake (ex : ccmake ou cmake-gui pour Windows)

ccmake .. 
Fixer les options de compilation comme nécessaire (voir plus bas). Ensuite lancer le make.
 
Vous pouvez lancer un make install (en tant que root avec "sudo" sous Ubuntu) pour installer le tout.

 

Une autre étape est nécessaire si vous choisissez de compiler les plugins QGIS et de les installer pour l'utilisateur courant. Depuis le répertoire d'installation, lancer sh install-qgis-plugins.sh sousLinux et install_qgis_plugins.bat sous Windows.

Voir ce script pour le processus d'installation sous Ubuntu.

Options du build

Nom option

Par défaut

Description

CMAKE_INSTALL_PREFIX

/usr/local

Précise ou TEMPUS sera installée

CMAKE_BUILD_TYPE

Bascule entre le mode Release build, mieux adapté à la performance et un mode Debug build, destiné au développement.

BUILD_CORE

ON

Compilation du noyau ou non (oui)

BUILD_INTRALYS_PLUGIN

ON

Compilation ou non du plugin Intralys QGIS

BUILD_QGIS_PLUGIN

ON

Compilation ou non du plugin QGIS

BUILD_TEMPUS_PLUGINS

ON

Compilation ou non des plugins de routing

BUILD_TESTS

ON

Mettre sur on pour faire des tests unitaires

BUILD_WPS

ON

Mettre sur on pour compiler le serveur WPS

Note: TEMPUS utilise de nombreux templates C++. Un mode "debug" (-O0 pour gcc) verra ses performances amoindries par rapport à une compilation en mode 'Release' ou 'RelWithDebInfo' pour lesquels les optimisations  (-O2 or -O3) sont faites. Un facteur de performance 20x peut être trouvé entre ces différentes options de compilation !

Test de la création de la base

Vous pouvez lancer quelques tests unitaires qui nécessitent une BDD test. Voici les étapes pour créer la base test : 

  • Créer une base postgreSQL tempus_test_db
  • Installer PostGIS dessus (CREATE EXTENSION postgis;)
  • Lui assigner le schéma TEMPUS et les données test : psql tempus_test_db < data/tempus_test_db.sql

Installation du plugin QGIS

Taper nmake install (Windows) ou make install (Linux) et le plugin et ses dépendances devraient s'installer dans votre dossier local de plugin QGIS.

Quand QGIS est lancé, aller dans l'onglet "Extensions" et activer le plugin "ifsttar routing plugin".

Installation du Serveur

Utilisation du mode standalone du WPS et d'un serveur httpd (type nginx ou Apache2) qui "passe" l'exécution du fichier exécutable.

Le WPS peut être lancé en ligne de commande, par exemple avec :

hme@socompa:~/build$ TEMPUS_DATA_DIRECTORY=../data/ ./bin/wps -c ./lib -p 9000 -l sample_multi_plugin -l sample_pt_plugin -l sample_road_plugin -t 4

Options utilisées : 

  • -c ./lib : démarre le serveur dans un répertoire donné, celui ou se trouvent les fichiers .so.
  • -l plugin : charge le plugin
  • -t 4 : nombre de threads à utiliser
  • The option -d "options" options de connexion à la base (par défaut "dbname=tempus_test_db").


Ceci va créer un socket d'écoute sur le port 9000 puis démarrer un WPS. Vous pouvez lire les sorties de debuggage grâce à cette démarche.

Le WPS a aussi un mode "daemon". Voir le fichier script/wps pour un exemple d'utilisation.

Configuration Apache

Télécharger apache2 et mod_fastcgi ou install package libapache2-mod-fastcgi (Ubuntu).

Ensuite, dans le répertoire de config de Apache2 (/etc/apache2 sous Linux),vérifier que le module fastcgi est bien chargé. Un lien vers mods-available/mod_fastcgi.conf doit exister dans mods-enabled.

Ce fichier doit avoir la première ligne suivante :

FastCgiExternalServer /var/www/wps -host 127.0.0.1:9000

Redémarrer le serveur Apache. Vous pouvez maintenant tester la configuration avec un navigateur pointant sur http://127.0.0.1/wps?service=wps&version=1.0.0&request=GetCapabilities

Configuration nginx

Sous Windows, télécharger nginx depuis ce lien. Le dézipper ou vous voulez. Sous Ubuntu, installer le package nginx.

Vous pouvez configurer nginx, en ajoutant les lignes suivantes à l'intérieur de la partie configuration server {...} de nginx.conf (/etc/nginx/sites-available/default on Ubuntu) :

location /wps {

        include fastcgi_params;

        fastcgi_pass 127.0.0.1:9000;

}

nginx se lance normalement qu'une seule fois.

Test unitaires

Vous pouvez tester l'installation en lançant des tests unitaires. A l'intérieur du dossier build, lancer ctest pour tester les composants du core.

Exemple de sortie :

~/src/TempusV2/build$ ctest

Test project /home/hme/src/TempusV2/build

    Start 1: test_core

1/3 Test #1: test_core ........................   Passed    8.00 sec

    Start 2: test_osm2shp

2/3 Test #2: test_osm2shp .....................   Passed    0.06 sec

    Start 3: test_osm2shp++

3/3 Test #3: test_osm2shp++ ...................   Passed    0.08 sec

100% tests passed, 0 tests failed out of 3

Total Test time (real) =   8.15 sec


Pour tester les parties WPS et python vous pouvez lancer le script Python suivant test_wps.py (le serveur WPS doit être dispo avec tous les plugins chargés à 127.0.0.1/wps).

Exemple de sortie :

~/src/TempusV2/src/tests$ python test_wps.py 

........

----------------------------------------------------------------------

Ran 8 tests in 3.497s

OK

Brèves

Coordonnées

TEMPUS

Romain Billot / IFSTTAR/COSYS/LICIT

25 Avenue F. Mitterrand, 69675 Bron cedex

T : 04 78 65 68 70

 

 

Partenaires

IFSTTAR ENTPE CEREMA Oslandia
Vers le haut