Salesforce en tant que plateforme de développement
Tristan Coignion
Génie Logiciel FA
2020-2022





Client

Gestionnaire de patrimoine

Analystes

Banque

Dossier

Le prêt est réalisé !
Projets Réalisés
- Shaker Reader
- Envoi de Dossier
- Fiaussi



Shaker Reader


Des rapports et graphiques sont proposés à l'analyste lors de l'analyse du dossier
Envoi de Dossier



Resaisie manuelle

Envoi de Dossier par API

Analyste
Banque
Données du dossier
Fiaussi (Shaker Data Light)



Site partenaire

Gestionnaire de patrimoine

Analystes

Client souhaitant
acheter une maison

Formulaire
SDL intégré au site
Salesforce
Customer Relationship Manager

Comment la plateforme Salesforce ainsi que les frameworks qu’elle offre sont des accélérateurs de développement puissants, et quelles sont leurs limites ?
Salesforce et ses outils

- Back-end
- Front-end
- No-code
- Environnement
Plan de la section




Back-end
Apex

Exécuté dans le cloud
Apex
BDD

≈

Back-end
Apex

Exécuté dans le cloud
Difficile à déboguer
Langage pauvre
Restrictions arbitraires
Propriétaire
Apex
BDD


≈


Base de données
Configuration via interface graphique
Infrastructure et logiciels gérés par Salesforce
Passage à l'échelle facile



Base de données
Configuration via interface graphique
Infrastructure et logiciels gérés par Salesforce
Passage à l'échelle facile



Plusieurs moyens de maintenir la cohérence
Interface graphique
Trigger
Apex
Formule de validation
Base de données
Configuration via interface graphique
Infrastructure et logiciels gérés par Salesforce
Passage à l'échelle facile



Governor Limits
Peu adaptée à un usage "technique"
Plusieurs moyens de maintenir la cohérence
Interface graphique
Trigger
Apex
Formule de validation
BDD - Vues

Base de données

Affichage
des données
API
Utilisateurs et Droits


Création
Suppression impossible




Protection des données


Authentification
Interface de configuration


Permet d'exécuter des applications sur des Dynos (conteneurs Linux)

Très peu de mise en place et configuration nécessaire


Permet d'exécuter des applications sur des Dynos (conteneurs Linux)

Très peu de mise en place et configuration nécessaire

Add-ons
Heroku Connect
PostgreSQL
Logging
Messaging
...


Permet d'exécuter des applications sur des Dynos (conteneurs Linux)

Très peu de mise en place et configuration nécessaire

Add-ons
Heroku Connect
PostgreSQL
Logging
Messaging
...

Peu adapté à certains projets


Cher lorsqu'on a besoin de beaucoup de ressources
Front-end
Visualforce



Ressources chargées dans le navigateur
- HTML Modifié
- CSS + JS
- Apex
Front-end
Visualforce



Ressources chargées dans le navigateur

Controlleur Apex
dans le cloud
- HTML Modifié
- CSS + JS
- Apex



Lightning Web Components
- HTML Templaté
- CSS
- JS (Controlleur de la page)
- Apex (Optionnel pour aider le JS)

HTML / CSS / Controlleur JS

Apex (optionnel)


Lightning Web Components
- HTML Templaté
- CSS
- JS (Controlleur de la page)
- Apex (Optionnel pour aider le JS)
(non modifiables ou extensibles)

Modulables
Intégrables à site externe

Librairie de composants
standards


HTML / CSS / Controlleur JS

Apex (optionnel)
No-code
Flux (Flow)

No-code
Flux (Flow)
- Déclencheur
- Tâche récurrente
- Écran



No-code
Flux (Flow)
- Déclencheur
- Tâche récurrente
- Écran



Apex et LWC

Rapide à créer

Supporte mal la charge

Vite complexe

Environnement de développement

Console du développeur
Directement sur le site de notre organisation Salesforce

Peu ergonomique

Pas plus avancé qu'un éditeur de texte basique

Salesforce DX
(Salesforce CLI)

Packaging et déploiement d'application

Récupération des méta-données en local


Décomposition en petits projets (microservices)
Open source et extensible

Salesforce DX
(Salesforce CLI)

Packaging et déploiement d'application

Récupération des méta-données en local

MAIS

Décomposition en petits projets (microservices)
Open source et extensible

Packaging dans le cloud. Long et frustrant

Automatisations à faire soi même
Visual Studio Code
Intégré avec SFDX
Coloration syntaxique
IDE officiel pour

Débogage facilité

Pas de détection d'erreurs hors-ligne
Refactoring inexistant
Très peu d'outils d'analyse


Formating avec
Bien plus pratique que la console du développeur

Illuminated Cloud 2
(Non officiel)
Tous les points positifs de VSCode


Analyse du code


Refactoring

Autocomplétion
Détection d'erreurs
...
Extension pour IntelliJ
Synthèse
-
Quels avantages et désavantages offrent les outils de Salesforce ?
-
Comment Salesforce se compare-t’il aux outils existants ?
-
Quelle est la dimension minimale d'un projet pour qu’il soit intéressant d’utiliser Salesforce ?
- Quels types de projet sont les plus adaptés à Salesforce, et lesquels le sont le moins ?




Quels avantages et désavantages offrent les outils de Salesforce ?


Infrastructure
Résilience
Maintenance



Quels avantages et désavantages offrent les outils de Salesforce ?






Infrastructure
Résilience
Maintenance



Négligeables dans l'ensemble
Comment Salesforce se compare-t'il aux outils existants ?
Classé #1 pour les applications CRM*
Ensemble cohérent d'outils et d'applications


*based on IDC 2021 Revenue Market Share Worldwide
Apex <=> Java
BDD <=> PostgreSQL
LWC <=> React
Heroku <=> AWS Elastic
SFDX <=> Maven
Quelle est la dimension minimale d'un projet pour qu’il soit intéressant d’utiliser Salesforce ?
Petits projets
Coût de mise en place
Coût d'apprentissage




"Overkill"
Quelle dimension minimale du projet pour qu’il devienne intéressant d’utiliser Salesforce ?
Petits projets
Coût de mise en place
Coût d'apprentissage
Moyens ou grands projets
(ou petits projets, si il y a déjà une organisation en place)
Pas de taille maximale
Architecture qui supporte le passage à l'échelle







"Overkill"

Coûts compensés
Quels types de projet sont les plus adaptés à Salesforce, et lesquels le sont le moins ?










Conclusion

Time to Market court

Toute la stack déjà présente et intégrée

Adapté à la plupart des applications web

Permet de se concentrer sur l'ajout de valeur

Crédits des icônes
Merci de votre écoute !
Soutenance Mémoire Alternance 2022
By Tristan Coignion
Soutenance Mémoire Alternance 2022
- 44