Aller au contenu

Dessiner le paysage des systèmes

Aussi en 28 langues

English · Español · 日本語 · Português (Brasil) · Deutsch · Italiano · 한국어 · 简体中文 · Português (Portugal) · 繁體中文 · Bahasa Indonesia · Türkçe · Polski · Tiếng Việt · ไทย · Nederlands · العربية · עברית · Українська · हिन्दी · Русский · Svenska · Dansk · Norsk bokmål · Suomi · Español (México) · Français (Canada) · Deutsch (Schweiz)

A hand-drawn map of a region in ink and watercolor, half finished: towns, roads, a river and a rail line on one side, faint pencil lines on bare paper on the other.
Image générée par IA

Module 4 sur 6 du chapitre Comprendre les données de l’entreprise, chapitre 4 du cours Data Architect. Chaque module est autonome. Précédent : Les systèmes autour de Salesforce · Suivant : La stratégie d’organisation est une décision de paysage

La question à laquelle répond ce module : comment dessiner un paysage qui montre où vont les données ?

Donnez-moi un nouveau scénario et un tableau blanc vierge, et l’une des premières choses que je dessinerai, c’est le paysage des systèmes. Pas joli, pas toutes les API, pas encore le modèle de données. Je veux voir l’entreprise : qui sont les utilisateurs, quels systèmes sont impliqués, où se trouve Salesforce, ce qui l’entoure, d’où viennent les données et où elles vont. Et ensuite, je veux parcourir les flèches. Un bon paysage n’est pas une image de boîtes. C’est une manière de mettre au jour les décisions d’architecture.

Je fais pratiquer cela aux candidats CTA. Lisez le scénario, puis commencez à dessiner. N’attendez pas d’avoir tout résolu dans votre tête ; le dessin vous aide à résoudre. C’est pourquoi les devoirs après le premier jour consistent à commencer le paysage avant de faire un premier essai de modèle de données. Dessinez d’abord le modèle de données et vous avez déjà supposé ce qui a sa place dans Salesforce. Dessinez d’abord le paysage et vous voyez les systèmes qui doivent orienter cette décision.

Commencez haut, puis descendez dans le détail : d’abord l’entreprise entière, puis le détail là où il compte.

La disposition de paysage de Steve La disposition de paysage des systèmes de Steve, encore sans flèches. À gauche, de haut en bas : les utilisateurs internes, les utilisateurs partenaires et les clients. Au centre, Salesforce en bleu avec un nuage, l'organisation autour de laquelle nous concevons, avec la communauté partenaire et la communauté client qui le touchent par en dessous. Au-dessus : un site web public en haut à gauche, un fournisseur d'identité des employés et un fournisseur d'identité des partenaires au-dessus de Salesforce, et une application AppExchange de signature électronique décalée vers la droite. À droite de Salesforce, la couche d'intégration, avec Data 360 en dessous dans la même colonne (proche du cœur : géré sur le cœur, hébergé hors du cœur ; les utilisateurs ne s'y connectent jamais, et il atteint de nombreux systèmes back-office), puis les systèmes internes : l'ERP, la finance, la gestion des commandes et l'entrepôt de données. En dessous : les canaux clients, l'e-mail, les formulaires web, le téléphone et la messagerie. En bas à droite, les données entrantes et sortantes : une archive, des chargements de données, et des données externes référencées plutôt que copiées. Six étapes la construisent : les zones vides, puis les personnes, Salesforce et ses communautés, l'identité au-dessus, l'intégration et les systèmes internes, et enfin les canaux et les données. EN HAUT : IDENTITÉ, APPEXCHANGE, WEB PERSONNES À DROITE : SYSTÈMES INTERNES EN BAS : CANAUX CLIENTS EN BAS À DROITE : DONNÉES ENTRANTES ET SORTANTES © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Étape 1 sur 6 : une page blanche. Seulement les zones.

Il existe de nombreuses façons de dessiner un paysage des systèmes. Ce n’est que ma façon de faire, que j’ai affinée pendant de nombreuses années, et je la partage pour que vous voyiez comment en assembler un rapidement. Je l’utilise pour chaque paysage Salesforce, et elle se lit comme une phrase : les personnes à gauche atteignent Salesforce au centre, reconnues par les systèmes au-dessus, servies par les canaux en dessous, et connectées au back-office à droite.

Les personnes à gauche, de haut en bas : les utilisateurs internes, les partenaires, les clients. Pas encore chaque persona ; assez pour répondre à qui essaie d’atteindre cette architecture ? Chaque groupe pointe vers son point d’entrée : les utilisateurs internes vers Salesforce, les partenaires vers la communauté partenaire, les clients vers la communauté client. Les systèmes n’existent pas pour eux-mêmes. Quelqu’un, ou quelque chose, essaie de les utiliser.

La disposition de paysage de Steve La disposition de paysage des systèmes de Steve, encore sans flèches. À gauche, de haut en bas : les utilisateurs internes, les utilisateurs partenaires et les clients. Au centre, Salesforce en bleu avec un nuage, l'organisation autour de laquelle nous concevons, avec la communauté partenaire et la communauté client qui le touchent par en dessous. Au-dessus : un site web public en haut à gauche, un fournisseur d'identité des employés et un fournisseur d'identité des partenaires au-dessus de Salesforce, et une application AppExchange de signature électronique décalée vers la droite. À droite de Salesforce, la couche d'intégration, avec Data 360 en dessous dans la même colonne (proche du cœur : géré sur le cœur, hébergé hors du cœur ; les utilisateurs ne s'y connectent jamais, et il atteint de nombreux systèmes back-office), puis les systèmes internes : l'ERP, la finance, la gestion des commandes et l'entrepôt de données. En dessous : les canaux clients, l'e-mail, les formulaires web, le téléphone et la messagerie. En bas à droite, les données entrantes et sortantes : une archive, des chargements de données, et des données externes référencées plutôt que copiées. Six étapes la construisent : les zones vides, puis les personnes, Salesforce et ses communautés, l'identité au-dessus, l'intégration et les systèmes internes, et enfin les canaux et les données. EN HAUT : IDENTITÉ, APPEXCHANGE, WEB PERSONNES À DROITE : SYSTÈMES INTERNES EN BAS : CANAUX CLIENTS EN BAS À DROITE : DONNÉES ENTRANTES ET SORTANTES Utilisateurs internes ventes, service, opérations Utilisateurs partenaires Clients personnes © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Étape 2 sur 6 : qui essaie d’atteindre cette architecture ?

Salesforce au centre. Une simple boîte. Pas parce que Salesforce est le centre de l’entreprise (nous venons de passer trois modules à dire le contraire) mais parce que c’est le système autour duquel je conçois. C’est le point d’ancrage.

Les communautés juste en dessous, qui le touchent. Une communauté partenaire et une communauté client sont des points d’entrée distincts, elles ont donc leurs propres boîtes. Mais elles sont collées à Salesforce, car rien n’a besoin d’être intégré pour les atteindre : elles tournent dans la même organisation.

La disposition de paysage de Steve La disposition de paysage des systèmes de Steve, encore sans flèches. À gauche, de haut en bas : les utilisateurs internes, les utilisateurs partenaires et les clients. Au centre, Salesforce en bleu avec un nuage, l'organisation autour de laquelle nous concevons, avec la communauté partenaire et la communauté client qui le touchent par en dessous. Au-dessus : un site web public en haut à gauche, un fournisseur d'identité des employés et un fournisseur d'identité des partenaires au-dessus de Salesforce, et une application AppExchange de signature électronique décalée vers la droite. À droite de Salesforce, la couche d'intégration, avec Data 360 en dessous dans la même colonne (proche du cœur : géré sur le cœur, hébergé hors du cœur ; les utilisateurs ne s'y connectent jamais, et il atteint de nombreux systèmes back-office), puis les systèmes internes : l'ERP, la finance, la gestion des commandes et l'entrepôt de données. En dessous : les canaux clients, l'e-mail, les formulaires web, le téléphone et la messagerie. En bas à droite, les données entrantes et sortantes : une archive, des chargements de données, et des données externes référencées plutôt que copiées. Six étapes la construisent : les zones vides, puis les personnes, Salesforce et ses communautés, l'identité au-dessus, l'intégration et les systèmes internes, et enfin les canaux et les données. EN HAUT : IDENTITÉ, APPEXCHANGE, WEB PERSONNES À DROITE : SYSTÈMES INTERNES EN BAS : CANAUX CLIENTS EN BAS À DROITE : DONNÉES ENTRANTES ET SORTANTES Utilisateurs internes ventes, service, opérations Utilisateurs partenaires Clients Communauté partenaire Communauté client Salesforce l'organisation autour de laquelle nous concevons Salesforce une communauté personnes © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Étape 3 sur 6 : Salesforce au centre, les communautés juste en dessous.

L’identité au-dessus. Les fournisseurs d’identité vont en haut, ceux que les développeurs oublient : un pour les utilisateurs internes, peut-être un autre pour les partenaires. Les packages AppExchange vont aussi là-haut, décalés vers la droite, car ce sont des capacités apportées dans l’organisation plutôt que des systèmes de back-office qui échangent des données avec elle. Les sites web publics se placent en haut à gauche.

La disposition de paysage de Steve La disposition de paysage des systèmes de Steve, encore sans flèches. À gauche, de haut en bas : les utilisateurs internes, les utilisateurs partenaires et les clients. Au centre, Salesforce en bleu avec un nuage, l'organisation autour de laquelle nous concevons, avec la communauté partenaire et la communauté client qui le touchent par en dessous. Au-dessus : un site web public en haut à gauche, un fournisseur d'identité des employés et un fournisseur d'identité des partenaires au-dessus de Salesforce, et une application AppExchange de signature électronique décalée vers la droite. À droite de Salesforce, la couche d'intégration, avec Data 360 en dessous dans la même colonne (proche du cœur : géré sur le cœur, hébergé hors du cœur ; les utilisateurs ne s'y connectent jamais, et il atteint de nombreux systèmes back-office), puis les systèmes internes : l'ERP, la finance, la gestion des commandes et l'entrepôt de données. En dessous : les canaux clients, l'e-mail, les formulaires web, le téléphone et la messagerie. En bas à droite, les données entrantes et sortantes : une archive, des chargements de données, et des données externes référencées plutôt que copiées. Six étapes la construisent : les zones vides, puis les personnes, Salesforce et ses communautés, l'identité au-dessus, l'intégration et les systèmes internes, et enfin les canaux et les données. EN HAUT : IDENTITÉ, APPEXCHANGE, WEB PERSONNES À DROITE : SYSTÈMES INTERNES EN BAS : CANAUX CLIENTS EN BAS À DROITE : DONNÉES ENTRANTES ET SORTANTES Utilisateurs internes ventes, service, opérations Utilisateurs partenaires Clients Site web public IdP des employés authentification unique IdP des partenaires authentification unique Application AppExchange signature électronique Communauté partenaire Communauté client Salesforce l'organisation autour de laquelle nous concevons Salesforce une communauté personnes identité, applis, web © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Étape 4 sur 6 : l’identité au-dessus, la boîte que les développeurs oublient.

L’intégration, puis le back-office, à droite. La couche d’intégration, un ESB ou un iPaaS (ou MuleSoft, quand il est nommé), est une haute barre juste à droite de Salesforce. Les systèmes internes se placent derrière elle : les ERP, la finance, la gestion des commandes, les systèmes hérités, l’entrepôt de données. La page se lit maintenant de gauche à droite : les personnes, Salesforce, l’intégration, le back-office.

La disposition de paysage de Steve La disposition de paysage des systèmes de Steve, encore sans flèches. À gauche, de haut en bas : les utilisateurs internes, les utilisateurs partenaires et les clients. Au centre, Salesforce en bleu avec un nuage, l'organisation autour de laquelle nous concevons, avec la communauté partenaire et la communauté client qui le touchent par en dessous. Au-dessus : un site web public en haut à gauche, un fournisseur d'identité des employés et un fournisseur d'identité des partenaires au-dessus de Salesforce, et une application AppExchange de signature électronique décalée vers la droite. À droite de Salesforce, la couche d'intégration, avec Data 360 en dessous dans la même colonne (proche du cœur : géré sur le cœur, hébergé hors du cœur ; les utilisateurs ne s'y connectent jamais, et il atteint de nombreux systèmes back-office), puis les systèmes internes : l'ERP, la finance, la gestion des commandes et l'entrepôt de données. En dessous : les canaux clients, l'e-mail, les formulaires web, le téléphone et la messagerie. En bas à droite, les données entrantes et sortantes : une archive, des chargements de données, et des données externes référencées plutôt que copiées. Six étapes la construisent : les zones vides, puis les personnes, Salesforce et ses communautés, l'identité au-dessus, l'intégration et les systèmes internes, et enfin les canaux et les données. EN HAUT : IDENTITÉ, APPEXCHANGE, WEB PERSONNES À DROITE : SYSTÈMES INTERNES EN BAS : CANAUX CLIENTS EN BAS À DROITE : DONNÉES ENTRANTES ET SORTANTES Utilisateurs internes ventes, service, opérations Utilisateurs partenaires Clients Site web public IdP des employés authentification unique IdP des partenaires authentification unique Application AppExchange signature électronique Communauté partenaire Communauté client COUCHE D'INTÉGRATION (ESB) ERP commandes, factures Finance paiements Gestion des commandes Entrepôt de données analytique Salesforce l'organisation autour de laquelle nous concevons Salesforce une communauté personnes identité, applis, web un système interne la couche d'intégration © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Étape 5 sur 6 : l’intégration, puis le back-office.

Les canaux en dessous. Tout ce qui a une ligne directe avec les clients : e-mail vers requête (email-to-case), web vers piste (web-to-lead), téléphone, messagerie.

Les données entrantes et sortantes, en bas à droite. Les sources de données externes, les archives, les chargements de données.

Data 360 à droite, sous la couche d’intégration. Les utilisateurs ne s’y connectent jamais, et son tenant se connecte à de nombreux systèmes back-end, il se place donc avec la tuyauterie, là où ces lignes restent courtes : à côté des systèmes internes, de l’entrepôt de données et des données en bas à droite. Les équipes data ouvrent bien ses écrans, mais ces écrans sont dans l’organisation : Data 360 est proche du cœur (near-core), géré sur le cœur et hébergé hors du cœur (module 1). Une ligne qui le relie à Salesforce montre qui le gère. L’endroit où vous placez la boîte doit raconter ce qu’elle fait.

Rien de cette géométrie n’est sacré. La valeur d’une convention, c’est que je ne réinvente pas le langage visuel à chaque fois, et que quiconque a vu un de mes diagrammes lit le suivant plus vite.

La disposition de paysage de Steve La disposition de paysage des systèmes de Steve, encore sans flèches. À gauche, de haut en bas : les utilisateurs internes, les utilisateurs partenaires et les clients. Au centre, Salesforce en bleu avec un nuage, l'organisation autour de laquelle nous concevons, avec la communauté partenaire et la communauté client qui le touchent par en dessous. Au-dessus : un site web public en haut à gauche, un fournisseur d'identité des employés et un fournisseur d'identité des partenaires au-dessus de Salesforce, et une application AppExchange de signature électronique décalée vers la droite. À droite de Salesforce, la couche d'intégration, avec Data 360 en dessous dans la même colonne (proche du cœur : géré sur le cœur, hébergé hors du cœur ; les utilisateurs ne s'y connectent jamais, et il atteint de nombreux systèmes back-office), puis les systèmes internes : l'ERP, la finance, la gestion des commandes et l'entrepôt de données. En dessous : les canaux clients, l'e-mail, les formulaires web, le téléphone et la messagerie. En bas à droite, les données entrantes et sortantes : une archive, des chargements de données, et des données externes référencées plutôt que copiées. Six étapes la construisent : les zones vides, puis les personnes, Salesforce et ses communautés, l'identité au-dessus, l'intégration et les systèmes internes, et enfin les canaux et les données. EN HAUT : IDENTITÉ, APPEXCHANGE, WEB PERSONNES À DROITE : SYSTÈMES INTERNES EN BAS : CANAUX CLIENTS EN BAS À DROITE : DONNÉES ENTRANTES ET SORTANTES Utilisateurs internes ventes, service, opérations Utilisateurs partenaires Clients Site web public IdP des employés authentification unique IdP des partenaires authentification unique Application AppExchange signature électronique Communauté partenaire Communauté client Data 360 proche du cœur : géré sur le cœur, hébergé hors du cœur COUCHE D'INTÉGRATION (ESB) ERP commandes, factures Finance paiements Gestion des commandes Entrepôt de données analytique E-mail e-mail vers requête Formulaires web web vers piste Téléphone centre de contact Messagerie SMS, chat Archive anciennes requêtes Chargements de données migration Données externes référencées, pas copiées Salesforce l'organisation autour de laquelle nous concevons Salesforce une communauté personnes identité, applis, web un système interne un canal client données entrantes et sortantes la couche d'intégration pointillés : pas encore en service, ou cité © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Étape 6 sur 6 : toute la disposition, pas encore de flèches. Chaque paysage suivant garde ces positions.

Gardez une notation simple. Chaque système est une carte : son nom, son rôle et une petite icône qui dit de quel genre de chose il s’agit : un ERP, une base de données, un fournisseur d’identité, un groupe de personnes. Les régions que je viens de décrire sont dessinées comme des zones pâles et étiquetées, pour que la disposition elle-même soit visible. Une légende en bas dit ce que signifient chaque icône et chaque ligne.

Ne mettez pas trop de choses dans une boîte. Ce n’est que sur un paysage très compliqué que j’ouvre Salesforce en ses parties (Sales Cloud et Service Cloud dans l’organisation, avec des flèches entre eux). Et n’inventez pas quinze formes à moins que chacune dise quelque chose au lecteur. Je veux que quelqu’un regarde le paysage trente secondes et commence à comprendre l’architecture. Le sophistiqué n’aide pas. Le clair, si.

N’attendez pas la conception détaillée pour penser au volume. Une flèche qui transporte 500 produits par nuit et une autre qui transporte 200 000 relevés GPS par jour peuvent sembler exactement identiques sur le paysage. Ce n’est pas le même problème. Alors, avant de dessiner la moindre flèche, comptez ce qui circule. Commencez l’inventaire derrière l’image avec les volumes : une ligne par jeu de données important, avec son volume. Les zéros n’apparaîtront peut-être jamais sur les flèches, mais vous devez savoir quand vous passez dans les grands nombres : des milliers ou des millions en une heure, des centaines de milliers de transactions, voire des dizaines à des centaines de transactions par seconde.

Ces nombres déterminent le mécanisme. Quelques centaines d’enregistrements par nuit, c’est un traitement par lots. Un appel que quelqu’un attend peut être synchrone, si le volume le permet. Des dizaines à des centaines par seconde peuvent nécessiter des événements, comme les événements de plateforme, plutôt qu’un appel par enregistrement. La flèche aura le même aspect ; c’est le volume qui décide de ce qui la porte, alors notez-le dans l’inventaire, là où le mécanisme est choisi.

Le mécanisme peut même changer le sens de la flèche. Envoyez quelques enregistrements par minute, et Salesforce peut simplement appeler vers l’extérieur : la flèche part de Salesforce. Envoyez-en beaucoup plus, et Salesforce peut plutôt publier des événements sur le bus d’événements ; le système externe s’abonne et vient les chercher, et la flèche part désormais de l’autre bout. Plus gros encore, disons une synchronisation nocturne de millions d’enregistrements, et c’est un traitement par lots. Alors connaissez vos volumes tôt, dès que vous commencez à concevoir les mécanismes, car les volumes peuvent redessiner les flèches.

Le volume compte à deux endroits, pour deux raisons. Sur un modèle de données, j’en ai besoin pour surveiller les gros volumes de données et planifier l’archivage ; la partie 2 approfondit ce point. Sur un paysage des systèmes, les grands nombres de l’inventaire déterminent le choix du modèle d’intégration et du mécanisme. Le module 6 met de vrais zéros sur le paysage de Steve Trucking et son inventaire. Avec les volumes en main, dessinez les flèches.

Une fois les systèmes en place, reliez-les, et le paysage devient une architecture. Une boîte est un système ; la flèche montre qui initie la connexion. Elle part du système qui ouvre la connexion et pointe vers celui qu’il appelle : du client vers le serveur. L’étiquette dit ce qui circule, et dans quel sens.

Cette règle vaut pour les paysages des systèmes, où des systèmes parlent à des systèmes. Sur un diagramme de flux de données, la flèche suit les données, comme on s’y attend. N’emportez pas la règle du paysage dans d’autres diagrammes ; elle ne fait qu’ajouter de la confusion.

Le paysage avec ses flèches Le même paysage qu'avant, maintenant avec des flèches ; chacune part du système qui ouvre la connexion, et son étiquette dit ce qui circule et dans quel sens. Les utilisateurs internes atteignent Salesforce, les utilisateurs partenaires la communauté partenaire, les clients la communauté client. Chaque fournisseur d'identité et Salesforce partagent un certificat, montré par une ligne pointillée verte avec un certificat à chaque bout : de la confiance, pas un appel direct, parce que l'authentification passe par le navigateur de l'utilisateur sous forme de redirections. Le fournisseur d'identité des employés envoie aussi des mises à jour d'utilisateurs à Salesforce. Salesforce envoie des documents sortants vers l'application de signature électronique AppExchange, et des commandes sortantes vers la couche d'intégration, qui envoie des produits entrants à Salesforce. La couche d'intégration envoie des commandes sortantes vers l'ERP et en fait entrer des produits ; l'ERP envoie le statut de commande entrant à la couche d'intégration ; la couche d'intégration fait entrer les paiements depuis la finance. Data 360, sous la couche d'intégration, ouvre ses connexions : les données CRM sortantes de Salesforce, la zéro copie vers l'entrepôt de données, et une référence vers les données externes. Par en dessous, l'e-mail envoie des requêtes entrantes et les formulaires web des pistes entrantes vers Salesforce ; Salesforce envoie les anciennes requêtes sortantes vers l'archive ; les chargements de données envoient des enregistrements entrants. EN HAUT : IDENTITÉ, APPEXCHANGE, WEB PERSONNES À DROITE : SYSTÈMES INTERNES EN BAS : CANAUX CLIENTS EN BAS À DROITE : DONNÉES ENTRANTES ET SORTANTES Utilisateurs internes ventes, service, opérations Utilisateurs partenaires Clients Site web public IdP des employés authentification unique IdP des partenaires authentification unique Application AppExchange signature électronique Communauté partenaire Communauté client Data 360 proche du cœur : géré sur le cœur, hébergé hors du cœur COUCHE D'INTÉGRATION (ESB) ERP commandes, factures Finance paiements Gestion des commandes Entrepôt de données analytique E-mail e-mail vers requête Formulaires web web vers piste Téléphone centre de contact Messagerie SMS, chat Archive anciennes requêtes Chargements de données migration Données externes référencées, pas copiées Salesforce l'organisation autour de laquelle nous concevons certificat partagé mises à jour d'utilisateurs certificat partagé documents sortants commandes sortantes produits entrants commandes sortantes, produits entrants statut de commande entrant paiements entrants données CRM sortantes zéro copie référencées requêtes entrantes pistes entrantes anciennes requêtes sortantes enregistrements entrants Salesforce une communauté personnes identité, applis, web un système interne un canal client données entrantes et sortantes la couche d'intégration pointillés : pas encore en service, ou cité part du système qui ouvre la connexion ; l'étiquette dit ce qui circule un certificat partagé : confiance, pas d'appel direct © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Les flèches ajoutées. Chaque boîte est restée à sa place ; chaque flèche part du système qui ouvre la connexion, et son étiquette dit ce qui circule et dans quel sens.

Donc si la couche d’intégration pousse les produits dans Salesforce, la flèche va de la couche d’intégration vers Salesforce, étiquetée produits entrants. Si Salesforce appelle vers l’extérieur pour les récupérer, la flèche part de Salesforce, toujours étiquetée produits entrants. Mêmes données, conversation différente, et cette différence me dit qui a besoin des informations d’identification et qui doit gérer l’échec. Salesforce envoie la commande à travers la couche d’intégration : commandes sortantes. L’exécution de l’ERP revient : statut de commande entrant. Je vois maintenant qui commence chaque conversation, où les données entrent dans Salesforce et où elles en sortent, quels flux franchissent des frontières, où se trouve probablement la propriété, et où je dois creuser.

Et souvenez-vous du module 1 : chaque fois que je ne vois qu’un seul flux, je m’inquiète. À haut niveau, une flèche commandes sortantes dépend de flux de retour : clients entrants, produits entrants, les prix. Regardez encore plus loin et il y a le trajet retour : une acceptation, un rejet, un statut, un numéro de facture, une annulation. Les flèches me donnent quelque chose de concret à questionner.

C’est là que le paysage cesse d’être de l’art PowerPoint. Devant le jury, n’importe quelle flèche peut susciter trois questions, et je veux que vous ayez les réponses :

  • Comment s’authentifie-t-elle ? OAuth, un certificat, des informations d’identification nommées, autre chose ?
  • Est-elle synchrone ou asynchrone ? Salesforce attend-il l’ERP, ou publie-t-il et continue-t-il ? À quelle vitesse le métier a-t-il besoin du résultat ?
  • Quel est le mécanisme ? Un appel REST, un événement, un fichier, une file de messages, via MuleSoft ou en direct ?

Et ensuite : que se passe-t-il quand l’autre côté est en panne ? Chaque flèche a besoin d’un mécanisme. Si vous ne pouvez pas l’expliquer, le trait est de la décoration.

Et « fire and forget » (envoyer et oublier) n’est pas une réponse. Cela veut généralement dire « je n’ai pas conçu ce qui se passe après l’envoi ». Est-ce arrivé ? Est-ce accepté ? Est-ce que ça a échoué ? Y aura-t-il une nouvelle tentative ? Qui sait que c’est bloqué ? Et si le même message arrive deux fois ? Rien de cela ne va sur le paysage, qui deviendrait illisible. Mais la flèche doit vous faire savoir que ces questions existent.

Zoomez sur n’importe quelle flèche et vous trouvez un client et un serveur, et chacun possède sa moitié. Le client ouvre la connexion : il a besoin du point de terminaison et du port, obtient d’abord un jeton auprès du serveur d’authentification, appelle selon le protocole et le contrat que définit le serveur, et choisit d’attendre ou non. Seul le client voit l’aller-retour complet, donc seul le client peut réessayer. Le serveur écoute, définit le protocole, le contrat et la charge utile, valide ce qui arrive, et ne voit que sa propre partie. Quand je dessine une flèche, je sais déjà quel bout est lequel, et cela me dit à qui appartient chacune de ces questions.

Chaque flèche a besoin d'un mécanisme Une flèche du paysage, vue de près. Salesforce, le client, avec sa Named Credential et son External Credential, envoie les commandes sortantes à l'ERP, le serveur, qui a une External Client App et un utilisateur d'intégration API uniquement. Une ligne en tirets, requise pour OAuth, montre le client qui va d'abord vers un serveur d'authentification qui émet le jeton. En dessous, ligne par ligne, ce que gère le client et ce que définit le serveur. Où : le client a besoin du point de terminaison et du port ; le serveur écoute sur une URL ou une adresse IP et un port. Authentification : le client obtient d'abord un jeton, gère l'expiration et se reconnecte, avec le point de terminaison dans une Named Credential et l'authentification dans son External Credential ; le serveur fait confiance aux jetons de son serveur d'authentification, et son External Client App et son utilisateur d'intégration décident de ce que le client peut faire. Protocole et contrat : le client les appelle ; le serveur les définit. Charge utile : le client sérialise et lit ; le serveur définit JSON, XML ou binaire. Rythme : le client choisit d'attendre, de continuer, ou de s'exécuter selon un calendrier ; le serveur doit suivre. Traçabilité : le client voit tout l'aller-retour ; le serveur seulement sa propre partie. Erreurs et indisponibilité : le client gère tous les types d'erreurs, réessaie et sait quand il est bloqué ; le serveur valide ce qui arrive et ne peut pas réessayer. En dessous : rien de cela ne figure sur le paysage, mais chaque flèche l'a. requis pour OAuth Serveur d'authentification émet le jeton commandes sortantes CLIENT Salesforce SERVEUR ERP Named Credential External Credential External Client App Utilisateur d'intégration (API uniquement) LE CLIENT GÈRE LE SERVEUR DÉFINIT Où A besoin du point de terminaison (une URL ou une adresse IP) et du port auquel se connecter. Écoute sur une URL ou une adresse IP, sur un port (par exemple 443). Authentification Obtient d'abord un jeton auprès du serveur d'authentification ; gère l'expiration et se reconnecte. Une Named Credential contient le point de terminaison, et son External Credential l'authentification. Fait confiance aux jetons de son serveur d'authentification ; une External Client App et un utilisateur d'intégration API uniquement décident de ce que le client peut faire. Protocole et contrat Appelle le bon protocole, les bonnes méthodes et les bons verbes (pour SOAP, importe le WSDL). Définit le protocole (REST, SOAP, gRPC) et le contrat : méthodes, verbes, paramètres, retours. Charge utile Sérialise la requête et lit la réponse dans le format convenu. Définit la charge utile : JSON, XML ou binaire. Rythme Choisit : attend la réponse (synchrone), continue (asynchrone), ou s'exécute selon un calendrier (par lots). Doit suivre : répond à chaque appel à son arrivée, ou prend le lot quand il arrive. Traçabilité Voit tout l'aller-retour : ce qui est parti, ce qui est revenu, combien de temps cela a pris. Ne voit que sa propre partie : l'appel qui arrive, son traitement, la réponse qui repart. Erreurs et indisponibilité Gère les erreurs de connexion, d'authentification, de serveur et de réponse ; réessaie, et sait quand il est bloqué. Valide ce qui arrive et signale ses propres erreurs ; il ne voit pas l'aller-retour, donc il ne peut pas réessayer. Rien de cela ne figure sur le paysage, mais chaque flèche l'a. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Une flèche, vue de près : le client gère, le serveur définit. Rien de cela ne figure sur le paysage, mais chaque flèche l’a.

Maintenant, retournez la flèche. Quand l’ERP appelle Salesforce, Salesforce est le serveur : il définit les API, fait tourner son propre serveur d’autorisation et décide, au moyen d’une application client externe (External Client App) et d’un utilisateur d’intégration, de ce que l’appelant peut faire. Mêmes questions, de l’autre côté.

Salesforce comme serveur La même flèche, retournée. L'ERP, le client, qui détient un ID client et un secret ou un certificat, envoie le statut de commande entrant à Salesforce, le serveur, qui l'exécute en tant qu'utilisateur d'intégration API uniquement. Une ligne en tirets, requise pour OAuth, montre l'ERP qui va d'abord vers le propre serveur d'autorisation de Salesforce, lequel émet le jeton pour l'External Client App. En dessous, ligne par ligne, ce que gère le client et ce que définit Salesforce. Où : le client a besoin de l'URL My Domain de l'organisation et de la version de l'API ; Salesforce écoute sur My Domain en HTTPS. Authentification : le client obtient un jeton d'accès via l'External Client App et se reconnecte quand il expire ; Salesforce fait confiance à ses propres jetons, et les politiques de l'application et les autorisations de l'utilisateur d'intégration décident de ce que le client peut faire. Protocole et contrat : le client appelle l'API REST, SOAP ou Bulk ; Salesforce définit les API, et les objets et les champs de l'organisation sont le contrat. Charge utile : JSON ou XML, CSV pour Bulk. Rythme : le client attend, continue, ou charge par lots ; Salesforce doit suivre dans les limites d'API de l'organisation. Traçabilité : le client voit tout l'aller-retour ; Salesforce seulement sa propre partie. Erreurs et indisponibilité : le client gère les erreurs de connexion, d'authentification, de limite et de réponse, et réessaie ; Salesforce valide ce qui arrive et renvoie ses erreurs, et ne peut pas réessayer. En dessous : rien de cela ne figure sur le paysage, mais chaque flèche l'a. requis pour OAuth Serveur d'autorisation Salesforce émet le jeton pour l'External Client App statut de commande entrant CLIENT ERP SERVEUR Salesforce ID client et un secret, ou un certificat Utilisateur d'intégration (API uniquement) LE CLIENT GÈRE LE SERVEUR DÉFINIT Où A besoin de l'URL My Domain de l'organisation et de la version de l'API. Salesforce écoute sur le My Domain de l'organisation, en HTTPS (port 443). Authentification Obtient un jeton d'accès auprès du serveur d'autorisation de Salesforce, via l'External Client App ; gère l'expiration et se reconnecte. Fait confiance à ses propres jetons ; les politiques de l'External Client App et les autorisations de l'utilisateur d'intégration décident de ce que le client peut faire. Protocole et contrat Appelle l'API que définit Salesforce : REST, SOAP ou Bulk (pour SOAP, importe le WSDL). Salesforce définit les API et leurs versions ; les objets et les champs de l'organisation sont le contrat. Charge utile Sérialise la requête comme l'API l'attend, et lit la réponse. Définit la charge utile de chaque API : JSON ou XML, CSV pour Bulk. Rythme Choisit : attend la réponse (synchrone), continue (asynchrone), ou charge par lots (Bulk API). Doit suivre, dans les limites d'API de l'organisation. Traçabilité Voit tout l'aller-retour : ce qui est parti, ce qui est revenu, combien de temps cela a pris. Ne voit que sa propre partie : l'appel qui arrive, l'enregistrement et son automatisation, la réponse qui repart. Erreurs et indisponibilité Gère les erreurs de connexion, d'authentification, de limite et de réponse ; réessaie, et sait quand il est bloqué. Valide ce qui arrive (règles de validation, champs obligatoires, partage) et renvoie ses erreurs ; il ne peut pas réessayer. Rien de cela ne figure sur le paysage, mais chaque flèche l'a. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Salesforce comme serveur : les mêmes questions, Salesforce répondant pour la moitié du serveur.

Des flèches sur le paysage, les conversations dans un couloir

Section intitulée « Des flèches sur le paysage, les conversations dans un couloir »

Voici comment les architectes gâchent un bon diagramme : ils font répondre un seul artefact à tout. Le paysage reçoit les noms d’API, les charges utiles, les nouvelles tentatives, les files d’erreurs, les transformations, chaque rappel, et bientôt plus personne ne peut le lire. Ne le faites pas. Le paysage, c’est la vue d’ensemble : les systèmes et les flux importants entre eux.

Quand je dois expliquer une interaction, je dessine un second diagramme, mais pas pour chaque intégration. Si le système A envoie quelque chose à B, ou même demande et obtient une réponse, la flèche étiquetée suffit. Je veux un couloir (swim lane) quand le processus devient une conversation : A appelle B, B vérifie auprès de C, C répond, B crée quelque chose et rappelle A, une personne approuve, un autre système prend le relais. Ma règle empirique : plus d’un ou deux allers-retours, et la séquence a droit à son propre couloir. Les flèches sur le paysage ; la conversation dans le couloir.

Et remarquez qu’une flèche y signifie autre chose. Sur le paysage, une flèche est une connexion : qui l’ouvre, et ce qui circule. Dans un couloir, chaque flèche est un message d’une conversation, lu dans l’ordre : une requête part dans un sens, une réponse revient dans l’autre, et l’étape suivante suit.

Les flèches sur le paysage, la conversation dans un couloir Les trois mêmes systèmes, montrés de deux façons. En haut, comme sur le paysage : Salesforce envoie les commandes sortantes à la couche d'intégration, qui envoie les numéros de commande entrants à Salesforce, et la couche d'intégration envoie les commandes sortantes à l'ERP. En dessous, chaque système devient un couloir, et la conversation descend la page en six étapes numérotées : 1, Salesforce envoie la commande à la couche d'intégration ; 2, la couche d'intégration répond, acceptée, avec une référence ; 3, la couche d'intégration demande à l'ERP de créer la commande ; 4, l'ERP crée la commande ; 5, l'ERP répond à la couche d'intégration avec le numéro de commande ; 6, la couche d'intégration appelle Salesforce pour mettre à jour la commande. Les réponses sont plus claires. En dessous : sur le paysage, une flèche est une connexion ; dans un couloir, chaque flèche est un message, dans l'ordre. SUR LE PAYSAGE : QUI SE CONNECTE, ET CE QUI CIRCULE DANS UN COULOIR : LA CONVERSATION, DANS L'ORDRE Salesforce Couche d'intégration ERP commandes sortantes numéros de commande entrants commandes sortantes envoyer la commande 1 acceptée : une référence 2 créer la commande 3 crée la commande 4 le numéro de commande 5 mettre à jour la commande 6 Sur le paysage, une flèche est une connexion. Dans un couloir, chaque flèche est un message, dans l'ordre. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Trois flèches sur le paysage ; six étapes dans le couloir. Sur le paysage, une flèche est une connexion ; dans un couloir, chaque flèche est un message, dans l’ordre.

Quand le paysage semble à peu près terminé, parcourez-le, flèche par flèche. De l’ERP à Salesforce : qu’est-ce qui circule, qui le possède, comment ça s’authentifie, quel est le mécanisme, synchrone ou asynchrone, à quel point les données doivent-elles être à jour ? Puis la flèche suivante, et la suivante. C’est là que les trous apparaissent. « Ah, on n’a jamais établi comment le partenaire envoie réellement ça. » « On envoie les commandes à l’ERP, mais on n’a pas conçu comment reviennent celles qui sont rejetées. » Très bien. Vous l’avez trouvé sur le tableau blanc plutôt qu’en production.

L’image doit rester lisible, alors les détails vont dans l’inventaire derrière elle. Vous l’avez commencé avec les volumes ; terminez-le maintenant, une ligne par jeu de données ou flux important :

ColonneCe que je veux savoir
Jeu de donnéesClient, produit, commande, livraison, facture
TypeMaître, référence, transactionnel, analytique, non structuré
PropriétaireQui possède son sens et son cycle de vie ?
Système d’enregistrementOù est la version qui fait autorité ?
Charge de travailOpérationnelle, analytique, en flux
VolumeLe Nombre de zéros
OrganisationQuelle organisation Salesforce, s’il y en a plusieurs ?
AuthentificationComment la connexion établit-elle la confiance ?
Mécanisme et rythmeAPI, événement, fichier, fédération ; synchrone, asynchrone, par lots
ApprocheLa copier, la référencer ou la fédérer ?

Il y a maintenant deux artefacts : le paysage me permet de voir l’architecture, et l’inventaire me permet de l’interroger.

L'inventaire derrière le dessin L'inventaire derrière le paysage, une ligne par flux, avec les colonnes du volume et du mécanisme teintées ensemble. Produits entrants : propriété de l'ERP, environ 500 modifications par nuit, un traitement par lots nocturne via la couche d'intégration, une External Client App et un utilisateur d'intégration, copiés. Commandes sortantes : propriété de Salesforce, environ 2 000 par jour, quelques-unes par minute, en quasi temps réel quand Salesforce appelle via la couche d'intégration, par un appel sortant Apex ou Flow et une Named Credential, copiées. Statut de commande entrant : propriété de l'ERP, environ 16 000 par jour par rafales, en asynchrone quand l'ERP pousse vers la couche d'intégration, qui met à jour Salesforce via l'API REST, copié. Paiements entrants : propriété de la finance, environ 1 500 par jour, un traitement par lots horaire via Bulk API 2.0, copiés. Données CRM sortantes : propriété de Salesforce, des millions d'enregistrements, ingérées par Data 360 depuis l'organisation selon un calendrier, proche du cœur, copiées dans Data 360. Zéro copie : les cinq ans d'historique de l'entrepôt de données, des centaines de millions de lignes, interrogées sur place, fédérées. Référencées : un fournisseur externe, une consultation à la fois, lues quand quelqu'un en a besoin, référencées. En dessous : sur le paysage, les flèches se ressemblent ; c'est le volume qui décide de ce qui porte chacune. FLUX SUR LE PAYSAGE PROPRIÉTAIRE VOLUME MÉCANISME ET RYTHME AUTHENTIFICATION COPIER, RÉFÉRENCER OU FÉDÉRER Produits entrants ERP ~500 modifications par nuit Par lots : la couche d'intégration les charge chaque nuit External Client App, utilisateur d'intégration Copier Commandes sortantes Salesforce ~2 000 par jour, quelques-unes par minute Quasi temps réel : Salesforce appelle via la couche d'intégration, par un appel sortant Apex ou Flow Named Credential Copier Statut de commande entrant ERP ~16 000 par jour, par rafales Asynchrone : l'ERP pousse vers la couche d'intégration, qui met à jour Salesforce via l'API REST External Client App, utilisateur d'intégration Copier Paiements entrants Finance ~1 500 par jour Par lots : chaque heure, via la couche d'intégration et Bulk API 2.0 External Client App, utilisateur d'intégration Copier Données CRM sortantes Salesforce Des millions d'enregistrements, tous Data 360 ingère depuis l'organisation selon un calendrier Proche du cœur : géré dans l'organisation Copier dans Data 360 Zéro copie Entrepôt de données Cinq ans d'historique, des centaines de millions de lignes Interrogé sur place au besoin Une connexion Data 360 à l'entrepôt de données Fédérer Référencées Fournisseur externe Une consultation à la fois Lues quand quelqu'un en a besoin Une connexion Data 360 Référencer Sur le paysage, les flèches se ressemblent. C'est le volume qui décide de ce qui porte chacune. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

L’inventaire derrière ED-D42. Les flèches se ressemblent sur le paysage ; c’est le volume qui décide de ce qui porte chacune.

C’est pourquoi j’aime cet artefact : il m’aide à réfléchir. « Comment ferons-nous des rapports sur Salesforce et l’ERP ? » C’est la question du module 3 : lequel de mes diagrammes résout cela à merveille ? Le paysage. Si tout est sur le cœur, des rapports standard. Si les données sont dans l’ERP et l’entrepôt de données, vous le voyez immédiatement. « Où cet attribut client doit-il être maîtrisé ? » Regardez quels systèmes l’utilisent et lequel possède déjà le client. « Salesforce a-t-il besoin de chaque relevé GPS ? » Qui le produit, qui le consomme, quelle est la charge de travail ? Peut-être que Salesforce a besoin de la position actuelle et qu’une autre plateforme garde l’historique. Le paysage ne vous donne pas la réponse. Il vous donne la bonne vue du problème.

Une discipline de plus. Dans une entreprise existante, dessinez ce qui existe, pas ce que vous aimeriez qui existe. Le tableur envoyé par e-mail chaque vendredi : dessinez-le. Le CSV du partenaire sur un serveur SFTP : dessinez-le. L’intégration qui contourne l’ESB pour des raisons historiques : dessinez-la. Des gens qui ressaisissent des données entre deux systèmes : montrez-le. N’embellissez pas la réalité pendant que vous la documentez. Il vous faut le paysage actuel avant de concevoir le paysage cible, et c’est ce que nous faisons pour Steve Trucking au module 6.

Au-delà de l’examen : ce que l’IA change. Le paysage devient une carte des agents. Si un agent répond à « où est ma livraison ? », le paysage doit dire si la réponse vient de Salesforce, d’un système partenaire, de la télématique, de l’ERP, ou d’un mélange. Les agents ne suppriment pas les frontières entre systèmes ; ils rendent encore plus important de savoir quel système fait autorité, et comment l’atteindre en toute sécurité.

  • Quels systèmes et quelles populations d’utilisateurs ont leur place sur le paysage, et comment leur position montre leur rôle.
  • Quels flux franchissent les frontières entre systèmes, dans quel sens, et ce qui revient.
  • Comment chaque connexion s’authentifie, quel mécanisme la porte, et si elle est synchrone, asynchrone, par lots ou fédérée.
  • Quand une flèche étiquetée suffit et quand une interaction a besoin de son propre couloir.
  • Ce que consigne l’inventaire derrière l’image : propriétaire, charge de travail, volume, organisation, rythme, authentification, et copier, référencer ou fédérer.

Le paysage n’est pas quelque chose que je dessine une fois l’architecture terminée. C’est ainsi que je trouve l’architecture. Et quand vous pensez qu’il est fini, ne l’admirez pas. Parcourez-le. Chaque flèche que vous ne savez pas encore expliquer vous montre où se trouve le travail.