Installation manuelle

Ce chapitre s’adresse aux utilisateurs avancés qui souhaite configurer de manière spécifique Geoconcept Web, soit car une partie des composants est déjà pré-installé sur le serveur cible, soit parce qu’ils disposent d’une architecture particulière.

Serveur d’application

L’installateur de Geoconcept Web installe et configure la version 8 de Tomcat il est toutefois possible d’utiliser un Tomcat déjà présent sur le serveur ou de l’installer séparément de l’installateur de Geoconcept Web.

Installation

Nous préconisons d’utiliser le serveur d’application Apache Tomcat en version 8. Vous pouvez trouver cette version en téléchargement à l’adresse suivante : http://tomcat.apache.org/ .

Lancer ensuite l’installateur et suivre les différentes étapes. Le répertoire d’installation n’est pas important ; toutefois, il est nécessaire de garder en mémoire pour la suite de l’installation de l’application. Il sera noté <TOMCAT_HOME> dans la suite de ce document.

L’installateur demande un mot de passe d’administration (facultatif). Si vous le souhaitez, mettez celui de votre choix et n’oubliez pas de le conserver. Associez la valeur 80 pour le port utilisé par le service Apache Tomcat (si ce port est déjà utilisé, en choisir un autre).

[Avertissement] Avertissement

Attention en cas de l’utilisation simultané de plusieurs Apache Tomcat sur le serveur, il est nécessaire de vérifier, et le cas échéant de modifier dans le fichier server.xml, que les différents ports utilisés par l’application ne sont pas en conflit les uns avec les autres. Vérifier particulièrement les lignes suivantes :

  • <Server port="8005" shutdown="SHUTDOWN">
  • <Connector port="8009" protocol="AJP/1.3" redirectPort="443" />

Ensuite, il demande si vous souhaitez installer le logiciel en tant que service. Répondez positivement à cette question.

A la fin de l’installation, le service Tomcat a été installé.

Configuration

Si Tomcat est pré-installé, il est nécessaire de modifier le fichier server.xml.

Dans <GlobalNamingResources> ajouter :

        <!--GC-->
        <Resource
        name="geoconcept/gc/default"
        type="com.geoconcept.gc.provider.Provider"
        scope="Shareable"
        description="GC connection factory -local dll"
        auth="Container"
        RootDirectory="C:\Program Files\GEOCONCEPT\Geoconcept Web\gc\jee\gc"
        factory="com.geoconcept.gc.connect.tomcat.ConnectionFactory"
        ConnectionMode="LocalDll"
        />

        <!--UGC-->
        <Resource
                name="geoconcept/ugc/default"
                type="com.geoconcept.ugc.service.CodingProvider"
                scope="Shareable"
                description="UGC connection factory -local dll"
                auth="Container"
                RootDirectory="C:\Program Files\GEOCONCEPT\Geoconcept Web\ugc\jee\ugc"
                RefTablesDirectory="C:\Geoconcept Web\data\maps"
                factory="com.geoconcept.ugc.connect.tomcat.ConnectionFactory"
                ConnectionMode="LocalDll"
        />

        <!--SmartRouting-->
        <Resource
                name="geoconcept/smartrouting/default"
                type="com.geoconcept.smartrouting.Provider"
                scope="Shareable"
                description="Smartrouting connection factory -local dll"
                auth="Container"
                RootDirectory="C:\Program Files\GEOCONCEPT\Geoconcept Web\smartrouting\jee\smartrouting"
                GraphsDirectory="C:\Geoconcept Web\data\maps"
                factory="com.geoconcept.smartrouting.connect.tomcat.ConnectionFactory"
                ConnectionMode="LocalDll"
        />

Allez avec l’explorateur de fichier Windows dans le répertoire <TOMCAT_HOME>/bin et lancer l’exécutable « Tomcat8w.exe » (dans le cas d’une version 8 de Apache Tomcat). Cet exécutable est la console du serveur d’application Apache Tomcat.

Le bouton Start est grisé lorsque le serveur est en cours d’exécution. Dans ce cas, cliquez sur le bouton Stop pour l’arrêter.

Positionnez l’option Startup type en Automatic et cliquez sur le bouton Appliquer. Ensuite, allez sur l’onglet Java, dans la case pour les « Java Options », rajouter les lignes :

-Xmx1024m
-Xms256m

Et cliquez sur le bouton Appliquer.

Retournez sur l’onglet General et cliquez sur le bouton Start pour démarrer le serveur Tomcat.

Afin de vérifier si l’installation a été faite correctement, ouvrez un navigateur web et inscrivez l’url suivante : http://localhost:numero_port_utilise (par exemple : http://localhost:80 ou http://localhost).

Vous devez obtenir la page d’accueil de Tomcat équivalente.

Résultat de la configuration de Tomcat
gcweb-reference-img/guides-installation/lbsp-serveur-application4.png

Base de données

Afin de fonctionner, une base de données doit être accessible par l’application web afin qu’elle y stocke ses paramètres. Vous pouvez utiliser une base de données déjà déployée sur votre environnement (en local ou sur le réseau). Dans le cas contraire, il est nécessaire d’en installer une.

Les bases de données standards peuvent être utilisées dans le cadre de l’installation de notre solution. Nous décrivons en détails l’utilisation de la base de données MySQL, PostgreSQL, Server SQL et Oracle. L’utilisation des autres bases de données est décrite de façon plus succincte : la démarche reste identique (création d’un schéma et d’un utilisateur ayant tous les droits sur ce schéma, ajout du driver JDBC) avec les caractéristiques propres à chaque base de données.

Notons qu’un système de base de données embarquée (HSQLDB) est aussi décrit. Ce système permet de n’installer aucun SGBD localement. Les données seront stockées dans des fichiers créés sur le disque.

[Astuce] Astuce

Le système HSQLDB peut être utilisé si aucune gestion avancée en base de données n’est nécessaire, par exemple dans le cas d’un déploiement pour utiliser les web services de Geoconcept Web uniquement.

Nous ne conseillons pas l’utilisation de HSQLDB pour créer des portails depuis l’onglet Designer de la solution.

MySQL

Installation de la base de données

La version 8.0 est la version actuelle de MYSQL. Elle est téléchargeable à cette adresse : https://dev.mysql.com/downloads/mysql/ .

Parmi la liste des produits téléchargeables, télécharger le fichier Windows MSI Installer en fonction de la version de votre ordinateur (32 ou 64 bits) : ce fichier est de la forme mysql-n°de-version-win32.msi. Une fois téléchargé, double-cliquer sur le fichier téléchargé pour lancer l’installation puis suivre les différentes étapes de l’installation.

A la fin de cet assistant, cochez la case Launch the MySQL Instance Configuration Wizard puis renseigner les différentes étapes avec les options suivantes :

  • Developer Machine,
  • Multifunctional DataBase,
  • Decision Support (DSS)/OLAP,
  • Enable TCP/IP Networking with port number 3306,
  • Enable Strict Mode,
  • Standard Character Set,
  • Install As Windows Service with service name « MySQL »
  • Cocher la case « Include Bin Directory in Windows PATH »,
  • Renseigner un mot de passe (à conserver précieusement) puis cochez la casxe « Modify Security Settings : Enable root access from remote machine ».
[Avertissement] Avertissement

Par défaut, le jeu de caractère à l’installation de MySQL est Latin1. Pour utiliser un jeu de caractère unicode, il est nécessaire de modifier le fichier my.ini comme suit :

default-character-set=utf8
character-set-server=utf8

A la fin de l’installation, il est également appréciable d’installer les outils complémentaires afin de pouvoir manipuler facilement la base de données : le Workbench de Mysql est adapté. Il est téléchargeable à cette adresse : https://dev.mysql.com/downloads/workbench/ .

Après avoir téléchargé le fichier Windows MSI Installer, double-cliquer sur le fichier pour lancer l’installation.

Création du schéma et de l’utilisateur

Une fois ces opérations faites, ouvrir le MySQL Workbench. Via le menu SQL Development, une connexion à la base de données doit être spécifiée de cette façon : vous pouvez utiliser le bouton Test Connection pour vérifier vos paramètres :

Gestionnaire de connexions via le Workbench (version 8.0) de MySQL
gcweb-reference-img/guides-installation/lbsp-mysql1.png

Création d’un schéma sous MySQL Workbench (version 8.0)
gcweb-reference-img/guides-installation/lbsp-mysql2.png

En double-cliquant sur cette connexion, vous ouvrez une fenêtre SQL Editor. Dans la colonne de gauche appelée Object Browser, il est nécessaire de créer un nouveau schéma (clic-droit dans la fenêtre) appelé dans ce document geoweb.

Ouvrez également une connexion Admin via la menu Server Administration (à droite du workbench). Dans l’onglet Accounts puis Server Access Management, créer un nouvel utilisateur avec un mot de passe grâce au bouton Add account (dans ce document, nous prendrons l’exemple d’un utilisateur web avec pour mot de passe web). Utiliser le sigle « % » dans la zone de texte « Limit Connectivity to Hosts Matching ».

Création d’un user
gcweb-reference-img/guides-installation/lbsp-mysql3.png

Via le menu Schema Privileges, assignez tous les droits à cet utilisateur web sur le schéma geoweb en utilisant la fonctionnalité Add Entry… puis suivant le schéma ci-dessous:

Affectation des droits au user
gcweb-reference-img/guides-installation/lbsp-mysql4.png

Sélectionner ensuite tous les droits via le bouton Select « ALL » puis Save Changes.

Ajout du driver JDBC

Il est nécessaire de télécharger le driver JDBC à partir de https://dev.mysql.com/downloads/connector/j/ afin d’autoriser les sources de données Tomcat à accéder au serveur MySQL.

Une fois l’archive dézippée, copier-coller le driver (uniquement le fichier .jar) dans le répertoire <TOMCAT_HOME>\lib\.

L’architecture du fichier de contexte est consultable dans la rubrique Déploiement de l’application.

PostgreSQL

Installation du serveur de base de données

La base de donnée PostgreSQL est téléchargeable ici : https://www.postgresql.org/download/ . Suivre les différentes étapes d’installation proposées par l’installateur. Vous pouvez vous appuyez sur la documentation en ligne à cette adresse : https://www.postgresql.org/docs/ .

Il est recommandé d’installer la base de données PostgreSQL avec un client pgAdmin 4 (pour Windows). Exécuter pgAdmin 4, puis se connecter à la base avec les droits administrateur.

Création de la base de données

Dans ce document, nous créons un utilisateur web, avec comme mot de passe « web ». Ce mot de passe sera utilisé par la suite dans la configuration du serveur d’application.

Création de l’utilisateur
gcweb-reference-img/guides-installation/lbsp-pgsql1.png

Créer une nouvelle base de données nommé « geoweb » (clic droit sur « Databases » dans l’arborescence puis « Add a database ») en utilisant l’encodage UTF-8 et l’assigner à l’utilisateur « web » dans l’onglet Owner. Utiliser le modèle postgres si nécessaire. Assigner tous les droits à cet utilisateur sur cette base geoweb dans l’onglet Rights. Noter que le schéma nommé « public » est automatiquement créé.

Création du schéma
gcweb-reference-img/guides-installation/lbsp-pgsql2.png

Ajout du driver JDBC

Le driver JDBC peut être trouvé à l’adresse suivante : https://jdbc.postgresql.org/download.html/ .

L’architecture du fichier de contexte est consultable dans la rubrique Déploiement de l’application.

[Astuce] Astuce

A partir d’une JVM 1.6, il est nécessaire de choisir le driver JDBC4.

Dézipper le fichier téléchargé, puis copier-coller le driver JDBC (fichier .jar uniquement) dans le répertoire « <TOMCAT_HOME> »/lib pour autoriser les sources de données Tomcat à accéder au serveur PostgreSQL.

Authentification

Si nécessaire, modifiez le fichier de configuration pg_hba.conf qui permet d’avoir un accès distant au serveur PostgreSQL, en suivant les instructions en ligne : https://www.postgresql.org/docs/12/client-authentication.html .

SQL Server

Dans le cadre de l’utilisation du gestionnaire de base de données SQL Server de Microsoft, la version présentée ici est SQL Server 2019 (SQLServer Express 2019 RC et SQL Server Manager Studio Express).

La version est téléchargeable : https://www.microsoft.com/en-in/sql-server/sql-server-downloads .

De la même façon que décrit pour l’utilisation de MySQL, il est nécessaire de disposer d’un profil utilisateur (web par exemple) qui sera employé dans le cadre de l’application et doit disposer de l’ensemble des droits sur la base de données créée pour l’application web.

[Astuce] Astuce

A l’utilisation pour une table avec des données géographiques, il peut s’avérer nécessaire de faire les opérations suivantes :

  • mettre le SRID de cette table à 0 avec la commande suivante :
update <table> set <colonne geom>.STSrid=0;
  • Créer une table de métadata géométrie pour identifier le type de géometrie
CREATE TABLE <TABLE_NAME>(
    [f_table_catalog] [nvarchar](50) NULL,
    [f_table_schema] [nvarchar](50) NULL,
    [f_table_name] [nvarchar](100) NULL,
    [f_geometry_column] [nvarchar](50) NULL,
    [coord_dimension] [int] NULL,
    [srid] [int] NULL,
    [type] [nvarchar](50) NULL
)
  • Ajouter le nom de la table de métadata géométrie dans les paramètres avancées de la source de données (Geometry metadata table)
  • Ajouter métadata géométrie pour le vecteur (SRID doit être null null ou 0)

Installation de la base de données

Après avoir téléchargé et démarré l’installateur, deux étapes doivent être respectées durant l’installation de SQL Server 2019 :

  • la création d’un compte Admin SQL Server. Dans notre exemple, l’identifiant est : sa et le mot de passe : manager .
  • spécifier le nom que portera l’instance de SQL Server dans le menu des Services Windows. Ici, par exemple, l’instance sera nommée SQLEXPRESS.

Une fois ces éléments paramétrés et l’installation terminée, lancer SQL Server Manager Studio Express en se connectant de la façon suivante :

Connexion à SQL Server pour la première fois
gcweb-reference-img/guides-installation/lbspsqlserver1.png

Indiquer le nom de serveur : nom-de-la-machine (ou adresse IP)\nom-de-l’instance. Puis, choisir SQL Server Authentication comme mode d’authentification. Enfin, indiquer l’identifiant et le mot de passe définis lors de l’installation du SGBD (Exemple : sa / manager).

Création de la base de données

Une fois connecté, l'étape suivante porte sur la création d’une base de données qui sera associée à l’application, lui permettant ainsi son déploiement et son bon fonctionnement. Dans cet exemple, la base de données sera nommée "geoweb".

Faire un clic droit sur le répertoire database, puis New database.

Création de la nouvelle base de données "geoweb" (1)
gcweb-reference-img/guides-installation/lbspsqlserver2.png

Création de la nouvelle base de données "geoweb" (2)
gcweb-reference-img/guides-installation/lbspsqlserver3.png

Puis, dans Security, créer une Connection en donnant un nom d’accès / d’utilisateur, par exemple web et un mot de passe web. Veiller à bien indiquer que c’est une SQL Server Authentification. Préciser également que la base de données par défaut est "geoweb", la base précédemment créée.

Création de l’utilisateur "web" (1)
gcweb-reference-img/guides-installation/lbspsqlserver4.png

Création de l’utilisateur "web" (2)
gcweb-reference-img/guides-installation/lbspsqlserver5.png

Ensuite, créer le mappage entre l’utilisateur et la base de données. Cliquer sur Security puis Connection et clic droit sur le nom de l’utilisateur créé. Cliquer enfin sur Properties.

Propriétés de l’utilisateur pour définir le mappage
gcweb-reference-img/guides-installation/lbspsqlserver6.png

Dans les propriétés de connexion / utilisateur, cliquer sur User mapping et cocher les options suivantes :

  • associer la base de données "geoweb" à l’utilisateur ;
  • veiller que le schéma par défaut indique la valeur dbo ;
  • appartenance du rôle de base de données, cocher : "db_owner" et laisser "public" coché ;
Mappage de l’utilisateur
gcweb-reference-img/guides-installation/lbspsqlserver7.png

Configuration de SQL Server

Une fois la base de données, l’utilisateur et le mappage configurés, il est nécessaire d’ouvrir le SQL Server Configuration Manager (configuration tool) afin de paramétrer les connexions réseau de SQL Server 2019.

Lorsque l’outil de paramétrage est lancé, cliquer sur Configuring the SQL Server network, choisir Protocols for SQLEXPRESS puis double-cliquer sur TCP/IP.

Panneau de configuration de SQL Server Configuration Manager
gcweb-reference-img/guides-installation/lbspsqlserver8.png

Dans le menu TCP/IP, dans l’onglet protocol, basculer le paramètre Activated sur Yes. Puis dans l’onglet Adresses IP, dans le groupe IPAll en bas de la fenêtre, saisir la valeur 1433 pour Port TCP et ne pas renseigner le paramètre Dynamic TCP Ports.

Paramétrage des connexions TCP/IP
gcweb-reference-img/guides-installation/lbspsqlserver9.png

Lorsque ces paramètres sont validés, revenir sur le menu de gauche et cliquer sur Services SQL Server ; une liste de serveur SQL est proposée sur le volet droit du menu. Clic droit sur SQL Server (SQLEXPRESS) et enfin cliquer sur Restart.

Redémarrage de l’instance "SQL EXPRESS"
gcweb-reference-img/guides-installation/lbspsqlserver10.png

Ajout du connecteur JDBC et du fichier XML de configuration

Après le paramétrage de SQL Server 2008, il est nécessaire de placer le driver JDBC, dans le répertoire « <TOMCAT_HOME> »/lib du serveur d’application Tomcat.

Le connecteur est accessible à l’adresse suivante : https://docs.microsoft.com/en-us/sql/connect/jdbc/microsoft-jdbc-driver-for-sql-server?view=sql-server-ver15 .

[Astuce] Astuce

La version du connecteur n’est efficiente que si la version de Java est compatible avec (https://docs.microsoft.com/en-us/sql/connect/jdbc/system-requirements-for-the-jdbc-driver?view=sql-server-ver15) . Le connecteur transmis est fonctionnel avec les versions de JVM supérieures à la version 5.

Afin que tout soit fonctionnel, coupler le déploiement du nouveau .war avec un nouveau fichier xml spécifique à l’utilisation conjointe du Designer et SQL Server (à placer dans le répertoire « <TOMCAT_HOME> »/conf/Catalina/localhost du serveur d’application Apache Tomcat).

L’architecture de ce fichier de contexte est consultable dans la rubrique Déploiement de l’application.

[Astuce] Astuce

Bien vérifier que les services SQL Server Browser ainsi que SQL Server (SQLEXPRESS) sont bien activés !

Oracle

Il est nécessaire de créer un user spécifique qui sera utilisé par l’application Geoconcept Web avec les droits nécessaires. Voici un script d’exemple pour la création d’un user web pour une base Oracle :

Créer un user 

define username = web
define userpwd = web

drop user &username cascade;

create user &username identified by &userpwd default tablespace users;
alter user &username quota unlimited on users;
grant create session to &username;
grant create table to &username;
grant create view to &username;
grant create sequence to &username;

La schéma de la base de données sera initialisé par l’application à l’issue de l’installation de Geoconcept Web.

Choisir le driver JDBC correspondant à votre version d’Oracle. Il peut être trouvée à l’adresse suivante :  : https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html . Le driver est de la forme ojdbcXX.jar (où le XX correspond au numéro de version du driver ojdbc).

L’architecture du fichier de contexte est consultable dans la rubrique Déploiement de l’application.

[Astuce] Astuce

Lors de l’utilisation d’une version Oracle Express la valeur à indiquer pour le schéma est « XE ».

[Astuce] Astuce

A noter que la chaîne de connexion Oracle n’est pas identique suivant la méthode (SID ou Service Name) utilisée :

  • SID : url="jdbc:oracle:thin:@localhost:1521:SCHEMA_BASE"
  • Service Name : url="jdbc:oracle:thin:@//localhost:1521/SCHEMA_BASE"
[Astuce] Astuce

A l’utilisation pour une table avec des données géographiques, il peut s’avérer nécessaire de faire les opérations suivantes :

  • Créer une table de métadata géométries comme détaillée dans le manuel geotools
CREATE TABLE GEOMETRY_COLUMNS(
   F_TABLE_SCHEMA VARCHAR(30) NOT NULL,
   F_TABLE_NAME VARCHAR(30) NOT NULL,
   F_GEOMETRY_COLUMN VARCHAR(30) NOT NULL,
   COORD_DIMENSION INTEGER,
   SRID INTEGER NOT NULL,
   TYPE VARCHAR(30) NOT NULL,
   UNIQUE(F_TABLE_SCHEMA, F_TABLE_NAME, F_GEOMETRY_COLUMN),
   CHECK(TYPE IN ('POINT','LINE', 'POLYGON', 'COLLECTION', 'MULTIPOINT', 'MULTILINE', 'MULTIPOLYGON', 'GEOMETRY') ));
  • Ajouter le nom de la table de métadata géométries dans les paramètres avancées de la source de données (Geometry metadata table)
  • Ajouter métadata géométrie pour le vecteur

Geoconcept Web Map

Geoconcept Web Map est le composant d’affichage cartographique et de dessin des tuiles développée autour du Système d’Information Géographique Geoconcept. Depuis la version 6.0, ce moteur d’affichage est naturellement multi-thread (pour de meilleures performances) et multi-instances sans paramétrage spécifique.

Il est totalement intégré dans Geoconcept Web ne nécessite plus l’utilisation d’un service Windows spécifique et s’administre depuis la page Administration / Outils / Gestion cartes.

UGC JEE

Universal Geocoder JEE est la composante Java de Universal Geocoder Server, nécessaire pour mettre en place le web service de géocodage dans Geoconcept Web, ainsi que pour utiliser la fonctionnalité de géocodage dans les portails. Toutes les autres applications web disposant d’une fonctionnalité de géocodage sont également concernées.

Dans le cas d’une utilisation à partir de Geoconcept Web, seul le composant JEE doit être obligatoirement installé (les composants .NET et CmdLine ne sont pas nécessaires). Il suffit de suivre les étapes de l’installateur pour installer les éléments nécessaires au bon fonctionnement de UGC JEE.

Les libraires JAVA

L’installateur de Geoconcept Web installe les librairies d’Universal Geocoder dans « <GEOCONCEPT_WEB_HOME> »/tomcat/lib, avec « <GEOCONCEPT_WEB_HOME> » le chemin d’installation de Geoconcept Web. Ces fichiers .jar sont les suivants :

  • activation.jar
  • javax-ressource.jar
  • jdom.jar
  • log4j-1.2.16.jar
  • ugc.jar
Edition du fichier server.xml

En cas d’installation manuelle, il est nécessaire d’indiquer au serveur d’application où se trouve l’application UGC JEE. Grâce à un éditeur de texte, éditer le fichier server.xml présent dans un répertoire semblable à : « <TOMCAT_HOME> »\conf\,

Au sein du tag GlobalNamingResources, ajouter les lignes suivantes :

        <!--UGC-->
        <Resource
                name="geoconcept/ugc/default"
                type="com.geoconcept.ugc.service.CodingProvider"
                scope="Shareable"
                description="UGC connection factory -local dll"
                auth="Container"
                RootDirectory="``<UGC_HOME>''"
                RefTablesDirectory="``<DATA_HOME>''\data\maps"
                factory="com.geoconcept.ugc.connect.tomcat.ConnectionFactory"
                ConnectionMode="LocalDll"
     />

Les chaînes de caractères UGC_HOME et DATA_HOME doivent être remplacées par les chemins adéquats.

En option, il est également possible de rajouter le chemin vers un répertoire qui stocke les tables de référence :

RefTablesDirectory="D:\Data\TableRef"
Application d’ugc-admin

Cette application permet de tester le bon fonctionnement de UGC JEE. Pour la déployer il est nécessaire :

  • de copier le fichier « <GEOCONCEPT_WEB_HOME> »\tools\admin\webapps\ugc-admin.war dans le dossier « <GEOCONCEPT_WEB_HOME> »\tomcat\webapps\
  • de copier le fichier « <GEOCONCEPT_WEB_HOME> »\tools\admin\config\ugc-admin.xml dans le dossier « <GEOCONCEPT_WEB_HOME> »\tomcat\conf\Catalina\localhost\

Ouvrir un navigateur Internet et taper l’adresse suivante : http://nom_du_serveur:numéro_du_port/ugc-admin

[Note] Note

Par exemple, dans notre cas : http://localhost/ugc-admin.

Dans l’outil d’administration, cliquer sur « Load datasource » et saisir le nom de la table de référence : Loire (table d’exemple située dans le répertoire « <DATA_HOME> »\data\maps)

Cliquer ensuite sur « Active datasources » puis sur « test ». L’adresse par défaut est située dans le 13ème arrondissement de Paris. Cliquer sur ‘`Search’' : un résultat doit apparaître dans la fenêtre située en-dessous du formulaire de recherche.

Configuration d’une source de données

En utilisant la webapp ugc-admin, vous pouvez spécifier la configuration de votre table de référence. Cette option est intéressante lorsque votre table de référence n’est pas dans le même système de coordonnées que la carte Geoconcept, par exemple.

Cette nouvelle configuration peut se faire en cliquant sur Datasource configuration, puis en cliquant sur Create. Il est ensuite nécessaire de spécifier le code EPSG dans le champ Coordinate system, afin que le géocodeur retourne les résultats dans le-dit système de coordonnées.

Résultat d’un géocodage avec une configuration spécifique : le résultat retourné est en WGS 84
gcweb-reference-img/guides-installation/lbsp-config-wgs84.png

SmartRouting JEE

SmartRouting JEE est la composante Java de SmartRouting Server, nécessaire pour mettre en place les web services (calcul d’itinéraires, search around,…) dans Geoconcept Web, ainsi que pour utiliser la fonctionnalité de calcul d’itinéraires dans les portails. Toutes les autres applications web disposant d’une fonctionnalité de calcul d’itinéraires sont également concernées.

Dans le cas d’une utilisation à partir de Geoconcept Web, seul le composant JEE doit être obligatoirement installé (le composant CmdLine n’est pas nécessaire). Il suffit de suivre les étapes de l’installateur pour installer les éléments nécessaires au bon fonctionnement de SmartRouting JEE.

Les librairies JAVA

L’installateur de Geoconcept Web installe les librairies de SmartRouting Server JEE dans « <GEOCONCEPT_WEB_HOME> »/tomcat/lib, avec « <GEOCONCEPT_WEB_HOME> » le chemin d’installation de Geoconcept Web. Ces fichiers .jar sont les suivants :

  • jdom.jar
  • log4j-1.2.16.jar
  • smartrouting.jar
Edition du fichier server.xml

En cas d’installation manuelle, il est nécessaire d’indiquer au serveur d’application où se trouve l’application SmartRouting JEE. Grâce à un éditeur de texte, éditer le fichier server.xml présent dans un répertoire semblable à : « <TOMCAT_HOME> »\conf\,

Au sein du tag GlobalNamingResources, ajouter les lignes suivantes :

        <!--SmartRouting-->
        <Resource
                name="geoconcept/smartrouting/default"
                type="com.geoconcept.smartrouting.Provider"
                scope="Shareable"
                description="Smartrouting connection factory -local dll"
                auth="Container"
                RootDirectory="``<SMARTROUTING_HOME>''\smartrouting\jee\smartrouting"
                GraphsDirectory="``<DATA_HOME>''\data\maps"
                factory="com.geoconcept.smartrouting.connect.tomcat.ConnectionFactory"
                ConnectionMode="LocalDll"
    />

Les chaînes de caractères SMARTROUTING_HOME et DATA_HOME doivent être remplacées par les chemins adéquats.

En option, il est également possible de rajouter le chemin vers un répertoire qui stocke les tables de référence :

GraphsDirectory="D:\Data\graphs"
Application SmartRouting-admin

Cette application permet de tester le bon fonctionnement de SmartRouting JEE. Pour la déployer il est nécessaire :

  • de copier le fichier « <GEOCONCEPT_WEB_HOME> »\tools\admin\webapps\smartrouting-admin.war dans le dossier « <GEOCONCEPT_WEB_HOME> »\tomcat\webapps\
  • de copier le fichier « <GEOCONCEPT_WEB_HOME> »\tools\admin\config\smartrouting-admin.xml dans le dossier « <GEOCONCEPT_WEB_HOME> »\tomcat\conf\Catalina\localhost\

Ouvrir un navigateur Internet et taper l’adresse suivante : http://nom_du_serveur:numéro_du_port/smartrouting-admin

[Note] Note

Par exemple, dans notre cas : http://localhost/smartrouting-admin.

Le bouton Check provider access permet de vérifier la bonne installation. Le message All tests succeded doit s’afficher.

Dans l’outil d’administration, cliquer sur « Datasource configuration ». Les graphes définis dans le répertoire par défaut (ou le répertoire défini par le tag GraphsDirectory dans le fichier server.xml) s’affichent alors.

En cliquant sur test, vous pouvez tester le calcul d’un itinéraire : un résultat doit apparaître dans la fenêtre située en-dessous du formulaire de recherche.

Déploiement de l’application

L’application web déployée par l’installateur est nommée geoconcept-web.

Cette application permet de gérer les paramètres de Geoconcept Web. Il est nécessaire de la déployer dans l’architecture précédemment installée.

Outre la fonction de boîte noire pour répondre aux requêtes des web services, l’application web propose une interface pour définir certains paramètres :

  • la table de référence utilisée par le web service de géocodage,
  • le graphe à utiliser pour le calcul d’un itinéraire,
  • la gestion du cache :

    • répertoire du cache,
    • suppression, invalidation du cache,
    • pré-calcul du cache pour certains onglets de visibilité des cartes,
  • gestion des utilisateurs, des droits et des groupes d’utilisateurs,
  • gestion des images sauvegardées dans la base de données.
Le fichier *.war

Le fichier .war est le dossier compressé contenant l’application web. Il est nécessaire de le déployer dans le serveur d’application Apache Tomcat.

Vous trouverez ce fichier war dans le dossier « <GEOCONCEPT_WEB_HOME> »/tomcat/webapps, avec « <GEOCONCEPT_WEB_HOME> » le chemin d’installation de Geoconcept Web.

Arrêter les service Apache Tomcat,.

Placer le fichier geoconcept-web.war dans le répertoire « <TOMCAT_HOME> »/webapps.

Le fichier de contexte *.xml

Le fichier de contexte est indispensable, nommé geoconcept-web.xml il doit être positionné dans le répertoire « <TOMCAT_HOME> »\conf\Catalina\localhost. Ce fichier permet de spécifier différents paramètres dont le mot de passe et le nom de la base de données nécessaires au bon fonctionnement de l’application cartographique.

Ce fichier peut être créé à partir d’un document texte vide en modifiant son extension. Des exemples sont disponibles dans « <GEOCONCEPT_WEB_HOME> »\database\conf\Catalina\localhost.

[Avertissement] Avertissement

Le nom du fichier .war et celui du fichier .xml doivent être identiques.

Editer le fichier geoconcept-web.xml en fonction du SGBD utilisé. Copier-coller dans ce fichier les paramètres suivants en fonction de votre SGBD et modifier :

  • le user (web dans notre exemple),
  • le mot de passe associé au user (web dans notre exemple),
  • le schéma de base de données de l’application (SCHEMA_BASE dans notre exemple),
  • le chemin d’installation de la solution (« <GEOCONCEPT_WEB_HOME> » dans notre exemple).
[Avertissement] Avertissement

Cas particuliers :

  • les exemples de code suivants fonctionnent dans le cas où le SGBD est installé sur la machine de l’application cartographique. Le paramètre localhost est ainsi renseigné,
  • dans le cas où le SGBD est installé sur une machine autre que la machine qui supporte l’application, le paramètre localhost devra être remplacé par l’adresse IP ou le nom du serveur de base de données.
  • Pour tous problèmes (déconnexions intempestives, …) se référer à la documentation concernant le pool de connexion JDBC tomcat 8

Cas de l’utilisation d’une base de données MySQL 

<Context reloadable="false">

<Resource
        name="jdbc/geoweb"
        auth="Container"
        type="javax.sql.DataSource"
        username="web"
        password="web"
        driverClassName="com.mysql.jdbc.Driver"
        url="jdbc:mysql://localhost:3306/SCHEMA_BASE?useUnicode=true&amp;characterEncoding=UTF-8"
        maxActive="8"
        maxIdle="4"
        testWhileIdle="true"
    validationQuery="SELECT 1"
    testOnBorrow="true"
        timeBetweenEvictionRunsMillis="1800000"
        minEvictableIdleTimeMillis="21600000"
/>

<!-- geocoder resource definition -->
<ResourceLink
  global="geoconcept/ugc/default"
  name="geoconcept/ugc/default"
  type="com.geoconcept.ugc.service.CodingProvider"
/>

<!-- smartrouting resource definition -->
<ResourceLink
  global="geoconcept/smartrouting/default"
  name="geoconcept/smartrouting/default"
  type="com.geoconcept.smartrouting.Provider"
/>

<!-- geoconcept web map resource definition -->
<ResourceLink
  global="geoconcept/gc/default"
  name="geoconcept/gc/default"
  type="com.geoconcept.gc.provider.Provider"
/>

<Environment name="LicenseFilePath" value="C:\Program Files\GEOCONCEPT\Geoconcept Web\license" type="java.lang.String" override="true"/>

</Context>

Cas de l’utilisation d’une base de données PostgreSQL 

<Context path="geoweb" >

<Resource
        name="jdbc/geoweb"
        type="javax.sql.DataSource"
        username="web"
        password="web"
        driverClassName="org.postgresql.Driver"
        maxWait="5000"
        url="jdbc:postgresql://localhost:5432/SCHEMA_BASE?useUnicode=true&amp;characterEncoding=UTF-8"
        maxActive="8"
        maxIdle="4"
/>

<!-- geocoder resource definition -->
<ResourceLink
  global="geoconcept/ugc/default"
  name="geoconcept/ugc/default"
  type="com.geoconcept.ugc.service.CodingProvider"
/>

<!-- smartrouting resource definition -->
<ResourceLink
  global="geoconcept/smartrouting/default"
  name="geoconcept/smartrouting/default"
  type="com.geoconcept.smartrouting.Provider"
/>

<!-- geoconcept web map resource definition -->
<ResourceLink
  global="geoconcept/gc/default"
  name="geoconcept/gc/default"
  type="com.geoconcept.gc.provider.Provider"
/>

<Environment name="LicenseFilePath" value="C:\Program Files\GEOCONCEPT\Geoconcept Web\license" type="java.lang.String" override="true"/>

</Context>

Cas de l’utilisation d’une base de données SQL Server 

<Context reloadable="false">
<Resource
        name="jdbc/geoweb"
        auth="Container"
        type="javax.sql.DataSource"
        username="web"
        password="web"
        driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
        url="jdbc:sqlserver://localhost:1433;databaseName=SCHEMA_BASE;"
        maxActive="8"
        maxIdle="4"
/>

<!-- geocoder resource definition -->
<ResourceLink
  global="geoconcept/ugc/default"
  name="geoconcept/ugc/default"
  type="com.geoconcept.ugc.service.CodingProvider"
/>

<!-- smartrouting resource definition -->
<ResourceLink
  global="geoconcept/smartrouting/default"
  name="geoconcept/smartrouting/default"
  type="com.geoconcept.smartrouting.Provider"
/>

<!-- geoconcept web map resource definition -->
<ResourceLink
  global="geoconcept/gc/default"
  name="geoconcept/gc/default"
  type="com.geoconcept.gc.provider.Provider"
/>

<Environment name="LicenseFilePath" value="C:\Program Files\GEOCONCEPT\Geoconcept Web\license" type="java.lang.String" override="true"/>

</Context>

[Astuce] Cas de l’utilisation d’une base de données Oracle

A noter que la chaîne de connexion Oracle n’est pas identique suivant la méthode (SID ou Service Name) utilisée :

  • SID : url="jdbc:oracle:thin:@localhost:1521:SCHEMA_BASE"
  • Service Name : url="jdbc:oracle:thin:@//localhost:1521/SCHEMA_BASE"
<Context reloadable="true">

 <Resource name="jdbc/geoweb" auth="Container"
        type="javax.sql.DataSource"
        username="web"
        password="web"
        driverClassName="oracle.jdbc.OracleDriver"
        url="jdbc:oracle:thin:@localhost:1521:SCHEMA_BASE"
        maxActive="8"
        maxIdle="4"
        testWhileIdle="true"
        timeBetweenEvictionRunsMillis="1800000"
        minEvictableIdleTimeMillis="21600000"/>

<!-- geocoder resource definition -->
<ResourceLink
  global="geoconcept/ugc/default"
  name="geoconcept/ugc/default"
  type="com.geoconcept.ugc.service.CodingProvider"
/>

<!-- smartrouting resource definition -->
<ResourceLink
  global="geoconcept/smartrouting/default"
  name="geoconcept/smartrouting/default"
  type="com.geoconcept.smartrouting.Provider"
/>

<!-- geoconcept web map resource definition -->
<ResourceLink
  global="geoconcept/gc/default"
  name="geoconcept/gc/default"
  type="com.geoconcept.gc.provider.Provider"
/>

<Environment name="LicenseFilePath" value="C:\Program Files\GEOCONCEPT\Geoconcept Web\license" type="java.lang.String" override="true"/>

</Context>
[Astuce] Astuce

Lors de l’utilisation d’une version Oracle Express la valeur à indiquer pour SCHEMA_BASE est « XE ».

Cas de l’utilisation d’une base de données HSQLDB

HSQLDB est une base de données écrite en Java. C’est une base de données embarquée : elle crée des fichiers directement sur le disque ; aucune installation préalable n’est donc nécessaire.

Dans le cadre de l’utilisation du Geoconcept Web, les paramètres peuvent être stockés à l’aide d’une solution de base de données embarquée via la technologie HSQLDB. Pour obtenir le driver JDBC, allez sur le site suivant : http://www.hsqldb.org/. Ce driver est de la forme hsqldb.jar. Il doit être placé dans le répertoire « <TOMCAT_HOME »>\lib.

Dans le cas de l’utilisation de cette base de données, il est nécessaire de créer le fichier DesignerParameters.xml dans le répertoire « <TOMCAT_HOME> »\lib et de compléter les paramètres comme ci-dessous, avec les paramètres propres à la configuration de votre serveur. Dans l’exemple ci-dessous, les fichiers BDD seront créés directement dans le répertoire C:\BDD. Ce paramètre est modifiable via la ligne url.

<Context path="/geoconcept-web" reloadable="true" >
<!-- Extra info begin -->
<Parameter name="database.connection.datasource"
value="java:comp/env/jdbc/geoweb" override="true"/>

<Resource
        name="jdbc/geoweb"
        auth="Container"
        driverClassName="org.hsqldb.jdbcDriver"
        maxActive="100"
        maxIdle="30"
        maxWait="10000"
        password="web"
        username="web"
        type="javax.sql.DataSource"
        url="jdbc:hsqldb:file:[Path\To\Database]"
/>

<!-- geocoder resource definition -->
<ResourceLink
  global="geoconcept/ugc/default"
  name="geoconcept/ugc/default"
  type="com.geoconcept.ugc.service.CodingProvider"
/>

<!-- smartrouting resource definition -->
<ResourceLink
  global="geoconcept/smartrouting/default"
  name="geoconcept/smartrouting/default"
  type="com.geoconcept.smartrouting.Provider"
/>

<!-- geoconcept web map resource definition -->
<ResourceLink
  global="geoconcept/gc/default"
  name="geoconcept/gc/default"
  type="com.geoconcept.gc.provider.Provider"
/>

<!-- Extra info end

<Logger className="org.apache.catalina.logger.SystemOutLogger" verbosity="4" timestamp="true"/>

<Environment name="LicenseFilePath" value="``<GEOCONCEPT_WEB_HOME>''\license" type="java.lang.String" override="true"/>

</Context>
[Astuce] Astuce

Résumé :

  • le fichier geoconcept-web.war doit être déployé dans « <TOMCAT_HOME> »/webapps,
  • le fichier geoconcept-web.xml doit être déployé dans « <TOMCAT_HOME> »/conf/Catalina/localhost.
Paramétrage de l’application web

Une fois le fichier .war et le fichier .xml déposés à leurs endroits respectifs (cf. paragraphes précédents), démarrer le services Apache Tomcat.

Il est ensuite nécessaire de spécifier certains paramètres afin de s’assurer du bon fonctionnement de l’application cartographique et des services associés.

Deux possibilités s’offrent à vous pour effectuer ces manipulations :

  • modifier la base de données directement à la condition d’y avoir accès sur le serveur ou à distance,
  • modifier les paramètres via la console d’administration. Les changements seront enregistrés automatiquement dans la base de données.

Nous retiendrons la deuxième solution. La première est réservée à des utilisateurs avertis connaissant le fonctionnement de l’application et les différents paramètres nécessaires au fonctionnement de l’application.

Modification des paramètres via la console d’administration

La console est accessible via l’URL : http://localhost/geoconcept-web à partir du serveur. Cette URL devra être adaptée à votre propre installation (localhost remplacé par le nom de votre machine, éventuellement un numéro de port, geoconcept-web remplacé par le nom éventuellement différents de votre fichier .war si vous avez modifié le nom geoconcept-web).

Par défaut, les paramètres de connexion sont les suivants : admin / geoconcept. Se connecter à l’application.

Exemple de connexion à l’application
gcweb-reference-img/guides-installation/lbsp-connexion.png

Par défaut, l’utilisateur voit s’afficher la page d’accueil.

[Astuce] Astuce

Résumé : Pour le bon déploiement, il est nécessaire de remplir les 5 conditions suivantes :

  • dans une base de données, créer un schéma dédié au déploiement,
  • placer correctement un fichier de contexte (.xml) portant le nom du portail web que l’administrateur souhaite déployer,
  • déposer le fichier .war (fichier compressé) contenant les fichiers nécessaires au bon fonctionnement de l’application web,
  • vérifier que les noms des fichiers .war et .xml possèdent le même nom ! (Exemple : « geoconcept-web »)
  • le fichier de contexte (.xml) doit mentionner dans l’un de ses paramètres, le nom du schéma de base de données créé pour accueillir les tables nécessaires au bon fonctionnement de l’application,

Si l’une de ces conditions vient à manquer, le déploiement ne pourra aboutir.