Personnalisation

Auteur:Étienne Loks, Valérie-Emma Leroux
date:2017-07-22
Copyright:CC-BY 3.0

Ce document présente la personnalisation de Chimère. Il est à jour pour la version 3.0.0 de Chimère.

Gestion des couches

Les couches correspondent au fond de carte utilisé.

Par défaut, la couche disponible est le rendu OSM Mapnik. Vous pouvez ajouter d’autres couches en utilisant les pages d’administration de Chimère, dans Chimere > Couches.

La nouvelle couche est définie en utilisant une chaîne de code Javascript adéquate de la bibliothèque Openlayers. Ce code Javascript doit être une instance de Openlayers Layer, sans point virgule final.

Par exemple, utiliser le rendu OSM Humanitaire est possible avec ce code :

new ol.layer.Tile({
    title: "OSM - Humanitaire",
    'type': 'base',
    source: new ol.source.XYZ({
        url: 'http://{a-c}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png'
        })
    })

et définir une couche d’imagerie aérienne Bing peut être fait avec un code de ce type :

new ol.layer.Tile({
    title: "Imagerie aérienne Bing",
    type: 'base',
    preload: Infinity,
    source: new ol.source.BingMaps({
        key: "my-bing-API-key",
        imagerySet: 'Aerial',
        })
    })

Référez vous à la documentation de l’API Openlayers pour plus de détail.

Gestion des fichiers de surcouche

Les fichiers de surcouche permettent d’ajouter des éléments vectoriels fixes. Par exemple, des limites territoriales.

Vous pouvez ajouter des fichiers de surcouche en utilisant les pages d’administration de Chimère, dans Chimere > Fichiers de surcouche.

Le fichier importé doit être au format GeoJSON. Le système de coordonnées de référence du GeoJSON doit être en WGS84 (EPSG:4326).

Note

Vous pouvez récupérer les contours territoriaux (communes, EPCI, départements, régions) au format shapefile sur la plateforme ouverte des données publiques françaises, en extraire les contours pertinents et les enregistrer au format GeoJSON dans le logiciel libre de SIG QGIS.

Note

Les fichiers de surcouche doivent être légers pour ne pas ralentir le chargement de la carte, pensez à simplifier la géométrie de vos tracés !

Pour modifier le style d’un fichier de surcouche, il faut utiliser une chaîne de code Javascript de la bibliothèque Openlayers. Ce code Javascript doit être une liste d’instances de Openlayers Style, sans point virgule final.

Par exemple :

[
    new ol.style.Style({
        stroke: new ol.style.Stroke({
            color: 'red',
            width: 2
        }),
        fill: new ol.style.Fill({
            color: 'rgba(255, 255, 255, 0.4)'
        })
    })
]

Référez vous à la documentation de l’API Openlayers pour plus de détail.

Gestion des actualités

Un système d’actualités est disponible.

Pour chaque actualité il est nécessaire de fournir un nom et un contenu. Le contenu peut contenir des balises HTML.

La disponibilité est gérée avec une case à cocher.

Gestion des pages

Vous avez la possibilité d’ajouter des pages web statiques à votre Chimère, pour décrire le projet, les mentions légales.

Pour chaque page, il est nécessaire de fournir un nom, un ordre et un contenu. Le contenu peut contenir des balises HTML.

Vous pouvez également ajouter un gabarit ; voir ci-dessous les informations sur les gabarits de page Django.

Personnalisation de l’agencement et du design

Si vous souhaitez simplement améliorer la feuille de style CSS, le plus simple est d’ajouter un lien vers une feuille de style supplémentaire dans vos Zones (cf. Gestion des zones).

Si vous souhaitez faire des changements plus importants dans l’agencement et la présentation, le projet example_project peut être personnalisé pour correspondre à vos besoins. Chaque fichier de gabarit de page présent dans le dossier chimere/templates peut être copié dans votre dossier monprojet/templates puis modifié.

Il est juste nécessaire de copier les fichiers que vous souhaitez modifier. Ces fichiers sont écrits dans le langage de gabarit Django principalement composé de HTML avec des éléments de logique. Référez vous à la documentation des gabarits Django pour plus de détails.