<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Espagne on Blog GoHugo de Fredô : Linux, Proxmox, IA, Trail, Course, Randonnée, Gravel, Ski de Randonnée</title>
    <link>https://move.cyber-neurones.org/tags/espagne/</link>
    <description>Recent content in Espagne on Blog GoHugo de Fredô : Linux, Proxmox, IA, Trail, Course, Randonnée, Gravel, Ski de Randonnée</description>
    <generator>Hugo</generator>
    <language>fr</language>
    <lastBuildDate>Sat, 19 Aug 2023 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://move.cyber-neurones.org/tags/espagne/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Randonnée sportive : Boucle de Fuente Dé vers Canal de la Jenduda passage par Aliva</title>
      <link>https://move.cyber-neurones.org/post/2023/08/2023-08-19-randonnee-sportive-boucle-de-fuente-de-vers-canal-de-la-jenduda-passage-par-aliva/</link>
      <pubDate>Sat, 19 Aug 2023 00:00:00 +0000</pubDate>
      <guid>https://move.cyber-neurones.org/post/2023/08/2023-08-19-randonnee-sportive-boucle-de-fuente-de-vers-canal-de-la-jenduda-passage-par-aliva/</guid>
      <description>&lt;p&gt;Le parcours :&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Fuente Dé.&lt;/li&gt;&#xA;&lt;li&gt;Canal de la Jenduda (&lt;strong&gt;technique et dangereux&lt;/strong&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Horcadina de covarrobres (1933m).&lt;/li&gt;&#xA;&lt;li&gt;Collado de Juan Toribio (1844m)&lt;/li&gt;&#xA;&lt;li&gt;Refuge Aliva&lt;/li&gt;&#xA;&lt;li&gt;Majadas de Espinama&lt;/li&gt;&#xA;&lt;li&gt;El Boqueron.&lt;/li&gt;&#xA;&lt;li&gt;Fuente Dé&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;La trace GPS :&lt;/p&gt;&#xA;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet/leaflet.css&#34; crossorigin=&#34;&#34; /&gt;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://move.cyber-neurones.org/gpx-shortcode/style.css&#34; /&gt;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet-distance-marker.css&#34; /&gt;&#xA;&lt;script src=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet/leaflet.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet.geometryutil.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet-distance-marker.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;https://cdnjs.cloudflare.com/ajax/libs/leaflet-gpx/1.7.0/gpx.min.js&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;&lt;section id=&#34;container&#34; class=&#34;gpx&#34;&gt;&#xA;  &lt;div class=&#34;map&#34; id=&#34;map-&#34;&gt;&lt;/div&gt;&#xA;  &lt;footer&gt;&#xA;    &#xA;    &#xA;    &#xA;      &lt;ul class=&#34;info&#34;&gt;&#xA;        &lt;li&gt;&lt;input type=&#34;checkbox&#34; checked class=&#34;tracks&#34; track-id=&#34;0&#34;/&gt;&lt;/li&gt;&#xA;        &lt;li style=&#34;color:blue&#34;&gt;&amp;#9632;&lt;/li&gt;&#xA;        &#xA;        &lt;li&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;start-Jenduda.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;distance-Jenduda.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;duration-Jenduda.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;elevation-Jenduda.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;Jenduda.gpx&#34;&gt;Download&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &#xA;  &lt;/footer&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;script&gt;&#xA;  var urls = new Array(&#34;Jenduda.gpx&#34;,)&#xA;  var mapid = &#34;map-&#34;;&#xA;  var container = document.getElementById(&#34;container&#34;);&#xA;  var colors = [&#34;blue&#34;,&#34;darkblue&#34;,&#34;purple&#34;];&#xA;  var layers = new Array();&#xA;    &#xA;  &#xA;  var map = L.map(mapid, { fullscreenControl: true, scrollWheelZoom: false });&#xA;  &#xA;  &#xA;  &#xA;  &#xA;  &#xA;  &#xA;  &#xA;  &#xA;  createLayer(&#34;https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png&#34;, &#34;© \u003ca href=\&#34;https://www.openstreetmap.org/copyright\&#34;\u003eOpenStreetMap\u003c/a\u003e contributors&#34;,  1 ,  20 ,  null ,  null ).addTo(map);&#xA;  &#xA;&#xA;  var control = L.control.layers(null, null).addTo(map);&#xA;  var bounds = null;&#xA;  urls.forEach(function(url, index) {&#xA;    addTrack(urls[index], index, map);&#xA;  });&#xA;  &#xA;  &#xA;  document.addEventListener(&#34;DOMContentLoaded&#34;, function(){&#xA;    &#xA;    &#xA;    Array.from(document.getElementsByClassName(&#34;location&#34;)).forEach(addMarker);&#xA;    &#xA;    &#xA;    document.querySelectorAll(&#34;.tracks&#34;).forEach(function(item) {&#xA;      item.checked = true;&#xA;    });&#xA;  });&#xA;  &#xA;  &#xA;  document.querySelectorAll(&#34;.tracks&#34;).forEach(function(item) {&#xA;    item.addEventListener(&#34;click&#34;, function() {&#xA;      var id = this.getAttribute(&#34;track-id&#34;);&#xA;      if (event.currentTarget.checked) {&#xA;        showTrack(id);&#xA;      } else {&#xA;        hideTrack(id);&#xA;      }&#xA;    })&#xA;  });&#xA;  &#xA;  &#xA;  function addTrack(url, index, map) {&#xA;    layers[index]=new L.GPX(url, {&#xA;      gpx_options: {&#xA;        joinTrackSegments: false&#xA;      },&#xA;      async: true,&#xA;      marker_options: {&#xA;        startIconUrl: &#34;/gpx-shortcode/pin-icon-start.png&#34;,&#xA;        endIconUrl: &#34;/gpx-shortcode/pin-icon-end.png&#34;,&#xA;        shadowUrl: &#34;/gpx-shortcode/pin-shadow.png&#34;,&#xA;      },&#xA;      &#xA;      polyline_options: {color: colors[index % colors.length], distanceMarkers: true, smoothFactor: 0.5 }&#xA;    }).on(&#34;loaded&#34;, function(e) {&#xA;      var gpx = e.target;&#xA;      if (bounds === null) {&#xA;        bounds = gpx.getBounds();&#xA;      }&#xA;      else&#xA;      {&#xA;        bounds.extend(gpx.getBounds());&#xA;      }&#xA;      map.fitBounds(bounds);&#xA;      control.addOverlay(gpx, gpx.get_name());&#xA;      addMetadata(gpx, url);&#xA;    });&#xA;    layers[index].addTo(map);&#xA;  }&#xA;  &#xA;  function showTrack(id) {&#xA;    layers[id].addTo(map);&#xA;  }&#xA;  &#xA;  function hideTrack(id) {&#xA;    layers[id].removeFrom(map);&#xA;  }&#xA;  &#xA;  &#xA;  function createLayer(url, attribution, minZoom, maxZoom, bounds, inverseBounds) {&#xA;    var layer = L.tileLayer(url, { attribution: attribution, minZoom: minZoom, maxZoom: maxZoom});&#xA;    if (bounds != null) {&#xA;      &#xA;      layer.options.bounds = new L.LatLngBounds(&#xA;        new L.LatLng(bounds[0], bounds[1]),&#xA;        new L.LatLng(bounds[2], bounds[3]));&#xA;    }&#xA;    if (inverseBounds != null) {&#xA;      layer.options.inverseBounds = new L.LatLngBounds(&#xA;        new L.LatLng(inverseBounds[0], inverseBounds[1]),&#xA;        new L.LatLng(inverseBounds[2], inverseBounds[3]));&#xA;    }&#xA;    return layer;&#xA;  }&#xA;&#xA;  &#xA;  function addMarker(link) {&#xA;    lat = link.getAttribute(&#34;lat&#34;);&#xA;    lon = link.getAttribute(&#34;lon&#34;);&#xA;    text = link.textContent;&#xA;    name = link.getAttribute(&#34;name&#34;);&#xA;    title = (name != &#34;&#34;) ? name : text;&#xA;    url = link.getAttribute(&#34;link&#34;);&#xA;    if (url != &#34;&#34;)&#xA;    {&#xA;      title = &#34;&lt;a target=\&#34;_blank\&#34; href=\&#34;&#34; + url + &#34;\&#34;&gt;&#34; + title + &#34;&lt;/a&gt;&#34;;&#xA;    }&#xA;    marker = L.marker([lat, lon]).addTo(map);&#xA;    marker.bindPopup(title).openPopup();&#xA;  }&#xA;  &#xA;  &#xA;  function addMetadata(gpx, url) {&#xA;    var date = gpx.get_start_time();&#xA;    var datestring = date.getFullYear() + &#34;-&#34; + (date.getMonth()+1).toString().padStart(2, &#34;0&#34;) + &#34;-&#34; + date.getDate().toString().padStart(2, &#34;0&#34;)  + &#34; &#34; + date.getHours().toString().padStart(2, &#34;0&#34;) + &#34;:&#34; + date.getMinutes().toString().padStart(2, &#34;0&#34;);&#xA;    _c(&#34;start-&#34; + url).textContent = (date &gt; 0) ? datestring : &#34;&#34;;&#xA;    _c(&#34;distance-&#34; + url).textContent = &#34;Distance: &#34; + (gpx.get_distance() / 1000).toFixed(2) + &#34; km&#34;;&#xA;    var duration = gpx.get_moving_time();&#xA;    _c(&#34;duration-&#34; + url).textContent = (duration &gt; 0) ? &#34;Duration: &#34; + gpx.get_duration_string(duration) : &#34;&#34;;&#xA;    _c(&#34;elevation-&#34;+ url).textContent = `Elevation: ${gpx.get_elevation_gain().toFixed(0)} m, -${gpx.get_elevation_loss().toFixed(0)} m, net:  ${(gpx.get_elevation_gain() - gpx.get_elevation_loss()).toFixed(0)}  m`;&#xA;  }&#xA;  &#xA;  &#xA;  function _c(c) {&#xA;    return container.getElementsByClassName(c)[0];&#xA;  }&#xA;&lt;/script&gt;&#xA;&#xA;&lt;p&gt;Quelques photos :&lt;/p&gt;</description>
    </item>
    <item>
      <title>Randonnée Sportive : Boucle de Fuente Dé vers Joracao</title>
      <link>https://move.cyber-neurones.org/post/2023/08/2023-08-18-randonnee-sportive-boucle-de-fuente-de-vers-joracao/</link>
      <pubDate>Fri, 18 Aug 2023 00:00:00 +0000</pubDate>
      <guid>https://move.cyber-neurones.org/post/2023/08/2023-08-18-randonnee-sportive-boucle-de-fuente-de-vers-joracao/</guid>
      <description>&lt;p&gt;Le parcours :&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Fuente Dé.&lt;/li&gt;&#xA;&lt;li&gt;Début Kilometre vertical.&lt;/li&gt;&#xA;&lt;li&gt;Collado de Valdecoro (1784m)&lt;/li&gt;&#xA;&lt;li&gt;Joracao (1837m)&lt;/li&gt;&#xA;&lt;li&gt;El Boqueron.&lt;/li&gt;&#xA;&lt;li&gt;La Vega del Naranco&lt;/li&gt;&#xA;&lt;li&gt;Fuente Dé.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;La trace GPS :&lt;/p&gt;&#xA;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet/leaflet.css&#34; crossorigin=&#34;&#34; /&gt;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://move.cyber-neurones.org/gpx-shortcode/style.css&#34; /&gt;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet-distance-marker.css&#34; /&gt;&#xA;&lt;script src=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet/leaflet.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet.geometryutil.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet-distance-marker.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;https://cdnjs.cloudflare.com/ajax/libs/leaflet-gpx/1.7.0/gpx.min.js&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;&lt;section id=&#34;container&#34; class=&#34;gpx&#34;&gt;&#xA;  &lt;div class=&#34;map&#34; id=&#34;map-&#34;&gt;&lt;/div&gt;&#xA;  &lt;footer&gt;&#xA;    &#xA;    &#xA;    &#xA;      &lt;ul class=&#34;info&#34;&gt;&#xA;        &lt;li&gt;&lt;input type=&#34;checkbox&#34; checked class=&#34;tracks&#34; track-id=&#34;0&#34;/&gt;&lt;/li&gt;&#xA;        &lt;li style=&#34;color:blue&#34;&gt;&amp;#9632;&lt;/li&gt;&#xA;        &#xA;        &lt;li&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;start-Joracao.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;distance-Joracao.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;duration-Joracao.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;elevation-Joracao.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;Joracao.gpx&#34;&gt;Download&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &#xA;  &lt;/footer&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;script&gt;&#xA;  var urls = new Array(&#34;Joracao.gpx&#34;,)&#xA;  var mapid = &#34;map-&#34;;&#xA;  var container = document.getElementById(&#34;container&#34;);&#xA;  var colors = [&#34;blue&#34;,&#34;darkblue&#34;,&#34;purple&#34;];&#xA;  var layers = new Array();&#xA;    &#xA;  &#xA;  var map = L.map(mapid, { fullscreenControl: true, scrollWheelZoom: false });&#xA;  &#xA;  &#xA;  &#xA;  &#xA;  &#xA;  &#xA;  &#xA;  &#xA;  createLayer(&#34;https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png&#34;, &#34;© \u003ca href=\&#34;https://www.openstreetmap.org/copyright\&#34;\u003eOpenStreetMap\u003c/a\u003e contributors&#34;,  1 ,  20 ,  null ,  null ).addTo(map);&#xA;  &#xA;&#xA;  var control = L.control.layers(null, null).addTo(map);&#xA;  var bounds = null;&#xA;  urls.forEach(function(url, index) {&#xA;    addTrack(urls[index], index, map);&#xA;  });&#xA;  &#xA;  &#xA;  document.addEventListener(&#34;DOMContentLoaded&#34;, function(){&#xA;    &#xA;    &#xA;    Array.from(document.getElementsByClassName(&#34;location&#34;)).forEach(addMarker);&#xA;    &#xA;    &#xA;    document.querySelectorAll(&#34;.tracks&#34;).forEach(function(item) {&#xA;      item.checked = true;&#xA;    });&#xA;  });&#xA;  &#xA;  &#xA;  document.querySelectorAll(&#34;.tracks&#34;).forEach(function(item) {&#xA;    item.addEventListener(&#34;click&#34;, function() {&#xA;      var id = this.getAttribute(&#34;track-id&#34;);&#xA;      if (event.currentTarget.checked) {&#xA;        showTrack(id);&#xA;      } else {&#xA;        hideTrack(id);&#xA;      }&#xA;    })&#xA;  });&#xA;  &#xA;  &#xA;  function addTrack(url, index, map) {&#xA;    layers[index]=new L.GPX(url, {&#xA;      gpx_options: {&#xA;        joinTrackSegments: false&#xA;      },&#xA;      async: true,&#xA;      marker_options: {&#xA;        startIconUrl: &#34;/gpx-shortcode/pin-icon-start.png&#34;,&#xA;        endIconUrl: &#34;/gpx-shortcode/pin-icon-end.png&#34;,&#xA;        shadowUrl: &#34;/gpx-shortcode/pin-shadow.png&#34;,&#xA;      },&#xA;      &#xA;      polyline_options: {color: colors[index % colors.length], distanceMarkers: true, smoothFactor: 0.5 }&#xA;    }).on(&#34;loaded&#34;, function(e) {&#xA;      var gpx = e.target;&#xA;      if (bounds === null) {&#xA;        bounds = gpx.getBounds();&#xA;      }&#xA;      else&#xA;      {&#xA;        bounds.extend(gpx.getBounds());&#xA;      }&#xA;      map.fitBounds(bounds);&#xA;      control.addOverlay(gpx, gpx.get_name());&#xA;      addMetadata(gpx, url);&#xA;    });&#xA;    layers[index].addTo(map);&#xA;  }&#xA;  &#xA;  function showTrack(id) {&#xA;    layers[id].addTo(map);&#xA;  }&#xA;  &#xA;  function hideTrack(id) {&#xA;    layers[id].removeFrom(map);&#xA;  }&#xA;  &#xA;  &#xA;  function createLayer(url, attribution, minZoom, maxZoom, bounds, inverseBounds) {&#xA;    var layer = L.tileLayer(url, { attribution: attribution, minZoom: minZoom, maxZoom: maxZoom});&#xA;    if (bounds != null) {&#xA;      &#xA;      layer.options.bounds = new L.LatLngBounds(&#xA;        new L.LatLng(bounds[0], bounds[1]),&#xA;        new L.LatLng(bounds[2], bounds[3]));&#xA;    }&#xA;    if (inverseBounds != null) {&#xA;      layer.options.inverseBounds = new L.LatLngBounds(&#xA;        new L.LatLng(inverseBounds[0], inverseBounds[1]),&#xA;        new L.LatLng(inverseBounds[2], inverseBounds[3]));&#xA;    }&#xA;    return layer;&#xA;  }&#xA;&#xA;  &#xA;  function addMarker(link) {&#xA;    lat = link.getAttribute(&#34;lat&#34;);&#xA;    lon = link.getAttribute(&#34;lon&#34;);&#xA;    text = link.textContent;&#xA;    name = link.getAttribute(&#34;name&#34;);&#xA;    title = (name != &#34;&#34;) ? name : text;&#xA;    url = link.getAttribute(&#34;link&#34;);&#xA;    if (url != &#34;&#34;)&#xA;    {&#xA;      title = &#34;&lt;a target=\&#34;_blank\&#34; href=\&#34;&#34; + url + &#34;\&#34;&gt;&#34; + title + &#34;&lt;/a&gt;&#34;;&#xA;    }&#xA;    marker = L.marker([lat, lon]).addTo(map);&#xA;    marker.bindPopup(title).openPopup();&#xA;  }&#xA;  &#xA;  &#xA;  function addMetadata(gpx, url) {&#xA;    var date = gpx.get_start_time();&#xA;    var datestring = date.getFullYear() + &#34;-&#34; + (date.getMonth()+1).toString().padStart(2, &#34;0&#34;) + &#34;-&#34; + date.getDate().toString().padStart(2, &#34;0&#34;)  + &#34; &#34; + date.getHours().toString().padStart(2, &#34;0&#34;) + &#34;:&#34; + date.getMinutes().toString().padStart(2, &#34;0&#34;);&#xA;    _c(&#34;start-&#34; + url).textContent = (date &gt; 0) ? datestring : &#34;&#34;;&#xA;    _c(&#34;distance-&#34; + url).textContent = &#34;Distance: &#34; + (gpx.get_distance() / 1000).toFixed(2) + &#34; km&#34;;&#xA;    var duration = gpx.get_moving_time();&#xA;    _c(&#34;duration-&#34; + url).textContent = (duration &gt; 0) ? &#34;Duration: &#34; + gpx.get_duration_string(duration) : &#34;&#34;;&#xA;    _c(&#34;elevation-&#34;+ url).textContent = `Elevation: ${gpx.get_elevation_gain().toFixed(0)} m, -${gpx.get_elevation_loss().toFixed(0)} m, net:  ${(gpx.get_elevation_gain() - gpx.get_elevation_loss()).toFixed(0)}  m`;&#xA;  }&#xA;  &#xA;  &#xA;  function _c(c) {&#xA;    return container.getElementsByClassName(c)[0];&#xA;  }&#xA;&lt;/script&gt;&#xA;&#xA;&lt;p&gt;Quelques photos :&lt;/p&gt;</description>
    </item>
    <item>
      <title>Randonnée Sportive : Fuente Dé vers Véga de Liordes</title>
      <link>https://move.cyber-neurones.org/post/2023/08/2023-08-17-randonnee-sportive-fuente-de-vers-vega-de-liordes/</link>
      <pubDate>Thu, 17 Aug 2023 00:00:00 +0000</pubDate>
      <guid>https://move.cyber-neurones.org/post/2023/08/2023-08-17-randonnee-sportive-fuente-de-vers-vega-de-liordes/</guid>
      <description>&lt;p&gt;Le parcours, en bref : &lt;strong&gt;14 km pour 1100 D+&lt;/strong&gt; .&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Fuente Dé.&lt;/li&gt;&#xA;&lt;li&gt;Fuente Fonfria.&lt;/li&gt;&#xA;&lt;li&gt;Invernales de las Berrugas.&lt;/li&gt;&#xA;&lt;li&gt;Passage du col à 2035m.&lt;/li&gt;&#xA;&lt;li&gt;Sumidero Vega Liordes.&lt;/li&gt;&#xA;&lt;li&gt;Turbera de la Vega de Liordes.&lt;/li&gt;&#xA;&lt;li&gt;Passage du col à 1954m&lt;/li&gt;&#xA;&lt;li&gt;Tornos de Liodes.&lt;/li&gt;&#xA;&lt;li&gt;Fuente Dé.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;La trace GPS :&lt;/p&gt;&#xA;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet/leaflet.css&#34; crossorigin=&#34;&#34; /&gt;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://move.cyber-neurones.org/gpx-shortcode/style.css&#34; /&gt;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet-distance-marker.css&#34; /&gt;&#xA;&lt;script src=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet/leaflet.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet.geometryutil.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet-distance-marker.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;https://cdnjs.cloudflare.com/ajax/libs/leaflet-gpx/1.7.0/gpx.min.js&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;&lt;section id=&#34;container&#34; class=&#34;gpx&#34;&gt;&#xA;  &lt;div class=&#34;map&#34; id=&#34;map-&#34;&gt;&lt;/div&gt;&#xA;  &lt;footer&gt;&#xA;    &#xA;    &#xA;    &#xA;      &lt;ul class=&#34;info&#34;&gt;&#xA;        &lt;li&gt;&lt;input type=&#34;checkbox&#34; checked class=&#34;tracks&#34; track-id=&#34;0&#34;/&gt;&lt;/li&gt;&#xA;        &lt;li style=&#34;color:blue&#34;&gt;&amp;#9632;&lt;/li&gt;&#xA;        &#xA;        &lt;li&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;start-VegaLiordes.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;distance-VegaLiordes.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;duration-VegaLiordes.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;elevation-VegaLiordes.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;VegaLiordes.gpx&#34;&gt;Download&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &#xA;  &lt;/footer&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;script&gt;&#xA;  var urls = new Array(&#34;VegaLiordes.gpx&#34;,)&#xA;  var mapid = &#34;map-&#34;;&#xA;  var container = document.getElementById(&#34;container&#34;);&#xA;  var colors = [&#34;blue&#34;,&#34;darkblue&#34;,&#34;purple&#34;];&#xA;  var layers = new Array();&#xA;    &#xA;  &#xA;  var map = L.map(mapid, { fullscreenControl: true, scrollWheelZoom: false });&#xA;  &#xA;  &#xA;  &#xA;  &#xA;  &#xA;  &#xA;  &#xA;  &#xA;  createLayer(&#34;https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png&#34;, &#34;© \u003ca href=\&#34;https://www.openstreetmap.org/copyright\&#34;\u003eOpenStreetMap\u003c/a\u003e contributors&#34;,  1 ,  20 ,  null ,  null ).addTo(map);&#xA;  &#xA;&#xA;  var control = L.control.layers(null, null).addTo(map);&#xA;  var bounds = null;&#xA;  urls.forEach(function(url, index) {&#xA;    addTrack(urls[index], index, map);&#xA;  });&#xA;  &#xA;  &#xA;  document.addEventListener(&#34;DOMContentLoaded&#34;, function(){&#xA;    &#xA;    &#xA;    Array.from(document.getElementsByClassName(&#34;location&#34;)).forEach(addMarker);&#xA;    &#xA;    &#xA;    document.querySelectorAll(&#34;.tracks&#34;).forEach(function(item) {&#xA;      item.checked = true;&#xA;    });&#xA;  });&#xA;  &#xA;  &#xA;  document.querySelectorAll(&#34;.tracks&#34;).forEach(function(item) {&#xA;    item.addEventListener(&#34;click&#34;, function() {&#xA;      var id = this.getAttribute(&#34;track-id&#34;);&#xA;      if (event.currentTarget.checked) {&#xA;        showTrack(id);&#xA;      } else {&#xA;        hideTrack(id);&#xA;      }&#xA;    })&#xA;  });&#xA;  &#xA;  &#xA;  function addTrack(url, index, map) {&#xA;    layers[index]=new L.GPX(url, {&#xA;      gpx_options: {&#xA;        joinTrackSegments: false&#xA;      },&#xA;      async: true,&#xA;      marker_options: {&#xA;        startIconUrl: &#34;/gpx-shortcode/pin-icon-start.png&#34;,&#xA;        endIconUrl: &#34;/gpx-shortcode/pin-icon-end.png&#34;,&#xA;        shadowUrl: &#34;/gpx-shortcode/pin-shadow.png&#34;,&#xA;      },&#xA;      &#xA;      polyline_options: {color: colors[index % colors.length], distanceMarkers: true, smoothFactor: 0.5 }&#xA;    }).on(&#34;loaded&#34;, function(e) {&#xA;      var gpx = e.target;&#xA;      if (bounds === null) {&#xA;        bounds = gpx.getBounds();&#xA;      }&#xA;      else&#xA;      {&#xA;        bounds.extend(gpx.getBounds());&#xA;      }&#xA;      map.fitBounds(bounds);&#xA;      control.addOverlay(gpx, gpx.get_name());&#xA;      addMetadata(gpx, url);&#xA;    });&#xA;    layers[index].addTo(map);&#xA;  }&#xA;  &#xA;  function showTrack(id) {&#xA;    layers[id].addTo(map);&#xA;  }&#xA;  &#xA;  function hideTrack(id) {&#xA;    layers[id].removeFrom(map);&#xA;  }&#xA;  &#xA;  &#xA;  function createLayer(url, attribution, minZoom, maxZoom, bounds, inverseBounds) {&#xA;    var layer = L.tileLayer(url, { attribution: attribution, minZoom: minZoom, maxZoom: maxZoom});&#xA;    if (bounds != null) {&#xA;      &#xA;      layer.options.bounds = new L.LatLngBounds(&#xA;        new L.LatLng(bounds[0], bounds[1]),&#xA;        new L.LatLng(bounds[2], bounds[3]));&#xA;    }&#xA;    if (inverseBounds != null) {&#xA;      layer.options.inverseBounds = new L.LatLngBounds(&#xA;        new L.LatLng(inverseBounds[0], inverseBounds[1]),&#xA;        new L.LatLng(inverseBounds[2], inverseBounds[3]));&#xA;    }&#xA;    return layer;&#xA;  }&#xA;&#xA;  &#xA;  function addMarker(link) {&#xA;    lat = link.getAttribute(&#34;lat&#34;);&#xA;    lon = link.getAttribute(&#34;lon&#34;);&#xA;    text = link.textContent;&#xA;    name = link.getAttribute(&#34;name&#34;);&#xA;    title = (name != &#34;&#34;) ? name : text;&#xA;    url = link.getAttribute(&#34;link&#34;);&#xA;    if (url != &#34;&#34;)&#xA;    {&#xA;      title = &#34;&lt;a target=\&#34;_blank\&#34; href=\&#34;&#34; + url + &#34;\&#34;&gt;&#34; + title + &#34;&lt;/a&gt;&#34;;&#xA;    }&#xA;    marker = L.marker([lat, lon]).addTo(map);&#xA;    marker.bindPopup(title).openPopup();&#xA;  }&#xA;  &#xA;  &#xA;  function addMetadata(gpx, url) {&#xA;    var date = gpx.get_start_time();&#xA;    var datestring = date.getFullYear() + &#34;-&#34; + (date.getMonth()+1).toString().padStart(2, &#34;0&#34;) + &#34;-&#34; + date.getDate().toString().padStart(2, &#34;0&#34;)  + &#34; &#34; + date.getHours().toString().padStart(2, &#34;0&#34;) + &#34;:&#34; + date.getMinutes().toString().padStart(2, &#34;0&#34;);&#xA;    _c(&#34;start-&#34; + url).textContent = (date &gt; 0) ? datestring : &#34;&#34;;&#xA;    _c(&#34;distance-&#34; + url).textContent = &#34;Distance: &#34; + (gpx.get_distance() / 1000).toFixed(2) + &#34; km&#34;;&#xA;    var duration = gpx.get_moving_time();&#xA;    _c(&#34;duration-&#34; + url).textContent = (duration &gt; 0) ? &#34;Duration: &#34; + gpx.get_duration_string(duration) : &#34;&#34;;&#xA;    _c(&#34;elevation-&#34;+ url).textContent = `Elevation: ${gpx.get_elevation_gain().toFixed(0)} m, -${gpx.get_elevation_loss().toFixed(0)} m, net:  ${(gpx.get_elevation_gain() - gpx.get_elevation_loss()).toFixed(0)}  m`;&#xA;  }&#xA;  &#xA;  &#xA;  function _c(c) {&#xA;    return container.getElementsByClassName(c)[0];&#xA;  }&#xA;&lt;/script&gt;&#xA;&#xA;&lt;p&gt;Quelques photos :&lt;/p&gt;</description>
    </item>
    <item>
      <title>Randonnée Sportive : Boucle de Fuente Dé vers Cabana Veronica : 19 km et D&#43; 1800m</title>
      <link>https://move.cyber-neurones.org/post/2023/08/2023-08-16-randonnee-sportive-boucle-de-fuente-de-vers-cabana-veronica-19-km-et-d-1800m/</link>
      <pubDate>Wed, 16 Aug 2023 00:00:00 +0000</pubDate>
      <guid>https://move.cyber-neurones.org/post/2023/08/2023-08-16-randonnee-sportive-boucle-de-fuente-de-vers-cabana-veronica-19-km-et-d-1800m/</guid>
      <description>&lt;p&gt;Le parcours (en bref) :&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Fuente Dé (1000m)&lt;/li&gt;&#xA;&lt;li&gt;Kilometre Vertical de Fuente Dé&lt;/li&gt;&#xA;&lt;li&gt;El Hachero&lt;/li&gt;&#xA;&lt;li&gt;Horcadina de Covarrobres&lt;/li&gt;&#xA;&lt;li&gt;Collada de los Horcados Royos (2344m)&lt;/li&gt;&#xA;&lt;li&gt;Torre de los Horcados Royos (2503m)&lt;/li&gt;&#xA;&lt;li&gt;Cabana Veronica (2325m)&lt;/li&gt;&#xA;&lt;li&gt;Tiro Casares&lt;/li&gt;&#xA;&lt;li&gt;Tornos de Liordes&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Sur &lt;a href=&#34;https://www.ibpindex.com/&#34;&gt;https://www.ibpindex.com/&lt;/a&gt; on peut voir que la montée est rude, très rude.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/capture-decran-2023-08-16-a-190827-1024x722.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;La trace :&lt;/p&gt;&#xA;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet/leaflet.css&#34; crossorigin=&#34;&#34; /&gt;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://move.cyber-neurones.org/gpx-shortcode/style.css&#34; /&gt;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet-distance-marker.css&#34; /&gt;&#xA;&lt;script src=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet/leaflet.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet.geometryutil.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet-distance-marker.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;https://cdnjs.cloudflare.com/ajax/libs/leaflet-gpx/1.7.0/gpx.min.js&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;&lt;section id=&#34;container&#34; class=&#34;gpx&#34;&gt;&#xA;  &lt;div class=&#34;map&#34; id=&#34;map-&#34;&gt;&lt;/div&gt;&#xA;  &lt;footer&gt;&#xA;    &#xA;    &#xA;    &#xA;      &lt;ul class=&#34;info&#34;&gt;&#xA;        &lt;li&gt;&lt;input type=&#34;checkbox&#34; checked class=&#34;tracks&#34; track-id=&#34;0&#34;/&gt;&lt;/li&gt;&#xA;        &lt;li style=&#34;color:blue&#34;&gt;&amp;#9632;&lt;/li&gt;&#xA;        &#xA;        &lt;li&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;start-CabaneVeronica.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;distance-CabaneVeronica.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;duration-CabaneVeronica.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;elevation-CabaneVeronica.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;CabaneVeronica.gpx&#34;&gt;Download&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &#xA;  &lt;/footer&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;script&gt;&#xA;  var urls = new Array(&#34;CabaneVeronica.gpx&#34;,)&#xA;  var mapid = &#34;map-&#34;;&#xA;  var container = document.getElementById(&#34;container&#34;);&#xA;  var colors = [&#34;blue&#34;,&#34;darkblue&#34;,&#34;purple&#34;];&#xA;  var layers = new Array();&#xA;    &#xA;  &#xA;  var map = L.map(mapid, { fullscreenControl: true, scrollWheelZoom: false });&#xA;  &#xA;  &#xA;  &#xA;  &#xA;  &#xA;  &#xA;  &#xA;  &#xA;  createLayer(&#34;https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png&#34;, &#34;© \u003ca href=\&#34;https://www.openstreetmap.org/copyright\&#34;\u003eOpenStreetMap\u003c/a\u003e contributors&#34;,  1 ,  20 ,  null ,  null ).addTo(map);&#xA;  &#xA;&#xA;  var control = L.control.layers(null, null).addTo(map);&#xA;  var bounds = null;&#xA;  urls.forEach(function(url, index) {&#xA;    addTrack(urls[index], index, map);&#xA;  });&#xA;  &#xA;  &#xA;  document.addEventListener(&#34;DOMContentLoaded&#34;, function(){&#xA;    &#xA;    &#xA;    Array.from(document.getElementsByClassName(&#34;location&#34;)).forEach(addMarker);&#xA;    &#xA;    &#xA;    document.querySelectorAll(&#34;.tracks&#34;).forEach(function(item) {&#xA;      item.checked = true;&#xA;    });&#xA;  });&#xA;  &#xA;  &#xA;  document.querySelectorAll(&#34;.tracks&#34;).forEach(function(item) {&#xA;    item.addEventListener(&#34;click&#34;, function() {&#xA;      var id = this.getAttribute(&#34;track-id&#34;);&#xA;      if (event.currentTarget.checked) {&#xA;        showTrack(id);&#xA;      } else {&#xA;        hideTrack(id);&#xA;      }&#xA;    })&#xA;  });&#xA;  &#xA;  &#xA;  function addTrack(url, index, map) {&#xA;    layers[index]=new L.GPX(url, {&#xA;      gpx_options: {&#xA;        joinTrackSegments: false&#xA;      },&#xA;      async: true,&#xA;      marker_options: {&#xA;        startIconUrl: &#34;/gpx-shortcode/pin-icon-start.png&#34;,&#xA;        endIconUrl: &#34;/gpx-shortcode/pin-icon-end.png&#34;,&#xA;        shadowUrl: &#34;/gpx-shortcode/pin-shadow.png&#34;,&#xA;      },&#xA;      &#xA;      polyline_options: {color: colors[index % colors.length], distanceMarkers: true, smoothFactor: 0.5 }&#xA;    }).on(&#34;loaded&#34;, function(e) {&#xA;      var gpx = e.target;&#xA;      if (bounds === null) {&#xA;        bounds = gpx.getBounds();&#xA;      }&#xA;      else&#xA;      {&#xA;        bounds.extend(gpx.getBounds());&#xA;      }&#xA;      map.fitBounds(bounds);&#xA;      control.addOverlay(gpx, gpx.get_name());&#xA;      addMetadata(gpx, url);&#xA;    });&#xA;    layers[index].addTo(map);&#xA;  }&#xA;  &#xA;  function showTrack(id) {&#xA;    layers[id].addTo(map);&#xA;  }&#xA;  &#xA;  function hideTrack(id) {&#xA;    layers[id].removeFrom(map);&#xA;  }&#xA;  &#xA;  &#xA;  function createLayer(url, attribution, minZoom, maxZoom, bounds, inverseBounds) {&#xA;    var layer = L.tileLayer(url, { attribution: attribution, minZoom: minZoom, maxZoom: maxZoom});&#xA;    if (bounds != null) {&#xA;      &#xA;      layer.options.bounds = new L.LatLngBounds(&#xA;        new L.LatLng(bounds[0], bounds[1]),&#xA;        new L.LatLng(bounds[2], bounds[3]));&#xA;    }&#xA;    if (inverseBounds != null) {&#xA;      layer.options.inverseBounds = new L.LatLngBounds(&#xA;        new L.LatLng(inverseBounds[0], inverseBounds[1]),&#xA;        new L.LatLng(inverseBounds[2], inverseBounds[3]));&#xA;    }&#xA;    return layer;&#xA;  }&#xA;&#xA;  &#xA;  function addMarker(link) {&#xA;    lat = link.getAttribute(&#34;lat&#34;);&#xA;    lon = link.getAttribute(&#34;lon&#34;);&#xA;    text = link.textContent;&#xA;    name = link.getAttribute(&#34;name&#34;);&#xA;    title = (name != &#34;&#34;) ? name : text;&#xA;    url = link.getAttribute(&#34;link&#34;);&#xA;    if (url != &#34;&#34;)&#xA;    {&#xA;      title = &#34;&lt;a target=\&#34;_blank\&#34; href=\&#34;&#34; + url + &#34;\&#34;&gt;&#34; + title + &#34;&lt;/a&gt;&#34;;&#xA;    }&#xA;    marker = L.marker([lat, lon]).addTo(map);&#xA;    marker.bindPopup(title).openPopup();&#xA;  }&#xA;  &#xA;  &#xA;  function addMetadata(gpx, url) {&#xA;    var date = gpx.get_start_time();&#xA;    var datestring = date.getFullYear() + &#34;-&#34; + (date.getMonth()+1).toString().padStart(2, &#34;0&#34;) + &#34;-&#34; + date.getDate().toString().padStart(2, &#34;0&#34;)  + &#34; &#34; + date.getHours().toString().padStart(2, &#34;0&#34;) + &#34;:&#34; + date.getMinutes().toString().padStart(2, &#34;0&#34;);&#xA;    _c(&#34;start-&#34; + url).textContent = (date &gt; 0) ? datestring : &#34;&#34;;&#xA;    _c(&#34;distance-&#34; + url).textContent = &#34;Distance: &#34; + (gpx.get_distance() / 1000).toFixed(2) + &#34; km&#34;;&#xA;    var duration = gpx.get_moving_time();&#xA;    _c(&#34;duration-&#34; + url).textContent = (duration &gt; 0) ? &#34;Duration: &#34; + gpx.get_duration_string(duration) : &#34;&#34;;&#xA;    _c(&#34;elevation-&#34;+ url).textContent = `Elevation: ${gpx.get_elevation_gain().toFixed(0)} m, -${gpx.get_elevation_loss().toFixed(0)} m, net:  ${(gpx.get_elevation_gain() - gpx.get_elevation_loss()).toFixed(0)}  m`;&#xA;  }&#xA;  &#xA;  &#xA;  function _c(c) {&#xA;    return container.getElementsByClassName(c)[0];&#xA;  }&#xA;&lt;/script&gt;&#xA;&#xA;&lt;p&gt;Quelques photos :&lt;/p&gt;</description>
    </item>
    <item>
      <title>Balade San Juan de Gaztelugatxe (Bermeo, Espagne)</title>
      <link>https://move.cyber-neurones.org/post/2016/08/2016-08-02-balade-san-juan-de-gaztelugatxe/</link>
      <pubDate>Tue, 02 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://move.cyber-neurones.org/post/2016/08/2016-08-02-balade-san-juan-de-gaztelugatxe/</guid>
      <description>&lt;p&gt;Balade courte mais avec un fort dénivelé :&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Temps de marche : 25 min (Aller) et 25 min (Retour)&lt;/li&gt;&#xA;&lt;li&gt;Dénivelé sur aller-retour : descente 198m / monté 198m&lt;/li&gt;&#xA;&lt;li&gt;Distance : 1,21 km&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Quelques photos :&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.cyber-neurones.org/wp-content/uploads/2016/08/cyber-neurones_balade-san-juan-de-gaztelugatxe-1.jpg&#34;&gt;&lt;img src=&#34;images/cyber-neurones_balade-san-juan-de-gaztelugatxe-1-768x1024.jpg&#34; alt=&#34;OLYMPUS DIGITAL CAMERA&#34;&gt;&lt;/a&gt; &lt;a href=&#34;https://www.cyber-neurones.org/wp-content/uploads/2016/08/cyber-neurones_balade-san-juan-de-gaztelugatxe-3.jpg&#34;&gt;&lt;img src=&#34;images/cyber-neurones_balade-san-juan-de-gaztelugatxe-3-1024x768.jpg&#34; alt=&#34;OLYMPUS DIGITAL CAMERA&#34;&gt;&lt;/a&gt; &lt;a href=&#34;https://www.cyber-neurones.org/wp-content/uploads/2016/08/cyber-neurones_balade-san-juan-de-gaztelugatxe-4.jpg&#34;&gt;&lt;img src=&#34;images/cyber-neurones_balade-san-juan-de-gaztelugatxe-4-1024x768.jpg&#34; alt=&#34;OLYMPUS DIGITAL CAMERA&#34;&gt;&lt;/a&gt; &lt;a href=&#34;https://www.cyber-neurones.org/wp-content/uploads/2016/08/cyber-neurones_balade-san-juan-de-gaztelugatxe-5.jpg&#34;&gt;&lt;img src=&#34;images/cyber-neurones_balade-san-juan-de-gaztelugatxe-5-768x1024.jpg&#34; alt=&#34;OLYMPUS DIGITAL CAMERA&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Le parcours :&lt;/p&gt;&#xA;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet/leaflet.css&#34; crossorigin=&#34;&#34; /&gt;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://move.cyber-neurones.org/gpx-shortcode/style.css&#34; /&gt;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet-distance-marker.css&#34; /&gt;&#xA;&lt;script src=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet/leaflet.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet.geometryutil.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;https://move.cyber-neurones.org/gpx-shortcode/leaflet-distance-marker.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script src=&#34;https://cdnjs.cloudflare.com/ajax/libs/leaflet-gpx/1.7.0/gpx.min.js&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;&lt;section id=&#34;container&#34; class=&#34;gpx&#34;&gt;&#xA;  &lt;div class=&#34;map&#34; id=&#34;map-&#34;&gt;&lt;/div&gt;&#xA;  &lt;footer&gt;&#xA;    &#xA;    &#xA;    &#xA;      &lt;ul class=&#34;info&#34;&gt;&#xA;        &lt;li&gt;&lt;input type=&#34;checkbox&#34; checked class=&#34;tracks&#34; track-id=&#34;0&#34;/&gt;&lt;/li&gt;&#xA;        &lt;li style=&#34;color:blue&#34;&gt;&amp;#9632;&lt;/li&gt;&#xA;        &#xA;        &lt;li&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;start-SanJuan.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;distance-SanJuan.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;duration-SanJuan.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;elevation-SanJuan.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;SanJuan.gpx&#34;&gt;Download&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &#xA;  &lt;/footer&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;script&gt;&#xA;  var urls = new Array(&#34;SanJuan.gpx&#34;,)&#xA;  var mapid = &#34;map-&#34;;&#xA;  var container = document.getElementById(&#34;container&#34;);&#xA;  var colors = [&#34;blue&#34;,&#34;darkblue&#34;,&#34;purple&#34;];&#xA;  var layers = new Array();&#xA;    &#xA;  &#xA;  var map = L.map(mapid, { fullscreenControl: true, scrollWheelZoom: false });&#xA;  &#xA;  &#xA;  &#xA;  &#xA;  &#xA;  &#xA;  &#xA;  &#xA;  createLayer(&#34;https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png&#34;, &#34;© \u003ca href=\&#34;https://www.openstreetmap.org/copyright\&#34;\u003eOpenStreetMap\u003c/a\u003e contributors&#34;,  1 ,  20 ,  null ,  null ).addTo(map);&#xA;  &#xA;&#xA;  var control = L.control.layers(null, null).addTo(map);&#xA;  var bounds = null;&#xA;  urls.forEach(function(url, index) {&#xA;    addTrack(urls[index], index, map);&#xA;  });&#xA;  &#xA;  &#xA;  document.addEventListener(&#34;DOMContentLoaded&#34;, function(){&#xA;    &#xA;    &#xA;    Array.from(document.getElementsByClassName(&#34;location&#34;)).forEach(addMarker);&#xA;    &#xA;    &#xA;    document.querySelectorAll(&#34;.tracks&#34;).forEach(function(item) {&#xA;      item.checked = true;&#xA;    });&#xA;  });&#xA;  &#xA;  &#xA;  document.querySelectorAll(&#34;.tracks&#34;).forEach(function(item) {&#xA;    item.addEventListener(&#34;click&#34;, function() {&#xA;      var id = this.getAttribute(&#34;track-id&#34;);&#xA;      if (event.currentTarget.checked) {&#xA;        showTrack(id);&#xA;      } else {&#xA;        hideTrack(id);&#xA;      }&#xA;    })&#xA;  });&#xA;  &#xA;  &#xA;  function addTrack(url, index, map) {&#xA;    layers[index]=new L.GPX(url, {&#xA;      gpx_options: {&#xA;        joinTrackSegments: false&#xA;      },&#xA;      async: true,&#xA;      marker_options: {&#xA;        startIconUrl: &#34;/gpx-shortcode/pin-icon-start.png&#34;,&#xA;        endIconUrl: &#34;/gpx-shortcode/pin-icon-end.png&#34;,&#xA;        shadowUrl: &#34;/gpx-shortcode/pin-shadow.png&#34;,&#xA;      },&#xA;      &#xA;      polyline_options: {color: colors[index % colors.length], distanceMarkers: true, smoothFactor: 0.5 }&#xA;    }).on(&#34;loaded&#34;, function(e) {&#xA;      var gpx = e.target;&#xA;      if (bounds === null) {&#xA;        bounds = gpx.getBounds();&#xA;      }&#xA;      else&#xA;      {&#xA;        bounds.extend(gpx.getBounds());&#xA;      }&#xA;      map.fitBounds(bounds);&#xA;      control.addOverlay(gpx, gpx.get_name());&#xA;      addMetadata(gpx, url);&#xA;    });&#xA;    layers[index].addTo(map);&#xA;  }&#xA;  &#xA;  function showTrack(id) {&#xA;    layers[id].addTo(map);&#xA;  }&#xA;  &#xA;  function hideTrack(id) {&#xA;    layers[id].removeFrom(map);&#xA;  }&#xA;  &#xA;  &#xA;  function createLayer(url, attribution, minZoom, maxZoom, bounds, inverseBounds) {&#xA;    var layer = L.tileLayer(url, { attribution: attribution, minZoom: minZoom, maxZoom: maxZoom});&#xA;    if (bounds != null) {&#xA;      &#xA;      layer.options.bounds = new L.LatLngBounds(&#xA;        new L.LatLng(bounds[0], bounds[1]),&#xA;        new L.LatLng(bounds[2], bounds[3]));&#xA;    }&#xA;    if (inverseBounds != null) {&#xA;      layer.options.inverseBounds = new L.LatLngBounds(&#xA;        new L.LatLng(inverseBounds[0], inverseBounds[1]),&#xA;        new L.LatLng(inverseBounds[2], inverseBounds[3]));&#xA;    }&#xA;    return layer;&#xA;  }&#xA;&#xA;  &#xA;  function addMarker(link) {&#xA;    lat = link.getAttribute(&#34;lat&#34;);&#xA;    lon = link.getAttribute(&#34;lon&#34;);&#xA;    text = link.textContent;&#xA;    name = link.getAttribute(&#34;name&#34;);&#xA;    title = (name != &#34;&#34;) ? name : text;&#xA;    url = link.getAttribute(&#34;link&#34;);&#xA;    if (url != &#34;&#34;)&#xA;    {&#xA;      title = &#34;&lt;a target=\&#34;_blank\&#34; href=\&#34;&#34; + url + &#34;\&#34;&gt;&#34; + title + &#34;&lt;/a&gt;&#34;;&#xA;    }&#xA;    marker = L.marker([lat, lon]).addTo(map);&#xA;    marker.bindPopup(title).openPopup();&#xA;  }&#xA;  &#xA;  &#xA;  function addMetadata(gpx, url) {&#xA;    var date = gpx.get_start_time();&#xA;    var datestring = date.getFullYear() + &#34;-&#34; + (date.getMonth()+1).toString().padStart(2, &#34;0&#34;) + &#34;-&#34; + date.getDate().toString().padStart(2, &#34;0&#34;)  + &#34; &#34; + date.getHours().toString().padStart(2, &#34;0&#34;) + &#34;:&#34; + date.getMinutes().toString().padStart(2, &#34;0&#34;);&#xA;    _c(&#34;start-&#34; + url).textContent = (date &gt; 0) ? datestring : &#34;&#34;;&#xA;    _c(&#34;distance-&#34; + url).textContent = &#34;Distance: &#34; + (gpx.get_distance() / 1000).toFixed(2) + &#34; km&#34;;&#xA;    var duration = gpx.get_moving_time();&#xA;    _c(&#34;duration-&#34; + url).textContent = (duration &gt; 0) ? &#34;Duration: &#34; + gpx.get_duration_string(duration) : &#34;&#34;;&#xA;    _c(&#34;elevation-&#34;+ url).textContent = `Elevation: ${gpx.get_elevation_gain().toFixed(0)} m, -${gpx.get_elevation_loss().toFixed(0)} m, net:  ${(gpx.get_elevation_gain() - gpx.get_elevation_loss()).toFixed(0)}  m`;&#xA;  }&#xA;  &#xA;  &#xA;  function _c(c) {&#xA;    return container.getElementsByClassName(c)[0];&#xA;  }&#xA;&lt;/script&gt;&#xA;&#xA;&lt;p&gt;Par contre les restaurations semblent être faites de façons aléatoires sans respecter une charte. Ce qui fait que l&amp;rsquo;on trouve plusieurs murs différents, c&amp;rsquo;est dommage pour l&amp;rsquo;esthétique. Pareil la rampe est de trop, elle coupe le style et me semble pas vraiment utile. Et je ne parle pas du système de toilette qui se jette directement sur la plage &amp;hellip;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
