gpx.studio/README.md
2025-06-02 16:29:39 +02:00

72 lines
3.1 KiB
Markdown

<picture>
<source media="(prefers-color-scheme: dark)" srcset="website/static/logo-dark.svg">
<img alt="Logo of gpx.studio." src="website/static/logo.svg">
</picture>
* [**gpx.studio**](https://gpx.studio) est un outil en ligne pour créer et éditer des fichiers GPX.
* <https://github.com/gpxstudio>
![gpx.studio screenshot](website/src/lib/assets/img/docs/getting-started/interface.png)
Ce dépôt contient le code source du site.
## Traduction
Le site Web est traduit par des bénévoles sur une plateforme de traduction collaborative.
Vous pouvez aider à compléter et à améliorer les traductions en rejoignant le projet [Crowdin](https://crowdin.com/project/gpxstudio).
## Développement
Le code est divisé en deux parties:
- `gpx`: une bibliothèque de caractères pour analyser et manipuler les fichiers GPX,
- `site web`: le site lui-même, qui est une application [SvelteKit](https://kit.svelte.dev/).
Vous aurez besoin de [Node.js](https://nodejs.org/) pour construire et exécuter ces deux parties.
### Construction de la bibliothèque `gpx`
```bash
cd gpx
npm install
npm run build
```
### Fonctionnement du site
Pour pouvoir charger la carte, vous devrez créer votre propre <a href="https://account.mapbox.com/auth/signup" target="_blank">Jeton d'accès Mapbox</a> et le stocker dans un fichier `.env` dans le répertoire `site web`.
```bash
cd website
echo PUBLIC_MAPBOX_TOKEN={YOUR_MAPBOX_TOKEN} >> .env
npm install
npm run dev
```
## Crédits
Ce projet a été rendu possible grâce aux projets open source suivants:
- Développement:
- [Svelte](https://github.com/sveltejs/svelte) and [SvelteKit](https://github.com/sveltejs/kit) — expérience de développement sans faille
- [MDsveX](https://github.com/pngwn/MDsveX) — permettant une documentation basée sur Markdown
- [svelte-i18n](https://github.com/kaisermann/svelte-i18n) — localisation facile
- Conception:
- [shadcn-svelte](https://github.com/huntabyte/shadcn-svelte) — beautiful components
- [lucide-svelte](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-svelte) — belles icônes
- [tailwindcss](https://github.com/tailwindlabs/tailwindcss) — un style facile
- [Chart.js](https://github.com/chartjs/Chart.js) — beaux et rapides graphiques
- Logique:
- [immer](https://github.com/immerjs/immer) — gestion d'État complexe
- [Dexie.js](https://github.com/dexie/Dexie.js) — Emballage IndexedDB
- [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) — analyse rapide de fichier GPX
- [SortableJS](https://github.com/SortableJS/Sortable) — création d'un arborescence de fichiers triables
- Cartographie:
- [Mapbox GL JS](https://github.com/mapbox/mapbox-gl-js) — de belles cartes interactives rapides
- [brouter](https://github.com/abrensch/brouter) — moteur de routage
- [OpenStreetMap](https://www.openstreetmap.org) — données cartographiques utilisées par Mapbox et brouter
- [DocSearch](https://github.com/algolia/docsearch) — moteur de recherche de la documentation
## Licence
Ce projet est sous licence MIT - voir le fichier [LICENSE](LICENSE) pour plus de détails.