Architecture cible
Motivations
Section intitulée « Motivations »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
Composants cibles
Section intitulée « Composants cibles »┌─────────────────────────────────────────────────────┐│ 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)| Composant | Technologie | Fonction |
|---|---|---|
irisolaris-orchestrator | Plugin WordPress (PHP) | Tableau de bord admin, liste des prospects, suivi des jobs, interface de configuration |
| Node.js Orchestrator | Fastify + TypeScript | API REST, workers BullMQ, logique métier |
| Redis (dédié) | Conteneur Docker | Backend de file d’attente de jobs (BullMQ) |
| SQLite | via Drizzle ORM | Prospects, données PDL, logs de jobs |
| Bull Board | Interface web | Tableau 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 »| Domaine | Actuel (AS-IS) | Cible (TO-BE) |
|---|---|---|
| Traitement des formulaires | Soumission synchrone via HubSpot Forms | Pipeline asynchrone multi-étapes (formulaire → recherche PDL → enrichissement → sync CRM) |
| Stockage des données | Post meta WordPress uniquement | WordPress + SQLite (données spécifiques à l’orchestrateur) |
| Traitement des jobs | Synchrone | Workers BullMQ avec logique de réessai |
| APIs externes | Géocodage BAN + HubSpot Forms | + Symphonics + Enedis |
| Infrastructure | WordPress uniquement | WordPress + Docker (Node.js + Redis) |
| Monitoring | Prévu | Bull Board + tableau de bord admin |
Nouvelles APIs externes
Section intitulée « Nouvelles APIs externes »| Service | Fonction |
|---|---|
| Symphonics API | Recherche de PDL par adresse, profils de contrats/consommation |
| Enedis API | Enrichissement de données énergétiques |
| HubSpot CRM API | Création/synchronisation de Contacts + Deals (extension de l’intégration actuelle limitée aux Forms) |
Voir APIs externes pour plus de détails.
Impact sur Irisolaris Map
Section intitulée « Impact sur Irisolaris Map »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.