SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

274 Plugins, 192 contribs sur SPIP-Zone, 240 visiteurs en ce moment

Accueil > Géo, carto, météo > SPIP-Mashup > Plugin SPIP-Mashup

Plugin SPIP-Mashup

17 juillet 2011 – par Viglino Jean-Marc – 15 commentaires

14 votes

Réalisez simplement un mashup de vos rubriques sur une carte Geoportail, Google Maps, OSM ou Yahoo Maps.

Les articles, rubriques et documents sont localisés géographiquement et leur affichage se fait en AJAX sur la carte sans quitter la page.

Il nécessite le Plugin SPIP-Géoportail pour l’affichage des carte. C’est un exemple des possibilités qu’offre ce plugin en matière de programmation avec l’API Géoportail basée sur OpenLayers.

Rédigez vos articles normalement, localisez vos rubriques, articles et images dans l’espace privé grâce au plugin SPIP-Géoportail, ajoutez un raccourcis <mashup|carte> dans le descriptif de la rubrique que vous voulez afficher sur une carte... et c’est tout !

Vous trouverez un exemple d’utilisation sur le site http://spip.mashup.free.fr/.

Installation / Configuration

Le plugin s’installe comme tout autre plugin, téléchargez le fichier ZIP et placer son contenu dans votre répertoire « plugins/ » (voir Installer un plugin).

Le plugin se configure directement sur la page de configuration du plugin SPIP-Géoportail : un nouveau menu vient s’ajouter dans la liste des raccourcis de cette page.

Fonctionnement

Le plugin permet de charger une rubrique sous forme de carte. Ses articles, documents et sous-rubriques viendront s’afficher sur cette carte. Le chargement est récursif dans toute la branche de la rubrique (c’est à dire que les rubriques et sous-rubriques seront chargées à la suite). La carte est centrée sur la position de la rubrique, au niveau de zoom définit pour la rubrique.

JPEG - 130.2 ko
Plugin SPIP-Mashup

Vous devrez commencer par localiser vos rubriques, articles et documents grâce au plugin SPIP-Géoportail, c’est à dire leur associer des coordonnées (longitude, latitude) et un niveau de zoom. Ce niveau de zoom est important car il conditionne le moment où l’objet va s’afficher sur la carte. Ceci permet que la carte reste toujours lisible quelque soit l’échelle (sinon à petite échelles tous les symboles viendraient se superposer). Ainsi à un niveau départemental, vous afficherez moins de chose qu’à un niveau "ville" et, plus vous allez zoomer, plus vous verrez apparaître de détail.

En fait le plugin place les objets dans des couches (layers) qui s’afficheront au niveau de zoom voulu. Il commence par afficher les traces (GPX ou KML) que contient la rubrique.
Puis une couche de fond permet d’afficher les images à toutes les échelles, sous forme de petits carrés. Celles-ci restent donc toujours accessibles.
Enfin, chaque objet (article, rubrique ou document) est chargé sur une couche correspondant à son niveau de zoom.

PNG - 191 ko
Organisation des couches du mashup

Définition d’une légende

Par défaut, c’est le logo des objets qui s’affiche, mais le plugin offre la possibilité d’afficher les objets suivant une légende définie par un groupe de mots-clés.
Il suffit alors d’associer un mot-clé à un objet pour que ce soit le logo du mot-clé qui s’affiche. Par exemple, si vous associé un article au mot-clé "château", c’est la symbole du château qui va s’afficher.

Insertion des objets sur la carte

Comme indiqué précédemment, il suffit de localiser les objets avec le plugin SPIP-Géoportail pour qu’ils s’affiche sur la carte. Cependant on peut affiner leur positionnement grâce à un certain nombre de paramètres facultatifs à mettre dans le descriptif des objets.
Vous devez donc activer l’affichage des champs descriptif des articles et des rubriques dans le menu configuration (onglet contenu du site) de votre site.

C’est le raccourcis <mashup> qui va nous servir.

  • Affichage d’une rubrique sous forme de mashup

Pour qu’une rubrique s’affiche sous forme d’un mashup, vous devez déclarer un raccourcis <mashup|carte> dans son descriptif.

Paramètres :
-  mode : GEOP (Geoportail), GMAP (Google Maps), OSM (OpenStreetMap), YHOO (Yahoo ! Maps)
-  min_zoom, max_zoom : le zoom mini/maxi de la carte
-  carto : opacité de la carte (0->1)
-  ortho : opacité de l’image (0->1)
-  legende : le nom du groupe de mots-clés qui va servir de légende.

Par exemple :
Pour afficher la rubrique sur une carte Google Maps avec le plan mais sans la photo satellite, avec comme légende le groupe de mots-clés ’ma legende’, utilisez le raccourcis suivant :

  1. <mashup|carte|mode=GMAP|carto=1|ortho=0|legende=ma legende>

NB : Le logo de la rubrique servira de logo à la couche sur la carte. Vous pouvez accéder au contenu de cette rubrique en cliquant sur ce logo (en bas à droite de la carte).

  • Affichage d’un objet

Les objets (rubriques, articles, documents) s’affichent automatiquement pourvu qu’ils aient une localisation.
Par défaut, leur logo est centré sur le point de localisation, on peut cependant choisir un alignement différent grâce au paramètre align. Il suffit pour cela de mettre le raccourcis <mashup|align=XX>.

Les valeurs du paramètre correspondent au coins qui va servir d’accroche : top, bottom, left ou right. Ainsi, align=right va aligner le logo sur son coté droit, align=top-left sur le coins haut-gauche.

Ceci permet une meilleur lisibilité en évitant que des symboles trop proches ne viennent se superposer où masquer ce qu’ils désignent.

Affichage centré : le logo cache la trace <mashup|align=top-right> : le logo est décalé
  • Affichage d’une trace

Les traces (documents KML ou GPX) dans le portefolio de la rubrique s’affichent automatiquement dans le mashup. Attention, cependant, elles doivent également être localisées (NB en SPIPv2, la localisation peut être récupérée automatiquement dans le fichier lors de l’ajout de la trace).
Lorsqu’on clique dessus, elles renvoient à l’objet auquel elles sont associées (l’article ou la rubrique). On peut modifier ce comportement en renvoyant sur un autre objet grâce au raccourcis à placer dans le descriptif de la trace : <mashup|article=X> ou <mashup|rubrique=Y>, pour renvoyer à l’article X ou la rubrique Y.

  • Rubrique fictives

On peut définir des rubriques fictives qui ne s’afficheront pas sur la carte, pour cela, il suffit de laisser vide le texte de la rubrique. C’est pratique pour des rubrique qui ne servent que de conteneur pour l’affichage d’objets à un zoom donné mais qu’on ne veut pas voir apparaître sur la carte.

Personnalisation des squelettes

Si la façon dont les article, rubriques, etc. s’affichent dans le mashup ne vous plait pas, vous pouvez personnaliser les squelettes d’affichage : il vous suffit de surcharger les squelettes mashup_article.html, mashup_rubrique.html, mashup_auteur.html ou mashup_mot.html.

Attention à bien placer la balise [(#ENV|mashup_url_page)] dans ces squelettes : elle permet de formater les liens pour une redirection AJAX dans le mashup (en fait, elle supprime les urls propres pour conserver les urls de SPIP de la forme ?objet#ID).

Compatibilité

Le plugin est compatible avec le plugin Notation d’éléments SPIP et Thickbox (normalement).

Retour en haut de la page

Vos commentaires

  • Le 2 février à 13:01, par geocamino En réponse à : Plugin SPIP-Mashup

    Merci de ce superbe plugin. J’ai cependant un problème . Si on utilise le logo d’un article pour le mettre sur la carte la taille du logo apparait satisfaisante. Mais si l’on passe par le système de légende en utilisant le même logo dans un mot clé celui-ci apparait 4 fois plus petit . Dans le même cas, sur Spip_.Geoportail seul, j’utilisais le critère taille . Comment faire avec Spip_ Mashup ?. Cordialement

    • Le 3 février à 08:54, par geocamino En réponse à : Plugin SPIP-Mashup

      Excusez-moi - trouvé solution- cela se règle dans le panneau de configuration du plugin

    Répondre à ce message

  • Le 26 janvier à 12:41, par Luidgi En réponse à : Plugin SPIP-Mashup

    Bonjour,
    à tout hasard, pourriez-vous m’aider pour réduire en largeur l’affichage de la carte à la page.

    lien vers la page

    Merci

    • Le 31 janvier à 18:25, par Viglino Jean-Marc En réponse à : Plugin SPIP-Mashup

      Bonjour,

      En fait, le plugin est prévu pour afficher la carte au maximum de l’écran, ce qui
      peut poser problème si on ne veut pas un affichage plein écran...

      La fonction incriminée est mashup.resizeMap() dans fichier mashup.js.

      Vous devez pouvoir la neutraliser en introduisant le code suivant dans votre
      squelette ou votre modèle :

      <script language=javascript>
        mashup.resizeMap = function() {};
        mashup.delayResizeMap = function() {};
      </script>

      @+

    Répondre à ce message

  • Le 5 janvier à 17:51, par Chaumel En réponse à : Plugin SPIP-Mashup

    J’utilise ce plugin sur le site que j’anime, avec geoportail.
    Mon problème est dans l’affichage d’une trace. J’ai un fichier .gpx qui fonctionne sur une carte en geoportail, mais si je mets ma trace dans la rubrique mashup, elle ne s’affiche pas. J’ai je crois tout tenté, mais je n’arrive pas à la faire afficher.
    J’ai surement oublié quelque chose mais je ne trouve pas.
    ici la carte avec 41 articles : http://capelou.catholique.fr/spip.php?rubrique22
    ici la carte avec la trace (en diminuant le zoom) : http://capelou.catholique.fr/spip.php?article149
    Merci de votre aide.

    • Le 6 janvier à 09:01, par Viglino Jean-Marc En réponse à : Plugin SPIP-Mashup

      Bonjour,

      Votre fichier GPX doit être associé à la rubrique (ou a un de ces articles de la rubrique) pour s’afficher dans le mashup. Il doit également être localisé car sinon il ne s’affichera pas sur la carte (je sais, c’est bête pour un GPX, mais c’est pour être cohérent avec les autres type fichiers).
      NB : En SPIP v2 il est possible de récupérer automatiquement le positionnement des GPX lors de l’ajout du document (case à cocher sur la page de config.), ce qui évite une étape ;-)

      @+

    Répondre à ce message

  • Le 22 décembre 2011 à 08:09, par Hanabi En réponse à : Plugin SPIP-Mashup

    Bonjour,

    Lorsque je vais sur http://spip.mashup.free.fr/ sous IE 9 tout s’affiche correctement.
    Mais sous Firefox 9.0.1les layers geoportail ne s’affichent pas. Avez vous une idée pour régler cette incompatibilité ?
    Merci pour cet excellent plugin,
    Hanabi.

    • Le 22 décembre 2011 à 22:44, par Hanabi En réponse à : Plugin SPIP-Mashup

      Bonsoir,
      Cela peut servir : il faut activer les referers dans Firefox...
      Hanabi.

    • Le 5 janvier à 09:44, par Viglino Jean-Marc En réponse à : Plugin SPIP-Mashup

      Bonjour,

      Effectivement, les couches Géoportail étant protégées par une clé (lié au site), cela nécessite de connaitre le referer.

      merci pour l’info...

    Répondre à ce message

  • Le 23 novembre 2011 à 15:54, par Pascalou En réponse à : Plugin SPIP-Mashup

    Bonjour,

    J’ai bien suivi toutes vos instructions mais le pugin ne fonctionne pas chez moi. (je suis en local)
    Je n’ai pas de clé geoportail et j’essaye d’afficher une carte google map comme indiqué dans votre code exemple.
    Le soucis que je rencontre, c’est le lorsque je tente de géolocaliser un article à partir du backend, j’obtiens un message d’erreur me disant que je n’ai pas de clé geoportail.
    Il me propose toujours une carte géoportail et je ne parviens pas à utiliser google ou OSM lors de la géolocalisation.
    J’ai pourtant activé par défaut l’utilisation d’une carte google maps dans les préférences du plugin et j’utilise votre bout de code dans le descriptif de mon article :

    <mashup|carte|mode=GMAP|carto=1|ortho=0|legende=ma legende>

    Une idée pour m’aider ?
    Je suis complètement bloqué, j’ai essayé toutes les combinaisons possibles et cela ne fonctionne pas.
    Faut il obligatoirement entrer une clé geoportail pour utiliser ce plugin ?
    Je n’en ai pas utilité, je suis en train de mettre au point un site pour publier des articles lors d’un tour du monde d’un an et seule la cartographie mondiale m’interesse.

    Merci par avance.

    EDIT : Je viens de me résoudre à m’inscrire sur geoportail. Une fois la clé introduite, cela fonctionne. Par contre, impossible d’afficher une carte du monde en accueil ?
    Bravo pour votre travail.

    PNG - 307.4 ko
    • Le 23 novembre 2011 à 16:09, par Viglino Jean-Marc En réponse à : Plugin SPIP-Mashup

      Bonjour,

      La clé Géoportail est obligatoire (et gratuite) même si vous utilisez les couches Google ou OSM (c’est la clé de l’API qui est utilisée).
      Vous pouvez demander la clé ici : https://api.ign.fr/geoportail/
      Vous vous enregistrez sur le site puis vous créer une clé. La clé est disponible tout de suite. Elle est liée à un site (url) et est aussi utilisable en local pour le développement du site.
      Vous pouvez demander autant de clé que vous avez de site. Si vous avez un site commercial, il y a une limitation en nombre de cartes affichées (mais si vous utilisez vous n’affichez pas de carte du Geoportail...).

      Cordialement,

    Répondre à ce message

  • Le 12 octobre 2011 à 15:53, par Romain En réponse à : Plugin SPIP-Mashup

    Bonjour

    Je cherche à faire fonctionner le plugin sur un site (www.oiseaux-marins.fr)
    mais cela ne fonctionne pas.
    Pourtant, les cartes avec le plugin geoportail s’affichent correctement .
    Avez vous une idée de ce qui peut ne pas fonctionner ? (j’ai un squelette sarka en place)

    • Le 13 octobre 2011 à 08:56, par Viglino Jean-Marc En réponse à : Plugin SPIP-Mashup

      Bonjour,

      Peut-être un problème avec le squelette...

      Qu’est ce qui ne marche pas ?

      Avez-vous localisé la rubrique à afficher et placé le <mashup|carte> dans le descriptif de celle-ci ?
      Essayez directement http://www.oiseaux-marins.fr/?page=mashup&id_rubrique=xx où xx est la rubrique à afficher, pour voir ce que cela donne.

      @+

    Répondre à ce message

  • Le 18 juillet 2011 à 21:54, par ivandps En réponse à : Plugin SPIP-Mashup

    bonjour
    est ce que ça marche avec polyhiérarchie ?

    • Le 18 juillet 2011 à 23:57, par Viglino Jean-Marc En réponse à : Plugin SPIP-Mashup

      Bonjour,

      A priori, pas de problème, mais il vous faudra reprendre les squelettes mashup_json.html et ceux du répertoire fonds pour y inclure les critères spécifiques au plugin hiérarchie (à moins que le comportement par défaut vous suffise).

      @+

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d'abord sur gravatar.com (gratuit et indolore) et n'oubliez pas d'indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Plugin Contacts & Organisations

    4 janvier 2010 – 139 commentaires

    Ce plugin ajoute à SPIP des fonctionnalités de gestionnaire de contacts. Distingue les personnes morales (organisations) des personnes physiques (contacts) en conservant tous les attributs des auteurs SPIP. En conjonction avec le plugin (...)

  • Sarka-SPIP 3.0

    15 septembre 2009 – 153 commentaires

    Si la lignée 3.0 de Sarka-SPIP a été l’occasion de refaire presque entièrement le code du squelette elle continue à évoluer et à s’améliorer au fil des versions. Nous ne saurions trop conseiller aux nouveaux utilisateurs - et aussi aux anciens - (...)

  • Le Couteau Suisse

    4 mai 2007 – 1358 commentaires

    Ce plugin propose d’introduire facilement de simples fonctionnalités supplémentaires à SPIP et qui s’avèrent rapidement indispensables ! Par exemple : le contrôle de nombreuses variables « cachées » de SPIP, des améliorations ou facilités typographiques, (...)

  • SPIP-Listes

    30 novembre 2006 – 1697 commentaires

    SPIP-listes permet la gestion et l’envoi de lettres d’information (newsletters) au moyen d’un courriel au format html ou texte. Il est possible d’envoyer des messages aux abonnés qui se sont formellement inscrits à une ou plusieurs lettres (...)

  • Nivo Slider

    2 mars 2011 – 238 commentaires

    Nivo Slider pour SPIP permet d’intégrer des diaporamas en JQuery dans vos articles et squelettes.