Ce que « headless » signifie vraiment
Une implémentation Salesforce traditionnelle couple trois choses au même endroit : le modèle de données, la logique métier et l'interface utilisateur. Le headless CRM détache le front-end. Salesforce reste le système de référence et le moteur de règles, mais les écrans utilisés par vos clients et vos équipes vivent ailleurs — une application web React, une application mobile native, un portail client, une borne, voire l'interface d'un autre produit. Ces front-ends dialoguent avec Salesforce uniquement par API.
C'est la même idée que le monde du commerce a adoptée avec le headless commerce : un backend composable, de nombreuses expériences découplées. Le CRM devient un service que n'importe quel canal peut appeler, plutôt qu'un endroit où il faut se connecter.
Les briques Salesforce
Salesforce s'y prête bien, car il expose son moteur à travers une surface d'API très riche. Une architecture headless s'appuie généralement sur une combinaison de :
- API REST & SOAP — CRUD sur les objets standard et personnalisés, le cheval de trait de la plupart des lectures et écritures.
- API GraphQL — moins d'allers-retours pour les front-ends qui ont besoin de données structurées et imbriquées en un seul appel.
- Connect API — des données d'expérience de plus haut niveau (fils, communautés, commerce) sans avoir à les reconstruire.
- Apex REST & services invocables — vos propres endpoints, qui encapsulent une logique métier complexe dans un contrat propre.
- Platform Events & Change Data Capture — la diffusion des changements vers l'extérieur, pour que front-ends et systèmes en aval restent synchronisés.
- Data Cloud — une colonne vertébrale de données en temps réel qui unifie profils et événements à travers les canaux et les redistribue à chaque expérience.
- MuleSoft / API gateway — une couche d'intégration et de gouvernance en façade, quand vous avez de nombreux consommateurs.
L'authentification repose généralement sur OAuth 2.0 — flux Client Credentials ou JWT bearer pour le serveur-à-serveur, et le grant adapté pour les applications destinées aux utilisateurs. Salesforce reste la frontière de sécurité consciente de l'identité ; le front-end ne voit jamais plus que ce que son scope autorise.
Quand le headless est le bon choix
Le headless est un compromis délibéré, pas un choix par défaut. Il se justifie quand :
- Vous avez besoin d'une expérience entièrement à votre marque, contrôlée au pixel près, que l'interface standard de Salesforce ne peut pas offrir.
- Vous servez de nombreux canaux — web, mobile, portails partenaires, point de vente — depuis une seule source de vérité.
- Vous attendez un trafic public élevé et voulez une couche edge rapide devant le CRM.
- Vous embarquez des capacités CRM au sein d'un autre produit plutôt que d'envoyer les utilisateurs dans Salesforce.
- Vous voulez la liberté de faire évoluer le front-end indépendamment du cycle de releases de la plateforme.
Quand il ne l'est pas
Pour les équipes commerciales et de service internes, l'expérience Lightning standard plus la configuration est plus rapide à construire, moins chère à exploiter et plus facile à maintenir. Y passer en headless revient à reconstruire la navigation, les vues de liste, le reporting et l'interface de sécurité que Salesforce vous donne déjà gratuitement. Si le seul objectif est « le design ne nous plaît pas », cela vaut rarement un front-end sur mesure et une intégration API permanente à entretenir.
Les parties réellement difficiles
La promesse est simple ; c'est l'ingénierie qui fait réussir ou échouer les projets. Les défis récurrents :
- Limites d'API & performance — il faut concevoir en fonction des governor limits et des limites de requêtes, avec du cache, de la bulkification et un modèle de lecture, pas marteler l'org à chaque page vue.
- Une seule source de vérité — la logique doit rester dans Salesforce, et non être discrètement réimplémentée dans le front-end, où elle finit par dériver.
- Authentification & sécurité — cycle de vie des tokens, scopes, sécurité au niveau des champs et audit doivent être appliqués côté serveur, jamais confiés au client.
- Cache & fraîcheur — une couche edge/lecture garde les expériences rapides, mais exige une invalidation pilotée par événements pour que les utilisateurs ne voient pas de données périmées.
- Observabilité — quand l'interface et le moteur sont des systèmes séparés, il faut un traçage à travers la frontière pour pouvoir déboguer quoi que ce soit.
Notre approche
Nous traitons Salesforce comme un produit doté d'un contrat. Nous définissons d'abord la surface d'API — les objets, services et événements que le front-end a le droit d'utiliser — nous encapsulons la logique métier dans des endpoints Apex/GraphQL versionnés, plaçons une couche de cache et d'intégration en façade quand la charge le justifie, et utilisons Data Cloud quand profils et événements doivent être unifiés en temps réel. Le résultat : une source de vérité unique et gouvernée, avec au-dessus autant d'expériences découplées et à votre marque que le métier l'exige.
Nous vous dirons honnêtement si c'est le bon choix — et concevrons la couche d'API si c'est le cas.