feat: initial isochrone desktop app (Electron + MapLibre + ORS)

- MapLibre GL v5 avec fond OpenFreeMap (vector tiles OSM gratuit)
- Isochrones via OpenRouteService API (voiture, vélo, piéton)
- Multi-isochrones colorées (jusqu'à 5 durées simultanées)
- Export PNG et GeoJSON
- Recherche de lieu via Nominatim
- Clé API ORS persistée en localStorage / .env
This commit is contained in:
2026-03-30 20:22:58 +02:00
commit 3953e4ff40
41 changed files with 11890 additions and 0 deletions

22
src/preload/index.ts Normal file
View File

@@ -0,0 +1,22 @@
import { contextBridge } from 'electron'
import { electronAPI } from '@electron-toolkit/preload'
// Custom APIs for renderer
const api = {}
// Use `contextBridge` APIs to expose Electron APIs to
// renderer only if context isolation is enabled, otherwise
// just add to the DOM global.
if (process.contextIsolated) {
try {
contextBridge.exposeInMainWorld('electron', electronAPI)
contextBridge.exposeInMainWorld('api', api)
} catch (error) {
console.error(error)
}
} else {
// @ts-ignore (define in dts)
window.electron = electronAPI
// @ts-ignore (define in dts)
window.api = api
}