77 lines
1.9 KiB
Markdown
77 lines
1.9 KiB
Markdown
# Essence
|
|
|
|
Carte de chaleur des prix d'essence au Québec affichant les prix en temps réel des stations à travers la province.
|
|
|
|
## Fonctionnalités
|
|
|
|
- **Carte interactive** : Carte Leaflet affichant toutes les stations avec les prix
|
|
- **Variations de prix** : Affiche les changements de prix sur 48 heures par station
|
|
- **Statistiques** : Graphiques historiques des prix avec filtrage par région (Chart.js)
|
|
- **Mises à jour automatiques** : Interroge les données en amont toutes les 5 minutes
|
|
|
|
## Stack technique
|
|
|
|
- **Backend** : Go avec `modernc.org/sqlite` (pilote SQLite 100% Go)
|
|
- **Frontend** : JavaScript pur, htmx pour l'interactivité
|
|
- **Carte** : Leaflet avec regroupement de marqueurs
|
|
- **Source des données** : [Régie de l'énergie Québec](https://regieessencequebec.ca)
|
|
|
|
## Démarrage rapide
|
|
|
|
```sh
|
|
# Entrer dans l'environnement de développement
|
|
nix develop
|
|
# ou
|
|
direnv allow
|
|
|
|
# Lancer le serveur
|
|
go run .
|
|
|
|
# Ou avec des paramètres personnalisés
|
|
PORT=8080 ESSENCE_DB=./essence.db go run .
|
|
```
|
|
|
|
Le serveur démarre à `http://localhost:8080` et redirige `/` vers `/map`.
|
|
|
|
## Routes
|
|
|
|
| Chemin | Description |
|
|
|--------|-------------|
|
|
| `/map` | Carte interactive avec toutes les stations |
|
|
| `/stats` | Graphiques historiques des prix |
|
|
| `/api/stations` | JSON : toutes les stations |
|
|
| `/api/stats` | JSON : historique mondial des prix |
|
|
| `/api/regions` | JSON : liste des régions |
|
|
| `/api/station-deltas` | JSON : variations de prix sur 48h |
|
|
|
|
## Variables d'environnement
|
|
|
|
| Variable | Défaut | Description |
|
|
|----------|--------|-------------|
|
|
| `PORT` | `8080` | Port d'écoute HTTP |
|
|
| `ESSENCE_DB` | `./essence.db` | Chemin de la base de données SQLite |
|
|
|
|
## Compilation
|
|
|
|
```sh
|
|
go build -o essence .
|
|
```
|
|
|
|
Ou via Nix :
|
|
|
|
```sh
|
|
nix build
|
|
./result/bin/essence
|
|
```
|
|
|
|
## Formatage et analyse statique
|
|
|
|
```sh
|
|
gofmt -w .
|
|
goimports -w .
|
|
go vet ./...
|
|
```
|
|
|
|
## Licence
|
|
|
|
MIT
|