Travel & Notes - Guide d'installation
- Où installer Travel & Notes?
- Guide d'installation pour les null
- Guide d'installation pour les geeks
- Que faut-il faire dans le fichier HTML?
- Quelques explications complémentaires sur le Javascript
- Le contenu du fichier TravelNotesConfig.json
- Le contenu du fichier TravelNotesLayers.json
- Le contenu des fichiers TravelNotesNoteDialogFR.json et TravelNotesNoteDialogEN.json
- Le contenu du fichier de configuration pouvant être chargé avec le bouton 📂 dans la boite d'édition des notes
- Configurer "Rechercher dans OpenStreetMap"
- Utiliser le viewer
- Traductions
1. Où installer Travel & Notes?
Pour des raisons de sécurité, il n'est plus possible d'utiliser Travel & Notes depuis le disque d'un
ordinateur. Il est indispensable de passer par l'intermédiaire soit d'un serveur web distant, soit
d'un serveur web local de type LAMP or MAMP.
Voir https://www.mozilla.org/en-US/security/advisories/mfsa2019-21/#CVE-2019-11730
2. Guide d'installation pour les null
Pas de grandes connaissances informatiques? Téléchargez la dernière version,
copiez le contenu du répertoire docs/demo/ dans un répertoire sur votre serveur et ouvrez le fichier index.html. That's all :-).
3. Guide d'installation pour les geeks
3.1. Que faut-il faire dans le fichier HTML?
Bien que Travel & Notes utilise Leaflet pour afficher la carte, il n'est pas nécessaire d'installer celui-ci car tant les feuilles de style que le Javascript de Leaflet sont intégrés dans TravelNotes.
Dans le <head> du fichier, chargez la feuille de style de TravelNotes
<head>
...
<link rel="stylesheet" href="TravelNotes.min.css" />
...
</head>
Et dans le <body> chargez les Javascript de TravelNotes et des plugins de TravelNotes
<body>
...
<script src="TravelNotes.min.js"></script>
<noscript>Oh oh. Javascript is not enabled. It's impossible to display this page without javascript.</noscript>
<!--
Route providers scripts for Mapbox, Stadia Maps (MapzenValhalla), GraphHopper and OpenRouteService have only to be installed
if you have an API key for Mapbox, Stadia Maps, GraphHopper or openRouteService.
Route providers scripts for OSRM, public transport and polyline have only to be installed
if you will work with these providers. -->
<script src="TravelNotesProviders/MapboxRouteProvider.min.js"></script>
<script src="TravelNotesProviders/MapzenValhallaRouteProvider.min.js"></script>
<script src="TravelNotesProviders/GraphHopperRouteProvider.min.js"></script>
<script src="TravelNotesProviders/OpenRouteServiceRouteProvider.min.js"></script>
<script src="TravelNotesProviders/OSRMRouteProvider.min.js"></script>
<script src="TravelNotesProviders/PublicTransportRouteProvider.min.js"></script>
<script src="TravelNotesProviders/PolylineRouteProvider.min.js"></script>
</body>
Travel & Notes créera automatiquement la carte et tous les contrôles nécessaires.
3.2. Quelques explications complémentaires sur le Javascript
Voyez la documentation du code JS
pour plus d'informations.
Notez cependant que seul l'objet TravelNotes est accessible depuis du code JS additionnel
(via window.TaN - window.L.TravelNotes est déprécié et a été retiré du code).
Si vous désirez utiliser d'autres objets, vous devez télécharger les sources et les importer dans votre code comme
des modules EcmaScript.
3.3. Le contenu du fichier TravelNotesConfig.json
Ce fichier permet de modifier certains comportements de TravelNotes. Soyez prudent quand vous
modifiez ce fichier. Vous devez suivre toutes les règles d'écriture des fichiers json.
Le contenu du fichier TravelNotesConfig.json:
- APIKeys.saveToSessionStorage : quand cette valeur est true, les clefs d'accès sont sauvées dans le 'sessionStorage' ( valeur par défaut : true )
- APIKeysDialog.haveUnsecureButtons : quand cette valeur est true, des boutons pour enrégistrer ou restaurer les clefs d'accès dans un fichier non sécurisé sont présents ( valeur par défaut : false )
- APIKeysDialog.showAPIKeys : quand cette valeur est true, les clefs d'accès sont lisibles dans la boite de dialogue ( valeur par défaut : false )
- APIKeysDialog.showButton : quand cette valeur est true, le bouton 🔑 est présent dans la barre d'outils ( valeur par défaut : true )
- baseDialog.cancelTouchX : la distance en pixel entre le bord gauche de l'écran et le début la zone oµ il est possible d'annuler un dialogue. Valeur par défaut : 100.
- baseDialog.cancelTouchY : la distance en pixel entre le bord supérieur de l'écran et la fin la zone oµ il est possible d'annuler un dialogue. Valeur par défaut : 150.
- baseDialog.deltaZoomDistance : la distance nécessaire, en pixel, pour incrémenter le zoom de la carte sur les écrans tactiles. Valeur par défaut : 75.
- baseDialog.touchTopScreen : lorsque cette valeur est "true" les dialogues sont affichés en haut se l'écran quand celui-ci est tactile
- contextMenu.timeout : le temps qui va s'écouler, en millisecondes, entre le moment où la souris ne se trouve plus sur le menu contextuel et le moment ou le menu se ferme automatiquement ( valeur par défaut : 1500 )
- dockableBaseDialog.timeout : le temps qui va s'écouler, en millisecondes, entre le moment où la souris ne se trouve plus sur un dialogue dockable et le moment ou le dialogue se réduit automatiquement ( valeur par défaut : 1500 )
- dockableBaseDialog.hideOnMouseLeave : quand cette valeur est true, les dialogues dockables se ferment dès que la souris quitte le dialogue.
- errorsUI.helpTimeOut : le temps qui va s'écouler, en millisecondes, entre le moment où un message d'aide est affiché et le moment où il est effacé ( valeur par défaut : 30000 )
- errorsUI.showError : quand cette valeur est true, les messages d'erreur sont affichés ( valeur par défaut : true )
- errorsUI.showHelp : quand cette valeur est true, les messages d'aide sont affichés ( valeur par défaut : false )
- errorsUI.showInfo : quand cette valeur est true, les messages d'information sont affichés ( valeur par défaut : true )
- errorsUI.showWarning : quand cette valeur est true, les messages d'avertissement sont affichés ( valeur par défaut : true )
- errorsUI.timeOut : le temps qui va s'écouler, en millisecondes, entre le moment où un message est affiché et le moment où il est effacé ( valeur par défaut : 10000 )
files.openTaN : une liste des extensions de fichiers qui seront considérés comme des fichiers de voyage lors de l'ouverture d'un fichier. Valeur par défaut : "json","trv".
- files.openGpx : une liste des extensions de fichiers qui seront considérés comme des fichiers gps lors de l'ouverture d'un fichier. Valeur par défaut : "gpx".
- files.writeTouch : l'extension de fichier à utiliser lors de la sauvegarde d'un fichier de voyage sur un appareil avec écran tactile. Valeur par défaut : "trv".
- files.writeOthers : l'extension de fichier à utiliser lors de la sauvegarde d'un fichier de voyage sur un ordinateur de bureau. Valeur par défaut : "trv".
- fontSize.initialValue : la hauteur de texte en mm à utiliser au démarrage. Valeur par défaut : 3.0 mm
- fontSize.incrementValue : la valeur d'incrémentation de la hauteur de texte lors de l'utilisation des boutons + et -. Valeur par défaut : 0.5 mm.
- FullScreenUI.timeOut : la durée d'affichage en ms de l'interface fullscreen au démarage. Valeur par défaut : 5000.
- FullScreenUI.screenMaxWidth : la largeur maximale de l'écran, en pixel, pour que l'interface fullscreen soit affichée. Valeur par défaut : 1200 pixels.
- geoCoder.distances.city : la distance maximum en mètres entre le point donné par l'utilisateur pour une adresse et un point avec le tag place=city dans OSM, pour que ce tag soit utilisé dans l'adresse ( valeur par défaut : 1200 )
- geoCoder.distances.hamlet : la distance maximum en mètres entre le point donné par l'utilisateur pour une adresse et un point avec le tag place=hamlet dans OSM, pour que ce tag soit utilisé dans l'adresse ( valeur par défaut : 200 )
- geoCoder.distances.town : la distance maximum en mètres entre le point donné par l'utilisateur pour une adresse et un point avec le tag place=town dans OSM, pour que ce tag soit utilisé dans l'adresse ( valeur par défaut : 1500 )
- geoCoder.distances.village : la distance maximum en mètres entre le point donné par l'utilisateur pour une adresse et un point avec le tag place=village dans OSM, pour que ce tag soit utilisé dans l'adresse ( valeur par défaut : 400 )
- geoCoder.osmCityAdminLevel.DEFAULT : la valeur utilisée dans le tag OSM admin_level pour une municipalité ( valeur par défaut : 8 )
- geoCoder.osmCityAdminLevel.GB : la valeur utilisée dans le tag OSM admin_level pour une municipalité dans un pays qui ne suit pas la règle par défaut de OSM. GB doit être remplacé par le code ISO 3166-1 du pays en question.
- geoLocation.marker.color : la couleur du cercle utilisé pour indiquer la geolocalisation ( valeur par défaut : #ff0000 )
- geoLocation.marker.radius : le rayon du cercle utilisé pour indiquer la geolocalisation ( valeur par défaut : 10 )
- geoLocation.options.enableHighAccuracy : voir les options Javascript des fonctions de localisation ( valeur par défaut : false )
- geoLocation.options.maximumAge : voir les options Javascript des fonctions de localisation ( valeur par défaut : 0 )
- geoLocation.options.timeout : voir les options Javascript des fonctions de localisation ( valeur par défaut : 3600000 )
- geoLocation.watch : quand cette valeur est true, la fonction watchPosition ( ) est utilisée.
- geoLocation.zoomFactor : le facteur de zoom utilisé pour la geolocalisation ( valeur par défaut : 17 )
- geoLocation.zoomToPosition : quand cette valeur est true, un zoom sur la position sera effectué lors de la première geolocalisation ( valeur par défaut : true )
- itineraryPoint.marker.color : la couleur du cercle utilisé pour indiquer sur la carte un point de l'itinéraire ( valeur par défaut : #ff0000 )
- itineraryPoint.marker.fill : le remplissage du cercle utilisé pour indiquer sur la carte un point de l'itinéraire ( valeur par défaut : false )
- itineraryPoint.marker.radius : le rayon du cercle utilisé pour indiquer sur la carte un point de l'itinéraire ( valeur par défaut : 7 )
- itineraryPoint.marker.weight : l'épaisseur du cercle utilisé pour indiquer sur la carte un point de l'itinéraire ( valeur par défaut : 2 )
- itineraryPoint.zoomFactor : le facteur de zoom utilisé lorsqu'un zoom est fait sur un point de l'itinéraire ( valeur par défaut : 17 )
- mapContextMenu.mouseMaxRouteDistance : la distance, en pixels, entre le point sélectionné par la souris et la route la plus proche de ce point pour considérer que l'utilisateur voulait sélectionner cette route.
- mapContextMenu.touchMaxRouteDistance : la distance, en pixels, entre le point sélectionné par l'écran tactile et la route la plus proche de ce point pour considérer que l'utilisateur voulait sélectionner cette route.
- mapLayersToolbar.theDevil.addButton : quand cette valeur est true, un bouton "theDevil" est ajouté à la barre d'outils ( valeur par défaut : true )
- map.center.lat : la latitude utilisée pour le centre de la carte au démarage ( valeur par défaut : 50.50923 )
- map.center.lng : la longitude utilisée pour le centre de la carte au démarage ( valeur par défaut : 5.49542 )
- map.zoom : le zoom utilisé pour la carte au démarage ( valeur par défaut : 12 )
- nominatim.url : l'url à utiliser pour Nominatim ( valeur par défaut : "https://nominatim.openstreetmap.org/" )
- nominatim.language : la langue à utiliser pour Nominatim ( valeur par défaut : * )
- note.grip.size : la dimension de la poignée à l'extrémité de la ligne de rappel d'une note ( valeur par défaut : 10 )
- note.grip.opacity : l'opacité de la poignée à l'extrémité de la ligne de rappel d'une note - rappel : 0 = invisible ( valeur par défaut : 0 )
- note.grip.moveOpacity : l'opacité de la poignée à l'extrémité de la ligne de rappel d'une note quand la souris se trouve sur la poignée ( valeur par défaut : 1 )
- note.haveBackground : quand cette valeur est true, un arrière-plan blanc est affiché avec la note ( valeur par défaut : false )
- note.maxManeuversNotes : le maximum de notes qui peuvent être créées avec la commande "Créer une note pour chaque maneoeuvre du trajet" ( valeur par défaut : 100 )
- note.polyline.color : la couleur de la ligne de rappel d'une note ( valeur par défaut : #808080 )
- note.polyline.weight : l'épaisseur de la ligne de rappel d'une note ( valeur par défaut : 1 )
- note.reverseGeocoding : quand cette valeur est true, les coordonnées des notes sont remplacées par une adresse ( valeur par défaut : true )
- note.svgIcon.angleDistance : la distance minimale à utiliser entre le centre de l'icône SVG et le point de l'itinéraire utilisé pour calculer la rotation de l'icône ( valeur par défaut : 10 )
- note.svgIcon.angleDirection.right : l'angle maximum de la direction à suivre pour l'indication "Tourner à droite" dans le tooltip des icones SVG ( valeur par défaut : 35 )
- note.svgIcon.angleDirection.slightRight : l'angle maximum de la direction à suivre pour l'indication "Tourner légèrement à droite" dans le tooltip des icones SVG ( valeur par défaut : 80 )
- note.svgIcon.angleDirection.continue : l'angle maximum de la direction à suivre pour l'indication "Continuer" dans le tooltip des icones SVG ( valeur par défaut : 100 )
- note.svgIcon.angleDirection.slightLeft : l'angle maximum de la direction à suivre pour l'indication "Tourner légèrement à gauche" dans le tooltip des icones SVG ( valeur par défaut : 145 )
- note.svgIcon.angleDirection.left : l'angle maximum de la direction à suivre pour l'indication "Tourner à gauche" dans le tooltip des icones SVG ( valeur par défaut : 200 )
- note.svgIcon.angleDirection.sharpLeft : l'angle maximum de la direction à suivre pour l'indication "Tourner fortement à gauche" dans le tooltip des icones SVG ( valeur par défaut : 270 )
- note.svgIcon.angleDirection.sharpRight : l'angle maximum de la direction à suivre pour l'indication "Tourner fortement à droite" dans le tooltip des icones SVG ( valeur par défaut : 340 )
- note.svgIcon.rcnRefDistance : la plus grande distance acceptable entre la note et le noeud OSM ayant une clef rcn_ref ( valeur par défaut : 20 )
- note.svgIcon.roadbookFactor : le facteur d'agrandissement des icônes SVG dans le roadbook ( valeur par défaut : 6 )
- note.svgIcon.zoom : la valeur du zoom utilisé pour réaliser les icônes SVG ( valeur par défaut : 17 )
- noteDialog.areaHeight.icon : le nombre de lignes de la zone d'édition de l'icône ( valeur par défaut : 2 )
- noteDialog.areaHeight.popupContent : le nombre de lignes de la zone d'édition du texte ( valeur par défaut : 8 )
- noteDialog.theDevil.addButton : quand cette valeur est true, un bouton "theDevil" est ajouté à la boite de dialogue d'édition ( valeur par défaut : true )
- noteDialog.theDevil.zoomFactor : le zoom utilisé pour le bouton "theDevil" ( valeur par défaut : 17 )
- osmSearchDialog.dialogX : la position horizontale par defaut de la fenêtre "Recherche OpenStreetMap" par rapport au coin supérieur gauche de l'écran
- osmSearchDialog.dialogY : la position verticale par defaut de la fenêtre "Recherche OpenStreetMap" par rapport au coin supérieur gauche de l'écran
- osmSearch.nextSearchLimit.color : la couleur de la polyline utilisée pour indiquer sur la carte la zone de la prochaine recherche ( valeur par défaut : "#ff0000" )
- osmSearch.nextSearchLimit.fill : le remplissage de la polyline utilisée pour indiquer sur la carte la zone de la prochaine recherche ( valeur par défaut : false )
- osmSearch.nextSearchLimit.weight : l'épaisseur de la polyline utilisée pour indiquer sur la carte la zone de la prochaine recherche ( valeur par défaut : 1 )
- osmSearch.previousSearchLimit.color : la couleur de la polyline utilisée pour indiquer sur la carte la zone de la dernière recherche effectuée ( valeur par défaut : "#006400" )
- osmSearch.previousSearchLimit.fill : le remplissage de la polyline utilisée pour indiquer sur la carte la zone de la dernière recherche effectuée ( valeur par défaut : false )
- osmSearch.previousSearchLimit.weight : l'épaisseur de la polyline utilisée pour indiquer sur la carte la zone de la dernière recherche effectuée ( valeur par défaut : 1 )
- osmSearch.searchPointMarker.color : la couleur du cercle utilisé pour indiquer sur la carte la position d'un résultat de recherche lorsque ce résultat est sous forme de point ( valeur par défaut : "#006400" )
- osmSearch.searchPointMarker.fill : le remplissage du cercle utilisé pour indiquer sur la carte la position d'un résultat de recherche lorsque ce résultat est sous forme de point ( valeur par défaut : false )
- osmSearch.searchPointMarker.radius : le rayon du cercle utilisé pour indiquer sur la carte la position d'un résultat de recherche lorsque ce résultat est sous forme de point ( valeur par défaut : 20 )
- osmSearch.searchPointMarker.weight : l'épaisseur du cercle utilisé pour indiquer sur la carte la position d'un résultat de recherche lorsque ce résultat est sous forme de point ( valeur par défaut : 4 )
- osmSearch.searchPointPolyline.color : la couleur de la polyline utilisée pour indiquer sur la carte la position d'un résultat de recherche lorsque ce résultat est sous forme de polyline ( valeur par défaut : "#006400" )
- osmSearch.searchPointPolyline.fill : le remplissage de la polyline utilisée pour indiquer sur la carte la position d'un résultat de recherche lorsque ce résultat est sous forme de polyline ( valeur par défaut : false )
- osmSearch.searchPointPolyline.weight : l'épaisseur de la polyline utilisée pour indiquer sur la carte la position d'un résultat de recherche lorsque ce résultat est sous forme de polyline ( valeur par défaut : 4 )
- osmSearch.showSearchNoteDialog : quand cette valeur est true, la boite de dialogue d'édition des notes est affichée lorsqu'une note est créée à partir d'un résultat de recherche ( valeur par défaut : false )
- overpassApi.useNwr : certaines instances de OverpassAPI ne connaissent pas l'instruction nwr. Dans ce cas il faut mettre useNwr = false ( valeur par defaut: true )
- overpassApi.timeOut : le temps qui va s'écouler, en secondes, entre le moment où une requête vers OverpassAPI est lancée et celui où un timeout sera déclenché ( valeur par défaut : 40 )
- overpassApi.url : l'url à utiliser pour OverpassAPI ( valeur par défaut : "https://lz4.overpass-api.de/api/interpreter" )
- printRouteMap.firefoxBrowser : quand cette valeur est true, la commande utilise les css pour firefox par défaut
- printRouteMap.isEnabled : quand cette valeur est true, la commande pour imprimer les cartes d'un trajet est active ( valeur par défaut : true )
- printRouteMap.borderWidth : la largeur en millimètres du bord de carte qui sera dupliqué dans chaque carte ( valeur par défaut : 10 )
- printRouteMap.maxTiles : le maximum de tuiles pouvant être utilisées pour imprimer un trajet ( valeur par défaut : 720 )
- printRouteMap.paperWidth : la largeur du papier en millimètres ( valeur par défaut : 287 )
- printRouteMap.paperHeight : la hauteur du papier en millimètres ( valeur par défaut : 200 )
- printRouteMap.printNotes : quand cette valeur est true, l'icône des notes est également imprimée ( valeur par défaut : true )
- printRouteMap.zoomFactor : le facteur de zoom à utiliser pour l'impression ( valeur par défaut : 15 )
- printRouteMap.entryPointMarker.color : la couleur du marqueur de début de trajet sur chaque carte ( valeur par défaut : "#00ff00" )
- printRouteMap.entryPointMarker.weight : l'épaisseur du marqueur de début de trajet sur chaque carte ( valeur par défaut : 4 )
- printRouteMap.entryPointMarker.radius : le rayon du marqueur de début de trajet sur chaque carte ( valeur par défaut : 10 )
- printRouteMap.entryPointMarker.fill : le remplissage du marqueur de début de trajet sur chaque carte ( valeur par défaut : true )
- printRouteMap.entryPointMarker.fillOpacity : l'opacité du marqueur de début de trajet sur chaque carte ( valeur par défaut : 1 )
- printRouteMap.exitPointMarker.color : la couleur du marqueur de fin de trajet sur chaque carte ( valeur par défaut : "#ff0000"
- printRouteMap.exitPointMarker.weight : l'épaisseur du marqueur de fin de trajet sur chaque carte ( valeur par défaut : 4 )
- printRouteMap.exitPointMarker.radius : le rayon du marqueur de fin de trajet sur chaque carte ( valeur par défaut : 10 )
- printRouteMap.exitPointMarker.fill : le remplissage du marqueur de fin de trajet sur chaque carte ( valeur par défaut : true )
- printRouteMap.exitPointMarker.fillOpacity : l'opacité du marqueur de fin de trajet sur chaque carte ( valeur par défaut : 1 )
- route.color : la couleur par défaut d'un trajet ( valeur par défaut : "#ff0000" )
- route.dashArray : le type de ligne à utiliser par défaut = un nombre correspondant à l'indice du type de ligne dans le tableau dashChoices ( valeur par défaut : 0 )
- route.dashChoices : un tableau reprenant les différents type de lignes affichés dans la boite de dialogue RoutesPropertiesDialog.
Text sera affiché dans le sélecteur du type de ligne et iDashArray est le template du type de ligne.
Attention: les valeurs contenues dans ce tableau sont des valeurs numériques et seront multipliées par l'épaisseur de la ligne (width) et transformées en texte avant d'être utilisées pour adapter le type de ligne
( valeur par défaut : "[ { text : "——————" , iDashArray : [0] }, { text : "—————", iDashArray : [ 4, 2 ] }, { text : "—‧—‧—‧—‧—" , iDashArray : [ 4, 2, 0, 2] }, { text : "················", iDashArray : [ 0,2 ] } ]" )
- route.elev.smooth : quand cette valeur est true, le profil du trajet est lissé ( valeur par défaut : true )
- route.elev.smoothCoefficient : un coefficient utilisé pour calculer la distance entre deux points pour le lissage de l'élévation ( valeur par défaut : 0.25 )
- route.elev.smoothPoints : le nombre de points avant et après le point courant dans les calculs de lissage ( valeur par défaut : 3 )
- route.showDragTooltip : le nombre de fois que le tooltip affiché lors de l'ajout d'un point de passage est montré ( -1 = toujours ; valeur par défaut : 0 )
- route.width : l'épaisseur par défaut d'un trajet ( valeur par défaut : 5 )
- routeEditor.showEditedRouteInRoadbook : quand cette valeur est true les modifications du trajet en cours d'édition seront immédiatement importées dans le livre de voyage ( valeur par défaut : true )
- toolbars.timeOut : le temps qui va s'écouler, en millisecondes, entre le moment où la souris quitte une barre d'outil et le moment où celle-ci est masquée ( valeur par défaut : 1500 )
- travelNotes.haveBeforeUnloadWarning : quand cette valeur est true, un message de confirmation est affiché chaque fois que le voyage en cours d'édition va être effacé ( valeur par défaut : true )
- travelNotes.language : la langue utilisée par Travel& Notes, sauf si une autre langue est précisée dans l'url ( valeur par défaut : "fr" )
- travelNotes.startupRouteEdition : quand cette valeur est true, un trajet est directement édité au chargement d'un nouveau voyage ( valeur par défaut : true )
- travelNotesToolbar.contactMail.url : l'adresse mail utilisée dans le bouton contact ( valeur par défaut : "https://github.com/wwwouaiebe/TravelNotes/issues" )
- travelNotesDialog.dialogX : la position horizontale par defaut de la fenêtre "Notes de voyage" par rapport au coin supérieur gauche de l'écran
- travelNotesDialog.dialogY : la position verticale par defaut de la fenêtre "Notes de voyage" par rapport au coin supérieur gauche de l'écran
- travelPropertiesDialog.dialogX : la position horizontale par defaut de la fenêtre "Propriétés du voyage" par rapport au coin supérieur gauche de l'écran
- travelPropertiesDialog.dialogY : la position verticale par defaut de la fenêtre "Propriétés du voyage" par rapport au coin supérieur gauche de l'écran
- wayPoint.reverseGeocoding : quand cette valeur est true, les coordonnées des points de passage sont remplacées par une adresse ( valeur par défaut : true )
- wayPoint.geocodingIncludeName : quand cette valeur est true, un nom est si possible ajouté à l'adresse ( valeur par défaut : true )
3.4. Le contenu du fichier TravelNotesLayers.json
Ce fichier contient les définitions des fonds de carte de la barre d'outils "Cartes"
Ces définitions peuvent être adaptées.
Un exemple de fichier avec deux fond de carte différents, l'un avec la carte de Ferraris
de la Belgique en 1771, l'autre avec la carte de OpenCycleMap de Thunderforest
[
{
"service":"wms",
"url":"http://geoservices.wallonie.be/arcgis/services/CARTES_ANCIENNES/FERRARIS/MapServer/WMSServer",
"wmsOptions":
{
"layers":"0",
"format":"image/png",
"transparent":true
},
"bounds":[ [ 49.15, 2.56 ], [ 50.95, 6.49 ] ],
"minZoom":7,
"name":"Service Public de Wallonie - Ferraris map 1770 - 1776",
"toolbar":
{
"text":"1771",
"color":"black",
"backgroundColor":"white"
},
"providerName":"SPW",
"providerKeyNeeded":false,
"attribution":"| <a href='http://geoportail.wallonie.be/home.html' target='_blank'>Service public de Wallonie (SPW)</a>",
"getCapabilitiesUrl":"https://geoservices.wallonie.be/arcgis/services/CARTES_ANCIENNES/FERRARIS/MapServer/WMSServer?REQUEST=GetCapabilities&SERVICE=WMS"
},
{
"service":"wmts",
"url":"https://{s}.tile.thunderforest.com/cycle/{z}/{x}/{y}.png?apikey={providerKey}",
"name":"Thunderforest - OpenCycleMap",
"toolbar":
{
"text":"🚴",
"color":"black",
"backgroundColor":"white"
},
"providerName":"Thunderforest",
"providerKeyNeeded":true,
"attribution":"| Tiles courtesy of <a href='http://www.thunderforest.com/' target='_blank' title='Andy Allan'>Andy Allan</a> "
}
]
Quelques explications sur le contenu du fichier pour chaque fond de carte
- service : le type de service: wms ou wmts
- url: l'url à utiliser pour obtenir la carte. Les valeurs {s}, {x}, {y} et {z}
seront remplacées par Leaflet, la valeur {providerKey} sera remplacée par Travel & Notes par la clef d'accès
éventuelle pour ce fournisseur. Ne jamais remplacer directement {providerKey} par votre propre clef d'accès!!!
- wmsOptions : ce sont les options à passer à Leaflet pour un service wms.
Voir la documentation de TileLayer.WMS de Leaflet.
Au minimum, "layers", "format" et "transparent" devraient être présents.
- bounds : le coin inférieur gauche et supérieur droit de la carte.
- minZoom : le plus petit zoom possible pour cette carte
- maxZoom : le plus grand zoom possible pour cette carte
- name : le nom de la carte.Il sera utilisé dans le tooltip du bouton de la barre d'outils "Cartes".
- toolbar.text : le texte à afficher dans le bouton de la barre d'outils "Cartes"
- toolbar.color : la couleur d'avant-plan du bouton de la barre d'outils "Cartes"
- toolbar.backgroundColor : la couleur d'arrière-plan du bouton de la barre d'outils "Cartes"
- providerName : le nom du fournisseur de service. Ce nom sera utilisé pour retrouver la clef d'accès au service et doit donc être identique au nom fourni dans le fichier ou la boite de dialogue des clefs d'accès.
- providerKeyNeeded : quand cette valeur est true, une clef d'accès est nécessaire pour obtenir la carte.
- attribution : les attributions de la carte. Pour les cartes basées sur OpenStreetMap, il n'est pas nécessaire d'ajouter les attributions de OpenStreetMap car celles-ci sont toujours présentes dans Travel & Notes.
- getCapabilitiesUrl : l'url du fichier getCapabilities quand celle-ci est connue.
3.5. Le contenu des fichiers TravelNotesNoteDialogFR.json et TravelNotesNoteDialogEN.json
Ce fichier contient les définitions des boutons et de la liste des icônes prédéfinies de la boite
d'édition des notes. Ces définitions peuvent être adaptées à vos besoins.
Exemple de fichier comprenant 3 boutons et 2 icônes prédéfinies:
{ "editionButtons" :
[
{
"title" : "<span class='TravelNotes-Note-WhiteRed' title='Insert a red background'>Red</span>",
"htmlBefore" : "<span class='TravelNotes-Note-WhiteRed'>",
"htmlAfter" : "</span>"
},
{
"title" : "<span class='TravelNotes-Note-WhiteGreen' title='Insert a green background'>Green</span>",
"htmlBefore" : "<span class='TravelNotes-Note-WhiteGreen'>",
"htmlAfter" : "</span>"
},
{
"title": "Ø",
"htmlBefore": "Ø"
}
],
"preDefinedIconsList" :
[
{
"name" : "Bikes allowed",
"icon" : "<div class='TravelNotes-MapNote TravelNotes-MapNoteCategory-0005'></div>",
"tooltip" : "Bikes allowed",
"width" : 40,
"height" : 40
},
{
"name" : "Bus station",
"icon" : "<div class='TravelNotes-MapNote TravelNotes-MapNoteCategory-0006'></div>",
"tooltip" : "Bus station",
"width" : 40,
"height" : 40
}
]
}
Deux collections d'objets doivent être présentes dans le fichier : "editionButtons" pour les
boutons supplémentaires et "preDefinedIconsList" pour les icônes prédéfinies. Ces collections peuvent
être vides mais doivent être présentes.
Chaque objet de la collection "editionButtons" a deux ou trois propriétés;
- title : le texte qui apparaitra sur le bouton dans la boite de dialogue
- htmlBefore : le texte qui sera inséré avant la sélection lorsque l'on cliquera sur le bouton
- htmlAfter : le texte qui sera inséré après la sélection lorsque l'on cliquera sur le bouton. Cette propriété est optionnelle.
Chaque objet de la collection "preDefinedIconsList" a cinq propriétés:
- name : le nom qui sera affiché dans la liste déroulante (texte)
- icon : le contenu de l'icône (html)
- tooltip : le contenu du tooltip (html)
- width : la largeur de l'icône en pixels
- height : la hauteur de l'icône en pixels
3.6. Le contenu du fichier de configuration pouvant être chargé avec le bouton 📂 dans la boite d'édition des notes
L'organisation de ce fichier est identique aux fichiers TravelNotesNoteDialogFR.json et TravelNotesNoteDialogEN.json
3.7. Configurer "Rechercher dans OpenStreetMap"
Le fichier TravelNotesSearchDictionaryFR.csv (en français) ou TravelNotesSearchDictionaryEN.csv (en anglais) contient toutes les informations nécessaires
pour configurer la recherche dans OpenStreetMap. Le fichier peut être édité avec LibreOffice ou n'importe quel autre programme capable de lire les fichiers CSV.
Le fichier doit être sauvé avec Unicode comme jeu de caractères et encodé en utf-8. le point-virgule doit être utilisé comme séparateur.
L'arborescence telle qu'elle est visible dans Travel & Notes:
Et le contenu du fichier avec la même arborescence ( les cellules avec un fond rouge clair ):
Les cellules avec un fond jaune clair, vert clair ou bleu clair repreésentent les tags des objets à rechercher dans OpenStreetMap.
- sur fond jaune, les cas simples où un seul tag est suffisant pour rechercher les objets. La clef et la valeur désirée sont indiquées dans la cellule,
séparées par un signe =
- sur fond vert, des cas plus complexes où plusieurs clefs/valeurs sont nécessaires pour sélectionner un objet. Ces différentes clefs/valeurs sont indiquées sur une seule ligne
et doivent être TOUTES vérifiées pour sélectionner l'objet dans OpenStreetMap ( ET logique).
- sur fond bleu, des cas où plusieurs clefs/valeurs sont possibles. Ces différentes clefs/valeurs sont indiquées sur plusieurs lignes
et il suffit d'une seule clef/valeur vérifiée pour sélectionner l'objet dans OpenStreetMap ( OU logique).
- lorsqu'on veut limiter la recherche à un seul type d'élément OpenStreetMap, il faut le préciser dans une cellule supplémentaire ( element=node ou element=way ou element=relation ).
- lorsque toutes les valeurs d'un tag sont acceptables, il faut indiquer la clef, suivie du signe égal suivi du signe *.
4. Utiliser le viewer
Le viewer permet de visualiser des fichiers qui ont été réalisés avec Travel & Notes. Il ne possède
pas de contrôles ni de menus et ne permet donc pas la modification d'un voyage.
Son intérêt réside dans le fait qu'il n'utilise pas trop de Javascript et qu'il est
plus léger que TravelNotes.
Il s'installe comme Travel & Notes, avec deux balises <link> et deux balises <script>,
une pour Leaflet et l'autre pour le viewer:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW" />
<title>Travel & Notes by wwwouaiebe</title>
<link rel="stylesheet" href="leaflet/leaflet.css" />
<link rel="stylesheet" href="TravelNotesViewer.min.css" />
</head>
<body>
<script src="leaflet/leaflet.js"></script><noscript>Oh oh. Javascript is not enabled. It's impossible to display this page without javascript.</noscript>
<script src="TravelNotesViewer.min.js"></script>
</body>
</html>
Les fichiers TravelNotesViewer.min.css et TravelNotesViewer.min.js ainsi que les fichiers JSON
de configuration se trouvent dans le sous-répertoire "viewer".
5. Traductions
Travel & Notes est traduit en 'fr' et en 'en'. Si vous désirez traduire Travel & Notes dans une autre
langue, copiez le fichier TravelNotesEN.json et renommez-le en fonction de la langue utilisée. Ensuite,
éditez ce fichier et traduisez toutes les lignes msgstr dans la langue souhaitée.
Pour charger Travel & Notes dans une autre langue, ajoutez à l'url lng= et la langue à utiliser
(exemple pour utiliser Travel & Notes en en: https://wwwouaiebe.github.io/TravelNotes/?lng=en.
L'organisation de ces fichiers est la plus proche possible de celle de
GNU getText