-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
▾
Où investir en 2015 : Immo9 vous liste les villes où il fait bon investir dans l'immobilier
Obtenir les informations résumées de cette page :
Gilles Vidotto
le lundi 11 mai 2015
[ mis à jour le mercredi 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
Louer sans garant : 5 solutions pour étudiants en 2026
28 août 2026
Morgane Caillière
Le garant reste le vrai point de blocage pour se loger étudiant à la rentrée 2026. Visale, la caution gratuite de l'État, couvre la plupart des moins de 30 ans, avec des plafonds relevés cette année. Garant privé, caution bancaire, résidence gérée et aides au dépôt prennent le relais dan...
Lire l'article
Lille IMMO9 : le dernier-né du groupe IMMO9 part à la conquête de la capitale des Flandres
26 août 2026
Morgane Caillière
Le groupe IMMO9, spécialiste de l'achat immobilier neuf depuis 2009, ouvre sa nouvelle agence Lille IMMO9 et s'implante pour la première fois dans les Hauts-de-France. Portée par une métropole de 1,2 million d'habitants, l'une des toutes premières villes étudiantes de France, Lille offre un ma...
Lire l'article
Encadrement des loyers Bordeaux 2026 : combien louer un studio, un T2 ou un T3 ?
21 août 2026
Hervé Koffel
Un studio, un T2 et un T3 n'obéissent pas au même plafond, et l'écart au mètre carré atteint parfois du simple au double. Voici le mode d'emploi de la grille bordelaise, secteur par secteur, avant de fixer un loyer.
Lire l'article
Souys-Combes : 6 800 logements pour le prochain grand quartier de la rive droite bordelaise
18 août 2026
Hervé Koffel
À cheval sur Bordeaux et Floirac, Souys-Combes doit devenir l'un des derniers grands quartiers résidentiels de la ZAC Garonne-Eiffel, avec environ 6 800 logements à la clé. Le projet reste en conception : ni les hauteurs, ni le calendrier, ni la liste des équipements ne sont figés.
Lire l'article
Gradignan : 660 logements étudiants ouvrent pour la rentrée 2026
14 août 2026
Hervé Koffel
Sur le campus Talence-Pessac-Gradignan, une résidence ouvre à la rentrée 2026 avec 660 logements étudiants. Une opération de grande ampleur, entre offre privée à services et logements conventionnés, qui soulage le marché autant qu'elle interroge sur les prix.
Lire l'article
RER Bordeaux : des trains deux fois plus capacitaires sur l'axe Libourne-Arcachon
11 août 2026
Hervé Koffel
Trois rames à étage doivent doubler la capacité sur la ligne Libourne–Bordeaux–Arcachon. Une avancée concrète du RER métropolitain bordelais, préparée par l'allongement des quais de quatre haltes girondines.
Lire l'article
Paludate Corto Maltese à Bordeaux : Euratlantique avance entre la gare et la Garonne
07 août 2026
Hervé Koffel
Entre la gare Saint-Jean et le fleuve, un ancien secteur d'entrepôts et de chais devient l'une des vitrines de Bordeaux Euratlantique. Promenade végétalisée, chantier Canopia, futur parc Descas : voici où en est ce morceau de ville en train de se recoudre.
Lire l'article
ZFE Bordeaux 2026 : la suppression censurée, les règles restent en vigueur
04 août 2026
Hervé Koffel
La fin des zones à faibles émissions a fait la une au printemps 2026, avant d'être effacée par le Conseil constitutionnel. À Bordeaux, la ZFE tient toujours et la vignette Crit'Air reste la clé d'entrée dans l'intra-rocade.
Lire l'article
Catastrophe naturelle : ce que couvre (et ne couvre pas) votre assurance maison
30 juillet 2026
Morgane Caillière
Franchise de 380 € ou 1 520 €, arrêté interministériel obligatoire, exclusions sur le jardin ou la piscine, cas épineux des fissures de sécheresse : le régime CatNat obéit à des règles précises, récemment réformées. Ce guide fait le point, à jour de juillet 2026, sur vos droits et ...
Lire l'article
Une place de parking, ça rapporte combien à Bordeaux ?
29 juillet 2026
Morgane Caillière
Combien rapporte une place de parking à Bordeaux ? Prix de location par quartier, calcul du rendement, fiscalité 2026 et pièges à éviter avant de louer.
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