{"id":2138,"date":"2026-06-01T03:07:24","date_gmt":"2026-06-01T03:07:24","guid":{"rendered":"https:\/\/aiper.com\/blogs\/?page_id=2138"},"modified":"2026-11-04T09:47:20","modified_gmt":"2026-11-04T09:47:20","slug":"calculateur-stabilisant-piscine","status":"publish","type":"page","link":"https:\/\/aiper.com\/blogs\/fr\/calculateur-stabilisant-piscine\/","title":{"rendered":"Calculateur de stabilisant pour piscine"},"content":{"rendered":"\n<div class=\"pool-calc-container\">\n\n  <div class=\"pool-calc-step\">\n    <label class=\"pool-calc-label\" for=\"poolVolume\">\u00c9tape 1&nbsp;: saisissez le volume de la piscine<\/label>\n    <div class=\"pool-calc-input-group\">\n      <input type=\"number\" id=\"poolVolume\" class=\"pool-calc-input\" value=\"10000\" min=\"0\" placeholder=\"e.g. 10000\">\n      <div class=\"pool-calc-select-wrapper\">\n        <select id=\"volumeUnit\" class=\"pool-calc-select\">\n          <option value=\"gallons\" selected>Gallons (gal)<\/option>\n          <option value=\"liters\">Litres (L)<\/option>\n          <option value=\"m3\">M\u00e8tres cubes (m\u00b3)<\/option>\n        <\/select>\n      <\/div>\n    <\/div>\n    <p class=\"pool-calc-link-text\">\n      Vous ne savez pas&nbsp;? Utilisez notre <a href=\"https:\/\/aiper.com\/blogs\/pool-volume-calculator\/\" target=\"_blank\" rel=\"noopener\">calculateur de volume de piscine<\/a>\n    <\/p>\n  <\/div>\n\n  <div class=\"pool-calc-step\">\n    <label class=\"pool-calc-label\">\u00c9tape 2&nbsp;: saisissez les taux de stabilisant (ppm)<\/label>\n    <div class=\"pool-calc-row\">\n      <div class=\"pool-calc-col\">\n        <label class=\"pool-calc-sublabel\" for=\"currentStabilizer\">Taux actuel<\/label>\n        <input type=\"number\" id=\"currentStabilizer\" class=\"pool-calc-input\" value=\"10\" min=\"0\" placeholder=\"e.g. 10\">\n      <\/div>\n      <div class=\"pool-calc-col\">\n        <label class=\"pool-calc-sublabel\" for=\"targetStabilizer\">Taux cible<\/label>\n        <input type=\"number\" id=\"targetStabilizer\" class=\"pool-calc-input\" value=\"40\" min=\"0\" placeholder=\"e.g. 40\">\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"pool-calc-step\">\n    <div class=\"pool-calc-btn-group\">\n      <button type=\"button\" id=\"calculateBtn\" class=\"pool-calc-btn pool-calc-btn-main\">Calculer<\/button>\n      <button type=\"button\" id=\"resetBtn\" class=\"pool-calc-btn pool-calc-btn-reset\">R\u00e9initialiser<\/button>\n    <\/div>\n  <\/div>\n\n  <div id=\"calculatorResults\" class=\"pool-calc-results\" style=\"display: none;\">\n    <div class=\"pool-calc-target-range\">\n      <strong>Plage cible recommand\u00e9e&nbsp;:<\/strong> <span class=\"highlight-badge\">30 &#8211; 50 ppm<\/span>\n    <\/div>\n\n    <div class=\"pool-calc-unit-switcher\">\n      <label for=\"weightUnit\">Afficher les r\u00e9sultats en&nbsp;:<\/label>\n      <div class=\"pool-calc-select-wrapper small-wrapper\">\n        <select id=\"weightUnit\" class=\"pool-calc-select-small\">\n          <option value=\"oz\" selected>Onces (oz)<\/option>\n          <option value=\"lbs\">Livres (lbs)<\/option>\n          <option value=\"g\">Grammes (g)<\/option>\n          <option value=\"kg\">Kilogrammes (kg)<\/option>\n        <\/select>\n      <\/div>\n    <\/div>\n\n    <div class=\"pool-calc-result-card\">\n      <h3>Stabilisant granulaire (sec) n\u00e9cessaire<\/h3>\n      <div id=\"dryResult\" class=\"pool-calc-value\">0 oz<\/div>\n      <p class=\"pool-calc-guidance\">Diluez le stabilisant sec dans un seau d&#8217;eau ti\u00e8de ou ajoutez-le via une chaussette de skimmer. La dissolution compl\u00e8te peut prendre 4 \u00e0 7 jours.<\/p>\n    <\/div>\n\n    <div class=\"pool-calc-result-card\">\n      <h3>Stabilisant liquide n\u00e9cessaire<\/h3>\n      <div id=\"liquidResult\" class=\"pool-calc-value\">0 oz<\/div>\n      <p class=\"pool-calc-guidance\">Secouez bien et versez directement dans l&#8217;eau le long du p\u00e9rim\u00e8tre de la partie profonde, pompe en marche. Se r\u00e9partit rapidement.<\/p>\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n\/* Scoped custom styling using the theme color #1ecad3 *\/\n.pool-calc-container {\n  max-width: 550px;\n  margin: 20px auto;\n  padding: 25px;\n  background-color: #ffffff;\n  border: 2px solid #1ecad3;\n  border-radius: 12px;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n  color: #333333;\n  box-shadow: 0 4px 15px rgba(30, 202, 211, 0.1);\n}\n.pool-calc-title {\n  color: #1ecad3;\n  text-align: center;\n  margin-top: 0;\n  margin-bottom: 25px;\n  font-weight: 700;\n}\n.pool-calc-step {\n  margin-bottom: 22px;\n}\n.pool-calc-label {\n  display: block;\n  font-weight: 600;\n  margin-bottom: 8px;\n  font-size: 1.1em;\n}\n.pool-calc-sublabel {\n  display: block;\n  font-size: 0.9em;\n  color: #666;\n  margin-bottom: 4px;\n}\n.pool-calc-input-group {\n  display: flex;\n  gap: 10px;\n}\n.pool-calc-input {\n  flex: 1;\n  padding: 10px;\n  border: 1px solid #cccccc;\n  border-radius: 6px;\n  font-size: 16px;\n  height: 44px;\n  box-sizing: border-box;\n}\n.pool-calc-input:focus {\n  border-color: #1ecad3;\n  outline: none;\n  box-shadow: 0 0 5px rgba(30, 202, 211, 0.3);\n}\n\n\/* Custom Select Dropdown Wrappers for Down Arrow Indicators *\/\n.pool-calc-select-wrapper {\n  position: relative;\n  display: inline-block;\n  flex: 1;\n}\n.pool-calc-select-wrapper::after {\n  content: \"\\25BC\"; \/* Unicode down-pointing triangle *\/\n  font-size: 11px;\n  color: #666666;\n  right: 12px;\n  top: 16px;\n  position: absolute;\n  pointer-events: none;\n}\n.pool-calc-select {\n  width: 100%;\n  height: 44px;\n  padding: 10px 30px 10px 12px;\n  border: 1px solid #cccccc;\n  border-radius: 6px;\n  background-color: #f9f9f9;\n  font-size: 16px;\n  cursor: pointer;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  appearance: none;\n  box-sizing: border-box;\n}\n.pool-calc-select:focus {\n  border-color: #1ecad3;\n  outline: none;\n}\n\n.pool-calc-link-text {\n  margin-top: 6px;\n  font-size: 0.85em;\n  color: #555555;\n}\n.pool-calc-link-text a {\n  color: #1ecad3;\n  text-decoration: underline;\n  font-weight: 500;\n}\n.pool-calc-link-text a:hover {\n  color: #159ea5;\n}\n.pool-calc-row {\n  display: flex;\n  gap: 15px;\n}\n.pool-calc-col {\n  flex: 1;\n}\n\n\/* Buttons Styling *\/\n.pool-calc-btn-group {\n  display: flex;\n  gap: 12px;\n}\n.pool-calc-btn {\n  padding: 14px;\n  font-size: 1.1em;\n  font-weight: 600;\n  border-radius: 6px;\n  cursor: pointer;\n  border: none;\n  transition: all 0.2s ease;\n  box-sizing: border-box;\n}\n.pool-calc-btn-main {\n  flex: 2;\n  background-color: #1ecad3;\n  color: #ffffff;\n}\n.pool-calc-btn-main:hover {\n  background-color: #159ea5;\n}\n.pool-calc-btn-reset {\n  flex: 1;\n  background-color: #f2f2f2;\n  color: #555555;\n  border: 1px solid #cccccc;\n}\n.pool-calc-btn-reset:hover {\n  background-color: #e5e5e5;\n  color: #333333;\n}\n\n\/* Results Formatting *\/\n.pool-calc-results {\n  margin-top: 25px;\n  padding-top: 20px;\n  border-top: 2px dashed #1ecad3;\n}\n.pool-calc-target-range {\n  text-align: center;\n  font-size: 1.05em;\n  margin-bottom: 15px;\n  background-color: #f0fdfd;\n  padding: 10px;\n  border-radius: 6px;\n}\n.highlight-badge {\n  background-color: #1ecad3;\n  color: #ffffff;\n  padding: 3px 8px;\n  border-radius: 4px;\n  font-weight: bold;\n}\n\n.pool-calc-unit-switcher {\n  display: flex;\n  justify-content: flex-end;\n  align-items: center;\n  gap: 8px;\n  font-size: 0.9em;\n  margin-bottom: 15px;\n}\n.small-wrapper {\n  flex: none;\n}\n.small-wrapper::after {\n  top: 9px;\n  right: 10px;\n}\n.pool-calc-select-small {\n  height: 30px;\n  padding: 4px 26px 4px 10px;\n  font-size: 14px;\n  border: 1px solid #cccccc;\n  border-radius: 6px;\n  background-color: #f9f9f9;\n  cursor: pointer;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  appearance: none;\n  box-sizing: border-box;\n}\n\n.pool-calc-result-card {\n  background-color: #f9f9f9;\n  border-left: 4px solid #1ecad3;\n  padding: 15px;\n  margin-bottom: 15px;\n  border-radius: 0 6px 6px 0;\n}\n.pool-calc-result-card h3 {\n  margin: 0 0 5px 0;\n  font-size: 1em;\n  color: #444444;\n}\n.pool-calc-value {\n  font-size: 1.8em;\n  font-weight: 700;\n  color: #1ecad3;\n  margin-bottom: 5px;\n}\n.pool-calc-guidance {\n  margin: 0;\n  font-size: 0.85em;\n  color: #666666;\n  line-height: 1.4;\n}\n<\/style>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n  const calcBtn = document.getElementById('calculateBtn');\n  const resetBtn = document.getElementById('resetBtn');\n  const resultsDiv = document.getElementById('calculatorResults');\n  const weightUnitSelect = document.getElementById('weightUnit');\n\n  let computedDryOz = 0;\n  let computedLiquidOz = 0;\n\n  function performCalculation() {\n    let volume = parseFloat(document.getElementById('poolVolume').value);\n    const volUnit = document.getElementById('volumeUnit').value;\n    const currentPpm = parseFloat(document.getElementById('currentStabilizer').value) || 0;\n    const targetPpm = parseFloat(document.getElementById('targetStabilizer').value) || 0;\n\n    if (!volume || volume <= 0 || targetPpm <= currentPpm) {\n      document.getElementById('dryResult').innerText = \"0 oz\";\n      document.getElementById('liquidResult').innerText = \"0 oz\";\n      resultsDiv.style.display = 'block';\n      return;\n    }\n\n    \/\/ Convert volume to gallons\n    if (volUnit === 'liters') {\n      volume = volume * 0.264172;\n    } else if (volUnit === 'm3') {\n      volume = volume * 264.172;\n    }\n\n    const deltaPpm = targetPpm - currentPpm;\n\n    \/\/ Formulas: 13 oz of dry stabilizer \/ 32 fl oz of liquid stabilizer raises 10,000 gal by 10 ppm\n    computedDryOz = (deltaPpm \/ 10) * (volume \/ 10000) * 13.0;\n    computedLiquidOz = (deltaPpm \/ 10) * (volume \/ 10000) * 32.0;\n\n    updateDisplayUnits();\n    resultsDiv.style.display = 'block';\n  }\n\n  function updateDisplayUnits() {\n    const selectedUnit = weightUnitSelect.value;\n    let dryDisplay = computedDryOz;\n    let liquidDisplay = computedLiquidOz;\n    let unitLabel = 'oz';\n\n    switch(selectedUnit) {\n      case 'lbs':\n        dryDisplay = computedDryOz \/ 16;\n        liquidDisplay = computedLiquidOz \/ 16;\n        unitLabel = 'lbs';\n        break;\n      case 'g':\n        dryDisplay = computedDryOz * 28.3495;\n        liquidDisplay = computedLiquidOz * 29.5735;\n        unitLabel = 'g';\n        break;\n      case 'kg':\n        dryDisplay = (computedDryOz * 28.3495) \/ 1000;\n        liquidDisplay = (computedLiquidOz * 29.5735) \/ 1000;\n        unitLabel = 'kg';\n        break;\n      default:\n        unitLabel = 'oz';\n    }\n\n    document.getElementById('dryResult').innerText = dryDisplay.toFixed(1) + ' ' + unitLabel;\n    document.getElementById('liquidResult').innerText = liquidDisplay.toFixed(1) + ' ' + unitLabel + ' (fl)';\n  }\n\n  function resetForm() {\n    document.getElementById('poolVolume').value = \"10000\";\n    document.getElementById('volumeUnit').value = \"gallons\";\n    document.getElementById('currentStabilizer').value = \"10\";\n    document.getElementById('targetStabilizer').value = \"40\";\n    weightUnitSelect.value = \"oz\";\n    resultsDiv.style.display = 'none';\n    computedDryOz = 0;\n    computedLiquidOz = 0;\n  }\n\n  calcBtn.addEventListener('click', performCalculation);\n  resetBtn.addEventListener('click', resetForm);\n  weightUnitSelect.addEventListener('change', updateDisplayUnits);\n});\n<\/script>\n\n\n\n<div class=\"pool-chart-container\">\n  <h2 class=\"pool-chart-title\">Guide du stabilisant de piscine (CYA)<\/h2>\n  <p class=\"pool-chart-subtitle\">Utilisez ce tableau de r\u00e9f\u00e9rence rapide pour comprendre vos taux d'acide cyanurique et savoir quelles mesures prendre.<\/p>\n\n  <div class=\"pool-chart-responsive-wrapper\">\n    <table class=\"pool-chart-table\">\n      <thead>\n        <tr>\n          <th>Taux de CYA (ppm)<\/th>\n          <th>Statut<\/th>\n          <th>Effet sur la piscine et le chlore<\/th>\n          <th>Mesure recommand\u00e9e<\/th>\n        <\/tr>\n      <\/thead>\n      <tbody>\n        <tr class=\"status-low\">\n          <td class=\"weight-bold\">0 - 29 ppm<\/td>\n          <td><span class=\"status-badge badge-low\">Trop bas<\/span><\/td>\n          <td>Le soleil d\u00e9truit le chlore libre en quelques heures. Forte perte de chlore.<\/td>\n          <td>Ajoutez imm\u00e9diatement du stabilisant granulaire ou liquide \u00e0 l'aide du calculateur ci-dessus.<\/td>\n        <\/tr>\n        <tr class=\"status-ideal\">\n          <td class=\"weight-bold\">30 - 50 ppm<\/td>\n          <td><span class=\"status-badge badge-ideal\">Plage id\u00e9ale<\/span><\/td>\n          <td>Protection parfaite du chlore. Pouvoir d\u00e9sinfectant optimal pour les piscines standard.<\/td>\n          <td>Excellent&nbsp;! Maintenez ce niveau. Testez chaque mois.<\/td>\n        <\/tr>\n        <tr class=\"status-salt\">\n          <td class=\"weight-bold\">60 - 80 ppm<\/td>\n          <td><span class=\"status-badge badge-salt\">Id\u00e9al eau sal\u00e9e<\/span><\/td>\n          <td>Plage recommand\u00e9e sp\u00e9cifiquement pour les \u00e9lectrolyseurs au sel (SWG).<\/td>\n          <td>Id\u00e9al avec un syst\u00e8me au sel&nbsp;; un peu \u00e9lev\u00e9 pour les piscines standard.<\/td>\n        <\/tr>\n        <tr class=\"status-high\">\n          <td class=\"weight-bold\">81 - 100 ppm<\/td>\n          <td><span class=\"status-badge badge-high\">\u00c9lev\u00e9<\/span><\/td>\n          <td>L'efficacit\u00e9 du chlore commence \u00e0 baisser. Il faut plus de chlore libre pour d\u00e9sinfecter.<\/td>\n          <td>Cessez d'utiliser du chlore stabilis\u00e9 (galets de trichlore\/choc dichlore). Utilisez du chlore liquide.<\/td>\n        <\/tr>\n        <tr class=\"status-danger\">\n          <td class=\"weight-bold\">100+ ppm<\/td>\n          <td><span class=\"status-badge badge-danger\">Tr\u00e8s \u00e9lev\u00e9<\/span><\/td>\n          <td><strong>Risque de blocage du chlore&nbsp;!<\/strong> Les bact\u00e9ries et les algues peuvent se d\u00e9velopper m\u00eame en pr\u00e9sence de chlore.<\/td>\n          <td>Vidangez partiellement et remplissez la piscine d'eau fra\u00eeche pour abaisser le taux de CYA.<\/td>\n        <\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n\n  <div class=\"pool-chart-note\">\n    <strong>Conseil de pro&nbsp;:<\/strong> L'acide cyanurique ne s'\u00e9vapore pas&nbsp;! Les seuls moyens de le r\u00e9duire sont les \u00e9claboussures, le contre-lavage ou une vidange partielle suivie d'un remplissage.\n  <\/div>\n<\/div>\n\n<style>\n\/* Scoped styling for the Stabilizer Chart using theme color #1ecad3 *\/\n.pool-chart-container {\n  max-width: 800px;\n  margin: 30px auto;\n  padding: 25px;\n  background-color: #ffffff;\n  border: 2px solid #1ecad3;\n  border-radius: 12px;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n  color: #333333;\n  box-shadow: 0 4px 15px rgba(30, 202, 211, 0.08);\n}\n.pool-chart-title {\n  color: #1ecad3;\n  text-align: center;\n  margin-top: 0;\n  margin-bottom: 8px;\n  font-weight: 700;\n  font-size: 1.5em;\n}\n.pool-chart-subtitle {\n  text-align: center;\n  color: #666666;\n  font-size: 0.95em;\n  margin-top: 0;\n  margin-bottom: 25px;\n  line-height: 1.4;\n}\n\n\/* Responsive Table Wrapper *\/\n.pool-chart-responsive-wrapper {\n  width: 100%;\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n  margin-bottom: 20px;\n  border: 1px solid #e0e0e0;\n  border-radius: 8px;\n}\n\n\/* Table styling *\/\n.pool-chart-table {\n  width: 100%;\n  border-collapse: collapse;\n  text-align: left;\n  font-size: 14px;\n  min-width: 600px; \/* Ensures text doesn't squash on small mobile screens *\/\n}\n.pool-chart-table th {\n  background-color: #1ecad3;\n  color: #ffffff;\n  font-weight: 600;\n  padding: 14px 16px;\n  font-size: 0.95em;\n}\n.pool-chart-table td {\n  padding: 14px 16px;\n  border-bottom: 1px solid #eeeeee;\n  line-height: 1.4;\n}\n\n\/* Row variations for quick scanning *\/\n.pool-chart-table tr:last-child td {\n  border-bottom: none;\n}\n.pool-chart-table tr.status-ideal {\n  background-color: #f0fdfd; \/* Soft hint of theme color for ideal range *\/\n}\n.weight-bold {\n  font-weight: bold;\n  color: #222222;\n  white-space: nowrap;\n}\n\n\/* Status Badges *\/\n.status-badge {\n  display: inline-block;\n  padding: 4px 10px;\n  border-radius: 20px;\n  font-size: 0.85em;\n  font-weight: 600;\n  text-align: center;\n  white-space: nowrap;\n}\n.badge-low { background-color: #ffeeb3; color: #856404; }\n.badge-ideal { background-color: #c3f2f4; color: #0b6266; }\n.badge-salt { background-color: #d1ecf1; color: #0c5460; }\n.badge-high { background-color: #f8d7da; color: #721c24; }\n.badge-danger { background-color: #f5c6cb; color: #721c24; border: 1px dashed #721c24; }\n\n\/* Bottom Note Box *\/\n.pool-chart-note {\n  background-color: #f9f9f9;\n  border-left: 4px solid #1ecad3;\n  padding: 12px 15px;\n  font-size: 0.9em;\n  color: #555555;\n  line-height: 1.5;\n  border-radius: 0 6px 6px 0;\n}\n<\/style>\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'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'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'alcalinit\u00e9 d'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'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>","protected":false},"excerpt":{"rendered":"<p>\u00c9tape 1&nbsp;: saisissez le volume de la piscine Gallons (gal)Litres (L)M\u00e8tres cubes (m\u00b3) Vous ne savez pas&nbsp;? Utilisez notre calculateur de volume de piscine \u00c9tape 2&nbsp;: saisissez les taux de stabilisant (ppm) Taux actuel Taux cible Calculer R\u00e9initialiser Plage cible recommand\u00e9e&nbsp;: 30 &#8211; 50 ppm Afficher les r\u00e9sultats en&nbsp;: Onces (oz)Livres (lbs)Grammes (g)Kilogrammes (kg) Stabilisant [&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":3,"aiper_last_reviewed":"","aiper_reviewer":0,"aiper_related_ids":[],"aiper_layout":"","footnotes":""},"class_list":["post-2138","page","type-page","status-publish","hentry"],"lang":"fr","translations":{"fr":2138,"de":2137,"en":1827,"es":2139},"_links":{"self":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/2138","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=2138"}],"version-history":[{"count":6,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/2138\/revisions"}],"predecessor-version":[{"id":13273,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/2138\/revisions\/13273"}],"wp:attachment":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/media?parent=2138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}