Une alternative à https://regieessencequebec.ca/
Find a file
2026-04-08 11:59:07 -04:00
static UX fix 2026-04-08 11:59:07 -04:00
templates UX fix 2026-04-08 11:59:07 -04:00
.envrc initial project setup 2026-04-02 09:50:45 -04:00
.gitignore typo 2026-04-08 10:07:19 -04:00
AGENTS.md new stack 2026-04-07 21:42:30 -04:00
essence_new new stack 2026-04-07 21:42:30 -04:00
flake.lock initial project setup 2026-04-02 09:50:45 -04:00
flake.nix refactor readme updated 2026-04-08 09:00:03 -04:00
go.mod github link 2026-04-08 10:41:09 -04:00
go.sum better prouct 2026-04-02 14:11:59 -04:00
main.go optimise request 2026-04-08 10:05:35 -04:00
nixos-module.nix refactor readme updated 2026-04-08 09:00:03 -04:00
README.md not useful 2026-04-08 09:05:30 -04:00

Prix du gaz

Carte 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 PRIXDUGAZ_DB=./prixdugaz.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
PRIXDUGAZ_DB ./prixdugaz.db Chemin de la base de données SQLite

Compilation

go build -o prixdugaz .

Ou via Nix :

nix build
./result/bin/prixdugaz

Déploiement sur NixOS

Le projet fournit un module NixOS via le flake. Ajoutez-le à votre configuration :

1. Ajoutez le flake comme entrée (flake.nix) :

inputs.prixdugaz.url = "github:Polensky/prixdugaz";

2. Importez le module NixOS et activez le service :

imports = [ inputs.prixdugaz.nixosModules.default ];

services.prixdugaz = {
  enable = true;
  port = 8080;          # optionnel, 8080 par défaut
  openFirewall = true;  # optionnel, ouvre le port dans le pare-feu
};

Options disponibles :

Option Défaut Description
enable false Active le service
port 8080 Port d'écoute HTTP
dataDir /var/lib/prixdugaz Répertoire de la base de données SQLite
openFirewall false Ouvre le port dans le pare-feu
package flake par défaut Paquet Prix du gaz à utiliser

Licence

MIT