Aller au contenu principal

Mode Serveur

Vue d'ensemble​

Le mode serveur de MyElectricalData est la version complète de l'application, conçue pour fonctionner comme une passerelle (gateway) multi-utilisateurs. Contrairement au mode client (installation locale), le mode serveur :

  • Se connecte directement aux API Enedis (DataHub) et RTE
  • Gère l'authentification OAuth2 avec consentement utilisateur
  • Supporte plusieurs utilisateurs avec isolation des données
  • Offre une administration complète (utilisateurs, rôles, logs, offres)
  • Utilise un cache Valkey (24h) au lieu du stockage permanent
┌─────────────────────────────────────────────────────────────────────────────┐
│ ARCHITECTURE COMPARÉE │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ MODE SERVEUR (Gateway) MODE CLIENT (Local) │
│ ━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━ │
│ │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ Frontend │ │ Frontend │ │
│ │ (React) │ │ (React) │ │
│ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ Backend │ │ Backend │ │
│ │ (FastAPI) │ │ (FastAPI) │ │
│ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │
│ ┌────┴────┐ ▼ │
│ │ │ ┌─────────────────────┐ │
│ ▼ ▼ │ API MyElectricalData│ │
│ ┌───────┐ ┌───────┐ │ v2.myelectricaldata │ │
│ │Enedis │ │ RTE │ └─────────────────────┘ │
│ │DataHub│ │ API │ │
│ └───────┘ └───────┘ │
│ │
│ Cache : Valkey (24h) Cache : Non │
│ Admin : Oui Admin : Non │
│ Multi-users : Oui Multi-users : Non │
│ Page accueil : Oui Page accueil : Non │
│ Exports : Non Exports : HA/MQTT/VM │
│ │
└─────────────────────────────────────────────────────────────────────────────┘

Fonctionnalités​

Pages disponibles​

PageDescriptionSource de données
Accueil (Landing)Présentation et inscription-
Inscription/ConnexionAuthentification utilisateurPostgreSQL
DashboardVue d'ensemble des PDLAPI Enedis
Consommation (kWh)Données de consommationAPI Enedis → Cache
Consommation (Euro)Coûts calculésCache + Offres tarifaires
ProductionDonnées de productionAPI Enedis → Cache
BilanSynthèse conso/prodCache
ContributionEnvoi de contributionsPostgreSQL
TempoCalendrier RTE TempoAPI RTE → Cache
EcoWattAlertes RTE EcoWattAPI RTE → Cache
FranceConsommation nationaleAPI RTE → Cache
SimulateurComparaison tarifsCache + Offres
FAQQuestions fréquentesStatique
ParamètresConfiguration comptePostgreSQL

Pages d'administration​

PageDescription
Admin DashboardVue d'ensemble système
UtilisateursGestion des comptes
RôlesGestion des permissions
PDLAjout/gestion des PDL
OffresGestion fournisseurs énergie
TempoGestion calendrier Tempo
EcoWattGestion alertes EcoWatt
ContributionsModération des contributions
LogsJournaux d'activité

Prérequis​

Techniques​

  • Docker & Docker Compose
  • PostgreSQL 15+
  • Valkey (Redis compatible)

Credentials API​

APIRequisObtention
Enedis DataHubOuiPortail Enedis (compte pro requis)
RTE TempoOptionnelAPI RTE
RTE EcoWattOptionnelAPI RTE
EDF Zen FlexNon (sans authentification)API EDF Zen Flex

Installation rapide​

# Cloner le dépôt
git clone https://github.com/MyElectricalData/myelectricaldata_new.git
cd myelectricaldata_new

# Configurer les variables d'environnement
cp apps/api/.env.example apps/api/.env.docker
vim apps/api/.env.docker

# Démarrer le mode serveur
docker compose up -d

Accès : http://localhost:8000


Coexistence avec le mode client​

Les deux modes peuvent tourner en parallèle sur la même machine :

ModeFrontendBackendPostgreSQLValkey
Serveur:8000:8081:5432:6379
Client:8100:8181:5433-
# Démarrer les deux modes simultanément
docker compose -f docker-compose.server.yml up -d # Mode serveur
docker compose up -d # Mode client

Documentation​

Installation​

Architecture​

Administration​

API​