Un CRM/ERP moderne, API-first, modulaire & multi-tenant
IHM web/mobile légère qui consomme l’API (.NET 8). Sécurité Keycloak (OIDC/OAuth2), RGPD, pipelines Kanban, ERP Planning, Achats/Fournisseurs, Facturation, Ticketing… et IA à venir.
X-Tenant-Id
Backend • .NET 8
API REST OpenAPI 3.0.3, tokens OIDC, cookies refresh HttpOnly.
Auth • Keycloak
Realm crm-erp
, clients crm-api
/crm-web
, rôles/scopes par domaine.
Scopes : crm.*
erp.*
billing.*
purchasing.*
admin
Data • PostgreSQL
Schéma complet (UUID, FK, index, triggers updated_at
), compatibles RLS par tenant.
Devis → Facture simplifiés
Catalogue produits, remises, TVA. Conversion du devis en facture sans ressaisie. Suivi des paiements.
Planning agents & interventions
Affectations par compétences, vue hebdo, récap par agent, suivi de réalisation.
Achats & POs → Réceptions
POs fournisseurs, réceptions, contrôle factures fournisseurs, paiements et rapprochements.
CRM
Accounts, Contacts, Leads, Opportunities, Activities, Notes, Files
ERP Planning
Skills, Agents, Calendriers, Missions, Assignments
Billing
Products, Quotes, Invoices, Payments
Achats & Fournisseurs
Fournisseurs, Bons de commande (POs), Réceptions, Factures fournisseurs, Paiements fournisseurs
Ticketing
Tickets & Messages (interne/externe)
Voice & IA (à venir)
Commandes vocales, scoring, assignations assistées
MVP
Auth, CRM de base, Kanban opportunités, Produits & Devis, ERP missions, Achats & Bons de commande (POs).
Qualité & Sécurité
Tests intégration, RLS, rate-limit, audit trail, SLO p95 < 250ms.
Déploiement
CI/CD, VPS Ubuntu (Docker), TLS via Traefik/Caddy, monitoring & logs.
Endpoints utiles
🔎 API (proxifiée) : /api/
📄 Swagger (si exposé) : /api/swagger ou /swagger
🔐 Keycloak : https://auth.laubops.com
Diagnostic rapide
API → GET /api/health
(fallback /api/
)
Keycloak → ping https://auth.laubops.com
En prod, Keycloak est servi en HTTPS derrière le reverse proxy ; Postgres est healthy avant l’API.
Protection des données
Auth OIDC/OAuth2 (Keycloak), chiffrage en transit (TLS), audit trail et journalisation.
Multi-tenant isolé
Isolement logique par client (en-tête X-Tenant-Id
), permissions par domaine.
Conformité & droits
Droit d’accès/suppression, export des données, conservation et traçabilité configurables.
Détails techniques
- Base de données PostgreSQL, politiques RLS activables par tenant.
- CI/CD Docker, reverse-proxy, endpoints healthcheck.
- Objectif de performance (SLO) : p95 < 250 ms sur l’API.