sites sous SPIP

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Attention, cette contribution est EN CHANTIER : elle n’est peut-être pas fonctionnelle.

Une carte des sites réalisés avec SPIP

Nota SPIP-Contrib : L’utilisation d’un « iframe » comme dans cette contrib pour l’insertion de cette carte fait débat. Il est aussi difficile des se faire une idée sur la fiabilité de cette représentation faute de précision sur le code utilisé. Quoiqu’il en soit à chacun d’apprécier la chose à son idée.

Principe de la carte

La carte des sites sous SPIP est une carte du monde des sites fonctionnant sous SPIP et mise à jour chaque jour automatiquement (le principe de fonctionnement est expliqué plus bas).

La carte contient déjà plusieurs centaines de sites. Les milliers d’autres seront intégrés dans les prochains mois.

On clique sur une icône SPIP pour voir apparaître le détail des informations sur un site ainsi qu’un aperçu du site.

Fonctionnement et inscription

Tous les jours le programme récupère les sites ajoutés sur spip.net > Des sites sous SPIP. Pour qu’un site (le vôtre par exempl1442 le géolocaliser en exécutant d’abord une requête whois sur différents sites [1] et s’il ne trouve pas, il tente de détecter une adresse postale sur votre site. Le programme va d’abord chercher dans tout ce qui ressemble à une page contact (rassurez vous cela vous prend 0% de bande passante). Une fois que le programme a récupéré l’adresse alors il est en mesure de géolocaliser le site. Pour le reste j’utilise les API googlemaps et voilà !

Vous pouvez toujours aider le programme en insérant votre adresse de domicile (au moins code postal et ville) dans votre propre site [2]. Sinon utilisez le forum de cet article pour demander une inclusion manuelle en précisant votre site et votre adresse. Le programme de géolocalisation est amélioré de jour en jour.

Cas des sites en sous-domaine

Si votre site est hébergé en sous-domaine, sans nom de domaine propre donc (genre sur Free par exemple), l’insertion de votre adresse dans votre propre site ou l’inscription manuelle via le forum devient indispensable. Afin de rendre le processus automatible, vous pouvez utiliser le format suivant dans votre commentaire :

site: www.monsite.fr
adresse: 45 rue de SPIP 75002 Paris FR

Le code

Intégrer la carte

Cette carte peut être intégrée dans d’autres sites en rapport avec SPIP

Insérez le code suivant dans votre squelette ou autre page html entre les balises <body> et </body> :

Se reporter à l’URL liée.

Génération de la carte

Cette carte est générée à partir de l’outil php Phoogle (voir plus bas un exemple d’utilisation). Je récupère les sites grâce à la fonction php file_get_contents et j’utilise une expression régulière (plus tard cela se fera par syndication RSS car c’est plus sûr) pour extraire les informations. Pour récupérer l’adresse, j’utilise une requête google spéciale.

Un 1er programme est lancé une fois par jour pour mettre à jour la base de donnée interne des sites spip avec les nouveaux sites. Pour les sites plus anciens présents dans la base, un autre programme lancé toutes les heures récupère les adresses postales au fur et à mesure. Je veille à ne pas surcharger les serveurs de whois pour ne pas me faire jeter. Une 20aine de sites sont traités chaque heure. Un petit calcul rapide indique que la totalité des sites seront géolocalisés dans quelques mois.

Tout les sites ne seront pas localisés. L’adresse postale de l’éditeur du site peut ne pas être présente dans le whois ou a pu être masquée ou rendu interdite d’accès. Pour les nombreux sites qui n’ont pas de nom de domaine propre, ils peuvent ne pas comporter d’adresses postale ou alors cette dernière est difficile ou impossible à trouver par Google.

Ensuite il ne reste plus qu’à utiliser Phoogle [3] avec les données de la base. Ils faut savoir que les API de Google ne sont pas 100% fiables. Tout d’abord, elles ne supportent pas des appels trop nombreux ou trop proches. C’est pourquoi que dès qu’une latitude et une longitude ont été calculés, je les stocke dans la base pour ne pas avoir à faire appel à l’API une nouvelle fois. Parfois l’API se trompe, elle retourne des coordonnées incorrectes qui positionnent le site ailleurs. Dans ce cas, seule une intervention humaine peut permettre de réinitialiser les coordonnées.

Phoogle est un framework php qui masque les appels aux nombreuses fonctions javascript de l’API Google Maps. Exemple d’utilisation de phoogle :

<?php
	$ph = new PhoogleMap();
	$ph->setAPIkey("Votre clé");
//je change les icônes par défaut; modifs apportées à Phoogle (je demanderai à l'éditeur de proposer cette modification s'il le souhaite)
	$ph->Icon = "http://balluche.free.fr/spip-small.png";
	$ph->iconShadow = "http://balluche.free.fr/spip-small-shadow.png";
	$ph->iconWidth = 20;
	$ph->iconHeight = 20;
	$ph->setHeight(400); 
	$ph->setWidth(500);
//zoom initial
	$ph->zoomLevel = 15;
//on positionne le canevas sur la France
	$ph->centerMap(47.15984, 2.988281);
//on parcoure la liste des sites
	$res = mysql_query("SELECT * FROM sites_spip") or die(mysql_error());
	while ($row = mysql_fetch_assoc($res)) {
		extract($row);
//préparation de l'affichage de la bulle
		$info = <<<EOT
<table><td>
<a href='$site' target='_ blank'><img width='120' width='90' src='http://open.thumbshots.org/image.pxf?url=$site' border='0'></a>
</td><td>
<small>
<a href='$site' target='_blank'>$site</a>
<b>Auteur</b>: $auteur
<b>Origine</b>: $info
<b>Date de publication</b>: $date
</small>
</table>
EOT;
		$coordinates = $ph->addAddress($q, $info);
	}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=iso8859-1"/>
    <title>La Carte des sites sous SPIP</title>
    <?php
           $ph->printGoogleJS();
     ?>
  </head>
  <body>
    <?php
           //on sort tout le javascript qui gère la carte
           $ph->showMap(); ?>
  </body>
</html>

Comme la carte est assez lourde, j’utilise un système de cache très performant : quickcache.

Il y a beaucoup de choses à dire si on rentre dans le détail de l’implémentation [4]

Les limites, il n’y en a pas beaucoup. J’améliore le programme de jour en jour et la carte commence à être bien remplie. La question que je me pose est si elle va supporter les 5000 [5] sites SPIP ?

Notes

[1Afnic, Gandi, ...

[2n’importe où pourvu que ce soit accessible par un moteur de recherche

[3Que j’ai modifié pour gérer les icônes.

[4Nota SPIP Contrib : pourtant cela pourrait peut-être intéresser du monde, au moins avec quelques pistes pour le code ?

[5Nota SPIP Contrib : rien que sur spip.net il y a déjà plus que 5000 sites inscrits

Discussion

13 discussions

  • 2

    Bonsoir

    Une carte des voisins spipeurs est sorti http://www.voisins-spipeurs.net
    Inscrivez vous dessus et faites la tourner : via le lien recommander ou les lien twitter et fb

    • Merci Pierre d’avoir donné corps à ce plugin créé par Balluche. Ta démarche est importante car on peut ainsi s’en faire une idée concrète et objective, ... ainsi que de ses fonctionnalités et possibilités d’adaptation.

      cordialement

      FDG

    • Bonjour,

      En fait il faut rajouter son point, je ne fait rien d’automatique.

    Répondre à ce message

  • François Daniel Giezendanner

    Plus précisément :

    Les infos pour http://icp.ge.ch/sem/cms-spip/

    sont :

    CMS-SPIP : CMS pour Susciter une Pédagogie Interactive Pertinente
    SEM : Service Ecoles-Medias
    5 rue des Gazomètres
    1205 Genève, Suisse

    Meilleurs messages

    FDG

    Répondre à ce message

  • François Daniel Giezendanner

    Voila le code pour http://icp.ge.ch/sem/cms-spip/

    1205 Genève, Suisse

    Meilleurs messages

    FDG

    Répondre à ce message

  • 1
    Romy Têtue

    Où cette carte des sites sous SPIP est-elle encore visible ?

    Répondre à ce message

  • nico4peace

    salut,

    quelques site sur la ville d’Avion 62210

    http://mobilisation-ae.fr

    http://pcfavion62.org

    http://cappaix.org/caplp

    http://bazard.eu

    et sur lille 59000

    http://dvdlp.org

    d’avance merci

    Répondre à ce message

  • 6

    Dommage qu’on ne puisse pas l’ouvrir dans une nouvelle fenêtre comme cela est possible avec Google Maps, on gagnerait en lisibilité. En tout cas super boulot !

    • C’est tout à fait possible. Il suffit d’ouvrir la page http://www.balluche.fr/spipmap.php en désactivant javascript. Si vous incluez cette page dans une frame ou iframe d’un site quelconque, la carte s’affiche entièrement (pas besoin de désactiver javascript) dans sa taille d’origine (500x400). Si vous avez besoin d’une taille plus grande voire paramétrable, et que plusieurs personnes sont intéressées alors il est possible de modifier le script.

    • C’est sûr, plus simple serait mieux...

    • J’ai réalisé aussi mon site photo sous spip et j’ai bien inséré le code comme on me l’a indiquer dans mon sommaire.html. apres quelques jours je ne vois toujours pas mon reperage sur la carte ;Pouvez vous y faire quelquechose.. merci
      Mon adresse est : http://fe6hhcrene.free.fr/spip
      mon site s’appelle : ma passion photo
      ma localisation : 1 chaussée brunehaut 59530 Jolimetz
      Merci a tous et encore bravo pour votre travail.
      rené avec ses amitiés

    • balluche

      Bonjour,

      Même réponse que pour arno.59, ton adresse n’est pas encore indexée par google. Tant que cela n’est pas fait, le programme ne peut récupérer l’adresse et donc afficher ton site sur la carte. Je vais le faire à la mano pour accélérer les choses.

      Je signale si çà n’est pas encore compris qu’il n’est pas obligatoire d’intégrer la carte à votre site web pour apparaître sur la carte (manquerait plus çà :-) ). Vous intégrez la carte si vous le souhaitez et si vous aimez faire un peu de pub pour spip.

      Pour apparaître sur la carte il suffit :
      -  d’inscrire son site sur le site de spip
      -  d’avoir son adresse à jour dans le whois (si vous êtes propriétaire du site) ou sur votre site (si vous êtes hébergé gratuitement - code postal et ville au minimum)
      -  d’attendre que l’adresse soit indexée par google (pour cela regardez le lien plus haut)
      -  attendre encore 2 jours pour êre intégré à la carte

    • Bonjour,

      http://jardingues.org est dans le whois depuis 2007.

      Son contact admin a bien, depuis le début, une adresse postale (à 45000 Orléans).

      Pourquoi n’est-il toujours pas visible sur la carte ?

      Est-ce qu’il manque quelque chose ?

      Merci de le localiser à la main, si nécessaire ...

      Cordialement,
      Martin

    • Ce site est dans la base. Est-il positionné ailleurs ? En tout cas l’adresse postale est bonne.

      Voici les coordonnées si vous voulez vérifier :

      -  latitude : 47.919033
      -  longitude : 1.89316

    Répondre à ce message

  • 1

    Alors je veux bien les miens aussi, et je signale une erreur sur l’url www.closducaillou.com/site qui ne se trouve pas a Grenoble, mais à 84350 Courthezon.

    Sinon vous pouvez ajouter :
    -  http://www.chrisgaillard.com 5,rue gallice 38100 Grenoble
    -  http://www.ldelhourme.com/site/ 83, rue du faubourg Saint-Denis 75010 Paris
    -  http://www.n-a-d.com/ 49 rue Pasteur 73200 Albertville
    -  http://www.psb-grenoble.eu/ 6, rue Jules Horowitz 38042 Grenoble
    -  http://www.excenevex.fr/ Chef Lieu 74140 excenevex
    -  http://www.lavau.eu Route de Cairanne 84150 Violes
    -  http://www.santaduc.fr Les Hautes Garrigues 84190 Gigondas
    -  http://www.ericleprince.com 27 r Nicolas Chorier 38000 grenoble
    -  http://www.forum4i.fr 34 avenue de l’Europe 38100 Grenoble

    Merci à vous pour cette idée, c’est marrant !

    Chris

    • www.closducaillou.com est au bon endroit maintenant (modifié en base). Pour le reste, il semble que le whois soit en faute. C’est le whois qui prend le pas sur toute autre adresse postale déclarée dans les sites. La méthode étant automatique, elle n’a rien de scientifique. J’envisage de proposer une formulaire pour le (re)positionnement.

      Owner ID : FREE-ORG-57723
      Owner Name : Christophe GAILLARD
      Owner Street1 : 6, rue capitaine camine
      Owner City : grenoble
      Owner Postal Code : 38100
      Owner Country : FRANCE

    Répondre à ce message

  • A référencer sur la carte :

    -  site de la communauté des communes du Miey de Béarn : 4 rue principale à Poey de Lescar url : http://www.mieydebearn.fr

    -  portail des associations du Miey de Béarn : 4 rue principale à Poey de Lescar url : http://www.associations.mieydebearn.fr

    -  chamadelle production : site de vidéastes amateurs béarnais : Gan 64 - http://chamadelle.ovh.org

    Répondre à ce message

  • 3
    Guignol

    Bonjour,
    Voici l’adresse de mon site à positionner sur la carte

    http://les-florianes.net/

    L’adresse : 25 rue Lt colonel Girard à Lyon 69007

    Bravo pour ce travail.
    A bientôt peut être dans un apéro SPIP :-)

    • balluche

      C’est fait. Pour l’apéro, pourquoi pas ! ;-)

    • Guignol

      Merci M Balluche !
      Juste une question par curiosité...
      Pourquoi mon petit écureuil qui indique la présence du site SPIP sur la carte, est-il sur un fond vert ? Alors qu’en principe il est sur un fond violet ?

      Etonnant non ?

      Bonne soirée :-)

    • balluche

      L’icône sur fond vert indique les nouveaux sites ajoutés.

    Répondre à ce message

  • 2
    www.sid-networks.com

    Bonjour et merci pour ton travail, c’est une excellente idée.

    Pour ma par je pense que ton application mériterait d’être développée.

    1 / L’installer sur une serveur solide, là free ça rame dur.

    2 / permettre dans l’appel de ta carte une géolocalisation directe d’un site, ce qui permettra d’appeller l’application pour géolocaliser directement un site avec une bonne visibilité de celui-ci. Peut être est ce déjà le cas en passant différents paramètres dans l’iframe ?

    3 / tu utilises la géolocalisation à partir des données de SPIP.Net et googlemap. Existe il un moyen d’aller piocher directement dans google en récupérant par exemple ce type de données : les informations te permettant d’alimenter tes données ?

    En tout cas suite à la lecture de la gazette et de cette contribution, je me suis permis de dupliquer leur article et d’ insérer ta carte sur mon blog spip et je vais me remettre à incrire mes sites spip sur spip.net en espérant pouvoir installer ta carte avec la géolocalisation plus précise sur mon site spip pro

    Ton application devrait encourager les spipeurs à le faire plus souvent je pense ;). Longue vie à elle, en espérant que tu va la faire évoluer, et merci.

    • balluche

      Bonjour,

      Merci pour le commentaire. Je réponds aux questions que tu te poses :

      1/ Le serveur est hébergé chez ovh. Je ne sais pas si c’est mieux par rapport à free. Enfin je suppose étant donné qu’ovh est payant.

      La page montrant la carte est assez optimisée puisque qu’elle utilise un système de cache avec compression du code HTML. Je ne sais pas si l’affichage de la carte serait plus rapide sur un autre serveur car quel que soit l’hébergement, je dois faire appel au serveur de googlemaps.

      Je constate que la carte est très chargée maintenant puisque qu’elle contient 2000 sites environs [1]. J’envisage d’optimiser le nombres de points sur la carte en le rendant dynamique à l’image de ce qui est fait sur le site de la communauté française d’Ubuntu.

      2/ Donner un moyen de se positionner immédiatement sur la carte ? Pourquoi pas. Un simple formulaire devrait faire l’affaire. Il faudra auparavant inscrire son site sur spip.net.

      Mais je ne sais pas si j’ai bien compris la question. Tu souhaiterais que je gère l’affichage d’un seul site sur la carte ?

      3/ C’est ce que j’ai essayé de faire mais google me l’interdit. En effet, j’ai travaillé sur un programme capable de récupérer les sites qui ont « oublié » de s’inscrire sur spip.net en effectuant une simple requête de ce genre. Mais Google m’accuse d’être un pirate ;-). Cà marche avec Yahoo mais je ne peux aller au delà de 1000 urls.

    • www.sid-networks.com

      Merci pour ta réponse à laquelle je réponds tardivement.

      1 / Ovh est très bien, c’est sans doute le chargement des nombreux sites qui font ramer l’affichage de l’iframe. Un petit coup d’ajax peut-être pour préparer le loading de l’iframe ? Peut-être du côté de Highslide existe il une solution ou un équivalent ?

      2 / Je trouverais intéressant que l’affichage ne prenne non pas en compte un seul site, mais soit directement centré, comme sur ta deuxième photo en exemple en haut de page, avec les paramètres choisis par l’internaute. Ainsi tu favorises la diffusion de ton application à des fins particulières, personnalisées et favorise en même temps la connaissance de SPIP, outil bien sous-estimé. (en espérant être clair)

      Bon courage et bravo.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

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

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom