Locations vacances Espagne - Ete 2026

Derniere mise a jour : ...
Source : ...
Recherches effectuees pour : ...
Disponibilite verifiee le : ... (verification reelle Booking.com)
0
Locations affichees
0
Dans le budget
0
Verifiees disponibles
-
Prix min (EUR)
-
Prix moyen / nuit
Lignes vert clair = dans le budget 7200 EUR | jaune = legerement au-dessus (jusqu'a 7700 EUR) | rouge clair = au-dela du budget. Lignes en grise = climatisation absente (critere obligatoire). Statut Verifie = disponibilite confirmee Booking.com aujourd'hui.
Nom Ville Region Nuits Prix total EUR/nuit Note Avis Mer Equipements Budget Dispo Lien
Chargement des donnees...

Criteres de recherche

Recommandations

Chargement...

Historique

  • Chargement...

Archives des runs précédents

Snapshot complet (locations + meta + council) Ă  chaque ./refresh.sh.

Chargement des archives...

Guide d'utilisation et architecture

Comment ce site fonctionne, comment le mettre à jour, et ce qui reste à améliorer.

Architecture des données

3 fichiers de données + 1 délibération LLM, tous séparés du template :

FichierRĂŽleMis Ă  jour par
index.htmlTemplate (HTML+CSS+JS), squelette stableManuellement, rare
locations.jsonListe des locations Booking.com filtrées (contraintes dures)Scraper Booking via MCP accommodations_search
meta.jsonStats du run, dates, paramĂštres Booking (bookingParams)Scraper Booking
council.jsonDélibération LLM Council (Stage 1/2/3 + candidates)llm_council.py --vacation
council.mdVersion markdown lisible/téléchargeablellm_council.py --vacation

Workflow complet

1. Scraper Booking (Claude Desktop scheduled task)
   → Ă©crase locations.json + meta.json
   → contraintes dures filtrĂ©es : prix ≀ 7200€, piscine, clim, 4 chambres
   → automatique, voir prompt.md

2. ./refresh.sh                            ← une seule commande
   ├─ python3 llm_council.py --vacation
   │  → 4 LLMs cheap en parallùle :
   │    - openai/gpt-5-mini       ($0.25/$2.00 par M tokens)
   │    - anthropic/claude-haiku-4.5 ($1.00/$5.00)
   │    - x-ai/grok-4.1-fast      ($0.20/$0.50)
   │    - deepseek/deepseek-v4-pro ($0.43/$0.87)
   │  → 3 stages : individuel → revue croisĂ©e anonymisĂ©e → synthĂšse Chairman
   │  → Ă©crit council.json + council.md
   │  → coĂ»t : ~0,10-0,20$ par run
   └─ ./deploy.sh
      → dĂ©ploie index.html + 4 JSON/MD vers vac2026.pham.fr

Tu peux aussi lancer les 2 étapes séparément (python3 llm_council.py --vacation puis ./deploy.sh) si tu veux contrÎler.

Comment lire l'onglet Recommandations

  • En haut, sans cliquer : la synthĂšse du Chairman (verdict, top 3, choix unique).
  • DĂ©tails repliables :
    • Classement agrĂ©gĂ© : quel modĂšle a Ă©tĂ© le mieux notĂ© par ses pairs.
    • Évaluations croisĂ©es (Stage 2) : chaque modĂšle critique les autres en aveugle (anonymisĂ©), avant que les identitĂ©s soient rĂ©vĂ©lĂ©es.
    • RĂ©ponses individuelles brutes (Stage 1) : ce que chaque LLM a rĂ©pondu indĂ©pendamment, sans connaĂźtre les autres.
    • Prompt initial : le texte exact envoyĂ© au council.
  • Liens cliquables : tous les noms de location et rĂ©fĂ©rences #N pointent vers Booking avec dates + nb personnes prĂ©-remplis (paramĂštres pris dans meta.json.bookingParams).

Archivage

À chaque ./refresh.sh, les 4 fichiers (locations, meta, council.json, council.md) sont copiĂ©s dans archive/<timestamp>/. Un index archive/index.json liste tous les snapshots, consommĂ© par l'onglet Historique.

Cas d'usage : revoir une délibération passée, comparer les prix Booking d'un mois sur l'autre, savoir quel modÚle recommandait quoi à une date donnée.

Limites connues

  • Le council ne consulte pas le web. Toute affirmation hors des donnĂ©es du tableau est une extrapolation (notamment "dĂ©caler les dates Ă©conomiserait" : prix/dispo non vĂ©rifiĂ©s sur d'autres fenĂȘtres).
  • Calcul "mĂȘme prix, plus de nuits" thĂ©orique : suppose un €/nuit constant, ce qui n'est pas garanti hors de la fenĂȘtre scrapĂ©e.
  • DonnĂ©es Booking gelĂ©es au moment du scrape. Une location peut devenir indisponible entre 2 runs.
  • Pas de retry par stage : si un LLM Ă©choue (ex. 402 Payment Required, 404 model id), on continue sans, mais pas de fallback automatique.

Points à améliorer

  • Grille tarifaire (price_grid.json) : enrichir le scraper Booking pour requĂȘter plusieurs fenĂȘtres et durĂ©es (1-15 juil / 8-22 juil / 15 juil-5 aoĂ»t / 14 vs 21 nuits) sur le top N candidats. Le council consommerait alors des donnĂ©es rĂ©elles plutĂŽt que des extrapolations.
  • Validation des model IDs : ping OpenRouter au dĂ©marrage de llm_council.py pour dĂ©tecter un ID obsolĂšte avant de lancer le run.
  • Retry par stage : si Stage 3 (Chairman) Ă©choue, possibilitĂ© de relancer juste cette Ă©tape sans re-payer Stage 1/2.
  • CoĂ»t en temps rĂ©el : afficher le coĂ»t estimĂ© du run aprĂšs exĂ©cution (les modĂšles renvoient usage dans la rĂ©ponse OpenRouter).
  • SĂ©lecteur de modĂšles dans l'UI : permettre de changer la composition du council sans Ă©diter config.py.
  • Streaming Stage 1/2/3 : afficher la progression dans l'UI au lieu de "Consulting the council..." pendant 1-2 min.

Pour modifier le council

Édite llm_council.py :

  • COUNCIL_MODELS : liste des modĂšles OpenRouter (3 cheap par dĂ©faut)
  • CHAIRMAN_MODEL : modĂšle qui synthĂ©tise (peut ĂȘtre un membre du council ou un autre)
  • VACATION_BUDGET_MAX, VACATION_REQUIRE_POOL, VACATION_REQUIRE_AC : contraintes du filtre --vacation
  • build_vacation_prompt() : texte du prompt envoyĂ© au council

Lancer en local

# Serveur statique (le double-clic file:// ne marche pas, fetch() bloqué)
python3 -m http.server
# Puis http://localhost:8000/

# Lancer le council (clé API : env OPENROUTER_API_KEY ou ~/work/cloud/apikey.yaml)
python3 llm_council.py --vacation