From c4b1d1c2ba4a6dece8b5501f36052deb62fd5b9d Mon Sep 17 00:00:00 2001 From: Polen Date: Wed, 8 Apr 2026 08:39:37 -0400 Subject: [PATCH] readme --- README.md | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..052ed2b --- /dev/null +++ b/README.md @@ -0,0 +1,77 @@ +# 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