1.9 KiB
1.9 KiB
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
Démarrage rapide
# 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
go build -o essence .
Ou via Nix :
nix build
./result/bin/essence
Formatage et analyse statique
gofmt -w .
goimports -w .
go vet ./...
Licence
MIT