Malmoosk

← Tous les projets

Prix de l'essence

Contactez-moi

Le site en bref

MaStationService répond à une question simple : où faire le plein au meilleur prix, près de chez moi, maintenant ? Le site exploite les prix déclarés par les stations-service françaises et les remet à jour toutes les heures.

Fonctionnalités :

La page d’accueil réunit l’essentiel : la recherche par ville, la recommandation d’achat, le graphique de l’évolution des prix moyens (comparés au cours du baril de pétrole) et le tableau des tendances à la veille, à la semaine et au mois.

Capture d'écran de la page d'accueil de MaStationService : champ de recherche par ville, bouton de recommandation d'achat, graphique des prix moyens du gazole, du SP98, du SP95 et de l'E10 face au cours du baril, et tableau des tendances par carburant

But du projet

Les données publiques sur les carburants sont riches mais brutes : des dizaines de milliers de lignes, des identifiants de stations et des horodatages. Le projet les transforme en réponses locales et lisibles, accessibles depuis un moteur de recherche (« prix essence à Lyon ») ou depuis le téléphone, devant la pompe.

C’est aussi un terrain d’expérimentation complet. Il réunit sur un même produit en production l’ingestion de données, la recherche géographique, la performance, le SEO à grande échelle et l’automatisation.

Stack technique

Open data prix carburants n8n cron horaire Elasticsearch prix + géo CodeIgniter 4 pages + API Visiteurs et Google Flux RSS actualité carburant n8n + IA blog, chaque jour MariaDB alertes, comptes, blog Redis cache _bulk NDJSON

Référencement

Le site est construit pour répondre à des requêtes locales à très fort volume, de la forme « prix essence + ville » :

Maillage interne

Le maillage suit la géographie : depuis n’importe quelle page, on rebondit vers ce qui est proche.

Données structurées

Chaque type de page publie un JSON-LD Schema.org adapté :

Les flux n8n

Ingestion des prix, toutes les heures

Un workflow n8n se déclenche toutes les heures et met à jour Elasticsearch à partir du flux instantané des prix publié en open data :

Cron toutes les heures Téléchargement flux open data Contrôle parsing + NDJSON _bulk ES essence + horaire ILM purge à 30 jours Alerte email en cas d'erreur
  1. Déclenchement horaire par le planificateur de n8n.
  2. Téléchargement du flux des prix publié par l’État, récupéré en texte brut puis analysé explicitement. Un contrôle bloque la suite si la réponse est vide ou invalide : on n’écrase jamais des prix valides par des données corrompues.
  3. Transformation de chaque station en document normalisé : identifiant, position géographique (geo_point), adresse, services, et pour chaque carburant le prix et la date de mise à jour.
  4. Écriture en masse (_bulk NDJSON) dans deux cibles :
    • l’index essence, qui porte l’état courant lu par les pages ;
    • un index horaire carburant-AAAA.MM.JJ.HH, qui garde l’historique utilisé pour les graphiques d’évolution et la recommandation d’achat.
  5. Rétention maîtrisée : une politique ILM fait vieillir les index horaires (passage en lecture seule à 2 jours) puis les supprime au bout de 30 jours, soit environ 720 instantanés.
  6. Supervision : toute erreur déclenche une alerte par email.

Côté site, le cache Redis des prix dure 15 minutes : chaque nouvel import est visible en ligne en moins d’un quart d’heure.

Rédaction du blog, chaque jour

Un second workflow tourne chaque matin à 6 h :

  1. Il lit des flux RSS d’actualité sur les carburants et ne garde que les 3 derniers jours.
  2. Un premier modèle d’IA rédige l’article, en y plaçant 2 liens internes vers des articles déjà publiés.
  3. Un deuxième passage relit l’article, un troisième le finalise.
  4. L’article est inséré dans MariaDB, puis repris automatiquement dans le blog et le sitemap.

Historique

La transparence des prix des carburants est imposée en France depuis 2007 avec le site prix-carburants.gouv.fr, alimenté par les déclarations obligatoires des stations. Le passage à un flux open data mis à jour en continu a permis de construire des services tiers comme MaStationService, sans scraping.

Mon expertise

Je conçois et j’exploite MaStationService de bout en bout :

Réalisations

Contactez-moi