Information générale

Brève vue d'ensemble du design de JMap Web

JMap Web fournit une application Web capable d'interagir avec JMap Serveur. L'ergonomie de son interface utilisateur est principalement adaptée pour les navigateurs web d'ordinateurs portables et d'ordinateurs de bureau.

Les éléments principaux d'une application JMap Web sont les suivants:

Le client: Peut être décrit comme une application web à une seule page (index.jsp). Le client consiste en la page telle qu'elle sera rendue dans le navigateur des utilisateurs.

Un Web Map Service: Donne accès aux tuiles de la carte.

Le «Dispatcher AJAX»: Un service web auquel des requêtes HTTP sont envoyées. Le «Dispatcher AJAX» achemine ensuite les requêtes au  «Action Handler» approprié. Ceci sera présenté davantage dans la section Envoyer des requêtes au serveur et actions personnalisées de ce document.

Bibliothèques JavaScript de tiers utilisées

JMap Web fait utilisation de plusieurs bibliothèques JavaScript de tiers. Vos extensions peuvent tirer parti de celles-ci sans aucune configuration additionnelle. Le tableau suivant fournit une brève explication de l'utilisation de ces bibliothèques par JMap Web.

Bibliothèque

Description

DataTables (v1.9.4)

Plugin jQuery qui facilite la création de tableaux HTML puissants pour la représentation de données. Ceci est principalement utilisé pour afficher les résultats de recherches.

fancyBox (v2.15)

Affiche du contenu dans une interface de style «lightbox». JMap Web utilise fancyBox pour afficher des documents de taille-réelle inclus dans le contenu d'une infobulle.

Google Maps (v3)

Nécessaire pour afficher les couches de base «Roadmap», «Terrain», «Satellite» et «Hybride» de Google Maps.

jQuery (v2.1.4)

jQuery est une bibliothèque JavaScript rapide, petite, et riche en fonctionnalités. Elle simplifie la navigation du document HTML, la manipulation d'éléments, la gestion des événements, l'animation, et les requêtes AJAX. Son API est facile à utiliser et fonctionne sur une multitude de navigateurs.

jQuery-ui (v1.11.4)

Bibliothèque d'éléments d'interface utilisateur nécessitant jQuery. Présentement, JMap Web utilise une version personnalisée qui n'inclut que la composante «autocomplete».

jQuery UI Touch Punch (v0.2.3)

Bibliothèque qui adresse certains soucis de compatibilité de jQuery-ui sur interfaces tactiles (mobile, tablette).

moment.js (v2.10.6)

Bibliothèque utilisée pour lire, valider, manipuler et afficher des dates en JavaScript.

moment-jdateformatparser (v1.0.0)

Plugin de la bibliothèque moment.js permettant d'interpréter les formats de date Java (java.text.SimpleDateFormat).

malihu-custom-scrollbar-plugin (v3.0.7)

Ajuste l'apparence des barres de défilement dans les infobulles. Sa fonction principale est de standardiser l'apparence des barres de défilement dans les différents navigateurs web.

OpenLayers (v3.15.1)

Ceci est la bibliothèque la plus importante de JMap Web. OpenLayers permet l'affichage de la carte dans JMap Web et gère également la majorité des interactions avec celle-ci.

Ol3-Google-Maps (v0.4)

Cette bibliothèque de Mapgears permet l'utilisation des couches Google Maps avec OpenLayers 3.

Proj4js (v2.3.12)

Proj4js est une bibliothèque qui permet de traduire des coordonnées géographiques d'un système de projection cartographique à l'autre. Proj4js est utilisé par OpenLayers, mais n'est pas fourni avec celle-ci.

Afin de pouvoir accomplir des transformations pour des projections nommées (ex: “EPSG:3857”), les projections doivent être définies dans Proj4js. Seulement un petit nombre définitions de projections est disponible par défaut.

JMap Web inclut un fichier de définition de projection Proj4js pour chacune des projections supportées par JMap Serveur. Les définitions de projections seront chargées en mémoire au fur et à mesure qu'elles seront requises.

slideReveal (v1.0.1)

Bibliothèque facilitant le menu principal de JMap Web.

switchery (v0.8.1)

Bibliothèque qui permet de produire des boutons radio similaires à ceux d'iOS 7.

Twitter Bootstrap (3.3.6)

«Framework front-end» pour créer des interfaces utilisateur.

bootstrap-datetimepicker (v4.15.35)

Outil pour sélectionner une date/heure avec Twitter Bootstrap.

bootstrap-multiselect (v0.9.10)

Outil pour sélectionner des choix multiples avec Twitter Bootstrap.