← LemonSirene

JOURNAL DES VERSIONS

Tout ce qui a changé
dans LemonSirene.

Enrichit vos tiers depuis les données publiques

Version en cours 1.6.0 Dolibarr 18 et supérieur

1.6.0 — 2026-08-15

Le module vous prévient qu’une mise à jour existe. Le descripteur déclare url_last_version, le fichier de version publié sur hellolemon.fr : Dolibarr le lit et signale « nouvelle version disponible » dans la liste des modules, à condition que la vérification y soit activée. La page de configuration du module affiche le bandeau sans rien avoir à activer.

Le contrôle de version ne passe plus par GitHub. Le dépôt est privé, l’appel à l’API des releases ne pouvait plus aboutir ; le bandeau lit désormais le même fichier que Dolibarr. L’échec est mis en cache comme le succès, pour ne pas faire attendre la page de configuration quand le serveur est injoignable.

Cette version publie aussi tout ce qui était resté dans le dépôt depuis la 1.3.0, dernière version mise en ligne : voir les entrées 1.4.0 et 1.5.0.

⚠️ Après cette mise à jour, désactivez puis réactivez le module. Les routes de l’API REST (1.4.0) et les écrans de contact (1.5.0) sont enregistrés en base au moment de l’activation, pas au remplacement des fichiers. Sans réactivation, l’API ne répond pas et le bouton « Normaliser l’adresse » n’apparaît pas sur les fiches contact.

1.5.0 — 2026-08-14

Nouveautés

  • Normaliser une adresse déjà saisie. L’autocomplétion ne servait qu’à la frappe : tout ce qui entrait autrement — import, commande e-commerce, saisie à la main — gardait sa forme d’origine (« 592 route de l eglise / 40300 / labatut »). Un bouton « Normaliser l’adresse » rejoue l’adresse de la fiche contre la Base Adresse Nationale et propose sa forme officielle, avec un aperçu avant/après champ par champ :

    • les cases pré-cochées ne changent que l’écriture (casse, accents, abréviations, ponctuation) — même adresse, forme officielle ;
    • tout ce qui modifie l’adresse elle-même (une lettre de la voie, le CP, la commune) arrive décoché et signalé.

    Trois refus assumés : le numéro de voie n’est jamais remplacé par celui d’un voisin (le 592 n’existe pas → la BAN propose le 590 : écarté) ; les compléments sont recopiés tels quels (« Bât. A », « chez M. Dupont ») ; une voie inconnue n’est pas remplacée par une voisine — « 17 rue de l’Église » à Clermont-Ferrand ramène « 17 rue de l’Éminée » avec un score honorable, et c’est refusé. Le score de l’API ne décide de rien : c’est la comparaison des libellés qui tranche.

  • Les contacts aussi. Le bouton est présent sur la fiche contact, et l’autocomplétion d’adresse à la saisie y est désormais active (mêmes champs, même source). Un contact a une adresse comme un tiers — et c’est souvent là que les adresses sont les plus mal écrites.

  • Normalisation en masse, sur la liste des tiers et sur la liste des contacts, 50 fiches par lot. En masse, seule la typographie est appliquée : dès qu’une adresse changerait sur le fond, la fiche est comptée « à relire » et laissée intacte. Une action de masse ne doit pas pouvoir déplacer un client.

  • La ville seule est rattrapable quand aucune voie n’est reconnue : « ste foy les lyon » → « Sainte-Foy-lès-Lyon ».

Après mise à jour : réactiver le module. Les contextes de hook des fiches et listes de contacts sont enregistrés à l’activation ; sans réactivation, le bouton n’apparaît pas sur les contacts.

1.4.0 — 2026-08-06

Nouveautés

  • API REST. LemonSirene expose désormais ses fonctions en HTTP (clé DOLAPIKEY), pour les appeler depuis un script ou un autre serveur sans accès SSH :

    • GET lemonsirene/bysiren/{siren} — fiche entreprise par SIREN (siège) ;
    • GET lemonsirene/bysiret/{siret} — fiche par SIRET (adresse de l’établissement) ;
    • GET lemonsirene/search?q= — recherche d’entreprises + suggestions ;
    • GET lemonsirene/address?q= — autocomplétion d’adresse (Base Adresse Nationale) ;
    • GET lemonsirene/vat/{siren} — n° de TVA intracommunautaire calculé ;
    • GET lemonsirene/dirigeants/{siren} — dirigeants déclarés (registre RNE public, filtrés RGPD, sans données de naissance) ;
    • POST lemonsirene/enrich/{socid} — enrichit un tiers existant (champs vides par défaut, ou tout avec l’option overwrite) et pose les labels en catégories ; option discover_website qui renvoie le site deviné sans l’écrire (faux positifs connus).

    La lecture requiert le droit « Lire » des tiers ; l’enrichissement requiert le droit LemonSirene « Enrichir » et « Créer » des tiers. Publication des routes après réactivation du module.

1.3.1 — 2026-07-18

Nouveautés

  • Enrichir une fiche sans SIREN. Le bouton « Enrichir depuis data.gouv » n’exige plus d’identifiant : si la fiche n’a ni SIREN ni SIRET, la société est cherchée par son nom (et la ville de la fiche), et vous choisissez laquelle dans une liste — un nom désigne souvent plusieurs sociétés. Les sociétés radiées y sont signalées. Une fois la société désignée, l’aperçu champ par champ habituel reprend : rien n’est enregistré sans validation.

Corrections

  • Logo : le bon site, mais le logo d’un partenaire. Sur certaines pages, le module remontait le logo d’un partenaire ou d’un client affiché plus bas (bandeau « ils nous font confiance », sponsors) au lieu de celui de l’entreprise — constaté sur 1password.com, où c’est le logo d’Oracle Red Bull Racing qui l’emportait. La recherche du logo affiché se limite désormais à l’en-tête du site et à sa première image « logo » ; à défaut, elle retombe sur l’icône propre du site (apple-touch-icon), jamais celle d’un tiers.
  • « Site web, logo & contacts » : recliquer met à jour. Le module répondait « rien de nouveau » dès qu’un logo était présent — y compris quand ce logo était faux (site mal deviné), ce qui rendait la correction impossible. Le logo et les e-mails sont désormais toujours proposés, l’ancien et le nouveau côte à côte ; la case est décochée par défaut lorsqu’un logo existe déjà, si bien que remplacer reste un geste délibéré.
  • « Garder l’e-mail actuel » devient une option du choix d’e-mail, et l’option par défaut quand la fiche en a un.
  • Le site utilisé est affiché en lien dans la fenêtre de confirmation : quand l’adresse a été devinée, c’est le seul moyen de voir qu’elle est fausse — et une mauvaise adresse donne un mauvais logo et de mauvais e-mails.

1.3.0 — 2026-07-16

Nouveautés

  • Dirigeants → contacts. La fiche tiers liste les dirigeants déclarés au registre ; un clic crée le contact Dolibarr correspondant. Les personnes déjà présentes ne sont pas dupliquées.
  • Labels officiels → catégories. À l’enrichissement, les distinctions portées par le registre deviennent des catégories de tiers, créées à la volée sous une catégorie mère « LemonSirene » : RGE, Qualiopi, organisme de formation, ESS, bio, SIAE, société à mission, entreprise du patrimoine vivant, achats responsables, Alim’confiance, entrepreneur du spectacle, aide ADEME. Filtrables nativement depuis la liste des tiers.
  • Enrichissement de masse. Action de masse sur la liste des tiers : jusqu’à 50 fiches par lot, avec rapport final (complétées / introuvables / cessées).
  • Aperçu avant enregistrement. L’enrichissement unitaire affiche désormais une modale champ par champ (valeur actuelle → valeur proposée), cochable, avec la source de chaque valeur (siège ou établissement secondaire). Rien n’est écrit sans validation.
  • Site web, logo & contacts. Récupère le logo du tiers depuis son site et ses adresses e-mail génériques (contact@, info@…). En trois temps : le site trouvé est montré avec un lien pour le vérifier, puis le logo et les e-mails sont montrés avant d’être enregistrés. Le site est deviné à partir du nom et de la ville quand la fiche n’en a pas.
  • Sociétés radiées signalées à la création. L’autocomplétion marque « RADIÉE » (avec la date) une unité légale cessée au registre, et ne propose plus les établissements fermés — on ne crée plus un client mort sans le savoir.
  • Date de création de l’entreprise → champ natif « date de naissance » du tiers (Dolibarr 23 et supérieur, ignoré silencieusement en deçà).
  • Capital social (optionnel) via un compte INPI/RNE gratuit renseigné en configuration. Identifiants chiffrés en base ; le module fonctionne intégralement sans.
  • Recherche géographique dans l’autocomplétion : « lemon 63 » ou « lemon 63000 » restreint au département ou au code postal.
  • API interne LemonSirene::httpGetJson() : client HTTP partagé pour les autres modules Lemon. LemonSirene::labelMap() expose la table des labels.

Corrections

  • Le fichier JavaScript est désormais versionné dans son URL : après une mise à jour, le navigateur ne sert plus l’ancienne version depuis son cache (le module semblait « ne rien faire »).
  • Les libellés du menu de la fiche tiers ne sont plus doublement échappés.
  • Recherche par SIRET : l’établissement fermé saisi explicitement reste proposé, signalé « ÉTAB. FERMÉ » et distinct d’une société radiée.
  • Le logo au format ICO n’est plus retenu (Dolibarr ne sait pas l’afficher) ; un ICO déjà en place est remplacé lorsqu’un meilleur logo est trouvé.

Sécurité

  • Durcissement complet du composant qui télécharge le site d’un tiers (protection SSRF) : les adresses internes atteintes par encapsulation IPv4 dans IPv6 (::ffff:, NAT64, 6to4) sont rejetées, l’adresse IP validée est épinglée sur la connexion (pas de re-résolution entre le contrôle et l’appel), les redirections sont revalidées à chaque saut, et la taille comme la durée sont bornées.
  • Les adresses e-mail nominatives ne sont jamais retenues : seules les adresses génériques d’entreprise le sont, sur correspondance exacte.

1.2.0 — 2026-07-14

  • Caractéristiques du tiers remplies depuis le registre : type d’entité, tranche d’effectifs, forme juridique (résolus dans les dictionnaires Dolibarr).

1.1.0

  • Autocomplétion d’adresse via la Base Adresse Nationale (Géoplateforme IGN) : adresses normalisées, code postal et ville remplis automatiquement.

1.0.2

  • Recherche par SIRET : renvoie l’établissement (adresse, CP, ville, SIRET), et non le siège. La raison sociale et la TVA restent celles de l’unité légale.

1.0.0

  • Première version publiée : enrichissement de la fiche tiers depuis le registre SIRENE (nom, SIREN/SIRET, NAF, adresse, TVA intracommunautaire calculée), autocomplétion à la création, filtrage RGPD des entités en diffusion restreinte, API interne getBySiren() / getBySiret().