Création de modèles d'applications Web
Pour créer votre propre modèle d'application Web personnalisée, vous pouvez télécharger et modifier un des modèles existants, mettre à jour une application Web existante pour utiliser le contenu de votre portail ou créer une nouvelle application Web à l'aide d'une des API Web ArcGIS. Quelle que soit la manière dont vous créez votre propre modèle, vous utiliserez des paramètres URL et des cartes Web. Vous pouvez utiliser des groupes si vous créez un modèle de groupe et vous pouvez envisager des conditions supplémentaires pour utiliser des cartes de base Bing, accéder à des cartes non publiques et utiliser des ressources qui nécessitent un proxy ou un service CORS (Cross-Origin Resource Sharing). Vous ajouterez également votre élément à votre portail et, si votre organisation prévoit d'utiliser votre modèle dans sa bibliothèque des modèles, vous le partagerez avec l'un des groupes de modèles de votre organisation.
Portal for ArcGIS comprend la version 3.7 de l'API ArcGIS pour JavaScript. Vous n'avez pas besoin d'héberger votre propre API ni de faire pointer le portail sur la version locale. Les modèles d'application Web font automatiquement référence à l'API installée. L'API installée localement est généralement disponible à l'adresse suivante : https://webadaptor.domain.com/arcgis/jsapi/jsapi.
Ne modifiez pas les fichiers de modèles d'applications Web fournis avec Portal for ArcGIS, car ces fichiers sont gérés par le portail et toute modification que vous y apportez peut être supprimée par le portail par la suite. Pour personnaliser les modèles, procédez comme suit :
- Créez une copie du fichier de modèle existant que vous souhaitez personnaliser.
- Placez cette copier dans un emplacement différent sur le disque.
- Personnalisez la copie du modèle.
- Ajoutez-la à votre portail en tant que nouveau modèle.
Cette rubrique explique comment créer un modèle d'application Web. Une fois que vous avez créé votre modèle, vous pouvez le rendre configurable. Les modèles configurables permettent aux utilisateurs de personnaliser l'apparence et le comportement de l'application. Pour plus d'informations sur la création de modèles configurables, reportez-vous à la rubrique Ajouter des paramètres configurables à vos modèles.
Paramètres URL
Lorsque vous utilisez un modèle, spécifiez la carte Web ou le groupe à afficher en incluant le paramètre webmap ou group ID dans l'URL du modèle. Les ID des cartes Web sont spécifiés avec le paramètre webmap et le contenu des groupes est spécifié avec le paramètre group. Pour que votre modèle personnalisé fonctionne avec la carte Web ou le groupe en cours, vous devez inclure du code dans l'application afin d'extraire l'ID de la carte Web ou du groupe en cours de l'URL. Pour plus d'informations sur les paramètres des cartes Web, reportez-vous à la rubrique Utilisation de paramètres URL.
Vous pouvez par exemple afficher la carte Web Fond de carte de l'Europe dans le modèle Visionneuse de base.
Pour ce faire, commencez avec l'URL de la visionneuse de base :
http://www.arcgis.com/apps/OnePane/basicviewer/index.html
Copiez la partie webmap= de l'URL du fond de carte de l'Europe :
http://www.arcgis.com/home/webmap/viewer.html?webmap=5421a40574914458892efe74f0149025
Ajoutez-la ensuite à la fin de l'URL de la visionneuse de base :
http://www.arcgis.com/apps/OnePane/basicviewer/index.html?webmap=5421a40574914458892efe74f0149025
L'API JavaScript comporte une méthode d'assistance esri.urlToObject qui simplifie ce processus. Cette méthode convertit les paramètres URL en un objet.
var webmap;
var urlObject = esri.urlToObject(document.location.href);
Une fois les paramètres URL convertis en un objet, vous pouvez accéder aux différentes entrées. Vous pouvez par exemple attribuer la valeur du paramètre URL de la carte Web à une variable nommée webmap_id.
var webmap_id = urlObject.query.webmap;
Si l'application est configurable, vous devez gérer un paramètre URL appelé appid qui définit les paramètres de configuration. Pour plus d'informations sur le paramétrage du modèle pour lire les informations du fichier de configuration, reportez-vous à la rubrique Ajouter des paramètres configurables à vos modèles.
Cartes Web
Les modèles de cartes Web sont conçus pour fonctionner avec la carte Web actuellement affichée dans la visionneuse de carte . Les modèles créent généralement une carte en fonction de la carte Web spécifiée dans le paramètre URL de la carte Web. Chacune des API Web possède une méthode d'assistance qui crée une carte à l'aide des informations issues de l'ID de la carte Web.
Vous pouvez par exemple utiliser la méthode esri.arcgis.utils.createMap d'ArcGIS API for JavaScript pour créer une carte en fonction de l'ID en entrée. Vous pouvez également inclure une fonction de rappel qui s'exécute lorsque la requête synchrone sur esri.arcgis.utils.createMap est terminée.
esri.arcgis.utils.createMap(webmap,"map",{
mapOptions:{
slider:false
},
bingMapsKey:bingMapsKey
}).then(function(response){
map = response.map;
});
Si certaines de vos cartes Web incluent un fond de carte Bing Maps, vous devez indiquer une clé Bing Maps avec la méthode createMap. Vous pouvez également spécifier plusieurs autres options cartographiques, telles qu'indiquer si vous souhaitez afficher le curseur, la navigation, l'attribution, etc.
La fonction de rappel callback permet d'accéder à un objet de réponse qui fournit l'accès à l'objet de carte, aux couches, etc.
Groupe
Les modèles de groupes affichent le contenu provenant du groupe spécifié sous forme d'une application. Pour plus d'informations sur la création d'applications de bibliothèques, reportez-vous à la rubrique Création d'applications avec des groupes .
L'API REST ArcGIS permet d'accéder au contenu de votre portail. Vous pouvez l'utiliser pour extraire le contenu du groupe en fonction de l'ID de groupe en entrée.
Dans cet exemple, vous effectuez une requête pour trouver un groupe avec l'ID en entrée.
var portal = new esri.arcgis.Portal('https://webadaptor.domain.com/arcgis/');
dojo.connect(portal, 'onLoad',function(){
portal.queryGroup(groupid).then(function(response){
var group = response.results[0];
});
});
Une fois le groupe trouvé, vous pouvez demander à extraire les éléments du groupe.
Dans cet exemple, vous interrogez le groupe pour trouver cinq éléments de type Carte Web ou Application cartographique Web.
var queryParams = {
q: 'type:"Web Map" -type:"Web Mapping Application"',
num: 5
};
group.queryItems(queryParams).then(function(response){
var groupItems = response.results;
});
Autres éléments à prendre en compte
Les modèles étant généralement conçus pour fonctionner avec de nombreux types de contenu différents, vous devrez peut-être paramétrer le modèle pour gérer les cartes comportant des fonds de carte Bing Maps, du contenu non public, etc. Vous trouverez ci-dessous des remarques spécifiques.
Clé Bing Maps
Si certaines des cartes Web que vous souhaitez afficher utilisent un fond de carte Bing Maps, vous devez inclure une clé Bing Maps dans votre application. La clé Bing Maps est fournie sous forme de paramètre à la méthode createMap.
Gestionnaire d'identité
Le gestionnaire d'identité simplifie l'utilisation des ressources sécurisées. Il gère les processus suivants : demande des informations d'identification de l'utilisateur, génération d'un jeton et ajout du jeton à la ressource. En incluant la classe du gestionnaire d'identité dans votre application de modèle, le modèle fonctionnera avec les cartes Web privées et publiques.
Incluez la ligne de code suivante dans votre application pour activer le gestionnaire d'identité :
dojo.require("esri.IdentityManager");
Pour en savoir plus sur le gestionnaire d'identité
Vous devez également configurer SSL sur le serveur Web qui héberge votre application.
Prise en charge proxy et CORS
Si votre application doit effectuer des requêtes inter-domaines, vous devez activer CORS (Cross-Origin Resource Sharing) ou ajouter un proxy à votre application.
Ajout du modèle dans votre portail
Une fois que vous avez créé le modèle et que vous l'avez hébergé sur votre serveur Web, ajoutez-le dans votre portail en tant qu'élément d'application cartographique Web et spécifiez l'URL de l'application. Pour cela, sélectionnez Configurable. Sélectionnez Javascript comme API. Pour plus d'informations sur l'ajout d'applications dans votre portail, reportez-vous à la rubrique Ajout d'applications.
N'oubliez pas d'inclure un titre descriptif et un résumé, car ces informations s'affichent lorsque les utilisateurs placent le curseur de la souris sur l'élément de modèle dans la bibliothèque des modèles. Vous pouvez également créer un fichier ZIP contenant les fichiers de votre application et l'associer à l'élément pour permettre de la télécharger.
Utilisation du modèle dans la bibliothèque de votre organisation
Si vous souhaitez utiliser le modèle dans la bibliothèque des modèles cartographiques Web ou dans la bibliothèque des modèles de groupes de votre organisation, partagez l'élément avec le groupe utilisé pour les modèles. L'administrateur de votre organisation pourra configurer la visionneuse de carte ou configurer les groupes de façon à utiliser le groupe qui comprend votre modèle.