<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Vesubie 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/vesubie/</link>
    <description>Recent content in Vesubie 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>Sun, 21 May 2023 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://move.cyber-neurones.org/tags/vesubie/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Trail : Marathon de la Vésubie (Edition 2023)</title>
      <link>https://move.cyber-neurones.org/post/2023/05/2023-05-21-trail-marathon-de-la-vesubie-edition-2023/</link>
      <pubDate>Sun, 21 May 2023 00:00:00 +0000</pubDate>
      <guid>https://move.cyber-neurones.org/post/2023/05/2023-05-21-trail-marathon-de-la-vesubie-edition-2023/</guid>
      <description>&lt;p&gt;Le site de l&amp;rsquo;organisation : &lt;a href=&#34;https://www.vesubietrailclub06.com/&#34;&gt;https://www.vesubietrailclub06.com/&lt;/a&gt; .&lt;/p&gt;&#xA;&lt;p&gt;Très bonne organisation, des barrières horaires très large, rien à redire ! Bravo Le Vesubie Trail Club. Sur l&amp;rsquo;édition il y a eu 86 finishers, vu les conditions météos c&amp;rsquo;est vraiment bien.&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-MarathonVesubie.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;distance-MarathonVesubie.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;duration-MarathonVesubie.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;elevation-MarathonVesubie.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;MarathonVesubie.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;MarathonVesubie.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>Trail UTCAM - Trail Cote d&#39;Azur Mercantour – version 45 km ( Edition 2020 )</title>
      <link>https://move.cyber-neurones.org/post/2020/09/2020-09-07-trail-utcam-trail-cote-dazur-mercantour-version-45-km-edition-2020/</link>
      <pubDate>Mon, 07 Sep 2020 00:00:00 +0000</pubDate>
      <guid>https://move.cyber-neurones.org/post/2020/09/2020-09-07-trail-utcam-trail-cote-dazur-mercantour-version-45-km-edition-2020/</guid>
      <description>&lt;p&gt;J&amp;rsquo;avais déjà fait le Trail en 2017 et j&amp;rsquo;avais du abandonné : &lt;a href=&#34;https://www.cyber-neurones.org/2017/08/trail-de-la-vesubie-version-44-km/&#34;&gt;https://www.cyber-neurones.org/2017/08/trail-de-la-vesubie-version-44-km/&lt;/a&gt; . Cette fois j&amp;rsquo;ai pu aller jusqu&amp;rsquo;au bout. J&amp;rsquo;ai superposé les deux parcours ( 2017 vs 2020 ) :&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;2017 :&#xA;&lt;ul&gt;&#xA;&lt;li&gt;44 km&lt;/li&gt;&#xA;&lt;li&gt;3100 m D+&lt;/li&gt;&#xA;&lt;li&gt;3100 m D-&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;2020 :&#xA;&lt;ul&gt;&#xA;&lt;li&gt;46,4 km ( +2,4 km)&lt;/li&gt;&#xA;&lt;li&gt;3370 m D+ ( +270 m)&lt;/li&gt;&#xA;&lt;li&gt;3380 m D-&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.cyber-neurones.org/wp-content/uploads/2020/09/capture-decran-2020-09-07-a-10-36-27.png&#34;&gt;&lt;img src=&#34;images/capture-decran-2020-09-07-a-10-36-27-1024x714.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Au niveau de l&amp;rsquo;organisation rien à redire, avec le COVID c&amp;rsquo;est difficile de faire mieux. Par contre j&amp;rsquo;avais pris un camelback de 3 litres, et visiblement j&amp;rsquo;ai eu raison . Entre le deuxième et le troisième ravitaillement il y avait presque 20 km &amp;hellip;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Trail de la Vésubie - version 44 km</title>
      <link>https://move.cyber-neurones.org/post/2017/08/2017-08-28-trail-de-la-vesubie-version-44-km/</link>
      <pubDate>Mon, 28 Aug 2017 00:00:00 +0000</pubDate>
      <guid>https://move.cyber-neurones.org/post/2017/08/2017-08-28-trail-de-la-vesubie-version-44-km/</guid>
      <description>&lt;p&gt;Le site de officiel de la course : &lt;a href=&#34;http://www.ultratrail06.com/2017/index.htm&#34;&gt;http://www.ultratrail06.com/2017/index.htm&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;en-bref&#34;&gt;En bref&lt;/h3&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai échoué dans le Trail de la Vésubie (c&amp;rsquo;est mon second échec en compétition, mon précédent échec : &lt;a href=&#34;https://www.cyber-neurones.org/2016/05/trans-50-transvesubienne-2016-au-moins-jaurais-essaye/&#34;&gt;La Transvesubienne&lt;/a&gt; ), on m&amp;rsquo;a arrêté au 31 ème kilomètre (&lt;strong&gt;un barrière horaire à 7h45 après le départ&lt;/strong&gt;). Même s&amp;rsquo;il n&amp;rsquo;y avait pas de barrière horaire signalé à cet endroit, ils ont pris la décision d&amp;rsquo;arrêter les derniers coureurs avant l&amp;rsquo;ascension au niveau du refuge. On était 7 coureurs dans ce cas &amp;hellip; on a mis 1h à redescendre à pied vers un parking (il fallait encore un peu d&amp;rsquo;énergie), et ensuite on a eu 40 minutes de navettes jusqu&amp;rsquo;à Saint-Martin.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Trail de la Vésubie - version 45 km. La dernière ligne droite.</title>
      <link>https://move.cyber-neurones.org/post/2017/08/2017-08-24-trail-de-la-vesubie-version-45-km-la-derniere-ligne-droite/</link>
      <pubDate>Thu, 24 Aug 2017 00:00:00 +0000</pubDate>
      <guid>https://move.cyber-neurones.org/post/2017/08/2017-08-24-trail-de-la-vesubie-version-45-km-la-derniere-ligne-droite/</guid>
      <description>&lt;p&gt;C&amp;rsquo;est donc le &lt;strong&gt;1 août&lt;/strong&gt; que je me suis inscrit au &lt;strong&gt;Trail de la Vésubie&lt;/strong&gt; (prix : 55 Euros). Je me suis inscrit à ce Trail pour faire une préparation au &lt;strong&gt;Trail de Gorbio&lt;/strong&gt; (prix : 22 Euros), dont j&amp;rsquo;avais fait l&amp;rsquo;inscription le &lt;strong&gt;28 juin&lt;/strong&gt;. Pour ce qui est de la préparation, j&amp;rsquo;ai fait des randonnées ( &lt;a href=&#34;https://www.cyber-neurones.org/2017/08/randonnee-a-auron-cime-de-la-bercha-via-une-boucle/&#34;&gt;https://www.cyber-neurones.org/2017/08/randonnee-a-auron-cime-de-la-bercha-via-une-boucle/&lt;/a&gt; &amp;amp; &lt;a href=&#34;https://www.cyber-neurones.org/2017/08/balade-de-biot-a-valbonne-par-la-brague/&#34;&gt;https://www.cyber-neurones.org/2017/08/balade-de-biot-a-valbonne-par-la-brague/&lt;/a&gt; &amp;hellip;)  et du tapis de course incliné à 15%. Si je vais sur &lt;a href=&#34;http://connect.garmin.com/&#34;&gt;Garmin Connect&lt;/a&gt;, il m&amp;rsquo;indique &lt;strong&gt;400,1 km&lt;/strong&gt; sur les 4 dernières semaines :&lt;/p&gt;</description>
    </item>
    <item>
      <title>Trail de la Vésubie (version 22 km)</title>
      <link>https://move.cyber-neurones.org/post/2015/09/2015-09-07-trail-de-la-vesubie-version-22-km/</link>
      <pubDate>Mon, 07 Sep 2015 00:00:00 +0000</pubDate>
      <guid>https://move.cyber-neurones.org/post/2015/09/2015-09-07-trail-de-la-vesubie-version-22-km/</guid>
      <description>&lt;p&gt;Le site de l&amp;rsquo;organisation : &lt;a href=&#34;http://www.ultratrail06.com/epreuves/trails/index.htm&#34;&gt;http://www.ultratrail06.com/epreuves/trails/index.htm&lt;/a&gt; et plus précisément : &lt;a href=&#34;http://www.ultratrail06.com/epreuves/trails/22km/description.htm&#34;&gt;http://www.ultratrail06.com/epreuves/trails/22km/description.htm&lt;/a&gt;. On annonce &lt;strong&gt;22 km et 1050 m&lt;/strong&gt; de dénivelé. Moi (et d&amp;rsquo;autres) j&amp;rsquo;ai mesuré &lt;strong&gt;22,73 km et 1205 m&lt;/strong&gt; de dénivelé . Mais quand on aime on ne compte pas &amp;hellip;  et cette course est magnifique !&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-TrailVesubie.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;distance-TrailVesubie.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;duration-TrailVesubie.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li class=&#34;elevation-TrailVesubie.gpx&#34;&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;TrailVesubie.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;TrailVesubie.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;Le résultat de la course de 22 km : &lt;a href=&#34;http://www.ultratrail06.com/resultats/#&#34;&gt;TRAIL 22 KM&lt;/a&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
