script de controle de SIRET

Statut
N'est pas ouverte pour d'autres réponses.
WRInaute passionné
Bonjour,

Recherches infructueuses sur notre ami GG!
Je recherche un script permettant de controler le siret d'une société directement en php. Quelqu'un a dejà eu ce cas de figure ?

J'entends par la pas controler que le siret comporte bien le bon nombre de chiffres mais bel et bien que la société existe ...
 
WRInaute accro
raljx a dit:
Bonjour,

Recherches infructueuses sur notre ami GG!
Je recherche un script permettant de controler le siret d'une société directement en php. Quelqu'un a dejà eu ce cas de figure ?

J'entends par la pas controler que le siret comporte bien le bon nombre de chiffres mais bel et bien que la société existe ...

A moins d'avoir accès a une base de donnée exhaustive des sirets (type societe.com) je vois mal comment tu vas pouvoir faire.
 
WRInaute passionné
Ben par exemple en appelant -http://avis-situation-sirene.insee.fr et en analysant le retour (seul pb pour ce site, il utilise des sessions de controle donc impossible de l'appeller via un script).
 
WRInaute discret
Salut,

Il n'y a pas un Webservice ou autre venant d'un site d'administration qui permettrait de faire ça?

@+ :wink:
 
Nouveau WRInaute
Les siret et siren repondent à des formules mathematiques, ça peut etre un début :

Code:
function check_siret($siret){
 // suppression des espaces en trop
  $siret = str_replace(' ', '', $siret);
  if
(!preg_match("/^(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)$/", $siret,
$match))
  return false;
  else
  {
  $retour_siren = check_siren(implode('', array_slice($match, 1,
9)));
  if (is_string($retour_siren))
  return false;
  else
  {
  $match[1] *= 2;
  $match[3] *= 2;
  $match[5] *= 2;
  $match[7] *= 2;
  $match[9] *= 2;
  $match[11] *= 2;
  $match[13] *= 2;

  $somme = 0;

  for ($i = 1; $i<count($match); $i++)
  {if ($match[$i] > 9)
  {
  $a = (int)substr($match[$i], 0, 1);
  $b = (int)substr($match[$i], 1, 1);
  $match[$i] = $a + $b;
  }
  $somme += $match[$i];
  }

  if (($somme % 10) == 0)
  return true;
  else
  return false;
  }
  }
}

Désolé pour l'indentation :lol:
 
WRInaute accro
raljx a dit:
Ben par exemple en appelant -http://avis-situation-sirene.insee.fr et en analysant le retour (seul pb pour ce site, il utilise des sessions de controle donc impossible de l'appeller via un script).
Code:
<form name="etablissementForm" method="post"
Ou passer par un client HTTP qui gère les post ^^. Bon amusement quand même. Avec Curl, c'est pê faisable (jamais essayé).
 
WRInaute accro
raljx a dit:
J'entends par la pas controler que le siret comporte bien le bon nombre de chiffres mais bel et bien que la société existe ...

A priori il ne cherche pas un script de validation du format du SIRET, mais plus à valider que la boite existe vraiment. Et là, à part aller vérifier sur un site possédant les bases de données nécessaire (et je ne connais pas de webservices gratuit le proposant), je vois pas d'autres moyens.
 
WRInaute passionné
UsagiYojimbo a dit:
raljx a dit:
J'entends par la pas controler que le siret comporte bien le bon nombre de chiffres mais bel et bien que la société existe ...

A priori il ne cherche pas un script de validation du format du SIRET, mais plus à valider que la boite existe vraiment. Et là, à part aller vérifier sur un site possédant les bases de données nécessaire (et je ne connais pas de webservices gratuit le proposant), je vois pas d'autres moyens.

en effet c'est bien ca je cherche a verifier que la boite existe. Concernant l'algo de Luhn il est deja implémenté dans mon code.

A priori as-t-on le droit d'emettre une requete en auto sur un site qui propose un service a l'internaute ?
 
WRInaute accro
raljx a dit:
UsagiYojimbo a dit:
raljx a dit:
J'entends par la pas controler que le siret comporte bien le bon nombre de chiffres mais bel et bien que la société existe ...

A priori il ne cherche pas un script de validation du format du SIRET, mais plus à valider que la boite existe vraiment. Et là, à part aller vérifier sur un site possédant les bases de données nécessaire (et je ne connais pas de webservices gratuit le proposant), je vois pas d'autres moyens.

en effet c'est bien ca je cherche a verifier que la boite existe. Concernant l'algo de Luhn il est deja implémenté dans mon code.

A priori as-t-on le droit d'emettre une requete en auto sur un site qui propose un service a l'internaute ?

Le site peut ne pas apprécier et t'en empêcher si trop de requêtes sont effectuées depuis ton site.

J'avais fait un truc du genre pour récupérer les infos liées à l'ISBN en auto et ça avait fini par se voir.
 
WRInaute passionné
bah, moi ca serai occasionnel (pas plus qu'une centaines de requetes / mois) donc ca devrait aller.

Actuellement j'arrive a passer mes variables en POST via CURLOPT_POSTFIELDS et tomber sur les resultats du site seulement j'ai fait 4 essais et maintenant cela ne fonctionne plus (je pense que ma session a expirée)) et il est impossible de recreer des sessions valident depuis mon site ... je vais tatonner sur d'autres sites ... en tout cas si ca peut interesser quelqu'un voila le script que j'ai utilisé pour m'inspirer (trouvé sur WRI).

Code:
function test_siren($siren,$ver,$codcom_srch,$commune_srch,) {
    $url = "http://www.euridile.com/weur3/iden_evaluation_type_dlp.ow";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,  $url);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, "entrep_srch=$siren&WRNCSRV2=$ver&codcom_srch=$codcom_srch&commune_srch=$commune_srch");
    curl_exec($ch);
    curl_close($ch); 
 }
 
WRInaute discret
Salut raljx,
as tu avancé dans ton script car je cherche exactement la même chose mais je n'ai trouvé aucun API gratuite le permétant et encor moins de code php.

Merci
 
Statut
N'est pas ouverte pour d'autres réponses.
Discussions similaires
Haut