Spaces:
Sleeping
Sleeping
Commit History
-
Propose alternative routes: another autoroute + a toll-free départementale way
- computeRoute now fetches OSRM (alternatives=3) for the fastest + any second autoroute way, and Valhalla (use_tolls:0, FOSSGIS) for a guaranteed toll-free "départementale" route — OSRM public servers reject exclude=, so Valhalla handles the toll-free case. - Each option is drawn on the map (active solid, others dashed, colour-coded) and listed in the itinerary panel with distance / time / toll; click or keyboard to switch the active route, which drives the along-route stations and fuel+toll cost. - Added a Valhalla encoded-polyline decoder (precision 6), verified against the canonical test vector. Bump service worker cache to v15. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>cd2d39f -
Add favourites, price-freshness + 24/7 filters, services in popups, sortable list
Data: - fuel_data.py exposes a 24/7 flag (automate_24_24) and the services list; build_map embeds them as record indices 10 (open24) and 11 (services). Features: - Favourites: ★ toggle in each station popup, persisted in localStorage, shown with a gold ring on the map, plus a "Favoris seulement" filter. - Price-freshness filter: show only prices reported within 2 / 7 / 14 days. - 24/7 filter ("Ouvert 24/24") + a 24/24 badge and the services list in popups. - The cheapest list becomes a sortable list (prix / fraîcheur / nom, top 50) with favourite stars. Bump service worker cache to v14. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>e6a157d
-
Quality pass: CI, accessibility, and gzip/perf
CI (GitHub Actions): - .github/workflows/ci.yml runs on every push/PR: byte-compiles Python, checks JS syntax (esprima), and runs tests/smoke_test.py (build render, JSON-LD validity, payload keys, social-card generation). Accessibility: - Collapsible panel/itinerary headers are keyboard-operable (role=button, tabindex, Enter/Space) with aria-expanded kept in sync. - aria-labels on icon-only and unlabelled controls (search, clear, locate, vehicle inputs, brand filter); aria-live on status regions (hint, route msg, cost, charger count, route status). - Cheapest-list rows are focusable buttons with keyboard activation. - Visible :focus-visible outlines; darker secondary text (#999 -> #6b7280) for AA contrast; map labelled as an application region. Perf / Lighthouse: - app.py now gzips text responses (html/css/js/json/xml/svg) when accepted — a big win for the ~1.4 MB embedded-data index — and sets a 1-day cache on images/manifest while keeping the page and SW no-cache. …590c919 -
Reliability + accuracy + features: routing fallback, tolls, EV price, filters, trends, dark mode, URL state, social card
Reliability: - Routing tries FOSSGIS first, falls back to project-osrm; clearer error when both are unavailable. - Cache BAN geocoding (localStorage for cities, in-memory for autocomplete) and charger views (session cache by rounded bbox+zoom). - Service-worker update prompt: a "Nouvelle version — Recharger" toast applies the waiting SW on demand (install no longer auto-skips waiting). Accuracy: - EV charging-price selector (home / mixte / fast-charge EUR/kWh) used in the cost. - Smarter toll estimate: per-road EUR/km (free autoroutes -> 0, A14 premium), excludes free lettered urban links (A6a/A6b); totals use the computed euro. Features: - Filter by enseigne (brand) with counts. - "Voir les moins cheres": clickable list of the 12 cheapest in the selection. - "Stations pres de moi": one-tap geolocation to the nearest cheapest station. - Price trend per fuel (median + up/down vs previous build), persisted in output/price_history.json. - Dark mode following the OS setting (pa…ed70eb7 -
Deeper SEO, Apache-2.0 metadata, full ADEME car scrape, chargers when zoomed out
SEO: - Resource hints (preconnect/dns-prefetch) for faster first paint. - Geo meta (FR), rel=license/author, hreflang fr-FR + x-default, richer OG/Twitter image metadata (dimensions + alt). - Enriched WebApplication JSON-LD (creator, featureList, areaServed, license) and a new FAQPage block (rich-result eligible). - Visually-hidden but crawlable content section + skip link (.sr-only). - sitemap.xml now generated at build time with a real <lastmod> (freshness). License: - LICENSE is Apache-2.0; fix README frontmatter (was license: mit) and add a License section; add a NOTICE file. © 2026 Samuel Adone. Cars: - car_data.py pages through the whole ADEME dataset via the data-fair `after` cursor (follows the server `next` link), instead of a single capped request. Verified: 3604 rows -> 557 models. EV chargers: - Show chargers at any zoom (removed the zoom<9 gate) like the fuel stations: zoom-aware fetch cap, parallel pagination, markercluster grouping; selecting Électrique …4ccb3e1 -
Merge master (LICENSE) into main
9e20dd1 -
Fix narrow-screen layout overlap + make author credit always visible
- Raise the mobile breakpoint 600px -> 960px (shared MOBILE_MQ const in app.js and the @media query in styles.css). Large phones, tablets and split-screen windows now get the slim top-bar layout with controls pushed below the bar, so the centred banner no longer overlaps the Carburant panel header. - Increase the control offset under the top bar (50px -> 58px) so a wrapped banner can't cover the panels. - Move the "Créé par Samuel Adone" credit into the Leaflet attribution (always visible, never hidden behind the attribution bar or overlapping panels); remove the free-floating footer element. - Bump service worker cache to v10. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>a5762ed -
Add motorway toll estimate + fuel/recharge-plus-toll total to itinerary cost
- Estimate the tolled-motorway distance from OSRM step refs (steps=true; a step counts as autoroute when its ref looks like "A 6"), times an average light- vehicle rate (~0,09 €/km). - Itinerary cost now shows "🅿️ Péage autoroute : ≈ X €" and a "💰 Total" line combining fuel (or recharge) + toll, for both thermique and électrique modes. - Toll shown on its own when a route exists but no vehicle is selected. - Bump service worker cache to v9. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>3cc22e3 -
Initial commit
RebornX10Unverified signaturef846612 -
Add price-ceiling slider, first-visit install prompt, SEO metadata + author footer
- Price slider in the fuel panel: filter to stations ≤ a chosen €/L, range auto-scaled per fuel, "tout afficher" reset; hidden in électrique view. - First-visit "add to home screen" prompt: browser/OS-aware instructions (iOS Safari, Android Chrome/Brave, Firefox, Samsung, Edge, desktop), native install button via beforeinstallprompt, one-time (localStorage), hidden when already installed. - SEO: descriptive title/description/keywords, canonical, Open Graph + Twitter cards, WebApplication JSON-LD, h1 heading, noscript fallback, robots.txt + sitemap.xml (served with proper MIME types). - Footer credit linking to Samuel Adone's LinkedIn. - Bump service worker cache to v8. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>57ffa0b -
Add real-time geolocation (locate button + live position) and motorway (autoroute) prices in itinerary cost
- Geolocation: 📍 button watches position, shows a live dot + accuracy circle, centres on first fix without re-yanking the map afterwards. - Motorway: flag autoroute stations (pop=A) in the data, badge them in popups, and show a separate 'sur autoroute' cost estimate alongside the cheapest-overall in the journey calculation. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>eea5f65 -
Fix mobile UI: slim top bar + controls pushed below it, both panels collapsible to chips (collapsed by default, mutually exclusive on mobile)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>6a9bb08 -
Fix: EV chargers now load on selecting Électrique (lower zoom gate to 9, auto-zoom in, paginate + dedupe by location)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>05a0142 -
Add 'Électrique' option to the fuel panel to display EV chargers (replaces itinerary checkbox)
Selecting Électrique hides fuel stations, shows the national charger layer (viewport-loaded), and swaps the price legend for a charger-power legend. Bumps SW cache to v4. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>b0e598e -
Add real car models (ADEME) + hybrids, EV selector + national charger layer + recharge stops; split JS/CSS into files; verbose container logs
- Cars: ≈550 real models with exact WLTP L/100km from ADEME (hybrids labelled); model autocomplete drives the fuel-cost estimate. - EV: model picker with WLTP range, recharge-stop planning at real chargers, and a national IRVE charger layer (ODRE, 224k) loaded by viewport. - Architecture: extracted all JS to static/app.js (IIFE) and CSS to static/styles.css; index.html is now a slim shell injecting window.APP_DATA. SW precaches them (v3). - app.py: verbose timestamped request + build logging; PYTHONUNBUFFERED in Docker. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>71c08ae -
Add vehicle selector + journey fuel-cost estimate; French number formatting; drop bogus prices
Pick a vehicle (preset profiles or custom L/100km + fuel) to estimate a trip's fuel cost from distance x consumption x cheapest along-route price; selecting a car sets the displayed fuel. Prices now render French-style (comma) and implausible values (e.g. 0.002 EUR/L) are filtered out so cheapest/cost figures stay sane. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>f2552b2 -
Use IGN Plan v2 basemap so map labels are in French (replaces CartoDB)
Switches tiles to the official Géoplateforme IGN Plan v2 (French town/road/sea labels); updates service worker tile cache host and bumps cache to v2. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>11e4991 -
Add city autocomplete (Base Adresse Nationale) and finish French localization
Itinerary inputs now autocomplete French communes via the official BAN API (coords reused on pick); banner, popups, zoom tooltips and date format are now French. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>65fb614 -
Fix itinerary: replace fragile routing-machine geocoder with direct Nominatim + OSRM
Self-built départ/arrivée control geocodes via Nominatim and routes via OSRM with explicit coordinates; drops leaflet-routing-machine and control-geocoder deps. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>9281729 -
Add postal-code/city filter and départ→arrivée itinerary with along-route stations
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>b02f256 -
Deploy petrol map: interactive fuel-price PWA + Docker for HF Spaces
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>284e818 -
initial commit
Verified signature01a6a9e