Une carte des membres de Zeste de Savoir !

Parce que en vrai, c'est toujours mieux.

a marqué ce sujet comme résolu.

Bonjour à tous !

Il y a eu, au début de ZdS, une carte des membres qui a été réalisé. Le site sur laquelle celle-ci a été faite n’est aujourd’hui plus accessible, c’est pour cela que je me suis dit que je pourrais faire renaître l’idée. J’avais deux critères importants pour ce mini-projet : gratuit et toujours accessible. Ces deux critères expliquent donc l’architecture étrange du système (j’en parle plus tard).

Comment ça marche ?

  1. Envoyez un message privé à user-map contenant dans le corps du message le nom de la ville où vous habitez. Le titre de la conversation n’est pas important (lâchez vous, faites moi rire :p ).
  2. Il vous répondra assez rapidement, soit par la positive en vous indiquant l’endroit où il pense que vous habitez soit par la négative en vous demandant plus de détails. Si la ville qu’il vous indique n’est pas la bonne ou il n’a pas compris le nom, vous pouvez lui envoyer un second message (ou plus).
  3. Dans les 5 minutes qui suivent, votre marqueur devrait apparaître sur la carte !

Il se passe quoi sous le capot ?

  1. Un bot scrute ses MPs non lus. Il balance le texte du message dans la recherche OpenStreetMap et récupère la première ville dans les résultats. Ensuite, il associe l’utilisateur à cette ville et va chercher des infos sur l’utilisateur (si il ne les a pas déjà) : son nom d’utilisateur et l’URL qui pointe vers son compte.
  2. Toute les 5 minutes, un bot assemble ces données dans un fichier et push les changements vers le repo Github.
  3. Github Pages héberge le dossier docs/ qui ne contient que du statique. Leaflet est utilisé pour la carte (merci Eskimon pour ton tuto <3).

Si vous avez des retours sur le code ou le fonctionnement du bot, n’hésitez pas. :)

Si on habite à plusieurs endroit (études obligent), on peut même un marqueur dynamique ? :D

Je prend une PR qui trouve le centre d’un nombre n de villes. :D

Plus sérieusement, c’est modifiable ?

Breizh

Dans le sens, tu peux déménager ? À chaque message (pas besoin de créer un nouveau sujet pour ça, vous pouvez envoyer plusieurs messages dans un même sujet) que tu envoies au bot, si il trouve une ville, il va modifier ta position. Donc oui. :) (Entwanne a raison.)

et hop :)

ThomasC

Je t’ai vu passer dans la console. :) J’ai réduit le temps entre chaque git push à une minute, du moins pour le moment.

Il répond vachement vite ce machin !

A-312

Lookup des MPs non lus toutes les 5 secondes, tu as sûrement envoyé ton message juste avant qu’il regarde. Après, une requête pour le sujet et une pour la recherche et il a toutes les infos pour te répondre. :)

Ahah, joli ! Mais le cache de GitHub Pages en fait un peu des siennes. Des fois faut actualiser de force.

motet-a

C’est visible là parce que "beaucoup" de monde s’ajoute, ça changera pas grand chose dans quelques heures.

Bon, OSM (ou du moins l’API utilisée par le bot) a tendance à placer Rennes n’importe comment (en dehors de Rennes), j’ai dû mettre un nom de quartier :D

Breizh

Sûrement de ma faute, je sélectionne le premier résultat de type administrative et non city. Je fais ça parce que il ne trouvait pas Belfort avec city et il trouve toutes les villes avec administrative.

Je démménage demain, on verra si l’update se met à jour !

qwerty

Tu peux déménager maintenant et à nouveau 3 secondes plus tard, il le prendra en compte. :)

Assez rigolo, me suis ajouté du coup :)

Phigger

:D

Joli comme projet, le machin a répondu en 5 secondes pour moi. :D

gcodeur

C’était marrant à faire. :) Par contre je descend pas en dessous de 5 pour éviter de spammer ZdS (je m’étais fait rate-limit en développant à 1s d’intervalle).

Par contre je crois qu’il a tendance à faire des commits vides : https://github.com/tleb/zds-user-map/commit/5e657a705e675bb3d8e7fc1c839916d4e9311477

Petit bug ?

motet-a

Je push dans tout les cas, je pensais que git allait ignorer (comme il le fait si on fait git add foo && git commit -m "msg" && git push alors que foo n’a pas changé). Je vais peut-être ajouter un check. (Edit : en fait, il ne commit pas toute les minutes donc non, il ne commit+push pas quand il n’y a pas de changements.)

Bon, vous me laissez poster mon message ? Ça fait 3-4 fois que j’essaie de poster ce message mais un nouveau arrive avant. :D

Moi j’habite à Fribourg (la ville) en Suisse. Et comme dans beaucoup de région en Suisse (on appel ça des cantons) le nom du canton est le même que le nom du chef-lieu. Dans mon cas, quand je met Fribourg, Suisse il comprend le cantons et me place donc au centre géographique du canton. Et du coup c’est pas du tout au bon endroit.

Abdelazer

Pareil pour moi avec berne, du coup j’ai indiqué de façon un petit peu plus précise :p

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte