{"id":37831,"date":"2026-03-10T00:33:50","date_gmt":"2026-03-10T00:33:50","guid":{"rendered":"https:\/\/alamal-immobilier.ma\/alamalimmo\/?page_id=37831"},"modified":"2026-03-10T00:56:53","modified_gmt":"2026-03-10T00:56:53","slug":"simulateur-rendement","status":"publish","type":"page","link":"https:\/\/alamal-immobilier.ma\/alamalimmo\/simulateur-rendement\/","title":{"rendered":"SIMULATEUR-Rendement- Phase de test"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">code 5 <\/h2>\n\n\n\n<div id=\"immo-expert-calc\" class=\"calc-container\">\n    <div class=\"calc-header\">\n        <h2>Simulateur Investisseur Pro (Maroc) \ud83c\udfd7\ufe0f<\/h2>\n        <p>Analyse de rendement &#038; Comparatif Quartier 2026<\/p>\n    <\/div>\n\n    <div class=\"calc-grid\">\n        <div class=\"calc-inputs\">\n            <h4 class=\"section-title\">1. Localisation &#038; Bien<\/h4>\n            <div class=\"input-group\">\n                <label>Quartier cible (Casablanca)<\/label>\n                <select id=\"ville_secteur\" onchange=\"calculerTout()\">\n                    <option value=\"maarif\">Maarif (Standard)<\/option>\n                    <option value=\"cfc\">CFC \/ Anfa (Premium)<\/option>\n                    <option value=\"palmier\">Palmier \/ Gauthier<\/option>\n                    <option value=\"beausejour\">Beaus\u00e9jour<\/option>\n                    <option value=\"princesses\">Les Princesses<\/option>\n                    <option value=\"maarif_ext\">Maarif Extension<\/option>\n                <\/select>\n            <\/div>\n            <div class=\"input-row\">\n                <div class=\"input-group\">\n                    <label>Prix d&rsquo;achat (MAD)<\/label>\n                    <input type=\"number\" id=\"prix\" value=\"1200000\" oninput=\"calculerTout()\">\n                <\/div>\n                <div class=\"input-group\">\n                    <label>Loyer mensuel (MAD)<\/label>\n                    <input type=\"number\" id=\"loyer\" value=\"6500\" oninput=\"calculerTout()\">\n                <\/div>\n            <\/div>\n\n            <h4 class=\"section-title\">2. Financement Bancaire<\/h4>\n            <div class=\"input-row\">\n                <div class=\"input-group\">\n                    <label>Apport (MAD)<\/label>\n                    <input type=\"number\" id=\"apport\" value=\"250000\" oninput=\"calculerTout()\">\n                <\/div>\n                <div class=\"input-group\">\n                    <label>Dur\u00e9e (Ans)<\/label>\n                    <input type=\"number\" id=\"duree\" value=\"20\" oninput=\"calculTout()\">\n                <\/div>\n            <\/div>\n            <div class=\"input-group\">\n                <label>Taux d&rsquo;int\u00e9r\u00eat (% HT)<\/label>\n                <input type=\"number\" id=\"taux\" value=\"4.75\" step=\"0.1\" oninput=\"calculerTout()\">\n            <\/div>\n\n            <h4 class=\"section-title\">3. Charges<\/h4>\n            <div class=\"input-row\">\n                <div class=\"input-group\">\n                    <label>Syndic\/Mois<\/label>\n                    <input type=\"number\" id=\"syndic\" value=\"400\" oninput=\"calculerTout()\">\n                <\/div>\n                <div class=\"input-group\">\n                    <label>Assurance\/Mois<\/label>\n                    <input type=\"number\" id=\"assurance\" value=\"150\" oninput=\"calculerTout()\">\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"calc-results\">\n            <div class=\"main-result\">\n                <span>Mensualit\u00e9 TTC<\/span>\n                <h2 id=\"res_mensualite\">0 MAD<\/h2>\n            <\/div>\n\n            <div class=\"stats-grid\">\n                <div class=\"stat-item\">\n                    <span>Rendement Net<\/span>\n                    <strong id=\"res_net\">0%<\/strong>\n                <\/div>\n                <div class=\"stat-item\">\n                    <span>Cash-Flow Net<\/span>\n                    <strong id=\"res_cashflow\">0 MAD<\/strong>\n                <\/div>\n            <\/div>\n\n            <div id=\"ia-box\" class=\"ia-status\">\n                <div style=\"font-size: 24px; margin-bottom: 5px;\" id=\"ia_emoji\">\ud83e\uddd0<\/div>\n                <div id=\"ia_text\">Analyse du march\u00e9 en cours&#8230;<\/div>\n            <\/div>\n\n            <div class=\"details-box\">\n                <p><strong>D\u00e9tails :<\/strong> Notaire: <span id=\"det_notaire\">0<\/span> MAD | Hypoth\u00e8que: <span id=\"det_hypo\">0<\/span> MAD<\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<style>\n:root { --p: #1a73e8; --s: #27ae60; --w: #f39c12; --d: #e74c3c; }\n.calc-container { background: white; border-radius: 12px; padding: 25px; max-width: 900px; margin: 20px auto; box-shadow: 0 5px 20px rgba(0,0,0,0.1); font-family: 'Segoe UI', sans-serif; }\n.calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }\n.section-title { color: var(--p); font-size: 13px; text-transform: uppercase; border-bottom: 1px solid #eee; padding-bottom: 5px; margin: 15px 0; }\n.input-row { display: flex; gap: 10px; }\n.input-group { flex: 1; margin-bottom: 12px; }\n.input-group label { display: block; font-size: 12px; font-weight: 600; margin-bottom: 4px; }\n.input-group input, .input-group select { width: 100%; padding: 8px; border: 1px solid #ddd; border-radius: 6px; }\n.main-result { background: var(--p); color: white; padding: 15px; border-radius: 10px; text-align: center; margin-bottom: 15px; }\n.stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }\n.stat-item { background: #f8f9fa; padding: 12px; border-radius: 8px; text-align: center; border: 1px solid #eee; }\n.stat-item strong { display: block; font-size: 18px; color: #222; }\n.ia-status { margin-top: 15px; padding: 15px; border-radius: 10px; text-align: center; background: #f0f7ff; border: 1px solid #d0e3ff; transition: 0.3s; font-size: 14px; }\n.details-box { font-size: 11px; color: #888; margin-top: 10px; text-align: center; }\n@media (max-width: 700px) { .calc-grid { grid-template-columns: 1fr; } }\n<\/style>\n\n<script>\n\/\/ Base de donn\u00e9es Quartiers 2026\nconst quartiersData = {\n    'maarif': { nom: \"Maarif\", ref: 7.0 },\n    'cfc': { nom: \"CFC \/ Anfa\", ref: 4.8 },\n    'palmier': { nom: \"Palmier \/ Gauthier\", ref: 10.8 },\n    'beausejour': { nom: \"Beaus\u00e9jour\", ref: 5.5 },\n    'princesses': { nom: \"Les Princesses\", ref: 3.2 },\n    'maarif_ext': { nom: \"Maarif Extension\", ref: 4.2 }\n};\n\nfunction calculerTout() {\n    \/\/ 1. R\u00e9cup\u00e9ration des donn\u00e9es\n    const prix = parseFloat(document.getElementById('prix').value) || 0;\n    const loyer = parseFloat(document.getElementById('loyer').value) || 0;\n    const apport = parseFloat(document.getElementById('apport').value) || 0;\n    const duree = parseFloat(document.getElementById('duree').value) || 0;\n    const tauxHT = (parseFloat(document.getElementById('taux').value) || 0) \/ 100;\n    const syndic = parseFloat(document.getElementById('syndic').value) || 0;\n    const assurance = parseFloat(document.getElementById('assurance').value) || 0;\n    const qKey = document.getElementById('ville_secteur').value;\n\n    \/\/ 2. Calculs Frais Notaire (7%) et Hypoth\u00e8que (1.5% du cr\u00e9dit)\n    const fraisNotaire = prix * 0.07;\n    const montantCredit = Math.max(0, prix - apport);\n    const fraisHypo = montantCredit * 0.015;\n\n    \/\/ 3. Calcul Mensualit\u00e9 (Formule Bancaire avec TVA 10% sur int\u00e9r\u00eats)\n    const tauxMensTTC = (tauxHT * 1.10) \/ 12;\n    const nbMois = duree * 12;\n    let mens = 0;\n    if (montantCredit > 0 && tauxMensTTC > 0) {\n        mens = (montantCredit * tauxMensTTC) \/ (1 - Math.pow(1 + tauxMensTTC, -nbMois));\n    }\n\n    \/\/ 4. Calcul Rentabilit\u00e9 Net & Cashflow\n    const taxeComm = (loyer * 12) * 0.105; \/\/ Taxe Services Communaux\n    const chargesTotalesMois = mens + syndic + assurance + (taxeComm \/ 12);\n    const cashFlow = loyer - chargesTotalesMois;\n    const rendementNet = (((loyer - syndic - (taxeComm \/ 12)) * 12) \/ (prix + fraisNotaire)) * 100;\n\n    \/\/ 5. Mise \u00e0 jour Interface\n    document.getElementById('res_mensualite').innerText = Math.round(mens).toLocaleString() + ' MAD';\n    document.getElementById('res_net').innerText = rendementNet.toFixed(2) + '%';\n    document.getElementById('res_cashflow').innerText = Math.round(cashFlow).toLocaleString() + ' MAD';\n    document.getElementById('det_notaire').innerText = Math.round(fraisNotaire).toLocaleString();\n    document.getElementById('det_hypo').innerText = Math.round(fraisHypo).toLocaleString();\n\n    \/\/ 6. Analyse IA Comparative\n    const infoSecteur = quartiersData[qKey];\n    const diff = rendementNet - infoSecteur.ref;\n    const box = document.getElementById('ia-box');\n    const txt = document.getElementById('ia_text');\n    const emoji = document.getElementById('ia_emoji');\n\n    if (diff > 1) {\n        box.style.borderColor = \"var(--s)\";\n        box.style.background = \"#e8f5e9\";\n        emoji.innerText = \"\ud83d\ude80\";\n        txt.innerHTML = `<strong>Top Performance !<\/strong> \u00c0 ${infoSecteur.nom}, la moyenne est de ${infoSecteur.ref}%. Votre projet sur-performe nettement.`;\n    } else if (diff >= -1) {\n        box.style.borderColor = \"var(--w)\";\n        box.style.background = \"#fff8e1\";\n        emoji.innerText = \"\u2705\";\n        txt.innerHTML = `<strong>Projet Coh\u00e9rent.<\/strong> Votre rendement est parfaitement align\u00e9 avec le march\u00e9 de ${infoSecteur.nom}.`;\n    } else {\n        box.style.borderColor = \"var(--d)\";\n        box.style.background = \"#ffebee\";\n        emoji.innerText = \"\u26a0\ufe0f\";\n        txt.innerHTML = `<strong>Alerte Rentabilit\u00e9.<\/strong> Pour ${infoSecteur.nom}, vous \u00eates sous la moyenne de ${infoSecteur.ref}%. N\u00e9gociez le prix !`;\n    }\n}\n\n\/\/ Lancement automatique\nwindow.onload = calculerTout;\n<\/script>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">code 4 corrig\u00e9 <\/h2>\n\n\n\n<div id=\"immo-expert-calc\" class=\"calc-container\">\n    <div class=\"calc-header\">\n        <h2>Simulateur Investisseur Pro (Maroc) \ud83c\udfd7\ufe0f<\/h2>\n        <p>Analyse de rendement avec levier bancaire<\/p>\n    <\/div>\n\n    <div class=\"calc-grid\">\n        <div class=\"calc-inputs\">\n            <h4 class=\"section-title\">1. Le Bien &#038; Localisation<\/h4>\n            \n            <div class=\"input-group\">\n                <label>Ville &#038; Quartier<\/label>\n                <select id=\"ville_secteur\" onchange=\"calculerGlobal()\">\n                    <option value=\"casa_maarif\">Casablanca (Maarif)<\/option>\n                    <option value=\"casa_cfc\">Casablanca (CFC)<\/option>\n                    <option value=\"casa_palmier\">Casablanca (Palmier)<\/option>\n                    <option value=\"casa_beausejour\">Casablanca (Beaus\u00e9jour)<\/option>\n                    <option value=\"casa_princesses\">Casablanca (Les Princesses)<\/option>\n                    <option value=\"casa_gauthier\">Casablanca (Gauthier)<\/option>\n                    <option value=\"casa_burger\">Casablanca (burger)<\/option>\n                    <option value=\"casa_maarifextension\">Casablanca (maarif extension )<\/option>  \n                    <option value=\"casa_bourgogne\">Casablanca (bourgogne)<\/option>            \n   <\/select>\n            <\/div>\n\n            <div class=\"input-row\">\n                <div class=\"input-group\">\n                    <label>Prix d&rsquo;achat (MAD)<\/label>\n                    <input type=\"number\" id=\"prix_achat\" value=\"1000000\" oninput=\"calculerGlobal()\">\n                <\/div>\n                <div class=\"input-group\">\n                    <label>Loyer mensuel (MAD)<\/label>\n                    <input type=\"number\" id=\"loyer_mensuel\" value=\"5500\" oninput=\"calculerGlobal()\">\n                <\/div>\n            <\/div>\n\n            <h4 class=\"section-title\">2. Financement Bancaire<\/h4>\n            <div class=\"input-row\">\n                <div class=\"input-group\">\n                    <label>Apport Personnel (MAD)<\/label>\n                    <input type=\"number\" id=\"apport\" value=\"200000\" oninput=\"calculerGlobal()\">\n                <\/div>\n                <div class=\"input-group\">\n                    <label>Dur\u00e9e (Ann\u00e9es)<\/label>\n                    <input type=\"number\" id=\"duree_ans\" value=\"20\" oninput=\"calculerGlobal()\">\n                <\/div>\n            <\/div>\n            <div class=\"input-group\">\n                <label>Taux d&rsquo;int\u00e9r\u00eat nominal (% HT)<\/label>\n                <input type=\"number\" id=\"taux_interet\" value=\"4.75\" step=\"0.1\" oninput=\"calculerGlobal()\">\n            <\/div>\n\n            <h4 class=\"section-title\">3. Charges &#038; Taxes<\/h4>\n            <div class=\"input-row\">\n                <div class=\"input-group\">\n                    <label>Syndic \/ Mois<\/label>\n                    <input type=\"number\" id=\"syndic\" value=\"300\" oninput=\"calculerGlobal()\">\n                <\/div>\n                <div class=\"input-group\">\n                    <label>Assurance \/ Mois<\/label>\n                    <input type=\"number\" id=\"assurance_mens\" value=\"150\" oninput=\"calculerGlobal()\">\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"calc-results\">\n            <div class=\"main-result\">\n                <span>Mensualit\u00e9 Cr\u00e9dit (TTC)<\/span>\n                <h2 id=\"res_mensualite\">0 MAD<\/h2>\n            <\/div>\n\n            <div class=\"stats-grid\">\n                <div class=\"stat-item\">\n                    <span>Rendement Net<\/span>\n                    <strong id=\"res_net\">0%<\/strong>\n                <\/div>\n                <div class=\"stat-item\">\n                    <span>Cash-Flow Mensuel<\/span>\n                    <strong id=\"res_cashflow\">0 MAD<\/strong>\n                <\/div>\n            <\/div>\n\n            <div id=\"ia-badge\" class=\"ia-status\" style=\"background: #f0f7ff; padding: 15px; border-radius: 10px; border: 1px solid #d0e3ff;\">\n                <span id=\"ia_emoji\">\ud83e\uddd0<\/span> \n                <div id=\"ia_text\" style=\"display:inline; margin-left: 10px;\">Analyse du march\u00e9 en cours&#8230;<\/div>\n            <\/div>\n\n            <div class=\"details-box\" style=\"margin-top:20px; font-size: 12px; color: #666;\">\n                <ul>\n                    <li>Frais notaire (7%): <span id=\"det_notaire\">0<\/span> MAD<\/li>\n                    <li>Hypoth\u00e8que (1.5%): <span id=\"det_hypo\">0<\/span> MAD<\/li>\n                <\/ul>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<style>\n:root { --primary: #0066cc; --secondary: #27ae60; --danger: #e74c3c; }\n.calc-container { background: white; border-radius: 15px; padding: 30px; max-width: 1000px; margin: auto; box-shadow: 0 10px 30px rgba(0,0,0,0.1); font-family: sans-serif; }\n.calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }\n.section-title { border-bottom: 2px solid #eee; padding-bottom: 5px; margin-top: 20px; color: var(--primary); font-size: 14px; text-transform: uppercase; }\n.input-row { display: flex; gap: 15px; }\n.input-group { flex: 1; margin-bottom: 15px; }\n.input-group label { display: block; font-size: 13px; font-weight: bold; margin-bottom: 5px; }\n.input-group input, .input-group select { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 8px; }\n.main-result { background: var(--primary); color: white; padding: 20px; border-radius: 12px; text-align: center; margin-bottom: 20px; }\n.stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 20px; }\n.stat-item { background: #f9f9f9; padding: 15px; border-radius: 10px; text-align: center; border: 1px solid #eee; }\n.ia-status { transition: all 0.3s ease; }\n.positive-cf { border-color: var(--secondary) !important; color: var(--secondary); }\n.negative-cf { border-color: var(--danger) !important; color: var(--danger); }\n@media (max-width: 768px) { .calc-grid { grid-template-columns: 1fr; } }\n<\/style>\n\n<script>\nconst marketData = {\n    'casa_maarif': { nom: \"Casablanca Maarif\", rendementRef: 6.0 },\n    'casa_cfc': { nom: \"Casablanca CFC\", rendementRef: 4.8 },\n    'casa_palmier': { nom: \"Casablanca Palmier\", rendementRef: 6.2 },\n    'casa_beausejour': { nom: \"Casablanca Beaus\u00e9jour\", rendementRef: 5.5 },\n    'casa_princesses': { nom: \"Casablanca Les Princesses\", rendementRef: 5.2 },\n    'casa_gauthier': { nom: \"Casablanca Gauthier\", rendementRef: 5.8 }\n    'casa_burger': { nom: \"Casablanca burger\", rendementRef: 5.8 }\n    'casa_maarifextension': { nom: \"Casablanca maarif extension \", rendementRef: 5.8 }\n    'casa_bourgogne': { nom: \"Casablanca bourgogne  \", rendementRef: 5.8 }\n\n};\n\nfunction calculerGlobal() {\n    const prix = parseFloat(document.getElementById('prix_achat').value) || 0;\n    const loyer = parseFloat(document.getElementById('loyer_mensuel').value) || 0;\n    const apport = parseFloat(document.getElementById('apport').value) || 0;\n    const duree = parseFloat(document.getElementById('duree_ans').value) || 0;\n    const tauxHT = (parseFloat(document.getElementById('taux_interet').value) || 0) \/ 100;\n    const syndic = parseFloat(document.getElementById('syndic').value) || 0;\n    const assurance = parseFloat(document.getElementById('assurance_mens').value) || 0;\n    const villeKey = document.getElementById('ville_secteur').value;\n\n    \/\/ Calculs financiers\n    const fraisNotaire = prix * 0.07;\n    const montantCredit = Math.max(0, prix - apport);\n    const fraisHypo = montantCredit * 0.015;\n    \n    const tauxTTC = (tauxHT * 1.10) \/ 12;\n    const nbMois = duree * 12;\n    let mensualite = (montantCredit > 0) ? (montantCredit * tauxTTC) \/ (1 - Math.pow(1 + tauxTTC, -nbMois)) : 0;\n\n    const tsc = (loyer * 12) * 0.105; \/\/ Taxe Services Communaux\n    const cashFlow = loyer - mensualite - syndic - assurance - (tsc\/12);\n    const rendementNet = (((loyer - syndic - (tsc\/12)) * 12) \/ (prix + fraisNotaire)) * 100;\n\n    \/\/ Affichage\n    document.getElementById('res_mensualite').innerText = Math.round(mensualite).toLocaleString() + ' MAD';\n    document.getElementById('res_net').innerText = rendementNet.toFixed(2) + '%';\n    document.getElementById('res_cashflow').innerText = Math.round(cashFlow).toLocaleString() + ' MAD';\n    document.getElementById('det_notaire').innerText = Math.round(fraisNotaire).toLocaleString();\n    document.getElementById('det_hypo').innerText = Math.round(fraisHypo).toLocaleString();\n\n    \/\/ Analyse IA\n    const dataSecteur = marketData[villeKey];\n    const diff = rendementNet - dataSecteur.rendementRef;\n    const iaTextElem = document.getElementById('ia_text');\n    const iaEmoji = document.getElementById('ia_emoji');\n\n    if (diff > 1) {\n        iaEmoji.innerText = \"\ud83d\ude80\";\n        iaTextElem.innerHTML = `<strong>Top Deal!<\/strong> Votre rendement \u00e0 ${dataSecteur.nom} est sup\u00e9rieur \u00e0 la moyenne (${dataSecteur.rendementRef}%).`;\n    } else if (diff >= -1) {\n        iaEmoji.innerText = \"\u2705\";\n        iaTextElem.innerHTML = `<strong>Coh\u00e9rent.<\/strong> Vous \u00eates dans les prix du march\u00e9 pour ${dataSecteur.nom}.`;\n    } else {\n        iaEmoji.innerText = \"\u26a0\ufe0f\";\n        iaTextElem.innerHTML = `<strong>Sous-performance.<\/strong> ${dataSecteur.nom} offre normalement un rendement de ${dataSecteur.rendementRef}%.`;\n    }\n}\n\n\/\/ Initialiser au chargement\nwindow.onload = calculerGlobal;\n<\/script>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">CODE 3<\/h2>\n\n\n\n<div id=\"immo-app-maroc\" class=\"app-container\">\n    <div class=\"app-header\">\n        <h2>Simulateur Immo IA Maroc \ud83c\uddf2\ud83c\udde6<\/h2>\n        <p>Analyse comparative en temps r\u00e9el &#8211; Donn\u00e9es 2026<\/p>\n    <\/div>\n\n    <div class=\"app-grid\">\n        <div class=\"app-sidebar\">\n            <h4 class=\"s-title\">\ud83d\udccd Localisation &#038; Type<\/h4>\n            <div class=\"input-group\">\n                <label>Ville &#038; Quartier<\/label>\n                <select id=\"ville_secteur\" onchange=\"calculerAnalyse()\">\n                    <option value=\"casa_moy\">Casablanca (Maarif\/Gauthier)<\/option>\n                    <option value=\"casa_premium\">Casablanca (CFC\/Anfa)<\/option>\n                    \n                <\/select>\n            <\/div>\n\n            <h4 class=\"s-title\">\ud83d\udcb0 Investissement<\/h4>\n            <div class=\"input-row\">\n                <div class=\"input-group\">\n                    <label>Prix d&rsquo;achat (MAD)<\/label>\n                    <input type=\"number\" id=\"prix\" value=\"1200000\" oninput=\"calculerAnalyse()\">\n                <\/div>\n                <div class=\"input-group\">\n                    <label>Loyer mensuel (MAD)<\/label>\n                    <input type=\"number\" id=\"loyer\" value=\"6500\" oninput=\"calculerAnalyse()\">\n                <\/div>\n            <\/div>\n\n            <h4 class=\"s-title\">\ud83c\udfe6 Financement<\/h4>\n            <div class=\"input-row\">\n                <div class=\"input-group\">\n                    <label>Apport (MAD)<\/label>\n                    <input type=\"number\" id=\"apport\" value=\"250000\" oninput=\"calculerAnalyse()\">\n                <\/div>\n                <div class=\"input-group\">\n                    <label>Taux Int\u00e9r\u00eat (%)<\/label>\n                    <input type=\"number\" id=\"taux\" value=\"4.75\" step=\"0.1\" oninput=\"calculerAnalyse()\">\n                <\/div>\n            <\/div>\n            <div class=\"input-group\">\n                <label>Dur\u00e9e du cr\u00e9dit (Ann\u00e9es)<\/label>\n                <input type=\"range\" id=\"duree\" min=\"5\" max=\"25\" value=\"20\" oninput=\"calculerAnalyse()\">\n                <span id=\"duree_val\">20 ans<\/span>\n            <\/div>\n        <\/div>\n\n        <div class=\"app-main\">\n            <div class=\"results-top\">\n                <div class=\"res-card\">\n                    <span class=\"res-label\">Rendement Net<\/span>\n                    <div class=\"res-value\" id=\"res_net\">0%<\/div>\n                <\/div>\n                <div class=\"res-card\">\n                    <span class=\"res-label\">Cash-Flow Net<\/span>\n                    <div class=\"res-value\" id=\"res_cf\">0 MAD<\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"ia-report\">\n                <div class=\"ia-header\">\n                    <span class=\"ia-icon\">\ud83e\udd16<\/span>\n                    <strong>Analyse Comparative de l&rsquo;IA<\/strong>\n                <\/div>\n                <div id=\"ia_feedback_text\" class=\"ia-content\">\n                    Veuillez ajuster les donn\u00e9es pour lancer l&rsquo;analyse&#8230;\n                <\/div>\n            <\/div>\n\n            <div class=\"market-chart\">\n                <p style=\"font-size: 12px; color: #666; margin-bottom: 5px;\">Positionnement par rapport au march\u00e9 local :<\/p>\n                <div class=\"gauge-bg\">\n                    <div id=\"gauge_pointer\" class=\"gauge-fill\"><\/div>\n                <\/div>\n                <div class=\"gauge-labels\">\n                    <span>Sous-perf<\/span>\n                    <span>March\u00e9<\/span>\n                    <span>Excellente<\/span>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<style>\n:root { --p: #1a73e8; --s: #34a853; --w: #fbbc05; --d: #ea4335; }\n.app-container { background: #f8f9fa; border-radius: 15px; padding: 25px; max-width: 950px; margin: auto; font-family: 'Inter', sans-serif; border: 1px solid #ddd; }\n.app-header { text-align: center; margin-bottom: 25px; }\n.app-grid { display: grid; grid-template-columns: 350px 1fr; gap: 25px; }\n.app-sidebar { background: white; padding: 20px; border-radius: 12px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); }\n.s-title { font-size: 13px; color: var(--p); text-transform: uppercase; margin: 15px 0 10px; border-bottom: 1px solid #eee; }\n.input-group { margin-bottom: 15px; }\n.input-group label { display: block; font-size: 12px; font-weight: 600; margin-bottom: 5px; }\n.input-group input, .input-group select { width: 100%; padding: 8px; border: 1px solid #ddd; border-radius: 6px; }\n.input-row { display: flex; gap: 10px; }\n.results-top { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 20px; }\n.res-card { background: white; padding: 15px; border-radius: 12px; text-align: center; border-bottom: 4px solid var(--p); }\n.res-label { font-size: 12px; color: #666; }\n.res-value { font-size: 22px; font-weight: 800; color: #222; margin-top: 5px; }\n.ia-report { background: #eff6ff; border-left: 5px solid var(--p); padding: 20px; border-radius: 8px; margin-bottom: 20px; }\n.ia-header { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; color: var(--p); }\n.ia-content { font-size: 14px; line-height: 1.5; color: #333; }\n.gauge-bg { height: 12px; background: #ddd; border-radius: 10px; margin-top: 10px; overflow: hidden; position: relative; }\n.gauge-fill { height: 100%; width: 50%; background: linear-gradient(90deg, var(--d), var(--w), var(--s)); transition: width 0.5s; }\n.gauge-labels { display: flex; justify-content: space-between; font-size: 10px; margin-top: 5px; color: #888; }\n@media (max-width: 768px) { .app-grid { grid-template-columns: 1fr; } }\n<\/style>\n\n<script>\nconst marketStats = {\n    'casa_moy': { ref: 6.0, name: \"Casablanca Maarif\" },\n    'casa_premium': { ref: 4.8, name: \"CFC \/ Anfa\" },\n    'kech_tourisme': { ref: 8.5, name: \"Marrakech Gu\u00e9liz\" },\n    'tanger_centre': { ref: 7.8, name: \"Tanger Centre\" },\n    'rabat_premium': { ref: 4.5, name: \"Rabat Agdal\" }\n};\n\nfunction calculerAnalyse() {\n    \/\/ Inputs\n    const prix = parseFloat(document.getElementById('prix').value) || 0;\n    const loyer = parseFloat(document.getElementById('loyer').value) || 0;\n    const apport = parseFloat(document.getElementById('apport').value) || 0;\n    const taux = parseFloat(document.getElementById('taux').value) || 0;\n    const duree = parseInt(document.getElementById('duree').value);\n    const villeKey = document.getElementById('ville_secteur').value;\n    \n    document.getElementById('duree_val').innerText = duree + \" ans\";\n\n    \/\/ 1. Frais et Cr\u00e9dit\n    const fraisAcq = prix * 0.07;\n    const montantPret = Math.max(0, prix - apport);\n    const tauxMensuel = (taux * 1.10) \/ 12 \/ 100; \/\/ Inclus TVA 10%\n    const nbMois = duree * 12;\n    \n    let mensualite = 0;\n    if(montantPret > 0) {\n        mensualite = (montantPret * tauxMensuel) \/ (1 - Math.pow(1 + tauxMensuel, -nbMois));\n    }\n\n    \/\/ 2. Rendement et Cashflow\n    const taxeComm = (loyer * 12) * 0.105;\n    const chargesMens = 400 + (taxeComm \/ 12); \/\/ Syndic moyen + Taxe\n    const rendementNet = (((loyer * 12) - (chargesMens * 12)) \/ (prix + fraisAcq)) * 100;\n    const cashFlow = loyer - mensualite - chargesMens;\n\n    \/\/ 3. Affichage\n    document.getElementById('res_net').innerText = rendementNet.toFixed(2) + \" %\";\n    document.getElementById('res_cf').innerText = Math.round(cashFlow).toLocaleString() + \" MAD\";\n    \n    \/\/ 4. Analyse IA Comparative\n    const secteur = marketStats[villeKey];\n    const diff = rendementNet - secteur.ref;\n    let feedback = \"\";\n    let gaugeWidth = 50 + (diff * 10); \/\/ Ajuste la jauge\n    gaugeWidth = Math.min(Math.max(gaugeWidth, 10), 100);\n\n    if (diff > 1.5) {\n        feedback = `L'IA confirme : Ce bien \u00e0 <strong>${secteur.name}<\/strong> est une p\u00e9pite. Votre rendement net (${rendementNet.toFixed(1)}%) d\u00e9passe la moyenne locale de ${secteur.ref}%. Id\u00e9al pour un investissement agressif.`;\n    } else if (diff > -0.5) {\n        feedback = `Projet \u00e9quilibr\u00e9 sur <strong>${secteur.name}<\/strong>. Vous \u00eates parfaitement align\u00e9 avec les tendances du march\u00e9 2026. Le cash-flow de ${Math.round(cashFlow)} MAD assure une s\u00e9curit\u00e9 financi\u00e8re.`;\n    } else {\n        feedback = `Analyse de vigilance : Le secteur de <strong>${secteur.name}<\/strong> offre normalement de meilleurs rendements. V\u00e9rifiez si vous pouvez n\u00e9gocier le prix d'achat ou optimiser les charges.`;\n    }\n\n    document.getElementById('ia_feedback_text').innerHTML = feedback;\n    document.getElementById('gauge_pointer').style.width = gaugeWidth + \"%\";\n}\n\nwindow.onload = calculerAnalyse;\n<\/script>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2 EME CODE <\/h2>\n\n\n\n<div id=\"immo-expert-calc\" class=\"calc-container\">\n    <div class=\"calc-header\">\n        <h2>Simulateur Investisseur Pro (Maroc) \ud83c\udfd7\ufe0f<\/h2>\n        <p>Analyse de rendement avec levier bancaire<\/p>\n    <\/div>\n\n    <div class=\"calc-grid\">\n        <div class=\"calc-inputs\">\n            <h4 class=\"section-title\">1. Le Bien<\/h4>\n            <div class=\"input-row\">\n                <div class=\"input-group\">\n                    <label>Prix d&rsquo;achat (MAD)<\/label>\n                    <input type=\"number\" id=\"prix_achat\" value=\"1000000\" oninput=\"calculerGlobal()\">\n                <\/div>\n                <div class=\"input-group\">\n                    <label>Loyer mensuel (MAD)<\/label>\n                    <input type=\"number\" id=\"loyer_mensuel\" value=\"5500\" oninput=\"calculerGlobal()\">\n                <\/div>\n            <\/div>\n\n            <h4 class=\"section-title\">2. Financement Bancaire<\/h4>\n            <div class=\"input-row\">\n                <div class=\"input-group\">\n                    <label>Apport Personnel (MAD)<\/label>\n                    <input type=\"number\" id=\"apport\" value=\"200000\" oninput=\"calculerGlobal()\">\n                <\/div>\n                <div class=\"input-group\">\n                    <label>Dur\u00e9e (Ann\u00e9es)<\/label>\n                    <input type=\"number\" id=\"duree_ans\" value=\"20\" oninput=\"calculerGlobal()\">\n                <\/div>\n            <\/div>\n            <div class=\"input-group\">\n                <label>Tauto d&rsquo;int\u00e9r\u00eat nominal (% HT)<\/label>\n                <input type=\"number\" id=\"taux_interet\" value=\"4.75\" step=\"0.1\" oninput=\"calculerGlobal()\">\n            <\/div>\n\n            <h4 class=\"section-title\">3. Charges &#038; Taxes<\/h4>\n            <div class=\"input-row\">\n                <div class=\"input-group\">\n                    <label>Syndic \/ Mois<\/label>\n                    <input type=\"number\" id=\"syndic\" value=\"300\" oninput=\"calculerGlobal()\">\n                <\/div>\n                <div class=\"input-group\">\n                    <label>Assurance Emprunteur \/ Mois<\/label>\n                    <input type=\"number\" id=\"assurance_mens\" value=\"150\" oninput=\"calculerGlobal()\">\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"calc-results\">\n            <div class=\"main-result\">\n                <span>Mensualit\u00e9 Cr\u00e9dit (TTC)<\/span>\n                <h2 id=\"res_mensualite\">0 MAD<\/h2>\n            <\/div>\n\n            <div class=\"stats-grid\">\n                <div class=\"stat-item\">\n                    <span>Rendement Net<\/span>\n                    <strong id=\"res_net\">0%<\/strong>\n                <\/div>\n                <div class=\"stat-item\">\n                    <span>Cash-Flow Mensuel<\/span>\n                    <strong id=\"res_cashflow\" class=\"\">0 MAD<\/strong>\n                <\/div>\n            <\/div>\n\n            <div class=\"details-box\">\n                <h5>D\u00e9tails de l&rsquo;acquisition :<\/h5>\n                <ul>\n                    <li>Frais de notaire (est.): <span id=\"det_notaire\">0<\/span> MAD<\/li>\n                    <li>Frais d&rsquo;hypoth\u00e8que (1.5%): <span id=\"det_hypo\">0<\/span> MAD<\/li>\n                    <li>Montant du cr\u00e9dit: <span id=\"det_credit\">0<\/span> MAD<\/li>\n                <\/ul>\n            <\/div>\n\n            <div id=\"ia-badge\" class=\"ia-status\">\n                <span id=\"ia_emoji\">\ud83e\uddd0<\/span> <span id=\"ia_text\">Analyse en cours&#8230;<\/span>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<style>\n:root { --primary: #0066cc; --secondary: #27ae60; --danger: #e74c3c; --bg: #f4f7f6; }\n.calc-container { background: white; border-radius: 15px; padding: 30px; max-width: 1000px; margin: auto; box-shadow: 0 10px 30px rgba(0,0,0,0.1); font-family: sans-serif; }\n.section-title { border-bottom: 2px solid #eee; padding-bottom: 5px; margin-top: 20px; color: var(--primary); font-size: 14px; text-transform: uppercase; }\n.calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }\n.input-row { display: flex; gap: 15px; }\n.input-group { flex: 1; margin-bottom: 15px; }\n.input-group label { display: block; font-size: 13px; margin-bottom: 5px; color: #666; }\n.input-group input { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 8px; font-size: 15px; }\n.main-result { background: var(--primary); color: white; padding: 20px; border-radius: 12px; text-align: center; margin-bottom: 20px; }\n.stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 20px; }\n.stat-item { background: #f9f9f9; padding: 15px; border-radius: 10px; text-align: center; border: 1px solid #eee; }\n.stat-item strong { display: block; font-size: 20px; color: #333; }\n.details-box { background: #fffdf0; padding: 15px; border-radius: 10px; font-size: 13px; line-height: 1.6; }\n.details-box ul { list-style: none; padding: 0; margin: 0; }\n.ia-status { margin-top: 20px; padding: 15px; border-radius: 10px; font-weight: bold; text-align: center; transition: all 0.3s; }\n.positive-cf { color: var(--secondary); border: 2px solid var(--secondary); }\n.negative-cf { color: var(--danger); border: 2px solid var(--danger); }\n@media (max-width: 768px) { .calc-grid { grid-template-columns: 1fr; } }\n<\/style>\n\n<script>\nfunction calculerGlobal() {\n   \/\/ Donn\u00e9es de r\u00e9f\u00e9rence March\u00e9 2026\nconst marketData = {\n    'casa_moy': { nom: \"Casablanca Maarif\", rendementRef: 6.0 },\n    'casa_premium': { nom: \"CFC\/Anfa\", rendementRef: 4.8 },\n    'kech_tourisme': { nom: \"Marrakech Gu\u00e9liz\", rendementRef: 8.5 },\n    'tanger_centre': { nom: \"Tanger Centre\", rendementRef: 7.8 },\n    'rabat_premium': { nom: \"Rabat Hay Riad\", rendementRef: 4.5 }\n};\n\nfunction genererAnalyseIA(rendementNet, villeKey) {\n    const data = marketData[villeKey];\n    const diff = rendementNet - data.rendementRef;\n    let analyse = \"\";\n\n    if (diff > 1.5) {\n        analyse = `\ud83d\ude80 <strong>Exceptionnel !<\/strong> Votre projet \u00e0 ${data.nom} affiche un rendement sup\u00e9rieur de ${diff.toFixed(1)}% \u00e0 la moyenne du secteur. V\u00e9rifiez bien si le loyer est r\u00e9aliste.`;\n    } else if (diff >= -0.5 && diff <= 1.5) {\n        analyse = `\u2705 <strong>Conforme au march\u00e9.<\/strong> Vous \u00eates pile dans les prix de ${data.nom}. C'est un investissement s\u00e9curis\u00e9 avec une valeur locative stable.`;\n    } else {\n        analyse = `\u26a0\ufe0f <strong>Sous-performance.<\/strong> Le march\u00e9 \u00e0 ${data.nom} offre g\u00e9n\u00e9ralement du ${data.rendementRef}%. Votre prix d'achat est peut-\u00eatre trop \u00e9lev\u00e9 pour ce quartier.`;\n    }\n\n    return analyse;\n}\ncalculerGlobal();\n\n\n\n<div id=\"immo-expert-calc\" class=\"calc-container\">\n    <div class=\"calc-header\">\n        <h2>Simulateur Investisseur Pro (Maroc) \ud83c\udfd7\ufe0f<\/h2>\n        <p>Analyse de rendement avec levier bancaire<\/p>\n    <\/div>\n\n    <div class=\"calc-grid\">\n        <div class=\"calc-inputs\">\n            <h4 class=\"section-title\">1. Le Bien<\/h4>\n            <div class=\"input-row\">\n                <div class=\"input-group\">\n                    <label>Prix d'achat (MAD)<\/label>\n                    <input type=\"number\" id=\"prix_achat\" value=\"1000000\" oninput=\"calculerGlobal()\">\n                <\/div>\n                <div class=\"input-group\">\n                    <label>Loyer mensuel (MAD)<\/label>\n                    <input type=\"number\" id=\"loyer_mensuel\" value=\"5500\" oninput=\"calculerGlobal()\">\n                <\/div>\n            <\/div>\n\n            <h4 class=\"section-title\">2. Financement Bancaire<\/h4>\n            <div class=\"input-row\">\n                <div class=\"input-group\">\n                    <label>Apport Personnel (MAD)<\/label>\n                    <input type=\"number\" id=\"apport\" value=\"200000\" oninput=\"calculerGlobal()\">\n                <\/div>\n                <div class=\"input-group\">\n                    <label>Dur\u00e9e (Ann\u00e9es)<\/label>\n                    <input type=\"number\" id=\"duree_ans\" value=\"20\" oninput=\"calculerGlobal()\">\n                <\/div>\n            <\/div>\n            <div class=\"input-group\">\n                <label>Tauto d'int\u00e9r\u00eat nominal (% HT)<\/label>\n                <input type=\"number\" id=\"taux_interet\" value=\"4.75\" step=\"0.1\" oninput=\"calculerGlobal()\">\n            <\/div>\n\n            <h4 class=\"section-title\">3. Charges & Taxes<\/h4>\n            <div class=\"input-row\">\n                <div class=\"input-group\">\n                    <label>Syndic \/ Mois<\/label>\n                    <input type=\"number\" id=\"syndic\" value=\"300\" oninput=\"calculerGlobal()\">\n                <\/div>\n                <div class=\"input-group\">\n                    <label>Assurance Emprunteur \/ Mois<\/label>\n                    <input type=\"number\" id=\"assurance_mens\" value=\"150\" oninput=\"calculerGlobal()\">\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"calc-results\">\n            <div class=\"main-result\">\n                <span>Mensualit\u00e9 Cr\u00e9dit (TTC)<\/span>\n                <h2 id=\"res_mensualite\">0 MAD<\/h2>\n            <\/div>\n\n            <div class=\"stats-grid\">\n                <div class=\"stat-item\">\n                    <span>Rendement Net<\/span>\n                    <strong id=\"res_net\">0%<\/strong>\n                <\/div>\n                <div class=\"stat-item\">\n                    <span>Cash-Flow Mensuel<\/span>\n                    <strong id=\"res_cashflow\" class=\"\">0 MAD<\/strong>\n                <\/div>\n            <\/div>\n\n            <div class=\"details-box\">\n                <h5>D\u00e9tails de l'acquisition :<\/h5>\n                <ul>\n                    <li>Frais de notaire (est.): <span id=\"det_notaire\">0<\/span> MAD<\/li>\n                    <li>Frais d'hypoth\u00e8que (1.5%): <span id=\"det_hypo\">0<\/span> MAD<\/li>\n                    <li>Montant du cr\u00e9dit: <span id=\"det_credit\">0<\/span> MAD<\/li>\n                <\/ul>\n            <\/div>\n\n            <div id=\"ia-badge\" class=\"ia-status\">\n                <span id=\"ia_emoji\">\ud83e\uddd0<\/span> <span id=\"ia_text\">Analyse en cours...<\/span>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<style>\n:root { --primary: #0066cc; --secondary: #27ae60; --danger: #e74c3c; --bg: #f4f7f6; }\n.calc-container { background: white; border-radius: 15px; padding: 30px; max-width: 1000px; margin: auto; box-shadow: 0 10px 30px rgba(0,0,0,0.1); font-family: sans-serif; }\n.section-title { border-bottom: 2px solid #eee; padding-bottom: 5px; margin-top: 20px; color: var(--primary); font-size: 14px; text-transform: uppercase; }\n.calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }\n.input-row { display: flex; gap: 15px; }\n.input-group { flex: 1; margin-bottom: 15px; }\n.input-group label { display: block; font-size: 13px; margin-bottom: 5px; color: #666; }\n.input-group input { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 8px; font-size: 15px; }\n.main-result { background: var(--primary); color: white; padding: 20px; border-radius: 12px; text-align: center; margin-bottom: 20px; }\n.stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 20px; }\n.stat-item { background: #f9f9f9; padding: 15px; border-radius: 10px; text-align: center; border: 1px solid #eee; }\n.stat-item strong { display: block; font-size: 20px; color: #333; }\n.details-box { background: #fffdf0; padding: 15px; border-radius: 10px; font-size: 13px; line-height: 1.6; }\n.details-box ul { list-style: none; padding: 0; margin: 0; }\n.ia-status { margin-top: 20px; padding: 15px; border-radius: 10px; font-weight: bold; text-align: center; transition: all 0.3s; }\n.positive-cf { color: var(--secondary); border: 2px solid var(--secondary); }\n.negative-cf { color: var(--danger); border: 2px solid var(--danger); }\n@media (max-width: 768px) { .calc-grid { grid-template-columns: 1fr; } }\n<\/style>\n\n<script>\nfunction calculerGlobal() {\n\n    \/\/ 1. R\u00e9cup\u00e9ration des donn\u00e9es\n    const prix = parseFloat(document.getElementById('prix_achat').value) || 0;\n    const apport = parseFloat(document.getElementById('apport').value) || 0;\n    const loyer = parseFloat(document.getElementById('loyer_mensuel').value) || 0;\n    const duree = parseFloat(document.getElementById('duree_ans').value) || 0;\n    const tauxHT = (parseFloat(document.getElementById('taux_interet').value) || 0) \/ 100;\n    const syndic = parseFloat(document.getElementById('syndic').value) || 0;\n    const assuranceEmprunteur = parseFloat(document.getElementById('assurance_mens').value) || 0;\n\n    \/\/ 2. Frais d'acquisition Maroc\n    const fraisNotaire = prix * 0.07;\n    const montantCredit = Math.max(0, prix - apport);\n    const fraisHypotheque = montantCredit * 0.015;\n    const investissementInitial = apport + fraisNotaire + fraisHypotheque;\n\n    \/\/ 3. Calcul Mensualit\u00e9 Cr\u00e9dit (Formule standard avec TVA 10% sur int\u00e9r\u00eats)\n    const tauxMensuelTTC = (tauxHT * 1.10) \/ 12;\n    const nombreMois = duree * 12;\n    let mensualite = 0;\n    \n    if (montantCredit > 0 && tauxMensuelTTC > 0) {\n        mensualite = (montantCredit * tauxMensuelTTC) \/ (1 - Math.pow(1 + tauxMensuelTTC, -nombreMois));\n    } else if (montantCredit > 0) {\n        mensualite = montantCredit \/ nombreMois;\n    }\n\n    \/\/ 4. Rentabilit\u00e9 et Cashflow\n    const taxeServicesCommunaux = (loyer * 12) * 0.105;\n    const totalChargesMensuelles = mensualite + syndic + assuranceEmprunteur + (taxeServicesCommunaux \/ 12);\n    const cashFlow = loyer - totalChargesMensuelles;\n    \n    \/\/ Rendement net sur investissement total (Levier inclus)\n    const rendementNet = (( (loyer - syndic - (taxeServicesCommunaux\/12)) * 12) \/ (prix + fraisNotaire)) * 100;\n\n    \/\/ 5. Mise \u00e0 jour Interface\n    document.getElementById('res_mensualite').innerText = Math.round(mensualite).toLocaleString() + ' MAD';\n    document.getElementById('res_net').innerText = rendementNet.toFixed(2) + '%';\n    \n    const cfElem = document.getElementById('res_cashflow');\n    cfElem.innerText = Math.round(cashFlow).toLocaleString() + ' MAD';\n    \n    document.getElementById('det_notaire').innerText = Math.round(fraisNotaire).toLocaleString();\n    document.getElementById('det_hypo').innerText = Math.round(fraisHypotheque).toLocaleString();\n    document.getElementById('det_credit').innerText = Math.round(montantCredit).toLocaleString();\n\n    \/\/ 6. Logique IA \/ Feedback\n    const iaBox = document.getElementById('ia-badge');\n    const iaText = document.getElementById('ia_text');\n    const iaEmoji = document.getElementById('ia_emoji');\n\n    if (cashFlow > 1000) {\n        iaBox.className = \"ia-status positive-cf\";\n        iaText.innerText = \"Excellent ! Le bien s'autofinance et g\u00e9n\u00e8re un surplus.\";\n        iaEmoji.innerText = \"\ud83d\udcb0\";\n    } else if (cashFlow > -500 && cashFlow <= 1000) {\n        iaBox.className = \"ia-status\";\n        iaBox.style.color = \"#ffa000\";\n        iaText.innerText = \"\u00c9quilibr\u00e9. L'effort d'\u00e9pargne est minime. Bon pour du long terme.\";\n        iaEmoji.innerText = \"\u2696\ufe0f\";\n    } else {\n        iaBox.className = \"ia-status negative-cf\";\n        iaText.innerText = \"Attention : Cash-flow n\u00e9gatif important. Revoyez l'apport ou le prix.\";\n        iaEmoji.innerText = \"\u26a0\ufe0f\";\n    }\n}\n\n\/\/ Initialisation\ncalculerGlobal();\n\/\/ Donn\u00e9es de r\u00e9f\u00e9rence March\u00e9 2026\nconst marketData = {\n    'casa_moy': { nom: \"Casablanca Maarif\", rendementRef: 6.0 },\n    'casa_premium': { nom: \"casablanca Cfc\", rendementRef: 4.8 },\n    'casa_moy': { nom: \"Casablanca palmier\", rendementRef: 6.0 },\n    'casa_premium': { nom: \"casablanca beausejour \", rendementRef: 4.8 },\n'casa_moy': { nom: \"Casablanca burger\", rendementRef: 6.0 },\n    'casa_premium': { nom: \"casablanca les princesses\", rendementRef: 4.8 },\n'casa_moy': { nom: \"Casablanca gauthier\", rendementRef: 6.0 },\n    'casa_premium': { nom: \"casablanca maarif extension \", rendementRef: 4.8 },\n\n};\n\nfunction genererAnalyseIA(rendementNet, villeKey) {\n    const data = marketData[villeKey];\n    const diff = rendementNet - data.rendementRef;\n    let analyse = \"\";\n\n    if (diff > 1.5) {\n        analyse = `\ud83d\ude80 <strong>Exceptionnel !<\/strong> Votre projet \u00e0 ${data.nom} affiche un rendement sup\u00e9rieur de ${diff.toFixed(1)}% \u00e0 la moyenne du secteur. V\u00e9rifiez bien si le loyer est r\u00e9aliste.`;\n    } else if (diff >= -0.5 && diff <= 1.5) {\n        analyse = `\u2705 <strong>Conforme au march\u00e9.<\/strong> Vous \u00eates pile dans les prix de ${data.nom}. C'est un investissement s\u00e9curis\u00e9 avec une valeur locative stable.`;\n    } else {\n        analyse = `\u26a0\ufe0f <strong>Sous-performance.<\/strong> Le march\u00e9 \u00e0 ${data.nom} offre g\u00e9n\u00e9ralement du ${data.rendementRef}%. Votre prix d'achat est peut-\u00eatre trop \u00e9lev\u00e9 pour ce quartier.`;\n    }\n\n    return analyse;\n}\n<\/script>\n<div class=\"input-group\">\n    <label>Ville & Secteur<\/label>\n    <select id=\"ville_secteur\" onchange=\"calculerGlobal()\">\n        <option value=\"casa_moy\">Casablanca (casablanca maarif )<\/option>\n        <option value=\"casa_premium\">Casablanca (casablanca Cfc)<\/option>\n         <option value=\"casa_moy\">Casablanca (palmier)<\/option>\n        <option value=\"casa_premium\">Casablanca (beausejour )<\/option>\n <option value=\"casa_moy\">Casablanca (burger )<\/option>\n        <option value=\"casa_premium\">Casablanca (les princesses )<\/option>\n <option value=\"casa_moy\">Casablanca (gauthier )<\/option>\n        <option value=\"casa_premium\">Casablanca (maarif extension )<\/option>\n    <\/select>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">1 ER CODE <\/h2>\n\n\n\n<div id=\"immo-calculator\" class=\"calc-container\">\n    <div class=\"calc-header\">\n        <h2>Simulateur de Rendement Immo Maroc \ud83c\uddf2\ud83c\udde6<\/h2>\n        <p>Calculez votre rentabilit\u00e9 nette et cash-flow en un clic.<\/p>\n    <\/div>\n\n    <div class=\"calc-grid\">\n        <div class=\"calc-inputs\">\n            <div class=\"input-group\">\n                <label>Prix d'achat (MAD)<\/label>\n                <input type=\"number\" id=\"prix_achat\" value=\"1200000\" oninput=\"calculerRendement()\">\n            <\/div>\n            <div class=\"input-group\">\n                <label>Loyer mensuel estim\u00e9 (MAD)<\/label>\n                <input type=\"number\" id=\"loyer_mensuel\" value=\"6500\" oninput=\"calculerRendement()\">\n            <\/div>\n            <div class=\"input-group\">\n                <label>Travaux de r\u00e9novation (MAD)<\/label>\n                <input type=\"number\" id=\"travaux\" value=\"0\" oninput=\"calculerRendement()\">\n            <\/div>\n            <div class=\"input-group\">\n                <label>Charges Syndic \/ Mois (MAD)<\/label>\n                <input type=\"number\" id=\"charges\" value=\"300\" oninput=\"calculerRendement()\">\n            <\/div>\n            <div class=\"input-group\">\n                <label>Frais de Notaire & Enreg. (%)<\/label>\n                <input type=\"number\" id=\"notaire_pc\" value=\"7\" oninput=\"calculerRendement()\">\n            <\/div>\n        <\/div>\n\n        <div class=\"calc-results\">\n            <div class=\"result-card\">\n                <span>Rendement Brut<\/span>\n                <h3 id=\"res_brut\">0%<\/h3>\n            <\/div>\n            <div class=\"result-card highlight\">\n                <span>Rendement Net (Cible)<\/span>\n                <h3 id=\"res_net\">0%<\/h3>\n            <\/div>\n            <div class=\"result-card\">\n                <span>Cash-Flow Mensuel<\/span>\n                <h3 id=\"res_cashflow\">0 MAD<\/h3>\n            <\/div>\n            \n            <div id=\"ia-feedback\" class=\"ia-box\">\n                <strong>\ud83d\udca1 Analyse IA :<\/strong>\n                <p id=\"ia_text\">Entrez vos chiffres pour obtenir une analyse du march\u00e9.<\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<style>\n.calc-container {\n    background: #ffffff;\n    border: 1px solid #e1e8ed;\n    border-radius: 12px;\n    padding: 25px;\n    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n    max-width: 900px;\n    margin: 20px auto;\n    box-shadow: 0 4px 15px rgba(0,0,0,0.05);\n}\n.calc-header { text-align: center; margin-bottom: 30px; }\n.calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }\n.input-group { margin-bottom: 15px; }\n.input-group label { display: block; font-weight: 600; margin-bottom: 5px; color: #333; }\n.input-group input { \n    width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 6px; font-size: 16px; \n}\n.result-card { \n    background: #f8f9fa; padding: 15px; border-radius: 8px; margin-bottom: 15px; text-align: center;\n}\n.highlight { background: #e3f2fd; border: 1px solid #2196f3; }\n.result-card h3 { margin: 10px 0 0 0; color: #1a73e8; font-size: 24px; }\n.ia-box { \n    background: #fff4e5; border-left: 4px solid #ffa000; padding: 15px; border-radius: 4px; font-size: 14px;\n}\n@media (max-width: 600px) { .calc-grid { grid-template-columns: 1fr; } }\n<\/style>\n\n<script>\nfunction calculerRendement() {\n    \/\/ R\u00e9cup\u00e9ration des valeurs\n    const prix = parseFloat(document.getElementById('prix_achat').value) || 0;\n    const loyer = parseFloat(document.getElementById('loyer_mensuel').value) || 0;\n    const travaux = parseFloat(document.getElementById('travaux').value) || 0;\n    const chargesMensuelles = parseFloat(document.getElementById('charges').value) || 0;\n    const tauxNotaire = (parseFloat(document.getElementById('notaire_pc').value) || 0) \/ 100;\n\n    if (prix > 0) {\n        \/\/ 1. Calculs de base\n        const fraisNotaire = prix * tauxNotaire;\n        const investissementTotal = prix + travaux + fraisNotaire;\n        const loyerAnnuel = loyer * 12;\n        \n        \/\/ Rendement Brut\n        const rendementBrut = (loyerAnnuel \/ prix) * 100;\n        \n        \/\/ Rendement Net (Estimation simplifi\u00e9e incluant taxe services communaux ~ 10.5% du loyer)\n        const taxeServicesCommunaux = loyerAnnuel * 0.105;\n        const rendementNet = ((loyerAnnuel - (chargesMensuelles * 12) - taxeServicesCommunaux) \/ investissementTotal) * 100;\n        \n        \/\/ Cash Flow (Sans cr\u00e9dit pour l'instant)\n        const cashFlow = loyer - chargesMensuelles - (taxeServicesCommunaux \/ 12);\n\n        \/\/ Affichage des r\u00e9sultats\n        document.getElementById('res_brut').innerText = rendementBrut.toFixed(2) + ' %';\n        document.getElementById('res_net').innerText = rendementNet.toFixed(2) + ' %';\n        document.getElementById('res_cashflow').innerText = Math.round(cashFlow) + ' MAD';\n\n        \/\/ Logique \"IA\" de feedback\n        let feedback = \"\";\n        if (rendementNet > 8) {\n            feedback = \"\ud83d\ude80 Exceptionnel ! Ce rendement est bien au-dessus de la moyenne \u00e0 Casablanca. V\u00e9rifiez l'\u00e9tat du quartier.\";\n        } else if (rendementNet > 5.5) {\n            feedback = \"\u2705 Solide. C'est un investissement \u00e9quilibr\u00e9 pour le march\u00e9 marocain actuel.\";\n        } else {\n            feedback = \"\u26a0\ufe0f Prudence. Le rendement est faible. Essayez de n\u00e9gocier le prix d'achat ou d'augmenter la valeur locative.\";\n        }\n        document.getElementById('ia_text').innerText = feedback;\n    }\n}\n\n\/\/ Lancer le calcul au chargement\nwindow.onload = calculerRendement;\n<\/script>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>code 5 Simulateur Investisseur Pro (Maroc) \ud83c\udfd7\ufe0f Analyse de rendement &#038; Comparatif Quartier 2026 1. Localisation &#038; Bien Quartier cible (Casablanca) Maarif (Standard)CFC \/ Anfa (Premium)Palmier \/ GauthierBeaus\u00e9jourLes PrincessesMaarif Extension Prix d&rsquo;achat (MAD) Loyer mensuel (MAD) 2. Financement Bancaire Apport (MAD) Dur\u00e9e (Ans) Taux d&rsquo;int\u00e9r\u00eat (% HT) 3. Charges Syndic\/Mois Assurance\/Mois Mensualit\u00e9 TTC 0 MAD Rendement Net 0% Cash-Flow Net 0 MAD \ud83e\uddd0 Analyse &#8230;<\/p>\n","protected":false},"author":26,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_eb_attr":"","footnotes":""},"class_list":["post-37831","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/alamal-immobilier.ma\/alamalimmo\/wp-json\/wp\/v2\/pages\/37831","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alamal-immobilier.ma\/alamalimmo\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/alamal-immobilier.ma\/alamalimmo\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/alamal-immobilier.ma\/alamalimmo\/wp-json\/wp\/v2\/users\/26"}],"replies":[{"embeddable":true,"href":"https:\/\/alamal-immobilier.ma\/alamalimmo\/wp-json\/wp\/v2\/comments?post=37831"}],"version-history":[{"count":0,"href":"https:\/\/alamal-immobilier.ma\/alamalimmo\/wp-json\/wp\/v2\/pages\/37831\/revisions"}],"wp:attachment":[{"href":"https:\/\/alamal-immobilier.ma\/alamalimmo\/wp-json\/wp\/v2\/media?parent=37831"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}