Aller au contenu

Architecture cible

L’architecture cible répond au besoin d’automatisation du processus ACC (Autoconsommation Collective) :

  • État actuel : Le processus ACC utilise un workflow actuel d’appels à l’API Symphonics pour la recherche de PDL, l’enrichissement de données Enedis et les mises à jour du CRM HubSpot
  • Volume : Moins de 100 prospects/jour attendus, mais chacun nécessite plusieurs appels API asynchrones
  • Besoins métier : Formulaire intelligent avec recherche de PDL en temps réel, pipeline contractuel automatisé, reporting et alertes
┌─────────────────────────────────────────────────────┐
│ WordPress │
│ ┌─────────────────┐ ┌─────────────────────────┐ │
│ │ Irisolaris Map │ │ irisolaris-orchestrator │ │
│ │ (existant) │ │ (nouveau plugin WP) │ │
│ │ - Map display │ │ - Admin dashboard │ │
│ │ - Plants CRUD │ │ - Prospects list │ │
│ │ - Eligibility │ │ - Jobs monitoring │ │
│ │ - HubSpot forms │ │ - Config UI │ │
│ └─────────────────┘ └───────────┬─────────────┘ │
│ │ REST API │
└───────────────────────────────────┼─────────────────┘
┌─────────────────▼─────────────────┐
│ Node.js Orchestrator │
│ (Fastify + TypeScript) │
│ │
│ - REST API │
│ - BullMQ workers │
│ - Business logic │
│ │
├───────────┬───────────────────────┤
│ Redis │ SQLite (Drizzle ORM) │
│ (BullMQ │ - Prospects │
│ queue) │ - PDL data │
│ │ - Job logs │
└───────────┴───────────────────────┘
┌────────────┼────────────────┐
▼ ▼ ▼
Symphonics Enedis API HubSpot CRM API
API (étendu)
ComposantTechnologieFonction
irisolaris-orchestratorPlugin WordPress (PHP)Tableau de bord admin, liste des prospects, suivi des jobs, interface de configuration
Node.js OrchestratorFastify + TypeScriptAPI REST, workers BullMQ, logique métier
Redis (dédié)Conteneur DockerBackend de file d’attente de jobs (BullMQ)
SQLitevia Drizzle ORMProspects, données PDL, logs de jobs
Bull BoardInterface webTableau de bord de monitoring des files d’attente

Changements majeurs par rapport au système actuel

Section intitulée « Changements majeurs par rapport au système actuel »
DomaineActuel (AS-IS)Cible (TO-BE)
Traitement des formulairesSoumission synchrone via HubSpot FormsPipeline asynchrone multi-étapes (formulaire → recherche PDL → enrichissement → sync CRM)
Stockage des donnéesPost meta WordPress uniquementWordPress + SQLite (données spécifiques à l’orchestrateur)
Traitement des jobsSynchroneWorkers BullMQ avec logique de réessai
APIs externesGéocodage BAN + HubSpot Forms+ Symphonics + Enedis
InfrastructureWordPress uniquementWordPress + Docker (Node.js + Redis)
MonitoringPrévuBull Board + tableau de bord admin
ServiceFonction
Symphonics APIRecherche de PDL par adresse, profils de contrats/consommation
Enedis APIEnrichissement de données énergétiques
HubSpot CRM APICréation/synchronisation de Contacts + Deals (extension de l’intégration actuelle limitée aux Forms)

Voir APIs externes pour plus de détails.

Le plugin Irisolaris Map existant continuera à fonctionner tel quel. L’orchestrateur est un plugin séparé qui étend la plateforme avec :

  • Un nouveau plugin WordPress (irisolaris-orchestrator) pour l’interface d’administration
  • Un service Node.js (Docker) pour le traitement asynchrone
  • Aucune modification des fonctionnalités existantes de carte/éligibilité/import

L’intégration HubSpot Forms actuelle sera à terme remplacée par l’intégration CRM API de l’orchestrateur, permettant un suivi des prospects et une gestion du pipeline plus riches.