E3CFBYSDSBRXG2USHXIFWSCDVFRYUDWJBPUFTEEB3ZPMN3NT6PIAC
33TN2LIIJXVIE42DPWV7VZRGKF2RM4ELXGWAO36DER7CFSWIFKHAC
3O3IMVFKGSXMVLPLZR3H6MIG3EE5PS4632QE4JMK5SVX2PVSSKDAC
6NB2PU2F64XDSURKYMBECKEN7ZQ63RMDN2GL5CP74YA6HE4K3TTAC
7MCTB5G2W6IB7JQXGO2HCMRHBUYIOKXI4MBODKLAJIK66EMLC5ZQC
2UH4OD6TI5TAIIV2N2HQ2MWAWGJ7IELMZIMHORKL2237ENT7V3AAC
QHVOZBISIQ3E3P5F6GGKWVDSXC4OA23HCIH2OMXEVGXKSF5W4APAC
CALQZ74ABIY2S35P4EHAX6NY6G7YXCCVVUMTFGIWGYZQ45XFT7OQC
VNWG7QG3VM3JCF3QQ4OJAY2RFBKBWZ7JJNAISIP6YIIX6L2LGBUQC
}
let siret = document.getElementById(`siret-${i}`) as HTMLInputElement | null;
if(siret?.value) {
let now = performance.now();
// Rate-limiting: pas plus de 7 requêtes par seconde.
if(now - lastRequest < 150) {
await sleep(150 - (now - lastRequest))
}
lastRequest = now
const resp = await fetch(
`https://recherche-entreprises.api.gouv.fr/search?q=${siret.value}`
)
if(resp.status == 200) {
type Ent = {
results: {
dirigeants: {
nom: string,
prenoms: string,
}[],
matching_etablissements: {
libelle_voie: string,
commune: string,
}[]
}[]
}
let ent: Ent = await resp.json()
console.log(ent.results[0].matching_etablissements[0].commune)
if(ent.results.length) {
data.prms[i].nom = ent.results[0].dirigeants[0].nom
data.prms[i].prenom = ent.results[0].dirigeants[0].prenoms
data.prms[i].codeinsee = ent.results[0].matching_etablissements[0].commune
console.log(data.prms[i])
}
}
{#if data.accesParticuliers}
<div class="row my-2">
<div class="col-9 ms-auto">
<input type="radio" class="btn-check" id="particulier" value={false} bind:group={prm.pro}>
<label class="btn btn-sm" for="particulier">Particulier</label>
<div class="row my-2">
<div class="col-9 ms-auto">
<input type="radio" class="btn-check" id="particulier" value={false} bind:group={prm.pro}>
<label class="btn btn-sm" for="particulier">Particulier</label>
<input type="radio" class="btn-check" id="pro" value={true} bind:group={prm.pro}>
<label class="btn btn-sm" for="pro">Professionnel</label>
</div>
<input type="radio" class="btn-check" id="pro" value={true} bind:group={prm.pro}>
<label class="btn btn-sm" for="pro">Professionnel</label>
</div>
</div>
<div class="row my-2">
<div class="col-3 d-flex text-end align-items-center">
<label class="ms-auto form-label" for="prenom-{i}">Prénom du titulaire du compteur</label>
</div>
<div class="col-9 d-flex align-items-center">
<input
class="form-control form-control-sm"
id="prenom-{i}"
bind:value={prm.prenom}
/>
<div class="row my-2">
<div class="col-3 d-flex text-end align-items-center">
<label class="ms-auto form-label" for="nom-{i}">Nom du titulaire du compteur</label>
</div>
<div class="col-9 d-flex align-items-center">
<input
class="form-control form-control-sm"
id="nom-{i}"
bind:value={prm.nom}
/>
</div>
</div>
<div class="my-3 form-check d-flex">
<input
class="form-check-input ms-auto me-2"
type="checkbox"
id="consentement-{i}"
bind:checked={prm.consentement} />
<label class="form-check-label me-auto" for="consentement-{i}">Cet abonné consent à ce que j'accède à ses données.</label>
</div>
<div class="my-3 form-check">
<input
class="form-check-input"
type="checkbox"
id="consentement"
bind:checked={consentement} />
<label class="form-check-label" for="consentement"
>Ces abonnés consentent à ce que j'accède à leurs données</label>
</div>
{/if}
<div class="my-3">
Les données collectées depuis les compteurs communiquants sont stockées temporairement sur nos serveurs pour des raisons de performance, ne sont utilisées que pour afficher cette page et produire le rapport, et ne sont jamais conservées plus de 30 jours.
</div>
<div class="my-3">
Les données envoyées via un fichier sont conservées jusqu'à ce que vous supprimiez ce projet.
</div>