Complète Tes Commerces : Nouvel outil pour ajouter les adresses manquantes grâce à la base Sirene

Bonjour à tous,

Cela fait quelques mois que je travaille sur un outil pour m’aider à compléter les adresses des commerces à Nice (à l’aide de la base SIRENE). Il n’est pas parfait mais il m’aide beaucoup et j’aimerais donc le partager si cela peut être utile à d’autres personnes.

Le principe en gros: si un commerce existe déjà dans OSM et a un nom (mais pas d’adresse), le script fait un rapprochement avec la base SIRENE et fait ressortir un nombre limité de possibilités (adresse + siret).

L’outil Complète Tes Commerces se trouve ici et le code sur GitLab, je fais pour l’instant un suivi de certaines des plus grandes villes de France, mon but dans un premier temps est de les actualiser chacune une fois par jour si il y a des contributions.

Des outils similaires beaucoup plus puissants tels que BANCO et Osmose existent déjà, mais à priori qui se focalisent sur les commerces manquants, et non ceux existants mais manquants de tags. Pour inciter plus de gens à utiliser OSM à la place de Google Maps, il faudrait ajouter plus de tags que juste le type de commerce et le nom.

J’ai également essayé de le rendre un peu plus facile à utiliser pour les néophytes. J’estime à la grosse que cela permet de compléter entre 30% et 50% des tags adresses manquants sur les commerces.

N’hésitez pas à m’envoyer toutes vos remarques, commentaires, retours, je suis preneur :slight_smile:
J’ai déjà fait quelques adaptations pour les villes du Havre et de Lille avec l’aide de Kurosawa06 et Kazing (merci à eux !) mais pas facile de voir si cela s’adapte aux autres villes sans être sur place.

P.S.: Je suis loin d’être un développeur pro donc le code est sûrement moche :stuck_out_tongue: mais cela m’a aussi permis d’améliorer mes connaissances en Python.

merylstreet

7 Likes

Belle initiative. Dans le meme genre je connaissait aussi l’outil BANCO : BANCO

par contre le lien éditer avec JOSM ne fonctionne pas chez moi, et éditer avec OSM ID ouvre un lien sur la carte OSM (et pas ID) et charge sur JOSM la dernière zone visualisée sur le site osm.org (pas celle de ton outil)

Bonjour PierreV, merci beaucoup pour vos retours.

En effet BANCO est très bien et je m’en sers également mais il me semble que cela détecte seulement les commerces manquants dans OSM et pas ceux déjà présents/incomplets.

Je pense que je devrais faire une petite page d’explication en effet pour aider à prendre en main l’outil.

  • Pour le lien JOSM, il a un tooltip (pas assez visible du coup :slight_smile:) qui explique qu’il faut d’abord choisir une des options, ensuite le lien JOSM devient cliquable. Cela importe le numéro SIRET dans JOSM automatiquement et cela évite d’importer le SIRET d’une autre tuile.
  • Concernant le bouton OSM iD, je viens d’essayer et de mon coté, cela ouvre OpenStreetMap (par exemple) donc à priori OSM iD. Avez-vous un exemple où cela arrive ?
  • On peut également cliquer sur la minimap et cela renvoie sur la carte osm.org normal (par exemple Node: ‪La puce à l'oreille‬ (‪10936751987‬) | OpenStreetMap)

Bonne journée à vous.

Merci pour cet outil !

Je pensais qu’il ne fallait pas renseigner les adresses quand le POI était dans un bloc qui avait déjà une adresse, je me trompe ? (c’est le cas de Lyon et Villeurbanne). Donc, perso, je n’ai jamais rentré d’adresse…

1 Like

Bonjour Bristow,

Bonne question, justement en regardant les adresses de commerces dans différentes villes, je me suis rendu compte que c’était fait de manières assez différentes.

Par exemple sur Nice, il y a du addr:street, du contact:addr, il y a beaucoup de relations type provides_feature.
À Reims, j’ai vu beaucoup de relations associatedStreet.
En effet à Lyon/Villeurbanne, il n’y a quasi aucun champ d’adresses renseigné mais cela n’a pas l’air d’être autant le cas dans les autres grandes villes.

D’où l’intérêt de partager mon outil avec pas énormément de villes au départ, si par exemple les mappeurs des environs de Lyon ne veulent pas contribuer les champs adresses, je n’inclurai pas la ville au site. C’est pourquoi je n’importe pas non plus les champs adresses dans JOSM automatiquement (à l’inverse de ref:FR:SIRET) vu que chaque ville semble avoir sa propre manière de faire.

Je me fais des stats de manière un peu grossière depuis ~6 mois pour avoir une idée :

Je viens d’essayer et j’ai le même problème. J’ai configuré dans mes préfèrences l’utilisation par défaut d’un éditeur externe plutôt qu’iD. J’ai l’impression qu’il ne faut pas supposer que le bouton « Modifier » sur osm.org lance forcément iD, ce n’est pas le cas en changeant ce paramètre.

Non seulement l’hypothèse est juste, mais en plus il suffit d’indiquer que l’éditeur voulu est ID dans la requête pour que ce soit l’éditeur ID qui soit utilisé editor=id.

Waouh c’est trop bien ! :star_struck: S’il y avait une fonction pour ajouter le numéro de téléphone ou le site web associé (trouvés sur une base de données fiable que je ne connais pas) ce serait incroyable !

Question : on peut taguer nos contribs avec #completetescommerces ?

Ah merci syl et bibi, je ne connaissais pas ces options !
Du coup si j’ai bien compris, je vais remplacer les liens https://www.openstreetmap.org/edit?node=11230026903 par https://www.openstreetmap.org/edit?node=11230026903#editor=id et ça devrait marcher nickel pour tout le monde.

Edit: Ah non c’est bon j’ai tout trouvé ici iD/API.md at develop · openstreetmap/iD · GitHub

Merci, tant mieux si c’est utile à d’autres !

Malheureusement, je ne connais pas de base de donnée qui répertorie tous les sites web/tel. Il y a AllThePlaces qui a déjà commencé à faire cela avec des scrapeurs mais que sur les grandes enseignes. Ca marche vraiment bien et la liste d’enseignes continue de grossir.

Je me pencherai sur la partie site web une fois que j’aurai peaufiné la partie adresse. Peut-être en utilisant une API de moteur de recherche mais ce n’est pas en OpenData du coup cela risque d’être limité à seulement quelques dizaines de recherches par jour.

Oui ce serait très bien de suivre les contribs avec le #completetescommerces

1 Like

… et de licence compatible avec OSM bien entendu !

3 Likes

Tout d’abord, merci pour ce nouvel outil qui apporte un vrai plus et facilite la mise à jour des données.

Par contre, je souhaite que ne soit pas proposé l’ajout des tags addr:street et addr:housenumber.

Une adresse doit être considérée comme un objet unique. Les communes sont appelées à constituer leur base adresse locale dans https://adresse.data.gouv.fr/ et le couple numéro/rue y est bien unique.

Comment exploiter OSM sur le sujet des adresses si celles-ci existent en plusieurs exemplaires ?

Pour un point d’intérêt, une adresse n’est qu’une de ses propriétés potentielles et les tags contact:street et contact:housenumber ont été justement imaginés dans cet objectif.

Merci par conséquent de revoir le schéma de cet outil en corrigeant les tags proposés.

cc @Bristow @cquest @vdct @CapitaineMoustache

2 Likes

Merci pour ces retours, je comprends votre point de vue.

Je ne connais pas toutes les discussions qu’il y a eu par le passé sur les adresses des points d’intérêts mais j’avais bien vu que c’était fait de différentes manières.
Du coup l’outil fait seulement des propositions avec les infos de la base Sirene mais ne force en aucun cas à tagger d’une manière ou d’une autre dans OSM (il me semble :slight_smile: sinon dîtes-moi où).
Les stats se font sur tous les types d’adresse: addr:street, contact:street, relations type=associatedStreet et type=providesfeature.

J’ai vu des gens qui ont utilisé l’outil juste pour contribuer le tag ref:FR:SIRET sans mettre l’adresse et je pense ajouter une fonction de filtrage sur chaque page pour que seuls les points d’intérêt sans SIRET soit afficher.

Mon but premier est d’avoir plus d’infos (quelqu’en soit la forme) pour les commerces dans OSM afin de réduire la dépendance à Google Maps. Je n’utilise jamais Google pour de la navigation mais par contre quasi tout le temps pour des restos, cafés, magasins, etc… car la probabilité que des infos utiles soit présentes dans OSM est vraiment faible. Le POI est présent mais les tags importants pour un utilisateur ne sont pas là.

En pratique, je préférerais que les gens taggent trop plutôt que pas assez. Par exemple sur Nice, j’ai peut-être contribué des adresses avec des tags inadéquats mais au moins l’information est présente et peut être modifiée par quelqu’un d’autre (ou par moi dans le futur).

Bref, c’est juste mon point de vue, je suis carrément ouvert à la discussion pour raffiner l’outil.

1 Like

Première fois que j’entends parler de ces bêtes là !

C’est un type de relation sorti de nulle part à ce qu’on dirait… page wiki créée il y a 2 semaines, sans proposition, discussion ou autre…

C’est peut être bien sur le fond, mais alors sur la forme, ça ne va pas trop, non ?

Testé rapidement et franchement pas mal !

Quelques propositions d’améliorations:

  • proposer l’ajout d’un official_name lorsqu’il est différent du name=* présent dans OSM
  • pousser le côté responsive de la CSS pour permettre de réduire la largeur à une seule colonne
  • calculer et indiquer la distance entre l’objet présent dans OSM et l’adresse figurant dans SIRENE, trier par distance croissante quand il y a plusieurs correspondances possibles
2 Likes

Merci cquest, très bonne idée les distances SIRET<->POI triées !

Pour la colonne en responsive CSS, c’est sur ma liste déjà mais c’est pas mon truc préféré le CSS :smiley:, je vais m’en occuper également.

Pour le official_name, je ne sais pas si ça vaut le coup, il y a quand même pas mal de mots inutiles dans les noms de commerces dans la base Sirene (en gros dans mon script j’ai essayé d’avoir le plus d’infos possible dans le champ nom pour avoir des matchs)

Concernant le provides_feature, il y a une proposition qui remonte à longtemps ici, c’est pas mal utilisé en Suède apparemment. Mais ce n’est pas mon rôle de savoir si c’est applicable en France ou pas, je laisse faire les personnes qui taggent comme cela. Je prends juste en compte le cas de figure dans mon script.

Salut,

Pas une critique, mais juste une question : comment se fait-il que ton outil ne propose pas la ville de Montpellier ?

Bonjour, ça arrive :slight_smile: il y a des grosses villes qui prennent du temps à processer et des fois ça bug. Du coup faut que je regarde plus en détails mais ca va le faire d’ici quelques jours.

Si , un peu quand même. provides_feature est un truc débarqué ex nihilo, sans processus d’approbation. Donc probabilité nulle qu’il soit supporté par la plupart des outils. J’ai regardé et en France ça semble avoir été ajouté via des MapRoulette.
Que tu supportes différents schémas existants très bien. Que tu incites à utiliser des schémas nullement approuvés, moins.

1 Like

Merci pour ton outil et pour cette phrase qui reflète exactement mon usage de Gmap, et de beaucoup de gens autour de moi.

J’ajoute que Panoramax a le potentiel de remplacer (localement dans un premier temps) StreetView, l’un des autres gros avantages de GM par rapport aux apps OSM. Couplé à Wikimedia Commons, ça va être super.

Au final, personnellement, je suis prêt à faire une croix sur pas mal d’infos exclusives à Gmap, comme les avis ou l’histogramme de fréquentation, car ces derniers ont un parfum de « je veux tout contrôler, on laisse zéro chances à un commerce ».

Mais pour revenir au sujet, entre avoir zéro tags sur un commerce, et la panoplie d’infos pour la plupart superflues de Gmap, il y a un entre-deux à atteindre qui pourrait satisfaire beaucoup de gens, je crois :slight_smile: Ce n’est pas base SIRENE qui nous donnera les menus des restaurants, mais déjà pas mal d’avoir le SIRET.

Dernière chose : ce site officiel est très pratique pour inspecter un commerce via son SIRET. Exemple Captcha