[
  {
    "nom": "Albigny-sur-Saône",
    "direction": "nord",
    "prix_m2": 4074,
    "m2_500k": 123,
    "eau": "Saône",
    "vue": "Coteau Saône",
    "vie_village": "Correcte",
    "creche": "✓ 2 structures : LLPE, AGDS",
    "limonest_min": 22,
    "sp_train_min": 20,
    "verdict": "Accessible",
    "nature_score": 2.01,
    "nature_desc": "★★☆☆☆ À explorer",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "Bord de Saône au nord — TER Saint-Paul 20min à 4 074€/m²",
    "pros": [
      "TER Saint-Paul 20min direct — accès Lyon ouest sans correspondance",
      "Bord de Saône + coteau — eau et vue présentes (rares à ce niveau de prix)",
      "2 crèches (LLPE, AGDS) + sortir 4.4/5 — vie de bourg active",
      "4 074€/m² → 123m² pour 500k€ — surface honnête pour proximité Saône"
    ],
    "cons": [
      "Limonest 22min voiture — bascule Techlid lente aux heures de pointe",
      "Nature 2/5 + charme 3/5 — bourg densément urbanisé, peu de respiration",
      "Santé 2.9/5 + écoles 3/5 — équipements moyens pour 3 057 hab."
    ],
    "alertes": [],
    "population": 3057,
    "sante": 2.94,
    "ecoles": 3.01,
    "commerces": 3.58,
    "securite": 2.82,
    "fibre": 5,
    "potentiel_immo": 2.03,
    "ensoleillement": 3.02,
    "mobilite_douce": 4.04,
    "charme": 3.04,
    "creche_count": 2,
    "lat": 45.865,
    "lng": 4.826,
    "surface_estimee": 123,
    "sortir": 4.36,
    "score_default": 3.22
  },
  {
    "nom": "Alix",
    "direction": "nord-ouest",
    "prix_m2": 3472,
    "m2_500k": 144,
    "eau": "Ruisseaux",
    "vue": "Panoramique vignes pierres dorées",
    "vie_village": "Faible (hameau)",
    "creche": "✓ BABILOU",
    "limonest_min": 25,
    "sp_train_min": 48,
    "verdict": "Correct",
    "nature_score": 4.5,
    "nature_desc": "★★★★ Vignes + forêt + panorama exceptionnel",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [
      "Vue panoramique vignes pierres dorées — paysage exceptionnel",
      "Nature score 4.5 — l'un des plus élevés",
      "Seulement 777 habitants — calme absolu",
      "Bâti pierres dorées authentique — charme garanti"
    ],
    "cons": [
      "Aucune crèche — Anse à 15min",
      "Train Saint-Paul 40min — éloignement réel",
      "Vie de village quasi inexistante — hameau isolé"
    ],
    "alertes": [],
    "population": 777,
    "sante": 0.92,
    "ecoles": 1.02,
    "commerces": 1.95,
    "securite": 2.97,
    "fibre": 2.95,
    "potentiel_immo": 3.04,
    "ensoleillement": 4.05,
    "mobilite_douce": 1.53,
    "charme": 4.99,
    "creche_count": 1,
    "lat": 45.896,
    "lng": 4.62,
    "surface_estimee": 144,
    "sortir": 0.85,
    "score_default": 2.48,
    "securite_fallback_strate": true
  },
  {
    "nom": "Ambérieux-d'Azergues",
    "direction": "nord-ouest",
    "prix_m2": 2800,
    "m2_500k": 179,
    "eau": "Azergues",
    "vue": "Collines",
    "vie_village": "Faible",
    "creche": "⚠ Aucune structure petite enfance",
    "limonest_min": 25,
    "sp_train_min": 45,
    "verdict": "Correct",
    "nature_score": 2.99,
    "nature_desc": "★★★☆☆ Vallée Azergues + boisements",
    "mode_transport": "TER",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [
      "PPRI Azergues"
    ],
    "sante": 1.5,
    "ecoles": 1.95,
    "commerces": 1.5,
    "securite": 3,
    "fibre": 4,
    "potentiel_immo": 2.96,
    "ensoleillement": 3.47,
    "mobilite_douce": 1.99,
    "charme": 2.98,
    "creche_count": 0,
    "population": 651,
    "lat": 45.949,
    "lng": 4.68,
    "sortir": 1,
    "score_default": 2.19,
    "securite_estimation": true
  },
  {
    "nom": "Anse",
    "direction": "nord",
    "prix_m2": 2991,
    "m2_500k": 167,
    "eau": "Confluence Azergues-Saône",
    "vue": "Vue collines Beaujolais",
    "vie_village": "Bonne — bourg animé",
    "creche": "✓ 2 structures : C A S, SIMON CHABRIER",
    "limonest_min": 25,
    "sp_train_min": 40,
    "verdict": "Correct",
    "nature_score": 2.95,
    "nature_desc": "★★★☆☆ Confluence + vignes + coteaux",
    "mode_transport": "TER",
    "rang": null,
    "tagline": null,
    "pros": [
      "Confluence Azergues-Saône — double accès à l'eau",
      "Bourg animé avec commerces, marché et restaurants",
      "Crèche Les Bambins d'Anse sur place",
      "Vue collines Beaujolais — cadre viticole agréable"
    ],
    "cons": [
      "PPRI Azergues/Saône — vérifier les parcelles",
      "Train Saint-Paul 30min — correct sans plus",
      "Population 8000+ — ambiance plus urbaine"
    ],
    "alertes": [
      "PPRI Azergues/Saône"
    ],
    "population": 8206,
    "sante": 2.35,
    "ecoles": 3.5,
    "commerces": 1.67,
    "securite": 2.5,
    "fibre": 5,
    "potentiel_immo": 3.02,
    "ensoleillement": 3.03,
    "mobilite_douce": 3.01,
    "charme": 3.47,
    "creche_count": 2,
    "lat": 45.935,
    "lng": 4.72,
    "surface_estimee": 167,
    "sortir": 2.48,
    "score_default": 2.79
  },
  {
    "nom": "Bagnols",
    "direction": "nord-ouest",
    "prix_m2": 3237,
    "m2_500k": 154,
    "eau": "Ruisseaux",
    "vue": "Panoramique vignes pierres dorées",
    "vie_village": "Faible — bourg",
    "creche": "⚠ Aucune structure petite enfance",
    "limonest_min": 30,
    "sp_train_min": 55,
    "verdict": "Nature isolée",
    "nature_score": 4.47,
    "nature_desc": "★★★★½ Vignes, forêts, sentiers balisés GR, ruisseaux",
    "mode_transport": "autre",
    "rang": 0,
    "tagline": "Village perché pierres dorées — vue exceptionnelle, calme absolu",
    "pros": [
      "Vue panoramique vignes et pierres dorées remarquable",
      "Charme authentique du village classé",
      "Nature omniprésente — vignes, forêts, sentiers",
      "Prix attractifs pour le cachet"
    ],
    "cons": [
      "Isolement — aucun commerce, crèche ni école sur place",
      "Transports très éloignés — voiture indispensable",
      "Fibre optique en déploiement partiel",
      "Services de santé à 10-15 min"
    ],
    "alertes": [],
    "population": 765,
    "sante": 3.96,
    "ecoles": 0.55,
    "commerces": 1.19,
    "securite": 2.98,
    "fibre": 2.05,
    "potentiel_immo": 2.53,
    "ensoleillement": 4.02,
    "mobilite_douce": 0.97,
    "charme": 5,
    "creche_count": 0,
    "lat": 45.919,
    "lng": 4.609,
    "surface_estimee": 154,
    "sortir": 3.48,
    "score_default": 2.46,
    "securite_fallback_strate": true
  },
  {
    "nom": "Belmont-d'Azergues",
    "direction": "nord-ouest",
    "prix_m2": 3837,
    "m2_500k": 130,
    "eau": "Azergues bas",
    "vue": "Panoramique vignes",
    "vie_village": "Faible (Chazay 5min voiture)",
    "creche": "⚠ Aucune structure petite enfance",
    "limonest_min": 20,
    "sp_train_min": 48,
    "verdict": "Rêve complet",
    "nature_score": 4.05,
    "nature_desc": "★★★★ Combes boisées + GR Beaujolais + ruisseaux de combe",
    "mode_transport": "autre",
    "rang": 1,
    "tagline": "La Toscane beaujolaise — vue vignes + eau",
    "pros": [
      "Azergues en contrebas, ruisseaux possibles dans le jardin",
      "Vue panoramique vignes Beaujolais, couchers de soleil spectaculaires",
      "Bâti pierres dorées authentique, cachet réel",
      "Chazay à 5min voiture — vie de village complète"
    ],
    "cons": [
      "Aucune crèche à Belmont — La Ribambelle à Chazay (5min voiture)",
      "Brouillard inverse nov→mars à 320m — visiter en hiver",
      "PPRI Azergues — vérifier parcelle par parcelle",
      "Hameau sans vie de village à pied"
    ],
    "alertes": [
      "PPRI Azergues",
      "Brouillard inverse 320m",
      "Crèche à 5min voiture"
    ],
    "population": 720,
    "sante": 2.85,
    "ecoles": 1.45,
    "commerces": 2.06,
    "securite": 2.92,
    "fibre": 3.03,
    "potentiel_immo": 2.98,
    "ensoleillement": 2.97,
    "mobilite_douce": 2.02,
    "charme": 5,
    "creche_count": 0,
    "lat": 45.918,
    "lng": 4.665,
    "surface_estimee": 130,
    "sortir": 3.58,
    "score_default": 2.48,
    "securite_fallback_strate": true
  },
  {
    "nom": "Brindas",
    "direction": "ouest",
    "prix_m2": 3831,
    "m2_500k": 131,
    "eau": "Yzeron proche",
    "vue": "Collines",
    "vie_village": "Correcte",
    "creche": "✓✓ 3 structures : AGDS, BULBULLINE",
    "limonest_min": 20,
    "sp_train_min": 30,
    "verdict": "Correct",
    "nature_score": 2,
    "nature_desc": "★★½☆☆ Campagne périurbaine",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [],
    "population": 6775,
    "sante": 1.13,
    "ecoles": 3,
    "commerces": 1.76,
    "securite": 4.63,
    "fibre": 4.49,
    "potentiel_immo": 2.04,
    "ensoleillement": 3.03,
    "mobilite_douce": 2.55,
    "charme": 2.03,
    "creche_count": 3,
    "lat": 45.72,
    "lng": 4.694,
    "surface_estimee": 131,
    "sortir": 1.49,
    "score_default": 2.83
  },
  {
    "nom": "Bully",
    "direction": "nord-ouest",
    "prix_m2": 2612,
    "m2_500k": 191,
    "eau": "Brevenne",
    "vue": "Vallée",
    "vie_village": "Correcte",
    "creche": "✓ HALTE GARDERIE PARENTALE P'TITS ...",
    "limonest_min": 22,
    "sp_train_min": 45,
    "verdict": "Correct",
    "nature_score": 2.98,
    "nature_desc": "★★★☆☆ Brevenne + coteaux + campagne",
    "mode_transport": "TER",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [
      "PPRI Brevenne"
    ],
    "population": 2213,
    "sante": 1.89,
    "ecoles": 2.01,
    "commerces": 2.85,
    "securite": 1.84,
    "fibre": 3.97,
    "potentiel_immo": 3.04,
    "ensoleillement": 3.05,
    "mobilite_douce": 2.02,
    "charme": 2.48,
    "creche_count": 1,
    "lat": 45.847,
    "lng": 4.584,
    "surface_estimee": 191,
    "sortir": 3.2,
    "score_default": 2.52
  },
  {
    "nom": "Cailloux-sur-Fontaines",
    "direction": "nord",
    "prix_m2": 4571,
    "m2_500k": 109,
    "eau": "Aucune",
    "vue": "Plateau",
    "vie_village": "Correcte",
    "creche": "✓ 1 structure",
    "limonest_min": 18,
    "sp_train_min": 30,
    "verdict": "Correct",
    "nature_score": 3.01,
    "nature_desc": "★★★☆☆ Agréable",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "Plateau résidentiel calme au nord — sécurité 3.6/5 à 4 571€/m²",
    "pros": [
      "Sécurité 3.6/5 + santé 4.4/5 — un des couples sécurité+santé les plus solides du Top 30",
      "Potentiel immobilier 3.5/5 — commune en consolidation, prix encore tenables",
      "Nature 3/5 + 2 600 hab. — vrai plateau périurbain peu dense",
      "Crèche + fibre 5/5 + ensoleillement 3/5 — équipements de base présents"
    ],
    "cons": [
      "Train Saint-Paul 30min sans gare — voiture obligatoire pour Lyon centre",
      "Sortir 1.4/5 + commerces 3.4/5 + mobilité douce 2/5 — vie locale très limitée",
      "Aucune eau + vue plateau + charme 2.5/5 — pas de cachet village pierre dorée"
    ],
    "alertes": [],
    "population": 2600,
    "sante": 4.42,
    "ecoles": 2.48,
    "commerces": 3.37,
    "securite": 3.64,
    "fibre": 4.97,
    "potentiel_immo": 3.48,
    "ensoleillement": 2.99,
    "mobilite_douce": 1.97,
    "charme": 2.51,
    "creche_count": 1,
    "lat": 45.857,
    "lng": 4.878,
    "surface_estimee": 109,
    "sortir": 1.37,
    "score_default": 3.06
  },
  {
    "nom": "Caluire-et-Cuire",
    "direction": "sud",
    "prix_m2": 5500,
    "m2_500k": 91,
    "eau": "Aucune",
    "vue": "Ville / Colline",
    "vie_village": "Très bonne",
    "creche": "✓ 8+ structures",
    "limonest_min": 12,
    "sp_train_min": 12,
    "verdict": "Excellent",
    "nature_score": 1.99,
    "nature_desc": "★★☆☆☆ Urbain",
    "mode_transport": "metro",
    "rang": null,
    "tagline": "Banlieue nord lyonnaise dense — Métro C + Saint-Paul 12min à 5 500€/m²",
    "pros": [
      "Saint-Paul 12min via Métro C — le seul Top 30 desservi en métro",
      "Écoles 5/5 + santé 4.6/5 + 8 crèches — équipement urbain complet",
      "43 600 hab. — services et commerces équivalents petite ville Lyon",
      "Limonest 12min voiture — bascule Techlid possible"
    ],
    "cons": [
      "5 500€/m² → 91m² pour 500k€ — la pire surface du Top 30 hors Saint-Cyr",
      "Sécurité 1.1/5 — l'un des scores les plus bas du périmètre",
      "Nature 2/5 + aucune eau — environnement 100% urbain dense"
    ],
    "alertes": [],
    "population": 43600,
    "sante": 4.6,
    "ecoles": 4.95,
    "commerces": 3.92,
    "securite": 1.09,
    "fibre": 5,
    "potentiel_immo": 2.02,
    "ensoleillement": 3.01,
    "mobilite_douce": 3.98,
    "charme": 2.48,
    "creche_count": 8,
    "lat": 45.795,
    "lng": 4.848,
    "surface_estimee": 91,
    "sortir": 3.79,
    "score_default": 3.53
  },
  {
    "nom": "Chamelet",
    "direction": "nord-ouest",
    "prix_m2": 2100,
    "m2_500k": 238,
    "eau": "Ruisseaux",
    "vue": "Collines vignes",
    "vie_village": "Faible — bourg",
    "creche": "✓ LES PTITES FRIPOUILLES CHAMELOISE",
    "limonest_min": 32,
    "sp_train_min": 55,
    "verdict": "Campagne profonde",
    "nature_score": 4,
    "nature_desc": "★★★★ Vignes, collines boisées, ruisseaux",
    "mode_transport": "autre",
    "rang": 0,
    "tagline": "Petit village de vignerons — calme et prix bas",
    "pros": [
      "Prix très bas pour la région",
      "Cadre viticole authentique",
      "Proximité Le Bois-d'Oingt pour commerces",
      "Calme absolu"
    ],
    "cons": [
      "Aucun service sur place",
      "Très éloigné des transports en commun",
      "Vie sociale limitée",
      "Route sinueuse pour rejoindre Lyon"
    ],
    "alertes": [],
    "population": 706,
    "sante": 1.02,
    "ecoles": 0.5,
    "commerces": 2.27,
    "securite": 2.87,
    "fibre": 1.96,
    "potentiel_immo": 1.98,
    "ensoleillement": 3.47,
    "mobilite_douce": 0.99,
    "charme": 4.03,
    "creche_count": 1,
    "lat": 45.962,
    "lng": 4.508,
    "surface_estimee": 238,
    "sortir": 4.07,
    "score_default": 2.45,
    "securite_fallback_strate": true
  },
  {
    "nom": "Charbonnières-les-Bains",
    "direction": "ouest",
    "prix_m2": 5200,
    "m2_500k": 96,
    "eau": "Aucune",
    "vue": "Collines boisées",
    "vie_village": "Correcte",
    "creche": "✓✓ 3 structures : BABILOU, LES PETITS CHAPERONS ROUGES",
    "limonest_min": 18,
    "sp_train_min": 17,
    "verdict": "Standing élevé",
    "nature_score": 3.51,
    "nature_desc": "★★★½ Collines boisées, parc thermal, cadre verdoyant",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "Standing thermal ouest — train Saint-Paul 17min à 5 200€/m² (96m²)",
    "pros": [
      "Train Saint-Paul 17min — un des accès les plus rapides du Top 30",
      "Nature 3.5/5 + collines boisées + parc thermal — cadre verdoyant rare en zone dense",
      "3 structures petite enfance (BABILOU, Petits Chaperons Rouges) + écoles 3.5/5",
      "Charme 2.5/5 + vue collines — héritage thermal préservé sur certains quartiers"
    ],
    "cons": [
      "5 200€/m² → 96m² pour 500k€ — surface contrainte pour famille",
      "Sécurité 1.3/5 + santé 2.4/5 — équipements médicaux et sécurité en retrait",
      "Aucune eau + sortir 3.9/5 — pas de Saône, vie nocturne limitée hors casino"
    ],
    "alertes": [],
    "population": 5383,
    "sante": 2.39,
    "ecoles": 3.51,
    "commerces": 3.61,
    "securite": 1.34,
    "fibre": 4.99,
    "potentiel_immo": 1.55,
    "ensoleillement": 2.95,
    "mobilite_douce": 3.04,
    "charme": 2.54,
    "creche_count": 3,
    "lat": 45.774,
    "lng": 4.746,
    "surface_estimee": 96,
    "sortir": 3.88,
    "score_default": 3.16
  },
  {
    "nom": "Charnay",
    "direction": "nord-ouest",
    "prix_m2": 3170,
    "m2_500k": 158,
    "eau": "Azergues proche",
    "vue": "Panoramique collines",
    "vie_village": "Animée",
    "creche": "⚠ Aucune — L'Arbresle 12min",
    "limonest_min": 25,
    "sp_train_min": 52,
    "verdict": "Beaujolais",
    "nature_score": 3.96,
    "nature_desc": "★★★★ Beaujolais + forêt + GR passe par le village",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "Panorama 360° et village vivant — l'équilibre rare des Monts du Lyonnais",
    "pros": [
      "Vue panoramique 360° exceptionnelle — l'un des meilleurs points de vue de la région",
      "Village vivant avec commerces et école sur place",
      "Nature score élevé (4) — campagne préservée à 1000 hab.",
      "Prix raisonnable pour la qualité : 3170 €/m²"
    ],
    "cons": [
      "Pas de crèche — L'Arbresle à 12min",
      "Train Saint-Paul 38min — trajets longs",
      "Petit village — offre commerciale limitée au quotidien"
    ],
    "alertes": [],
    "population": 1023,
    "sante": 4.14,
    "ecoles": 2.47,
    "commerces": 4.27,
    "securite": 2.71,
    "fibre": 3.52,
    "potentiel_immo": 2.95,
    "ensoleillement": 4.05,
    "mobilite_douce": 1.96,
    "charme": 4.05,
    "creche_count": 0,
    "lat": 45.893,
    "lng": 4.667,
    "surface_estimee": 158,
    "sortir": 4.62,
    "score_default": 3.2,
    "securite_fallback_strate": true
  },
  {
    "nom": "Chasselay",
    "direction": "nord-ouest",
    "prix_m2": 3776,
    "m2_500k": 132,
    "eau": "Ruisseaux coteau",
    "vue": "Vue Alpes/plaine",
    "vie_village": "Correcte",
    "creche": "⚠ Aucune — Lissieu ou Neuville 10min",
    "limonest_min": 15,
    "sp_train_min": 30,
    "verdict": "Bon pratique",
    "nature_score": 3,
    "nature_desc": "★★☆☆☆ À explorer",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "Village coteau Monts d'Or à 3 776€/m² — vue Alpes, Limonest 15min",
    "pros": [
      "Vue Alpes/plaine dégagée depuis les coteaux — paysage rare à ce prix",
      "Limonest 15min + train Saint-Paul 30min — double accès correct",
      "Sécurité 3.4/5 + santé 4.2/5 + commerces 4.7/5 — services solides pour 3 000 hab.",
      "3 776€/m² → 132m² pour 500k€ — surface confortable hors zone tendue"
    ],
    "cons": [
      "Aucune crèche sur place — Lissieu ou Neuville 10min obligatoire",
      "Sortir 2.7/5 + mobilité douce 2.5/5 — village calme, vie nocturne nulle",
      "Pas d'accès eau — ruisseaux coteau uniquement, ni Saône ni Azergues"
    ],
    "alertes": [],
    "population": 2973,
    "sante": 4.25,
    "ecoles": 2.47,
    "commerces": 4.68,
    "securite": 3.36,
    "fibre": 4.48,
    "potentiel_immo": 2.5,
    "ensoleillement": 4.01,
    "mobilite_douce": 2.49,
    "charme": 3.05,
    "creche_count": 0,
    "lat": 45.875,
    "lng": 4.77,
    "surface_estimee": 132,
    "sortir": 2.71,
    "score_default": 3.25
  },
  {
    "nom": "Chazay-d'Azergues",
    "direction": "nord-ouest",
    "prix_m2": 3479,
    "m2_500k": 144,
    "eau": "Azergues bords",
    "vue": "Coteaux Beaujolais",
    "vie_village": "Excellente à pied",
    "creche": "✓✓ 3 structures : Crèche Ribambelle, Multi-accueil, RAM",
    "limonest_min": 15,
    "sp_train_min": 45,
    "verdict": "Bon compromis",
    "nature_score": 4.01,
    "nature_desc": "★★★ Azergues bords + boucle Chazay le long rivière — moins immersif que Châtillon",
    "mode_transport": "autre",
    "rang": 6,
    "tagline": "Vie de village + meilleure petite enfance vallée",
    "pros": [
      "Meilleure vie de village à pied de la vallée",
      "Crèche La Ribambelle + école Jules Verne sur place",
      "Gare Chazay-Marcilly — C12 direct Saint-Paul 22min",
      "Bus 118 → Limonest 5min "
    ],
    "cons": [
      "Bâti dominant pavillonnaire — patrimoine ancien rare hors centre médiéval",
      "Saint-Paul 45min via TER Chazay-Marcilly — long pour actifs Lyon centre",
      "Commerces 2.5/5 — offre limitée, dépendance Limonest/Anse pour grandes courses"
    ],
    "alertes": [
      "Bâti pavillonnaire dominant — chercher maisons anciennes"
    ],
    "population": 4410,
    "sante": 4.51,
    "ecoles": 3.95,
    "commerces": 2.53,
    "securite": 3.05,
    "fibre": 4.54,
    "potentiel_immo": 2.96,
    "ensoleillement": 3.45,
    "mobilite_douce": 3.04,
    "charme": 3.48,
    "creche_count": 3,
    "lat": 45.873,
    "lng": 4.716,
    "surface_estimee": 144,
    "sortir": 4.13,
    "score_default": 3.52
  },
  {
    "nom": "Chessy-les-Mines",
    "direction": "nord-ouest",
    "prix_m2": 2700,
    "m2_500k": 185,
    "eau": "Azergues",
    "vue": "Collines",
    "vie_village": "Faible",
    "creche": "✓ Crèche Petit Chessillon",
    "limonest_min": 30,
    "sp_train_min": 55,
    "verdict": "Caractère + eau",
    "nature_score": 4.51,
    "nature_desc": "★★★★½ Azergues bord + Bois du Four + sentier rivière",
    "mode_transport": "autre",
    "rang": 8,
    "tagline": "Pierres dorées + crèche + eau — prix très bas",
    "pros": [
      "Crèche Le Petit Chessillon sur place",
      "Bâti pierres dorées authentique",
      "Azergues + ruisseaux affluents",
      "~185m² à 500k€ — rare à ce niveau de qualité"
    ],
    "cons": [
      "Bus 118 → Chazay → C12 → Saint-Paul : ~40min total",
      "Peu animé — vie de village limitée"
    ],
    "alertes": [],
    "sante": 1.5,
    "ecoles": 1.98,
    "commerces": 1.5,
    "securite": 1.21,
    "fibre": 3.54,
    "potentiel_immo": 3.49,
    "ensoleillement": 3.5,
    "mobilite_douce": 1.98,
    "charme": 4.51,
    "creche_count": 1,
    "population": 2055,
    "lat": 45.893,
    "lng": 4.628,
    "sortir": 1.5,
    "score_default": 2.52
  },
  {
    "nom": "Châtillon d'Azergues",
    "direction": "nord-ouest",
    "prix_m2": 2700,
    "m2_500k": 185,
    "eau": "Azergues traverse",
    "vue": "Panoramique collines",
    "vie_village": "Faible — bourg",
    "creche": "✓ AGREC SECTION GARDERIE",
    "limonest_min": 25,
    "sp_train_min": 50,
    "verdict": "Calme + eau",
    "nature_score": 4.48,
    "nature_desc": "★★★★½ Azergues traverse + GR Beaujolais + sous-bois denses",
    "mode_transport": "autre",
    "rang": 10,
    "tagline": "Calme absolu + eau + nature — prix très bas",
    "pros": [
      "Azergues traverse le village — ambiance eau omniprésente",
      "GR Beaujolais + sentier rivière + baignade été",
      "Bâti pierres dorées avec château médiéval",
      "~185m² à 500k€"
    ],
    "cons": [
      "Bus 118 → Chazay → C12 → Saint-Paul : ~35min total",
      "Aucune crèche — Chessy ou Chazay 5-8min",
      "Vie de village faible sur place"
    ],
    "alertes": [
      "Aucune crèche — Chessy/Chazay 5-8min"
    ],
    "sante": 1,
    "ecoles": 1.45,
    "commerces": 0.5,
    "securite": 3,
    "fibre": 3.02,
    "potentiel_immo": 3.05,
    "ensoleillement": 2.95,
    "mobilite_douce": 2.04,
    "charme": 4.98,
    "creche_count": 1,
    "population": 2252,
    "lat": 45.884,
    "lng": 4.671,
    "sortir": 2,
    "score_default": 2.54,
    "securite_estimation": true
  },
  {
    "nom": "Civrieux-d'Azergues",
    "direction": "nord-ouest",
    "prix_m2": 3500,
    "m2_500k": 143,
    "eau": "Azergues",
    "vue": "Vue collines",
    "vie_village": "Correcte",
    "creche": "✓ 2 structures : École privée, crèche Chazay 2min",
    "limonest_min": 10,
    "sp_train_min": 42,
    "verdict": "Très bon",
    "nature_score": 2.96,
    "nature_desc": "★★★ Azergues proche + étang de Civrieux + sentiers corrects",
    "mode_transport": "autre",
    "rang": 5,
    "tagline": "Position charnière — Monts d'Or et Beaujolais",
    "pros": [
      "Bus 118 : 5min → Chazay-Marcilly → C12 → Saint-Paul",
      "École catholique sur place + crèche Chazay 2min",
      "Bus 118 → Limonest La Gabrielle en ~8min ",
      "Azergues à proximité — ruisseaux selon emplacement"
    ],
    "cons": [
      "Train Saint-Paul 42min via correspondance — accès Lyon centre lent",
      "Sécurité 0.9/5 — score parmi les plus bas du Beaujolais sud",
      "1 675 hab. + écoles 3/5 — équipements limités, dépendance Chazay/Lozanne"
    ],
    "alertes": [
      "Départementale passante — vérifier bien précis",
      "PLU zone développement"
    ],
    "population": 1675,
    "sante": 4.9,
    "ecoles": 2.97,
    "commerces": 4.9,
    "securite": 2.5,
    "fibre": 3.98,
    "potentiel_immo": 3.53,
    "ensoleillement": 3.52,
    "mobilite_douce": 2.54,
    "charme": 3.05,
    "creche_count": 2,
    "lat": 45.892,
    "lng": 4.706,
    "surface_estimee": 143,
    "sortir": 4.72,
    "score_default": 3.2
  },
  {
    "nom": "Cogny",
    "direction": "nord-ouest",
    "prix_m2": 1800,
    "m2_500k": 278,
    "eau": "Ruisseaux",
    "vue": "Vignes Beaujolais",
    "vie_village": "Correcte",
    "creche": "✓ ASSOCIATION LES P'TITS LOUPS DU ...",
    "limonest_min": 28,
    "sp_train_min": 52,
    "verdict": "Village viticole",
    "nature_score": 3.96,
    "nature_desc": "★★★★ Vignes pierres dorées, sentiers, collines",
    "mode_transport": "autre",
    "rang": 0,
    "tagline": "Vignoble des Pierres Dorées — vie de village correcte",
    "pros": [
      "Bourg avec quelques commerces et école",
      "Cadre viticole charmant",
      "Prix accessibles",
      "Proximité Le Bois-d'Oingt et Anse"
    ],
    "cons": [
      "Pas de crèche — Le Bois-d'Oingt à 5min",
      "Transports en commun quasi inexistants",
      "Éloigné de Lyon en transport",
      "Services de santé limités"
    ],
    "alertes": [],
    "population": 1211,
    "sante": 4.48,
    "ecoles": 2,
    "commerces": 4.07,
    "securite": 2.98,
    "fibre": 2.99,
    "potentiel_immo": 2.46,
    "ensoleillement": 3.47,
    "mobilite_douce": 1.49,
    "charme": 4.47,
    "creche_count": 1,
    "lat": 45.933,
    "lng": 4.594,
    "surface_estimee": 278,
    "sortir": 3.34,
    "score_default": 3.17,
    "securite_fallback_strate": true
  },
  {
    "nom": "Collonges-au-Mont-d'Or",
    "direction": "nord",
    "prix_m2": 4800,
    "m2_500k": 104,
    "eau": "Saône",
    "vue": "Correcte",
    "vie_village": "Oui à pied",
    "creche": "✓✓ 4 structures : CRECHES DE DEMAIN OUEST, CRECHES DE DEMAIN MONTS D'OR",
    "limonest_min": 15,
    "sp_train_min": 9,
    "verdict": "Rêve Saône",
    "nature_score": 2.96,
    "nature_desc": "★★★ Berges Saône promenables mais urbanisées · Parc Courzieu 20min",
    "mode_transport": "autre",
    "rang": 2,
    "tagline": "Lever de soleil sur la Saône — 18min Saint-Paul",
    "pros": [
      "Saône au pied + lever de soleil sur l'eau",
      "Crèche 44 places + 3 écoles maternelles — top petite enfance",
      "Train Saint-Paul 18min — parmi les meilleurs temps",
      "Vie de village à pied — marché, restos, boulangerie"
    ],
    "cons": [
      "Prix très élevés : 4600€/m² — les plus chers de la liste",
      "PPRI quais — exclure impérativement la zone rouge",
      "Surface limitée : ~108m² pour 500k€"
    ],
    "alertes": [
      "PPRI quais — exclure zone rouge",
      "Prix au m² les plus élevés de la liste"
    ],
    "population": 4669,
    "sante": 3.58,
    "ecoles": 4.51,
    "commerces": 4.13,
    "securite": 1.44,
    "fibre": 5,
    "potentiel_immo": 1.48,
    "ensoleillement": 2.99,
    "mobilite_douce": 3.97,
    "charme": 3.48,
    "creche_count": 4,
    "lat": 45.82,
    "lng": 4.842,
    "surface_estimee": 104,
    "sortir": 4.62,
    "score_default": 3.28
  },
  {
    "nom": "Couzon-au-Mont-d'Or",
    "direction": "nord",
    "prix_m2": 3117,
    "m2_500k": 160,
    "eau": "Saône",
    "vue": "Saône + collines",
    "vie_village": "Bonne bourg",
    "creche": "✓✓ 3 structures : PEOPLE AND BABY (CRECHES POUR TO..., AU BEBE D'OR",
    "limonest_min": 18,
    "sp_train_min": 12,
    "verdict": "Angle mort clé",
    "nature_score": 3.03,
    "nature_desc": "★★★ Berges Saône bétonnées · Monts d'Or proches mais hors commune",
    "mode_transport": "autre",
    "rang": 4,
    "tagline": "L'angle mort — même qualité Saône, -20%",
    "pros": [
      "Même arc val de Saône que Collonges — 20% moins cher",
      "Gare TER au village — direct Saint-Paul 20min",
      "Crèche People&Baby 22 berceaux + école Reverchon",
      "Monts d'Or accessibles en 10min — randonnées proches"
    ],
    "cons": [
      "Offre commerciale plus limitée qu'à Collonges",
      "Quelques rues passantes en bord de Saône",
      "Marché immobilier tendu — peu de biens disponibles"
    ],
    "alertes": [],
    "population": 2619,
    "sante": 3.17,
    "ecoles": 3.49,
    "commerces": 4.45,
    "securite": 3,
    "fibre": 5,
    "potentiel_immo": 1.96,
    "ensoleillement": 2.95,
    "mobilite_douce": 4.04,
    "charme": 3.46,
    "creche_count": 3,
    "lat": 45.843,
    "lng": 4.826,
    "surface_estimee": 160,
    "sortir": 4.3,
    "score_default": 3.76
  },
  {
    "nom": "Craponne",
    "direction": "ouest",
    "prix_m2": 3900,
    "m2_500k": 128,
    "eau": "Yzeron",
    "vue": "Aucune",
    "vie_village": "Bonne — bourg animé",
    "creche": "✓✓ 6 structures petite enfance",
    "limonest_min": 18,
    "sp_train_min": 28,
    "verdict": "Correct",
    "nature_score": 1.51,
    "nature_desc": "★★☆☆☆ Vallée Yzeron + parc périurbain",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "Le Caluire de l'ouest — bourg complet sans le charme.",
    "pros": [
      "Vie de bourg complète : commerces 4/5, écoles 4.5/5",
      "Tram-train 28min Saint-Paul (15min Vaise direct)",
      "Marché du dimanche — un des plus réputés de l'ouest",
      "Fibre 5/5 — infrastructure parfaite"
    ],
    "cons": [
      "Charme limité (1.5/5) — urbanisation dense, peu de caractère",
      "Nature faible (1.5/5) — vallée Yzeron seule échappatoire",
      "+7%/2 ans · 3 900€/m² — créneau de prix qui se ferme"
    ],
    "alertes": [],
    "population": 12084,
    "sante": 4.28,
    "ecoles": 4.49,
    "commerces": 3.92,
    "securite": 2.3,
    "fibre": 5,
    "potentiel_immo": 1.54,
    "ensoleillement": 3.03,
    "mobilite_douce": 2.96,
    "charme": 1.52,
    "creche_count": 6,
    "lat": 45.743,
    "lng": 4.722,
    "surface_estimee": 128,
    "sortir": 3.56,
    "score_default": 3.37
  },
  {
    "nom": "Curis-au-Mont-d'Or",
    "direction": "nord",
    "prix_m2": 4062,
    "m2_500k": 123,
    "eau": "Aucune",
    "vue": "Monts d'Or",
    "vie_village": "Limitée",
    "creche": "✗",
    "limonest_min": 15,
    "sp_train_min": 25,
    "verdict": "Correct",
    "nature_score": 4.03,
    "nature_desc": "★★★★☆ Remarquable",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [
      "Nature Monts d'Or",
      "Charme village"
    ],
    "cons": [
      "Peu de services",
      "Pas de gare"
    ],
    "alertes": [],
    "population": 1100,
    "sante": 3.93,
    "ecoles": 1.5,
    "commerces": 3.17,
    "securite": 2.7,
    "fibre": 3.96,
    "potentiel_immo": 3,
    "ensoleillement": 3.51,
    "mobilite_douce": 1.95,
    "charme": 4.03,
    "creche_count": 0,
    "lat": 45.872,
    "lng": 4.812,
    "surface_estimee": 123,
    "sortir": 2.47,
    "score_default": 3.04,
    "securite_fallback_strate": true
  },
  {
    "nom": "Dardilly",
    "direction": "ouest",
    "prix_m2": 4173,
    "m2_500k": 120,
    "eau": "Aucune",
    "vue": "Aucune",
    "vie_village": "Dortoir",
    "creche": "✓✓ 5 structures petite enfance",
    "limonest_min": 10,
    "sp_train_min": 25,
    "verdict": "Éliminé",
    "nature_score": 0.95,
    "nature_desc": "★☆☆☆☆ À explorer",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "Banlieue ouest accolée à Techlid — Limonest 10min à 4 173€/m², 5 crèches",
    "pros": [
      "Limonest 10min — accès direct Techlid sans congestion",
      "5 structures petite enfance + commerces 4/5 + sortir 4.3/5 — vie urbaine complète",
      "4 173€/m² → 120m² pour 500k€ — surface honnête pour proximité Techlid",
      "Fibre 5/5 + ensoleillement 3.5/5 + 9 221 hab. — équipements de petite ville"
    ],
    "cons": [
      "Nature 1/5 + aucune vue + aucune eau + charme 1.5/5 — dortoir routier sans cachet",
      "Sécurité 1.2/5 — un des scores les plus bas du Top 30 (proximité A6/N6)",
      "Train Saint-Paul 25min sans gare — voiture obligatoire pour Lyon centre"
    ],
    "alertes": [],
    "population": 9221,
    "sante": 3.47,
    "ecoles": 3.45,
    "commerces": 3.97,
    "securite": 1.17,
    "fibre": 5,
    "potentiel_immo": 1.95,
    "ensoleillement": 3.55,
    "mobilite_douce": 2.55,
    "charme": 1.53,
    "creche_count": 5,
    "lat": 45.807,
    "lng": 4.755,
    "surface_estimee": 120,
    "sortir": 4.28,
    "score_default": 3.09
  },
  {
    "nom": "Dommartin",
    "direction": "nord-ouest",
    "prix_m2": 4545,
    "m2_500k": 110,
    "eau": "Ruisseaux",
    "vue": "Collines Monts d'Or",
    "vie_village": "Correcte",
    "creche": "✓✓ 4 structures : OPTI'BB, OPTI'MOMES",
    "limonest_min": 12,
    "sp_train_min": 35,
    "verdict": "Correct",
    "nature_score": 2.48,
    "nature_desc": "★★★☆☆ Plateau agricole + bois",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [],
    "population": 2687,
    "sante": 4.83,
    "ecoles": 2.47,
    "commerces": 1.55,
    "securite": 2.12,
    "fibre": 4.02,
    "potentiel_immo": 2.5,
    "ensoleillement": 3.51,
    "mobilite_douce": 1.95,
    "charme": 2,
    "creche_count": 4,
    "lat": 45.843,
    "lng": 4.709,
    "surface_estimee": 110,
    "sortir": 2.07,
    "score_default": 2.84
  },
  {
    "nom": "Fleurieu-sur-Saône",
    "direction": "nord",
    "prix_m2": 3800,
    "m2_500k": 132,
    "eau": "Saône proche",
    "vue": "Saône",
    "vie_village": "Correcte",
    "creche": "✓ 2 structures : CRECHES DE DEMAIN MONTS D'OR, MANOT",
    "limonest_min": 20,
    "sp_train_min": 17,
    "verdict": "Méconnu",
    "nature_score": 1.97,
    "nature_desc": "★★☆☆☆ À explorer",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [],
    "population": 1597,
    "sante": 3.69,
    "ecoles": 2.5,
    "commerces": 2.34,
    "securite": 2.5,
    "fibre": 5,
    "potentiel_immo": 2.03,
    "ensoleillement": 3.02,
    "mobilite_douce": 4.04,
    "charme": 2.54,
    "creche_count": 2,
    "lat": 45.856,
    "lng": 4.834,
    "surface_estimee": 132,
    "sortir": 4.55,
    "score_default": 3.07
  },
  {
    "nom": "Fleurieux-sur-l'Arbresle",
    "direction": "ouest",
    "prix_m2": 3549,
    "m2_500k": 141,
    "eau": "Azergues proche",
    "vue": "Collines",
    "vie_village": "Faible",
    "creche": "✓ OPTI'MOMES",
    "limonest_min": 22,
    "sp_train_min": 32,
    "verdict": "Rural",
    "nature_score": 3.03,
    "nature_desc": "★★★☆☆ À explorer",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [],
    "population": 2361,
    "sante": 1.17,
    "ecoles": 1.97,
    "commerces": 3.72,
    "securite": 1.45,
    "fibre": 4.05,
    "potentiel_immo": 3.03,
    "ensoleillement": 3.52,
    "mobilite_douce": 2.04,
    "charme": 2.55,
    "creche_count": 1,
    "lat": 45.841,
    "lng": 4.619,
    "surface_estimee": 141,
    "sortir": 2.13,
    "score_default": 2.72
  },
  {
    "nom": "Fontaines-Saint-Martin",
    "direction": "nord",
    "prix_m2": 3745,
    "m2_500k": 134,
    "eau": "Aucune",
    "vue": "Colline",
    "vie_village": "Correcte",
    "creche": "✓ 1 structure",
    "limonest_min": 15,
    "sp_train_min": 25,
    "verdict": "Accessible",
    "nature_score": 2.01,
    "nature_desc": "★★☆☆☆ À explorer",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "Coteau résidentiel calme — Limonest 15min sans Saône à 3 745€/m²",
    "pros": [
      "Limonest 15min — accès Techlid sans passer par A6 saturée",
      "3 745€/m² → 134m² pour 500k€ — un des meilleurs ratios proche Limonest",
      "Crèche + écoles + santé 3.6/5 — services suffisants pour 3 400 hab.",
      "Fibre 5/5 + potentiel immobilier 3/5 — commune en consolidation"
    ],
    "cons": [
      "Sortir 0.9/5 — quasi aucun bar/restaurant, vie sociale à Fontaines-sur-Saône",
      "Nature 2/5 + aucune eau + charme 2.5/5 — plateau périurbain sans cachet",
      "Train Saint-Paul 25min sans gare — voiture obligatoire pour Lyon centre"
    ],
    "alertes": [],
    "population": 3400,
    "sante": 3.61,
    "ecoles": 3.03,
    "commerces": 3.32,
    "securite": 2.98,
    "fibre": 4.98,
    "potentiel_immo": 3.05,
    "ensoleillement": 3.04,
    "mobilite_douce": 2.95,
    "charme": 2.5,
    "creche_count": 1,
    "lat": 45.847,
    "lng": 4.858,
    "surface_estimee": 134,
    "sortir": 0.94,
    "score_default": 3.1
  },
  {
    "nom": "Fontaines-sur-Saône",
    "direction": "nord",
    "prix_m2": 3800,
    "m2_500k": 132,
    "eau": "Saône",
    "vue": "Coteau Saône",
    "vie_village": "Bonne",
    "creche": "✓ 2 structures",
    "limonest_min": 14,
    "sp_train_min": 20,
    "verdict": "Accessible",
    "nature_score": 2.45,
    "nature_desc": "★★½☆☆ Correct",
    "mode_transport": "bus",
    "rang": null,
    "tagline": "Bord de Saône à 14min Limonest — accessible mais densément urbanisée",
    "pros": [
      "Limonest 14min + Saint-Paul 20min — double accès Lyon ouest/nord équilibré",
      "Bord de Saône + coteau — eau et vue présentes (rares à ce niveau de prix)",
      "Vie de bourg correcte : 2 crèches, écoles 3.5/5, sortir 4.2/5",
      "3 800€/m² → 132m² pour 500k€ — surface honnête pour proximité Lyon"
    ],
    "cons": [
      "Nature 2.5/5 + charme 3/5 — urbanisation dense, peu de respiration",
      "Sécurité 3/5 + 6 800 hab. — densité périurbaine, pas un village",
      "Pas de TER direct Saint-Paul — accès via correspondance ou voiture"
    ],
    "alertes": [],
    "population": 6800,
    "sante": 3.34,
    "ecoles": 3.55,
    "commerces": 3.34,
    "securite": 3.04,
    "fibre": 4.97,
    "potentiel_immo": 2.45,
    "ensoleillement": 2.96,
    "mobilite_douce": 3.55,
    "charme": 3.02,
    "creche_count": 2,
    "lat": 45.836,
    "lng": 4.849,
    "surface_estimee": 132,
    "sortir": 4.19,
    "score_default": 3.47
  },
  {
    "nom": "Francheville",
    "direction": "ouest",
    "prix_m2": 4178,
    "m2_500k": 120,
    "eau": "Aucune",
    "vue": "Aucune",
    "vie_village": "Urbaine",
    "creche": "✓✓ 7 structures petite enfance",
    "limonest_min": 20,
    "sp_train_min": 20,
    "verdict": "Éliminé",
    "nature_score": 0.96,
    "nature_desc": "★☆☆☆☆ À explorer",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "Banlieue ouest lyonnaise dense — 7 crèches mais nature 1/5 à 4 178€/m²",
    "pros": [
      "7 structures petite enfance pour 15 604 hab. — densité crèches exceptionnelle",
      "Train Saint-Paul 20min + Limonest 20min — double accès correct",
      "Sécurité 3.5/5 + écoles 4/5 + fibre 5/5 — équipements urbains solides",
      "4 178€/m² → 120m² pour 500k€ — surface correcte pour proximité Lyon"
    ],
    "cons": [
      "Nature 1/5 + aucune vue + aucune eau + charme 2/5 — 100% urbain sans respiration",
      "15 604 hab. — c'est une ville-banlieue, pas une commune périurbaine",
      "Commerces 2.3/5 + sortir 2.3/5 — équipements commerciaux en retrait pour la taille"
    ],
    "alertes": [],
    "population": 15604,
    "sante": 2.84,
    "ecoles": 4.01,
    "commerces": 2.35,
    "securite": 3.51,
    "fibre": 4.95,
    "potentiel_immo": 1.46,
    "ensoleillement": 2.97,
    "mobilite_douce": 2.99,
    "charme": 2.04,
    "creche_count": 7,
    "lat": 45.735,
    "lng": 4.762,
    "surface_estimee": 120,
    "sortir": 2.26,
    "score_default": 3.14
  },
  {
    "nom": "Frontenas",
    "direction": "nord-ouest",
    "prix_m2": 3250,
    "m2_500k": 154,
    "eau": "Ruisseaux",
    "vue": "Vignes pierres dorées",
    "vie_village": "Faible",
    "creche": "✓ MAM DES BOUTS'CHOUX",
    "limonest_min": 25,
    "sp_train_min": 50,
    "verdict": "Campagne chic",
    "nature_score": 3.98,
    "nature_desc": "★★★★ Vignes, vergers, chemins ruraux",
    "mode_transport": "autre",
    "rang": 0,
    "tagline": "Hameau viticole entre Anse et Le Bois-d'Oingt",
    "pros": [
      "Cadre viticole remarquable",
      "Prix encore accessibles",
      "Position centrale dans les Pierres Dorées",
      "Calme garanti"
    ],
    "cons": [
      "Aucun service sur place",
      "Voiture indispensable",
      "Pas de transport en commun",
      "Éloigné des axes principaux"
    ],
    "alertes": [],
    "population": 915,
    "sante": 2.54,
    "ecoles": 0.5,
    "commerces": 1.19,
    "securite": 2.97,
    "fibre": 2.46,
    "potentiel_immo": 2.54,
    "ensoleillement": 4.05,
    "mobilite_douce": 1.02,
    "charme": 4.53,
    "creche_count": 1,
    "lat": 45.933,
    "lng": 4.612,
    "surface_estimee": 154,
    "sortir": 2.06,
    "score_default": 2.4,
    "securite_fallback_strate": true
  },
  {
    "nom": "Genay",
    "direction": "nord",
    "prix_m2": 3482,
    "m2_500k": 144,
    "eau": "Saône proche",
    "vue": "Plaine Saône",
    "vie_village": "Correcte",
    "creche": "✓✓ 4 structures : LLPE, LMDP RHONE (LA MAISON DE PILOU V...",
    "limonest_min": 15,
    "sp_train_min": 35,
    "verdict": "Correct",
    "nature_score": 2.04,
    "nature_desc": "★★½☆☆ Bords de Saône + plaine agricole",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [
      "PPRI Saône possible"
    ],
    "population": 5585,
    "sante": 1.22,
    "ecoles": 3.01,
    "commerces": 1.04,
    "securite": 2.18,
    "fibre": 4.99,
    "potentiel_immo": 2.96,
    "ensoleillement": 2.97,
    "mobilite_douce": 3.45,
    "charme": 2.04,
    "creche_count": 4,
    "lat": 45.895,
    "lng": 4.838,
    "surface_estimee": 144,
    "sortir": 1.9,
    "score_default": 2.53
  },
  {
    "nom": "Grézieu-la-Varenne",
    "direction": "ouest",
    "prix_m2": 3600,
    "m2_500k": 139,
    "eau": "Aucune",
    "vue": "Monts Lyon",
    "vie_village": "Correcte",
    "creche": "✓✓ 3 structures : CRECHES DE DEMAIN OUEST, SAM SERVICES",
    "limonest_min": 25,
    "sp_train_min": 32,
    "verdict": "Sans caractère",
    "nature_score": 2.03,
    "nature_desc": "★★☆☆☆ À explorer",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [],
    "population": 6472,
    "sante": 1.81,
    "ecoles": 3.02,
    "commerces": 0.91,
    "securite": 2.01,
    "fibre": 4.46,
    "potentiel_immo": 2.01,
    "ensoleillement": 3.52,
    "mobilite_douce": 2,
    "charme": 2.05,
    "creche_count": 3,
    "lat": 45.744,
    "lng": 4.693,
    "surface_estimee": 139,
    "sortir": 3.07,
    "score_default": 2.74
  },
  {
    "nom": "Jarnioux",
    "direction": "nord-ouest",
    "prix_m2": 2177,
    "m2_500k": 230,
    "eau": "Ruisseaux",
    "vue": "Vignes pierres dorées",
    "vie_village": "Faible — bourg",
    "creche": "⚠ Aucune structure petite enfance",
    "limonest_min": 28,
    "sp_train_min": 52,
    "verdict": "Château et vignes",
    "nature_score": 3.99,
    "nature_desc": "★★★★ Château médiéval, vignes, collines boisées",
    "mode_transport": "autre",
    "rang": 0,
    "tagline": "Village au château imposant — cœur des Pierres Dorées",
    "pros": [
      "Château de Jarnioux — patrimoine remarquable",
      "Vue sur vignes et pierres dorées",
      "Proximité Le Bois-d'Oingt pour commerces",
      "Cachet architectural fort"
    ],
    "cons": [
      "Aucun commerce ni service",
      "Route sinueuse vers Lyon",
      "Transport en commun quasi absent",
      "Éloignement des services médicaux"
    ],
    "alertes": [],
    "population": 828,
    "sante": 2.65,
    "ecoles": 1.01,
    "commerces": 3.48,
    "securite": 2.7,
    "fibre": 2.5,
    "potentiel_immo": 2.5,
    "ensoleillement": 3.49,
    "mobilite_douce": 1,
    "charme": 4.98,
    "creche_count": 0,
    "lat": 45.952,
    "lng": 4.623,
    "surface_estimee": 230,
    "sortir": 3.27,
    "score_default": 2.74,
    "securite_fallback_strate": true
  },
  {
    "nom": "L'Arbresle",
    "direction": "ouest",
    "prix_m2": 3200,
    "m2_500k": 156,
    "eau": "Azergues proche",
    "vue": "Correcte",
    "vie_village": "Bonne bourg",
    "creche": "✓✓ 4 structures : LES OISILLONS DU RAVATEL, ROSE AND CO",
    "limonest_min": 25,
    "sp_train_min": 37,
    "verdict": "Bourg animé",
    "nature_score": 3.03,
    "nature_desc": "★★★ Voie verte Azergues + sentiers bourg — correct",
    "mode_transport": "autre",
    "rang": 7,
    "tagline": "Vrai bourg animé — C22 direct Saint-Paul",
    "pros": [
      "Bourg complet : commerces, crèches, écoles, médecins",
      "Prix très bas : 2862€/m² — 174m² pour 500k€",
      "Gare TER L'Arbresle — ligne directe vers Lyon",
      "Position centrale pour la vallée de la Brévenne"
    ],
    "cons": [
      "Vue correcte sans plus — pas de panorama",
      "Ambiance bourg plutôt qu'ambiance village",
      "Traversée par la nationale — certains quartiers bruyants"
    ],
    "alertes": [],
    "population": 6537,
    "sante": 3.7,
    "ecoles": 4.51,
    "commerces": 4.19,
    "securite": 3.47,
    "fibre": 5,
    "potentiel_immo": 3.04,
    "ensoleillement": 3.05,
    "mobilite_douce": 3.03,
    "charme": 2.48,
    "creche_count": 4,
    "lat": 45.838,
    "lng": 4.615,
    "surface_estimee": 156,
    "sortir": 4.24,
    "score_default": 3.6
  },
  {
    "nom": "La Tour-de-Salvagny",
    "direction": "ouest",
    "prix_m2": 4117,
    "m2_500k": 121,
    "eau": "Ruisseaux",
    "vue": "Collines ouest lyonnais",
    "vie_village": "Correcte",
    "creche": "✓ 2 structures : LES PETITS CHAPERONS ROUGES, ASS PETIT MATIN",
    "limonest_min": 18,
    "sp_train_min": 22,
    "verdict": "Bon compromis",
    "nature_score": 2.46,
    "nature_desc": "★★ Vignes + ruisseaux — peu de forêt dense",
    "mode_transport": "autre",
    "rang": 3,
    "tagline": "Meilleur TC de la liste — C22 direct 22min",
    "pros": [
      "Gare TER — Saint-Paul 22min direct",
      "Crèche EAJE + école maternelle sur place",
      "Position stratégique entre Lyon et campagne ouest",
      "Proximité A6 et Techlid — accès emploi facile"
    ],
    "cons": [
      "Zone en développement actif — PLU à surveiller",
      "Prix élevé : 4393€/m² pour un village en mutation",
      "Nature score faible (2.5) — urbanisation croissante",
      "Vue correcte mais pas exceptionnelle"
    ],
    "alertes": [
      "Zone développement actif — PLU à surveiller"
    ],
    "population": 4649,
    "sante": 3.66,
    "ecoles": 3.45,
    "commerces": 4.56,
    "securite": 2.91,
    "fibre": 4.95,
    "potentiel_immo": 2.05,
    "ensoleillement": 3.04,
    "mobilite_douce": 2.45,
    "charme": 2.03,
    "creche_count": 2,
    "lat": 45.812,
    "lng": 4.714,
    "surface_estimee": 121,
    "sortir": 3.37,
    "score_default": 3.31
  },
  {
    "nom": "Lachassagne",
    "direction": "nord",
    "prix_m2": 2800,
    "m2_500k": 179,
    "eau": "Aucune",
    "vue": "Panoramique Saône",
    "vie_village": "Faible — bourg",
    "creche": "⚠ Aucune structure petite enfance",
    "limonest_min": 22,
    "sp_train_min": 45,
    "verdict": "Panorama Saône",
    "nature_score": 3.55,
    "nature_desc": "★★★½ Vignes, vue Saône, sentiers de coteaux",
    "mode_transport": "autre",
    "rang": 0,
    "tagline": "Vue panoramique sur la Saône — position dominante",
    "pros": [
      "Vue panoramique exceptionnelle sur la Saône et les Alpes",
      "Proximité Anse pour commerces et gare",
      "Vignoble réputé (AOC Beaujolais)",
      "Position élevée au-dessus du brouillard"
    ],
    "cons": [
      "Aucun commerce sur place",
      "Pas de crèche — Anse à 5min",
      "Pas de transport en commun direct",
      "Prix plus élevés grâce à la vue"
    ],
    "alertes": [],
    "population": 1332,
    "sante": 4.65,
    "ecoles": 1.46,
    "commerces": 2.85,
    "securite": 2.5,
    "fibre": 3.47,
    "potentiel_immo": 2.97,
    "ensoleillement": 4.46,
    "mobilite_douce": 1.53,
    "charme": 4.49,
    "creche_count": 0,
    "lat": 45.921,
    "lng": 4.709,
    "surface_estimee": 179,
    "sortir": 1.33,
    "score_default": 2.77
  },
  {
    "nom": "Le Bois-d'Oingt",
    "direction": "nord-ouest",
    "prix_m2": 3194,
    "m2_500k": 157,
    "eau": "Ruisseaux",
    "vue": "Collines vignes",
    "vie_village": "Bonne — bourg animé",
    "creche": "✓ 2 structures : Crèche intercommunale Pierres Dorées, RAM",
    "limonest_min": 30,
    "sp_train_min": 50,
    "verdict": "Correct",
    "nature_score": 2.99,
    "nature_desc": "★★★½☆ Vignes + campagne vallonnée",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "Bourg viticole Pierres Dorées à 3 194€/m² — 157m² pour 500k€, charme 4/5",
    "pros": [
      "3 194€/m² → 157m² pour 500k€ — meilleur ratio surface/prix du Top 30",
      "Charme 4/5 + vue collines vignes — cadre Pierres Dorées préservé",
      "Crèche intercommunale Pierres Dorées + RAM sur place — petite enfance OK",
      "Sortir 4.9/5 + santé 4.4/5 — bourg animé avec commerces et médecins"
    ],
    "cons": [
      "TER Saint-Paul 50min — le plus long du Top 30, dissuasif pour actifs Lyon centre",
      "Limonest 30min voiture — trajets quotidiens longs vers pôle ouest",
      "Sécurité 2.2/5 + mobilité douce 2/5 — village rural, voiture indispensable"
    ],
    "alertes": [],
    "sante": 4.36,
    "ecoles": 2.98,
    "commerces": 3.32,
    "securite": 2.18,
    "fibre": 3.96,
    "potentiel_immo": 2.98,
    "ensoleillement": 3.49,
    "mobilite_douce": 1.97,
    "charme": 4.01,
    "creche_count": 2,
    "population": 4117,
    "lat": 45.931,
    "lng": 4.583,
    "sortir": 4.86,
    "score_default": 3.16
  },
  {
    "nom": "Lentilly",
    "direction": "ouest",
    "prix_m2": 4244,
    "m2_500k": 118,
    "eau": "Ruisseaux",
    "vue": "Collines",
    "vie_village": "Correcte",
    "creche": "✓✓ 3 structures : OPTI'BB, LES PETITS LUTINS",
    "limonest_min": 20,
    "sp_train_min": 27,
    "verdict": "Calme",
    "nature_score": 2.55,
    "nature_desc": "★★★☆☆ À explorer",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [],
    "population": 6623,
    "sante": 1.26,
    "ecoles": 2.98,
    "commerces": 2.57,
    "securite": 3.63,
    "fibre": 4.46,
    "potentiel_immo": 2.47,
    "ensoleillement": 3.46,
    "mobilite_douce": 1.98,
    "charme": 1.95,
    "creche_count": 3,
    "lat": 45.824,
    "lng": 4.668,
    "surface_estimee": 118,
    "sortir": 0.73,
    "score_default": 2.86
  },
  {
    "nom": "Les Chères",
    "direction": "nord-ouest",
    "prix_m2": 3460,
    "m2_500k": 145,
    "eau": "Ruisseaux",
    "vue": "Collines boisées",
    "vie_village": "Faible",
    "creche": "✓ 2 structures : LEA ET LEO SUD EST, AGDS",
    "limonest_min": 18,
    "sp_train_min": 40,
    "verdict": "Correct",
    "nature_score": 3.54,
    "nature_desc": "★★★½☆ Forêt + ruisseaux + campagne vallonnée",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [],
    "population": 1503,
    "sante": 5,
    "ecoles": 1.98,
    "commerces": 3.86,
    "securite": 2.5,
    "fibre": 3.46,
    "potentiel_immo": 2.95,
    "ensoleillement": 3.96,
    "mobilite_douce": 2,
    "charme": 3.01,
    "creche_count": 2,
    "lat": 45.86,
    "lng": 4.741,
    "surface_estimee": 145,
    "sortir": 3.13,
    "score_default": 2.98
  },
  {
    "nom": "Liergues",
    "direction": "nord-ouest",
    "prix_m2": 3200,
    "m2_500k": 156,
    "eau": "Ruisseaux",
    "vue": "Vignes Beaujolais",
    "vie_village": "Faible",
    "creche": "✓ LES PETITS CHAPERONS ROUGES",
    "limonest_min": 25,
    "sp_train_min": 45,
    "verdict": "Correct",
    "nature_score": 3.45,
    "nature_desc": "★★★½☆ Vignes + coteaux + ruisseaux",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [
      "Vue vignes Beaujolais — exposition sud-ouest",
      "Prix attractif : 2800€/m² — 178m² pour 500k€",
      "Nature score 3.5 — campagne viticole préservée",
      "Calme garanti — petit village"
    ],
    "cons": [
      "Aucune crèche — Villefranche à 10min",
      "Vie de village faible — hameau viticole",
      "Éloigné de la métropole — zone Villefranche"
    ],
    "alertes": [],
    "sante": 0.5,
    "ecoles": 1.45,
    "commerces": 0.5,
    "securite": 3,
    "fibre": 3.02,
    "potentiel_immo": 2.98,
    "ensoleillement": 3.99,
    "mobilite_douce": 1.97,
    "charme": 4.53,
    "creche_count": 1,
    "population": 1100,
    "lat": 45.955,
    "lng": 4.663,
    "sortir": 1.5,
    "score_default": 2.39,
    "securite_estimation": true
  },
  {
    "nom": "Lissieu",
    "direction": "nord-ouest",
    "prix_m2": 3200,
    "m2_500k": 156,
    "eau": "Aucune",
    "vue": "Collines",
    "vie_village": "Correcte",
    "creche": "✓✓ 4 structures : LES BOUTS D'CHOUX LISSILOIS, BULLE D'ENFANCE MAGNOLIA",
    "limonest_min": 5,
    "sp_train_min": 28,
    "verdict": "Correct",
    "nature_score": 1.52,
    "nature_desc": "★★☆☆☆ Plateau périurbain",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "Plateau périurbain accolé à Limonest — accès Techlid 5min à 3 200€/m²",
    "pros": [
      "Limonest 5min — accès direct au pôle Techlid sans congestion A6",
      "3 200€/m² → 156m² pour 500k€ — bon ratio surface/prix pour la zone Techlid",
      "4 crèches + fibre 5/5 — équipements de base présents",
      "Sortir 4.2/5 — accès commerces Limonest et Dommartin à proximité"
    ],
    "cons": [
      "Train Saint-Paul 28min via Dommartin-Lissieu — pas d'accès rapide Lyon centre",
      "Nature 1.5/5 + aucune eau + charme 2/5 — plateau routier sans cachet village",
      "Sécurité 1.5/5 + santé 2.6/5 — équipements en retrait pour 3 200 hab."
    ],
    "alertes": [],
    "population": 3181,
    "sante": 2.56,
    "ecoles": 2.99,
    "commerces": 3.4,
    "securite": 1.47,
    "fibre": 4.95,
    "potentiel_immo": 2.04,
    "ensoleillement": 3.55,
    "mobilite_douce": 2.52,
    "charme": 1.96,
    "creche_count": 4,
    "lat": 45.844,
    "lng": 4.742,
    "surface_estimee": 156,
    "sortir": 4.19,
    "score_default": 3.21
  },
  {
    "nom": "Lozanne",
    "direction": "nord-ouest",
    "prix_m2": 2900,
    "m2_500k": 172,
    "eau": "Azergues",
    "vue": "Vallée",
    "vie_village": "Correcte",
    "creche": "✓ LA PETITE LOCO",
    "limonest_min": 20,
    "sp_train_min": 43,
    "verdict": "Correct",
    "nature_score": 2.49,
    "nature_desc": "★★½☆☆ Azergues + coteaux",
    "mode_transport": "TER",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [
      "PPRI Azergues"
    ],
    "population": 3182,
    "sante": 3.08,
    "ecoles": 2.55,
    "commerces": 5,
    "securite": 2.65,
    "fibre": 4.54,
    "potentiel_immo": 3.03,
    "ensoleillement": 3.54,
    "mobilite_douce": 2.52,
    "charme": 2.47,
    "creche_count": 1,
    "lat": 45.855,
    "lng": 4.68,
    "surface_estimee": 172,
    "sortir": 2.94,
    "score_default": 2.84
  },
  {
    "nom": "Lucenay",
    "direction": "nord",
    "prix_m2": 3740,
    "m2_500k": 134,
    "eau": "Saône proche",
    "vue": "Coteaux Saône",
    "vie_village": "Faible",
    "creche": "⚠ Aucune structure petite enfance",
    "limonest_min": 22,
    "sp_train_min": 38,
    "verdict": "Correct",
    "nature_score": 2.97,
    "nature_desc": "★★★☆☆ Coteaux boisés + Saône",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [],
    "population": 2070,
    "sante": 2.33,
    "ecoles": 1.49,
    "commerces": 3.29,
    "securite": 2.79,
    "fibre": 3.51,
    "potentiel_immo": 2.98,
    "ensoleillement": 3.49,
    "mobilite_douce": 1.97,
    "charme": 3.52,
    "creche_count": 0,
    "lat": 45.92,
    "lng": 4.729,
    "surface_estimee": 134,
    "sortir": 2.33,
    "score_default": 2.63
  },
  {
    "nom": "Légny",
    "direction": "nord-ouest",
    "prix_m2": 3021,
    "m2_500k": 166,
    "eau": "Ruisseaux",
    "vue": "Collines boisées",
    "vie_village": "Faible",
    "creche": "✓ LES PETITS PATAPONTS",
    "limonest_min": 28,
    "sp_train_min": 50,
    "verdict": "Campagne profonde",
    "nature_score": 4.51,
    "nature_desc": "★★★★½ Forêts, ruisseaux, sentiers de randonnée",
    "mode_transport": "autre",
    "rang": 0,
    "tagline": "Nature préservée — forêts et ruisseaux loin de tout",
    "pros": [
      "Prix les plus bas de la zone",
      "Nature exceptionnelle — forêts, ruisseaux",
      "Calme absolu, densité très faible",
      "Grandes parcelles disponibles"
    ],
    "cons": [
      "Très isolé — aucun service à pied",
      "Transports inexistants",
      "Fibre limitée",
      "Route sinueuse et éloignement de Lyon"
    ],
    "alertes": [],
    "population": 685,
    "sante": 3.55,
    "ecoles": 0.46,
    "commerces": 4.79,
    "securite": 2.98,
    "fibre": 1.46,
    "potentiel_immo": 1.95,
    "ensoleillement": 3.05,
    "mobilite_douce": 0.96,
    "charme": 3.49,
    "creche_count": 1,
    "lat": 45.909,
    "lng": 4.611,
    "surface_estimee": 166,
    "sortir": 4.17,
    "score_default": 2.67,
    "securite_fallback_strate": true
  },
  {
    "nom": "Létra",
    "direction": "nord-ouest",
    "prix_m2": 1539,
    "m2_500k": 325,
    "eau": "Ruisseaux",
    "vue": "Collines boisées",
    "vie_village": "Faible",
    "creche": "⚠ Aucune structure petite enfance",
    "limonest_min": 38,
    "sp_train_min": 58,
    "verdict": "Ultra-rural",
    "nature_score": 4.52,
    "nature_desc": "★★★★½ Collines boisées, ruisseaux, isolement total",
    "mode_transport": "autre",
    "rang": 0,
    "tagline": "Micro-village perdu dans les collines — prix plancher",
    "pros": [
      "Prix très bas — grandes surfaces pour petit budget",
      "Nature sauvage et préservée",
      "Calme absolu",
      "Charme rural authentique"
    ],
    "cons": [
      "Aucun service — Le Bois-d'Oingt à 10min",
      "Transports inexistants",
      "Route d'accès étroite",
      "Très éloigné de Lyon"
    ],
    "alertes": [],
    "population": 901,
    "sante": 1.54,
    "ecoles": 0.02,
    "commerces": 4.48,
    "securite": 2.74,
    "fibre": 0.98,
    "potentiel_immo": 1.54,
    "ensoleillement": 3.03,
    "mobilite_douce": 0.55,
    "charme": 3.05,
    "creche_count": 0,
    "lat": 45.924,
    "lng": 4.575,
    "surface_estimee": 325,
    "sortir": 1.54,
    "score_default": 2.3,
    "securite_fallback_strate": true
  },
  {
    "nom": "Marcilly-d'Azergues",
    "direction": "nord-ouest",
    "prix_m2": 3407,
    "m2_500k": 147,
    "eau": "Azergues",
    "vue": "Collines",
    "vie_village": "Faible",
    "creche": "⚠ Aucune structure petite enfance",
    "limonest_min": 18,
    "sp_train_min": 40,
    "verdict": "Correct",
    "nature_score": 2.96,
    "nature_desc": "★★★☆☆ Azergues + coteaux",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [
      "PPRI Azergues"
    ],
    "population": 1066,
    "sante": 1.33,
    "ecoles": 2.05,
    "commerces": 3.27,
    "securite": 2.97,
    "fibre": 3.96,
    "potentiel_immo": 3,
    "ensoleillement": 3.49,
    "mobilite_douce": 2.51,
    "charme": 2.47,
    "creche_count": 0,
    "lat": 45.868,
    "lng": 4.724,
    "surface_estimee": 147,
    "sortir": 1.43,
    "score_default": 2.49,
    "securite_fallback_strate": true
  },
  {
    "nom": "Marcy-l'Étoile",
    "direction": "ouest",
    "prix_m2": 3988,
    "m2_500k": 125,
    "eau": "Aucune",
    "vue": "Parc de Lacroix-Laval",
    "vie_village": "Correcte",
    "creche": "✓✓ 3 structures : LES PETITS CHAPERONS ROUGES, PEOPLE AND BABY (CRECHES POUR TO...",
    "limonest_min": 12,
    "sp_train_min": 25,
    "verdict": "Correct",
    "nature_score": 3.49,
    "nature_desc": "★★★☆☆ Grand parc Lacroix-Laval + boisements",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "Parc Lacroix-Laval à la porte — résidentiel haut de gamme calme.",
    "pros": [
      "Parc de Lacroix-Laval (115ha) — exceptionnel à 5min",
      "12min voiture Limonest · accès Techlid direct",
      "Sécurité solide (3.3/5) — résidentiel calme",
      "Fibre 5/5 — infrastructure parfaite"
    ],
    "cons": [
      "Aucun plan d'eau · vie de village limitée",
      "Pas de TER direct — voiture pour Lyon (25min Saint-Paul)",
      "Commerces faibles (2.3/5) — dépendance Charbonnières"
    ],
    "alertes": [],
    "population": 3778,
    "sante": 4.22,
    "ecoles": 2.99,
    "commerces": 2.33,
    "securite": 3.25,
    "fibre": 4.97,
    "potentiel_immo": 1.47,
    "ensoleillement": 2.98,
    "mobilite_douce": 2.98,
    "charme": 2.52,
    "creche_count": 3,
    "lat": 45.783,
    "lng": 4.71,
    "surface_estimee": 125,
    "sortir": 3.66,
    "score_default": 3.3
  },
  {
    "nom": "Massieux",
    "direction": "nord",
    "prix_m2": 3500,
    "m2_500k": 143,
    "eau": "Saône proche",
    "vue": "Plaine",
    "vie_village": "Faible",
    "creche": "⚠ Aucune — Trévoux 10min",
    "limonest_min": 20,
    "sp_train_min": 42,
    "verdict": "Correct",
    "nature_score": 1.51,
    "nature_desc": "★★☆☆☆ Plaine agricole",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [],
    "population": 2843,
    "sante": 1.81,
    "ecoles": 1.99,
    "commerces": 4.36,
    "securite": 0.99,
    "fibre": 4.45,
    "potentiel_immo": 3,
    "ensoleillement": 2.99,
    "mobilite_douce": 3.01,
    "charme": 2.02,
    "creche_count": 0,
    "lat": 45.905,
    "lng": 4.843,
    "surface_estimee": 143,
    "sortir": 3.58,
    "score_default": 2.58
  },
  {
    "nom": "Messimy",
    "direction": "ouest",
    "prix_m2": 3500,
    "m2_500k": 143,
    "eau": "Yzeron",
    "vue": "Collines ouest",
    "vie_village": "Correcte",
    "creche": "✓✓ 4 structures : AGDS, UP'Y",
    "limonest_min": 22,
    "sp_train_min": 35,
    "verdict": "Correct",
    "nature_score": 2.99,
    "nature_desc": "★★★☆☆ Yzeron + coteaux + boisements",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [],
    "population": 3546,
    "sante": 2.01,
    "ecoles": 2.52,
    "commerces": 3.23,
    "securite": 2.6,
    "fibre": 4.55,
    "potentiel_immo": 2.48,
    "ensoleillement": 3.47,
    "mobilite_douce": 2.49,
    "charme": 2.49,
    "creche_count": 4,
    "lat": 45.695,
    "lng": 4.672,
    "surface_estimee": 143,
    "sortir": 2.33,
    "score_default": 3.02
  },
  {
    "nom": "Moiré",
    "direction": "nord-ouest",
    "prix_m2": 1800,
    "m2_500k": 278,
    "eau": "Ruisseaux",
    "vue": "Vignes Beaujolais",
    "vie_village": "Faible",
    "creche": "✓ LA RIBAMBELLE",
    "limonest_min": 32,
    "sp_train_min": 55,
    "verdict": "Village viticole",
    "nature_score": 4.01,
    "nature_desc": "★★★★ Vignes, sentiers, collines",
    "mode_transport": "autre",
    "rang": 0,
    "tagline": "Village viticole tranquille entre vignes et forêt",
    "pros": [
      "Cadre viticole agréable",
      "Prix accessibles",
      "Proximité Le Bois-d'Oingt",
      "Calme et verdure"
    ],
    "cons": [
      "Aucun service sur place",
      "Voiture indispensable",
      "Pas de transport en commun",
      "Vie sociale très limitée"
    ],
    "alertes": [],
    "population": 240,
    "sante": 0.67,
    "ecoles": 0.52,
    "commerces": 1.19,
    "securite": 2.86,
    "fibre": 1.99,
    "potentiel_immo": 2.02,
    "ensoleillement": 3.51,
    "mobilite_douce": 0.98,
    "charme": 3.99,
    "creche_count": 1,
    "lat": 45.957,
    "lng": 4.534,
    "surface_estimee": 278,
    "sortir": 0.67,
    "score_default": 2.21,
    "securite_fallback_strate": true
  },
  {
    "nom": "Montanay",
    "direction": "nord",
    "prix_m2": 3800,
    "m2_500k": 132,
    "eau": "Aucune",
    "vue": "Plaine",
    "vie_village": "Correcte",
    "creche": "✓ 1 structure",
    "limonest_min": 15,
    "sp_train_min": 30,
    "verdict": "Correct",
    "nature_score": 2.51,
    "nature_desc": "★★½☆☆ Correct",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [
      "Prix bas",
      "Proche Genay"
    ],
    "cons": [
      "Peu de transports"
    ],
    "alertes": [],
    "population": 3000,
    "sante": 3.58,
    "ecoles": 2.52,
    "commerces": 0.76,
    "securite": 2.57,
    "fibre": 4.98,
    "potentiel_immo": 3.5,
    "ensoleillement": 2.99,
    "mobilite_douce": 2,
    "charme": 1.99,
    "creche_count": 1,
    "lat": 45.898,
    "lng": 4.872,
    "surface_estimee": 132,
    "sortir": 1.28,
    "score_default": 2.83
  },
  {
    "nom": "Morancé",
    "direction": "nord-ouest",
    "prix_m2": 2970,
    "m2_500k": 168,
    "eau": "Azergues proche",
    "vue": "Vignes pierres dorées",
    "vie_village": "Faible",
    "creche": "⚠ Aucune structure petite enfance",
    "limonest_min": 20,
    "sp_train_min": 42,
    "verdict": "Correct",
    "nature_score": 3.45,
    "nature_desc": "★★★½☆ Vignes + pierres dorées + coteaux",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "Vue vignes pierres dorées à prix Azergues — double accès Lyon.",
    "pros": [
      "Vue vignes pierres dorées · charme (3/5) authentique",
      "Sécurité élevée (4.3/5) · santé correcte (4.2/5)",
      "Double accès : Lozanne TER (8min) ou bus 204 Limonest",
      "~168m² pour 500k€ · 2 970€/m² accessible"
    ],
    "cons": [
      "Vie de village faible · commerces limités (2.1/5)",
      "Saint-Paul 42min · Part-Dieu 48min via Lozanne",
      "Aucune crèche dans la commune"
    ],
    "alertes": [],
    "population": 2261,
    "sante": 4.22,
    "ecoles": 1.96,
    "commerces": 2.07,
    "securite": 4.32,
    "fibre": 3.99,
    "potentiel_immo": 2.98,
    "ensoleillement": 3.49,
    "mobilite_douce": 1.97,
    "charme": 2.99,
    "creche_count": 0,
    "lat": 45.9,
    "lng": 4.72,
    "surface_estimee": 168,
    "sortir": 3.11,
    "score_default": 2.92
  },
  {
    "nom": "Neuville-sur-Saône",
    "direction": "nord",
    "prix_m2": 3307,
    "m2_500k": 151,
    "eau": "Saône",
    "vue": "Saône",
    "vie_village": "Bourg urbain",
    "creche": "✓✓ 4 structures : LES PETITS CHAPERONS ROUGES, JENYFAM",
    "limonest_min": 20,
    "sp_train_min": 22,
    "verdict": "Éliminé",
    "nature_score": 2.01,
    "nature_desc": "★☆☆☆☆ À explorer",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "Petite ville complète sur la Saône — TER + marché + tous services à pied",
    "pros": [
      "TER 22min Saint-Paul + 20min Limonest — double accès Lyon ouest/nord",
      "Crèches (4 structures), écoles 4.5/5, santé 4.5/5, commerces 4.9/5 — ville 100% équipée",
      "3 307€/m² → 151m² pour 500k€ — meilleur ratio surface/prix d'une ville complète",
      "Marché bio dominical + berges Saône réaménagées — vraie vie de bourg animé"
    ],
    "cons": [
      "Sécurité 2.4/5 — un des taux les plus bas du Val de Saône",
      "Nature 2/5 + charme 2/5 — environnement densément urbain, peu de cachet village",
      "7 800 hab. + ZAC Berges en cours → densification accentuée d'ici 2027",
      "Verdict éliminatoire si critère 'village' prioritaire — c'est une petite ville"
    ],
    "alertes": [],
    "population": 7812,
    "sante": 4.51,
    "ecoles": 4.47,
    "commerces": 4.91,
    "securite": 2.42,
    "fibre": 5,
    "potentiel_immo": 1.95,
    "ensoleillement": 2.96,
    "mobilite_douce": 4.05,
    "charme": 2.05,
    "creche_count": 4,
    "lat": 45.875,
    "lng": 4.84,
    "surface_estimee": 151,
    "sortir": 4.73,
    "score_default": 3.69
  },
  {
    "nom": "Nuelles",
    "direction": "nord-ouest",
    "prix_m2": 3613,
    "m2_500k": 138,
    "eau": "Ruisseaux coteau",
    "vue": "Collines vignes",
    "vie_village": "Correcte",
    "creche": "⚠ Aucune structure petite enfance",
    "limonest_min": 22,
    "sp_train_min": 45,
    "verdict": "Entre deux mondes",
    "nature_score": 3.52,
    "nature_desc": "★★★½ Collines, vignes, liaison avec vallée d'Azergues",
    "mode_transport": "autre",
    "rang": 0,
    "tagline": "Trait d'union entre Azergues et Pierres Dorées",
    "pros": [
      "Position stratégique — accès rapide à L'Arbresle et Lozanne",
      "Prix encore raisonnables",
      "RPI scolaire fonctionnel",
      "Collines viticoles agréables"
    ],
    "cons": [
      "Pas de crèche sur place",
      "Commerces limités",
      "Voiture nécessaire au quotidien",
      "Pas de gare à proximité immédiate"
    ],
    "alertes": [],
    "population": 2246,
    "sante": 0.7,
    "ecoles": 1.95,
    "commerces": 0.94,
    "securite": 3.79,
    "fibre": 2.99,
    "potentiel_immo": 2.49,
    "ensoleillement": 3.5,
    "mobilite_douce": 1.48,
    "charme": 3.48,
    "creche_count": 0,
    "lat": 45.872,
    "lng": 4.632,
    "surface_estimee": 138,
    "sortir": 0.79,
    "score_default": 2.42
  },
  {
    "nom": "Oingt",
    "direction": "nord-ouest",
    "prix_m2": 2884,
    "m2_500k": 173,
    "eau": "Ruisseaux",
    "vue": "Panoramique vignes Beaujolais",
    "vie_village": "Faible (village classé)",
    "creche": "⚠ Aucune structure petite enfance",
    "limonest_min": 30,
    "sp_train_min": 50,
    "verdict": "Correct",
    "nature_score": 4,
    "nature_desc": "★★★★ Plus Beau Village — vignes + pierres dorées · pop 4000 = lotissements sans vue",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "Plus Beau Village de France — joyau patrimonial du Beaujolais.",
    "pros": [
      "Charme maximal (5/5) — classé Plus Beau Village de France",
      "Vue panoramique vignes Beaujolais — exceptionnelle",
      "Sécurité maximale (5/5) · 2 884€/m² accessible",
      "~173m² pour 500k€ — espace généreux"
    ],
    "cons": [
      "Services quasi nuls — commerces 0.5/5, santé 0.5/5",
      "Saint-Paul 50min via Anse/L'Arbresle — éloignement réel",
      "Aucune crèche · fibre limitée (2.5/5)"
    ],
    "alertes": [],
    "population": 4117,
    "sante": 0.5,
    "ecoles": 1.01,
    "commerces": 0.5,
    "securite": 3,
    "fibre": 2.46,
    "potentiel_immo": 2,
    "ensoleillement": 4.01,
    "mobilite_douce": 1.49,
    "charme": 5,
    "creche_count": 0,
    "lat": 45.949,
    "lng": 4.583,
    "surface_estimee": 173,
    "sortir": 3,
    "score_default": 2.3,
    "securite_estimation": true
  },
  {
    "nom": "Parcieux",
    "direction": "nord",
    "prix_m2": 3382,
    "m2_500k": 148,
    "eau": "Saône proche",
    "vue": "Plaine Saône",
    "vie_village": "Faible",
    "creche": "✓ 2 structures : VAL HORIZON, LES PETITS PAPILLONS",
    "limonest_min": 22,
    "sp_train_min": 42,
    "verdict": "Correct",
    "nature_score": 1.97,
    "nature_desc": "★★½☆☆ Bords de Saône, campagne",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [],
    "population": 1315,
    "sante": 2.13,
    "ecoles": 2,
    "commerces": 1.64,
    "securite": 2.73,
    "fibre": 4,
    "potentiel_immo": 3.03,
    "ensoleillement": 3.04,
    "mobilite_douce": 3.02,
    "charme": 1.97,
    "creche_count": 2,
    "lat": 45.9,
    "lng": 4.81,
    "surface_estimee": 148,
    "sortir": 2.06,
    "score_default": 2.5,
    "securite_fallback_strate": true
  },
  {
    "nom": "Poleymieux-au-Mont-d'Or",
    "direction": "nord-ouest",
    "prix_m2": 4026,
    "m2_500k": 124,
    "eau": "Ruisseaux",
    "vue": "Exceptionnelle Alpes",
    "vie_village": "Faible",
    "creche": "✓ LA GRAINE AU VENT",
    "limonest_min": 15,
    "sp_train_min": 30,
    "verdict": "Vue de rêve",
    "nature_score": 4.96,
    "nature_desc": "★★★★★ Ruisseaux + forêt Monts d'Or + sentiers balisés — nature exceptionnelle",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [
      "Vue exceptionnelle sur les Alpes — la plus belle de la liste",
      "Nature score 5/5 — Monts d'Or sauvages",
      "Limonest 12min seulement",
      "Village historique (maison d'Ampère) — patrimoine fort"
    ],
    "cons": [
      "Aucune gare — pas de transport en commun vers Saint-Paul",
      "Pas de crèche — Collonges à 8min",
      "Vie de village faible — dépendance voiture totale"
    ],
    "alertes": [],
    "population": 1412,
    "sante": 3.51,
    "ecoles": 1.03,
    "commerces": 2.75,
    "securite": 2.5,
    "fibre": 4,
    "potentiel_immo": 1.52,
    "ensoleillement": 4.01,
    "mobilite_douce": 2.98,
    "charme": 4.45,
    "creche_count": 1,
    "lat": 45.849,
    "lng": 4.787,
    "surface_estimee": 124,
    "sortir": 1.23,
    "score_default": 2.82
  },
  {
    "nom": "Pollionnay",
    "direction": "ouest",
    "prix_m2": 4020,
    "m2_500k": 124,
    "eau": "Ruisseaux",
    "vue": "Collines ouest lyonnais",
    "vie_village": "Faible",
    "creche": "✓ BABILOU",
    "limonest_min": 20,
    "sp_train_min": 35,
    "verdict": "Correct",
    "nature_score": 3.47,
    "nature_desc": "★★★½☆ Campagne vallonnée + boisements + ruisseaux",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [],
    "population": 2958,
    "sante": 2.07,
    "ecoles": 1.97,
    "commerces": 2.15,
    "securite": 2.31,
    "fibre": 3.99,
    "potentiel_immo": 2.49,
    "ensoleillement": 3.5,
    "mobilite_douce": 1.96,
    "charme": 2.55,
    "creche_count": 1,
    "lat": 45.755,
    "lng": 4.668,
    "surface_estimee": 124,
    "sortir": 1.78,
    "score_default": 2.59
  },
  {
    "nom": "Pommiers",
    "direction": "nord",
    "prix_m2": 3321,
    "m2_500k": 151,
    "eau": "Saône proche",
    "vue": "Saône + collines",
    "vie_village": "Correcte",
    "creche": "⚠ Aucune structure petite enfance",
    "limonest_min": 20,
    "sp_train_min": 42,
    "verdict": "Coteau de Saône",
    "nature_score": 3.52,
    "nature_desc": "★★★½ Coteau sur Saône, vignes, sentiers",
    "mode_transport": "autre",
    "rang": 0,
    "tagline": "Coteau dominant la Saône — entre vignes et fleuve",
    "pros": [
      "Vue remarquable sur la Saône",
      "Proximité Anse — gare TER et commerces",
      "Patrimoine historique (prieuré)",
      "Position élevée — bon ensoleillement"
    ],
    "cons": [
      "Pas de crèche ni commerce sur place",
      "Route en lacets depuis la Saône",
      "Pas de transport en commun direct",
      "Prix en hausse"
    ],
    "alertes": [],
    "population": 2618,
    "sante": 2.53,
    "ecoles": 1.98,
    "commerces": 0.85,
    "securite": 1.36,
    "fibre": 3.48,
    "potentiel_immo": 2.97,
    "ensoleillement": 4.46,
    "mobilite_douce": 2.03,
    "charme": 4.51,
    "creche_count": 0,
    "lat": 45.949,
    "lng": 4.694,
    "surface_estimee": 151,
    "sortir": 1.52,
    "score_default": 2.65
  },
  {
    "nom": "Quincieux",
    "direction": "nord",
    "prix_m2": 3329,
    "m2_500k": 150,
    "eau": "Saône",
    "vue": "Plaine Saône",
    "vie_village": "Correcte",
    "creche": "✓ TIC ET TAC",
    "limonest_min": 18,
    "sp_train_min": 40,
    "verdict": "Correct",
    "nature_score": 2.04,
    "nature_desc": "★★½☆☆ Saône + plaine",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [
      "PPRI Saône"
    ],
    "population": 3679,
    "sante": 1.72,
    "ecoles": 2.46,
    "commerces": 2.42,
    "securite": 3.12,
    "fibre": 4.46,
    "potentiel_immo": 3.46,
    "ensoleillement": 2.95,
    "mobilite_douce": 2.97,
    "charme": 2.04,
    "creche_count": 1,
    "lat": 45.91,
    "lng": 4.826,
    "surface_estimee": 150,
    "sortir": 3.2,
    "score_default": 2.54
  },
  {
    "nom": "Reyrieux",
    "direction": "nord",
    "prix_m2": 3297,
    "m2_500k": 152,
    "eau": "Saône",
    "vue": "Coteau Saône",
    "vie_village": "Correcte",
    "creche": "✓✓ 3 structures : LA MAISON DE PILOU ATTIGNAT, PEOPLE & BABY REYRIEUX",
    "limonest_min": 22,
    "sp_train_min": 45,
    "verdict": "Correct",
    "nature_score": 2.04,
    "nature_desc": "★★½☆☆ Bords de Saône + coteaux",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [],
    "population": 5358,
    "sante": 0.73,
    "ecoles": 3.05,
    "commerces": 1.18,
    "securite": 4,
    "fibre": 4.48,
    "potentiel_immo": 3.02,
    "ensoleillement": 3.01,
    "mobilite_douce": 3.03,
    "charme": 2.47,
    "creche_count": 3,
    "lat": 45.933,
    "lng": 4.819,
    "surface_estimee": 152,
    "sortir": 0.95,
    "score_default": 2.69
  },
  {
    "nom": "Rochetaillée-sur-Saône",
    "direction": "nord",
    "prix_m2": 3605,
    "m2_500k": 139,
    "eau": "Saône",
    "vue": "Coteau Saône",
    "vie_village": "Faible",
    "creche": "⚠ Aucune — Couzon 5min",
    "limonest_min": 20,
    "sp_train_min": 15,
    "verdict": "Village calme",
    "nature_score": 2.51,
    "nature_desc": "★★☆☆☆ À explorer",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [],
    "population": 1551,
    "sante": 1.92,
    "ecoles": 1.97,
    "commerces": 4.31,
    "securite": 2.5,
    "fibre": 4.98,
    "potentiel_immo": 1.98,
    "ensoleillement": 2.99,
    "mobilite_douce": 4.47,
    "charme": 3.05,
    "creche_count": 0,
    "lat": 45.847,
    "lng": 4.836,
    "surface_estimee": 139,
    "sortir": 5,
    "score_default": 3.05
  },
  {
    "nom": "Sain-Bel",
    "direction": "ouest",
    "prix_m2": 2600,
    "m2_500k": 192,
    "eau": "Brévenne rivière",
    "vue": "Collines",
    "vie_village": "Faible — bourg",
    "creche": "✓ LES PETITS CHAPERONS ROUGES",
    "limonest_min": 30,
    "sp_train_min": 42,
    "verdict": "Rural + eau",
    "nature_score": 4.04,
    "nature_desc": "★★★★ Brévenne + Monts du Lyonnais au-dessus + Savigny vergers",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [
      "Brévenne rivière — accès eau direct et baignade possible",
      "Prix abordable : 3002€/m² — 166m² pour 500k€",
      "Nature score 4 — vallée préservée et boisée",
      "Gare TER sur la ligne Brévenne"
    ],
    "cons": [
      "Crèche absente — L'Arbresle à 8min",
      "Vie de village faible — bourg endormi",
      "Train Saint-Paul 42min — trajet long"
    ],
    "alertes": [],
    "population": 2566,
    "sante": 3.55,
    "ecoles": 2.45,
    "commerces": 3.46,
    "securite": 1.86,
    "fibre": 4.04,
    "potentiel_immo": 3.05,
    "ensoleillement": 3.04,
    "mobilite_douce": 2.45,
    "charme": 2.98,
    "creche_count": 1,
    "lat": 45.813,
    "lng": 4.594,
    "surface_estimee": 192,
    "sortir": 3.75,
    "score_default": 3.02
  },
  {
    "nom": "Saint-Cyr-au-Mont-d'Or",
    "direction": "nord",
    "prix_m2": 5556,
    "m2_500k": 90,
    "eau": "Aucune",
    "vue": "Monts d'Or",
    "vie_village": "Excellente à pied",
    "creche": "✓✓ 3 structures : CRECHES DE DEMAIN OUEST, CRECHES DE DEMAIN MONTS D'OR",
    "limonest_min": 20,
    "sp_train_min": 18,
    "verdict": "Cher mais top",
    "nature_score": 3.51,
    "nature_desc": "★★★ Lisière Monts d'Or mais tissu résidentiel dense",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "Vrai village Monts d'Or — vie à pied excellente, mais 5 556€/m² (90m²)",
    "pros": [
      "Vie de village 'Excellente à pied' — le vrai bourg dans les Monts d'Or",
      "Charme 4/5 + vue Monts d'Or — cadre préservé rare en première couronne",
      "Train Saint-Paul 18min + 3 crèches + écoles 4/5 — bourg complet et accessible",
      "Nature 3.5/5 — lisière Monts d'Or, sentiers et collines à proximité"
    ],
    "cons": [
      "5 556€/m² → 90m² pour 500k€ — la pire surface/prix du Top 30",
      "Aucune eau — ni Saône ni rivière, uniquement coteau sec",
      "Santé 2.4/5 + sortir 1.9/5 — équipements médicaux et nocturnes en retrait"
    ],
    "alertes": [],
    "population": 6327,
    "sante": 2.44,
    "ecoles": 4.03,
    "commerces": 3.74,
    "securite": 2.28,
    "fibre": 4.98,
    "potentiel_immo": 0.95,
    "ensoleillement": 3.46,
    "mobilite_douce": 3.05,
    "charme": 3.95,
    "creche_count": 3,
    "lat": 45.81,
    "lng": 4.819,
    "surface_estimee": 90,
    "sortir": 1.85,
    "score_default": 3.25
  },
  {
    "nom": "Saint-Didier-au-Mont-d'Or",
    "direction": "nord",
    "prix_m2": 5727,
    "m2_500k": 87,
    "eau": "Aucune",
    "vue": "Collines",
    "vie_village": "Correcte",
    "creche": "✓✓ 5 structures petite enfance",
    "limonest_min": 18,
    "sp_train_min": 20,
    "verdict": "Résidentiel",
    "nature_score": 3.01,
    "nature_desc": "★★☆ Collines proches mais urbanisé · peu d'espaces naturels",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "Mont d'Or résidentiel chic — TER 20min Lyon à 5 727€/m² avec 5 crèches",
    "pros": [
      "5 structures petite enfance — densité crèche exceptionnelle pour 7 435 hab.",
      "TER Saint-Paul 20min direct + Limonest 18min voiture — double accès Lyon",
      "Fibre 5/5 + écoles 4/5 — équipements premium pour télétravail famille",
      "Sûreté 2.6/5 dans la moyenne Mont d'Or — quartiers calmes et résidentiels"
    ],
    "cons": [
      "5 727€/m² — l'un des plus chers du périmètre, 87m² seulement pour 500k€",
      "Aucun cours d'eau et nature 3/5 — coteaux urbanisés sans respiration verte",
      "Vie de village 'Correcte' sans bourg-centre marqué — manque d'animation"
    ],
    "alertes": [],
    "population": 7435,
    "sante": 3.25,
    "ecoles": 3.97,
    "commerces": 2.89,
    "securite": 2.61,
    "fibre": 5,
    "potentiel_immo": 0.98,
    "ensoleillement": 3.47,
    "mobilite_douce": 3.02,
    "charme": 3.5,
    "creche_count": 5,
    "lat": 45.812,
    "lng": 4.797,
    "surface_estimee": 87,
    "sortir": 2.57,
    "score_default": 3.14
  },
  {
    "nom": "Saint-Genis-les-Ollières",
    "direction": "ouest",
    "prix_m2": 4043,
    "m2_500k": 124,
    "eau": "Aucune",
    "vue": "Collines",
    "vie_village": "Correcte",
    "creche": "✓✓ 3 structures : LES PETITS CHAPERONS ROUGES, LITTLE TRIBU",
    "limonest_min": 15,
    "sp_train_min": 28,
    "verdict": "Correct",
    "nature_score": 1.5,
    "nature_desc": "★★☆☆☆ Plateau périurbain + quelques bois",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [],
    "population": 5439,
    "sante": 2.03,
    "ecoles": 2.97,
    "commerces": 1.81,
    "securite": 3.85,
    "fibre": 5,
    "potentiel_immo": 2.01,
    "ensoleillement": 3.02,
    "mobilite_douce": 2.5,
    "charme": 2,
    "creche_count": 3,
    "lat": 45.755,
    "lng": 4.723,
    "surface_estimee": 124,
    "sortir": 1.45,
    "score_default": 2.87
  },
  {
    "nom": "Saint-Germain-au-Mont-d'Or",
    "direction": "nord",
    "prix_m2": 3202,
    "m2_500k": 156,
    "eau": "Aucune",
    "vue": "Correcte",
    "vie_village": "Correcte",
    "creche": "✓✓ 3 structures : AGDS, LES P'TITS BOUTS D'OR",
    "limonest_min": 18,
    "sp_train_min": 15,
    "verdict": "Pratique",
    "nature_score": 2.95,
    "nature_desc": "★★☆☆☆ À explorer",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "TER Saint-Paul 15min à 3 202€/m² — l'accès Lyon le moins cher des Monts d'Or",
    "pros": [
      "TER Saint-Paul 15min — 2e accès Lyon centre le plus rapide du Top 15",
      "3 202€/m² → 156m² pour 500k€ — meilleure surface/prix des Monts d'Or",
      "3 crèches (AGDS, Les P'tits Bouts d'Or) + sortir 4.3/5 — petite enfance solide",
      "Limonest 18min + ensoleillement 3.5/5 — accès Techlid + cadre correct"
    ],
    "cons": [
      "Sécurité 1.2/5 — le 2e taux le plus bas du Top 15 après Limonest",
      "Santé 1.6/5 + commerces 2.8/5 + écoles 2.5/5 — services nettement sous la moyenne",
      "Pas d'eau + nature 3/5 — cadre Monts d'Or moins immersif que Couzon ou Curis"
    ],
    "alertes": [],
    "population": 3124,
    "sante": 1.63,
    "ecoles": 2.52,
    "commerces": 2.76,
    "securite": 1.24,
    "fibre": 5,
    "potentiel_immo": 2.03,
    "ensoleillement": 3.52,
    "mobilite_douce": 2.97,
    "charme": 3.05,
    "creche_count": 3,
    "lat": 45.87,
    "lng": 4.799,
    "surface_estimee": 156,
    "sortir": 4.27,
    "score_default": 3.28
  },
  {
    "nom": "Saint-Jean-des-Vignes",
    "direction": "nord-ouest",
    "prix_m2": 4302,
    "m2_500k": 116,
    "eau": "Ruisseaux",
    "vue": "Vignes pierres dorées",
    "vie_village": "Faible — bourg",
    "creche": "⚠ Aucune structure petite enfance",
    "limonest_min": 25,
    "sp_train_min": 50,
    "verdict": "Village viticole",
    "nature_score": 3.95,
    "nature_desc": "★★★★ Vignes, pierres dorées, sentiers de coteaux",
    "mode_transport": "autre",
    "rang": 0,
    "tagline": "Village viticole typique — pierres dorées et vignes à perte de vue",
    "pros": [
      "Cadre viticole exceptionnel",
      "Charme des pierres dorées",
      "Position entre Anse et Le Bois-d'Oingt",
      "Prix encore contenus"
    ],
    "cons": [
      "Aucun commerce sur place",
      "Pas de crèche — Anse à 8min",
      "Transport en commun absent",
      "Services de santé éloignés"
    ],
    "alertes": [],
    "population": 486,
    "sante": 2.27,
    "ecoles": 0.95,
    "commerces": 1.19,
    "securite": 2.9,
    "fibre": 2.52,
    "potentiel_immo": 2.45,
    "ensoleillement": 4.05,
    "mobilite_douce": 0.96,
    "charme": 4.48,
    "creche_count": 0,
    "lat": 45.93,
    "lng": 4.592,
    "surface_estimee": 116,
    "sortir": 2.89,
    "score_default": 2.3,
    "securite_fallback_strate": true
  },
  {
    "nom": "Saint-Pierre-la-Palud",
    "direction": "nord-ouest",
    "prix_m2": 2613,
    "m2_500k": 191,
    "eau": "Brevenne",
    "vue": "Vallée Brevenne",
    "vie_village": "Correcte",
    "creche": "✓ LA MAISON DES ENFANTS",
    "limonest_min": 25,
    "sp_train_min": 45,
    "verdict": "Correct",
    "nature_score": 2.51,
    "nature_desc": "★★★☆☆ Brevenne + collines + ancien site minier",
    "mode_transport": "TER",
    "rang": null,
    "tagline": null,
    "pros": [
      "Brévenne à proximité — accès rivière",
      "Prix attractif : 2982€/m² — 167m² pour 500k€",
      "Gare TER sur la ligne Brévenne — Saint-Paul 28min",
      "Village tranquille — 2600 habitants"
    ],
    "cons": [
      "Crèche absente — L'Arbresle à 8min",
      "Nature score moyen (2.5) — ancienne zone minière",
      "Vue vallée Brévenne sans panorama"
    ],
    "alertes": [],
    "population": 2616,
    "sante": 2.15,
    "ecoles": 2.46,
    "commerces": 1.63,
    "securite": 4.22,
    "fibre": 3.97,
    "potentiel_immo": 2.95,
    "ensoleillement": 2.96,
    "mobilite_douce": 2.05,
    "charme": 2.04,
    "creche_count": 1,
    "lat": 45.804,
    "lng": 4.611,
    "surface_estimee": 191,
    "sortir": 3.06,
    "score_default": 2.81
  },
  {
    "nom": "Saint-Romain-au-Mont-d'Or",
    "direction": "nord",
    "prix_m2": 3929,
    "m2_500k": 127,
    "eau": "Saône proche",
    "vue": "Saône + collines",
    "vie_village": "Faible",
    "creche": "✓ LES PITCHOUNES",
    "limonest_min": 20,
    "sp_train_min": 14,
    "verdict": "Sous-coté",
    "nature_score": 2.97,
    "nature_desc": "★★☆☆☆ À explorer",
    "mode_transport": "autre",
    "rang": 9,
    "tagline": "Le sous-côté val de Saône — même accès, moins cher",
    "pros": [
      "Même corridor Saône que Collonges — 20% moins cher",
      "TER via Collonges — direct Saint-Paul",
      "Bâti pierres dorées sur les hauteurs"
    ],
    "cons": [
      "Aucune crèche — Collonges 5min voiture",
      "Peu de commerces sur place"
    ],
    "alertes": [
      "Aucune crèche sur place — Collonges 5min"
    ],
    "population": 1247,
    "sante": 2.23,
    "ecoles": 2.55,
    "commerces": 1.75,
    "securite": 2.5,
    "fibre": 5,
    "potentiel_immo": 2.03,
    "ensoleillement": 3.52,
    "mobilite_douce": 3.54,
    "charme": 3.52,
    "creche_count": 1,
    "lat": 45.832,
    "lng": 4.825,
    "surface_estimee": 127,
    "sortir": 4.03,
    "score_default": 2.98
  },
  {
    "nom": "Sainte-Consorce",
    "direction": "ouest",
    "prix_m2": 3800,
    "m2_500k": 132,
    "eau": "Ruisseaux",
    "vue": "Collines ouest",
    "vie_village": "Faible",
    "creche": "✓ AGDS",
    "limonest_min": 15,
    "sp_train_min": 28,
    "verdict": "Correct",
    "nature_score": 2.55,
    "nature_desc": "★★½☆☆ Campagne + boisements",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [],
    "population": 2154,
    "sante": 0.94,
    "ecoles": 2.46,
    "commerces": 2.15,
    "securite": 3.17,
    "fibre": 5,
    "potentiel_immo": 1.98,
    "ensoleillement": 2.97,
    "mobilite_douce": 2.52,
    "charme": 2.04,
    "creche_count": 1,
    "lat": 45.775,
    "lng": 4.697,
    "surface_estimee": 132,
    "sortir": 0.88,
    "score_default": 2.66
  },
  {
    "nom": "Sarcey",
    "direction": "ouest",
    "prix_m2": 2322,
    "m2_500k": 215,
    "eau": "Ruisseaux",
    "vue": "Vignes beaujolais",
    "vie_village": "Faible",
    "creche": "✓ OPTI'BB",
    "limonest_min": 30,
    "sp_train_min": 49,
    "verdict": "Authenticité",
    "nature_score": 3.52,
    "nature_desc": "★★★☆☆ À explorer",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [
      "Prix très bas : 2800€/m² — bon rapport qualité/prix",
      "Nature score 3.5 — vignes beaujolaises authentiques",
      "Calme absolu : 980 habitants seulement",
      "Bâti de caractère dans un écrin viticole"
    ],
    "cons": [
      "Transport catastrophique : 49min vers Saint-Paul",
      "Aucune crèche — L'Arbresle à 12min",
      "Vie de village quasi inexistante — isolement réel"
    ],
    "alertes": [],
    "population": 980,
    "sante": 3.44,
    "ecoles": 0.98,
    "commerces": 4.38,
    "securite": 2.77,
    "fibre": 2.95,
    "potentiel_immo": 3.01,
    "ensoleillement": 3.52,
    "mobilite_douce": 1.5,
    "charme": 3.95,
    "creche_count": 1,
    "lat": 45.857,
    "lng": 4.561,
    "surface_estimee": 215,
    "sortir": 1.95,
    "score_default": 2.78,
    "securite_fallback_strate": true
  },
  {
    "nom": "Savigny",
    "direction": "ouest",
    "prix_m2": 2732,
    "m2_500k": 183,
    "eau": "Ruisseaux",
    "vue": "Collines",
    "vie_village": "Correcte",
    "creche": "✓ LES PETITS GONES",
    "limonest_min": 25,
    "sp_train_min": 47,
    "verdict": "Calme pierres",
    "nature_score": 4.03,
    "nature_desc": "★★★★ Monts du Lyonnais + vergers + vues Alpes + nature sauvage",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "Nature Beaujolais sud — collines, forêts, vue Alpes.",
    "pros": [
      "Nature 4/5 — Monts du Lyonnais, vergers, vues Alpes",
      "L'Arbresle C22 à 10min voiture · TER Part-Dieu accessible",
      "~183m² pour 500k€ — excellent rapport surface/prix",
      "Charme village (3/5) — pierre et caractère préservés"
    ],
    "cons": [
      "Sécurité faible (1.7/5) — point de vigilance",
      "Saint-Paul 47min · dépendance voiture totale",
      "Commerces moyens (3.4/5) — dépendance L'Arbresle"
    ],
    "alertes": [],
    "population": 1995,
    "sante": 2.61,
    "ecoles": 2.03,
    "commerces": 3.44,
    "securite": 2.5,
    "fibre": 3.99,
    "potentiel_immo": 2.51,
    "ensoleillement": 3.52,
    "mobilite_douce": 2,
    "charme": 2.95,
    "creche_count": 1,
    "lat": 45.817,
    "lng": 4.574,
    "surface_estimee": 183,
    "sortir": 3.65,
    "score_default": 2.95
  },
  {
    "nom": "Sourcieux-les-Mines",
    "direction": "ouest",
    "prix_m2": 3706,
    "m2_500k": 135,
    "eau": "Ruisseaux",
    "vue": "Collines boisées",
    "vie_village": "Faible",
    "creche": "✓ 2 structures : OPTI'MOMES, ROSE AND CO",
    "limonest_min": 18,
    "sp_train_min": 30,
    "verdict": "Correct",
    "nature_score": 3.47,
    "nature_desc": "★★★½☆ Forêt + vallons + ruisseaux",
    "mode_transport": "TER",
    "rang": null,
    "tagline": null,
    "pros": [
      "Train Saint-Paul 25min — excellent pour l'Ouest lyonnais",
      "Limonest 18min — trajet bureau très correct",
      "Nature score 3.5 — collines boisées calmes",
      "Prix raisonnable : 3016€/m² pour cette accessibilité"
    ],
    "cons": [
      "Aucune crèche — L'Arbresle à 10min",
      "Vie de village faible — commune résidentielle",
      "Pas de vue remarquable — collines fermées"
    ],
    "alertes": [],
    "population": 2100,
    "sante": 0.79,
    "ecoles": 1.95,
    "commerces": 1.17,
    "securite": 4.13,
    "fibre": 4.04,
    "potentiel_immo": 3.05,
    "ensoleillement": 3.04,
    "mobilite_douce": 1.95,
    "charme": 2.03,
    "creche_count": 2,
    "lat": 45.795,
    "lng": 4.65,
    "surface_estimee": 135,
    "sortir": 1.63,
    "score_default": 2.68
  },
  {
    "nom": "Tassin-la-Demi-Lune",
    "direction": "ouest",
    "prix_m2": 5000,
    "m2_500k": 100,
    "eau": "Aucune",
    "vue": "Limitée",
    "vie_village": "Bonne — bourg animé",
    "creche": "✓✓ 19 structures petite enfance",
    "limonest_min": 15,
    "sp_train_min": 12,
    "verdict": "Urbain dense",
    "nature_score": 1.01,
    "nature_desc": "★☆☆☆☆ À explorer",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "Périurbain dense ultra-équipé — Saint-Paul 12min + tous services à 5 000€/m²",
    "pros": [
      "Saint-Paul 12min (tram + train) — l'accès Lyon le plus rapide du Top 15",
      "Écoles 5/5, santé 5/5, commerces 5/5 + 19 structures petite enfance",
      "Limonest 15min — bascule Techlid possible sans changer de logement",
      "Mobilité douce 3.5/5 + fibre 5/5 — équipements urbains complets"
    ],
    "cons": [
      "Aucune eau, vue limitée, nature 1/5 + charme 1/5 — 100% urbain dense",
      "23 200 hab. — c'est une ville, plus une commune périurbaine de caractère",
      "5 000€/m² → 100m² pour 500k€ — la pire surface/prix du Top 15"
    ],
    "alertes": [],
    "population": 23200,
    "sante": 5,
    "ecoles": 5,
    "commerces": 5,
    "securite": 2.34,
    "fibre": 5,
    "potentiel_immo": 0.97,
    "ensoleillement": 2.96,
    "mobilite_douce": 3.53,
    "charme": 0.95,
    "creche_count": 19,
    "lat": 45.764,
    "lng": 4.773,
    "surface_estimee": 100,
    "sortir": 4,
    "score_default": 3.52
  },
  {
    "nom": "Theizé",
    "direction": "nord-ouest",
    "prix_m2": 3224,
    "m2_500k": 155,
    "eau": "Ruisseaux",
    "vue": "Panoramique vignes Beaujolais",
    "vie_village": "Faible (hameau pittoresque)",
    "creche": "⚠ Aucune structure petite enfance",
    "limonest_min": 28,
    "sp_train_min": 48,
    "verdict": "Correct",
    "nature_score": 3.98,
    "nature_desc": "★★★★ Château + vignes + pierres dorées",
    "mode_transport": "autre",
    "rang": null,
    "tagline": null,
    "pros": [
      "Panoramique vignes Beaujolais — carte postale pierres dorées",
      "Village pittoresque classé — charme architectural unique",
      "Calme total : 1278 habitants",
      "Nature score 4 — vignes et campagne préservée"
    ],
    "cons": [
      "Aucune crèche — Le Bois-d'Oingt à 5min",
      "Transport très limité — 40min vers Saint-Paul",
      "Vie de village minimale — pas de commerces du quotidien"
    ],
    "alertes": [],
    "population": 1278,
    "sante": 0.5,
    "ecoles": 1.02,
    "commerces": 0.5,
    "securite": 2.5,
    "fibre": 3.03,
    "potentiel_immo": 2.99,
    "ensoleillement": 3.98,
    "mobilite_douce": 1.51,
    "charme": 4.99,
    "creche_count": 0,
    "lat": 45.94,
    "lng": 4.618,
    "surface_estimee": 155,
    "sortir": 2.5,
    "score_default": 2.27
  },
  {
    "nom": "Trévoux",
    "direction": "nord",
    "prix_m2": 2692,
    "m2_500k": 186,
    "eau": "Saône (centre-ville)",
    "vue": "Panoramique Saône",
    "vie_village": "Excellente à pied",
    "creche": "✓ 2 structures : LA MAISON DE PILOU ATTIGNAT, VAL HORIZON",
    "limonest_min": 25,
    "sp_train_min": 50,
    "verdict": "Correct",
    "nature_score": 2.53,
    "nature_desc": "★★★☆☆ Saône + coteaux boisés + vieille ville",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "Sous-préfecture pierre dorée + Saône — vie de ville complète à 2 692€/m²",
    "pros": [
      "2 692€/m² → 186m² pour 500k€ — le meilleur ratio surface/prix du Top 15",
      "Vue panoramique Saône + vieille ville pierre dorée + château — charme 4/5",
      "Vie à pied excellente : crèches (2), écoles 4.5/5, santé 4/5, commerces 4/5",
      "Sécurité 4/5 — l'un des meilleurs scores du périmètre élargi"
    ],
    "cons": [
      "TER Saint-Paul 50min — le plus long du Top 15, dissuasif pour actifs Lyon centre",
      "7 000 hab. — ambiance sous-préfecture plus urbaine que village",
      "Limonest 25min voiture — accès pôle tertiaire ouest moyen aux heures de pointe"
    ],
    "alertes": [],
    "population": 7013,
    "sante": 4,
    "ecoles": 4.53,
    "commerces": 4,
    "securite": 3.96,
    "fibre": 4.96,
    "potentiel_immo": 2.95,
    "ensoleillement": 2.96,
    "mobilite_douce": 3.5,
    "charme": 4,
    "creche_count": 2,
    "lat": 45.941,
    "lng": 4.774,
    "surface_estimee": 186,
    "sortir": 3.5,
    "score_default": 3.54
  },
  {
    "nom": "Vaugneray",
    "direction": "ouest",
    "prix_m2": 3800,
    "m2_500k": 132,
    "eau": "Yzeron",
    "vue": "Monts du Lyonnais",
    "vie_village": "Bonne — bourg animé",
    "creche": "✓✓ 3 structures : MUT PETITE ENFANCE VALLONS DU LY..., ASS DES FAMILLES DE VAUGNERAY ST...",
    "limonest_min": 22,
    "sp_train_min": 38,
    "verdict": "Correct",
    "nature_score": 3.5,
    "nature_desc": "★★★½☆ Yzeron + Monts du Lyonnais + forêts",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "Bourg-centre de l'ouest profond — services et Monts du Lyonnais.",
    "pros": [
      "Bourg-centre : services pour tous les villages alentour",
      "Sécurité maximale (4.4/5) · vue Monts du Lyonnais",
      "Bus C21 → Alaï · porte des Monts du Lyonnais",
      "~132m² pour 500k€ — surface généreuse"
    ],
    "cons": [
      "Saint-Paul 38min · Part-Dieu 48min — éloigné",
      "Charme moyen (3/5) — bourg fonctionnel sans signature",
      "Mobilité douce limitée (2.5/5) — voiture nécessaire"
    ],
    "alertes": [],
    "population": 6304,
    "sante": 3,
    "ecoles": 3.47,
    "commerces": 3,
    "securite": 4.43,
    "fibre": 4.55,
    "potentiel_immo": 3.03,
    "ensoleillement": 3.02,
    "mobilite_douce": 2.47,
    "charme": 3,
    "creche_count": 3,
    "lat": 45.738,
    "lng": 4.659,
    "surface_estimee": 132,
    "sortir": 2.5,
    "score_default": 3.27
  },
  {
    "nom": "Écully",
    "direction": "ouest",
    "prix_m2": 4900,
    "m2_500k": 102,
    "eau": "Aucune",
    "vue": "Aucune",
    "vie_village": "Urbaine",
    "creche": "✓✓ 11 structures petite enfance",
    "limonest_min": 15,
    "sp_train_min": 9,
    "verdict": "Éliminé",
    "nature_score": 0.96,
    "nature_desc": "★☆☆☆☆ À explorer",
    "mode_transport": "autre",
    "rang": null,
    "tagline": "Quasi-Lyon premium — TER 9min Saint-Paul, services complets, zéro nature.",
    "pros": [
      "TER 9min Saint-Paul — accès Lyon ultra-rapide",
      "Services complets : écoles 5/5, santé 5/5, fibre 5/5",
      "Campus EM Lyon · CPE — vie étudiante et culturelle",
      "Marché des mardi/vendredi — un des plus animés de l'ouest"
    ],
    "cons": [
      "4 900€/m² · ~102m² seulement pour 500k€",
      "Nature absente (1/5) — aucun espace naturel ni plan d'eau",
      "Sécurité faible (1.2/5) — densité urbaine et flux importants"
    ],
    "alertes": [],
    "population": 17944,
    "sante": 4.91,
    "ecoles": 4.95,
    "commerces": 3.34,
    "securite": 1.24,
    "fibre": 5,
    "potentiel_immo": 0.99,
    "ensoleillement": 3.0,
    "mobilite_douce": 2.98,
    "charme": 1.98,
    "creche_count": 11,
    "lat": 45.773,
    "lng": 4.778,
    "surface_estimee": 102,
    "sortir": 4.1,
    "score_default": 3.4
  },
  {
    "nom": "Éveux",
    "direction": "nord-ouest",
    "prix_m2": 3756,
    "m2_500k": 133,
    "eau": "Brevenne",
    "vue": "Vallée Brevenne",
    "vie_village": "Faible",
    "creche": "✓ BABILOU",
    "limonest_min": 18,
    "sp_train_min": 42,
    "verdict": "Correct",
    "nature_score": 2.98,
    "nature_desc": "★★★☆☆ Couvent Le Corbusier + Brevenne + boisements",
    "mode_transport": "TER",
    "rang": null,
    "tagline": null,
    "pros": [],
    "cons": [],
    "alertes": [],
    "population": 1160,
    "sante": 2.44,
    "ecoles": 2.02,
    "commerces": 3.06,
    "securite": 2.97,
    "fibre": 3.95,
    "potentiel_immo": 2.99,
    "ensoleillement": 3.0,
    "mobilite_douce": 2.48,
    "charme": 2.99,
    "creche_count": 1,
    "lat": 45.833,
    "lng": 4.575,
    "surface_estimee": 133,
    "sortir": 2.96,
    "score_default": 2.74,
    "securite_fallback_strate": true
  },
  {
    "nom": "Limonest",
    "direction": "monts-dor",
    "prix_m2": 4300,
    "m2_500k": 116,
    "eau": "Ruisseau des Planches",
    "vue": "Monts d'Or",
    "vie_village": "Correcte",
    "creche": "✓ Multi-accueil",
    "limonest_min": 0,
    "sp_train_min": 25,
    "verdict": "Très bon",
    "nature_score": 2.98,
    "nature_desc": "★★★☆☆ Monts d'Or proches, espaces verts, zone d'activités",
    "mode_transport": "Bus",
    "rang": null,
    "tagline": "Pôle Techlid à 0min — exécutifs Monts d'Or + accès A6 immédiat",
    "pros": [
      "Limonest 0min (commune-pôle) — Techlid, A6/N6, hôpital privé sur place",
      "Santé 4.9/5 + commerces 4.8/5 + sortir 5/5 — services équivalents centre Lyon",
      "Vue Monts d'Or + ensoleillement 3.5/5 — cadre supérieur à la moyenne ouest",
      "TER Saint-Paul 25min via gare Dommartin-Lissieu pour bascule Lyon Presqu'île"
    ],
    "cons": [
      "Sécurité 0.7/5 — le score le plus bas du Top 15 (zone d'activités attractive)",
      "Prix 4 300€/m² → 116m² pour 500k€ — surface contrainte pour famille",
      "Charme village 2/5 — bâti dominé par lotissements + zone tertiaire Techlid"
    ],
    "alertes": [],
    "population": 3800,
    "sante": 4.91,
    "ecoles": 3.55,
    "commerces": 4.83,
    "securite": 0.69,
    "fibre": 4.97,
    "potentiel_immo": 3.52,
    "ensoleillement": 3.51,
    "mobilite_douce": 3.03,
    "charme": 1.97,
    "creche_count": 2,
    "lat": 45.837,
    "lng": 4.772,
    "surface_estimee": 116,
    "sortir": 5,
    "score_default": 3.5
  },
  {
    "nom": "Champagne-au-Mont-d'Or",
    "direction": "monts-dor",
    "prix_m2": 4200,
    "m2_500k": 119,
    "eau": "Non",
    "vue": "Monts d'Or",
    "vie_village": "Correcte",
    "creche": "✓ Multi-accueil",
    "limonest_min": 5,
    "sp_train_min": 22,
    "verdict": "Très bon",
    "nature_score": 2.51,
    "nature_desc": "★★½☆☆ Parc de la Duchère proche, Monts d'Or accessibles",
    "mode_transport": "Bus",
    "rang": null,
    "tagline": "Limonest 5min + vue Monts d'Or — pôle ouest à portée immédiate",
    "pros": [
      "Limonest 5min — accès Techlid quasi instantané, l'un des meilleurs du Top 15",
      "Vue Monts d'Or + ensoleillement 3.5/5 — cadre supérieur à la moyenne ouest",
      "Santé 4/5 + commerces 4.5/5 — équipements de proximité complets",
      "Saint-Paul 22min via bus + TER Vaise — accès Lyon centre acceptable"
    ],
    "cons": [
      "Sécurité 1.85/5 — un des taux les plus bas des Monts d'Or",
      "Prix 4 200€/m² → 119m² pour 500k€ — surface contrainte pour famille",
      "Pas d'eau + charme 2.5/5 — caractère village dilué par urbanisation"
    ],
    "alertes": [],
    "population": 5500,
    "sante": 4.01,
    "ecoles": 4,
    "commerces": 4.51,
    "securite": 1.85,
    "fibre": 4.95,
    "potentiel_immo": 2.95,
    "ensoleillement": 3.46,
    "mobilite_douce": 3.55,
    "charme": 2.47,
    "creche_count": 2,
    "lat": 45.795,
    "lng": 4.79,
    "surface_estimee": 119,
    "sortir": 3.52,
    "score_default": 3.46
  },
  {
    "nom": "Saint-Romain-de-Popey",
    "direction": "nord-ouest",
    "prix_m2": 1554,
    "m2_500k": 322,
    "eau": "Turdine",
    "vue": "Vallée Turdine",
    "vie_village": "Correcte",
    "creche": "✗",
    "limonest_min": 25,
    "sp_train_min": 48,
    "verdict": "Long",
    "nature_score": 3.5,
    "nature_desc": "★★★½☆ Campagne vallonnée, Turdine, boisements",
    "mode_transport": "Voiture",
    "rang": null,
    "tagline": null,
    "pros": [
      "Prix attractifs",
      "Calme",
      "Nature"
    ],
    "cons": [
      "Éloigné Lyon",
      "Peu de commerces",
      "Voiture indispensable"
    ],
    "alertes": [],
    "population": 4200,
    "sante": 1.14,
    "ecoles": 2.55,
    "commerces": 1.37,
    "securite": 4.32,
    "fibre": 3.48,
    "potentiel_immo": 3.01,
    "ensoleillement": 3.0,
    "mobilite_douce": 1.49,
    "charme": 3.47,
    "creche_count": 0,
    "lat": 45.856,
    "lng": 4.531,
    "surface_estimee": 322,
    "sortir": 1.43,
    "score_default": 2.84
  },
  {
    "nom": "Limas",
    "direction": "nord",
    "prix_m2": 2841,
    "m2_500k": 176,
    "eau": "Non",
    "vue": "Plaine Saône",
    "vie_village": "Correcte",
    "creche": "✓ Multi-accueil",
    "limonest_min": 20,
    "sp_train_min": 35,
    "verdict": "Bon",
    "nature_score": 2,
    "nature_desc": "★★☆☆☆ Périurbain Villefranche, peu de relief",
    "mode_transport": "TER",
    "rang": null,
    "tagline": "Périurbain Villefranche à 2 841€/m² — 176m² pour 500k€, TER 35min",
    "pros": [
      "2 841€/m² → 176m² pour 500k€ — 2e meilleur ratio surface/prix du Top 30",
      "TER Saint-Paul 35min via Villefranche — accès Lyon sans voiture possible",
      "Multi-accueil + écoles 3.5/5 + 6 500 hab. — équipements de petite ville",
      "Fibre 5/5 + potentiel immobilier 3/5 — zone en valorisation Villefranche-Beaujolais"
    ],
    "cons": [
      "Nature 2/5 + plaine Saône + charme 2/5 — périurbain Villefranche sans cachet",
      "Sécurité 1.1/5 — un des scores les plus bas du Top 30",
      "Commerces 2.2/5 + sortir 2.3/5 — vie locale limitée, dépendance Villefranche centre"
    ],
    "alertes": [],
    "population": 6500,
    "sante": 3.29,
    "ecoles": 3.53,
    "commerces": 2.21,
    "securite": 1.15,
    "fibre": 4.95,
    "potentiel_immo": 3.04,
    "ensoleillement": 3.03,
    "mobilite_douce": 2.96,
    "charme": 1.95,
    "creche_count": 2,
    "lat": 45.975,
    "lng": 4.697,
    "sortir": 2.35,
    "score_default": 3.02
  },
  {
    "nom": "Denicé",
    "direction": "nord",
    "prix_m2": 2706,
    "m2_500k": 185,
    "eau": "Non",
    "vue": "Vignobles Pierres Dorées",
    "vie_village": "Correcte",
    "creche": "✗",
    "limonest_min": 28,
    "sp_train_min": 45,
    "verdict": "Correct",
    "nature_score": 3.49,
    "nature_desc": "★★★½☆ Vignobles, collines Pierres Dorées, calme",
    "mode_transport": "Voiture",
    "rang": null,
    "tagline": null,
    "pros": [
      "Pierres Dorées",
      "Calme",
      "Prix attractifs"
    ],
    "cons": [
      "Voiture indispensable",
      "Peu de commerces"
    ],
    "alertes": [],
    "population": 1100,
    "sante": 3.93,
    "ecoles": 1.49,
    "commerces": 4.72,
    "securite": 2.5,
    "fibre": 3.47,
    "potentiel_immo": 2.98,
    "ensoleillement": 3.49,
    "mobilite_douce": 1.47,
    "charme": 3.96,
    "creche_count": 0,
    "lat": 45.975,
    "lng": 4.651,
    "sortir": 2.47,
    "score_default": 2.9
  },
  {
    "nom": "Thurins",
    "direction": "ouest",
    "prix_m2": 3216,
    "m2_500k": 155,
    "eau": "Garon",
    "vue": "Coteaux Lyonnais",
    "vie_village": "Correcte",
    "creche": "✓ Multi-accueil",
    "limonest_min": 30,
    "sp_train_min": 45,
    "verdict": "Correct",
    "nature_score": 3.55,
    "nature_desc": "★★★½☆ Coteaux du Lyonnais, vergers, Garon",
    "mode_transport": "Voiture",
    "rang": null,
    "tagline": null,
    "pros": [
      "Nature",
      "Calme",
      "Village vivant"
    ],
    "cons": [
      "Éloigné Lyon",
      "Voiture indispensable"
    ],
    "alertes": [],
    "population": 3000,
    "sante": 2,
    "ecoles": 2.49,
    "commerces": 2,
    "securite": 2.85,
    "fibre": 3.98,
    "potentiel_immo": 2.96,
    "ensoleillement": 3.45,
    "mobilite_douce": 1.97,
    "charme": 3.46,
    "creche_count": 1,
    "lat": 45.679,
    "lng": 4.64,
    "sortir": 2,
    "score_default": 2.76
  },
  {
    "nom": "Yzeron",
    "direction": "ouest",
    "prix_m2": 2230,
    "m2_500k": 224,
    "eau": "Yzeron",
    "vue": "Panorama Monts du Lyonnais",
    "vie_village": "Faible",
    "creche": "✗",
    "limonest_min": 35,
    "sp_train_min": 55,
    "verdict": "Long",
    "nature_score": 4.55,
    "nature_desc": "★★★★½ Village perché, forêts, panoramas exceptionnels",
    "mode_transport": "Voiture",
    "rang": null,
    "tagline": "Belvédère des Monts du Lyonnais — calme absolu pour télétravailleurs autonomes",
    "pros": [
      "Panorama exceptionnel sur les Monts du Lyonnais et la chaîne des Alpes par temps clair",
      "Nature préservée — forêts, sentiers GR, biodiversité au seuil du Parc régional",
      "Prix accessibles (2230 €/m²) pour 224 m² avec 500k€ — cadre rare à ce budget",
      "Fibre disponible (3/5) — éligible télétravail malgré l'isolement géographique",
      "Charme architectural fort (4.5/5) — village perché en pierres dorées"
    ],
    "cons": [
      "Aucun commerce de proximité — Brindas/Vaugneray à 10-15 min en voiture pour le quotidien",
      "Pas de médecin sur place — désert médical, déplacements obligatoires pour la santé",
      "Très éloigné de Lyon en transports — 55 min pour Saint-Paul, voiture quasi indispensable",
      "Route sinueuse (D113) — trajets pénibles l'hiver, exigeant pour familles avec enfants"
    ],
    "alertes": [],
    "population": 700,
    "sante": 0.5,
    "ecoles": 1.05,
    "commerces": 0.5,
    "securite": 2.88,
    "fibre": 2.97,
    "potentiel_immo": 2.53,
    "ensoleillement": 3.52,
    "mobilite_douce": 1.04,
    "charme": 4.47,
    "creche_count": 0,
    "lat": 45.713,
    "lng": 4.588,
    "sortir": 1,
    "score_default": 2.25,
    "securite_fallback_strate": true
  }
]