-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;
} 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, () => {
// Les lignes que j'avais masquées par "//... (logique du resize)"
if (collapse_height != null) apply_collapse_height(container, collapse_height);
const now_overflowing = is_overflowing(container);
if (now_overflowing) {
// Les lignes que j'avais masquées par "//..."
btn.style.display = "";
btn.setAttribute("aria-expanded", "false");
if (help_text) help_text.innerHTML = text_more;
// Ma modif (qui était déjà visible)
restore_collapsed_state(container, wrapper, collapse_height);
} else {
// Les lignes que j'avais masquées par "//..."
remove_constraint(container);
btn.style.display = "none";
// Ma modif (qui était déjà visible)
wrapper.classList.add("unwrap_custom");
// === MODIFICATION 2 (répétée) ===
if (!unwrap_elements_custom.includes(wrapper)) {
unwrap_elements_custom.push(wrapper);
}
// === FIN MODIFICATION 2 ===
}
});
});
}
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;
// Only restore height if it was explicitly fixed in CSS; otherwise leave "auto"
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
▾
//=base64_encode('/contact')?>
Où investir en 2015 : Immo9 vous liste les villes où il fait bon investir dans l'immobilier
Gilles Vidotto
le 11 mai 2015
[ mis à jour le 03 février 2021 ]
SOMMAIRE
© marcociannarel - shutterstock
Prix de l’immobilier en baisse, tassement des loyers, critères économiques contrastés… l’année 2015 révèle une nouvelle redistribution des cartes plaçant Toulouse en tête de ce nouveau Top 10 des villes les plus dynamiques.
Notre quatrième édition du palmarès des villes les plus attractives sur le plan immobilier consacre cette année Toulouse qui monte sur la première marche du podium. La Ville rose détrône ainsi Nantes, qui redescend en 3e position. Lyon, qui se plaçait 4e l’an dernier, se hisse au 2e rang. Belle remontée également de Lille (4e). La cité du Nord, en dehors du Top 10 en 2014, occupait en effet la 11e position. De son côté, Bordeaux perd deux places, se classant 5e devant Villeurbanne (6e, contre 5e en 2014). Derrière, Montpellier occupe le 7e rang (6e l’an dernier) et évince Paris qui disparaît de notre classement. Nîmes améliore également son score, grimpant de la 9e à la 8e place, supplantant Strasbourg qui sort du palmarès. Enfin, signalons l’arrivée de Grenoble et du Mans, respectivement aux 9e et 10e rangs.
Des prix en baisse dans de nombreuses villes
Pour établir notre classement, la méthode utilisée a été la même que les années précédentes. Nous avons comparé deux indicateurs essentiels du dynamisme, la démographie et la tenue de l’emploi dans chaque ville, ainsi que leur vitalité en matière universitaire. Enfin, sur le plan immobilier, nous avons étudié l’évolution des prix du neuf et de l’ancien, sachant que plus les prix résistent, plus ils démontrent la solidité du marché. Il faut d’ailleurs signaler qu’en 2014, les prix ont continué à baisser dans de nombreuses villes. Et plus particulièrement dans l’ancien, où seulement quelques-unes des 30 étudiées conservent des prix en hausse (Bordeaux, Lyon, Toulouse, Metz, Aix-en-Provence, Amiens et Angers).
Les investisseurs apprécient le dispositif Pinel
Dans le neuf, la situation est plus contrastée. Plus de la moitié des métropoles continuent de voir leurs prix s’apprécier. Pour les loyers, nous nous sommes appuyés sur l’Observatoire Clameur. Une douzaine de villes voient le prix des loyers des studios baisser. Le repli est cependant plus fort pour les 2-pièces. Quant à la part des investisseurs, les lignes ont également bougé grâce à la suppression du dispositif Duflot et son remplacement par le Pinel, mieux perçu par cette clientèle. Comme pour nos anciens palmarès, chaque ville a été notée en fonction de son score dans chaque thème, la première obtenant un point, la seconde, deux points, la troisième, trois points, etc. Autrement dit, moins une ville obtient de point, plus elle est performante.
PALMARES DES 10 PREMIERES VILLES
Ville Classement
Démographie
Evolution emploi
Evolution étudiants
Prix/m2 neuf
Prix/m2 ancien
Loyers T1
Loyer T2
Part investisseurs
1-Toulouse
5
5
1
6
7
12
16
1
2-Lyon
3
3
4
20
7
18
8
15
3-Nantes
6
4
10
16
13
11
19
1
4-Lille
11
10
2
3
22
19
10
5
5-Bordeaux
7
14
9
8
2
15
25
4
6-Villeurbanne
1
5
4
17
13
22
13
15
7-Montpellier
2
1
16
14
23
13
17
9
8-Nîmes
8
7
16
9
28
10
8
19
9-Grenoble
12
10
20
12
11
17
5
20
10-Le Mans
17
29
10
5
21
9
11
10
Classement des 10 villes par catégorie et par proposition (classement établi à partir des 30 villes les plus peuplées - explorimmoneuf.com)
Nos dernières actualités
Réforme du DPE : 400 000 logements sortent des passoires énergétiques en 2025
14 novembre 2025
Hervé Koffel
Entre ajustements méthodologiques et rénovations réelles, la baisse de 400 000 passoires énergétiques en 2025 brouille les pistes sur l'amélioration effective du parc immobilier. La réforme du coefficient électrique en 2026 amplifiera cette ambiguïté en reclassant automatiquement des centa...
Lire l'article
Budget 2026 : La revanche de la chambre d'hôte sur la location touristique ?
06 novembre 2025
Morgane Caillière
Après le coup dur de 2025 (abattement 50% pour tous), un amendement veut "sauver" les chambres d'hôtes (retour à 71% ?) mais maintenir la pression sur les locations touristiques. On analyse l'amendement I-3767
Lire l'article
PTZ 2026 : ressources, plafonds, BRS… les changements attendus
05 novembre 2025
Morgane Caillière
Les députés ont relevé les plafonds du PTZ 2026 en première lecture.
Objectif : élargir l’accès au prêt, avec une application visée aux offres émises à compter du 1er janvier 2026 (sous réserve du parcours législatif).
Sont aussi en débat la revalorisation des plafonds de ressources...
Lire l'article
PLFSS 2026 : une mesure pour encourager votre employeur à payer vos intérêts d'emprunt
28 octobre 2025
Hervé Koffel
Un amendement au PLFSS 2026 veut relancer un dispositif centenaire permettant aux employeurs de payer les intérêts d'emprunt immobilier de leurs salariés, en divisant par deux les charges sociales. Décryptage.
Lire l'article
Les taux d'usure du 4e trimestre 2025
21 octobre 2025
Morgane Caillière
? TAUX D'USURE Q4 2025 : La Banque de France assouplit les plafonds pour la plupart des durées de crédit immobilier, confirmant la normalisation du marché après 3 ans de turbulences.
Lire l'article
Les grands chantiers 2026 de la métropole bordelaise
09 octobre 2025
Morgane Caillière
Bordeaux poursuit sa transformation. En 2026, le rythme des chantiers urbains reste soutenu, avec une multiplication des projets liés à l’aménagement, aux transports et à la requalification des espaces publics. Ces opérations visent à répondre à plusieurs enjeux : accompagner la croissance...
Lire l'article
Près du Grand-Théâtre, une pépite du patrimoine bordelais se réinvente
29 septembre 2025
Morgane Caillière
Tel un écho à la majesté du Grand-Théâtre voisin, le projet "Arabesque" compose une nouvelle vision du luxe dans le centre historique de Bordeaux. Au sein d'un bâtiment du XIXe siècle, classé et méticuleusement restauré, se dévoilent 16 appartements de grand standing.
Lire l'article
Acheter pour un étudiant : La nouvelle stratégie face à la crise
24 septembre 2025
Morgane Caillière
Trouver un logement étudiant relève aujourd'hui du parcours du combattant. Avec une offre locative en chute libre (-31,9% en trois ans) et une concurrence féroce qui peut atteindre 1000 candidatures pour un seul studio parisien, les familles françaises changent de stratégie. Face à cette crise...
Lire l'article
Primo-accédants : Un vent favorable pour cet automne 2025
16 septembre 2025
Hervé Koffel
Après deux années noires, les primo-accédants retrouvent des conditions d'achat favorables grâce à la stabilisation des taux, à la baisse des prix et aux modifications récentes du PTZ. Une fenêtre d'opportunité pour accéder enfin à la propriété.
Lire l'article
Entrées de ville : la stratégie 2025-2027 de Bordeaux Métropole
12 septembre 2025
Morgane Caillière
En juillet 2025, Bordeaux Métropole a lancé l’opération « Métropole à vivre », une démarche de transformation urbaine qui couvre 7 000 hectares et concerne 157 000 habitants. La consultation porte sur six « portes métropolitaines » et reste ouverte jusqu’au 26 septembre 2025.
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