LUMEA

    ESG

    Plateforme SaaS d'Analyse ESG

    Import d'entreprises, recherche de rapports, extraction de KPIs par IA, gestion de portefeuilles, scoring et reporting collaboratif.

    Document Partenaire

    Présentation Technique — Avril 2026 — v1.0

    Next.js 15React 19TypeScriptSupabaseGemini AIClaude AITailwind CSSStripe

    Sommaire

    01Vision & Proposition de valeur
    02Stack Technique
    03Architecture
    04Pipeline de Données ESG
    05Extraction KPI par IA
    06Système de KPIs
    07Gestion de Portefeuilles
    08Scoring ESG
    09Reporting & Collaboration
    10Agent Conversationnel IA
    11Résolution de Conflits IA
    12Multi-devise & Unités
    13Sécurité & Authentification
    14Abonnements & Tiers
    15Internationalisation
    16Chiffres Clés
    01

    Vision & Proposition de Valeur

    Pourquoi LUMEA ESG existe

    Le Problème

    • • Données ESG fragmentées dans des centaines de rapports PDF
    • • Extraction manuelle coûteuse et sujette aux erreurs
    • • Pas de standard unifié entre entreprises
    • • Comparaison inter-entreprises quasi impossible

    La Solution

    • • Extraction automatisée par IA (Gemini + Claude)
    • • 145+ KPIs ESG structurés et vérifiés
    • • Scoring personnalisable avec règles flexibles
    • • Collaboration temps réel et reporting intégré

    Le Marché

    • • Investisseurs institutionnels
    • • Asset managers
    • • Conseillers financiers
    • • Entreprises cotées (reporting)

    Avantages compétitifs

    🤖

    Dual IA

    Gemini + Claude en parallèle

    📊

    Multi-pass

    Extraction par vagues avec retry NF

    🔄

    Formules

    Calculs inter-KPI automatiques

    🌍

    Multi-devise

    Conversion ECB intégrée

    02

    Stack Technique

    Technologies modernes, production-grade

    ⚛️Frontend
    Next.js 15 (App Router)React 19TypeScriptTailwind CSSshadcn/ui + RadixReact Query (TanStack)Rechartsi18next (4 langues)
    🖥️Backend
    Next.js API RoutesExpress.js (Worker)Node.jsSupabase (PostgreSQL)RLS (Row-Level Security)50+ fonctions RPC
    🧠Intelligence Artificielle
    Google Gemini 2.5 ProGoogle Gemini 2.5 FlashClaude Sonnet 4Claude Opus 4.5Extended Thinking (32K)Google Context CachingFunction Calling
    🔐Infra & S\u00e9curit\u00e9
    Vercel (UI deploy)Hetzner (Worker)Supabase AuthAzure AD SSOGoogle Workspace SSOStripe (paiements)Resend (emails)PM2 (process mgr)

    Dépendances clés

    @supabase/supabase-js@anthropic-ai/sdk@google/generative-aistriperesendyahoo-finance2unpdfpdf-libxlsxpptxgenjsrechartszodreact-hook-form
    03

    Architecture

    D\u00e9ploiement dual : Vercel (UI) + Hetzner (Worker)

    ▲

    Vercel

    UI + API Routes

    Next.js 15 SSR
    API Routes (auth)
    Stripe Webhooks
    60s timeout max
    🗄️

    Supabase

    PostgreSQL + Auth

    50+ tables + RLS
    50+ fonctions RPC
    Realtime (collab)
    Storage (PDFs)
    ⚙️

    Hetzner Worker

    Express.js + PM2

    17 background jobs
    KPI extraction
    Doc fetch & dedup
    No timeout limit
    VercelHTTP + AuthWorkerSQL + RealtimeSupabase

    Providers IA par fonction

    FonctionProviderModèle
    Extraction KPI (principal)GoogleGemini 2.5 Pro + Extended Thinking
    Extraction KPI (alternatif)AnthropicClaude Sonnet 4 + PDF natif
    Review / Fact-checkGoogleGemini 2.5 Flash
    Validation documentsGoogleGemini 2.5 Flash (multimodal)
    Déduplication documentsGoogleGemini 2.5 Flash
    Agent conversationnelGoogleGemini 2.5 Pro + Function Calling
    Résolution conflits IAGoogleGemini 2.5 Pro + Thinking 32K
    Reporting IAAnthropicClaude Sonnet 4 (streaming)
    Extraction entreprisesAnthropicClaude Opus 4.6 + PDF natif
    Recherche documentsGoogleCustom Search API / Serper
    04

    Pipeline de Donn\u00e9es ESG

    De l'import d'entreprises \u00e0 l'extraction de KPIs

    1
    🏢

    Import d'entreprises

    Import via CSV, bourses (Euronext, Xetra), code ISIN, ou recherche. Enrichissement automatique LEI (GLEIF), secteur GICS, capitalisation via Yahoo Finance.

    2
    💰

    Enrichissement financier

    Yahoo Finance : capitalisation boursi\u00e8re, devise de reporting, nom v\u00e9rifi\u00e9, nombre d'employ\u00e9s, revenu. Classement par tier (large/mid/small/micro cap).

    3
    🔍

    Recherche de documents ESG

    Recherche automatique via Google/Serper API. Strat\u00e9gie multi-source : Euronext ESG → Google Search → patterns d'URL fallback. 1 \u00e0 20 documents par entreprise.

    4
    ✅

    Validation IA des documents

    Gemini 2.5 Flash analyse les premi\u00e8res pages (multimodal). Classification en profils A/B/C/D. Badges ESG : E (Environnement), S (Social), G (Gouvernance), RA (Risques), ST (Strat\u00e9gie).

    5
    🔄

    D\u00e9duplication & s\u00e9lection premium

    Comparaison IA des documents candidats. S\u00e9lection des 1-3 documents les plus pertinents par entreprise/ann\u00e9e. Reclassification et filtrage des doublons.

    6
    🧠

    Extraction KPI par IA

    Extraction multi-pass par vagues (Gemini Pro + Claude). ~145 KPIs sur 5 piliers. Reviewer automatique (fact-check). D\u00e9tection de conflits inter-documents. Voir section 05 pour d\u00e9tails.

    05

    Extraction KPI par IA

    Le c\u0153ur technologique de la plateforme

    🔵

    Gemini 2.5 Pro

    • • Provider principal pour l'extraction
    • • Extended Thinking (budget 32K tokens)
    • • Sortie JSON structurée garantie
    • • Google Context Caching (TTL 15min)
    • • Backpressure automatique par pool clés
    🟠

    Claude Sonnet 4

    • • Provider alternatif / validation croisée
    • • Blocs PDF natifs (type: document)
    • • Extraction via tool_use structuré
    • • Excellente compréhension contextuelle
    • • Comparaison inter-extraction automatique

    Méthode raw_pdf

    Envoi du PDF complet au modèle IA. Haute fidélité, extraction directe sans prétraitement.

    Méthode hybrid_markdown

    Conversion PDF → Markdown + images des pages critiques. Meilleur rapport qualité/coût pour documents longs.

    Système d'extraction par vagues (Waves)

    Chaque vague est indépendante : provider, modèle, méthode, et cible (tous les KPIs, par pilier, par catégorie, ou uniquement les valeurs manquantes). Les vagues 2+ ne ciblent que les KPIs NF/manquants. Le Context Caching Google est réutilisé entre vagues.

    Vague 1 : All KPIs (Gemini Pro)
    →
    Vague 2 : Missing (Claude)
    →
    Vague 3 : NF retry (Flash)
    06

    Syst\u00e8me de KPIs

    145+ indicateurs ESG structur\u00e9s

    🌱

    Environnement

    ~45 KPIs

    👥

    Social

    ~35 KPIs

    🏛️

    Gouvernance

    ~25 KPIs

    🤝

    Sociétal

    ~20 KPIs

    📋

    Général

    ~20 KPIs

    Types de KPIs

    QuantitatifValeur numérique (ex: émissions en tCO2e)
    Q
    Binaire [Q]Oui / Non / Non trouvé (Y/N/NF)
    T
    Texte [T]Texte exact (nom, secteur, titre)
    RatingNiveau 1-4 (maturité, conformité)

    Fonctionnalités avancées

    • • Formules inter-KPI : calculs automatiques avec analyse dimensionnelle des unités
    • • Formules inverses : résolution N-variables pour déduire les KPIs manquants
    • • Versioning : historique des définitions (unité, description, formule)
    • • Règles de validation : détection de valeurs impossibles
    • • Per-document storage : un enregistrement par (entreprise, KPI, année, document)
    • • Détection circulaire : prévention des boucles de formules A→B→A

    Conversion d'unités automatique

    90+ paires de conversion bidirectionnelles. Décomposition intelligente des unités composées (tCO2e/FTE × FTE → tCO2e). Conversion automatique : métriques ↔ impériales, devises via taux ECB annuels.

    tCO2e ↔ ktCO2eMWh ↔ GWhmiles ↔ kmlbs ↔ kggallons ↔ LUSD ↔ EURGBP ↔ EURacres ↔ ha
    07

    Gestion de Portefeuilles

    Organisation hi\u00e9rarchique et synchronisation multi-source

    Structure hi\u00e9rarchique

    📁 Mon Organisation
    📁 Europe
    📊 CAC 40
    📊 DAX 40
    📁 USA
    📊 S&P 500 ESG
    👁️ Watchlist Tech
    🌍 Univers de référence

    Sources de synchronisation

    📊

    Google Sheets

    OAuth + Drive file browser

    📁

    OneDrive / Excel Online

    OAuth Microsoft Graph

    💼

    Bloomberg PORT

    Import de fichiers Bloomberg

    🔗

    URL (HTTP/S3/Dropbox)

    Sync périodique avec auth optionnelle

    📄

    CSV / Excel

    Upload direct de fichiers

    Fonctionnalités

    • Détection auto des colonnes (ISIN, ticker, poids)
    • Preview des différences avant sync
    • Univers de référence pour scoring
    • Règles d'exclusion par secteur/cap
    • Partage (private / organization)
    • Soft-delete (préservation historique)
    08

    Scoring ESG

    Mod\u00e8les personnalisables avec wizard 5 \u00e9tapes

    📝

    Étape 1

    Infos modèle

    →
    ✅

    Étape 2

    Sélection KPIs

    →
    ⚙️

    Étape 3

    Règles scoring

    →
    ⚖️

    Étape 4

    Pondérations

    →
    🔍

    Étape 5

    Preview & test

    Types de règles

    • • Comparaison : vs moy/médiane portefeuille ou univers, valeur fixe
    • • Range : min/max avec bornes inclusives/exclusives
    • • Percentile : seuil % dans l'univers de référence
    • • Binaire : Y/N attendu
    • • Fixe : points attribués sans condition

    Calcul des scores

    • • Points par KPI → agrégation catégorie
    • • Agrégation par pilier (E/S/G/SO/Général)
    • • Pondération configurable par pilier
    • • Score final ESG (0-100)
    • • Formats d'affichage : /100, /20, /10, raw
    • • Fallback Y-1 pour années incomplètes
    09

    Reporting & Collaboration

    \u00c9diteur canvas avec collaboration temps r\u00e9el

    🎨

    \u00c9diteur Canvas

    Blocs drag & drop : texte, titres, graphiques, images, formes. Redimensionnement libre avec snap-to-grid. Raccourcis clavier complets (alignement, z-index, copie de styles).

    Drag & DropSnap-to-gridRaccourcis clavierTemplates
    📊

    Graphiques avanc\u00e9s

    30+ param\u00e8tres de configuration par graphique : titre, l\u00e9gende, axes, grilles, labels, couleurs par s\u00e9rie. 9 palettes de couleurs. Types : barres, lignes, camembert, scatter.

    BarLinePieScatterRecharts
    👥

    Collaboration temps r\u00e9el

    Supabase Realtime : curseurs des participants visibles, s\u00e9lections en direct. Synchronisation des blocs (last-write-wins). Auto-save toutes les 2 secondes.

    PresenceBroadcastAuto-saveMulti-user
    🤖

    Agent IA int\u00e9gr\u00e9

    Claude Sonnet g\u00e9n\u00e8re du contenu, sugg\u00e8re des graphiques, analyse les donn\u00e9es du portefeuille. G\u00e9n\u00e9ration HTML directe. Support multimodal (images/PDF en pi\u00e8ces jointes).

    Claude SonnetHTML genMultimodalStreaming

    Export & Partage

    📄

    PDF

    Impression haute fidélité

    📊

    PowerPoint

    Via pptxgenjs

    🌐

    HTML

    Source exportable

    🔗

    Lien partagé

    view / edit / comment

    10

    Agent Conversationnel IA

    Interrogez vos donn\u00e9es en langage naturel

    Agent conversationnel intégré utilisant Gemini 2.5 Pro avec function calling. Accès en lecture seule aux données de l'organisation. Streaming SSE avec boucle de function calling (max 10 itérations). Délégation au worker Hetzner pour éviter le timeout Vercel.

    9 outils disponibles

    search_companies

    Recherche multi-critères

    get_company_details

    Fiche complète

    get_company_kpi_values

    Valeurs KPI

    list_portfolios

    Portefeuilles org

    get_portfolio_companies

    Entreprises du portfolio

    get_portfolio_scores

    Scores du portfolio

    list_scoring_models

    Modèles disponibles

    get_kpi_categories

    Hiérarchie KPI

    compare_companies_kpis

    Comparaison côte à côte

    11

    R\u00e9solution de Conflits IA

    D\u00e9tection et r\u00e9solution automatique des incoh\u00e9rences

    Types de conflits détectés

    multi_docMême KPI, valeurs différentes entre documents
    existing_overrideValeur extraite vs override existant
    formula_mismatchValeur calculée par formule vs extraite
    impossible_valueViolation des règles de validation
    inter_extractionRésultats différents entre providers

    Résolution intelligente

    • • Gemini 2.5 Pro avec Extended Thinking (32K budget)
    • • Batch par entreprise (max 50 conflits)
    • • 7 règles de décision intégrées
    • • Décisions : select_value, use_formula, override, reject, ignore
    • • Interface de review avant application
    • • Stratégies par KPI : interim (provisoire) + auto-résolution
    • • Application rétroactive aux conflits existants
    12

    Multi-devise & Unit\u00e9s

    Conversion automatique avec taux ECB

    Stockage dual

    kpi_values.value (EUR)

    Toujours converti en EUR. Utilisé pour scoring, formules, comparaisons inter-entreprises.

    kpi_values.value_native

    Devise de reporting de l'entreprise. Affichage uniquement. Toggle EUR/natif dans l'UI.

    Taux de change

    • • Source : BCE via API Frankfurter
    • • Taux moyens annuels (IFRS IAS 21)
    • • Devises : USD, GBP, CHF, SEK, DKK, NOK, JPY → EUR
    • • Sync automatique + UI admin de gestion
    • • Métadonnées de conversion stockées (taux, année, étapes)
    • • Badge visuel : "Converti (USD→EUR)"
    13

    S\u00e9curit\u00e9 & Authentification

    Multi-couche, multi-tenant, enterprise-grade

    🔐 Authentification

    • • Email/Password (routes custom)
    • • Azure AD SSO (auto-join org)
    • • Google Workspace SSO
    • • MFA (multi-factor)
    • • Rate limiting par IP

    🛡️ Autorisation

    • • RLS sur toutes les tables
    • • Gating 3 couches (DB/API/UI)
    • • API keys avec scopes
    • • Tiers d'abonnement
    • • Audit logging complet

    👥 Directory

    • • Azure AD Graph directory
    • • Google Workspace directory
    • • Groupes AD + Google
    • • Déduplication par email
    • • PeoplePicker unifié
    14

    Abonnements & Tiers

    4 niveaux de fonctionnalit\u00e9s via Stripe

    FonctionnalitéPreviewProAnalystBuilders
    KPIs disponibles1/sous-cat.TousTousTous
    Documents ESG—✓✓✓
    Portefeuilles——✓✓
    Scoring modèles——✓✓
    KPIs personnalisés———✓
    ESG Analyst (extraction)———✓
    Reporting collaboratif——✓✓
    Agent conversationnel✓✓✓✓
    API accès———✓
    15

    Internationalisation

    4 langues, architecture cl\u00e9 naturelle

    🇫🇷

    Français

    Langue de référence (clé)

    🇬🇧

    English

    Traduction complète

    🇩🇪

    Deutsch

    Traduction complète

    🇮🇹

    Italiano

    Traduction complète

    Architecture technique

    • • Clé naturelle : la chaîne française EST la clé → t('Paramètres') retourne "Settings" en anglais
    • • Détection auto : localStorage → navigator.language → fallback français
    • • Pas de flash : script inline dans layout.tsx définit la langue avant l'hydratation React
    • • Sélecteur : dropdown dans le menu utilisateur (les deux layouts)
    16

    Chiffres Cl\u00e9s

    La plateforme en un coup d'\u0153il

    📊145+KPIs ESG structur\u00e9s
    🏛️5Piliers ESG
    📁27Cat\u00e9gories KPI
    🗄️50+Tables Supabase
    ⚡50+Fonctions RPC
    ⚙️17Jobs background
    🧠6Connecteurs IA
    🔄5Sync providers
    📐90+Conversions unit\u00e9s
    📋38+Migrations DB
    🌍4Langues support\u00e9es
    📱20+Pages applicatives

    17 jobs background (Worker Hetzner)

    Extraction

    extract-kpis

    kpi-recalculate-company

    kpi-recalculate-all

    Documents

    document-fetcher

    document-preprocessor

    document-deduplicator

    batch-document-search

    Enrichissement

    yahoo-enrichment

    lei-enrichment

    gleif-bulk-enrichment

    firds-enrichment

    ai-lei-enrichment

    Contenu

    news-fetcher

    web-link-scraper

    Portfolio

    batch-portfolio-analysis

    IA

    agent-chat

    exchange-sync

    LUMEA ESG

    Plateforme SaaS d'Analyse ESG — Automatisée par IA

    Stack

    Next.js 15 • React 19 • TypeScript

    IA

    Gemini 2.5 Pro • Claude Sonnet 4

    Database

    Supabase • PostgreSQL • RLS

    Document généré le 16 septembre 2026 — Confidentiel