{"id":6298,"date":"2026-11-01T10:10:05","date_gmt":"2026-11-01T10:10:05","guid":{"rendered":"https:\/\/avi-market.com\/?page_id=6298"},"modified":"2026-11-01T10:11:04","modified_gmt":"2026-11-01T10:11:04","slug":"composer-mon-kit-avibande","status":"publish","type":"page","link":"https:\/\/avi-market.com\/en\/composer-mon-kit-avibande\/","title":{"rendered":"Composer mon kit AviBande"},"content":{"rendered":"\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&#038;display=swap\">\n<!-- Configurateur AviBande v2 \u2014 bloc autonome, styles limit\u00e9s \u00e0 #avb-cfg -->\n<style>\n#avb-cfg{--bg:#F5F7F0;--surface:#FFFFFF;--surface2:#EEF3E5;--line:#DCE4D0;--fg:#1B2615;--muted:#566650;--brand:#317302;--brand-strong:#143D08;--accent:#C9741A;--accent-bg:#FBEED6;--on-brand:#FFFFFF;--warn-bg:#FFF4E0;--warn-fg:#7A4A08;--ok-bg:#E5F2D8;--ok-fg:#1E4A08;--err-bg:#FDE8E4;--err-fg:#8A2414;\n  font-family:'Plus Jakarta Sans','Segoe UI',Arial,sans-serif;font-size:15px;line-height:1.5;color:var(--fg);background:var(--bg);border-radius:20px}\n@media (prefers-color-scheme: dark){\n html:not([data-theme=\"light\"]) #avb-cfg[data-dark=\"auto\"]{--bg:#10160C;--surface:#18210F;--surface2:#1F2B15;--line:#2E3D22;--fg:#E8EFDF;--muted:#A5B597;--brand:#8CC44F;--brand-strong:#B9E08A;--accent:#F0A752;--accent-bg:#3A2A12;--on-brand:#10160C;--warn-bg:#33260F;--warn-fg:#F2C98A;--ok-bg:#1F3312;--ok-fg:#C3E59B;--err-bg:#3A1A14;--err-fg:#F5B3A6;color-scheme:dark}}\nhtml[data-theme=\"dark\"] #avb-cfg[data-dark=\"auto\"]{--bg:#10160C;--surface:#18210F;--surface2:#1F2B15;--line:#2E3D22;--fg:#E8EFDF;--muted:#A5B597;--brand:#8CC44F;--brand-strong:#B9E08A;--accent:#F0A752;--accent-bg:#3A2A12;--on-brand:#10160C;--warn-bg:#33260F;--warn-fg:#F2C98A;--ok-bg:#1F3312;--ok-fg:#C3E59B;--err-bg:#3A1A14;--err-fg:#F5B3A6;color-scheme:dark}\n#avb-cfg *{box-sizing:border-box}\n#avb-cfg .avb-wrap{max-width:1180px;margin:0 auto;padding:24px clamp(12px,3vw,24px) 36px}\n#avb-cfg .avb-head{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}\n#avb-cfg .avb-eyebrow{font-size:12.5px;font-weight:700;letter-spacing:1.6px;color:var(--brand);text-transform:uppercase}\n#avb-cfg h2.avb-title{margin:0;font-size:clamp(25px,4vw,34px);line-height:1.15;font-weight:800;color:var(--brand-strong);text-wrap:balance}\n#avb-cfg .avb-head p{margin:0;color:var(--muted);max-width:70ch}\n#avb-cfg .avb-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px;align-items:start}\n@media (max-width:900px){#avb-cfg .avb-layout{grid-template-columns:minmax(0,1fr)}}\n#avb-cfg .avb-col{display:flex;flex-direction:column;gap:16px;min-width:0}\n#avb-cfg .avb-panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px 18px 20px;display:flex;flex-direction:column;gap:12px;min-width:0}\n#avb-cfg .avb-step{display:flex;align-items:baseline;gap:10px}\n#avb-cfg .avb-step b{font-size:12px;font-weight:800;color:var(--on-brand);background:var(--brand);border-radius:999px;padding:2px 9px}\n#avb-cfg .avb-step h3{margin:0;font-size:18px;font-weight:700;color:var(--fg)}\n#avb-cfg .avb-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px}\n#avb-cfg .avb-choice{position:relative}\n#avb-cfg .avb-choice input{position:absolute;opacity:0;inset:0;pointer-events:none}\n#avb-cfg .avb-choice label{display:flex;flex-direction:column;gap:2px;height:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:14px;cursor:pointer;background:var(--surface);margin:0}\n#avb-cfg .avb-choice label strong{font-size:15px;color:var(--fg)}\n#avb-cfg .avb-choice label span{font-size:13px;color:var(--muted)}\n#avb-cfg .avb-choice input:checked + label{border-color:var(--brand);background:var(--surface2);box-shadow:inset 0 0 0 1px var(--brand)}\n#avb-cfg .avb-choice input:focus-visible + label{outline:3px solid var(--accent);outline-offset:2px}\n#avb-cfg .avb-hint{font-size:13.5px;color:var(--muted);margin:0}\n#avb-cfg .avb-gt{font-size:12.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin-top:6px}\n#avb-cfg .avb-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}\n#avb-cfg .avb-ico{width:44px;height:44px;border-radius:12px;background:var(--surface2);color:var(--brand);display:grid;place-items:center}\n#avb-cfg .avb-ico svg{width:28px;height:28px}\n#avb-cfg .avb-name{font-weight:700;font-size:15px;color:var(--fg)}\n#avb-cfg .avb-detail{font-size:13px;color:var(--muted)}\n#avb-cfg .avb-tag{display:inline-block;font-size:11.5px;font-weight:700;padding:1px 8px;border-radius:999px;margin-left:6px;vertical-align:1px}\n#avb-cfg .avb-tag.wifi{background:var(--surface2);color:var(--brand)}\n#avb-cfg .avb-tag.box{background:var(--accent-bg);color:var(--accent)}\n#avb-cfg .avb-tag.ac{background:var(--warn-bg);color:var(--warn-fg)}\n#avb-cfg .avb-price{font-size:13.5px;color:var(--fg);font-variant-numeric:tabular-nums}\n#avb-cfg .avb-price small{color:var(--muted)}\n#avb-cfg .avb-stepper{display:flex;align-items:center;gap:6px}\n#avb-cfg .avb-stepper button{width:38px;height:38px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface);color:var(--fg);font-size:18px;font-weight:700;cursor:pointer;font-family:inherit;padding:0;line-height:1}\n#avb-cfg .avb-stepper button:hover{border-color:var(--brand);color:var(--brand)}\n#avb-cfg .avb-stepper button:focus-visible{outline:3px solid var(--accent);outline-offset:1px}\n#avb-cfg .avb-stepper output{min-width:24px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}\n#avb-cfg details.avb-opt{border:1.5px dashed var(--line);border-radius:14px;padding:12px 14px;margin-top:8px}\n#avb-cfg details.avb-opt > summary{cursor:pointer;font-weight:700;font-size:15px;color:var(--brand-strong);list-style:revert}\n#avb-cfg details.avb-opt > summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}\n#avb-cfg .avb-summary{position:sticky;top:16px}\n@media (max-width:900px){#avb-cfg .avb-summary{position:static}}\n#avb-cfg .avb-lines{display:flex;flex-direction:column;gap:6px;font-size:14px}\n#avb-cfg .avb-line{display:flex;justify-content:space-between;gap:12px}\n#avb-cfg .avb-line span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}\n#avb-cfg .avb-line.auto span:first-child{color:var(--muted)}\n#avb-cfg .avb-empty{color:var(--muted);font-size:14px}\n#avb-cfg .avb-total{border-top:2px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:2px}\n#avb-cfg .avb-big{font-size:30px;font-weight:800;color:var(--brand-strong);font-variant-numeric:tabular-nums;line-height:1.1}\n#avb-cfg .avb-sub{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}\n#avb-cfg .avb-box{background:var(--surface2);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;font-size:14px}\n#avb-cfg .avb-box h4{margin:0;font-size:14.5px;font-weight:700;color:var(--fg)}\n#avb-cfg .avb-warn{background:var(--warn-bg);color:var(--warn-fg);border-radius:12px;padding:10px 12px;font-size:13.5px}\n#avb-cfg .avb-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}\n@media (max-width:600px){#avb-cfg .avb-form{grid-template-columns:minmax(0,1fr)}}\n#avb-cfg .avb-field{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600}\n#avb-cfg .avb-field.full{grid-column:1 \/ -1}\n#avb-cfg .avb-field input,#avb-cfg .avb-field textarea{width:100%;padding:10px 12px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface);color:var(--fg);font:inherit;font-weight:400}\n#avb-cfg .avb-field textarea{min-height:80px;resize:vertical}\n#avb-cfg .avb-field input:focus-visible,#avb-cfg .avb-field textarea:focus-visible{outline:3px solid var(--accent);outline-offset:1px}\n#avb-cfg .avb-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}\n#avb-cfg .avb-btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 18px;border-radius:12px;border:none;background:var(--brand);color:var(--on-brand);font:inherit;font-weight:800;font-size:16px;cursor:pointer;width:100%}\n#avb-cfg .avb-btn:hover{filter:brightness(1.08)}\n#avb-cfg .avb-btn[disabled]{opacity:.6;cursor:wait}\n#avb-cfg .avb-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}\n#avb-cfg .avb-btn.ghost{background:transparent;color:var(--brand);border:1.5px solid var(--brand)}\n#avb-cfg .avb-msg{border-radius:12px;padding:12px 14px;font-size:14.5px}\n#avb-cfg .avb-msg.ok{background:var(--ok-bg);color:var(--ok-fg)}\n#avb-cfg .avb-msg.err{background:var(--err-bg);color:var(--err-fg)}\n#avb-cfg .avb-msg a{color:inherit;font-weight:700}\n#avb-cfg textarea.avb-copy{width:100%;min-height:120px;font:13px\/1.45 ui-monospace,Consolas,monospace;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--fg);padding:8px}\n#avb-cfg .avb-foot{margin-top:22px;font-size:12.5px;color:var(--muted);max-width:95ch}\n#avb-cfg .avb-vendeur{display:none}\n#avb-cfg[data-mode=\"vendeur\"] .avb-vendeur{display:block}\n#avb-cfg .avb-vfield{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;font-size:14px}\n#avb-cfg .avb-vfield input{width:110px;padding:7px 9px;border-radius:9px;border:1.5px solid var(--line);background:var(--surface);color:var(--fg);font:inherit;text-align:right}\n@media (prefers-reduced-motion:reduce){#avb-cfg *{transition:none!important}}\n<\/style>\n\n<div id=\"avb-cfg\" data-mode=\"public\" data-dark=\"off\" data-api=\"https:\/\/api.avibande.com\">\n<div class=\"avb-wrap\">\n  <div class=\"avb-head\">\n    <div class=\"avb-eyebrow\">Avi-Market \u00b7 AviBande<\/div>\n    <h2 class=\"avb-title\">Composez votre ferme connect\u00e9e<\/h2>\n    <p>Indiquez la taille de votre b\u00e2timent et ce que vous voulez surveiller : nous vous proposons le mat\u00e9riel adapt\u00e9 et son prix. Envoyez ensuite votre demande, nous vous rappelons sous 48 h.<\/p>\n  <\/div>\n\n  <div class=\"avb-layout\">\n    <div class=\"avb-col\">\n      <section class=\"avb-panel\" aria-labelledby=\"avb-s1\">\n        <div class=\"avb-step\"><b>1<\/b><h3 id=\"avb-s1\">Taille du b\u00e2timent<\/h3><\/div>\n        <div class=\"avb-choices\" role=\"radiogroup\" aria-labelledby=\"avb-s1\">\n          <div class=\"avb-choice\"><input type=\"radio\" name=\"avb-size\" id=\"avb-size1\" value=\"s\" checked><label for=\"avb-size1\"><strong>Jusqu&rsquo;\u00e0 200 m\u00b2<\/strong><span>\u2248 1 000 \u00e0 2 000 sujets<\/span><\/label><\/div>\n          <div class=\"avb-choice\"><input type=\"radio\" name=\"avb-size\" id=\"avb-size2\" value=\"m\"><label for=\"avb-size2\"><strong>200 \u00e0 500 m\u00b2<\/strong><span>\u2248 2 000 \u00e0 5 000 sujets<\/span><\/label><\/div>\n          <div class=\"avb-choice\"><input type=\"radio\" name=\"avb-size\" id=\"avb-size3\" value=\"l\"><label for=\"avb-size3\"><strong>500 \u00e0 1 000 m\u00b2<\/strong><span>\u2248 5 000 \u00e0 10 000 sujets<\/span><\/label><\/div>\n          <div class=\"avb-choice\"><input type=\"radio\" name=\"avb-size\" id=\"avb-size4\" value=\"xl\"><label for=\"avb-size4\"><strong>Plus de 1 000 m\u00b2<\/strong><span>ou plusieurs b\u00e2timents<\/span><\/label><\/div>\n        <\/div>\n      <\/section>\n\n      <section class=\"avb-panel\" aria-labelledby=\"avb-s2\">\n        <div class=\"avb-step\"><b>2<\/b><h3 id=\"avb-s2\">Ce que vous voulez surveiller<\/h3><\/div>\n        <div class=\"avb-choices\" role=\"radiogroup\" aria-labelledby=\"avb-s2\">\n          <div class=\"avb-choice\"><input type=\"radio\" name=\"avb-preset\" id=\"avb-p1\" value=\"cam\"><label for=\"avb-p1\"><strong>Cam\u00e9ras seulement<\/strong><span>Voir le b\u00e2timent \u00e0 distance<\/span><\/label><\/div>\n          <div class=\"avb-choice\"><input type=\"radio\" name=\"avb-preset\" id=\"avb-p2\" value=\"th\"><label for=\"avb-p2\"><strong>Temp\u00e9rature + humidit\u00e9<\/strong><span>Capteur WiFi, sans bo\u00eetier<\/span><\/label><\/div>\n          <div class=\"avb-choice\"><input type=\"radio\" name=\"avb-preset\" id=\"avb-p3\" value=\"full3\" checked><label for=\"avb-p3\"><strong>Ammoniac + T\u00b0 + humidit\u00e9<\/strong><span>Capteur 3 en 1 industriel<\/span><\/label><\/div>\n          <div class=\"avb-choice\"><input type=\"radio\" name=\"avb-preset\" id=\"avb-p4\" value=\"fullsep\"><label for=\"avb-p4\"><strong>Ammoniac + T\u00b0 + humidit\u00e9, \u00e9co<\/strong><span>2 capteurs s\u00e9par\u00e9s<\/span><\/label><\/div>\n        <\/div>\n        <label for=\"avb-withcam\" style=\"display:flex;align-items:center;gap:10px;font-size:14.5px;margin:0\"><input type=\"checkbox\" id=\"avb-withcam\" checked style=\"width:20px;height:20px;accent-color:var(--brand)\"> Ajouter les cam\u00e9ras recommand\u00e9es<\/label>\n      <\/section>\n\n      <section class=\"avb-panel\" aria-labelledby=\"avb-s3\">\n        <div class=\"avb-step\"><b>3<\/b><h3 id=\"avb-s3\">\u00c9nergie et internet sur place<\/h3><\/div>\n        <div class=\"avb-choices\" role=\"radiogroup\" aria-label=\"\u00c9nergie\">\n          <div class=\"avb-choice\"><input type=\"radio\" name=\"avb-energy\" id=\"avb-e1\" value=\"solar\" checked><label for=\"avb-e1\"><strong>Batterie 12 V solaire<\/strong><span>Pas de courant du r\u00e9seau<\/span><\/label><\/div>\n          <div class=\"avb-choice\"><input type=\"radio\" name=\"avb-energy\" id=\"avb-e2\" value=\"grid\"><label for=\"avb-e2\"><strong>Courant du r\u00e9seau<\/strong><span>Prise 230 V dans le b\u00e2timent<\/span><\/label><\/div>\n        <\/div>\n        <div class=\"avb-choices\" role=\"radiogroup\" aria-label=\"Internet\">\n          <div class=\"avb-choice\"><input type=\"radio\" name=\"avb-net\" id=\"avb-n1\" value=\"router\" checked><label for=\"avb-n1\"><strong>Il me faut internet<\/strong><span>Routeur 4G fourni, carte SIM \u00e0 votre nom<\/span><\/label><\/div>\n          <div class=\"avb-choice\"><input type=\"radio\" name=\"avb-net\" id=\"avb-n2\" value=\"own\"><label for=\"avb-n2\"><strong>WiFi d\u00e9j\u00e0 sur place<\/strong><span>Le b\u00e2timent capte un WiFi internet<\/span><\/label><\/div>\n        <\/div>\n      <\/section>\n\n      <section class=\"avb-panel\" aria-labelledby=\"avb-s4\">\n        <div class=\"avb-step\"><b>4<\/b><h3 id=\"avb-s4\">Le mat\u00e9riel<\/h3><\/div>\n        <p class=\"avb-hint\" id=\"avb-rec\"><\/p>\n        <div id=\"avb-catalog\"><\/div>\n        <details class=\"avb-opt\" id=\"avb-optbox\">\n          <summary>Options : CO2, porte, lampes, ventilateurs, alarme\u2026<\/summary>\n          <p class=\"avb-hint\" style=\"margin-top:8px\">Des \u00e9quipements en plus, \u00e0 ajouter si vous en avez besoin. Ils se connectent au WiFi de la ferme et s&rsquo;utilisent depuis le t\u00e9l\u00e9phone.<\/p>\n          <div id=\"avb-options\"><\/div>\n        <\/details>\n      <\/section>\n\n      <section class=\"avb-panel\" aria-labelledby=\"avb-s5\">\n        <div class=\"avb-step\"><b>5<\/b><h3 id=\"avb-s5\">Vos coordonn\u00e9es<\/h3><\/div>\n        <form id=\"avb-form\" class=\"avb-form\" novalidate>\n          <div class=\"avb-field\"><label for=\"avb-nom\">Nom et pr\u00e9nom *<\/label><input id=\"avb-nom\" name=\"nom\" autocomplete=\"name\" required><\/div>\n          <div class=\"avb-field\"><label for=\"avb-tel\">T\u00e9l\u00e9phone WhatsApp *<\/label><input id=\"avb-tel\" name=\"tel\" type=\"tel\" autocomplete=\"tel\" placeholder=\"+226 \u2026\" required><\/div>\n          <div class=\"avb-field\"><label for=\"avb-ville\">Ville ou village *<\/label><input id=\"avb-ville\" name=\"ville\" required><\/div>\n          <div class=\"avb-field\"><label for=\"avb-ferme\">Nom de la ferme<\/label><input id=\"avb-ferme\" name=\"ferme\"><\/div>\n          <div class=\"avb-field full\"><label for=\"avb-message\">Message (facultatif)<\/label><textarea id=\"avb-message\" name=\"message\" placeholder=\"Nombre de b\u00e2timents, date souhait\u00e9e, questions\u2026\"><\/textarea><\/div>\n          <div class=\"avb-hp\" aria-hidden=\"true\"><label for=\"avb-site\">Ne pas remplir<\/label><input id=\"avb-site\" name=\"site\" tabindex=\"-1\" autocomplete=\"off\"><\/div>\n          <div class=\"avb-field full\">\n            <span>Je souhaite<\/span>\n            <div class=\"avb-choices\" role=\"radiogroup\" aria-label=\"Type de demande\">\n              <div class=\"avb-choice\"><input type=\"radio\" name=\"avb-type\" id=\"avb-t1\" value=\"devis\" checked><label for=\"avb-t1\"><strong>Recevoir un devis<\/strong><span>Sans engagement<\/span><\/label><\/div>\n              <div class=\"avb-choice\"><input type=\"radio\" name=\"avb-type\" id=\"avb-t2\" value=\"commande\"><label for=\"avb-t2\"><strong>Commander<\/strong><span>Nous confirmons le prix et le d\u00e9lai avant paiement<\/span><\/label><\/div>\n            <\/div>\n          <\/div>\n          <div class=\"avb-field full\"><button class=\"avb-btn\" id=\"avb-send\" type=\"submit\">Envoyer ma demande de devis<\/button><\/div>\n          <div class=\"avb-field full\" id=\"avb-result\" role=\"status\" aria-live=\"polite\"><\/div>\n        <\/form>\n      <\/section>\n    <\/div>\n\n    <aside class=\"avb-panel avb-summary\" aria-labelledby=\"avb-sum\">\n      <h3 id=\"avb-sum\" style=\"margin:0;font-size:18px\">Votre estimation<\/h3>\n      <div class=\"avb-lines\" id=\"avb-lines\"><\/div>\n      <div class=\"avb-total\">\n        <div class=\"avb-sub\" id=\"avb-matF\"><\/div>\n        <div class=\"avb-sub\" id=\"avb-poseF\"><\/div>\n        <div class=\"avb-big\" id=\"avb-totF\">0 F<\/div>\n        <div class=\"avb-sub avb-vendeur\" id=\"avb-totE\"><\/div>\n      <\/div>\n      <div id=\"avb-warns\" style=\"display:flex;flex-direction:column;gap:8px\"><\/div>\n      <div class=\"avb-box\">\n        <h4>Abonnement mensuel<\/h4>\n        <div class=\"avb-line\"><span>Option Sentinelle (en plus de votre abonnement AviBande)<\/span><span id=\"avb-subApp\">&#8211;<\/span><\/div>\n        <div class=\"avb-line\"><span>Forfait internet (\u00e0 l&rsquo;op\u00e9rateur)<\/span><span id=\"avb-subData\">&#8211;<\/span><\/div>\n      <\/div>\n      <div class=\"avb-box\">\n        <h4>\u00c9nergie \u00e0 pr\u00e9voir (non incluse)<\/h4>\n        <div id=\"avb-energy\" class=\"avb-lines\"><\/div>\n      <\/div>\n      <button class=\"avb-btn ghost\" id=\"avb-copyBtn\" type=\"button\">Copier le r\u00e9capitulatif<\/button>\n      <textarea class=\"avb-copy\" id=\"avb-copyTxt\" readonly hidden aria-label=\"R\u00e9capitulatif \u00e0 copier\"><\/textarea>\n    <\/aside>\n  <\/div>\n\n  <p class=\"avb-foot\" id=\"avb-foot\">Prix indicatifs, confirm\u00e9s par AviBande avant toute commande. Les cam\u00e9ras et capteurs WiFi envoient leurs donn\u00e9es directement par le WiFi ; le bo\u00eetier AviBande n&rsquo;est ajout\u00e9 que pour les capteurs industriels (ammoniac), et un seul bo\u00eetier lit tous les capteurs du b\u00e2timent. \u00c9nergie calcul\u00e9e pour 4 h de soleil utile et 2 jours d&rsquo;autonomie (batterie lithium).<\/p>\n<\/div>\n<\/div>\n\n<script>\n(function(){\nvar ROOT=document.getElementById('avb-cfg'); if(!ROOT) return;\nvar $=function(s){return ROOT.querySelector(s)}, $$=function(s){return ROOT.querySelectorAll(s)};\nvar API=(ROOT.getAttribute('data-api')||'').replace(\/\\\/+$\/,'');\nvar VENDEUR=false;\nif(VENDEUR) ROOT.setAttribute('data-mode','vendeur');\nvar P=new URLSearchParams(location.search);\n\nvar ICON={\n sensor:'<svg viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"17\" y=\"6\" width=\"14\" height=\"24\" rx=\"4\"\/><path d=\"M20 30v6h8v-6M24 36v6M10 13a11 11 0 0 0 0 14M38 13a11 11 0 0 1 0 14M21 13h6M21 18h6\"\/><\/svg>',\n thermo:'<svg viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 28V9a4 4 0 0 1 8 0v19a8 8 0 1 1-8 0z\"\/><path d=\"M24 20v12M34 12a6 6 0 0 1 0 8M37 9a10 10 0 0 1 0 14\"\/><\/svg>',\n camin:'<svg viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"10\" y=\"7\" width=\"28\" height=\"25\" rx=\"8\"\/><circle cx=\"24\" cy=\"19.5\" r=\"6.5\"\/><path d=\"M18 32l-3 9h18l-3-9\"\/><\/svg>',\n camout:'<svg viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M9 4h21l-3 9H6zM16 4l-2 9M23 4l-1 9M18 13v6\"\/><rect x=\"7\" y=\"19\" width=\"22\" height=\"12\" rx=\"3\"\/><path d=\"M29 22l10-4v14l-10-4M18 31v10M12 41h12\"\/><\/svg>',\n co2:'<svg viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M14 34a8 8 0 0 1-1-15.9A11 11 0 0 1 34 15a9 9 0 0 1 1 19z\"\/><path d=\"M18 26a2.5 2.5 0 1 0 0 .1M27 26a2.5 3 0 1 0 0 .1\"\/><\/svg>',\n door:'<svg viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 42V6h20v36M8 42h28\"\/><circle cx=\"27\" cy=\"25\" r=\"1.6\"\/><rect x=\"36\" y=\"16\" width=\"6\" height=\"12\" rx=\"2\"\/><\/svg>',\n plug:'<svg viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"10\" y=\"8\" width=\"28\" height=\"32\" rx=\"8\"\/><circle cx=\"19\" cy=\"24\" r=\"2\"\/><circle cx=\"29\" cy=\"24\" r=\"2\"\/><\/svg>',\n relay:'<svg viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"8\" y=\"12\" width=\"32\" height=\"24\" rx=\"4\"\/><path d=\"M14 24h6l4-6M28 24h6M16 36v5M32 36v5\"\/><\/svg>',\n motion:'<svg viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"24\" cy=\"24\" r=\"7\"\/><path d=\"M12 14a16 16 0 0 0 0 20M36 14a16 16 0 0 1 0 20M7 9a23 23 0 0 0 0 30M41 9a23 23 0 0 1 0 30\"\/><\/svg>',\n siren:'<svg viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M14 36V24a10 10 0 0 1 20 0v12M10 36h28v5H10zM24 6v4M8 14l3 3M40 14l-3 3\"\/><\/svg>',\n smoke:'<svg viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><ellipse cx=\"24\" cy=\"14\" rx=\"16\" ry=\"6\"\/><path d=\"M8 14v4c0 3.3 7.2 6 16 6s16-2.7 16-6v-4M18 32c2-2 2-4 0-6M24 38c2-2 2-4 0-6M30 32c2-2 2-4 0-6\"\/><\/svg>',\n water:'<svg viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"10\" y=\"10\" width=\"28\" height=\"30\" rx=\"3\"\/><path d=\"M10 26c5 3 9-3 14 0s9 3 14 0M24 4v10M20 10l4 4 4-4\"\/><\/svg>'\n};\n\n\/* Catalogue sans prix : les prix client (F CFA) sont servis par AviBande, voir chargerConfig(). *\/\nvar CFG={\n version:'local-2026-10-30', pose_fcfa:{s:0,m:0,l:0,xl:0}, app_fcfa:2000,\n data_fcfa:{capteurs:'\u2248 700 F',cameras:'\u2248 15 000 \u00e0 25 000 F'},\n items:[\n  {id:'s3',grp:'Mesure de l\\'air',ico:'sensor',name:'Capteur 3 en 1 industriel',detail:'Ammoniac, temp\u00e9rature, humidit\u00e9 \u00b7 \u00e9tanche',w:0.03,rs485:true,usb5:true},\n  {id:'nh3',grp:'Mesure de l\\'air',ico:'sensor',name:'Capteur ammoniac NH3',detail:'0-100 ppm \u00e9lectrochimique \u00b7 12 V',w:0.8,rs485:true},\n  {id:'xy',grp:'Mesure de l\\'air',ico:'thermo',name:'Capteur T\u00b0 + humidit\u00e9 industriel',detail:'RS485 \u00b7 12 V \u00b7 sous abri ventil\u00e9',w:0.2,rs485:true},\n  {id:'thw',grp:'Mesure de l\\'air',ico:'thermo',name:'Capteur T\u00b0 + humidit\u00e9 WiFi',detail:'Alertes sur le t\u00e9l\u00e9phone \u00b7 ne mesure pas l\\'ammoniac',w:0.5,usb5:true,wifi:true},\n  {id:'ci',grp:'Cam\u00e9ras',ico:'camin',name:'Cam\u00e9ra int\u00e9rieure 1080p',detail:'Vision de nuit',w:3,usb5:true,wifi:true},\n  {id:'ci2',grp:'Cam\u00e9ras',ico:'camin',name:'Cam\u00e9ra int\u00e9rieure orientable',detail:'360\u00b0, vision de nuit',w:3.5,usb5:true,wifi:true},\n  {id:'ce',grp:'Cam\u00e9ras',ico:'camout',name:'Cam\u00e9ra ext\u00e9rieure solaire 2K',detail:'Panneau int\u00e9gr\u00e9, sans fil',w:0,wifi:true},\n  {id:'ce2',grp:'Cam\u00e9ras',ico:'camout',name:'Cam\u00e9ra ext\u00e9rieure solaire 2K, d\u00e9tection',detail:'D\u00e9tection de personnes, panneau s\u00e9par\u00e9',w:0,wifi:true}\n ],\n options:[\n  {id:'co2',ico:'co2',name:'Capteur CO2 WiFi',detail:'CO2 (NDIR), temp\u00e9rature, humidit\u00e9 \u00b7 pour r\u00e9gler la ventilation',w:1,usb5:true,wifi:true},\n  {id:'porte',ico:'door',name:'D\u00e9tecteur d\\'ouverture de porte',detail:'Alerte si la porte du b\u00e2timent s\\'ouvre ou reste ouverte \u00b7 \u00e0 piles',w:0,wifi:true},\n  {id:'prise',ico:'plug',name:'Prise connect\u00e9e 16 A',detail:'Allumer, couper ou programmer une lampe chauffante, l\\'\u00e9clairage ou un ventilateur \u00b7 230 V',w:0.5,ac:true,wifi:true},\n  {id:'relais',ico:'relay',name:'Module relais WiFi 12 V \/ 230 V',detail:'Commander un ventilateur ou des lampes c\u00e2bl\u00e9s, y compris en 12 V solaire',w:0.5,wifi:true},\n  {id:'mvt',ico:'motion',name:'D\u00e9tecteur de mouvement',detail:'Alerte en cas de passage la nuit (vol) \u00b7 \u00e0 piles',w:0,wifi:true},\n  {id:'sirene',ico:'siren',name:'Sir\u00e8ne d\\'alarme 100 dB',detail:'Se d\u00e9clenche avec le d\u00e9tecteur de porte ou de mouvement',w:0.5,usb5:true,wifi:true},\n  {id:'fumee',ico:'smoke',name:'D\u00e9tecteur de fum\u00e9e',detail:'Alerte incendie sur le t\u00e9l\u00e9phone \u00b7 pile 10 ans',w:0,wifi:true},\n  {id:'eau',ico:'water',name:'Niveau du r\u00e9servoir d\\'eau',detail:'Alerte quand le ch\u00e2teau d\\'eau ou la citerne baisse',w:0.5,usb5:true,wifi:true}\n ],\n auto:{\n  router:{name:'Routeur 4G WiFi',w:4.5},\n  board:{name:'Bo\u00eetier AviBande (carte + coffret \u00e9tanche)',w:1},\n  small:{name:'Petit mat\u00e9riel du bo\u00eetier (fusible, bornier)'},\n  cable:{name:'C\u00e2ble ext\u00e9rieur 20 m'},\n  conv:{name:'Convertisseur 12 V \u2192 5 V'}\n }\n};\nvar REC={s:[1,1,1],m:[2,2,1],l:[3,4,2],xl:[3,4,2]};\nvar LBL={s:'jusqu\\'\u00e0 200 m\u00b2',m:'200 \u00e0 500 m\u00b2',l:'500 \u00e0 1 000 m\u00b2',xl:'plus de 1 000 m\u00b2'};\nvar qty={};\n\nfunction val(n){var e=ROOT.querySelector('input[name=\"avb-'+n+'\"]:checked');return e?e.value:null}\nfunction esc(s){return String(s).replace(\/[&<>\"']\/g,function(c){return {'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#39;'}[c]})}\nfunction fF(x){return Math.round(x\/100)*100}\nfunction fmtF(x){if(!isFinite(x))return 'sur devis';return fF(x).toLocaleString('fr-FR').replace(\/\u202f|\u00a0\/g,' ')+' F'}\nfunction fmtE(x){return x.toLocaleString('fr-FR',{minimumFractionDigits:2,maximumFractionDigits:2}).replace(\/\u202f|\u00a0\/g,' ')+' \u20ac'}\nfunction allItems(){return CFG.items.concat(CFG.options)}\nfunction sim(k,def){var e=$('#avb-v-'+k);return VENDEUR&&e?(+e.value||0):def}\n\/* Prix client d'un article en F CFA : celui du serveur s'il existe, sinon calcul\u00e9 *\/\nfunction prixF(it){\n return typeof it.prix_fcfa==='number'?it.prix_fcfa:NaN;\n}\nfunction poseF(){var p=VENDEUR?sim('pose',0):(CFG.pose_fcfa[val('size')]||0);return p}\nfunction appF(){return VENDEUR?sim('app',CFG.app_fcfa):CFG.app_fcfa}\n\nfunction applyRec(){\n var r=REC[val('size')], p=val('preset'), cams=$('#avb-withcam').checked;\n CFG.items.forEach(function(i){qty[i.id]=0});\n if(p==='th') qty.thw=r[0];\n if(p==='full3') qty.s3=r[0];\n if(p==='fullsep'){qty.nh3=r[0];qty.xy=r[0];}\n if(cams||p==='cam'){qty.ci=r[1];qty.ce=r[2];if(p==='cam')$('#avb-withcam').checked=true;}\n $('#avb-rec').textContent=(val('size')==='xl'?'Plus de 1 000 m\u00b2 : point de d\u00e9part, \u00e0 adapter avec vous. ':'Recommand\u00e9 pour '+LBL[val('size')]+' : ')+'un point de mesure pour \u2248 250 m\u00b2, une cam\u00e9ra int\u00e9rieure pour \u2248 150 m\u00b2. Ajustez si besoin.';\n render();\n}\n\nfunction rowHTML(i){\n var tag=i.rs485?'<span class=\"avb-tag box\">avec bo\u00eetier<\/span>':(i.ac?'<span class=\"avb-tag ac\">courant 230 V<\/span>':'<span class=\"avb-tag wifi\">WiFi direct<\/span>');\n return '<div class=\"avb-ico\">'+(ICON[i.ico]||'')+'<\/div>'+\n  '<div style=\"min-width:0\"><div class=\"avb-name\">'+esc(i.name)+tag+'<\/div><div class=\"avb-detail\">'+esc(i.detail||'')+'<\/div>'+\n  '<div class=\"avb-price\">'+fmtF(prixF(i))+'<\/div><\/div>'+\n  '<div class=\"avb-stepper\"><button type=\"button\" aria-label=\"Retirer : '+esc(i.name)+'\" data-d=\"-1\">\u2212<\/button><output aria-live=\"polite\">'+(qty[i.id]||0)+'<\/output><button type=\"button\" aria-label=\"Ajouter : '+esc(i.name)+'\" data-d=\"1\">+<\/button><\/div>';\n}\nfunction mountList(el,list,withGroups){\n el.innerHTML='';var g='';\n list.forEach(function(i){\n  if(withGroups&&i.grp!==g){g=i.grp;var t=document.createElement('div');t.className='avb-gt';t.textContent=g;el.appendChild(t);}\n  var row=document.createElement('div');row.className='avb-item';row.innerHTML=rowHTML(i);\n  row.querySelectorAll('button').forEach(function(b){b.addEventListener('click',function(){\n   qty[i.id]=Math.max(0,Math.min(50,(qty[i.id]||0)+(+b.getAttribute('data-d'))));\n   row.querySelector('output').textContent=qty[i.id];update();});});\n  el.appendChild(row);\n });\n}\nfunction render(){mountList($('#avb-catalog'),CFG.items,true);mountList($('#avb-options'),CFG.options,false);update();}\n\nfunction compute(){\n var lines=[],eur=0,f=0,w=0,solar=val('energy')==='solar';\n function add(q,name,it,auto,id){if(q<=0)return;var pu=prixF(it);lines.push({id:id,q:q,name:name,pu:pu,f:q*pu,e:q*(it.eur||0),auto:!!auto});f+=q*pu;eur+=q*(it.eur||0);}\n allItems().forEach(function(i){if(qty[i.id]>0){add(qty[i.id],i.name,i,false,i.id);w+=qty[i.id]*(i.w||0);}});\n var rsN=allItems().filter(function(i){return i.rs485}).reduce(function(s,i){return s+(qty[i.id]||0)},0);\n var wifiN=allItems().filter(function(i){return i.wifi}).reduce(function(s,i){return s+(qty[i.id]||0)},0);\n var camN=['ci','ci2','ce','ce2'].reduce(function(s,k){return s+(qty[k]||0)},0);\n var acN=allItems().filter(function(i){return i.ac}).reduce(function(s,i){return s+(qty[i.id]||0)},0);\n var A=CFG.auto;\n if(rsN>0){add(1,A.board.name,A.board,true,'board');w+=A.board.w;add(1,A.small.name,A.small,true,'small');add(rsN,A.cable.name,A.cable,true,'cable');}\n if(val('net')==='router'&&(rsN+wifiN)>0){add(1,A.router.name,A.router,true,'router');w+=A.router.w;}\n if(solar){var conv=allItems().filter(function(i){return i.usb5&&i.id!=='s3'}).reduce(function(s,i){return s+(qty[i.id]||0)},0)+((qty.s3||0)>0?1:0);add(conv,A.conv.name,A.conv,true,'conv');}\n return {lines:lines,eur:eur,f:f,w:w,rsN:rsN,wifiN:wifiN,camN:camN,acN:acN,solar:solar};\n}\n\nfunction update(){\n var c=compute(), L=$('#avb-lines');L.innerHTML='';\n if(!c.lines.length) L.innerHTML='<div class=\"avb-empty\">Ajoutez au moins un appareil.<\/div>';\n c.lines.forEach(function(l){var d=document.createElement('div');d.className='avb-line'+(l.auto?' auto':'');d.innerHTML='<span>'+l.q+' \u00d7 '+esc(l.name)+'<\/span><span>'+fmtF(l.f)+'<\/span>';L.appendChild(d);});\n var pose=c.lines.length?poseF():0, tot=c.f+pose;\n $('#avb-matF').textContent=pose?'Mat\u00e9riel : '+fmtF(c.f):'';\n $('#avb-poseF').textContent=pose?'Pose et mise en service : '+fmtF(pose):'';\n $('#avb-totF').textContent=fmtF(tot);\n $('#avb-totE').textContent='';\n var dev=c.rsN+c.wifiN;\n $('#avb-subApp').textContent=dev>0?'+ '+fmtF(appF())+' \/ mois':'-';\n var data='-';\n if(val('net')==='router'&&dev>0) data=c.camN>0?CFG.data_fcfa.cameras:CFG.data_fcfa.capteurs;\n else if(val('net')==='own'&&dev>0) data='votre WiFi actuel';\n $('#avb-subData').textContent=data;\n var E=$('#avb-energy'), wh=c.w*24, panel=Math.max(10,Math.ceil(wh\/4\/10)*10), ah=Math.max(7,Math.ceil(wh*2\/0.8\/12\/5)*5);\n if(c.w<=0) E.innerHTML='<div class=\"avb-empty\">Rien \u00e0 alimenter : les cam\u00e9ras ext\u00e9rieures ont leur propre panneau.<\/div>';\n else if(c.solar) E.innerHTML='<div class=\"avb-line\"><span>Consommation<\/span><span>'+c.w.toFixed(1).replace('.',',')+' W \u00b7 '+Math.round(wh)+' Wh \/ jour<\/span><\/div><div class=\"avb-line\"><span>Panneau solaire<\/span><span>'+panel+' W minimum<\/span><\/div><div class=\"avb-line\"><span>Batterie 12 V lithium<\/span><span>'+ah+' Ah minimum<\/span><\/div>';\n else E.innerHTML='<div class=\"avb-line\"><span>Consommation<\/span><span>'+c.w.toFixed(1).replace('.',',')+' W<\/span><\/div><div class=\"avb-hint\">Sur le r\u00e9seau : adaptateurs secteur fournis. Une petite batterie tampon garde les alertes pendant les coupures.<\/div>';\n var msgs=[];\n if((qty.thw||0)>0&&((qty.s3||0)+(qty.nh3||0))===0) msgs.push('Le capteur WiFi ne mesure pas l\\'ammoniac. Pour l\\'ammoniac, choisissez un capteur industriel.');\n if(c.acN>0&&c.solar) msgs.push('Les prises connect\u00e9es demandent du 230 V (r\u00e9seau ou onduleur). Sur batterie 12 V, prenez plut\u00f4t le module relais.');\n if(val('size')==='l'||val('size')==='xl') msgs.push('Grand b\u00e2timent : nous v\u00e9rifions la port\u00e9e du WiFi sur place et ajoutons un r\u00e9p\u00e9teur si besoin.');\n $('#avb-warns').innerHTML=msgs.map(function(x){return '<div class=\"avb-warn\">'+esc(x)+'<\/div>'}).join('');\n $('#avb-send').textContent=val('type')==='commande'?'Envoyer ma commande':'Envoyer ma demande de devis';\n ROOT.__last=c;\n}\n\nfunction recap(c){\n var s='Demande AviBande \u2013 b\u00e2timent '+LBL[val('size')]+'\\n';\n c.lines.forEach(function(l){s+='- '+l.q+' \u00d7 '+l.name+' : '+fmtF(l.f)+'\\n'});\n var pose=poseF(); if(pose) s+='Pose : '+fmtF(pose)+'\\n';\n s+='Total estim\u00e9 : '+fmtF(c.f+pose)+'\\n';\n s+='Abonnement : option Sentinelle '+$('#avb-subApp').textContent+', forfait internet '+$('#avb-subData').textContent+'\\n';\n s+='\u00c9nergie : '+(c.solar?'batterie 12 V solaire':'courant du r\u00e9seau')+' (non incluse)';\n return s;\n}\n\nfunction payload(c){\n return {\n  type:val('type'), source:P.get('source')||(location.hostname.indexOf('avibande')>=0?'avibande':'avimarket'),\n  ferme_ref:P.get('ferme')||null, config_version:CFG.version,\n  client:{nom:$('#avb-nom').value.trim(),tel:$('#avb-tel').value.trim(),ville:$('#avb-ville').value.trim(),ferme:$('#avb-ferme').value.trim(),message:$('#avb-message').value.trim()},\n  batiment:{taille:val('size'),suivi:val('preset'),energie:val('energy'),internet:val('net')},\n  lignes:c.lines.map(function(l){return {id:l.id,nom:l.name,qte:l.q,prix_unitaire_fcfa:Math.round(l.pu),auto:l.auto}}),\n  total_materiel_fcfa:Math.round(c.f), pose_fcfa:Math.round(poseF()), total_fcfa:Math.round(c.f+poseF()),\n  abonnement_app_fcfa:appF(), site:$('#avb-site').value\n };\n}\n\n$('#avb-form').addEventListener('submit',function(ev){\n ev.preventDefault();\n var R=$('#avb-result'), c=ROOT.__last;\n var missing=['nom','tel','ville'].filter(function(k){return !$('#avb-'+k).value.trim()});\n if(missing.length){R.innerHTML='<div class=\"avb-msg err\">Merci de remplir : '+missing.map(function(k){return {nom:'nom',tel:'t\u00e9l\u00e9phone',ville:'ville'}[k]}).join(', ')+'.<\/div>';$('#avb-'+missing[0]).focus();return;}\n if(!c.lines.length){R.innerHTML='<div class=\"avb-msg err\">Ajoutez au moins un appareil avant d\\'envoyer.<\/div>';return;}\n var b=$('#avb-send');b.disabled=true;var old=b.textContent;b.textContent='Envoi\u2026';\n var done=function(ok,ref){\n  b.disabled=false;b.textContent=old;\n  if(ok){R.innerHTML='<div class=\"avb-msg ok\"><strong>Demande envoy\u00e9e'+(ref?' (n\u00b0 '+esc(ref)+')':'')+'.<\/strong> Nous vous rappelons sur WhatsApp au '+esc($('#avb-tel').value.trim())+' sous 48 h.<\/div>';}\n  else{var txt=recap(c)+'\\nNom : '+$('#avb-nom').value+'\\nT\u00e9l : '+$('#avb-tel').value+'\\nVille : '+$('#avb-ville').value;\n   R.innerHTML='<div class=\"avb-msg err\">L\\'envoi n\\'a pas abouti. Envoyez-nous ce r\u00e9capitulatif sur WhatsApp au +226 04 74 56 68 : <a href=\"https:\/\/wa.me\/22604745668?text='+encodeURIComponent(txt)+'\" target=\"_blank\" rel=\"noopener\">ouvrir WhatsApp<\/a>.<\/div>';}\n };\n if(!API){done(false);return;}\n try{\n  fetch(API+'\/api\/sentinelle\/commande',{method:'POST',headers:{'Content-Type':'application\/json','Accept':'application\/json'},body:JSON.stringify(payload(c))})\n  .then(function(r){return r.ok?r.json():Promise.reject(r.status)}).then(function(j){done(true,j&&j.reference);copierAviMarket(j&&j.reference,c)}).catch(function(){done(false)});\n }catch(e){done(false)}\n});\n\n$('#avb-copyBtn').addEventListener('click',function(){\n var txt=recap(ROOT.__last), ta=$('#avb-copyTxt');ta.value=txt;\n var ok=function(){$('#avb-copyBtn').textContent='R\u00e9capitulatif copi\u00e9';setTimeout(function(){$('#avb-copyBtn').textContent='Copier le r\u00e9capitulatif'},2000)};\n try{navigator.clipboard.writeText(txt).then(ok,function(){ta.hidden=false;ta.select()})}catch(e){ta.hidden=false;ta.select()}\n});\n\n\/* Copie de la demande en commande \u00ab en attente \u00bb sur Avi-Market (extension AviMarket \u2014 Commandes Sentinelle) *\/\nfunction copierAviMarket(ref,c){\n if(!ref||location.hostname.indexOf('avi-market.com')<0) return;\n try{var p=payload(c);p.reference=ref;\n  fetch(location.origin+'\/wp-json\/avimarket\/v1\/sentinelle',{method:'POST',headers:{'Content-Type':'application\/json','Accept':'application\/json'},body:JSON.stringify(p),keepalive:true}).catch(function(){});\n }catch(e){}\n}\n\n\/* R\u00e9glages et prix client servis par AviBande (menu admin Commandes Sentinelle) *\/\nfunction chargerConfig(){\n if(!API||VENDEUR) return Promise.resolve();\n return fetch(API+'\/api\/sentinelle\/config',{headers:{'Accept':'application\/json'}}).then(function(r){return r.ok?r.json():null}).then(function(j){\n  if(!j) return;\n  if(j.version) CFG.version=j.version;\n  if(j.pose_fcfa) CFG.pose_fcfa=j.pose_fcfa;\n  if(typeof j.app_fcfa==='number') CFG.app_fcfa=j.app_fcfa;\n  if(j.data_fcfa) CFG.data_fcfa=j.data_fcfa;\n  var map={};(j.articles||[]).forEach(function(a){map[a.id]=a});\n  ['items','options'].forEach(function(k){CFG[k]=CFG[k].filter(function(i){return !map[i.id]||map[i.id].actif!==false}).map(function(i){var a=map[i.id];if(a){i.prix_fcfa=a.prix_fcfa;if(a.nom)i.name=a.nom;if(a.detail)i.detail=a.detail;}return i});});\n  Object.keys(CFG.auto).forEach(function(k){var a=map[k];if(a){if(typeof a.prix_fcfa==='number')CFG.auto[k].prix_fcfa=a.prix_fcfa;}});\n }).catch(function(){});\n}\n\nROOT.querySelectorAll('input[name=\"avb-size\"],input[name=\"avb-preset\"],#avb-withcam').forEach(function(el){el.addEventListener('change',applyRec)});\nROOT.querySelectorAll('input[name=\"avb-energy\"],input[name=\"avb-net\"],input[name=\"avb-type\"]').forEach(function(el){el.addEventListener('change',update)});\nROOT.querySelectorAll('.avb-vendeur input').forEach(function(el){el.addEventListener('input',render)});\n['nom','tel','ville','ferme'].forEach(function(k){var v=P.get(k);if(v)$('#avb-'+k).value=v});\nif(P.get('surface')){var m={s:'s',m:'m',l:'l',xl:'xl'}[P.get('surface')];if(m){var r=ROOT.querySelector('input[name=\"avb-size\"][value=\"'+m+'\"]');if(r)r.checked=true;}}\nchargerConfig().then(applyRec);\napplyRec();\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Configurez votre ferme connect\u00e9e AviBande : capteurs, cam\u00e9ras, options et prix, puis envoyez votre demande de devis.<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_joinchat":[],"footnotes":""},"class_list":["post-6298","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/avi-market.com\/en\/wp-json\/wp\/v2\/pages\/6298","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/avi-market.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/avi-market.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/avi-market.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/avi-market.com\/en\/wp-json\/wp\/v2\/comments?post=6298"}],"version-history":[{"count":4,"href":"https:\/\/avi-market.com\/en\/wp-json\/wp\/v2\/pages\/6298\/revisions"}],"predecessor-version":[{"id":6319,"href":"https:\/\/avi-market.com\/en\/wp-json\/wp\/v2\/pages\/6298\/revisions\/6319"}],"wp:attachment":[{"href":"https:\/\/avi-market.com\/en\/wp-json\/wp\/v2\/media?parent=6298"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}