Votre Résidence
Votre Priorité.
Bien plus qu’un toit. Le socle de votre patrimoine et le sanctuaire de votre famille.
01
Valorisation
L’inflation vous permet de voir le prix de votre résidence principale progresser d’année en année.
02
Optimisation
Acheter un bien immobilier ou vous avez des travaux. Vous acheterez moins cher et vous aurez une plus values future non taxable.
03
Bien-être
Un bien personnel dans lequel vous vivez n’a pas de prix en compensation du bonheur qu’il peut vous procurer.
1. Levier de l’épargne forcée
- Capitalisation : Chaque mensualité transfère du cash vers votre patrimoine net.
- Inflation alliée : Votre dette réelle diminue quand le coût de la vie augmente.
2. Levier Fiscal : Plus-value
- Exonération totale : Zéro impôt sur la plus-value lors de la revente.
- Stratégie rénovation : Générez des gains nets sans frottement fiscal.
3. Levier Crédit : Recharge
- Crédibilité bancaire : Garantie préférée des banques pour vos futurs projets.
- Prêt relais & Lombard : Utilisez la valeur acquise pour réinvestir immédiatement.
4. Levier de Revenus : m²
- Location saisonnière : Générez du cash-flow pendant vos vacances.
- Abattement total : Exonération d’impôt sur la location meublée d’une partie de votre RP.
Prêt à activer ces leviers sur votre projet ?
ACTIVER MON FINANCEMENT
/* CSS Scoped pour éviter les conflits avec Divi/WordPress */
#divi-sim-container {
font-family: ‘Inter’, Helvetica, Arial, sans-serif;
max-width: 900px;
margin: 0 auto;
color: #333;
background-color: #fff;
padding: 10px;
}#divi-sim-container * {
box-sizing: border-box;
}/* Variables couleurs */
#divi-sim-container {
–sim-primary: #b3bc00; /* Ta couleur verte */
–sim-primary-dark: #9ca300;
–sim-bg-light: #f7f8f0;
–sim-text-gray: #4b5563;
–sim-border: #e5e7eb;
–wa-green: #25D366;
–wa-dark: #128C7E;
}/* Cartes et Layout */
.sim-card {
background: #fff;
border-radius: 16px;
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
padding: 30px;
margin-bottom: 25px;
border: 1px solid #f0f0f0;
}.sim-header {
text-align: center;
margin-bottom: 30px;
}.sim-title {
color: var(–sim-primary);
font-size: 2rem;
font-weight: 700;
margin-bottom: 10px;
line-height: 1.2;
}.sim-subtitle {
color: var(–sim-text-gray);
font-size: 1.1rem;
}/* Section Steps */
.sim-step-title {
font-size: 1.25rem;
font-weight: 600;
color: #1f2937;
margin-bottom: 20px;
display: flex;
align-items: center;
}.sim-badge {
background-color: var(–sim-primary);
color: white;
width: 32px;
height: 32px;
border-radius: 50%;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 0.9rem;
font-weight: bold;
margin-right: 12px;
}/* Grids – CORRECTION MOBILE */
.sim-grid-3 {
display: grid;
grid-template-columns: 1fr;
gap: 15px;
}
.sim-grid-2 {
display: grid;
grid-template-columns: 1fr;
gap: 15px; /* Gap ajouté pour mobile */
}
@media (min-width: 768px) {
.sim-grid-3 { grid-template-columns: repeat(3, 1fr); }
.sim-grid-2 { grid-template-columns: repeat(2, 1fr); gap: 20px;}
}/* Boutons de mode */
.sim-mode-btn {
padding: 20px;
border: 2px solid var(–sim-border);
border-radius: 12px;
background: transparent;
cursor: pointer;
transition: all 0.3s ease;
text-align: center;
width: 100%;
}.sim-mode-btn:hover {
border-color: var(–sim-primary);
}.sim-mode-btn.active {
border-color: var(–sim-primary);
background-color: rgba(179, 188, 0, 0.1);
}.sim-icon { font-size: 2rem; margin-bottom: 10px; display: block; }
.sim-btn-title { font-weight: 600; color: #1f2937; display: block; }
.sim-btn-desc { font-size: 0.85rem; color: var(–sim-text-gray); margin-top: 5px; display: block; }/* Inputs */
.sim-input-group { margin-bottom: 20px; }
.sim-label { display: block; font-size: 0.9rem; font-weight: 500; color: #374151; margin-bottom: 8px; }
.sim-input {
width: 100%;
padding: 12px 16px;
border: 1px solid #d1d5db;
border-radius: 8px;
font-size: 1rem;
transition: border-color 0.2s;
outline: none;
}
.sim-input:focus {
border-color: var(–sim-primary);
box-shadow: 0 0 0 3px rgba(179, 188, 0, 0.1);
}/* Toggle Type Financement */
.sim-toggle-container {
background: #f3f4f6;
padding: 4px;
border-radius: 8px;
display: inline-flex;
margin-bottom: 20px;
}
.sim-toggle-btn {
padding: 8px 20px;
border-radius: 6px;
border: none;
background: transparent;
color: #6b7280;
font-weight: 500;
cursor: pointer;
transition: all 0.3s;
}
.sim-toggle-btn.active {
background-color: var(–sim-primary);
color: white;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}/* Placement Section */
.sim-placement-box {
background-color: #eff6ff;
border: 1px solid #dbeafe;
border-radius: 8px;
padding: 20px;
margin-top: 20px;
}
.sim-placement-title { color: #1e40af; font-weight: 600; margin-bottom: 10px; display: flex; align-items: center; gap: 8px; }
/* Action Button */
.sim-calc-btn {
width: 100%;
background-color: var(–sim-primary);
color: white;
border: none;
padding: 16px;
border-radius: 8px;
font-size: 1.1rem;
font-weight: 600;
cursor: pointer;
margin-top: 20px;
transition: transform 0.2s, background-color 0.2s;
}
.sim-calc-btn:hover {
background-color: var(–sim-primary-dark);
transform: translateY(-2px);
}/* Résultats */
.sim-result-card {
background: linear-gradient(135deg, #b3bc00 0%, #9ca300 100%);
color: white;
border-radius: 12px;
padding: 30px;
text-align: center;
margin-bottom: 20px;
}
.sim-result-value { font-size: 2.5rem; font-weight: 800; margin: 10px 0; }
.sim-result-sub { font-size: 0.9rem; opacity: 0.9; }.sim-stats-grid {
display: grid;
grid-template-columns: repeat(1, 1fr);
gap: 15px;
margin-bottom: 20px;
}
@media (min-width: 600px) {
.sim-stats-grid { grid-template-columns: repeat(3, 1fr); }
}
.sim-stat-box {
background: #f9fafb;
padding: 15px;
border-radius: 8px;
text-align: center;
}
.sim-stat-val { font-weight: 700; color: #1f2937; font-size: 1.1rem; }
.sim-stat-label { font-size: 0.85rem; color: #6b7280; }/* Detail Box */
.sim-details-box {
background-color: #f0f9ff;
border: 1px solid #bae6fd;
border-radius: 8px;
padding: 20px;
}
.sim-detail-row {
display: flex;
justify-content: space-between;
padding: 8px 0;
border-bottom: 1px solid #e0f2fe;
font-size: 0.95rem;
}
.sim-detail-row.total {
border-top: 2px solid #bae6fd;
border-bottom: none;
margin-top: 10px;
padding-top: 15px;
font-weight: bold;
font-size: 1.1rem;
}
.sim-text-primary { color: var(–sim-primary-dark); }
.sim-formule-box {
background-color: #fefce8;
border: 1px solid #fef08a;
padding: 15px;
border-radius: 6px;
margin-top: 15px;
font-size: 0.85rem;
color: #854d0e;
}/* — WHATSAPP SECTION — */
.sim-wa-container {
margin-top: 25px;
background-color: #ecfdf5;
border: 1px solid #a7f3d0;
border-radius: 12px;
padding: 20px;
text-align: center;
animation: fadeIn 0.5s ease-in-out;
}
.sim-wa-title {
color: #065f46;
font-weight: 700;
font-size: 1.1rem;
margin-bottom: 15px;
}
.sim-wa-btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 10px;
background-color: var(–wa-green);
color: white !important;
padding: 12px 25px;
border-radius: 50px;
font-weight: bold;
text-decoration: none;
font-size: 1rem;
transition: all 0.3s ease;
box-shadow: 0 4px 6px -1px rgba(37, 211, 102, 0.4);
}
.sim-wa-btn:hover {
background-color: var(–wa-dark);
transform: translateY(-2px);
box-shadow: 0 6px 8px -1px rgba(37, 211, 102, 0.5);
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
}.hidden { display: none !important; }
.opacity-50 { opacity: 0.5; pointer-events: none; }
(function() {
// Scoping strict pour éviter les conflits globaux WordPress
const S = {
mode: null,
type: ‘amortissable’,
els: {}
};// Initialisation des éléments
document.addEventListener(‘DOMContentLoaded’, function() {
// Mapping des IDs
const ids = [‘inp-montant’, ‘inp-mensualite’, ‘inp-duree’, ‘inp-taux’, ‘inp-assurance’,
‘field-montant’, ‘field-mensualite’, ‘field-duree’, ‘sim-step-2’,
‘section-placement’, ‘sim-results’, ‘btn-calculer’,
‘inp-cap-place’, ‘inp-mens-place’, ‘inp-rendement’, ‘out-cap-final’,
‘sim-wa-link’];
ids.forEach(id => S.els[id] = document.getElementById(id));// Event Listeners Modes
document.querySelectorAll(‘.sim-mode-btn’).forEach(btn => {
btn.addEventListener(‘click’, (e) => setMode(btn.dataset.mode, btn));
});// Event Listeners Types
document.querySelectorAll(‘.sim-toggle-btn’).forEach(btn => {
btn.addEventListener(‘click’, (e) => setType(btn.dataset.type, btn));
});// Event Calcul
S.els[‘btn-calculer’].addEventListener(‘click’, calculate);// Event Placement
[‘inp-cap-place’, ‘inp-rendement’, ‘inp-duree’, ‘inp-montant’].forEach(id => {
const el = document.getElementById(id);
if(el) el.addEventListener(‘input’, calcPlacementFromCapital);
});
document.getElementById(‘inp-mens-place’).addEventListener(‘input’, calcPlacementFromMens);// Init par défaut
setMode(‘mensualite’, document.querySelector(‘[data-mode= »mensualite »]’));
});function setMode(mode, btnElement) {
S.mode = mode;
// UI Boutons
document.querySelectorAll(‘.sim-mode-btn’).forEach(b => b.classList.remove(‘active’));
if(btnElement) btnElement.classList.add(‘active’);// Activation section 2
S.els[‘sim-step-2’].classList.remove(‘opacity-50’);
S.els[‘sim-step-2’].style.pointerEvents = ‘auto’;// Visibilité Champs
S.els[‘field-montant’].classList.remove(‘hidden’);
S.els[‘field-mensualite’].classList.remove(‘hidden’);
S.els[‘field-duree’].classList.remove(‘hidden’);if(mode === ‘mensualite’) S.els[‘field-mensualite’].classList.add(‘hidden’);
if(mode === ‘montant’) S.els[‘field-montant’].classList.add(‘hidden’);
if(mode === ‘duree’) S.els[‘field-duree’].classList.add(‘hidden’);S.els[‘sim-results’].classList.add(‘hidden’);
}function setType(type, btnElement) {
S.type = type;
// UI Boutons
document.querySelectorAll(‘.sim-toggle-btn’).forEach(b => b.classList.remove(‘active’));
if(btnElement) btnElement.classList.add(‘active’);if(type === ‘fine’) {
S.els[‘section-placement’].classList.remove(‘hidden’);
calcPlacementFromCapital();
} else {
S.els[‘section-placement’].classList.add(‘hidden’);
}
}function getVal(id) { return parseFloat(S.els[id].value) || 0; }
function fmt(num) { return Math.round(num).toLocaleString(‘fr-FR’) + ‘ €’; }function calculate() {
const C = getVal(‘inp-montant’);
const M_souhaite = getVal(‘inp-mensualite’);
let n_years = getVal(‘inp-duree’);
const t_annuel = getVal(‘inp-taux’);
const t_ass = getVal(‘inp-assurance’);const t_m = t_annuel / 100 / 12;
const n_mois = n_years * 12;
let result = 0, label = », detail = », capitalFinal = C, dureeFinal = n_years, mensFinal = 0;
let assurance_mensuelle = 0;// — MODE 1 : Calcul MENSUALITÉ —
if (S.mode === ‘mensualite’) {
assurance_mensuelle = C * t_ass / 100 / 12;
if (S.type === ‘amortissable’) {
if(t_m === 0) result = C / n_mois;
else result = C * (t_m * Math.pow(1+t_m, n_mois)) / (Math.pow(1+t_m, n_mois) – 1);
} else { // In Fine
result = C * t_m;
}
mensFinal = result + assurance_mensuelle;
label = « Mensualité estimée »;
detail = « Assurance incluse »;
updateUI(mensFinal, fmt(mensFinal), label, detail, C, result, assurance_mensuelle, n_mois, n_years);
}// — MODE 2 : Calcul CAPACITÉ (MONTANT) —
else if (S.mode === ‘montant’) {
const t_ass_m = t_ass / 100 / 12;
let facteur = 0;if (S.type === ‘amortissable’) {
if(t_m === 0) facteur = 1/n_mois;
else facteur = (t_m * Math.pow(1+t_m, n_mois)) / (Math.pow(1+t_m, n_mois) – 1);
} else { // In Fine
facteur = t_m;
}const denominateur = facteur + t_ass_m;
if(denominateur === 0) result = 0;
else result = M_souhaite / denominateur;capitalFinal = result;
assurance_mensuelle = capitalFinal * t_ass_m;
const mens_hors_ass = M_souhaite – assurance_mensuelle;
label = « Montant empruntable »;
detail = « Capacité d’emprunt »;
updateUI(capitalFinal, fmt(capitalFinal), label, detail, capitalFinal, mens_hors_ass, assurance_mensuelle, n_mois, n_years);
}// — MODE 3 : Calcul DURÉE —
else if (S.mode === ‘duree’) {
assurance_mensuelle = C * t_ass / 100 / 12;
const mens_dispo_pret = M_souhaite – assurance_mensuelle;if(mens_dispo_pret <= 0) {
alert("La mensualité est trop faible pour couvrir l'assurance.");
return;
}if (S.type === 'amortissable') {
if (mens_dispo_pret <= C * t_m) {
updateUI(0, "Impossible", "Durée", "Mensualité < Intérêts", C, mens_dispo_pret, assurance_mensuelle, 0, 0);
return;
}
if(t_m === 0) {
result = C / mens_dispo_pret; // en mois
} else {
result = -Math.log(1 – (C * t_m) / mens_dispo_pret) / Math.log(1 + t_m); // en mois
}
dureeFinal = result / 12;
} else {
// In Fine
if (mens_dispo_pret Mensualité », C, mens_dispo_pret, assurance_mensuelle, 0, 0);
return;
}
dureeFinal = 0; // Non pertinent
label = « Durée libre »;
}const n_mois_calc = Math.ceil(dureeFinal * 12);
label = « Durée estimée »;
detail = `${Math.floor(dureeFinal)} ans et ${Math.round((dureeFinal % 1)*12)} mois`;updateUI(dureeFinal, detail, label, « », C, mens_dispo_pret, assurance_mensuelle, n_mois_calc, dureeFinal);
}
}function updateUI(mainVal, mainText, labelText, subText, capital, mens_hors, ass_mens, nb_mois, nb_annees) {
document.getElementById(‘res-value’).textContent = typeof mainText === ‘string’ ? mainText : fmt(mainVal);
document.getElementById(‘res-label’).textContent = labelText;
document.getElementById(‘res-detail’).textContent = subText;// Stats
let cout = 0, interets = 0, tot_ass = ass_mens * nb_mois;
if (S.type === ‘amortissable’) {
const tot_mens = (mens_hors + ass_mens) * nb_mois;
cout = tot_mens – capital;
interets = cout – tot_ass;
} else {
// In Fine
interets = (capital * (getVal(‘inp-taux’)/100/12)) * nb_mois;
cout = interets + tot_ass;
}document.getElementById(‘res-cout’).textContent = fmt(cout);
document.getElementById(‘res-interets’).textContent = fmt(interets);
document.getElementById(‘res-assurance’).textContent = fmt(tot_ass);// Details
document.getElementById(‘det-capital’).textContent = fmt(capital);
document.getElementById(‘det-mens-hors’).textContent = fmt(mens_hors);
document.getElementById(‘det-ass-mens’).textContent = fmt(ass_mens);
document.getElementById(‘det-total’).textContent = fmt(mens_hors + ass_mens);// Formule display
let fText = « »;
if(S.type === ‘amortissable’) fText = « Calcul classique Amortissable »;
else fText = « Calcul In Fine (Capital remboursé à la fin) »;
document.getElementById(‘det-formule’).textContent = fText;const phone = « 33662132626 »;
// Construction du message dynamique
let waMsg = `Bonjour, j’ai effectué une simulation de financement :
`;
waMsg += `- Type : ${S.type === ‘amortissable’ ? ‘Amortissable’ : ‘In Fine’}
`;
waMsg += `- ${labelText} : ${typeof mainText === ‘string’ ? mainText : fmt(mainVal)}
`;
if(S.mode === ‘mensualite’ || S.mode === ‘duree’) {
waMsg += `- Montant emprunté : ${fmt(capital)}
`;
}
waMsg += `
Pouvez-vous me recontacter pour en discuter ?`;S.els[‘sim-wa-link’].href = `https://wa.me/${phone}?text=${encodeURIComponent(waMsg)}`;S.els[‘sim-results’].classList.remove(‘hidden’);
S.els[‘sim-results’].scrollIntoView({ behavior: ‘smooth’ });
}// Fonctions Placement
function calcPlacementFromCapital() {
if(S.type !== ‘fine’) return;
const capInit = getVal(‘inp-cap-place’);
const tx = getVal(‘inp-rendement’)/100/12;
const n = getVal(‘inp-duree’) * 12;
const target = getVal(‘inp-montant’);let pmt = 0;
if(tx === 0) {
pmt = (target – capInit) / n;
} else {
const capInitFV = capInit * Math.pow(1+tx, n);
const remainder = target – capInitFV;
if(remainder > 0) {
pmt = remainder * tx / (Math.pow(1+tx, n) – 1);
}
}S.els[‘inp-mens-place’].value = Math.max(0, Math.round(pmt));
const finalCheck = (capInit * Math.pow(1+tx, n)) + (pmt * (Math.pow(1+tx, n) – 1) / tx);
S.els[‘out-cap-final’].textContent = fmt(finalCheck);
}function calcPlacementFromMens() {
if(S.type !== ‘fine’) return;
const pmt = getVal(‘inp-mens-place’);
const tx = getVal(‘inp-rendement’)/100/12;
const n = getVal(‘inp-duree’) * 12;
const target = getVal(‘inp-montant’);let capInit = 0;
if(tx === 0) {
capInit = target – (pmt * n);
} else {
const seriesFV = pmt * (Math.pow(1+tx, n) – 1) / tx;
capInit = (target – seriesFV) / Math.pow(1+tx, n);
}S.els[‘inp-cap-place’].value = Math.max(0, Math.round(capInit));
const finalCheck = (capInit * Math.pow(1+tx, n)) + (pmt * (Math.pow(1+tx, n) – 1) / tx);
S.els[‘out-cap-final’].textContent = fmt(finalCheck);
}})();💰 Simulateur de Financement
Calculez votre projet en quelques clics
1 Que souhaitez-vous calculer ?
2 Paramètres du financement
✓ Résultats
Mensualité calculée
0 €
Assurance incluse
Coût total crédit
–
Intérêts totaux
–
Assurance totale
–
🧮 Détails du calcul
Capital emprunté
–
Mensualité hors assurance
–
Assurance mensuelle
–
Total Mensuel
–
Méthode : …
Ce résultat vous semble intéressant ?
Validez la faisabilité de ce financement avec un expert.
Discuter de mon projet