Publier une application sur Salesforce AppExchange n'est pas qu'une question de code : c'est un parcours administratif, technique et commercial qui s'étale généralement sur plusieurs mois. Ce guide résume les étapes réelles, dans l'ordre où vous les rencontrerez, pour éviter les allers-retours coûteux avec Salesforce.
Avant même de penser au code, vous devez créer un compte sur le Partner Community (partners.salesforce.com) et rejoindre le programme ISV Partner Program. C'est ce statut qui vous donne accès aux environnements de développement gratuits, à la documentation Security Review et aux outils de packaging.
Toute application distribuée sur AppExchange doit être empaquetée dans un Managed Package associé à un Namespace unique et réservé. Le namespace préfixe tous vos objets, champs et classes Apex (ex. monapp__Facture__c) pour éviter les collisions chez le client final.
Quelques règles à respecter dès le départ :
C'est l'étape la plus redoutée par les éditeurs. Salesforce audite votre package (analyse statique via Checkmarx, tests manuels, vérification des flux de données) avant d'autoriser sa mise en ligne. Comptez plusieurs semaines, parfois plusieurs cycles si des vulnérabilités sont trouvées.
Lancez le scan de sécurité automatisé disponible dans le Partner Portal avant votre soumission officielle : il détecte une bonne partie des problèmes courants (injection SOQL, CRUD/FLS non vérifiés, secrets en dur) et vous fait gagner des semaines.
Un exemple typique de correctif attendu par les reviewers :
// A éviter : accès direct sans vérification des droits
List<Facture__c> factures = [SELECT Id, Montant__c FROM Facture__c];
// Attendu : vérification CRUD/FLS explicite
if (Schema.sObjectType.Facture__c.isAccessible()) {
List<Facture__c> factures = [SELECT Id, Montant__c FROM Facture__c WITH SECURITY_ENFORCED];
}
Une fois le package validé, vous créez le listing dans le Partner Portal : nom commercial, description, captures d'écran, catégorie, vidéo de démonstration et modèle tarifaire. C'est aussi là que vous configurez le Trial Org (org d'essai provisionné automatiquement pour les prospects) si vous en proposez un.
Après validation finale par l'équipe AppExchange, votre fiche passe en ligne. Le travail ne s'arrête pas là : vous devez maintenir un canal de support, surveiller les avis clients, et planifier vos futures versions via le processus de Push Upgrade pour déployer des correctifs sans action du client.
En résumé, la publication sur AppExchange combine trois dimensions indissociables : la rigueur technique du packaging managé, la discipline de sécurité imposée par la Security Review, et le soin apporté à la présentation commerciale. Sous-estimer l'une de ces dimensions retarde systématiquement la mise en ligne.
Notre équipe DevToSpace développe et publie des applications AppExchange de bout en bout, de l'idée à la Security Review.
Parler à un expert