6P7BMIJ3DK5H2DWBJNOF2PNVHL3GO7HA4GVS6DHSJ7VQNEJW4A7QC LGZNYFFGJK4SH7YLVPOYQXMMCBRVJL7WVB4IUPFG2DIYDIRFDY3AC 7MCTB5G2W6IB7JQXGO2HCMRHBUYIOKXI4MBODKLAJIK66EMLC5ZQC 6NB2PU2F64XDSURKYMBECKEN7ZQ63RMDN2GL5CP74YA6HE4K3TTAC DWRIJC3G3GO36DMH65IRX4ZQQWMV34ALGAJCY36EWG6XDQDCFKLAC YG7GE7B4XADVZW6KH3YSLWTT2SWZG6TMANKXZGD7PFD7LZZKNIXAC 4HSXLC3CAM6KCESNNF3FF4BN5PUP3ZBFDDKLO7A2GO7NDINT3RIAC 3O3IMVFKGSXMVLPLZR3H6MIG3EE5PS4632QE4JMK5SVX2PVSSKDAC TLRGOVFX6KIWQSWRPXS73WW4EHJQ5L5W5NYMO6UM2EF2H3EPAHHQC Y62XTAEHAC5MNJELNKACRLEVBUU2MKYKFPHB5M2S5X46B4EI2JJQC <!DOCTYPE html><html lang="fr"><head><meta charset="utf-8" /><link rel="icon" href="/favicon.png" /><meta name="viewport" content="width=device-width" /><meta charset="utf-8"><title>Communaute</title><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/communaute/bootstrap-icons.css"><base href="/communaute"><link href="/communaute/_app/immutable/assets/_layout.de1a9997.css" rel="stylesheet"></head><body data-sveltekit-preload-data="hover"><div style="display: contents"><div class="app svelte-11v66kw"><main class="svelte-11v66kw"><h1>404</h1><p>Not Found</p></main><footer class="svelte-11v66kw"></footer></div><script nonce="lRHGEeyt8R9N/4e6GA15eA==">{__sveltekit_np4u6v = {env: {},assets: "/communaute",base: "/communaute",element: document.currentScript.parentElement};const data = [null,null];Promise.all([import("/communaute/_app/immutable/entry/start.90facd34.js"),import("/communaute/_app/immutable/entry/app.fa00772b.js")]).then(([kit, app]) => {kit.start(app, __sveltekit_np4u6v.element, {node_ids: [0, 1],data,form: null,error: {message:"Not Found"},status: 404});});}</script></div></body><script src="/communaute/bootstrap.bundle.min.js"></script></html>
const annee = $derived.by(() => {console.log('derived by')let annee = data.anneeif (!annee) {annee = {}}for (let i = 0; i < $prms.length; i++) {const p = $prms[i]if (p.releve) {annee[p.prm || i] = []for (const j of p.releve.split('\n')) {const l = j.split(/;|,| /)if (l.length >= 2) {const d = new Date(l[0])const v = parseInt(l[1])if (d && !isNaN(v)) {annee[p.prm || i].push(v)}}}console.log(annee[p.prm || i])}}return annee})
>PRM<buttontype="button"class="btn btn-link align-baseline p-0 ms-2"data-bs-toggle="popover"data-bs-trigger="hover focus"data-bs-content="Un PRM, aussi appelé PDL, est l'identifiant d'un compteur électrique. On peut le trouver sur les factures d'électricité, ou en appuyant sur le bouton + du compteur Linky."aria-label="Un PRM, aussi appelé PDL, est l'identifiant d'un compteur électrique. On peut le trouver sur les factures d'électricité, ou en appuyant sur le bouton + du compteur Linky."><i class="bi bi-question-circle"></i></button></label>
>PRM</label><buttontype="button"class="btn btn-link align-baseline p-0 ms-2"data-bs-toggle="popover"data-bs-trigger="hover focus"data-bs-content="Un PRM, aussi appelé PDL, est l'identifiant d'un compteur électrique. On peut le trouver sur les factures d'électricité, ou en appuyant sur le bouton + du compteur Linky."aria-label="Un PRM, aussi appelé PDL, est l'identifiant d'un compteur électrique. On peut le trouver sur les factures d'électricité, ou en appuyant sur le bouton + du compteur Linky."><i class="bi bi-question-circle"></i></button>
{#if data_.prms?.length}<buttondisabled={!!data_.prms.find((p: Grain.Prm) =>!p.releve?.length && !p.consentement)}class="mx-2 btn btn-primary"form="pdl">Mettre à jour</button>
{#if $prms.length}<button class="mx-2 btn btn-primary" form="pdl">Mettre à jour</button>
détaillés.
détaillés. Cependant, si vous disposez des relevés au format CSV(au format de ligne: <code>2025-11-18T14:00:00+01:00; 440</code>), n'hésitez pas à les fournir ici.</div>{#if $prms?.length}{#each $prms as prm, i (prm)}<div class="row my-2"><div class="col-3 d-flex align-middle"><label class="ms-auto form-label" for="prm-{i}">Relevé au format CSV</label></div><divclass="col-auto flex-grow-1 d-flex align-items-center"><inputclass="form-control form-control-sm"id="releve-{i}"type="file" />{#if prm.releve?.length}<i class="ms-3 bi bi-check-circle"></i>{/if}</div><div class="col col-auto d-flex align-items-center"><buttonclass="btn btn-outline-primary btn-sm"onclick={(e) => {e.preventDefault()$prms.splice(i, 1)}}aria-label="Supprimer ce compteur"><i class="bi bi-trash"></i></button></div></div>{/each}{/if}<div class="d-flex justify-content-center"><button class="mx-2 btn btn-primary" onclick={addPrm}><i class="bi bi-plus-circle"></i> Ajouter un compteur</button>{#if $prms.length}<button class="mx-2 btn btn-primary" form="pdl">Mettre à jour</button><divclass="mx-2 spinner-border text-primary"class:d-none={!prm_loading}></div>{/if}