Pillar page
Intégration de systèmes pour entreprises
Nous connectons les ERP, CRM, systèmes comptables, paie/RH, registres d'entreprises, Microsoft Graph, Salesforce, SAP. Intégrations via API, files d'attente, ETL, webhooks — avec un contrôle qualité total, un audit trail et un monitoring de production.
Une entreprise de taille moyenne utilise entre une douzaine et plusieurs dizaines d'applications métier. Chacune stocke des fragments des mêmes données — client, facture, employé, commande. Sans intégration, les collaborateurs passent des heures par jour à ressaisir, exporter et importer manuellement des données entre les systèmes.
L'intégration de systèmes n'est pas un luxe — c'est le fondement de la transformation numérique. Avec une couche d'intégration bien conçue : un client ajouté dans le CRM apparaît dans l'ERP sans intervention, une facture émise en comptabilité met à jour le tableau de bord financier du dirigeant, un statut de commande est cohérent entre la boutique en ligne, l'entrepôt et le service client.
Pourquoi les intégrations sont-elles difficiles ?
Chaque système possède son propre modèle de données, son propre nom pour le même champ, sa propre séquence d'opérations, ses propres contraintes d'API (limites de débit, latence, erreurs transitoires). Deux systèmes peuvent sembler « compatibles » en théorie, mais en pratique exigent des semaines de travail sur les mappings, les transformations, la gestion des cas limites et la résolution des conflits.
La deuxième couche de difficulté est la fiabilité en production. Une intégration qui fonctionne correctement en environnement dev représente environ 30% du chemin. Les 70% restants concernent la gestion des situations exceptionnelles : le système externe est indisponible, il a modifié son contrat d'API, renvoie des données inattendues, un nouveau client apparaît dans le CRM avec des caractères que l'ERP legacy ne sait pas gérer. Chacun de ces cas exige une réflexion, un test et une alerte lorsqu'il se produit.
Types d'intégration
Six patterns fondamentaux. Dans la plupart des projets, nous en combinons plusieurs, en choisissant la bonne méthode pour chaque cas.
API REST / GraphQL
Communication synchrone entre applications. JSON comme format d'échange, OAuth2/JWT pour l'autorisation, OpenAPI/Swagger pour la documentation. Le choix le plus courant pour les systèmes cloud modernes.
Files d'attente de messages
RabbitMQ, Redis Streams, Kafka — échanges asynchrones quand l'émetteur n'attend pas le récepteur. Idéal pour les notifications, les événements métier, les opérations longues. Garantie de livraison + retry.
ETL / ELT
Chargement par lots de données dans un entrepôt (Snowflake, BigQuery, Redshift, PostgreSQL on-premise). Airflow ou dbt comme orchestrateur, validation de la qualité des données (Great Expectations), monitoring du lineage.
Webhooks
Notifications push depuis un système source (Stripe, GitHub, Slack, Salesforce) vers notre application. Vérification de signature HMAC, idempotence, dead-letter queue pour les livraisons échouées.
SOAP / XML
Systèmes enterprise legacy (SAP, Oracle, banque, assurance) — support complet WSDL, validation XSD, WS-Security. Adaptateur vers les protocoles modernes pour le reste du système.
Bases de données — réplication, CDC
Change Data Capture (Debezium, AWS DMS) pour la réplication en streaming des changements d'une base source vers une cible. Réplication logique PostgreSQL pour la haute disponibilité et le reporting.
Six défis clés en production
Les éléments que nous surveillons dans chaque projet d'intégration. L'absence de l'un d'entre eux = bombe à retardement.
Idempotence
Chaque requête exécutée plusieurs fois produit le même résultat. Clés d'idempotence dans les en-têtes, déduplication au niveau applicatif, transactions autour des opérations critiques.
Retry et backoff
Les erreurs réseau transitoires sont la norme. Backoff exponentiel (1s, 2s, 4s, 8s…), jitter pour éviter le thundering herd, circuit breaker après N tentatives échouées.
Mapping et transformations
Le système A nomme un champ "client_id", le système B "customerId", le système C "id_klienta". Un catalogue central de mappings, des transformations en un seul endroit, des tests pour chaque transformation.
Eventual consistency
Les données dans deux systèmes ne sont jamais cohérentes à 100% en temps réel. Nous acceptons la latence (typiquement des secondes), surveillons la dérive et alertons en cas de divergence prolongée.
Audit et conformité
Chaque opération d'intégration enregistre : qui/quoi/quand/d'où/vers où, payload (anonymisé s'il contient des PII), résultat. Le journal d'audit répond aux exigences RGPD et ISO 27001.
Scaling et coûts
Les intégrations croissent avec le business. Scaling horizontal (plus d'instances), rate limiting (protection contre les requêtes excessives), monitoring des coûts par intégration.
Comment nous livrons un projet d'intégration
- Discovery (1-2 semaines) : cartographie des flux de données actuels, identification de la source de vérité pour chaque entité, collecte des contrats d'API, évaluation des risques et des dépendances.
- Conception d'architecture (1 semaine) : choix des patterns (synchrone vs asynchrone, push vs pull, hub-and-spoke vs point-à-point), schéma du journal d'audit, plan de monitoring.
- Pilote sur une seule entité (2-3 semaines) : nous livrons l'intégration pour un type de données (par ex. clients) de bout en bout. Validation des contrats, tests de charge, dry-run en environnement de test.
- Extension aux autres entités (4-8 semaines) : synchronisations suivantes (factures, commandes, produits) avec le même pattern. Chaque mise en production précédée d'un Change Request et de tests de régression.
- Migration des données historiques (1-3 semaines) : transfert des données existantes. Dry-run, audit, plan de rollback. Migration incrémentale ou pendant une fenêtre de service.
- Hypercare (4 semaines en production) : monitoring intensif, réponse rapide aux incidents, tuning des alertes. Après l'hypercare, transition vers la maintenance standard.
Exemples d'intégrations livrées
KRS + CRBR — RejestrFirm
Microservice connectant les données du Registre judiciaire polonais (740k+ entreprises) avec le Registre central des bénéficiaires effectifs. Smart caching (24h), dual-source avec fallback automatique, 15+ endpoints REST. Utilisé dans les processus KYC, la vérification de contreparties et le reporting de conformité.
SSO sur plusieurs applications
Plateforme Keycloak centrale (realm eskom-ai) intégrée avec une douzaine d'applications clientes. OAuth2/OIDC + PKCE, social login (Google, Microsoft, Apple, Facebook), provisioning des utilisateurs, facturation basée sur l'usage des tokens LLM. Single sign-on sur l'ensemble des produits ESKOM AI.
Microsoft Graph — calendriers, e-mail, OneDrive
Intégration avec Microsoft 365 pour l'automatisation du calendrier (planification de réunions par assistant IA), l'envoi d'e-mails transactionnels, l'archivage de documents. OAuth2 avec delegated permissions, refresh tokens dans Vault, monitoring des rate limits Graph API.
LLM Proxy — routage multi-fournisseur
File d'attente centrale connectant plusieurs fournisseurs LLM (Anthropic, OpenAI, Ollama local). Routage par tâche (petite — modèle local, complexe — Claude Opus), cache des réponses, monitoring des coûts par projet, fail-over entre fournisseurs.
Questions fréquentes
Que signifie l'intégration de systèmes ?
Quelles technologies d'intégration utilisez-vous ?
Les intégrations cassent-elles quand les systèmes sources sont mis à jour ?
Combien de temps prend une intégration typique ?
Et les données historiques lors d'une nouvelle intégration ?
L'intégration doit-elle fonctionner 24/7 ?
Comment monitorez-vous les intégrations en production ?
Et la sécurité pour les intégrations externes ?
En quoi l'approche d'intégration d'ESKOM AI diffère-t-elle d'un ESB classique (Enterprise Service Bus) ?
Intégrez-vous avec les systèmes publics polonais (KRS, CRBR, KSeF, ePUAP) ?
Vous avez un projet d'intégration ?
Nous commençons par un audit gratuit — cartographie des flux de données actuels, identification des goulots d'étranglement et proposition d'un plan en phases claires.