1import{V as l,z as o,j as e,C as n,a6 as m,L as s,aE as c,aF as p,S as d,e as x,aG as r}from"./index-Bf345cdl.js";import{G as u}from"./GuestShell-Drj7p7AZ.js";import{V as h,D as f}from"./VilleSearch-BsKNywNL.js";import{T as g}from"./trophy-aRn98qIm.js";import{A as b}from"./arrow-right-C1q3v5V9.js";import"./sheet-B7axi-tZ.js";import"./index-TmlyD8EE.js";import"./index-XP3hnUEp.js";import"./index-dfK5sxcX.js";import"./index-BcIPzEZJ.js";import"./index-JmRR4qGX.js";import"./x-DKzmyLgw.js";import"./nav-structure-BSpSbIJ9.js";import"./bell-DKl4Enhe.js";import"./user-DeixZ2m0.js";import"./sliders-horizontal-CibwH0iH.js";import"./credit-card-D_EWa6mR.js";import"./gift-DKxvKhxh.js";import"./messages-square-CA1WNsPD.js";import"./search-B_IOXxpL.js";import"./heart-DaMLeKE6.js";import"./folder-kanban-Csrnq6Ux.js";import"./layout-dashboard-NaVOqgjH.js";import"./zap-BuVLU7e9.js";import"./menu-CwqvMAvW.js";import"./lock-DMNPP5Xg.js";import"./user-plus-DSEQw8mM.js";const j=new Intl.NumberFormat("fr-FR",{maximumFractionDigits:0}),N=new Intl.NumberFormat("fr-FR",{maximumFractionDigits:1}),y={pos:"text-pos",info:"text-info",neg:"text-neg"};function K(){const i=l.map(o),a={"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Villes",item:`${n}/villes`}]};return e.jsxs(u,{title:"Investir par ville",subtitle:"Prix, loyers et rentabilité locative des villes françaises.",children:[e.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(a)}}),e.jsxs("div",{className:"mx-auto max-w-4xl py-10",children:[e.jsxs("div",{className:"mb-6",children:[e.jsxs("p",{className:"flex items-center gap-2 text-[12px] font-bold uppercase tracking-[0.14em] text-primary",children:[e.jsx(m,{className:"size-4"})," Investir par ville"]}),e.jsx("h1",{className:"mt-2 font-display text-3xl font-semibold tracking-tight",children:"L'immobilier locatif, ville par ville"}),e.jsx("p",{className:"mt-3 max-w-2xl text-[15px] text-muted-foreground",children:"Prix au m², loyer d'annonce et rentabilité locative des grandes villes françaises. Comparez les marchés, puis collez une annonce dans l'analyse express pour tester un bien précis, gratuitement."})]}),e.jsx(h,{}),e.jsxs(s,{to:"/villes/classement",className:"mt-6 flex items-center justify-between gap-4 rounded-2xl border border-primary/30 bg-primary/5 p-4 transition-colors hover:border-primary/60",children:[e.jsxs("span",{className:"flex items-center gap-2.5",children:[e.jsx(g,{className:"size-5 text-primary"}),e.jsx("span",{className:"text-[14px] font-semibold",children:"Comparer les ratios de marché par ville"})]}),e.jsx(b,{className:"size-4 shrink-0 text-primary"})]}),e.jsx("div",{className:"mt-6",children:e.jsx(f,{})}),e.jsx("div",{className:"mt-6 grid grid-cols-1 gap-3 sm:grid-cols-2",children:i.map(t=>e.jsxs(s,{to:"/villes/$ville",params:{ville:t.slug},className:"group flex flex-col overflow-hidden rounded-2xl border border-border bg-card transition-colors hover:border-primary/50",children:[e.jsxs("div",{className:"relative",children:[e.jsx("img",{src:p(t.slug),alt:c(t.slug,t.nom),loading:"lazy",width:1600,height:900,className:"h-28 w-full object-cover [filter:saturate(0.88)_brightness(0.9)] transition-transform duration-300 group-hover:scale-[1.03]"}),e.jsx("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-0 bg-gradient-to-t from-card/70 to-transparent"})]}),e.jsxs("div",{className:"flex items-center justify-between gap-4 p-4",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("h2",{className:"font-display text-[17px] font-semibold leading-snug group-hover:text-primary",children:t.nom}),e.jsxs("p",{className:"mt-0.5 text-[12px] text-muted-foreground",children:[t.departement," (",t.codeDepartement,")"]}),e.jsxs("p",{className:"mt-2 text-[13px] tabular-nums text-muted-foreground",children:[j.format(t.prixM2Appartement)," â¬/m²"]})]}),e.jsxs("div",{className:"shrink-0 text-right",children:[e.jsxs("div",{className:`font-display text-2xl font-semibold tabular-nums ${y[t.verdict.ton]}`,children:[N.format(t.rentabiliteBrute)," %"]}),e.jsx("div",{className:"text-[11px] text-muted-foreground",children:"ratio loyer CC / prix"})]})]})]},t.slug))}),e.jsxs("div",{className:"mt-10 rounded-2xl border border-primary/30 bg-primary/5 p-6 text-center",children:[e.jsx(d,{className:"mx-auto mb-2 size-6 text-primary"}),e.jsx("h2",{className:"font-display text-xl font-semibold",children:"Un bien en tête ? Testez-le maintenant"}),e.jsx("p",{className:"mx-auto mt-2 max-w-xl text-[14px] text-muted-foreground",children:"Collez une annonce dans l'analyse express : rentabilité nette, cash-flow et prix au m² face au quartier, gratuitement et sans inscription. Le même moteur que l'extension."}),e.jsx(s,{to:"/analyse",className:"mt-4 inline-block rounded-lg bg-primary px-5 py-2.5 text-[14px] font-bold text-primary-foreground",children:"Lancer une analyse express"})]}),e.jsx(x,{show:["academie","guides","extension"]})]}),e.jsx("footer",{className:"mt-6 border-t border-border",children:e.jsxs("div",{className:"mx-auto max-w-4xl space-y-1.5 py-6 text-[12px] text-muted-foreground",children:[e.jsxs("p",{children:["Repères de prix statiques avec méthode DVF documentée ; loyers dâannonce ANIL"," ",r.millesime,", charges comprises (",r.attribution,")."," ",e.jsx("a",{href:"/methodologie",className:"underline underline-offset-2",children:"Consultez les sources, périodes et limites"}),"."]}),e.jsx("p",{children:"Hopelia. Tout l'immobilier locatif, pour tous. Contenu fourni à titre informatif, il ne constitue pas un conseil juridique ou fiscal."})]})})]})}export{K as component};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.