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

43
electron-builder.yml Normal file
View File

@@ -0,0 +1,43 @@
appId: com.electron.app
productName: isochrone-app
directories:
buildResources: build
files:
- '!**/.vscode/*'
- '!src/*'
- '!electron.vite.config.{js,ts,mjs,cjs}'
- '!{.eslintcache,eslint.config.mjs,.prettierignore,.prettierrc.yaml,dev-app-update.yml,CHANGELOG.md,README.md}'
- '!{.env,.env.*,.npmrc,pnpm-lock.yaml}'
- '!{tsconfig.json,tsconfig.node.json,tsconfig.web.json}'
asarUnpack:
- resources/**
win:
executableName: isochrone-app
nsis:
artifactName: ${name}-${version}-setup.${ext}
shortcutName: ${productName}
uninstallDisplayName: ${productName}
createDesktopShortcut: always
mac:
entitlementsInherit: build/entitlements.mac.plist
extendInfo:
- NSCameraUsageDescription: Application requests access to the device's camera.
- NSMicrophoneUsageDescription: Application requests access to the device's microphone.
- NSDocumentsFolderUsageDescription: Application requests access to the user's Documents folder.
- NSDownloadsFolderUsageDescription: Application requests access to the user's Downloads folder.
notarize: false
dmg:
artifactName: ${name}-${version}.${ext}
linux:
target:
- AppImage
- snap
- deb
maintainer: electronjs.org
category: Utility
appImage:
artifactName: ${name}-${version}.${ext}
npmRebuild: false
publish:
provider: generic
url: https://example.com/auto-updates