Projets
Détail technique des trois applications Meridian, dans l'ordre du parcours démo — captures, stack, facturation VoltFlow V2 et centre Meridian Alerts.
Parcours démo (~2 min) : GridPulse → FlexSlot → GreenOps
puis historique FlexSlot, facturation et alertes dans GreenOps
Démo Meridian (~1 min)
Parcours enregistré : GridPulse → FlexSlot → GreenOps (historique, facturation). Sans son — la démo live reste via le bouton ci-dessus.
Data · GridPulse
GridPulse
Premier pilier (Data) sur la niche énergie / climat : pipeline data et visualisation du mix électrique français(RTE open data) et de l'intensité carbone(Electricity Maps). Point d'entrée du parcours Meridian — séries temporelles, créneaux verts et baseline de prévision, déployé en production (Vercel + Railway).
Fonctionnalités (V2)
- Ingestion horaire via FastAPI (RTE ODRE + Electricity Maps) vers Supabase PostgreSQL ; déclenchement GitHub Actions.
- Dashboard public : KPIs (carbone, part renouvelable, consommation), courbe carbone 24 h, mix empilé.
- Créneaux verts — fenêtres où le mix est favorable (part renouvelable + intensité carbone).
- Export PDF / CSV du rapport dashboard (pdf-lib, encodage WinAnsi géré pour le français).
- Page /status— observabilité du pipeline (dernières exécutions d'ingestion, erreurs).
- Prévision baseline (moyenne mobile 24 h) — documentée comme modèle pédagogique, pas opérationnel RTE.
Stack technique
Next.js (App Router) · TypeScript · Tailwind CSS · FastAPI · Supabase PostgreSQL · Recharts · pdf-lib · scikit-learn (optionnel) · GitHub Actions · Vercel (front) · Railway (API)
Déploiement & pipeline — retour technique (Railway, CORS, secrets ingest, PDF) : article associé.
Ce que ce projet démontre
- Construire un pipeline data énergie de bout en bout : sources ouvertes → API Python → stockage → visualisation Next.js.
- Shipper une stack split front/back (Vercel + Railway) avec CORS, health checks et cron d'ingestion.
- Exposer des KPI métier lisibles (carbone, renouvelable, créneaux verts) — base de la couche décision FlexSlot.
- Observabilité minimale mais utile (
/status, tableingest_runs) sur un pipeline data bout en bout.
Prototype non réglementaire — pas un outil de pilotage réseau.
Captures d'écran
Décision · FlexSlot
FlexSlot
Deuxième pilier (Décision) de la niche énergie / climat : le pont d'orchestrationentre GridPulse et GreenOps. FlexSlot consomme les créneaux verts et l'intensité carbone de GridPulse, calcule une recommandation actionnable (consommer / décaler flexible / décaler) et déclenche la création du slot dans GreenOps via son API service-to-service — en un clic, sans ressaisie manuelle.
Prototype d'intégration inter-services (auth par clé de service, traçabilité source/action), pas un moteur de trading énergie.
Fonctionnalités (V2)
- Moteur de recommandation — score horaire GridPulse → action
consume/flex/shiftsur fenêtre 6 h, avec règles de seuil documentées. - Page recommandations — recommandation principale, détail horaire de la fenêtre et outlook 12 h.
- Création de slot en un clic— appel serveur vers l'API GreenOps (
X-GreenOps-Service-Key), avec validation de la réponse (source=flexslot,recommendation_action) et lien direct vers le créneau créé. - Historique — snapshots Supabase des recommandations (
/history), déduplication 15 min, lien vers le slot GreenOps créé. - Export PDF du rapport de recommandation du jour (@react-pdf/renderer, rendu serveur).
- Déployé en production (Vercel), CORS configuré côté API GridPulse (Railway) pour l'origine FlexSlot.
Stack technique
Next.js (App Router) · TypeScript · Tailwind CSS · Supabase · Server Actions · @react-pdf/renderer · API GridPulse (FastAPI) · API GreenOps (Route Handler) · Vercel
Orchestration & intégration — retour technique (API service-to-service, traçabilité, CORS, PDF) : article associé.
Ce que ce projet démontre
- Orchestrer trois applications(GridPulse, FlexSlot, GreenOps) avec des contrats d'API et une authentification par clé de service, plutôt qu'un monolithe unique.
- Concevoir une couche de décision au-dessus de la donnée brute : transformer un score carbone en action métier lisible.
- Garantir la traçabilité de bout en bout (source, recommandation, fenêtre GridPulse) jusque dans la base GreenOps.
- Générer un export PDF côté serveur (Route Handler, runtime Node.js) sans dépendance navigateur.
Captures d'écran
Action · GreenOps
GreenOps
Troisième pilier (Action) — console SaaS pour la niche énergie / climat : pilotage de flexibilité (créneaux offre/besoin), fiches REC (démo ops, non réglementaire) et tableau de bord consolidé. Application full-stack sur produit, auth, données relationnelles, Row Level Security et mise en ligne.
Démo non réglementaire : volumes et certificats sont des exemples de pilotage, pas un registre national.
Fonctionnalités (V2)
- Flexibilité — création, éditionet suppression de créneaux, statuts ops, piste d'audit, export CSV.
- Registre REC — fiches métier, édition inline, volumes MWh, audit, export CSV.
- Dashboard — KPI, graphiques flex/REC, activité récente, export PDF (rapport ops).
- Équipe — invitations par e-mail, plusieurs membres par organisation, rôles
admin/viewer(lecture seule). - Multi-tenant — isolation par organisation et RLS PostgreSQL.
- Facturation V2 — page
/billing: badge plan, usage dynamique VoltFlow (kWh × carbone × HP/HC), lignes de facturation, Stripe Checkout et portail abonnement. Backend micro-service FastAPI (webhooks signés, sync abonnement Supabase). - Meridian Alerts — page
/alerts: timeline consolidée (alertes carbone GridPulse + recommandations FlexSlot), liens vers historique et créneaux, accusé de traitement admin.
Stack technique
Next.js (App Router) · TypeScript · Tailwind CSS · Supabase Auth (magic link) · PostgreSQL · Row Level Security · Recharts · pdf-lib · Vitest · GitHub Actions · Vercel
Auth & déploiement — détail technique (PKCE, cookies, callback Next.js, Supabase / Vercel) : article associé.
Ce que ce projet démontre
- Livrer une application Next.js avec authentification et données persistées (profils, organisations, créneaux, REC).
- Concevoir des politiques RLS PostgreSQL alignées avec un produit multi-organisation et des rôles métier.
- Déployer sur Vercel et faire tenir la session après redirection (parcours magic link).
- CRUD complet (création, édition, suppression), exports CSV/PDF et gestion d'équipe par invitations.
- Intégrer un billing SaaSdans l'app métier : proxy API, webhooks Stripe, gate fonctionnalité Pro — sans dupliquer l'UI.