
Andrew Hanna

Andrew Hanna

Reponse courte : placez les permission sets sous controle de source comme veritable source de verite, decomposez-les pour que deux personnes puissent les modifier sans conflit de fusion, gardez les profils minces et traitez chaque deploiement de profil comme une superposition et non un remplacement complet. Ensuite, cessez volontairement de suivre ce qui depend de l'environnement, car l'essentiel du bruit des profils dans un depot n'est lu par personne.
Deux comportements documentes rendent les profils differents de tout autre fichier du depot.
Combinez les deux et le meme profil produit un diff different selon qui l'a recupere et ce qu'il y avait d'autre dans son paquet. Voila pourquoi les diffs de profils sont les fichiers les plus discutes et les moins fiables de la plupart des depots Salesforce.
Salesforce avait annonce le retrait des permissions dans les profils a partir de Spring '26. Le 6 juin 2026, cette application a ete annulee, au motif des retours clients et de fonctionnalites encore manquantes, Salesforce continuant de recommander un modele de securite mene par les permission sets (aide Salesforce).
Lecture pratique : l'echeance a disparu, la direction non. Les profils restent pris en charge, donc aucune migration precipitee, mais si vous devez choisir ou investir votre discipline de gestion de sources, investissez-la dans les permission sets. Ils sont additifs, ils se decomposent et ils fusionnent.
Un permission set recupere est un gros fichier XML listant chaque permission d'objet, de champ et d'utilisateur. Deux administrateurs travaillant sur deux champs sans rapport entrent en collision dans le meme fichier. Salesforce livre un remede dans la CLI : des options de comportement de source qui decoupent le fichier en un fichier par groupe de permissions (guide developpeur Salesforce DX).
sf project convert source-behavior --behavior decomposePermissionSetBeta2
--dry-run.
sfdx-project.json est mis a jour pour que le
comportement s'applique a tous, et la source existante est convertie sur place.
Le meme mecanisme couvre les etiquettes personnalisees, les workflows, les regles de partage et les enregistrements de services externes. Notez la lacune : les profils ne figurent pas dans la liste des types decomposables. Objets et traductions d'objets se decomposent par defaut, le reste est en beta optionnelle, et les profils restent un seul fichier.
La moitie de la douleur est auto-infligee. Ceci a sa place hors du depot, ou derriere une exclusion assumee.
Ecrivez ces exclusions comme une regle dans le depot, pas comme un savoir tribal dans l'historique CLI d'une seule personne. Une regle logee dans l'alias shell de quelqu'un casse des la premiere recuperation d'un nouvel arrivant.
Ne faites jamais les etapes trois et quatre dans la meme release. Les changements additifs et soustractifs de permissions n'ont pas du tout le meme scenario de retour arriere, et les melanger, c'est ainsi qu'on se retrouve bloque un lundi matin. D'autres guides d'ingenierie de release sont dans notre bibliotheque SF Guides.
Profils ou permission sets comme source de verite ?
Les permission sets. Ils sont additifs, se decomposent en fichiers fusionnables, et Salesforce recommande un modele mene par les permission sets. Gardez les profils pour les valeurs de base : licence, types d'enregistrement par defaut, mises en page.
Les permissions dans les profils sont-elles retirees ?
Non. Le retrait prevu pour Spring '26 a ete annule le 6 juin 2026. La migration suit desormais votre calendrier, pas une echeance.
Pourquoi mon diff de profil change-t-il alors que je n'y ai pas touche ?
Parce qu'une recuperation de profil ne renvoie que les parametres des metadonnees presentes dans la meme requete. Changez le contenu du paquet et le fichier change. Corrigez le manifeste de recuperation, pas le fichier.
Les profils peuvent-ils etre decomposes comme les permission sets ?
Pas aujourd'hui. Les options de comportement de source couvrent permission sets, etiquettes personnalisees, workflows, regles de partage et services externes. Les profils restent un fichier, argument de plus pour les garder minces.
Sans engagement.