La Réponse Courte

Un bon modèle de données sur Salesforce n'est pas le plus beau en théorie, mais celui qui concilie simultanément trois éléments : le processus métier, le modèle de permissions et les rapports requis. La plupart des modèles échouent car ils sont construits uniquement autour du premier.

La distinction entre une décision de modélisation et d'autres décisions de projet réside dans le coût du changement. Modifier un enregistrement Flow prend une journée ; changer le type de relation entre les objets après deux ans de données, d'automatisations et d'intégrations est un projet en soi. C'est pourquoi l'investissement dans la phase de conception est plus rentable ici que partout ailleurs.

Règle Première : Utiliser les Objets Standard

Account, Contact, Lead, Opportunity, Case et Product apportent des fonctionnalités qui ne sont pas incluses gratuitement avec un objet personnalisé : processus de vente, prévisions, droits d'accès, Omni-Channel, application mobile et intégration native avec d'autres produits de la plateforme.

Une organisation qui crée un Customer__c au lieu d'un Account obtient initialement un modèle d'apparence plus propre, mais découvre plus tard que chaque fonctionnalité standard nécessite une construction personnalisée. La règle est la suivante : ne vous écartez du standard que s'il existe une raison que l'on peut exprimer en une phrase.

Quand un Objet Personnalisé est-il Requis ?

SituationObjet Personnalisé ?Justification
Contrat/Abonnement avec son propre cycle de vieOuiStatuts, renouvellement, propriété et rapports distincts
Actif installé chez un clientOui (ou Asset standard)Entité indépendante avec historique de service
"Client potentiel" supplémentaireNonC'est un Lead ou un Account avec un Record Type
Département d'une organisationNonDonnée sur un utilisateur, pas une entité
Lignes de tarification complexesDépendVérifier Quote Line ou CPQ avant de construire

Normalisation vs. Aplatissement : Le Compromis qui Influence les Rapports

Dans les bases de données classiques, la normalisation est une vertu. Sur Salesforce, elle est échangée contre la facilité de reporting : chaque niveau de relation supplémentaire complique la création de rapports sans outil externe, car le reporting standard est limité en profondeur de relations.

Le compromis habituel est la normalisation là où la donnée change et est dupliquée, et un aplatissement contrôlé des champs de requête courants vers l'objet à partir duquel les rapports sont générés – à condition que la duplication soit gérée automatiquement et non manuellement. Un champ dupliqué mis à jour par saisie manuelle devient obsolète en quelques mois.

Les Permissions Font Partie du Modèle, Pas une Étape Ultérieure

La question "qui voit quoi" doit être posée lors de l'esquisse des objets. Un modèle où une donnée sensible réside sur le même objet qu'une donnée opérationnelle contraint par la suite à des solutions de contournement – objet miroir, champs chiffrés ou visibilité excessivement large.

La vérification pratique : pour chaque nouvel objet, écrivez une ligne – qui est le propriétaire, qui lit, qui modifie et ce qui se passe dans la hiérarchie. Si la réponse nécessite plus de quatre lignes, la structure mélange probablement deux entités.

Une extension sur les sources de données et l'autorité de mise à jour se trouve dans Source de Référence dans l'Organisation, et sur la gestion des entités clés dans Master Data Management.

Cas d'Étude : Une Entreprise Logicielle Ayant Construit un Modèle Autour des Départements

Une entreprise SaaS de taille moyenne a construit un modèle avec quatre objets personnalisés – un pour chaque équipe de vente – car chaque équipe avait un processus différent. Un an et demi plus tard, les équipes ont été fusionnées, ce qui a nécessité : la fusion des rapports, des automatisations parallèles à quatre endroits et une migration interne de 60 000 enregistrements entre les objets.

La reconstruction s'est basée sur un seul objet Opportunity avec des Record Types pour les différents processus. La même distinction métier a été conservée – différents parcours de vente, différents champs, différentes Page Layouts – mais au niveau de la configuration et non de la structure. Le prochain changement organisationnel nécessitera une modification de Record Type, pas une migration.

La règle qui en découle est la suivante : la structure représente les entités ; la configuration représente l'organisation. Ce qui est susceptible de changer tous les deux ans ne devrait pas faire partie de la structure.

Performance et Volume – Ce qui Compte Vraiment

Les problèmes de performance dans un modèle de données proviennent principalement de trois sources : la distorsion des données (Data Skew – par exemple, un parent unique avec des dizaines de milliers d'enfants, comme un compte "Clients Particuliers"), des formules imbriquées qui calculent en temps réel à travers les relations, et le partage basé sur Apex Sharing créé à grande échelle. Les trois peuvent être identifiés dès la phase de conception si l'on anticipe le nombre d'enregistrements attendus sous chaque parent.

Risques Courants et Actions Préventives

RisqueComment il se manifesteAction Préventive
Objet Personnalisé inutileFonctionnalités standard recréées manuellementVérifier l'Objet Standard avant tout nouvel objet
Master-Detail trop précoceSuppressions en chaîne et structure immuableCommencer par un Lookup si un Roll-Up n'est pas nécessaire
Modèle reflétant l'organisationChaque changement organisationnel devient une migrationRecord Types au lieu d'objets
Distorsion des données (Data Skew)Blocages et lenteurs lors des mises à jour massivesRépartir les parents, vérifier le volume lors de la conception
Permissions en afterthoughtSolutions de contournement et visibilité trop largeMatrice d'accès pour chaque objet lors de la conception

Comment Mesurer le Succès

DomaineQuoi MesurerFréquence de Vérification
Utilisation des champsTaux de remplissage pour chaque champTrimestriel
RapportsPourcentage de rapports nécessitant une consolidation manuelleTrimestriel
Stabilité de la structureNombre de modifications structurelles par semestreSemestriel
PerformanceTemps de mise à jour massives et blocagesMensuel

La conception d'un modèle de données dans le cadre d'une architecture globale est réalisée via le service d'intégration et de données.

Liste de Vérification Avant de Geler le Modèle

  • Pour chaque objet personnalisé, une justification en une phrase existe.
  • Un objet standard alternatif a été vérifié pour chaque entité.
  • Le type de relation a été explicitement choisi avec une justification pour Master-Detail.
  • Le volume prévu pour chaque parent a été estimé (vérification du Skew).
  • Matrice d'accès : propriétaire, lecture, modification, hiérarchie.
  • Il a été vérifié que chaque rapport clé peut être construit dans le modèle.
  • Les champs dupliqués sont mis à jour uniquement automatiquement.
  • Les changements organisationnels attendus sont traités dans la configuration.
  • Un diagramme ERD à jour et documenté existe.
  • Il a été déterminé qui approuvera les futures modifications de structure.

Sources Professionnelles