Niveau 1 — Contexte Système

Acteurs, systèmes applicatifs et intégrations externes dans l'écosystème Wincar.

Acteurs humains
Systèmes internes
Systèmes externes
🔧
Carrossier / Technicien
Crée dossiers, gère planning atelier, scanne véhicules
📋
Gestionnaire
Suit les dossiers, valide devis, relance impayés
📊
Manager / Dirigeant
Analyse KPIs, gère la flotte, pilote l'ERP
🧑‍💻
Admin Plateforme
Gère abonnements, impersonation, supervision
🏢
Client / Assuré
Dépose dossier, valide expertise, paye en ligne
Wincar V2 (KPV2)
App terrain carrosserie · React + Capacitor · iOS/Android/Web
Dossiers · Sinistres · Planning · IA · Paiements · EAD
Wincar ERP
Outil de pilotage · React · Web seulement
Finance · CRM · Marketing · Analytics · Config
ERP-Wincar Bridge
Pipeline de migration · Docker · Node.js
Extraction SQL Wincar → Normalisation → Import Supabase
🗄️ Supabase
PostgreSQL · Auth JWT · Realtime WS · Storage S3 · Edge Functions Deno
🤖 Ollama
LLM local · Analyse rapport expertise · Assistant IA · Speech-to-text
📅 Google Calendar
OAuth2 · Sync bidirectionnelle planning atelier
💸 GoCardless
Prélèvement SEPA · Mandats · Paiements récurrents
📧 n8n Workflows
Automatisation emails · Relances · Webhooks Supabase
🗄️ Wincar Legacy
SQL Server · Données historiques clients/véhicules

Niveau 2 — Conteneurs

Les processus déployables, leurs technologies et responsabilités principales dans l'écosystème Wincar.

Wincar V2
SPA Terrain (KPV2)
React 18 · Vite · TypeScript · Capacitor (iOS/Android)
Application principale des carrosseries. Gère tout le cycle de vie d'un dossier sinistre, de l'accueil client à la facturation.
  • 28 pages React + routing lazy-loaded
  • 80+ hooks métiers (dossiers, planning, IA, flotte)
  • Contexts : Auth, Messageries, ClientValidation
  • Camera native Capacitor pour photos véhicule
  • Onboarding guidé + TourGuide interactif
Wincar V2 / Backend
Edge Functions (Deno)
Supabase Edge Functions · Deno runtime · TypeScript
Logique serveur critique : génération PDF, intégration Ollama, webhooks GoCardless, calculs complexes.
  • generate-report : PDF rapport expertise via Ollama
  • gocardless-* : création mandats SEPA
  • sync-google-calendar : OAuth + sync bidirectionnel
  • send-relance : emails automatiques
  • import-wincar-data : trigger import migration
ERP
SPA ERP (Wincar ERP)
React 18 · Vite · TypeScript · Web only
Interface de pilotage stratégique. Lecture agrégée des données Wincar V2. Pas de création de dossiers : 100% analyse, relances, marketing.
  • Module Finance : trésorerie, impayés, exports
  • Module CRM : base clients, historique, segmentation
  • Module Marketing : campagnes SMS/email, tracking
  • Module Analytics : KPIs, tableaux de bord, trends
  • AI Monitor : surveillance santé système IA Ollama
Bridge
ERP-Wincar Bridge
Node.js · Docker · SQL Server client · Nginx
Pipeline one-shot de migration des données historiques Wincar vers Supabase. S'exécute une fois par carrosserie lors de l'onboarding.
  • Extraction : requêtes SQL Server (clients, véhicules, dossiers)
  • Normalisation : mapping schéma Wincar → Wincar V2
  • Transformation : nettoyage données, déduplication
  • Chargement : upsert Supabase via REST API
Infrastructure
Supabase Platform
PostgreSQL 15 · PostgREST · GoTrue Auth · Realtime · Storage
Couche de données partagée par Wincar V2 et Wincar ERP. Source unique de vérité pour toutes les entités métier.
  • Auth : JWT multi-tenant (company_id RLS)
  • DB : 40+ tables, RLS par company_id
  • Realtime : WS pour messagerie et notifications
  • Storage : photos véhicules, PDFs, documents
  • Edge Functions : logique serverless critique
Automation
n8n Workflow Engine
n8n self-hosted · Webhooks · SMTP · REST
Orchestrateur d'automatisations asynchrones. Déclenché par webhooks Supabase ou appels directs depuis Wincar V2.
  • Relances automatiques impayés (email/SMS)
  • Notifications statut dossier au client
  • Rappels rendez-vous planning
  • Alertes internes anomalies

Niveau 3 — Composants Wincar V2

Décomposition interne de la SPA terrain par domaine métier, basée sur l'analyse des pages, hooks et contexts réels du code.

Core
Authentification & Multi-tenant
AuthContext · useUserRole · useCompanyId · useSubscription
Gestion de session JWT, roles (admin/manager/tech), isolation par company_id via RLS Supabase.
  • Login / onboarding carrosserie (Welcome.tsx)
  • Impersonation admin (use-impersonation)
  • Abonnement SaaS + crédits IA (use-subscription, use-credits)
  • Role guard : pages filtrées par rôle
Dossiers
Gestion Dossiers & Sinistres
DepotDossier · DossierDetail · SinistreDetail · useDossiers · use-create-dossier
Cœur métier : création du dossier sinistre, suivi état (déposé→en cours→terminé→facturé), sous-dossiers judiciaires.
  • Dépôt dossier multi-step (57KB — form complet)
  • Dossier judiciaire : process légal séparé (47KB)
  • Workflow steps configurables par company
  • Validation client (ClientValidationWatcher)
  • Rapport expertise → devis (use-report-to-quote)
  • Cessions inter-carrosseries
Planning
Planning Atelier & Flotte
Planning-iframe · GestionAtelier · usePlanningManager · useGoogleCalendarSync
Calendrier interactif (155KB), gestion des techniciens, véhicules de prêt, sync Google Calendar bidirectionnelle.
  • Drag & drop créneaux par technicien
  • Calcul optimal planning IA Ollama (use-optimal-planning)
  • Véhicules de prêt : prêt/retour/réservation
  • Temps de travail par employé/véhicule
  • Tâches en attente (useWaitingTasks)
IA
Intelligence Artificielle (Ollama)
AIAssistant · use-optimal-planning · useSpeechToText · use-expertise-report-modify
Couche IA transversale via Ollama : analyse rapports, optimisation planning, dictée vocale, assistant conversationnel.
  • Génération rapport expertise (Edge Fn + Ollama LLM)
  • Modification rapport par commande IA
  • Planning optimal auto-calculé (slots libres)
  • Dictée vocale → champs texte
  • Assistant chatbot contextualisé dossier
  • Crédits IA consommés par action
Finance
Devis, Factures & Paiements
Accounting · use-quotes · use-invoices · use-gocardless · use-receipts-data
Cycle complet : devis → bon de réparation → facture → encaissement GoCardless SEPA ou espèces.
  • Devis modificatif après expertise (use-quote-modificatif)
  • Conversion devis → réservation planning
  • Facturation avec TVA + remises
  • Prélèvement SEPA GoCardless (mandat + paiement)
  • Relances impayés automatiques (use-invoice-relances)
  • Reçus et encaissements (use-receipts)
CRM
Clients, Véhicules & Documents
Clients · ClientDetail · Vehicles · VehiculeDetail · Documents · useCamera
Base clients et parc véhicules. Gestion documents (photos, PDFs), classeur numérique, historique complet.
  • Fiche client avec historique dossiers
  • Fiche véhicule avec workflow état
  • Upload photos via caméra native (Capacitor)
  • Classeur documents par dossier
  • EAD : état des lieux numérique
  • Recherche globale (use-global-search)
Assurance
Portail Assurance & Expertise
insurance/ · use-expertise-reports · use-client-validation · ClientValidationWatcher
Sous-système public : URLs partagées avec assureurs pour validation expertise. Pages standalone sans auth carrosserie.
  • Page publique validation expertise (/insurance/*)
  • Upload documents par assuré (/documents/upload/*)
  • Rapport expertise Ollama partageable
  • Notification temps réel validation (Realtime)
Config
Templates, Settings & Onboarding
Settings · GestionTemplates · OnboardingWatcher · TourGuide
Configuration par carrosserie : templates documents, workflow steps, préférences, onboarding guidé première utilisation.
  • Templates devis/facture personnalisables
  • Process templates pour les dossiers
  • Étapes workflow configurables
  • Onboarding IA guidé : messages contextuels
  • Tour guidé (TourGuide)
  • Préférences company (use-company-preferences)

Niveau 3 — Composants Wincar ERP

L'ERP lit la même base Supabase que Wincar V2 mais n'écrit que des données de pilotage. Aucun dossier créé ici.

Finance ERP
Dashboard Finance & Impayés
FinanceDashboard · ImpaidsManager · TreasuryView
Vue consolidée de la trésorerie, suivi des impayés Wincar V2, déclenchement des relances n8n, exports comptables.
  • Agrégation factures/paiements en temps réel
  • Liste impayés avec aging (30/60/90 jours)
  • Déclenchement relance manuelle → n8n
  • Export CSV/Excel pour comptabilité
  • Suivi abonnements SaaS clients
CRM ERP
Gestion Base Clients
CRMDashboard · ClientSegmentation · HistoryViewer
Vue enrichie des clients issus de Wincar V2 + données migrées depuis Wincar Legacy. Segmentation, scoring, historique 360°.
  • Base clients unifiée (natifs + Wincar Legacy)
  • Historique complet des dossiers par client
  • Segmentation par valeur/fréquence
  • Fiche client enrichie (véhicules, sinistres, CA)
  • Tags et notes internes
Marketing
Campagnes & Communication
CampaignBuilder · SMSEngine · EmailComposer · n8n integration
Création et envoi de campagnes marketing ciblées. Déclenche des workflows n8n pour l'envoi effectif.
  • Création campagnes SMS/email
  • Ciblage par segment CRM
  • Templates de communication
  • Envoi via n8n (SMTP/SMS gateway)
  • Tracking ouvertures/clics
Analytics
KPIs & Tableaux de Bord
AnalyticsDashboard · KPIWidgets · TrendCharts · RevenueAnalysis
Analyse des performances business : CA, dossiers traités, temps moyen, satisfaction. Données exclusivement en lecture depuis Supabase.
  • CA mensuel/annuel par carrosserie
  • Volume dossiers par statut et type
  • Temps moyen de traitement
  • Taux de conversion devis → facture
  • Performance techniciens
AI Monitor
Surveillance Système Ollama
AIMonitor standalone · Ollama usage API · Credits tracker
Dashboard dédié au monitoring de l'utilisation Ollama : crédits consommés, erreurs, latences, coût par client.
  • Consommation crédits par company
  • Erreurs et retries Ollama LLM
  • Alertes dépassement quota
  • Coût estimé par action IA
Config ERP
Administration Plateforme
PlatformSettings · CompanyManager · SubscriptionAdmin
Administration globale de la plateforme SaaS : gestion des comptes carrosseries, abonnements, fonctionnalités activées.
  • Gestion des comptes carrosseries
  • Activation/désactivation modules
  • Gestion abonnements et facturation SaaS
  • Impersonation pour support

Niveau 3 — Flux Métiers Détaillés

Les 6 workflows métiers principaux avec les composants et données impliqués à chaque étape dans l'écosystème Wincar.

Flux 1 Réception & Création de Dossier Sinistre
Le carrossier accueille un véhicule accidenté et ouvre un dossier dans Wincar V2.
Wincar V2 · CRM
Création/Recherche Client
Clients.tsx · use-clients · use-client-vehicle-check
client + véhicule
Wincar V2 · CRM
Fiche Véhicule
VehiculeDetail · useVehicleData · useCamera
photos + VIN
Wincar V2 · Dossiers
Dépôt Dossier
DepotDossier.tsx (57KB) · use-create-dossier · use-insurance-companies
dossier_id
Supabase DB
INSERT dossier
Tables: dossiers + sinistres + vehicules + company_workflow_steps
webhook trigger
n8n
Notif. Client
Email/SMS accusé réception
Flux 2 Expertise & Rapport IA (Ollama)
Le technicien réalise l'expertise, Ollama génère le rapport et le partage avec l'assureur.
Wincar V2 · IA
Saisie Expertise
useSpeechToText · use-expertise-reports · useCamera
données + photos
Edge Fn / Ollama
Génération Rapport
generate-report · Ollama LLM · PDF rendering
rapport PDF
Supabase Storage
Stockage PDF
bucket: expertise-reports · URL signée
URL partagée
Wincar V2 · Assurance
Portail Assureur
/insurance/* · ClientValidationWatcher · Realtime
validation
Wincar V2 · IA
Modif. Ollama si rejet
use-expertise-report-modify · AIAssistant
Flux 3 Devis → Planning Ollama → Réparation
Du rapport d'expertise validé à la réparation en atelier avec optimisation planning par Ollama.
Wincar V2 · Finance
Création Devis
use-report-to-quote · use-quotes · use-automotive-parts
devis_id
Wincar V2 · Finance
Validation Devis
use-quote-conversion-warning · QuoteConversionWarning
devis validé
Wincar V2 · Planning
Slot Ollama Optimal
use-optimal-planning · use-quote-to-reservation-linker
créneau + technicien
Wincar V2 · Planning
Planning Atelier
usePlanningManager · GestionAtelier · sync Google Cal
event GCal
Google Calendar
Sync Calendrier
useGoogleCalendarSync · Edge Fn sync-google-calendar
Flux 4 Facturation & Encaissement SEPA
Clôture du dossier avec émission facture et prélèvement SEPA GoCardless.
Wincar V2 · Finance
Bon de Réparation
use-repair-orders · Documents.tsx
→ facture
Wincar V2 · Finance
Émission Facture
use-invoices · generate PDF Edge Fn
mandat SEPA
GoCardless
Mandat + Paiement
use-gocardless · gocardless-* Edge Fn
statut paiement
Supabase DB
UPDATE Statut
invoices.status = paid · trigger webhook
lecture ERP
Wincar ERP · Finance
Dashboard Tréso
FinanceDashboard · agrégation temps réel
Flux 5 Relances Impayés (Wincar V2 → ERP → n8n)
Détection automatique des impayés, relance depuis Wincar V2 ou ERP, exécution via n8n.
Wincar V2 · Finance
Détection Impayé
use-unpaid-invoices · use-invoice-relances · 30/60/90j
ou via ERP
Wincar ERP · Finance
Dashboard Impayés
ImpaidsManager · liste aging · déclenchement manuel
POST /webhook
Wincar V2 · Finance
use-send-relance
use-send-relance · use-clearbus-letters · template email
appel Edge Fn
Edge Fn / n8n
Envoi Email/SMS
send-relance Edge Fn → n8n SMTP/SMS
log relance
Supabase DB
Historique Relances
Table relances · date + canal + statut envoi
Flux 6 Migration Wincar Legacy (one-shot onboarding)
Migration des données historiques depuis Wincar SQL Server vers Supabase lors de l'onboarding d'une nouvelle carrosserie.
Wincar Bridge · Legacy
Extraction SQL
SQL Server queries : clients, véhicules, historique dossiers
raw data
Wincar Bridge
Normalisation
Mapping schéma Wincar Legacy → Wincar V2 · types + encodage
données nettoyées
Wincar Bridge
Transformation
Déduplication · enrichissement · company_id injection
batch upsert
Supabase REST
Chargement
upsert clients + vehicles + dossiers · import-wincar-data Edge Fn
notif import
Wincar V2 · Config
Notification Import
use-import-notification · ImportNotificationHandler

Niveau 3 — Flux Cross-Applications

Comment les données et actions traversent les 3 systèmes Wincar. Le bus central est Supabase — Wincar V2 écrit, Wincar ERP lit, le Bridge alimente.

1
Dossier complet : Wincar V2 → Supabase → Wincar ERP
Tout ce qu'un dossier sinistre déclenche dans l'écosystème Wincar
Wincar V2
Dépôt dossier Expertise Ollama Devis Planning optimal Réparation Facture + SEPA
Supabase
INSERT dossier INSERT rapport PDF INSERT devis INSERT planning_slot UPDATE statuts INSERT invoice paid
Wincar ERP
lecture lecture lecture lecture Analytics update Finance dashboard
n8n / Ext.
email accueil email devis SMS rappel RDV email reçu paiement
2
Onboarding Carrosserie : Wincar Bridge → Supabase → Wincar V2
Migration one-shot Wincar Legacy + activation de la carrosserie
Wincar Bridge
Extract SQL Server Normalise Transforme Charge Supabase
Supabase
upsert + trigger
Wincar V2
Notification import + Onboarding guidé
3
Relance Impayé : Wincar V2 ↔ Wincar ERP → n8n
Peut être déclenché depuis Wincar V2 (technicien) ou Wincar ERP (manager)
Wincar V2
Détecte impayé (hook) use-send-relance Edge Fn send-relance
Wincar ERP
Dashboard impayés Clic "Relancer" Edge Fn send-relance
n8n / SMTP
Email/SMS client + log Supabase

Données Partagées — Schéma Logique

Entités Supabase centrales lues par Wincar V2 et Wincar ERP. Toutes isolées par company_id via RLS.

dossiers
id uuid PK
company_id FK
client_id FK
vehicle_id FK
statut enum
type_dossier text
created_at timestamptz
clients
id uuid PK
company_id FK
nom / prenom text
email / tel text
wincar_id text (migration)
segment text (ERP)
vehicules
id uuid PK
client_id FK
immatriculation text
vin text
marque / modele text
workflow_status enum
invoices
id uuid PK
dossier_id FK
company_id FK
montant_ht numeric
statut enum
gocardless_id text
planning_slots
id uuid PK
dossier_id FK
employee_id FK
start_at timestamptz
gcal_event_id text
expertise_reports
id uuid PK
dossier_id FK
pdf_url text (Storage)
ai_generated bool
validated_at timestamptz
companies
id uuid PK
nom text
subscription_tier enum
ai_credits int
workflow_steps jsonb
quotes
id uuid PK
dossier_id FK
report_id FK (optionnel)
items jsonb
statut enum

Accès par application

EntitéWincar V2 (lecture)Wincar V2 (écriture)Wincar ERP (lecture)Wincar ERP (écriture)Wincar Bridge
dossiers✅ (migration)
clientssegment seulement✅ (migration)
vehicules✅ (stats)✅ (migration)
invoicesrelance_at seulement
quotes✅ (taux conv.)
planning_slots✅ (charge)
expertise_reports
companiespréf. seulement✅ (abonnement)company_id seulement