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 ?
Discussions par date d’activité
13 discussions
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
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
Voila le code pour http://icp.ge.ch/sem/cms-spip/
1205 Genève, Suisse
Meilleurs messages
FDG
Répondre à ce message
Où cette carte des sites sous SPIP est-elle encore visible ?
En cherchant un peu sur le site de l’auteur on la trouve ici :
http://www.balluche.fr/?1181/La-Carte-des-sites-sous-SPIP
Et hop ;)
Répondre à ce message
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
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
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
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
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 :-)
C’est fait. Pour l’apéro, pourquoi pas ! ;-)
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 :-)
L’icône sur fond vert indique les nouveaux sites ajoutés.
Répondre à ce message
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.
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.
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 :
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.
Suivre les commentaires : |