Flow
Automatisation déclarative avec une structure claire, des noms cohérents et une documentation.
Développement et automatisation
Construction d'automatisations et de développements sur Salesforce avec un choix conscient entre le déclaratif et le code, en fonction de la complexité, des performances et du coût de maintenance — incluant tests, contrôle de version et réduction de la dette technique.
Cartographie des capacités
La carte montre les couches de travail dans ce service, depuis l'infrastructure jusqu'aux capacités que les utilisateurs voient.
Développement et automatisation — Cartographie des capacités
Flow
Automatisation déclarative avec une structure claire, des noms cohérents et une documentation.
Apex
Logique complexe, volumes élevés et tests unitaires réels.
LWC
Interfaces dédiées qui accélèrent le travail quotidien.
Platform Events
Séparation des systèmes via des événements plutôt que des appels directs.
Tests et qualité
Couverture de test significative et non formelle, et revue de code.
Contrôle de version
Sandboxes, déploiement contrôlé et documentation des changements.
Le contexte
La majeure partie de la dette technique sur Salesforce ne provient pas d'un mauvais code, mais d'une prolifération d'automatisations construites séparément sur le même objet, sans qu'une vision globale soit prise en compte.
La règle pratique est simple : ce qui peut être résolu de manière déclarative et claire sera construit ainsi. Ce qui exige une logique complexe, un volume élevé ou un contrôle précis de l'ordre des opérations est justifié par le code, avec des tests.
Chaque automatisation doit avoir un propriétaire et une documentation. Une automatisation dont personne ne sait pourquoi elle a été construite restera silencieusement dans le système pendant des années et cassera des choses.
Domaines d'intervention
Automatisation déclarative avec une structure claire, des noms cohérents et une documentation.
Logique complexe, volumes élevés et tests unitaires réels.
Interfaces dédiées qui accélèrent le travail quotidien.
Séparation des systèmes via des événements plutôt que des appels directs.
Couverture de test significative et non formelle, et revue de code.
Sandboxes, déploiement contrôlé et documentation des changements.
Matrice de décision
| Exigence | Déclarative | Code | Ce qui est décisif |
|---|---|---|---|
| Mise à jour des champs et des conditions | Flow | — | Simplicité et maintenance |
| Logique avec de nombreuses exceptions | Difficile à maintenir | Apex | Nombre de conditions et d'appels |
| Volume élevé d'enregistrements | Peut rencontrer des limitations | Apex personnalisé | Portée du traitement |
| Interface dédiée | Page standard | LWC | Complexité de l'interaction |
| Publication sur plusieurs systèmes | Appels directs | Platform Events | Nombre de consommateurs et tolérance aux pannes |
Mise à jour des champs et des conditions
Logique avec de nombreuses exceptions
Volume élevé d'enregistrements
Interface dédiée
Publication sur plusieurs systèmes
Mode de fonctionnement
Qu'est-ce qui s'exécute sur chaque objet et dans quel ordre.
Déclaratif ou code, avec justification documentée.
Standardisation des noms, modularité et prévention de la duplication.
Scénarios positifs et négatifs, pas seulement couverture.
Sandbox, revue et fenêtre de déploiement définie.
Suppression des automatisations inutiles et réduction de la dette.
28. Questions fréquentes
L'étape suivante
Nous cartographierons ce qui est actuellement en cours, identifierons les doublons et définirons une norme maintenable.