-1) {
let s = strcode.indexOf("", e);
scripts.push(strcode.substring(s_e+1, e));
strcode = strcode.substring(0, s) + strcode.substring(e_e+1);
}
for(let i=0; i 0 ){
donation = form.donation.value;
}
var telephone = form.telephone.value;
var email = form.email.value;
var commune = form.commune.value;
var code_postal = form.code_postal.value;
var message = form.message.value;
if( form.infos !== undefined && form.infos.value !== "" ){
message = form.infos.value + "\n\n" + message;
}
var cnil = form.cnil.value;
var emplacement = form.emplacement.value;
var gsm = form.gsm.value;
var comment = form.comment.value;
let confirm = "page";
if( form.confirmation !== undefined && form.confirmation.value === "popin" ){
confirm = "popin"
}
if( nom != "" && prenom != "" && telephone != "" && email != "" && commune != "" && code_postal != "" ){
chargement.style['display'] = "flex";
setTimeout(function(){
chargement.style['opacity'] = 1;
},10);
var xhr_contact = new XMLHttpRequest();
xhr_contact.overrideMimeType("application/json");
xhr_contact.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
var response = JSON.parse(xhr_contact.responseText);
if (response.results == "OK") {
confirmation_contact(true,confirm);
sending_data = false;
//el.innerHTML = response.html;
} else {
confirmation_contact(true,confirm);
chargement.style['display'] = "none";
console.log( response.results, response.html );
}
}
};
contact_form.append('d', d);
contact_form.append('id_page', id_page);
contact_form.append('projet', projet);
contact_form.append('donation', donation);
contact_form.append('nom', nom);
contact_form.append('prenom', prenom);
contact_form.append('telephone', telephone);
contact_form.append('email', email);
contact_form.append('commune', commune);
contact_form.append('code_postal', code_postal);
contact_form.append('message', message);
contact_form.append('cnil', cnil);
contact_form.append('emplacement', emplacement);
if( guide_du_neuf ){
contact_form.append('guide_du_neuf', true);
}
contact_form.append('gsm', gsm);
contact_form.append('comment', comment);
xhr_contact.open("post", '/contact_xhr.php', true);
xhr_contact.send(contact_form);
} else {
var fields = [
"nom",
"prenom",
"telephone",
"email",
"commune",
"code_postal"
];
for( var f = 0 ; f < fields.length ; f ++ ){
if( form[fields[f]].value == '' ){
form[fields[f]].style['background'] = '#FFCCCC';
} else{
form[fields[f]].style['background'] = 'inherit';
}
}
sending_data = false;
}
}
return false;
}
if (typeof check_projet_contact_form === 'undefined') {
function check_projet_contact_form(form) {
const actives = form.querySelectorAll(".active");
for( let active of actives){
active.classList.remove("active");
}
if (event.target.name === "select_investir") {
form.select_investir.classList.add("active");
form.projet.value = "investir";
form.donation.value = 0;
} else if (event.target.name === "select_habiter") {
form.select_habiter.classList.add("active");
form.projet.value = "habiter";
form.donation.value = 0;
} else if (event.target.name === "select_donation_habiter" || event.target.name === "select_donation_investir" ) {
form.select_donation.classList.add("active");
event.target.classList.add("active");
form.projet.value = "";
form.donation.value = event.target.value;
}
}
}
let dropdown_donation_open = false;
function open_dropdown_donation(el, force){
event.stopPropagation();
if(dropdown_donation_open || force){
el.style['display'] = 'none';
dropdown_donation_open = false;
} else {
el.style['display'] = 'block';
dropdown_donation_open = true;
}
}
if (typeof fill_input === 'undefined') {
function fill_input(form,projet_select) {
let select_projet_title_text = "Sélectionnez votre projet";
switch ( parseInt( projet_select ) ){
default:
case 1 :
form.projet.value = "habiter";
form.donation.value = 0;
select_projet_title_text = "Habiter";
break;
case 2 :
form.projet.value = "investir";
form.donation.value = 0;
select_projet_title_text = "Investir";
break;
case 3 :
form.projet.value = "gestion";
form.donation.value = 0;
select_projet_title_text = "Faire gérer mon bien";
form.message.value = "Je souhaite mettre mon bien en location"
break;
case 4 :
form.projet.value = "gestion";
form.donation.value = 0;
select_projet_title_text = "Trouver une location";
form.message.value = "Je recherche une location"
break;
case 5 :
form.projet.value = "";
form.donation.value = 1;
select_projet_title_text = "Donation pour habiter";
break;
case 6 :
form.projet.value = "";
form.donation.value = 2;
select_projet_title_text = "Donation pour investir";
break;
}
form.select_projet_title.innerText = select_projet_title_text;
}
}
let select_project_open = false;
function open_select_project(el, force){
event.stopPropagation();
if(select_project_open || force){
el.style['display'] = 'none';
select_project_open = false;
el.parentNode.classList.remove("select_opened");
} else {
el.style['display'] = 'flex';
select_project_open = true;
el.parentNode.classList.add("select_opened");
}
}
let unwrap_elements = [];
function unwrap(el){
let wrapper = el.parentNode;
let help_text = el.querySelector('span');
let container = wrapper.querySelector(".wrap_content");
if( unwrap_elements.includes(wrapper) ){
unwrap_elements = unwrap_elements.filter(e => e !== wrapper);
help_text.innerHTML = "Lire plus";
container.style['max-height'] = "300px";
wrapper.classList.remove("unwrap");
el.parentNode.scrollIntoView({ behavior: "smooth", block: "start" });
} else {
unwrap_elements.push(wrapper);
help_text.innerHTML = "Lire moins";
container.style['max-height'] = "20000px";
wrapper.classList.add("unwrap");
}
}
let unwrap_elements_custom = [];
function unwrap_custom(btn, options = { more: "Lire plus", less: "Lire moins" } ) {
const wrapper = btn.parentNode;
const container = wrapper.querySelector(".wrap_custom_content");
const help_text = btn.querySelector(".wrap_help_text");
console.log( wrapper );
if (!container) return;
const dataset_more = btn.dataset.textMore;
const dataset_less = btn.dataset.textLess;
const final_options = {
more: dataset_more || options.more,
less: dataset_less || options.less
};
capture_original_constraint(container);
const is_open = unwrap_elements_custom.includes(wrapper);
if (is_open) {
const collapse_height = read_collapse_height(wrapper);
if (collapse_height != null) {
apply_collapse_height(container, collapse_height);
} else {
restore_original_constraint(container);
}
unwrap_elements_custom = unwrap_elements_custom.filter(n => n !== wrapper);
wrapper.classList.remove("unwrap_custom");
btn.setAttribute("aria-expanded", "false");
if (help_text) help_text.innerHTML = final_options.more;
wrapper.scrollIntoView({ behavior: "smooth", block: "start" });
} else {
remove_constraint(container);
unwrap_elements_custom.push(wrapper);
wrapper.classList.add("unwrap_custom");
btn.setAttribute("aria-expanded", "true");
if (help_text) help_text.innerHTML = final_options.less;
}
}
function init_unwrap_auto(root_node = document, options = { more: "Lire plus", less: "Lire moins" }) {
const wrappers = root_node.querySelectorAll(".wrap_custom");
wrappers.forEach(wrapper => {
const container = wrapper.querySelector(".wrap_custom_content");
const btn = wrapper.querySelector(".wrap_custom_toggle");
const help_text = btn ? btn.querySelector(".wrap_help_text") : null;
if (!container || !btn) return;
unwrap_elements_custom = unwrap_elements_custom.filter(n => n !== wrapper);
const text_more = btn.dataset.textMore || options.more;
capture_original_constraint(container);
const collapse_height = read_collapse_height(wrapper);
if (collapse_height != null) {
apply_collapse_height(container, collapse_height);
} else {
restore_original_constraint(container);
}
const overflowing = is_overflowing(container);
if (overflowing) {
btn.style.display = "";
btn.setAttribute("aria-expanded", "false");
if (help_text) help_text.innerHTML = text_more;
wrapper.classList.remove("unwrap_custom");
} else {
remove_constraint(container);
btn.style.display = "none";
wrapper.classList.add("unwrap_custom");
if (!unwrap_elements_custom.includes(wrapper)) {
unwrap_elements_custom.push(wrapper);
}
}
one_time_resize_recheck(container, () => {
if (collapse_height != null) apply_collapse_height(container, collapse_height);
const now_overflowing = is_overflowing(container);
if (now_overflowing) {
btn.style.display = "";
btn.setAttribute("aria-expanded", "false");
if (help_text) help_text.innerHTML = text_more;
restore_collapsed_state(container, wrapper, collapse_height);
} else {
remove_constraint(container);
btn.style.display = "none";
wrapper.classList.add("unwrap_custom");
if (!unwrap_elements_custom.includes(wrapper)) {
unwrap_elements_custom.push(wrapper);
}
}
});
});
}
function read_collapse_height(wrapper) {
const raw = wrapper.getAttribute("data-collapse_height");
if (!raw) return null;
const n = parse_int_safe(raw, null);
return n != null ? n : null;
}
function parse_int_safe(value, fallback) {
const n = parseInt(value, 10);
return Number.isNaN(n) ? fallback : n;
}
function is_overflowing(el) {
return Math.ceil(el.scrollHeight) > Math.ceil(el.clientHeight);
}
function capture_original_constraint(container) {
if (container.dataset._cap_captured === "1") return;
const cs = window.getComputedStyle(container);
container.dataset._orig_max_height = cs.maxHeight;
container.dataset._orig_height = cs.height;
container.dataset._orig_overflow = cs.overflow;
container.dataset._cap_captured = "1";
}
function restore_original_constraint(container) {
const orig_max = container.dataset._orig_max_height || "none";
const orig_height = container.dataset._orig_height || "auto";
const orig_overflow = container.dataset._orig_overflow || "visible";
container.style.maxHeight = orig_max;
if (orig_height !== "auto") container.style.height = orig_height;
container.style.overflow = orig_overflow;
}
function apply_collapse_height(container, height_px) {
container.style.height = "";
container.style.maxHeight = height_px + "px";
container.style.overflow = "hidden";
}
function remove_constraint(container) {
container.style.maxHeight = "none";
container.style.height = "auto";
container.style.overflow = "visible";
}
function restore_collapsed_state(container, wrapper, collapse_height) {
if (collapse_height != null) {
apply_collapse_height(container, collapse_height);
} else {
restore_original_constraint(container);
}
wrapper.classList.remove("unwrap_custom");
unwrap_elements_custom = unwrap_elements_custom.filter(n => n !== wrapper);
}
function one_time_resize_recheck(container, callback_once) {
if (!("ResizeObserver" in window)) return;
let done = false;
const ro = new ResizeObserver(() => {
if (done) return;
done = true;
callback_once();
ro.disconnect();
});
ro.observe(container);
}
document.addEventListener("DOMContentLoaded", () => {
init_unwrap_auto(document, { more: "Lire plus", less: "Lire moins" });
});
✖
Transformez votre loyer en Patrimoine
M. & Mme Dubois étaient locataires d'un T3 en zone A à 1 000 €/mois
Avec leur revenu fiscal de référence de 35 000 € ils sont éligibles au Prêt à Taux Zéro
🏡
T3 à 310 000 € frais de notaire inclus
◎
PTZ + Prêt Aidé de 165 000 €
💸
Apport de 31 000 €
🏦
Emprunt de 125 000 € à 3.20 % sur 25 ans
Leur nouvelle mensualité s'élève à 1 150 €/mois , ils sont devenus propriétaires de leur résidence principale pour 150 € de plus par mois*
Contactez-nous & obtenez votre simulation gratuite
*Document non contractuel. Voir conditions en agence
▾
Obtenir les informations résumées de cette page :
Responsable Éditoriale & Rédactrice web spécialisée en immobilier
Après 10 ans d’expérience de rédaction freelance à Rennes, j’ai rejoint Toulouse et le pôle de communication digitale de la société Immo9. 5 ans de décorticage de la toile immobilière au service des internautes, clients ou curieux, ont affiné ma maîtrise du secteur, de sa législation, de son évolution et des politiques locales d'urbanisme.
Je pilote désormais une équipe de rédacteurs qui vulgarise au quotidien : les rouages de l’investissement locatif, de la fiscalité immobilière, des marchés locaux, des normes environnementales, mais aussi des architectures et matériaux du futur...
Dans la vie, j'aime l'histoire, les vieilles pierres, la Bretagne et accessoirement... écrire ;)
Articles écrits par Morgane
RER métropolitain Nantes–Saint-Nazaire : 106 M€ pour des trains plus fréquents
Le projet de RER métropolitain Nantes–Saint-Nazaire figurait parmi les sujets du conseil métropolitain du 2 octobre 2026. Le contrat de plan État-Région y consacre 106,44 M€, une enveloppe partagée avec Angers et Le Mans, dont 76,96 M€ pour les voies et les gares. Quelques trains de plus dès janvier 2027 ; un train toutes les demi-heures vers Sainte-Pazanne pas avant 2032 ou 2033.
Primo-accédants : le PTZ ne s'éteindra pas fin 2027
Dans une lettre du 23 septembre 2026, Sébastien Lecornu s'engage à prolonger le PTZ au-delà du 31 décembre 2027. En zone A, un couple modeste peut aujourd'hui obtenir jusqu'à 112 500 € sans intérêts pour un logement neuf. Ni nouvelle échéance ni barème : tout se jouera dans le budget 2027, attendu début octobre.
La BCE relève ses taux de 0,25 point
La BCE a relevé ses trois taux directeurs de 0,25 point le 10 septembre 2026, en vigueur le 16. La hausse tombe alors que le crédit immobilier français remontait déjà : 3,30 % en juillet. Pour un prêt de 250 000 € sur 25 ans, un quart de point coûte environ 33 € par mois.
Ouche Colin : 84 logements et une crèche à Saint-Sébastien
À Saint-Sébastien-sur-Loire, le site de l'Ouche Colin tourne une page. D'anciennes terres cultivées devenues ateliers municipaux, il accueillera un ensemble de logements après le départ des services techniques en 2023. Le programme, baptisé Jardin d'Aimée, prévoit jusqu'à 84 logements, dont la moitié en logement social ou abordable, et une crèche.
Exonération de taxe foncière 2026 : quels propriétaires sont concernés ?
La taxe foncière 2026 est due par tout propriétaire au 1er janvier, mais de nombreuses situations ouvrent droit à une exonération, totale ou partielle. Âge, revenus, allocations, logement neuf ou rénové : voici les principaux cas concernés pour les propriétaires particuliers en 2026, avec les plafonds de ressources revalorisés et les durées d'exonération. Attention : même exonéré de taxe foncière, vous restez le plus souvent redevable de la taxe d'enlèvement des ordures ménagères.
Îlot Loire : près de 200 logements au cœur de Sainte-Luce
À deux pas de la mairie de Sainte-Luce-sur-Loire, deux opérations privées doivent transformer l'Îlot Loire en un ensemble de 198 logements collectifs organisé autour d'un grand cœur végétalisé. Le projet est revenu dans l'actualité fin août 2026, avec une décision du Conseil d'État sur l'un des deux permis. Réalisées, les deux opérations offriront dix bâtiments, des commerces en pied d'immeuble et un habitat partagé.
IMMO9 s'installe à Lille : zoom sur la petite dernière du réseau
Le réseau IMMO9 ouvre son agence Lille IMMO9 et couvre désormais toute la métropole lilloise. Marché du neuf, quartiers porteurs, dispositifs : nos conseils pour investir à Lille.
Assurance habitation à Nantes 2026 : parmi les moins chères, quelle réalité locale ?
259 € par an en moyenne régionale, une hausse de 14 % sur un an, un risque inondation bien réel autour de la Loire et de la Sèvre : l'assurance habitation nantaise conjugue tarifs doux et vigilance locale. Chiffres, limites et conseils pour payer le juste prix.
MaPrimeRénov' : 6 familles de travaux bientôt exclues du parcours par geste
Le Gouvernement prévoit de retirer six familles de travaux du parcours « par geste » de MaPrimeRénov' au 1er septembre 2026, sous réserve de la publication des textes définitifs. Isolation des combles et toitures, fenêtres, VMC, chauffe-eau thermodynamique, chauffage au bois et solaire thermique ne seraient plus aidés seuls, mais uniquement dans une rénovation d'ampleur. On fait le point sur les postes concernés, les montants, le calendrier et l'intérêt d'anticiper le dépôt de son dossier.
L'équipe rédactionnelle IMMO9
En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies pour la réalisation de statistiques de visites.
J'accepte