{"id":2198,"date":"2026-06-01T08:35:29","date_gmt":"2026-06-01T08:35:29","guid":{"rendered":"https:\/\/aiper.com\/blogs\/?page_id=2198"},"modified":"2026-10-28T03:46:38","modified_gmt":"2026-10-28T03:46:38","slug":"calculateur-cout-aeration-pelouse","status":"publish","type":"page","link":"https:\/\/aiper.com\/blogs\/fr\/calculateur-cout-aeration-pelouse\/","title":{"rendered":"Calculateur de co\u00fbt d&#8217;a\u00e9ration de pelouse"},"content":{"rendered":"\n<!-- Calculateur de co\u00fbt d'a\u00e9ration de pelouse \u2013 Compatible WordPress -->\n<!-- Collez ce bloc entier dans un bloc \"HTML personnalis\u00e9\" de WordPress -->\n<div class=\"lac-calculator-wrapper\">\n    <!-- ==================== EN-T\u00caTE ==================== -->\n    <div class=\"lac-header\">\n        <h2 class=\"lac-title\">\ud83c\udf3f Calculateur de co\u00fbt d&#8217;a\u00e9ration de pelouse<\/h2>\n        <p class=\"lac-subtitle\">Estimez le co\u00fbt d&#8217;une a\u00e9ration professionnelle dans votre r\u00e9gion \u2013 avec alternatives DIY.<\/p>\n    <\/div>\n\n    <!-- ==================== \u00c9TAPE 1 : LOCALISATION ==================== -->\n    <div class=\"lac-section\">\n        <div class=\"lac-step-badge\">\u00c9tape 1<\/div>\n        <h3 class=\"lac-section-title\">\ud83d\udccd Votre localisation<\/h3>\n        <div class=\"lac-row\">\n            <div class=\"lac-col lac-col-50\">\n                <label class=\"lac-label\" for=\"lac-country\">Pays<\/label>\n                <select id=\"lac-country\" class=\"lac-select\">\n                    <option value=\"US\">\u00c9tats-Unis<\/option>\n                    <option value=\"CA\">Canada<\/option>\n                    <option value=\"UK\">Royaume-Uni<\/option>\n                    <option value=\"AU\">Australie<\/option>\n                    <option value=\"DE\">Allemagne<\/option>\n                    <option value=\"FR\">France<\/option>\n                    <option value=\"ES\">Espagne<\/option>\n                <\/select>\n            <\/div>\n            <div class=\"lac-col lac-col-50\">\n                <label class=\"lac-label\" for=\"lac-city\">Ville \/ R\u00e9gion<\/label>\n                <select id=\"lac-city\" class=\"lac-select\">\n                    <option value=\"ny\">New York<\/option>\n                    <option value=\"la\">Los Angeles<\/option>\n                    <option value=\"chi\">Chicago<\/option>\n                    <option value=\"hou\">Houston<\/option>\n                    <option value=\"phx\">Phoenix<\/option>\n                <\/select>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- ==================== \u00c9TAPE 2 : SURFACE DE PELOUSE ==================== -->\n    <div class=\"lac-section\">\n        <div class=\"lac-step-badge\">\u00c9tape 2<\/div>\n        <h3 class=\"lac-section-title\">\ud83d\udccf Surface de pelouse<\/h3>\n        <div class=\"lac-row\">\n            <div class=\"lac-col lac-col-50\">\n                <label class=\"lac-label\" for=\"lac-size\">Superficie<\/label>\n                <input type=\"number\" id=\"lac-size\" class=\"lac-input\" placeholder=\"ex. 500\" min=\"1\" step=\"any\">\n            <\/div>\n            <div class=\"lac-col lac-col-50\">\n                <label class=\"lac-label\" for=\"lac-unit\">Unit\u00e9<\/label>\n                <select id=\"lac-unit\" class=\"lac-select\">\n                    <option value=\"sqft\">Pieds carr\u00e9s (pi\u00b2)<\/option>\n                    <option value=\"acres\">Acres<\/option>\n                    <option value=\"sqm\">M\u00e8tres carr\u00e9s (m\u00b2)<\/option>\n                <\/select>\n            <\/div>\n        <\/div>\n        <p class=\"lac-hint\" id=\"lac-size-hint\"><\/p>\n    <\/div>\n\n    <!-- ==================== \u00c9TAPE 3 : M\u00c9THODE D'A\u00c9RATION ==================== -->\n    <div class=\"lac-section\">\n        <div class=\"lac-step-badge\">\u00c9tape 3<\/div>\n        <h3 class=\"lac-section-title\">\ud83d\udd27 M\u00e9thode d&#8217;a\u00e9ration<\/h3>\n        <div class=\"lac-radio-group\">\n            <label class=\"lac-radio-label\">\n                <input type=\"radio\" name=\"lac-method\" value=\"core\" checked class=\"lac-radio\">\n                <span class=\"lac-radio-custom\"><\/span>\n                <span class=\"lac-radio-text\" id=\"lac-method-core-text\"><strong>A\u00e9ration par carottage (dents creuses)<\/strong> \u2013 Recommand\u00e9 \/ Standard<\/span>\n            <\/label>\n            <label class=\"lac-radio-label\">\n                <input type=\"radio\" name=\"lac-method\" value=\"liquid\" class=\"lac-radio\">\n                <span class=\"lac-radio-custom\"><\/span>\n                <span class=\"lac-radio-text\" id=\"lac-method-alt-text\">A\u00e9ration liquide \/ \u00e0 pointes<\/span>\n            <\/label>\n        <\/div>\n    <\/div>\n\n    <!-- ==================== \u00c9TAPE 4 : OPTIONS SUPPL\u00c9MENTAIRES ==================== -->\n    <div class=\"lac-section\">\n        <div class=\"lac-step-badge\">\u00c9tape 4<\/div>\n        <h3 class=\"lac-section-title\">\u2728 Options suppl\u00e9mentaires<\/h3>\n        <div class=\"lac-checkbox-group\">\n            <label class=\"lac-checkbox-label\" id=\"lac-addon1-label\">\n                <input type=\"checkbox\" id=\"lac-addon1\" class=\"lac-checkbox\">\n                <span class=\"lac-checkbox-custom\"><\/span>\n                <span class=\"lac-checkbox-text\">Sur-semis \/ Regarnissage<\/span>\n            <\/label>\n            <label class=\"lac-checkbox-label\" id=\"lac-addon2-label\">\n                <input type=\"checkbox\" id=\"lac-addon2\" class=\"lac-checkbox\">\n                <span class=\"lac-checkbox-custom\"><\/span>\n                <span class=\"lac-checkbox-text\">Terreautage \/ Sablage \/ Fertilisation<\/span>\n            <\/label>\n        <\/div>\n    <\/div>\n\n    <!-- ==================== \u00c9TAPE 5 : ACTIONS ==================== -->\n    <div class=\"lac-section lac-actions\">\n        <button id=\"lac-calculate-btn\" class=\"lac-btn lac-btn-primary\">\ud83d\udcca Calculer<\/button>\n        <button id=\"lac-reset-btn\" class=\"lac-btn lac-btn-secondary\">\u21ba R\u00e9initialiser<\/button>\n    <\/div>\n\n    <!-- ==================== PANNEAU DE R\u00c9SULTATS ==================== -->\n    <div id=\"lac-results\" class=\"lac-results\" style=\"display: none;\">\n        <!-- Rempli dynamiquement par JS -->\n    <\/div>\n\n    <!-- ==================== NOTE DE BAS DE PAGE ==================== -->\n    <p class=\"lac-footer-note\">* Les estimations sont bas\u00e9es sur des moyennes r\u00e9gionales et peuvent varier selon le prestataire, la saison et les caract\u00e9ristiques du terrain. Obtenez toujours plusieurs devis.<\/p>\n<\/div>\n\n<!-- ==================== STYLES (identiques \u00e0 la version anglaise) ==================== -->\n<style>\n    .lac-calculator-wrapper {\n        font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n        max-width: 780px;\n        margin: 0 auto;\n        padding: 28px 22px;\n        background: #fafbfc;\n        border: 1px solid #e2e6ea;\n        border-radius: 14px;\n        color: #2c3e50;\n        line-height: 1.6;\n        box-sizing: border-box;\n    }\n    .lac-calculator-wrapper *,\n    .lac-calculator-wrapper *::before,\n    .lac-calculator-wrapper *::after {\n        box-sizing: border-box;\n    }\n    .lac-header {\n        text-align: center;\n        margin-bottom: 26px;\n    }\n    .lac-title {\n        font-size: 1.7em;\n        font-weight: 700;\n        margin: 0 0 6px;\n        color: #1a1a2e;\n        letter-spacing: -0.3px;\n    }\n    .lac-subtitle {\n        font-size: 0.95em;\n        color: #6b7280;\n        margin: 0;\n    }\n    .lac-section {\n        background: #ffffff;\n        border: 1px solid #e8ecf1;\n        border-radius: 10px;\n        padding: 20px 18px;\n        margin-bottom: 16px;\n        position: relative;\n        transition: border-color 0.25s ease;\n    }\n    .lac-section:hover {\n        border-color: #d0d7df;\n    }\n    .lac-step-badge {\n        display: inline-block;\n        background: #1ecad3;\n        color: #fff;\n        font-size: 0.72em;\n        font-weight: 700;\n        text-transform: uppercase;\n        letter-spacing: 0.6px;\n        padding: 3px 10px;\n        border-radius: 20px;\n        margin-bottom: 8px;\n    }\n    .lac-section-title {\n        font-size: 1.1em;\n        font-weight: 600;\n        margin: 0 0 12px;\n        color: #1a1a2e;\n    }\n    .lac-row {\n        font-size: 0;\n    }\n    .lac-col {\n        display: inline-block;\n        vertical-align: top;\n        font-size: 1rem;\n    }\n    .lac-col-50 {\n        width: 50%;\n        padding: 0 6px;\n    }\n    @media (max-width: 600px) {\n        .lac-col-50 {\n            width: 100%;\n            padding: 0;\n            margin-bottom: 10px;\n        }\n    }\n    .lac-label {\n        display: block;\n        font-weight: 600;\n        font-size: 0.9em;\n        margin-bottom: 5px;\n        color: #374151;\n    }\n    .lac-input,\n    .lac-select {\n        width: 100%;\n        padding: 10px 12px;\n        font-size: 0.95em;\n        border: 1.5px solid #d1d5db;\n        border-radius: 7px;\n        background: #f9fafb;\n        color: #1f2937;\n        transition: border-color 0.2s ease, box-shadow 0.2s ease;\n        outline: none;\n        font-family: inherit;\n    }\n    .lac-input:focus,\n    .lac-select:focus {\n        border-color: #1ecad3;\n        box-shadow: 0 0 0 3px rgba(30, 202, 211, 0.12);\n        background: #fff;\n    }\n    .lac-hint {\n        font-size: 0.82em;\n        color: #9ca3af;\n        margin: 6px 0 0;\n        font-style: italic;\n    }\n    .lac-radio-group {\n        display: block;\n    }\n    .lac-radio-label {\n        display: block;\n        cursor: pointer;\n        padding: 10px 14px;\n        margin-bottom: 8px;\n        border: 1.5px solid #e5e7eb;\n        border-radius: 8px;\n        transition: all 0.2s ease;\n        background: #fafcfd;\n        position: relative;\n        padding-left: 40px;\n    }\n    .lac-radio-label:hover {\n        border-color: #1ecad3;\n        background: #f0fdfd;\n    }\n    .lac-radio {\n        position: absolute;\n        opacity: 0;\n        pointer-events: none;\n    }\n    .lac-radio-custom {\n        position: absolute;\n        left: 14px;\n        top: 50%;\n        transform: translateY(-50%);\n        width: 18px;\n        height: 18px;\n        border-radius: 50%;\n        border: 2px solid #cbd5e1;\n        background: #fff;\n        transition: all 0.2s ease;\n    }\n    .lac-radio:checked+.lac-radio-custom {\n        border-color: #1ecad3;\n        background: #1ecad3;\n        box-shadow: inset 0 0 0 4px #fff;\n    }\n    .lac-radio-text {\n        font-size: 0.93em;\n        color: #374151;\n    }\n    .lac-checkbox-group {\n        display: block;\n    }\n    .lac-checkbox-label {\n        display: block;\n        cursor: pointer;\n        padding: 10px 14px;\n        margin-bottom: 8px;\n        border: 1.5px solid #e5e7eb;\n        border-radius: 8px;\n        transition: all 0.2s ease;\n        background: #fafcfd;\n        position: relative;\n        padding-left: 40px;\n    }\n    .lac-checkbox-label:hover {\n        border-color: #1ecad3;\n        background: #f0fdfd;\n    }\n    .lac-checkbox {\n        position: absolute;\n        opacity: 0;\n        pointer-events: none;\n    }\n    .lac-checkbox-custom {\n        position: absolute;\n        left: 14px;\n        top: 50%;\n        transform: translateY(-50%);\n        width: 18px;\n        height: 18px;\n        border-radius: 4px;\n        border: 2px solid #cbd5e1;\n        background: #fff;\n        transition: all 0.2s ease;\n    }\n    .lac-checkbox:checked+.lac-checkbox-custom {\n        border-color: #1ecad3;\n        background: #1ecad3;\n    }\n    .lac-checkbox:checked+.lac-checkbox-custom::after {\n        content: '';\n        position: absolute;\n        left: 4px;\n        top: 1px;\n        width: 6px;\n        height: 10px;\n        border: solid #fff;\n        border-width: 0 2px 2px 0;\n        transform: rotate(45deg);\n    }\n    .lac-checkbox-text {\n        font-size: 0.93em;\n        color: #374151;\n    }\n    .lac-actions {\n        text-align: center;\n        background: transparent;\n        border: none;\n        padding: 8px 0;\n    }\n    .lac-actions:hover {\n        border-color: transparent;\n    }\n    .lac-btn {\n        display: inline-block;\n        padding: 13px 30px;\n        font-size: 1em;\n        font-weight: 700;\n        border-radius: 8px;\n        cursor: pointer;\n        border: 2px solid transparent;\n        transition: all 0.22s ease;\n        margin: 6px 8px;\n        font-family: inherit;\n        letter-spacing: 0.2px;\n        min-width: 140px;\n    }\n    .lac-btn-primary {\n        background: #1ecad3;\n        color: #ffffff;\n        border-color: #1ecad3;\n        box-shadow: 0 3px 12px rgba(30, 202, 211, 0.3);\n    }\n    .lac-btn-primary:hover {\n        background: #19b3bb;\n        border-color: #19b3bb;\n        box-shadow: 0 5px 18px rgba(30, 202, 211, 0.4);\n        transform: translateY(-1px);\n    }\n    .lac-btn-primary:active {\n        background: #159da5;\n        transform: translateY(0);\n        box-shadow: 0 2px 8px rgba(30, 202, 211, 0.25);\n    }\n    .lac-btn-secondary {\n        background: #ffffff;\n        color: #6b7280;\n        border-color: #d1d5db;\n    }\n    .lac-btn-secondary:hover {\n        background: #f3f4f6;\n        border-color: #9ca3af;\n        color: #374151;\n    }\n    .lac-results {\n        margin-top: 20px;\n        background: #ffffff;\n        border: 2px solid #1ecad3;\n        border-radius: 12px;\n        padding: 24px 20px;\n        animation: lac-fadeIn 0.45s ease;\n    }\n    @keyframes lac-fadeIn {\n        from { opacity: 0; transform: translateY(14px); }\n        to { opacity: 1; transform: translateY(0); }\n    }\n    .lac-results-range {\n        text-align: center;\n        margin-bottom: 8px;\n    }\n    .lac-results-range-label {\n        font-size: 0.9em;\n        color: #6b7280;\n        text-transform: uppercase;\n        letter-spacing: 0.8px;\n        font-weight: 600;\n    }\n    .lac-results-range-value {\n        font-size: 2.6em;\n        font-weight: 800;\n        color: #1a1a2e;\n        letter-spacing: -1px;\n        margin: 2px 0;\n    }\n    .lac-results-range-value span {\n        color: #1ecad3;\n    }\n    .lac-results-average {\n        text-align: center;\n        background: #eefdfe;\n        border: 1px solid #1ecad3;\n        border-radius: 8px;\n        padding: 10px 16px;\n        display: inline-block;\n        margin: 8px auto 18px;\n        font-weight: 700;\n        font-size: 1.05em;\n        color: #0f7a80;\n    }\n    .lac-results-average-wrap {\n        text-align: center;\n        margin-bottom: 16px;\n    }\n    .lac-table-wrap {\n        overflow-x: auto;\n        margin-bottom: 16px;\n    }\n    .lac-table {\n        width: 100%;\n        border-collapse: collapse;\n        font-size: 0.93em;\n        min-width: 400px;\n    }\n    .lac-table th,\n    .lac-table td {\n        padding: 10px 12px;\n        border-bottom: 1px solid #e5e7eb;\n        text-align: left;\n    }\n    .lac-table th {\n        background: #f8fafb;\n        font-weight: 700;\n        color: #374151;\n        font-size: 0.85em;\n        text-transform: uppercase;\n        letter-spacing: 0.4px;\n    }\n    .lac-table .lac-total-row {\n        font-weight: 800;\n        background: #fdfefe;\n        border-top: 2px solid #1ecad3;\n    }\n    .lac-table .lac-total-row td {\n        color: #1a1a2e;\n        font-size: 1.05em;\n    }\n    .lac-diy-card {\n        background: #fffbeb;\n        border: 1px solid #fcd34d;\n        border-radius: 9px;\n        padding: 16px 18px;\n        margin-bottom: 14px;\n    }\n    .lac-diy-card h4 {\n        margin: 0 0 6px;\n        font-size: 0.95em;\n        color: #92400e;\n        font-weight: 700;\n    }\n    .lac-diy-card p {\n        margin: 0;\n        font-size: 0.88em;\n        color: #78350f;\n        line-height: 1.5;\n    }\n    .lac-local-note {\n        background: #eff6ff;\n        border: 1px solid #bfdbfe;\n        border-radius: 9px;\n        padding: 14px 16px;\n        font-size: 0.87em;\n        color: #1e40af;\n        line-height: 1.5;\n        margin-bottom: 12px;\n    }\n    .lac-local-note strong {\n        color: #1e3a8a;\n    }\n    .lac-blog-link {\n        text-align: center;\n        margin-top: 8px;\n    }\n    .lac-blog-link a {\n        display: inline-block;\n        padding: 10px 20px;\n        background: transparent;\n        border: 1.5px solid #1ecad3;\n        color: #1ecad3;\n        border-radius: 8px;\n        font-weight: 700;\n        text-decoration: none;\n        transition: all 0.2s ease;\n    }\n    .lac-blog-link a:hover {\n        background: #1ecad3;\n        color: #ffffff;\n    }\n    .lac-footer-note {\n        text-align: center;\n        font-size: 0.78em;\n        color: #9ca3af;\n        margin-top: 14px;\n        font-style: italic;\n    }\n    @media (max-width: 600px) {\n        .lac-calculator-wrapper {\n            padding: 16px 10px;\n        }\n        .lac-section {\n            padding: 14px 10px;\n        }\n        .lac-title {\n            font-size: 1.35em;\n        }\n        .lac-results-range-value {\n            font-size: 1.9em;\n        }\n        .lac-btn {\n            padding: 11px 20px;\n            font-size: 0.9em;\n            min-width: 110px;\n            margin: 4px;\n        }\n    }\n<\/style>\n\n<!-- ==================== SCRIPTS ==================== -->\n<script>\n    (function() {\n        function aiperInlineError(host, msg) {\n            var el = host.querySelector('.aiper-inline-error');\n            if (!el) {\n                el = document.createElement('div');\n                el.className = 'aiper-inline-error';\n                el.setAttribute('role', 'alert');\n                el.style.cssText = 'margin:0 0 16px;padding:12px 16px;background:#fef2f2;border-left:4px solid #b91c1c;border-radius:0 8px 8px 0;color:#7f1d1d;font-size:15px;line-height:1.5;white-space:pre-line';\n                host.insertBefore(el, host.firstChild);\n                host.addEventListener('input', function () { el.hidden = true; });\n                host.addEventListener('change', function () { el.hidden = true; });\n            }\n            el.textContent = String(msg).replace(\/\\n{2,}\/g, '\\n');\n            el.hidden = false;\n            try { el.scrollIntoView({ block: 'nearest', behavior: 'smooth' }); } catch (e) {}\n        }\n\n        const wrapper = document.querySelector('.lac-calculator-wrapper');\n        const countrySelect = document.getElementById('lac-country');\n        const citySelect = document.getElementById('lac-city');\n        const sizeInput = document.getElementById('lac-size');\n        const unitSelect = document.getElementById('lac-unit');\n        const sizeHint = document.getElementById('lac-size-hint');\n        const methodRadios = document.getElementsByName('lac-method');\n        const addon1Checkbox = document.getElementById('lac-addon1');\n        const addon2Checkbox = document.getElementById('lac-addon2');\n        const addon1Label = document.getElementById('lac-addon1-label');\n        const addon2Label = document.getElementById('lac-addon2-label');\n        const calcBtn = document.getElementById('lac-calculate-btn');\n        const resetBtn = document.getElementById('lac-reset-btn');\n        const resultsPanel = document.getElementById('lac-results');\n        const altMethodText = document.getElementById('lac-method-alt-text');\n\n        \/\/ Donn\u00e9es des villes\n        const citiesByCountry = {\n            US: [{v:'ny',l:'New York'},{v:'la',l:'Los Angeles'},{v:'chi',l:'Chicago'},{v:'hou',l:'Houston'},{v:'phx',l:'Phoenix'}],\n            CA: [{v:'tor',l:'Toronto'},{v:'van',l:'Vancouver'},{v:'mon',l:'Montr\u00e9al'},{v:'cal',l:'Calgary'},{v:'ott',l:'Ottawa'}],\n            UK: [{v:'lon',l:'Londres'},{v:'man',l:'Manchester'},{v:'bir',l:'Birmingham'},{v:'edi',l:'\u00c9dimbourg'}],\n            AU: [{v:'syd',l:'Sydney'},{v:'mel',l:'Melbourne'},{v:'bri',l:'Brisbane'},{v:'per',l:'Perth'},{v:'ade',l:'Ad\u00e9la\u00efde'}],\n            DE: [{v:'ber',l:'Berlin'},{v:'mun',l:'Munich'},{v:'fra',l:'Francfort'},{v:'ham',l:'Hambourg'},{v:'col',l:'Cologne'}],\n            FR: [{v:'par',l:'Paris'},{v:'mar',l:'Marseille'},{v:'lyo',l:'Lyon'},{v:'tou',l:'Toulouse'},{v:'nic',l:'Nice'}],\n            ES: [{v:'mad',l:'Madrid'},{v:'bar',l:'Barcelone'},{v:'val',l:'Valence'},{v:'sev',l:'S\u00e9ville'},{v:'bil',l:'Bilbao'}]\n        };\n\n        const unitDefaults = { US:'sqft', CA:'sqft', UK:'sqm', AU:'sqm', DE:'sqm', FR:'sqm', ES:'sqm' };\n        const currencySymbols = { US:'$', CA:'CA$', UK:'\u00a3', AU:'A$', DE:'\u20ac', FR:'\u20ac', ES:'\u20ac' };\n\n        \/\/ Libell\u00e9s des options suppl\u00e9mentaires (en fran\u00e7ais, adapt\u00e9s par pays)\n        const addonLabels = {\n            US: { a1:'Sur-semis \/ Regarnissage', a2:'Terreautage \/ Sablage \/ Fertilisation' },\n            CA: { a1:'Sur-semis \/ Regarnissage', a2:'Terreautage \/ Fertilisation' },\n            UK: { a1:'Sur-semis \/ Regarnissage', a2:'Terreautage \/ Sablage' },\n            AU: { a1:'Sur-semis', a2:'Terreautage \/ Fertilisation (Forfait)' },\n            DE: { a1:'Sablage (Besanden)', a2:'Sur-semis et fertilisation (Nachsaat)' },\n            FR: { a1:'Sur-semis \/ Terreautage (Forfait)', a2:'Fertilisation suppl\u00e9mentaire' },\n            ES: { a1:'Sur-semis', a2:'Terreautage \/ Sablage' }\n        };\n\n        function updateCities() {\n            const country = countrySelect.value;\n            const cities = citiesByCountry[country] || citiesByCountry['US'];\n            citySelect.innerHTML = '';\n            cities.forEach(c => {\n                const opt = document.createElement('option');\n                opt.value = c.v;\n                opt.textContent = c.l;\n                citySelect.appendChild(opt);\n            });\n        }\n\n        function updateUnitDefault() {\n            const country = countrySelect.value;\n            unitSelect.value = unitDefaults[country] || 'sqft';\n            updateSizeHint();\n        }\n\n        function updateAddonLabels() {\n            const country = countrySelect.value;\n            const labels = addonLabels[country] || addonLabels['US'];\n            addon1Label.querySelector('.lac-checkbox-text').textContent = labels.a1;\n            addon2Label.querySelector('.lac-checkbox-text').textContent = labels.a2;\n        }\n\n        function updateSizeHint() {\n            const unit = unitSelect.value;\n            if (unit === 'sqft') sizeHint.textContent = 'Pelouses r\u00e9sidentielles typiques : 3 000 \u2013 15 000 pi\u00b2 (1 acre = 43 560 pi\u00b2)';\n            else if (unit === 'acres') sizeHint.textContent = '1 acre = 43 560 pi\u00b2. La plupart des pelouses r\u00e9sidentielles font 0,05 \u2013 0,35 acre.';\n            else sizeHint.textContent = 'Pelouses r\u00e9sidentielles typiques : 50 \u2013 500 m\u00b2 (1 m\u00b2 \u2248 10,76 pi\u00b2)';\n        }\n\n        function updateMethodLabels() {\n            const country = countrySelect.value;\n            if (country === 'UK') {\n                altMethodText.innerHTML = 'A\u00e9ration \u00e0 pointes';\n            } else {\n                altMethodText.innerHTML = 'A\u00e9ration liquide \/ \u00e0 pointes';\n            }\n        }\n\n        \/\/ Initialisation\n        updateCities();\n        updateUnitDefault();\n        updateAddonLabels();\n        updateSizeHint();\n        updateMethodLabels();\n\n        countrySelect.addEventListener('change', () => {\n            updateCities();\n            updateUnitDefault();\n            updateAddonLabels();\n            updateMethodLabels();\n        });\n        unitSelect.addEventListener('change', updateSizeHint);\n\n        function getSizeInSqFt() {\n            const size = parseFloat(sizeInput.value);\n            if (isNaN(size) || size <= 0) return null;\n            const unit = unitSelect.value;\n            if (unit === 'sqft') return size;\n            if (unit === 'acres') return size * 43560;\n            if (unit === 'sqm') return size * 10.764;\n            return null;\n        }\n        function getSizeInSqm() {\n            const size = parseFloat(sizeInput.value);\n            if (isNaN(size) || size <= 0) return null;\n            const unit = unitSelect.value;\n            if (unit === 'sqm') return size;\n            if (unit === 'sqft') return size \/ 10.764;\n            if (unit === 'acres') return (size * 43560) \/ 10.764;\n            return null;\n        }\n        function getSelectedMethod() {\n            for (const radio of methodRadios) {\n                if (radio.checked) return radio.value;\n            }\n            return 'core';\n        }\n\n        function fmtCur(amount, country) {\n            const sym = currencySymbols[country] || '\u20ac';\n            return sym + '\u202f' + Math.round(amount).toLocaleString('fr-FR'); \/\/ espace ins\u00e9cable fine\n        }\n        function fmtRange(low, high, country) {\n            const sym = currencySymbols[country] || '\u20ac';\n            return sym + '\u202f' + Math.round(low).toLocaleString('fr-FR') + ' \u2013 ' + sym + '\u202f' + Math.round(high).toLocaleString('fr-FR');\n        }\n\n        \/\/ Calculs par pays (notes locales en fran\u00e7ais)\n        function calcUS(sqft, method, add1, add2) {\n            const thousands = sqft \/ 1000;\n            let bl=10*thousands, bh=35*thousands, ba=22.5*thousands;\n            if (sqft<=3000) { bl=Math.max(bl,50); bh=Math.max(bh,120); ba=Math.min(Math.max(ba,85),bh); }\n            else if (sqft<=10890) { bl=Math.max(bl,75); bh=Math.max(bh,200); ba=Math.min(Math.max(ba,140),bh); }\n            else { bl=Math.max(bl,300); bh=Math.max(bh,600); ba=Math.min(Math.max(ba,450),bh); }\n            const mult = method==='liquid'?0.85:1.0;\n            bl*=mult; bh*=mult; ba*=mult;\n            const bd=[];\n            let aL=0,aH=0,aA=0;\n            if(add1){ const c=sqft*0.13; aL+=c;aH+=c;aA+=c; bd.push({n:'Sur-semis \/ Regarnissage',c}); }\n            if(add2){ const c=sqft*0.06; aL+=c;aH+=c;aA+=c; bd.push({n:'Terreautage \/ Sablage \/ Fertilisation',c}); }\n            return {\n                low:bl+aL, high:bh+aH, avg:ba+aA,\n                baseLow:bl, baseHigh:bh, baseAvg:ba,\n                methodMultiplier:mult, methodName: method==='liquid'?'A\u00e9ration liquide \/ \u00e0 pointes (85% du carottage)':'A\u00e9ration par carottage (dents creuses)',\n                addonBreakdown:bd, minimumFee:0,\n                diyInfo:'La location d\\'un a\u00e9rateur \u00e0 dents creuses co\u00fbte environ $75\u2013$110\/jour (n\u00e9cessite un camion et du travail physique).',\n                localNote:'<strong>\ud83c\uddfa\ud83c\uddf8 Note :<\/strong> Les prix varient selon les r\u00e9gions. La plupart des pros facturent par tranche de 1 000 pi\u00b2. V\u00e9rifiez si le nettoyage et la pr\u00e9paration sont inclus.',\n                country:'US'\n            };\n        }\n\n        function calcCA(sqft, method, add1, add2) {\n            let bl,bh,ba;\n            if (sqft<1000) { bl=50; bh=90; ba=70; }\n            else if (sqft<=5000) { bl=90; bh=150; ba=120; }\n            else { bl=150; bh=250; ba=200; }\n            const mult = method==='liquid'?0.85:1.0;\n            bl*=mult; bh*=mult; ba*=mult;\n            const bd=[];\n            let aL=0,aH=0,aA=0;\n            if(add1){ let c= sqft<1000?60:(sqft<=5000?110:160); aL+=c;aH+=c;aA+=c; bd.push({n:'Sur-semis \/ Regarnissage',c}); }\n            if(add2){ let c= sqft<1000?50:(sqft<=5000?100:150); aL+=c;aH+=c;aA+=c; bd.push({n:'Terreautage \/ Fertilisation',c}); }\n            return {\n                low:bl+aL, high:bh+aH, avg:ba+aA,\n                baseLow:bl, baseHigh:bh, baseAvg:ba,\n                methodMultiplier:mult, methodName: method==='liquid'?'A\u00e9ration liquide \/ \u00e0 pointes (85% du carottage)':'A\u00e9ration par carottage (dents creuses)',\n                addonBreakdown:bd, minimumFee:0,\n                diyInfo:'Location d\\'un a\u00e9rateur \u00e0 conducteur marchant env. 75\u201395 CA$\/jour (+ carburant\/taxes). Faire appel \u00e0 un pro est souvent plus rentable.',\n                localNote:'<strong>\ud83c\udde8\ud83c\udde6 Note :<\/strong> Prix l\u00e9g\u00e8rement plus \u00e9lev\u00e9s dans les grands centres urbains (GTA, Metro Vancouver). Les services combin\u00e9s ajoutent 50\u2013150 CA$. Les sp\u00e9cialistes ind\u00e9pendants sont souvent moins chers que les grandes entreprises.',\n                country:'CA'\n            };\n        }\n\n        function calcUK(sqm, method, add1, add2) {\n            const m = (method==='liquid')?'spike':'core';\n            let bl,bh,ba;\n            if (sqm<50) {\n                bl = (m==='spike')?30:80; bh = (m==='spike')?80:100; ba = (m==='spike')?55:90;\n            } else if (sqm<=150) {\n                bl = (m==='spike')?90:110; bh = (m==='spike')?120:140; ba = (m==='spike')?105:125;\n            } else {\n                bl = (m==='spike')?120:150; bh = (m==='spike')?200:250; ba = (m==='spike')?150:180;\n            }\n            const bd=[];\n            let aL=0,aH=0,aA=0;\n            if(add1){ let c= sqm<50?60:(sqm<=150?110:160); aL+=c;aH+=c;aA+=c; bd.push({n:'Sur-semis \/ Regarnissage',c}); }\n            if(add2){ let c= sqm<50?80:(sqm<=150?130:180); aL+=c;aH+=c;aA+=c; bd.push({n:'Terreautage \/ Sablage',c}); }\n            return {\n                low:bl+aL, high:bh+aH, avg:ba+aA,\n                baseLow:bl, baseHigh:bh, baseAvg:ba,\n                methodMultiplier:1, methodName: m==='spike'?'A\u00e9ration \u00e0 pointes':'A\u00e9ration par carottage (dents creuses)',\n                addonBreakdown:bd, minimumFee:0,\n                diyInfo:'Outils manuels (chaussures \u00e0 pointes\/a\u00e9rateurs manuels) env. 20\u201335 \u00a3. Location d\\'un a\u00e9rateur thermique env. 45\u201360 \u00a3\/jour.',\n                localNote:'<strong>\ud83c\uddec\ud83c\udde7 Note :<\/strong> Les sols tr\u00e8s compact\u00e9s ou argileux peuvent augmenter les devis. Londres et le Sud-Est sont souvent plus chers.',\n                country:'UK'\n            };\n        }\n\n        function calcAU(sqm, method, add1, add2) {\n            let bl=0.80*sqm, bh=1.50*sqm, ba=1.15*sqm;\n            if (sqm<50) { bl=Math.max(bl,50); bh=Math.max(bh,100); ba=Math.min(Math.max(ba,75),bh); }\n            else if (sqm<=300) { bl=Math.max(bl,100); bh=Math.max(bh,240); ba=Math.min(Math.max(ba,170),bh); }\n            else { bl=Math.max(bl,250); bh=Math.max(bh,300); ba=Math.min(Math.max(ba,275),bh); }\n            const minCall=90;\n            if(bl<minCall) bl=minCall; if(bh<minCall) bh=minCall; if(ba<minCall) ba=minCall;\n            const minFee = (bl<=minCall||bh<=minCall)?minCall:0;\n            const bd=[]; let aL=0,aH=0,aA=0;\n            if(add1){ const c=sqm*0.50; aL+=c;aH+=c;aA+=c; bd.push({n:'Sur-semis',c}); }\n            if(add2){ const c=sqm*1.20; aL+=c;aH+=c;aA+=c; bd.push({n:'Terreautage \/ Fertilisation (Forfait)',c}); }\n            return {\n                low:bl+aL, high:bh+aH, avg:ba+aA,\n                baseLow:bl, baseHigh:bh, baseAvg:ba, methodMultiplier:1, methodName:'A\u00e9ration par carottage (standard)',\n                addonBreakdown:bd, minimumFee:minFee,\n                diyInfo:'Location d\\'un a\u00e9rateur motoris\u00e9 env. 60\u201375 A$\/jour. Outils manuels 40\u2013120 A$.',\n                localNote:'<strong>\ud83c\udde6\ud83c\uddfa Note :<\/strong> Frais de d\u00e9placement minimum (90 A$+) courants. Les forfaits combin\u00e9s sont plus avantageux pour les grandes surfaces.',\n                country:'AU'\n            };\n        }\n\n        function calcDE(sqm, method, add1, add2) {\n            let bl=1.00*sqm, bh=3.00*sqm, ba=2.00*sqm;\n            const minFlat=150; const minFee = (bl<minFlat||bh<minFlat)?minFlat:0;\n            if(bl<minFlat) bl=minFlat; if(bh<minFlat) bh=minFlat; if(ba<minFlat) ba=minFlat;\n            const bd=[]; let aL=0,aH=0,aA=0;\n            if(add1){ const c=sqm*0.38; aL+=c;aH+=c;aA+=c; bd.push({n:'Sablage (Besanden)',c}); }\n            if(add2){ const c=sqm*1.35; aL+=c;aH+=c;aA+=c; bd.push({n:'Sur-semis et fertilisation (Nachsaat)',c}); }\n            return {\n                low:bl+aL, high:bh+aH, avg:ba+aA,\n                baseLow:bl, baseHigh:bh, baseAvg:ba, methodMultiplier:1, methodName:'A\u00e9ration par carottage (standard)',\n                addonBreakdown:bd, minimumFee:minFee,\n                diyInfo:'Location d\\'a\u00e9rateur 30\u201360 \u20ac\/jour. Outil manuel de qualit\u00e9 (ex. AeriFork) 30\u2013220 \u20ac.',\n                localNote:'<strong>\ud83c\udde9\ud83c\uddea Note :<\/strong> Forfait minimum de 150 \u20ac pour les petits chantiers. Les professionnels facturent environ 60 \u20ac\/h + 40 \u20ac de d\u00e9placement.',\n                country:'DE'\n            };\n        }\n\n        function calcFR(sqm, method, add1, add2) {\n            let bl=0.50*sqm, bh=1.40*sqm, ba=0.95*sqm;\n            const bd=[]; let aL=0,aH=0,aA=0;\n            if(add1){ const c=sqm*0.45; aL+=c;aH+=c;aA+=c; bd.push({n:'Sur-semis \/ Terreautage (Forfait)',c}); }\n            if(add2){ const c=sqm*0.30; aL+=c;aH+=c;aA+=c; bd.push({n:'Fertilisation suppl\u00e9mentaire',c}); }\n            return {\n                low:bl+aL, high:bh+aH, avg:ba+aA,\n                baseLow:bl, baseHigh:bh, baseAvg:ba, methodMultiplier:1, methodName:'A\u00e9ration par carottage (standard)',\n                addonBreakdown:bd, minimumFee:0,\n                diyInfo:'Location d\\'a\u00e9rateur thermique (Kiloutou\/Loxam) 35\u2013106 \u20ac\/jour. Outil manuel 40\u201375 \u20ac.',\n                localNote:'<strong>\ud83c\uddeb\ud83c\uddf7 Note :<\/strong> Le recours \u00e0 un professionnel donne droit \u00e0 un <strong>cr\u00e9dit d\\'imp\u00f4t de 50 %<\/strong> (Services \u00e0 la personne). Montants affich\u00e9s avant cr\u00e9dit d\\'imp\u00f4t.',\n                country:'FR'\n            };\n        }\n\n        function calcES(sqm, method, add1, add2) {\n            let bl=0.10*sqm, bh=0.25*sqm, ba=0.18*sqm;\n            if (sqm<=150) { bl=Math.max(bl,50); bh=Math.max(bh,100); ba=Math.min(Math.max(ba,75),bh); }\n            const bd=[]; let aL=0,aH=0,aA=0;\n            if(add1){ const c=sqm*0.15; aL+=c;aH+=c;aA+=c; bd.push({n:'Sur-semis',c}); }\n            if(add2){ const c=sqm*0.20; aL+=c;aH+=c;aA+=c; bd.push({n:'Terreautage \/ Sablage',c}); }\n            return {\n                low:bl+aL, high:bh+aH, avg:ba+aA,\n                baseLow:bl, baseHigh:bh, baseAvg:ba, methodMultiplier:1, methodName:'A\u00e9ration par carottage (standard)',\n                addonBreakdown:bd, minimumFee:0,\n                diyInfo:'Location d\\'a\u00e9rateur thermique 50\u201390 \u20ac\/jour. Outils manuels 15\u201345 \u20ac.',\n                localNote:'<strong>\ud83c\uddea\ud83c\uddf8 Note :<\/strong> Tarif horaire jardinier ~22 \u20ac\/h. Projets de r\u00e9novation sur mesure \u00e0 partir d\\'environ 450 \u20ac pour 150 m\u00b2.',\n                country:'ES'\n            };\n        }\n\n        function calculate() {\n            const country = countrySelect.value;\n            const sqft = getSizeInSqFt();\n            if (sqft === null || sqft <= 0) {\n                aiperInlineError(wrapper, 'Veuillez entrer une surface de pelouse valide (sup\u00e9rieure \u00e0 0).');\n                sizeInput.focus();\n                return null;\n            }\n            const method = getSelectedMethod();\n            const add1 = addon1Checkbox.checked;\n            const add2 = addon2Checkbox.checked;\n\n            switch(country) {\n                case 'US': return calcUS(sqft, method, add1, add2);\n                case 'CA': return calcCA(sqft, method, add1, add2);\n                case 'UK': return calcUK(getSizeInSqm(), method, add1, add2);\n                case 'AU': return calcAU(getSizeInSqm(), method, add1, add2);\n                case 'DE': return calcDE(getSizeInSqm(), method, add1, add2);\n                case 'FR': return calcFR(getSizeInSqm(), method, add1, add2);\n                case 'ES': return calcES(getSizeInSqm(), method, add1, add2);\n                default: return calcUS(sqft, method, add1, add2);\n            }\n        }\n\n        function getBlogLink(country) {\n            if (country==='DE') return 'https:\/\/aiper.com\/blogs\/de\/wie-rasen-beluften\/';\n            if (country==='FR') return 'https:\/\/aiper.com\/blogs\/fr\/comment-aerer-sa-pelouse\/';\n            if (country==='ES') return 'https:\/\/aiper.com\/blogs\/es\/como-airear-el-cesped\/';\n            return 'https:\/\/aiper.com\/blogs\/how-to-aerate-lawn\/';\n        }\n        function getBlogText(country) {\n            if (country==='DE') return 'Wie Rasen bel\u00fcften? Mehr erfahren \u2192';\n            if (country==='FR') return 'Comment a\u00e9rer sa pelouse? En savoir plus \u2192';\n            if (country==='ES') return 'C\u00f3mo airear el c\u00e9sped? Leer la gu\u00eda \u2192';\n            return 'Learn How to Aerate Your Lawn \u2192';\n        }\n\n        function displayResults(r) {\n            if (!r) return;\n            const country = r.country;\n            let tableRows = `\n                <tr><td>${r.methodName}<\/td><td>${fmtRange(r.baseLow, r.baseHigh, country)}<\/td><td><strong>${fmtCur(r.baseAvg, country)}<\/strong><\/td><\/tr>`;\n            r.addonBreakdown.forEach(a => {\n                tableRows += `<tr><td>+ ${a.n}<\/td><td>${fmtCur(a.c, country)}<\/td><td>${fmtCur(a.c, country)}<\/td><\/tr>`;\n            });\n            if (r.minimumFee > 0) {\n                tableRows += `<tr><td>Frais minimum \/ Forfait<\/td><td>${fmtCur(r.minimumFee, country)}<\/td><td>${fmtCur(r.minimumFee, country)}<\/td><\/tr>`;\n            }\n            tableRows += `<tr class=\"lac-total-row\"><td><strong>\ud83d\udccb Fourchette totale estim\u00e9e<\/strong><\/td><td><strong>${fmtRange(r.low, r.high, country)}<\/strong><\/td><td><strong>${fmtCur(r.avg, country)}<\/strong><\/td><\/tr>`;\n\n            const html = `\n                <div class=\"lac-results-range\">\n                    <div class=\"lac-results-range-label\">Fourchette de co\u00fbt professionnel estim\u00e9e<\/div>\n                    <div class=\"lac-results-range-value\"><span>${fmtRange(r.low, r.high, country)}<\/span><\/div>\n                <\/div>\n                <div class=\"lac-results-average-wrap\">\n                    <div class=\"lac-results-average\">\ud83c\udfaf Prix de r\u00e9f\u00e9rence recommand\u00e9 : ${fmtCur(r.avg, country)}<\/div>\n                <\/div>\n                <div class=\"lac-table-wrap\">\n                    <table class=\"lac-table\">\n                        <thead><tr><th>Poste<\/th><th>Fourchette<\/th><th>Moyenne<\/th><\/tr><\/thead>\n                        <tbody>${tableRows}<\/tbody>\n                    <\/table>\n                <\/div>\n                <div class=\"lac-diy-card\">\n                    <h4>\ud83d\udee0\ufe0f Alternative DIY<\/h4>\n                    <p>${r.diyInfo}<\/p>\n                <\/div>\n                <div class=\"lac-local-note\">${r.localNote}<\/div>\n                <div class=\"lac-blog-link\">\n                    <a href=\"${getBlogLink(country)}\" target=\"_blank\" rel=\"noopener noreferrer\">\ud83d\udcd8 ${getBlogText(country)}<\/a>\n                <\/div>\n            `;\n            resultsPanel.innerHTML = html;\n            resultsPanel.style.display = 'block';\n            resultsPanel.scrollIntoView({ behavior: 'smooth', block: 'start' });\n        }\n\n        function resetForm() {\n            countrySelect.value = 'FR'; \/\/ R\u00e9initialisation par d\u00e9faut sur la France\n            updateCities();\n            updateUnitDefault();\n            updateAddonLabels();\n            updateMethodLabels();\n            sizeInput.value = '';\n            unitSelect.value = 'sqm';\n            updateSizeHint();\n            methodRadios[0].checked = true;\n            addon1Checkbox.checked = false;\n            addon2Checkbox.checked = false;\n            resultsPanel.innerHTML = '';\n            resultsPanel.style.display = 'none';\n            wrapper.scrollIntoView({ behavior: 'smooth', block: 'start' });\n        }\n\n        calcBtn.addEventListener('click', () => {\n            const res = calculate();\n            if (res) displayResults(res);\n        });\n        resetBtn.addEventListener('click', resetForm);\n        sizeInput.addEventListener('keydown', (e) => {\n            if (e.key === 'Enter') {\n                e.preventDefault();\n                const res = calculate();\n                if (res) displayResults(res);\n            }\n        });\n        sizeInput.addEventListener('input', function() { if (this.value < 0) this.value = ''; });\n        sizeInput.setAttribute('min', '1');\n\n        \/\/ Version fran\u00e7aise : d\u00e9finir la France comme pays par d\u00e9faut\n        countrySelect.value = 'FR';\n        updateCities();\n        updateUnitDefault();\n        updateAddonLabels();\n        updateMethodLabels();\n\n        console.log('\u2705 Calculateur de co\u00fbt d\\'a\u00e9ration de pelouse (version fran\u00e7aise) pr\u00eat.');\n    })();\n<\/script>\n\n\n<!-- aiper-tool-links -->\n<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-engrais-pelouse\/\" class=\"aiper-tl-tag\">Calculateur d'engrais pour pelouse<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/fr\/calculateur-cloture\/\" class=\"aiper-tl-tag\">Calculateur de mat\u00e9riaux de cl\u00f4ture<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/fr\/calculateur-de-pave\/\" class=\"aiper-tl-tag\">Calculateur de Pav\u00e9 Pr\u00e9cis<\/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\/comment-eloigner-bernaches-pelouse\/\" class=\"aiper-tl-tag\">Comment \u00e9loigner les bernaches de la pelouse<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/fr\/comment-eliminer-champignons-pelouse\/\" class=\"aiper-tl-tag\">Comment se d\u00e9barrasser des champignons dans la pelouse<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/fr\/defeutrer-pelouse-reconnaitre-traiter-feutre\/\" class=\"aiper-tl-tag\">D\u00e9feutrer sa pelouse : reconna\u00eetre et traiter le feutre<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/fr\/comment-eliminer-lierre-terrestre-pelouse\/\" class=\"aiper-tl-tag\">Comment se d\u00e9barrasser du lierre terrestre dans la pelouse<\/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>\ud83c\udf3f Calculateur de co\u00fbt d&#8217;a\u00e9ration de pelouse Estimez le co\u00fbt d&#8217;une a\u00e9ration professionnelle dans votre r\u00e9gion \u2013 avec alternatives DIY. \u00c9tape 1 \ud83d\udccd Votre localisation Pays \u00c9tats-UnisCanadaRoyaume-UniAustralieAllemagneFranceEspagne Ville \/ R\u00e9gion New YorkLos AngelesChicagoHoustonPhoenix \u00c9tape 2 \ud83d\udccf Surface de pelouse Superficie Unit\u00e9 Pieds carr\u00e9s (pi\u00b2)AcresM\u00e8tres carr\u00e9s (m\u00b2) \u00c9tape 3 \ud83d\udd27 M\u00e9thode d&#8217;a\u00e9ration A\u00e9ration par carottage (dents [&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":1,"aiper_last_reviewed":"","aiper_reviewer":0,"aiper_related_ids":[],"aiper_layout":"","footnotes":""},"class_list":["post-2198","page","type-page","status-publish","hentry"],"lang":"fr","translations":{"fr":2198,"en":2196,"es":2199,"de":2197},"_links":{"self":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/2198","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=2198"}],"version-history":[{"count":6,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/2198\/revisions"}],"predecessor-version":[{"id":12211,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/2198\/revisions\/12211"}],"wp:attachment":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/media?parent=2198"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}