Issues · SDIS62/prevarisc · GitHub

/issues

  • C’est une question #SPIP : il s’agit d’un site qui utilise le plugin Géoportail, avec des fichiers GPX joints aux articles. Un bon gros et chouette boulot, d’ailleurs, bon esprit tout ça.

    Le webmestre m’a contacté parce que les cartes ne s’affichent plus, et selon lui :

    Hélas depuis le début du mois, l’IGN a arrêté l’API Geoportail JavaScript V2, et du coup, il est devenu impossible d’afficher les cartes, qui sont bien évidemment le seul intérêt du site !!!

    Est-ce que quelqu’un est au courant ? Est-ce que l’API est passé en v3, et est-ce que le plugin le prend en compte ? Est-ce que le plugin Géoportail est maintenu ? Est-ce qu’il faudrait plutôt basculer vers GIS ? Mais dans ce cas, est-ce qu’il y a un mode d’emploi (parce que les pages du site sont entièrement réalisées avec des raccourcis <geoportail> ?

    • Sans avoir à intégrer les API « avec clés » dans le plugin central (logique car chiant à maintenir, rajouter config etc), on pourrait imaginer plutôt de multiples sous-plugins « GIS Geoportail », « GIS Google », « GIS Trucmuche » pour chaque API nécessitant une clé. Et chaque sous-plugin pourrait alors déclarer autant de nouvelles couches qu’il veut suivant les possibilités de son API. Ça serait pas mal ? Ou alors un unique plugin contenant toutes les API avec clés ? (mof, je crois que je préférerais un par API, plus facile à maintenir, et chacun a ses préférences)

    • En fait je n’ai pas besoin d’afficher les fonds de carte de Géoportail (je vais pas courir après des andouilles qui rendent obsolètes leurs API parce que ça les fait chier de maintenir la rétrocompatibilité).

      Ce que j’ai fait :
      http://archeoferroviaire.free.fr/v31/spip.php?article627

      J’ai désactivé le plugin Géoportrail de SPIP, et j’ai activité GIS 4.

      Et comme le site a un millier d’articles avec les cartes insérées à la main avec des fichiers GPX également joints à la main via des raccourcis, j’ai bidouillé deux modèles dans mon dossier /squelettes.

      modeles/geoportail.html

      <INCLURE{fond=modeles/carte_gis}{point=non}{env}{height=600px}>

      modeles/doc_geoportail.html

      <BOUCLE_gpx(DOCUMENTS){id_document}>
      <script>
      $('#map0').on('ready', function(){
              new L.GPX("#FICHIER",
                      {
                              polyline_options: {color: '#ENV{couleur}'},
                              async: true
                      }).on('loaded', function(e) {
                      this.addTo(map0);
              });
      });
      </script>
      </BOUCLE_gpx>

      C’est donc du Javascript inline, mais comme le site ne fait pas de chargement asynchrone de Jquery, ça fonctionne. On peut faire proprement, mais le but c’est de remettre le site en ligne.

      Là où je bloque pour l’instant, c’est que l’option polyline_options: color ne fonctionne pas. Or le site force parfois la couleur des tracés, notamment parce qu’il y a plusieurs tracés GPX sur la même carte, et que les couleurs ont une signification (ancienne ligne, ligne étroite, etc).

    • Oui, mais le site existe avec une millier d’articles construits de manière assez systématique :

      <geoportail0||mode=GEOP|lon=3.36|lat=43.58|zoom=9|ortho=0|carto=0.50|width=800,height=600|toolbox=mini|layerctrl=mini>

      <doc1068|geoportail|id_geoportail=0>
      <doc1123|geoportail|id_geoportail=0>
      <doc1467|geoportail|id_geoportail=0>

      Du coup j’ai fait ces deux modèles pour que le site fonctionne sans modifications des contenus.