-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;
// Lot context is rebuilt from the catalogue server-side; keep the client message intact.
if( !(form.elements.id_lot && form.elements.id_lot.value) && 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";
var chargement_timer = setTimeout(function(){
chargement.style['opacity'] = 1;
},10);
var contact_termine = false;
function terminer_contact(succes) {
if (contact_termine) {
return;
}
contact_termine = true;
clearTimeout(chargement_timer);
sending_data = false;
if (succes) {
confirmation_contact(true,confirm);
} else {
chargement.style['display'] = "none";
chargement.style['opacity'] = 0;
var modal_fond = document.createElement("div");
modal_fond.classList.add("modal_fond");
modal_fond.onclick = function() { modal_fond.remove(); };
var modal_texte = document.createElement("div");
modal_texte.classList.add("modal_texte");
modal_texte.setAttribute("role", "alert");
modal_texte.textContent = "Votre demande prend plus de temps que prévu. Cliquez pour fermer ce message.";
modal_fond.appendChild(modal_texte);
document.body.appendChild(modal_fond);
}
}
var xhr_contact = new XMLHttpRequest();
xhr_contact.overrideMimeType("application/json");
xhr_contact.onreadystatechange = function () {
if (this.readyState !== 4 || contact_termine) {
return;
}
var response = null;
if (this.status === 200) {
try {
response = JSON.parse(xhr_contact.responseText);
} catch (error) {
// Une réponse illisible n'est jamais une confirmation.
}
}
terminer_contact(!!response && response.results === "OK");
};
xhr_contact.onerror = xhr_contact.onabort = xhr_contact.ontimeout = function() {
terminer_contact(false);
};
contact_form.append('d', d);
contact_form.append('id_page', id_page);
if (form.elements.id_lot && form.elements.id_lot.value) contact_form.append('id_lot', form.elements.id_lot.value);
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);
try {
xhr_contact.open("post", '/contact_xhr.php', true);
xhr_contact.timeout = 20000;
xhr_contact.send(contact_form);
} catch (error) {
terminer_contact(false);
}
} 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_location_search" || event.target.name === "select_location_owner") && form.querySelector('.location-project-grid')) {
form.select_location.classList.add("active");
event.target.classList.add("active");
form.projet.value = event.target.value;
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 set_dropdown_donation_state(el, opened) {
el.style.display = opened ? 'block' : 'none';
el.parentNode.classList.toggle('donation_opened', opened);
el.parentNode.setAttribute('aria-expanded', String(opened));
}
function open_dropdown_donation(el, force){
event.stopPropagation();
const opened = !force && el.style.display !== 'block';
document.querySelectorAll('.formulaire_contact .dropdown_donation').forEach(function(dropdown) {
set_dropdown_donation_state(dropdown, dropdown === el && opened);
});
dropdown_donation_open = opened;
}
document.addEventListener('click', function(e) {
document.querySelectorAll('.formulaire_contact .dropdown_donation').forEach(function(dropdown) {
if (!dropdown.parentNode.contains(e.target)) {
set_dropdown_donation_state(dropdown, false);
}
});
dropdown_donation_open = !!document.querySelector('.formulaire_contact .donation_opened');
}, 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
▾
Logement social : Une réforme controversée présentée au Conseil des ministres
Obtenir les informations résumées de cette page :
SOMMAIRE
Ce vendredi, lors du Conseil des ministres, Guillaume Kasbarian, présentera son projet de loi visant à endiguer la crise du logement.
Parmi les dispositions proposées, la suppression du bail à vie en logement HLM. Dans le viseur du Ministre, les locataires dépassant le plafond de ressources actuellement requis, possédant un patrimoine ou encore les quotas de logements sociaux des communes. Focus...
Une application systématique du surloyer
Actuellement, les locataires excédant le plafond de 20% doivent payer un surloyer. La nouvelle proposition du Ministre supprime cette tolérance, instaurant un surloyer dès le premier euro excédentaire. Si cette limite est dépassée deux années consécutives, le bail sera rompu avec un préavis de dix-huit mois, sauf pour les personnes âgées ou handicapées.
Une prise en compte du patrimoine
Le ministre propose également d'intégrer le patrimoine dans l'évaluation des ressources. Ainsi, un couple avec deux enfants à Paris paierait un surloyer à partir de 5 700 euros de revenus mensuels, et risquerait une résiliation de bail s'il dépasse 8 700 euros par mois sur deux ans.
Le projet de loi prévoit toutefois de maintenir les conditions actuelles pour certaines catégories de la population, notamment les personnes âgées de plus de 65 ans et les personnes handicapées.
En plus de ces changements, le gouvernement envisage de simplifier les procédures administratives pour accélérer la construction, offrir de nouveaux outils aux maires, stimuler l'investissement dans le logement abordable sans toutefois proposer de dispositif fiscal incitatif pour les particuliers.
Qu’est-ce qu’un logement intermédiaire ?
Une autre proposition du projet de loi concerne les quotas de logements sociaux. Aujourd’hui, la loi contraint les villes à disposer de 20 à 25% de logements HLM.
Avec la réforme, si les communes affichent moins de 10 points de retard sur leurs objectifs, les maires pourront intégrer dans ces quotas jusqu'à un 1/4 de logements intermédiaires, dont le mètre carré coute environ 2 fois le prix d’un HLM.
Le nouveau pacte pour le logement intermédiaire
“Chasse aux pauvres” pour les associations de locataires HLM
Les cinq principales associations de locataires HLM ont fustigé le projet, le qualifiant de « chasse aux pauvres ». Ils craignent que les mesures ne mènent à l'expulsion de locataires qui, bien que dépassant les plafonds de ressources, pourraient ne pas avoir les moyens de se loger convenablement sur le marché libre, compte tenu de la crise du logement actuelle et des prix élevés.
Le CNH, qui rassemble divers acteurs du secteur du logement (associations professionnelles, bailleurs sociaux, élus, associations de locataires...), a majoritairement voté contre le projet, bien que ce vote n'ait qu'une valeur consultative.
Le soutien du premier Ministre et de la Cour des Comptes
D'autre part, certaines voix dans le secteur du logement soutiennent que les changements proposés pourraient contribuer à une redistribution plus équitable des logements sociaux.
Parmi les supporters, le Premier ministre Gabriel Attal, qui annonçait en janvier la nécessité de créer un "choc d’offre" pour mieux répondre aux besoins des classes moyennes. De plus, le projet de loi s’aligne sur les recommandations de la Cour des comptes qui a longtemps préconisé la fin des baux à vie dans le secteur social, une mesure vue comme un moyen d'optimiser l'utilisation des logements HLM.
J’achète un logement neuf à Rennes
Nos dernières actualités
La Janais au sud de Rennes : une ZAC trois fois plus vaste, quels effets sur les communes voisines ?
10 novembre 2026
Hervé Koffel
Au sud de Rennes, la zone industrielle de La Janais change d'échelle et mise sur l'industrie bas carbone. Emploi, transports, logement : ce que ce pôle en devenir peut changer pour les communes voisines.
Lire l'article
DossierFacile propriétaire : comment vérifier le dossier de son futur locataire ?
06 novembre 2026
Morgane Caillière
Service public gratuit, DossierFacile permet au propriétaire bailleur de recevoir des candidatures normalisées dont la complétude, la cohérence et l’avis d’imposition ont été contrôlés. Il accélère le tri des dossiers lors de la mise en location d’un logement neuf, sans remplacer la ...
Lire l'article
Site de l'Adoration à Rennes : 350 logements, une école et un îlot qui s'ouvre
03 novembre 2026
Hervé Koffel
Rue d'Antrain, l'ancien site scolaire de l'Adoration devient un quartier de logements, d'école et de jardins. Bouygues Immobilier y lance ses deux premières résidences, aux portes des Prairies Saint-Martin.
Lire l'article
Un décret pour une formation obligatoire pour les agents immobiliers ?
30 octobre 2026
Hervé Koffel
Promise par la loi ALUR, la formation initiale des négociateurs et mandataires n'a jamais vu le jour. Le décret qui doit l'imposer franchit une étape, mais l'essentiel reste à trancher.
Lire l'article
Halles en Commun à Rennes : un skatepark en éclaireur des futurs logements
27 octobre 2026
Hervé Koffel
À La Courrouze, l'ancienne friche des Halles en Commun prépare sa mue en quartier habité, avec des logements ouverts à l'achat. Avant les grues, la glisse y prend ses quartiers.
Lire l'article
Prolongation de l'encadrement des loyers : le Sénat dit oui jusqu'en 2028, mais pas pour Rennes
23 octobre 2026
Hervé Koffel
Le Sénat sauve l'encadrement des loyers, mais lui interdit de gagner de nouvelles villes. Rennes, qui réclamait l'outil, devra encore patienter.
Lire l'article
Où habiter autour de Rennes en 2027 ? Sept communes, autant de projets de vie
20 octobre 2026
Hervé Koffel
Métro, TER ou bus vers la ligne b : autour de Rennes, le trajet quotidien pèse autant que le prix dans le choix d'une commune. Sept communes passées au crible pour acheter neuf en 2027, selon que l'on cherche la proximité, le train ou la place pour une famille.
Lire l'article
Construction de logements en Bretagne en 2026 : un rebond des mises en chantier
16 octobre 2026
Hervé Koffel
La construction neuve repart nettement en Bretagne à fin août 2026, avec un rebond plus fort qu'au niveau national. À Rennes, la reprise reste à confirmer tandis que les ventes aux particuliers de logements neufs continuent de reculer.
Lire l'article
Où investir à Rennes en 2027 ?
13 octobre 2026
Hervé Koffel
Rennes ne manque pas de locataires, mais le quartier fait désormais le rendement. Campus, centre historique, ligne B ou quartiers en rénovation : à chaque stratégie son adresse.
Lire l'article
Place de Bretagne à Rennes : un an de travaux avant les Trambus
09 octobre 2026
Hervé Koffel
Le carrefour le plus roulant du centre de Rennes s'apprête à changer de rôle. Un an de chantier pour repartager la voirie, et préparer l'arrivée du Trambus.
Lire l'article
En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies pour la réalisation de statistiques de visites.
J'accepte
Commentaires à propos de cet article :
Ajouter un commentaire