prixdugaz/README.md
2026-04-08 08:39:37 -04:00

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