{"id":2150,"date":"2026-06-01T03:07:28","date_gmt":"2026-06-01T03:07:28","guid":{"rendered":"https:\/\/aiper.com\/blogs\/?page_id=2150"},"modified":"2026-11-04T09:47:31","modified_gmt":"2026-11-04T09:47:31","slug":"calculateur-borax-piscine","status":"publish","type":"page","link":"https:\/\/aiper.com\/blogs\/fr\/calculateur-borax-piscine\/","title":{"rendered":"Calculateur de borax pour piscine"},"content":{"rendered":"\n<style>#pool-borax-calc-wrapper *, #pool-borax-calc-wrapper *::before, #pool-borax-calc-wrapper *::after { box-sizing: border-box; }\n#pool-borax-calc-wrapper { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, sans-serif; max-width: 680px; margin: 20px auto; padding: 0; line-height: 1.5; --bxc-teal: #1ecad3; --bxc-teal-dark: #17a8b0; --bxc-teal-light: #e8fafa; --bxc-border: #e2e8f0; --bxc-text: #2d3748; --bxc-text-light: #5a6c7d; }\n#pool-borax-calc-wrapper .bxc-intro { max-width: 680px; margin: 0 auto 16px; padding: 0 24px; text-align: center; color: var(--bxc-text-light); font-size: 15px; line-height: 1.5; }\n#pool-borax-calc-wrapper .bxc-card { background: #fff; border-radius: 16px; box-shadow: 0 4px 24px rgba(0,0,0,0.07); padding: 28px 24px; margin-bottom: 20px; border: 1px solid var(--bxc-border); }\n#pool-borax-calc-wrapper .bxc-subtitle { font-size: 0.9rem; color: var(--bxc-text-light); margin: 0 0 20px 0; }\n#pool-borax-calc-wrapper .bxc-label { display: block; font-weight: 600; font-size: 0.9rem; color: var(--bxc-text); margin-bottom: 5px; }\n#pool-borax-calc-wrapper .bxc-input-row { display: flex; gap: 10px; align-items: stretch; margin-bottom: 18px; }\n#pool-borax-calc-wrapper .bxc-input-field { flex: 1; padding: 12px 14px; border: 2px solid var(--bxc-border); border-radius: 6px; font-size: 1rem; color: #2c3e50; background: #f9fafb; outline: none; width: 100%; }\n#pool-borax-calc-wrapper .bxc-input-field:focus { border-color: #9486f7; background: #fff; color: #2c3e50; }\n#pool-borax-calc-wrapper .bxc-unit-toggle { display: flex; background: #f1f5f9; border-radius: 6px; overflow: hidden; border: 2px solid var(--bxc-border); flex-wrap: wrap; }\n#pool-borax-calc-wrapper .bxc-unit-btn { padding: 8px 14px; font-size: 0.85rem; font-weight: 600; cursor: pointer; border: none; background: transparent; color: var(--bxc-text-light); }\n#pool-borax-calc-wrapper .bxc-unit-btn:focus, #pool-borax-calc-wrapper .bxc-unit-btn:active { outline: 2px solid #9486f7; outline-offset: -2px; color: var(--bxc-text-light); }\n#pool-borax-calc-wrapper .bxc-unit-btn.bxc-active { background: linear-gradient(135deg, #1ecad3, #9486f7); color: #fff; }\n#pool-borax-calc-wrapper .bxc-preset-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }\n#pool-borax-calc-wrapper .bxc-preset-btn { padding: 6px 13px; font-size: 0.78rem; font-weight: 600; border-radius: 20px; border: 1.5px solid var(--bxc-border); background: #fff; color: var(--bxc-text-light); cursor: pointer; }\n#pool-borax-calc-wrapper .bxc-preset-btn:focus, #pool-borax-calc-wrapper .bxc-preset-btn:active { outline: 2px solid #9486f7; outline-offset: 1px; color: var(--bxc-text-light); }\n#pool-borax-calc-wrapper .bxc-preset-btn.bxc-active { border-color: #9486f7; background: #f5f3ff; color: #2c3e50; }\n#pool-borax-calc-wrapper .bxc-btn-row { display: flex; gap: 12px; max-width: 420px; margin: 26px auto 0; flex-wrap: wrap; }\n#pool-borax-calc-wrapper .bxc-calculate-btn { display: block; flex: 1; min-width: 160px; padding: 14px 30px; background: linear-gradient(135deg, #1ecad3, #9486f7); color: #fff; border: none; border-radius: 999px; font-size: 16px; font-weight: 600; letter-spacing: .5px; cursor: pointer; transition: all .2s; }\n#pool-borax-calc-wrapper .bxc-calculate-btn:hover { background: linear-gradient(135deg, #169fa6, #7b6be0); color: #fff; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(148,134,247,.35); }\n#pool-borax-calc-wrapper .bxc-calculate-btn:focus, #pool-borax-calc-wrapper .bxc-calculate-btn:active { color: #fff; outline: none; box-shadow: 0 0 0 3px rgba(148,134,247,.45); }\n#pool-borax-calc-wrapper .bxc-reset-btn { display: block; flex: 1; min-width: 120px; padding: 14px 20px; background: #fff; color: #5a6c7d; border: 2px solid #d1e8ea; border-radius: 999px; font-size: 16px; font-weight: 600; letter-spacing: .5px; cursor: pointer; transition: all .2s; }\n#pool-borax-calc-wrapper .bxc-reset-btn:hover { background: #f0f7f8; border-color: #1ecad3; color: #0f8c94; }\n#pool-borax-calc-wrapper .bxc-reset-btn:focus, #pool-borax-calc-wrapper .bxc-reset-btn:active { background: #fff; outline: none; border-color: #9486f7; color: #0f8c94; }\n#pool-borax-calc-wrapper .bxc-error-msg { color: #dc2626; font-size: 0.85rem; font-weight: 600; text-align: center; margin-top: 10px; display: none; }\n#pool-borax-calc-wrapper .bxc-error-msg.bxc-visible { display: block; }\n#pool-borax-calc-wrapper .bxc-result-area { display: none; margin-top: 25px; }\n#pool-borax-calc-wrapper .bxc-result-area.bxc-visible { display: block; animation: bxcFade 0.4s ease; }\n@keyframes bxcFade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }\n#pool-borax-calc-wrapper .bxc-result-grid { display: flex; gap: 14px; flex-wrap: wrap; }\n#pool-borax-calc-wrapper .bxc-result-card { flex: 1; min-width: 220px; background: linear-gradient(135deg, #f5f3ff 0%, #e8fafa 100%); border: 2px solid #9486f7; border-radius: 10px; padding: 22px 18px; text-align: center; }\n#pool-borax-calc-wrapper .bxc-result-label { font-size: 0.82rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #5b4ab8; margin: 0 0 8px; }\n#pool-borax-calc-wrapper .bxc-result-amount { font-size: 2.4rem; font-weight: 800; color: #17a8b0; line-height: 1.15; }\n#pool-borax-calc-wrapper .bxc-result-amount .bxc-unit-label { font-size: 1.1rem; }\n#pool-borax-calc-wrapper .bxc-result-sub { margin: 6px 0 0; color: var(--bxc-text-light); font-size: 0.88rem; }\n#pool-borax-calc-wrapper .bxc-acid-line { margin-top: 12px; padding: 8px 12px; background: #fff; border: 1px solid var(--bxc-border); border-radius: 6px; font-size: 0.82rem; color: var(--bxc-text); }\n#pool-borax-calc-wrapper .bxc-warn { display: none; margin-top: 12px; padding: 10px 14px; background: #fff7ed; border: 1px solid #fed7aa; border-radius: 6px; color: #9a3412; font-size: 0.82rem; text-align: left; }\n#pool-borax-calc-wrapper .bxc-warn.bxc-visible { display: block; }\n#pool-borax-calc-wrapper .bxc-toggle-row { display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 20px; font-size: 0.85rem; color: var(--bxc-text-light); flex-wrap: wrap; }\n#pool-borax-calc-wrapper .bxc-algebra { margin: 14px 0 0; font-size: 0.78rem; color: #8899a6; text-align: center; }\n#pool-borax-calc-wrapper .bxc-next { margin: 14px 0 0; font-size: 0.85rem; color: var(--bxc-text-light); text-align: center; }\n#pool-borax-calc-wrapper .bxc-next a { color: var(--bxc-teal-dark); font-weight: 600; text-decoration: none; }\n#pool-borax-calc-wrapper .bxc-next a:hover { text-decoration: underline; }\n#pool-borax-calc-wrapper .bxc-info-section { display: none; margin-top: 20px; }\n#pool-borax-calc-wrapper .bxc-info-section.bxc-visible { display: block; }\n#pool-borax-calc-wrapper .bxc-info-card { background: #fff; border: 1px solid var(--bxc-border); border-radius: 10px; padding: 20px; font-size: 0.9rem; }\n#pool-borax-calc-wrapper .bxc-info-title { font-weight: 700; font-size: 1rem; margin-bottom: 10px; }\n#pool-borax-calc-wrapper ol.bxc-howto-list { margin: 0; padding: 0 0 0 20px; }\n#pool-borax-calc-wrapper ol.bxc-howto-list li { margin-bottom: 6px; }\n@media (max-width: 600px) { #pool-borax-calc-wrapper .bxc-btn-row { flex-direction: column; max-width: 280px; } #pool-borax-calc-wrapper .bxc-reset-btn { padding: 12px 20px; font-size: 14px; } }\n@media (max-width: 500px) { #pool-borax-calc-wrapper .bxc-input-row { flex-direction: column; } }\n<\/style>\n<div id=\"pool-borax-calc-wrapper\">\n    <p class=\"bxc-intro\">Calculez la quantit\u00e9 de borax ou d&#8217;acide borique n\u00e9cessaire pour atteindre votre taux de borates cible, ainsi que la quantit\u00e9 d&#8217;acide chlorhydrique pour ramener ensuite le pH. Si vos borates sont d\u00e9j\u00e0 trop \u00e9lev\u00e9s, l&#8217;outil indique quelle part de l&#8217;eau renouveler \u00e0 la place.<\/p>\n    <div class=\"bxc-card\">\n        <p class=\"bxc-subtitle\">Saisissez le volume de votre piscine et votre taux de borates actuel (0 si vous n&#8217;avez jamais ajout\u00e9 de borates).<\/p>\n\n        <label class=\"bxc-label\">Volume de la piscine<\/label>\n        <div class=\"bxc-input-row\">\n            <input type=\"number\" id=\"bxc-pool-volume\" class=\"bxc-input-field\" placeholder=\"ex. : 40000\">\n            <div class=\"bxc-unit-toggle\" id=\"bxc-volume-unit-toggle\">\n                <button type=\"button\" class=\"bxc-unit-btn bxc-active\" data-unit=\"liters\">Litres<\/button>\n                <button type=\"button\" class=\"bxc-unit-btn\" data-unit=\"m3\">m&sup3;<\/button>\n            <\/div>\n        <\/div>\n\n        <label class=\"bxc-label\">Taux de borates actuel (ppm)<\/label>\n        <div class=\"bxc-input-row\">\n            <input type=\"number\" id=\"bxc-current\" class=\"bxc-input-field\" placeholder=\"ex. : 20\" value=\"0\">\n        <\/div>\n\n        <label class=\"bxc-label\">Taux de borates cible (ppm)<\/label>\n        <div class=\"bxc-input-row\">\n            <input type=\"number\" id=\"bxc-target\" class=\"bxc-input-field\" placeholder=\"ex. : 50\" value=\"50\">\n        <\/div>\n        <div class=\"bxc-preset-row\" id=\"bxc-preset-row\">\n            <button type=\"button\" class=\"bxc-preset-btn\" data-target=\"30\">30 ppm (minimum)<\/button>\n            <button type=\"button\" class=\"bxc-preset-btn\" data-target=\"40\">40 ppm (courant)<\/button>\n            <button type=\"button\" class=\"bxc-preset-btn bxc-active\" data-target=\"50\">50 ppm (maximum)<\/button>\n        <\/div>\n\n        <div class=\"bxc-btn-row\">\n            <button type=\"button\" id=\"bxc-calculate-btn\" class=\"bxc-calculate-btn\">Calculer<\/button>\n            <button type=\"button\" id=\"bxc-reset-btn\" class=\"bxc-reset-btn\">R\u00e9initialiser<\/button>\n        <\/div>\n        <p id=\"bxc-error-msg\" class=\"bxc-error-msg\"><\/p>\n\n        <div id=\"bxc-result-area\" class=\"bxc-result-area\">\n            <div class=\"bxc-result-grid\" id=\"bxc-result-grid\"><\/div>\n            <div id=\"bxc-warn\" class=\"bxc-warn\"><\/div>\n            <div class=\"bxc-toggle-row\" id=\"bxc-toggle-row\">\n                <span>Afficher le r\u00e9sultat en :<\/span>\n                <div class=\"bxc-unit-toggle\" id=\"bxc-result-unit-toggle\">\n                    <button type=\"button\" class=\"bxc-unit-btn bxc-active\" data-unit=\"kg\">Kilogrammes (kg)<\/button>\n                    <button type=\"button\" class=\"bxc-unit-btn\" data-unit=\"g\">Grammes (g)<\/button>\n                <\/div>\n            <\/div>\n            <p class=\"bxc-algebra\" id=\"bxc-algebra\"><\/p>\n            <p class=\"bxc-next\">Volume inconnu ? Utilisez notre <a href=\"https:\/\/aiper.com\/blogs\/fr\/calcul-volume-piscine\/\">calculateur de volume de piscine<\/a>. Besoin de v\u00e9rifier le pH apr\u00e8s le dosage ? Essayez le <a href=\"https:\/\/aiper.com\/blogs\/fr\/calcul-ph-piscine\/\">calculateur de pH de piscine<\/a>.<\/p>\n        <\/div>\n    <\/div>\n\n    <div id=\"bxc-info-section\" class=\"bxc-info-section\">\n        <div class=\"bxc-info-card\">\n            <div class=\"bxc-info-title\">Comment ajouter du borax \u00e0 votre piscine<\/div>\n            <ol class=\"bxc-howto-list\">\n                <li>Mesurez d&#8217;abord les borates, le pH et le TAC, et corrigez l&#8217;alcalinit\u00e9 avant de commencer.<\/li>\n                <li>Dissolvez le borax (ou l&#8217;acide borique) au pr\u00e9alable dans un seau d&#8217;eau ti\u00e8de. Il se dissout lentement dans l&#8217;eau froide du bassin.<\/li>\n                <li>Pompe en marche, versez lentement la solution autour de la partie profonde, devant les buses de refoulement. Jamais dans le skimmer.<\/li>\n                <li>Avec du borax, ajoutez l&#8217;acide chlorhydrique par petites doses \u00e0 un autre endroit et remesurez le pH entre chaque dose.<\/li>\n                <li>Laissez la pompe tourner 24 heures, puis remesurez les borates. Ne faites un second apport, plus faible, que s&#8217;il vous manque encore du chemin.<\/li>\n            <\/ol>\n        <\/div>\n    <\/div>\n<\/div>\n<script>(function() {\n    var get = function(id) { return document.getElementById(id); };\n    var T = {\"err_vol\": \"Saisissez le volume de votre piscine.\", \"err_cur\": \"Saisissez votre taux de borates actuel (0 si vous n'avez jamais ajout\u00e9 de borates).\", \"err_tar\": \"Saisissez votre taux de borates cible.\", \"warn_high\": \"Une cible sup\u00e9rieure \u00e0 50 ppm d\u00e9passe ce que recommandent la plupart des guides de chimie de piscine. Les borates ne se d\u00e9gradent pas : le seul moyen de les faire baisser ensuite est de renouveler l'eau.\", \"none_label\": \"Objectif atteint\", \"none_text\": \"Votre taux de borates correspond d\u00e9j\u00e0 \u00e0 la cible. Ni borax ni acide borique n\u00e9cessaire.\", \"drain_label\": \"Renouveler l'eau\", \"drain_text\": \"de l'eau du bassin \u00e0 remplacer par de l'eau fra\u00eeche, soit environ {vol} {unit} pour votre piscine. Les borates ne s'\u00e9vaporent pas : renouveler l'eau est le seul moyen de les faire baisser.\", \"lbl_borax\": \"Borax\", \"borax_sub\": \"t\u00e9traborate de sodium, fait monter le pH\", \"acid_line\": \"Pr\u00e9voyez environ <strong>{acid}<\/strong> d'acide chlorhydrique (environ 31\u00a0%) pour ramener le pH.\", \"lbl_boric\": \"Acide borique\", \"boric_sub\": \"l'alternative qui modifie \u00e0 peine le pH\", \"boric_line\": \"Aucun acide chlorhydrique n\u00e9cessaire avec cette option.\", \"alg_add\": \"({t} \u2212 {c}) \u00f7 10 \u00d7 {v} m\u00b3 \u00d7 {bx} g de borax ({bo} g d'acide borique)\", \"alg_drain\": \"({c} \u2212 {t}) \u00f7 {c} = {pct}\u00a0% de l'eau \u00e0 renouveler\"};\n    var LOC = 'fr-FR';\n    var BORAX_PER_10 = 7.375, BORIC_PER_10 = 4.75, ACID_ML_PER_LB = 236.588, LB_KG = 0.453592;\n    var GAL = { liters: 0.264172, m3: 264.172 };\n    var VLABEL = { liters: 'l', m3: 'm\u00b3' };\n    var state = { vUnit: 'liters', rUnit: 'kg', res: null };\n    var INIT = { vUnit: state.vUnit, rUnit: state.rUnit, current: get('bxc-current').value, target: get('bxc-target').value };\n\n    var fmt = function(n) {\n        var x = n >= 100 ? Math.round(n) : Math.round(n * 10) \/ 10;\n        return x.toLocaleString(LOC);\n    };\n    var f = function(s, o) { return s.replace(\/\\{(\\w+)\\}\/g, function(m, k) { return o[k]; }); };\n\n    var syncPresets = function() {\n        var t = get('bxc-target').value;\n        Array.from(get('bxc-preset-row').children).forEach(function(b) { b.classList.toggle('bxc-active', b.dataset.target === t); });\n    };\n    get('bxc-preset-row').addEventListener('click', function(e) {\n        if (!e.target.classList.contains('bxc-preset-btn')) return;\n        get('bxc-target').value = e.target.dataset.target;\n        syncPresets();\n    });\n    get('bxc-target').addEventListener('input', syncPresets);\n\n    var showError = function(msg) {\n        var err = get('bxc-error-msg');\n        err.textContent = msg;\n        err.classList.add('bxc-visible');\n        get('bxc-result-area').classList.remove('bxc-visible');\n        get('bxc-info-section').classList.remove('bxc-visible');\n    };\n\n    var calc = function() {\n        var err = get('bxc-error-msg');\n        err.classList.remove('bxc-visible');\n        err.textContent = '';\n\n        var v = parseFloat(get('bxc-pool-volume').value);\n        var cRaw = get('bxc-current').value;\n        var c = cRaw === '' ? NaN : parseFloat(cRaw);\n        var t = parseFloat(get('bxc-target').value);\n\n        if (!v || v <= 0 || isNaN(v)) { showError(T.err_vol); return; }\n        if (isNaN(c) || c < 0) { showError(T.err_cur); return; }\n        if (!t || t <= 0 || isNaN(t)) { showError(T.err_tar); return; }\n\n        var warn = get('bxc-warn');\n        if (t > 50) {\n            warn.textContent = T.warn_high;\n            warn.classList.add('bxc-visible');\n        } else {\n            warn.textContent = '';\n            warn.classList.remove('bxc-visible');\n        }\n\n        var gal = v * GAL[state.vUnit];\n        if (Math.abs(c - t) < 0.5) {\n            state.res = { mode: 'none' };\n        } else if (c > t) {\n            var pct = (c - t) \/ c * 100;\n            state.res = { mode: 'drain', pct: pct, vol: v * pct \/ 100, v: v, c: c, t: t };\n        } else {\n            var steps = (gal \/ 10000) * ((t - c) \/ 10);\n            state.res = { mode: 'add', borax: steps * BORAX_PER_10, boric: steps * BORIC_PER_10, v: v, c: c, t: t, m3: gal \/ 264.172 };\n        }\n        get('bxc-result-area').classList.add('bxc-visible');\n        get('bxc-info-section').classList.toggle('bxc-visible', state.res.mode === 'add');\n        get('bxc-toggle-row').style.display = state.res.mode === 'add' ? '' : 'none';\n        render();\n        get('bxc-result-area').scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n    };\n\n    var amount = function(lbs) {\n        var kg = lbs * LB_KG;\n        return state.rUnit === 'g' ? fmt(kg * 1000) : fmt(kg);\n    };\n\n    var card = function(label, amountHtml, sub, extra) {\n        return '<div class=\"bxc-result-card\"><p class=\"bxc-result-label\">' + label + '<\/p><div class=\"bxc-result-amount\">' + amountHtml + '<\/div><p class=\"bxc-result-sub\">' + sub + '<\/p>' + (extra || '') + '<\/div>';\n    };\n\n    var render = function() {\n        var r = state.res;\n        if (!r) return;\n        var grid = get('bxc-result-grid');\n        var alg = get('bxc-algebra');\n        if (r.mode === 'none') {\n            grid.innerHTML = card(T.none_label, '<span>0<\/span>', T.none_text);\n            alg.textContent = '';\n            return;\n        }\n        if (r.mode === 'drain') {\n            grid.innerHTML = card(T.drain_label, '<span>' + fmt(r.pct) + '<\/span><span class=\"bxc-unit-label\">\u00a0%<\/span>', f(T.drain_text, { vol: fmt(r.vol), unit: VLABEL[state.vUnit] }));\n            alg.textContent = f(T.alg_drain, { c: fmt(r.c), t: fmt(r.t), pct: fmt(r.pct) });\n            return;\n        }\n        var ml = r.borax * ACID_ML_PER_LB;\n        var acidTxt = ml >= 1000 ? fmt(ml \/ 1000) + '\u00a0l' : fmt(ml) + '\u00a0ml';\n        var u = state.rUnit;\n        var b1 = card(T.lbl_borax, '<span>' + amount(r.borax) + '<\/span> <span class=\"bxc-unit-label\">' + u + '<\/span>', T.borax_sub, '<div class=\"bxc-acid-line\">' + f(T.acid_line, { acid: acidTxt }) + '<\/div>');\n        var b2 = card(T.lbl_boric, '<span>' + amount(r.boric) + '<\/span> <span class=\"bxc-unit-label\">' + u + '<\/span>', T.boric_sub, '<div class=\"bxc-acid-line\">' + T.boric_line + '<\/div>');\n        grid.innerHTML = b1 + b2;\n        alg.textContent = f(T.alg_add, { t: fmt(r.t), c: fmt(r.c), v: fmt(r.m3), bx: fmt(88.4), bo: fmt(56.9) });\n    };\n\n    get('bxc-volume-unit-toggle').onclick = function(e) {\n        if (!e.target.classList.contains('bxc-unit-btn')) return;\n        state.vUnit = e.target.dataset.unit;\n        Array.from(get('bxc-volume-unit-toggle').children).forEach(function(b) { b.classList.toggle('bxc-active', b === e.target); });\n    };\n    get('bxc-result-unit-toggle').onclick = function(e) {\n        if (!e.target.classList.contains('bxc-unit-btn')) return;\n        state.rUnit = e.target.dataset.unit;\n        Array.from(get('bxc-result-unit-toggle').children).forEach(function(b) { b.classList.toggle('bxc-active', b === e.target); });\n        render();\n    };\n\n    get('bxc-reset-btn').onclick = function() {\n        get('bxc-pool-volume').value = '';\n        get('bxc-current').value = INIT.current;\n        get('bxc-target').value = INIT.target;\n        syncPresets();\n        state.vUnit = INIT.vUnit; state.rUnit = INIT.rUnit; state.res = null;\n        Array.from(get('bxc-volume-unit-toggle').children).forEach(function(b) { b.classList.toggle('bxc-active', b.dataset.unit === INIT.vUnit); });\n        Array.from(get('bxc-result-unit-toggle').children).forEach(function(b) { b.classList.toggle('bxc-active', b.dataset.unit === INIT.rUnit); });\n        var err = get('bxc-error-msg');\n        err.classList.remove('bxc-visible');\n        err.textContent = '';\n        get('bxc-result-area').classList.remove('bxc-visible');\n        get('bxc-info-section').classList.remove('bxc-visible');\n        get('bxc-pool-volume').focus();\n    };\n\n    get('bxc-calculate-btn').onclick = calc;\n})();<\/script>\n\n\n\n<style>\n  #pool-borax-reference-table { max-width: 860px; margin: 2.5rem auto; font-family: 'Inter', system-ui, sans-serif; color: #2c3e50; scroll-margin-top: 80px; }\n  #pool-borax-reference-table h2 { font-size: 1.5rem; font-weight: 700; color: #17a8b0; margin: 0 0 8px; }\n  #pool-borax-reference-table h3 { font-size: 1.1rem; font-weight: 700; color: #5b4ab8; margin: 28px 0 6px; }\n  #pool-borax-reference-table .pbx-subtitle { font-size: 0.9rem; color: #5a6c7d; margin: 0 0 16px; line-height: 1.5; }\n  #pool-borax-reference-table .pbx-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid #e0e5eb; border-radius: 14px; box-shadow: 0 4px 16px rgba(0,0,0,0.04); }\n  #pool-borax-reference-table .pbx-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; min-width: 520px; }\n  #pool-borax-reference-table .pbx-table thead th { background: linear-gradient(135deg, #1ecad3, #9486f7); color: #fff; font-weight: 600; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.05em; padding: 12px 10px; text-align: center; white-space: nowrap; }\n  #pool-borax-reference-table .pbx-table thead th:first-child { border-radius: 13px 0 0 0; text-align: left; }\n  #pool-borax-reference-table .pbx-table thead th:last-child { border-radius: 0 13px 0 0; }\n  #pool-borax-reference-table .pbx-table tbody td { padding: 10px; border-bottom: 1px solid #eef1f5; vertical-align: middle; text-align: center; }\n  #pool-borax-reference-table .pbx-table tbody tr:nth-child(even) { background: #fafcfd; }\n  #pool-borax-reference-table .pbx-table tbody tr:hover { background: #e8fafb; }\n  #pool-borax-reference-table .pbx-vol { font-weight: 600; color: #2c3e50; white-space: nowrap; text-align: left; }\n  #pool-borax-reference-table .pbx-num { font-weight: 700; color: #0f8c94; white-space: nowrap; }\n  #pool-borax-reference-table .pbx-acid { font-weight: 600; color: #5b4ab8; white-space: nowrap; }\n  #pool-borax-reference-table .pbx-note { margin-top: 12px; font-size: 0.8rem; color: #8899a6; line-height: 1.5; }\n  @media (max-width: 500px) {\n    #pool-borax-reference-table { padding: 0 6px; }\n    #pool-borax-reference-table .pbx-table { font-size: 0.78rem; min-width: 460px; }\n    #pool-borax-reference-table .pbx-table thead th { padding: 8px 6px; font-size: 0.65rem; }\n    #pool-borax-reference-table .pbx-table tbody td { padding: 7px 6px; }\n  }\n<\/style>\n<div id=\"pool-borax-reference-table\">\n  <h2>Tableau de dosage du borax pour piscine : kilos selon le volume et le taux cible<\/h2>\n  <p class=\"pbx-subtitle\">Les quantit\u00e9s valent pour une piscine \u00e0 <strong>0 ppm de borates<\/strong> et sont en <strong>kilogrammes (kg)<\/strong>, \u00e0 raison de 88,4 g de borax ou 56,9 g d&#8217;acide borique par tranche de 10 ppm et par m&sup3;. Vous avez d\u00e9j\u00e0 des borates ? Saisissez votre mesure dans le calculateur ci-dessus.<\/p>\n\n  <h3>Borax et acide chlorhydrique<\/h3>\n  <div class=\"pbx-table-wrap\">\n    <table class=\"pbx-table\">\n      <thead><tr><th>Volume<\/th><th>Jusqu&#8217;\u00e0 30 ppm<\/th><th>Jusqu&#8217;\u00e0 40 ppm<\/th><th>Jusqu&#8217;\u00e0 50 ppm<\/th><th>Acide chlorhydrique pour 50 ppm (l)<\/th><\/tr><\/thead>\n      <tbody>\n        <tr><td class=\"pbx-vol\">10 m\u00b3 (10\u00a0000\u00a0l)<\/td><td class=\"pbx-num\">2,7<\/td><td class=\"pbx-num\">3,5<\/td><td class=\"pbx-num\">4,4<\/td><td class=\"pbx-acid\">2,3<\/td><\/tr>\n        <tr><td class=\"pbx-vol\">15 m\u00b3 (15\u00a0000\u00a0l)<\/td><td class=\"pbx-num\">4,0<\/td><td class=\"pbx-num\">5,3<\/td><td class=\"pbx-num\">6,6<\/td><td class=\"pbx-acid\">3,5<\/td><\/tr>\n        <tr><td class=\"pbx-vol\">20 m\u00b3 (20\u00a0000\u00a0l)<\/td><td class=\"pbx-num\">5,3<\/td><td class=\"pbx-num\">7,1<\/td><td class=\"pbx-num\">8,8<\/td><td class=\"pbx-acid\">4,6<\/td><\/tr>\n        <tr><td class=\"pbx-vol\">30 m\u00b3 (30\u00a0000\u00a0l)<\/td><td class=\"pbx-num\">8,0<\/td><td class=\"pbx-num\">10,6<\/td><td class=\"pbx-num\">13,3<\/td><td class=\"pbx-acid\">6,9<\/td><\/tr>\n        <tr><td class=\"pbx-vol\">40 m\u00b3 (40\u00a0000\u00a0l)<\/td><td class=\"pbx-num\">10,6<\/td><td class=\"pbx-num\">14,1<\/td><td class=\"pbx-num\">17,7<\/td><td class=\"pbx-acid\">9,2<\/td><\/tr>\n        <tr><td class=\"pbx-vol\">50 m\u00b3 (50\u00a0000\u00a0l)<\/td><td class=\"pbx-num\">13,3<\/td><td class=\"pbx-num\">17,7<\/td><td class=\"pbx-num\">22,1<\/td><td class=\"pbx-acid\">11,5<\/td><\/tr>\n        <tr><td class=\"pbx-vol\">60 m\u00b3 (60\u00a0000\u00a0l)<\/td><td class=\"pbx-num\">15,9<\/td><td class=\"pbx-num\">21,2<\/td><td class=\"pbx-num\">26,5<\/td><td class=\"pbx-acid\">13,8<\/td><\/tr>\n        <tr><td class=\"pbx-vol\">80 m\u00b3 (80\u00a0000\u00a0l)<\/td><td class=\"pbx-num\">21,2<\/td><td class=\"pbx-num\">28,3<\/td><td class=\"pbx-num\">35,4<\/td><td class=\"pbx-acid\">18,4<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n  <p class=\"pbx-note\">Acide chlorhydrique \u00e0 environ 31\u00a0%, soit pr\u00e8s de 0,5 ml par gramme de borax, de quoi transformer tout le borax en acide borique. Ajoutez-le par doses et remesurez le pH, car votre pH de d\u00e9part compte aussi.<\/p>\n\n  <h3>Acide borique<\/h3>\n  <div class=\"pbx-table-wrap\">\n    <table class=\"pbx-table\">\n      <thead><tr><th>Volume<\/th><th>Jusqu&#8217;\u00e0 30 ppm<\/th><th>Jusqu&#8217;\u00e0 40 ppm<\/th><th>Jusqu&#8217;\u00e0 50 ppm<\/th><\/tr><\/thead>\n      <tbody>\n        <tr><td class=\"pbx-vol\">10 m\u00b3 (10\u00a0000\u00a0l)<\/td><td class=\"pbx-num\">1,7<\/td><td class=\"pbx-num\">2,3<\/td><td class=\"pbx-num\">2,8<\/td><\/tr>\n        <tr><td class=\"pbx-vol\">15 m\u00b3 (15\u00a0000\u00a0l)<\/td><td class=\"pbx-num\">2,6<\/td><td class=\"pbx-num\">3,4<\/td><td class=\"pbx-num\">4,3<\/td><\/tr>\n        <tr><td class=\"pbx-vol\">20 m\u00b3 (20\u00a0000\u00a0l)<\/td><td class=\"pbx-num\">3,4<\/td><td class=\"pbx-num\">4,6<\/td><td class=\"pbx-num\">5,7<\/td><\/tr>\n        <tr><td class=\"pbx-vol\">30 m\u00b3 (30\u00a0000\u00a0l)<\/td><td class=\"pbx-num\">5,1<\/td><td class=\"pbx-num\">6,8<\/td><td class=\"pbx-num\">8,5<\/td><\/tr>\n        <tr><td class=\"pbx-vol\">40 m\u00b3 (40\u00a0000\u00a0l)<\/td><td class=\"pbx-num\">6,8<\/td><td class=\"pbx-num\">9,1<\/td><td class=\"pbx-num\">11,4<\/td><\/tr>\n        <tr><td class=\"pbx-vol\">50 m\u00b3 (50\u00a0000\u00a0l)<\/td><td class=\"pbx-num\">8,5<\/td><td class=\"pbx-num\">11,4<\/td><td class=\"pbx-num\">14,2<\/td><\/tr>\n        <tr><td class=\"pbx-vol\">60 m\u00b3 (60\u00a0000\u00a0l)<\/td><td class=\"pbx-num\">10,2<\/td><td class=\"pbx-num\">13,7<\/td><td class=\"pbx-num\">17,1<\/td><\/tr>\n        <tr><td class=\"pbx-vol\">80 m\u00b3 (80\u00a0000\u00a0l)<\/td><td class=\"pbx-num\">13,7<\/td><td class=\"pbx-num\">18,2<\/td><td class=\"pbx-num\">22,8<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n  <p class=\"pbx-note\">L&#8217;acide borique demande moins de poids que le borax et modifie \u00e0 peine le pH : pas besoin d&#8217;acide chlorhydrique.<\/p>\n\n  <h3>Borates trop \u00e9lev\u00e9s ? Eau \u00e0 renouveler<\/h3>\n  <div class=\"pbx-table-wrap\">\n    <table class=\"pbx-table\">\n      <thead><tr><th>Taux actuel<\/th><th>Vers 50 ppm<\/th><th>Vers 40 ppm<\/th><th>Vers 30 ppm<\/th><\/tr><\/thead>\n      <tbody>\n        <tr><td class=\"pbx-vol\">60 ppm<\/td><td class=\"pbx-num\">17\u00a0%<\/td><td class=\"pbx-num\">33\u00a0%<\/td><td class=\"pbx-num\">50\u00a0%<\/td><\/tr>\n        <tr><td class=\"pbx-vol\">70 ppm<\/td><td class=\"pbx-num\">29\u00a0%<\/td><td class=\"pbx-num\">43\u00a0%<\/td><td class=\"pbx-num\">57\u00a0%<\/td><\/tr>\n        <tr><td class=\"pbx-vol\">80 ppm<\/td><td class=\"pbx-num\">38\u00a0%<\/td><td class=\"pbx-num\">50\u00a0%<\/td><td class=\"pbx-num\">62\u00a0%<\/td><\/tr>\n        <tr><td class=\"pbx-vol\">100 ppm<\/td><td class=\"pbx-num\">50\u00a0%<\/td><td class=\"pbx-num\">60\u00a0%<\/td><td class=\"pbx-num\">70\u00a0%<\/td><\/tr>\n        <tr><td class=\"pbx-vol\">120 ppm<\/td><td class=\"pbx-num\">58\u00a0%<\/td><td class=\"pbx-num\">67\u00a0%<\/td><td class=\"pbx-num\">75\u00a0%<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n  <p class=\"pbx-note\">Part de l&#8217;eau du bassin \u00e0 vidanger et \u00e0 remplacer par de l&#8217;eau fra\u00eeche. Les borates ne s&#8217;\u00e9vaporent pas : c&#8217;est le seul moyen de faire baisser le taux.<\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">FAQ sur les borates de piscine<\/h2>\n\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1790002150000\"><strong class=\"schema-faq-question\">\u00c0 quoi sert le borax dans une piscine ?<\/strong> <p class=\"schema-faq-answer\">Le borax remplit deux r\u00f4les selon la quantit\u00e9 utilis\u00e9e. \u00c0 petite dose, il fait monter le pH, car le borax est alcalin (environ pH 9,2) et modifie \u00e0 peine l&#8217;alcalinit\u00e9 totale. Port\u00e9 \u00e0 30 \u00e0 50 ppm de borates, il stabilise le pH, d\u00e9courage la prolif\u00e9ration des algues et rend l&#8217;eau plus douce et plus limpide. Ce n&#8217;est pas un d\u00e9sinfectant : il vous faut toujours du chlore.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1790002167311\"><strong class=\"schema-faq-question\">Le borax fait-il monter le pH d&#8217;une piscine ?<\/strong> <p class=\"schema-faq-answer\">Oui. Le borax est alcalin : il fait monter le pH \u00e0 chaque ajout, c&#8217;est pourquoi un traitement aux borates avec du borax se termine toujours par de l&#8217;acide chlorhydrique pour ramener le pH. Pour des borates sans hausse du pH, utilisez plut\u00f4t de l&#8217;acide borique. Remesurez apr\u00e8s plusieurs heures de filtration, car la variation compl\u00e8te du pH met du temps \u00e0 appara\u00eetre.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1790002184622\"><strong class=\"schema-faq-question\">Le borax fait-il monter l&#8217;alcalinit\u00e9 (TAC) d&#8217;une piscine ?<\/strong> <p class=\"schema-faq-answer\">Un peu, mais bien moins que le pH. Le bicarbonate de soude est le produit qui rel\u00e8ve l&#8217;alcalinit\u00e9 totale ; le borax convient mieux quand le pH est bas mais que le TAC est d\u00e9j\u00e0 dans la plage. Remesurez pH et TAC apr\u00e8s 24 heures de filtration plut\u00f4t que de le supposer.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1790002201933\"><strong class=\"schema-faq-question\">Que se passe-t-il quand on met du borax dans une piscine ?<\/strong> <p class=\"schema-faq-answer\">La poudre se dissout lentement, plus vite dans l&#8217;eau ti\u00e8de, et ce qui se d\u00e9pose au fond peut laisser une zone trouble tant qu&#8217;on ne l&#8217;a pas bross\u00e9. Le pH monte en quelques heures et les borates restent ensuite dans l&#8217;eau. Ils ne s&#8217;\u00e9vaporent pas et ne se consomment pas : le taux ne baisse que par les \u00e9claboussures, le lavage du filtre et les remises \u00e0 niveau. Si vous d\u00e9passez 50 ppm, seul un renouvellement de l&#8217;eau permet de corriger.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1790002219244\"><strong class=\"schema-faq-question\">Combien de temps apr\u00e8s l&#8217;ajout de borax peut-on se baigner ?<\/strong> <p class=\"schema-faq-answer\">Une fois le borax enti\u00e8rement dissous et r\u00e9parti, en g\u00e9n\u00e9ral 30 \u00e0 60 minutes pompe \u00e0 pleine vitesse, et le pH dans la plage normale. Si vous avez aussi ajout\u00e9 de l&#8217;acide chlorhydrique, laissez-le circuler et remesurez avant de vous baigner. M\u00eame r\u00e8gle pour l&#8217;acide borique.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1790002236555\"><strong class=\"schema-faq-question\">Le borax, est-ce du bicarbonate de soude, et peut-on les m\u00e9langer ?<\/strong> <p class=\"schema-faq-answer\">Non, ce sont deux produits diff\u00e9rents : le borax est du t\u00e9traborate de sodium, le bicarbonate de soude de l&#8217;hydrog\u00e9nocarbonate de sodium. Le bicarbonate rel\u00e8ve l&#8217;alcalinit\u00e9, le borax le pH. Vous pouvez utiliser les deux dans la m\u00eame piscine et m\u00e9langer les poudres n&#8217;est pas dangereux, mais ajoutez-les s\u00e9par\u00e9ment plut\u00f4t que pr\u00e9-m\u00e9lang\u00e9s. Corrigez d&#8217;abord l&#8217;alcalinit\u00e9, laissez circuler, remesurez, puis ajoutez du borax seulement si le pH reste trop bas.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1790002253866\"><strong class=\"schema-faq-question\">Acide borique ou borax : lequel choisir ?<\/strong> <p class=\"schema-faq-answer\">Les deux laissent les m\u00eames borates. Le borax est moins cher mais fait monter le pH, il faut donc de l&#8217;acide chlorhydrique en compl\u00e9ment. L&#8217;acide borique co\u00fbte plus cher au kilo mais il en faut moins (environ 57 g contre 88 g par m\u00b3 et par tranche de 10 ppm) et il modifie \u00e0 peine le pH. Choisissez l&#8217;acide borique si votre pH est d\u00e9j\u00e0 en haut de la plage.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1790002271177\"><strong class=\"schema-faq-question\">Le borax tue-t-il les algues ?<\/strong> <p class=\"schema-faq-answer\">Pas \u00e0 lui seul. Les borates ralentissent la croissance des algues et facilitent le travail du chlore, mais ne font pas dispara\u00eetre une prolif\u00e9ration d\u00e9j\u00e0 install\u00e9e. Traitez d&#8217;abord par chloration choc et brossage, puis montez les borates \u00e0 30 \u00e0 50 ppm pour \u00e9viter une rechute.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1790002288488\"><strong class=\"schema-faq-question\">Le borax est-il sans danger pour les baigneurs et les animaux ?<\/strong> <p class=\"schema-faq-answer\">Entre 30 et 50 ppm, les borates sont consid\u00e9r\u00e9s comme acceptables pour la baignade, mais l&#8217;eau ne doit pas \u00eatre bue. Dans l&#8217;UE, le borax et l&#8217;acide borique sont class\u00e9s toxiques pour la reproduction (cat\u00e9gorie 1B) : portez des gants et un masque anti-poussi\u00e8re pour les manipuler, gardez la poudre hors de port\u00e9e des enfants et des animaux et restez \u00e0 50 ppm maximum. Renseignez-vous aupr\u00e8s de votre pisciniste sur la r\u00e9glementation applicable. En cas de d\u00e9passement, renouvelez l&#8217;eau selon la quantit\u00e9 indiqu\u00e9e par le calculateur.<\/p> <\/div><\/div>\n\n\n<!-- aiper-tool-links -->\n<style>.aiper-i18n-upgrade{box-sizing:border-box;width:100%;max-width:100%;overflow-wrap:anywhere;padding:24px;margin:24px 0;border:1px solid #1ecad3;border-radius:12px}.aiper-i18n-upgrade form{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.aiper-i18n-upgrade label{display:flex;flex-direction:column;gap:8px}.aiper-i18n-upgrade input{min-width:0;padding:12px;border:1px solid #a0b8c4;border-radius:8px}.aiper-i18n-upgrade button{padding:12px;background:#087e8b;color:white;border:0;border-radius:8px}.aiper-i18n-upgrade p{line-height:1.7}@media(max-width:600px){.aiper-i18n-upgrade form{grid-template-columns:minmax(0,1fr)}}<\/style><section class=\"aiper-i18n-upgrade\" id=\"aiper-upgrade-dilution\"><h2>Remplacer l\u2019eau pour r\u00e9duire une concentration<\/h2><p>Calculez une seule substance \u00e0 la fois. Avant une vidange importante, v\u00e9rifiez nappe phr\u00e9atique, structure et r\u00e8gles de rejet ; m\u00e9langez et contr\u00f4lez entre les \u00e9tapes.<\/p><p>Saisir les d\u00e9cimales avec un point (ex. 1.5). Gallons am\u00e9ricains sauf indication contraire. Montants en dollars am\u00e9ricains (USD).<\/p><form><label>Volume du bassin (US gal)<input type=\"number\" name=\"v\" value=\"15000\" min=\"0\" step=\"any\" required><\/label><label>Concentration actuelle (ppm)<input type=\"number\" name=\"c\" value=\"100\" min=\"0\" step=\"any\" required><\/label><label>Concentration cible (ppm)<input type=\"number\" name=\"t\" value=\"50\" min=\"0\" step=\"any\" required><\/label><label>Concentration de l\u2019eau neuve (ppm)<input type=\"number\" name=\"f\" value=\"0\" min=\"0\" step=\"any\" required><\/label><label>Nombre d\u2019\u00e9tapes identiques (1\u201310)<input type=\"number\" name=\"n\" value=\"1\" min=\"0\" step=\"any\" required><\/label><button type=\"submit\">Calculer<\/button><button type=\"reset\">R\u00e9initialiser<\/button><\/form><p role=\"status\" aria-live=\"polite\"><\/p><\/section><script>(()=>{const root=document.currentScript.previousElementSibling,form=root.querySelector('form'),out=root.querySelector('[role=status]'),D={\"calc\": \"Calculer\", \"reset\": \"R\u00e9initialiser\", \"format\": \"Saisir les d\u00e9cimales avec un point (ex. 1.5). Gallons am\u00e9ricains sauf indication contraire.\", \"error\": \"Renseignez tous les champs avec des valeurs non n\u00e9gatives. Volume, d\u00e9bit et dimensions doivent \u00eatre positifs.\", \"unreachable\": \"Cette eau de remplissage ne permet pas d\u2019atteindre la cible.\", \"day\": \"Par jour\", \"month\": \"Pour 30 jours\", \"hours\": \"heures\", \"water\": \"Surface du plan d\u2019eau\", \"interior\": \"Surface int\u00e9rieure, fond et parois\", \"replace\": \"Remplacement en une fois\", \"stages\": \"\u00c9tapes identiques de remplacement\", \"total\": \"Eau totale utilis\u00e9e\", \"flow\": \"D\u00e9bit mesur\u00e9 du tuyau\", \"time\": \"Dur\u00e9e de remplissage estim\u00e9e\", \"target\": \"Cible temporaire de chlore libre\", \"dose\": \"Quantit\u00e9 de chlore liquide\", \"budget\": \"Budget du projet avec r\u00e9serve\", \"invalid\": \"Cet objectif ne tient pas dans une journ\u00e9e de 24 heures.\", \"review\": \"V\u00e9rifiez les mesures, corrigez un seul param\u00e8tre \u00e0 la fois, faites circuler puis contr\u00f4lez de nouveau. Le rev\u00eatement, le syst\u00e8me de d\u00e9sinfection et l\u2019\u00e9tiquette d\u00e9terminent les cibles.\", \"schedule\": \"Programme quotidien \u00e0 plusieurs vitesses\", \"off\": \"Arr\u00eat\", \"equal\": \"Comparaison \u00e0 volume d\u2019eau \u00e9gal\", \"units\": \"US gal ; ft ; GPM ; W ; $\/kWh\", \"title\": [\"Dur\u00e9e quotidienne et co\u00fbt \u00e9lectrique\", \"V\u00e9rifier la surface int\u00e9rieure et le plan d\u2019eau\", \"Remplacer l\u2019eau pour r\u00e9duire une concentration\", \"Mesurer le d\u00e9bit du tuyau\", \"Compl\u00e9ment SLAM selon le CYA\", \"Ordre des corrections chimiques\", \"Budget d\u00e9taill\u00e9 du projet\"], \"labels\": [\"Volume du bassin (US gal)\", \"D\u00e9bit mesur\u00e9 (GPM)\", \"\u00c9quivalents de volume par jour\", \"Dur\u00e9e minimale des \u00e9quipements (h)\", \"Puissance mesur\u00e9e (W)\", \"Tarif \u00e9lectrique ($\/kWh)\", \"Longueur (ft)\", \"Largeur (ft)\", \"Profondeur faible (ft)\", \"Profondeur maximale (ft)\", \"Concentration actuelle (ppm)\", \"Concentration cible (ppm)\", \"Concentration de l\u2019eau neuve (ppm)\", \"Nombre d\u2019\u00e9tapes identiques (1\u201310)\", \"Volume du seau (US gal)\", \"Temps pour remplir le seau (s)\", \"CYA (ppm)\", \"Chlore libre actuel (ppm)\", \"Concentration du chlore liquide (%)\", \"Alcalinit\u00e9 totale (ppm)\", \"pH\", \"Duret\u00e9 calcique (ppm)\", \"Bassin et \u00e9quipements standard ($)\", \"Terrassement ($)\", \"Plage de piscine ($)\", \"Permis et \u00e9tudes ($)\", \"\u00c9quipements optionnels ($)\", \"R\u00e9serve (%)\", \"D\u00e9bit \u00e0 petite vitesse (GPM)\", \"Puissance \u00e0 petite vitesse (W)\", \"D\u00e9bit \u00e0 vitesse moyenne (GPM)\", \"Puissance \u00e0 vitesse moyenne (W)\", \"Dur\u00e9e \u00e0 vitesse moyenne (h)\", \"D\u00e9bit \u00e0 grande vitesse (GPM)\", \"Puissance \u00e0 grande vitesse (W)\", \"Dur\u00e9e \u00e0 grande vitesse (h)\"], \"help\": [\"Utilisez des mesures r\u00e9elles. Un temps de renouvellement ne garantit pas la qualit\u00e9 de l\u2019eau ; respectez les d\u00e9bits et dur\u00e9es minimaux des \u00e9quipements.\", \"Le rectangle inclut le fond inclin\u00e9. Les autres formes sont des approximations sans marches, banquettes ni arrondis. Faites mesurer avant toute commande.\", \"Calculez une seule substance \u00e0 la fois. Avant une vidange importante, v\u00e9rifiez nappe phr\u00e9atique, structure et r\u00e8gles de rejet ; m\u00e9langez et contr\u00f4lez entre les \u00e9tapes.\", \"Cette mesure concerne le tuyau de remplissage, pas le d\u00e9bit de circulation requis. R\u00e9p\u00e9tez avec la configuration r\u00e9elle.\", \"Pour un CYA mesur\u00e9 entre 20 et 90 ppm. La cible et la dose ne remplacent pas la proc\u00e9dure SLAM compl\u00e8te. Mesurez le chlore libre avant chaque compl\u00e9ment, suivez l\u2019\u00e9tiquette et ne vous baignez pas pendant le traitement.\", \"Cette liste ne remplace pas une analyse compl\u00e8te et ne cr\u00e9e pas de recette automatique de produits.\", \"Saisissez des devis locaux. Le co\u00fbt du projet est distinct des mensualit\u00e9s de cr\u00e9dit et de l\u2019entretien.\"], \"pure\": \"Quantit\u00e9s th\u00e9oriques de CaCl\u2082 anhydre pur \u00e0 100 % ou de chlorure de calcium dihydrat\u00e9 pur ; duret\u00e9 exprim\u00e9e en ppm CaCO\u2083. Si le produit indique une fraction de CaCl\u2082 anhydre, divisez la quantit\u00e9 anhydre par cette fraction (77 % = 0.77). Ne r\u00e9appliquez pas ce facteur \u00e0 la quantit\u00e9 dihydrat\u00e9e. L\u2019hypochlorite de calcium pour traitement choc est un autre produit.\"},type=\"dilution\";form.addEventListener('submit',e=>{e.preventDefault();const inputs=[...form.querySelectorAll('input')];if(inputs.some(x=>x.value.trim()===''||!Number.isFinite(Number(x.value))||Number(x.value)<0)){out.textContent=D.error;return;}const x=Object.fromEntries(inputs.map(x=>[x.name,Number(x.value)])),fmt=n=>new Intl.NumberFormat(\"fr-FR\",{maximumFractionDigits:2}).format(n),line=(k,v,u='')=>D[k]+': '+fmt(v)+' '+u;let result='';if(type==='dilution'){if(x.t>=x.c){result=line('replace',0,'US gal');}else if(x.f>=x.t){result=D.unreachable;}else if(x.v<=0||x.n<1||x.n>10||!Number.isInteger(x.n)){result=D.error;}else{let f=(x.c-x.t)\/(x.c-x.f),st=1-Math.pow((x.t-x.f)\/(x.c-x.f),1\/x.n);result=line('replace',x.v*f,'US gal')+' ('+fmt(f*100)+'%); '+line('stages',x.n)+': '+fmt(st*100)+'%; '+line('total',st*x.v*x.n,'US gal');}}else if(type==='runtime'){if(x.v<=0||x.q<=0||x.n<=0){result=D.error;}else{let h=Math.max(x.v*x.n\/x.q\/60,x.min);result=h>24?D.invalid:line('time',h,D.hours)+'; '+line('day',h*x.w\/1000,'kWh')+'; '+line('month',h*x.w\/1000*x.r*30,'$');}}else if(type==='surface'){if(Math.min(x.l,x.b,x.s,x.d)<=0||x.d<x.s){result=D.error;}else{let a=x.b*Math.hypot(x.l,x.d-x.s)+x.l*(x.s+x.d)+x.b*(x.s+x.d);result=line('water',x.l*x.b,'ft\u00b2')+'; '+line('interior',a,'ft\u00b2');}}else if(type==='fill'){if(Math.min(x.v,x.b,x.s)<=0){result=D.error;}else{let q=x.b*60\/x.s;result=line('flow',q,'GPM')+'; '+line('time',x.v\/q\/60,D.hours);const f=document.getElementById('flowRate');if(f){f.value=q.toFixed(3);f.dispatchEvent(new Event('input',{bubbles:true}));}}}else if(type==='slam'){if(x.v<=0||x.s<=0||x.s>15||x.c<20||x.c>90){result=D.error;}else{let target=.4*x.c,litres=Math.max(0,target-x.f)*x.v*3.785411784\/(x.s*10000);result=line('target',target,'ppm')+'; '+line('dose',litres,'L');}}else if(type==='chemical'){result=D.review;}else if(type==='budget'){result=line('budget',(x.shell+x.site+x.deck+x.permit+x.extras)*(1+x.reserve\/100),'$');}else if(type==='schedule'){if(Math.min(x.v,x.n,x.q1,x.q2,x.q3)<=0){result=D.error;}else{let target=x.v*x.n,h1=Math.max(0,(target-60*(x.q2*x.h2+x.q3*x.h3))\/(60*x.q1)),h=h1+x.h2+x.h3;let energy=(h1*x.w1+x.h2*x.w2+x.h3*x.w3)\/1000;result=h>24?D.invalid:D.schedule+': '+fmt(h1)+' \/ '+fmt(x.h2)+' \/ '+fmt(x.h3)+' '+D.hours+'; '+line('off',24-h,D.hours)+'; '+line('day',energy*x.r,'$')+'; '+D.equal+': '+[1,2,3].map(i=>fmt(target\/x['q'+i]\/60*x['w'+i]\/1000*x.r)+' $').join(' \/ ');}}out.textContent=result;});form.addEventListener('reset',()=>out.textContent='');})();<\/script><div class=\"aiper-tool-links\">\n  <div class=\"aiper-tl-section\">\n    <div class=\"aiper-tl-heading\">Plus d&#8217;outils<\/div>\n    <div class=\"aiper-tl-tags\">\n<a href=\"https:\/\/aiper.com\/blogs\/fr\/calculateur-de-dilution-de-piscine\/\" class=\"aiper-tl-tag\">Calculateur de dilution de piscine<\/a>\n      <a href=\"https:\/\/aiper.com\/blogs\/fr\/calculateur-temps-remplissage-piscine\/\" class=\"aiper-tl-tag\">Calculateur de temps de remplissage de piscine<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/fr\/calculateur-taux-renouvellement-piscine\/\" class=\"aiper-tl-tag\">Calculateur de taux de renouvellement de piscine<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/fr\/calculateur-indice-saturation-piscine\/\" class=\"aiper-tl-tag\">Calculateur d&#8217;indice de saturation pour piscine (LSI)<\/a>\n    <\/div>\n  <\/div>\n  <div class=\"aiper-tl-section\">\n    <div class=\"aiper-tl-heading\">Articles connexes<\/div>\n    <div class=\"aiper-tl-tags\">\n      <a href=\"https:\/\/aiper.com\/blogs\/fr\/reduire-alcalinite-piscine\/\" class=\"aiper-tl-tag\">Comment r\u00e9duire l&#8217;alcalinit\u00e9 d&#8217;une piscine<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/fr\/robot-piscine-bloque-drain-principal\/\" class=\"aiper-tl-tag\">Pourquoi le robot de piscine reste bloqu\u00e9 sur le drain principal ?<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/fr\/hivernage-piscine-enterree\/\" class=\"aiper-tl-tag\">Hivernage piscine enterr\u00e9e : guide \u00e9tape par \u00e9tape<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/fr\/laisser-robot-nettoyeur-piscine-dans-eau\/\" class=\"aiper-tl-tag\">Peut-on laisser un robot nettoyeur de piscine dans l&#8217;eau ?<\/a>\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n.aiper-tool-links{margin:2.5rem 0 1.5rem;padding:1.5rem 1.75rem;background:linear-gradient(135deg,rgba(148,134,247,.04),rgba(30,202,211,.04));border-radius:12px;border:1px solid rgba(148,134,247,.10)}\n.aiper-tl-section{margin-bottom:1.25rem}\n.aiper-tl-section:last-child{margin-bottom:0}\n.aiper-tl-heading{font-size:.75rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#8899aa;margin:0 0 .65rem}\n.aiper-tl-tags{display:flex;flex-wrap:wrap;gap:.5rem}\n.aiper-tl-tag{display:inline-block;padding:.4rem .95rem;font-size:.82rem;font-weight:500;line-height:1.35;color:#9486f7;background:rgba(148,134,247,.055);border:1px solid rgba(30,202,211,.25);border-radius:22px;text-decoration:none;transition:all .18s}\n.aiper-tl-tag:hover{background:#1ecad3;color:#fff;border-color:#1ecad3;box-shadow:0 2px 10px rgba(30,202,211,.22)}\n<\/style>\n\n\n<p class=\"has-text-align-center aiper-last-updated has-small-font-size wp-block-paragraph\"><time datetime=\"2026-09-30\">Derni\u00e8re mise \u00e0 jour\u00a0: 30 septembre 2026<\/time><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Calculez la quantit\u00e9 de borax ou d&#8217;acide borique n\u00e9cessaire pour atteindre votre taux de borates cible, ainsi que la quantit\u00e9 d&#8217;acide chlorhydrique pour ramener ensuite le pH. Si vos borates sont d\u00e9j\u00e0 trop \u00e9lev\u00e9s, l&#8217;outil indique quelle part de l&#8217;eau renouveler \u00e0 la place. Saisissez le volume de votre piscine et votre taux de borates [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"aiper_reading_time":7,"aiper_last_reviewed":"","aiper_reviewer":0,"aiper_related_ids":[],"aiper_layout":"","footnotes":""},"class_list":["post-2150","page","type-page","status-publish","hentry"],"lang":"fr","translations":{"fr":2150,"de":2149,"en":1835,"es":2151},"_links":{"self":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/2150","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/comments?post=2150"}],"version-history":[{"count":10,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/2150\/revisions"}],"predecessor-version":[{"id":13276,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/2150\/revisions\/13276"}],"wp:attachment":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/media?parent=2150"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}