Profils, rôles & permission sets
En Salesforce, les profils et les ensembles d'autorisations (permission sets) définissent ce
qu'un utilisateur peut faire. Les rôles, quant à eux, définissent ce qu'ils peuvent voir.
Les profils et les permission sets contrôlent tous deux les autorisations CRED (Créer, Lire,
Modifier, Supprimer) sur les objets, les champs, les paramètres utilisateur, les paramètres
d'onglets, les paramètres d'application, l'accès aux classes Apex, l'accès aux pages
Visualforce, les mises en page, les types d'enregistrements, les heures de connexion et les
plages d'adresses IP. Chaque utilisateur doit être assigné à un profil lors de sa création sur la
plateforme, et il ne peut y avoir qu'un seul profil par utilisateur. Essentiellement, le profil d'un
utilisateur est l'autorisation de base d'accès à l'Organisation.
Les permission sets sont, comme leur nom l'indique, un ensemble d'autorisations CRED
supplémentaires qui peuvent être appliquées à différents profils. Ils sont généralement basés
sur des tâches et liés à différents objets et packages gérés. Par exemple, les utilisateurs des
ventes peuvent se voir attribuer un ensemble d'autorisations leur donnant accès à une
application CPQ pour générer des devis.
Enfin, et non des moindres, il y a les rôles Salesforce. Les rôles et les paramètres de partage
contrôlent ce qu'un utilisateur peut voir, en régissant l'accès aux enregistrements et aux
dossiers. Contrairement aux profils, les rôles sont hiérarchiques en fonction du niveau d'accès
aux données requis. Par exemple, un PDG ou un chef de département aura probablement
besoin de voir plus qu'un employé de niveau associé, pour des raisons évidentes.
Différence Profil | Permission Set
Nombre par utilisateur : Un utilisateur peut avoir un seul profil mais plusieurs
ensembles d'autorisations.
Objectif : Les profils définissent les autorisations de base obligatoires pour un
utilisateur, tandis que les ensembles d'autorisations ajoutent des autorisations
supplémentaires et spécifiques.
Flexibilité : Les ensembles d'autorisations offrent une plus grande flexibilité pour
gérer les permissions car ils peuvent être attribués ou retirés sans modifier le profil de
base de l'utilisateur.
Différence Profil | Rôle
Objectif principal :
o Profil : Définir ce qu'un utilisateur peut faire (permissions d'action).
o Rôle : Définir ce qu'un utilisateur peut voir (accès aux données).
Nombre par utilisateur :
o Profil : Un seul profil par utilisateur.
o Rôle : Un seul rôle par utilisateur, mais un utilisateur peut voir les données en
fonction de la hiérarchie des rôles.
Utilisation :
o Profil : Gérer les autorisations de base et les permissions d'action des
utilisateurs sur les objets, les champs, les applications, etc.
o Rôle : Gérer la visibilité et le partage des enregistrements et des données entre
les utilisateurs en fonction de la hiérarchie organisationnelle.
Best practices pour Apex
Optimiser le code pour le traitement en masse (Bulkify) (gérer correctement plus d'un
enregistrement à la fois).
Éviter les requêtes SOQL ou les instructions DML à l'intérieur des boucles FOR.
Eviter les boucles imbriquées (boucle à l’intérieur de boucle).
Utiliser un seul trigger par type SObject.
Éviter la logique métier dans les déclencheurs (utiliser les classes Handler).
Best practices pour les tests
Couvrir autant de lignes de code que possible. Avant de déployer (les tests unitaires
doivent avoir une couverture de code >75% du code Apex, et tout trigger doit avoir de
la couverture de code).
Traiter toujours toutes les exceptions qui sont capturées, au lieu de les attraper
seulement.
Tester tous les scénarios.
Best practices pour les LWCs
Adopter une Approche Modulaire (avoir des composants réutilisables).
Tester les composants.
Structurer le code de manière claire et efficace.
Governor limits
[Link]
salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_apexgov.htm