Le calendrier Salesforce no-code : 36 tâches, zéro ligne de code
FullCalendar est personnalisable si vous avez un développeur. MultiDatePick est personnalisable par l'administrateur qui a besoin du calendrier. Voici 36 tâches de calendrier courantes, côte à côte, pour voir le gagnant d'un coup d'œil.
« Quel est le calendrier LWC le plus personnalisable ? » « Peut-on personnaliser un calendrier Salesforce sans code ? » « Existe-t-il une alternative no-code à FullCalendar ? » Ces recherches posent toutes la même question, et la réponse tient en trois mots : personnalisable par qui ?
FullCalendar est une bibliothèque JavaScript. Chaque option vit dans le code : dans Salesforce, un développeur écrit le Lightning Web Component, l'Apex qui charge et enregistre les données, les tests et le déploiement, et recommence à chaque modification. MultiDatePick est un calendrier Salesforce fini. Chaque option est un paramètre qu'un administrateur choisit dans un assistant de configuration ou dans Lightning App Builder, sur n'importe quel objet standard ou personnalisé. Ni Apex, ni JavaScript, ni déploiement.
Personnalisable par qui ?
Il y a deux sortes de « personnalisable ». Une bibliothèque est personnalisable par ceux qui écrivent du code par-dessus : tout est possible, et tout devient un projet. Un composant configurable est personnalisable par ceux qui l'utilisent : chaque choix est déjà développé, testé et sécurisé, et vous prenez ceux qui vous conviennent.
Dans Salesforce, cette différence décide de qui a la main sur votre calendrier. Avec FullCalendar, c'est un développeur, une suite de tests Apex à 75% de couverture et un déploiement à chaque modification. Avec MultiDatePick, c'est l'administrateur qui sait comment l'entreprise réserve ses salles, ses équipes et ses dates, et une modification prend effet dès qu'il l'enregistre.
36 tâches de calendrier, côte à côte
Chaque ligne est une tâche que l'on confie à un administrateur. La case verte l'emporte : réglée par un paramètre, sans code. « Code » signifie qu'un développeur l'écrit dans le Lightning Web Component et l'Apex de FullCalendar.
Placer le calendrier là où l'on travaille
| Tâche | MultiDatePickSans code | FullCalendar LWC |
|---|---|---|
| Ajouter un calendrier à une page d'enregistrement | Glissez le composant sur la page dans Lightning App Builder et saisissez son Config Name | Code : un Lightning Web Component, FullCalendar en ressource statique, un déploiement |
| Mise en place | Assistant de configuration : il pose des questions sur la page et vos enregistrements, préremplit les champs probables et affiche un aperçu en direct | Code : chaque option est une propriété en JavaScript |
| Le placer sur la page d'accueil ou une page d'application | Le même composant ; Show All Records avec un Record Filter comme OwnerId=ME | Code : un second circuit de données pour les pages sans enregistrement |
| L'utiliser dans un flux d'écran (Screen Flow) | Glissez-le sur un écran de flux ; les dates et heures choisies ressortent en variables de flux | Code : un composant d'écran de flux avec ses propres sorties |
| L'ouvrir au public sur un site Experience Cloud | Le même composant, avec l'ensemble d'autorisations MultiDatePick - Guest pour les utilisateurs invités | Code : accès invité, partage et Apex pour des utilisateurs non connectés |
| Copier la configuration dans une autre org | Exportez la configuration en JSON, importez-la dans l'autre org ; le mappage intelligent des champs fait correspondre les champs manquants | Code : un déploiement, avec les tests Apex pour le valider |
Afficher vos propres enregistrements
| Tâche | MultiDatePickSans code | FullCalendar LWC |
|---|---|---|
| Afficher les enregistrements d'un objet personnalisé | Choisissez l'objet et son champ date | Code : une requête Apex qui transforme les champs en événements |
| Afficher des tâches, des événements ou des opportunités | Tout objet doté d'un champ Date ou Date/Heure, standard ou personnalisé | Code : encore de l'Apex pour chaque objet |
| Afficher les enregistrements associés, comme les tâches des contacts d'un compte | Rollup Field, jusqu'à cinq relations de référence plus loin | Code : des requêtes à travers les relations |
| N'afficher que certains enregistrements | Record Filter, comme OwnerId=ME; Status__c=Confirmed | Code : une logique de filtre en Apex ou en JavaScript |
| Colorer par statut | Status Field et Status Colors, en remplissage, en barres ou les deux, avec des pastilles de filtre | Code : associer chaque valeur à une couleur en JavaScript |
| Ajouter une seconde liste de sélection, comme un type de réunion | Second Picklist Field, avec les valeurs proposées au choix | Code : le sélecteur, l'enregistrement et l'affichage |
| Afficher les détails au survol | Hover Popover Fields, relations de référence comprises, un clic pour ouvrir l'enregistrement | Code : un hook de rendu des événements et une infobulle |
| Respecter le partage et la sécurité au niveau du champ | Chaque requête et chaque sauvegarde s'exécutent avec les droits de l'utilisateur qui consulte la page | Code : aussi sûr que l'Apex que vous écrivez, pas plus |
Choisir des dates et enregistrer les données
| Tâche | MultiDatePickSans code | FullCalendar LWC |
|---|---|---|
| Laisser choisir des dates éparses | Intégré : cliquez sur les jours de votre choix ou faites glisser sur une plage | Code : FullCalendar ne sélectionne qu'une plage continue à la fois |
| Enregistrer une plage en un seul enregistrement | End Date Field : des jours consécutifs deviennent un seul enregistrement avec un début et une fin | Code : le regroupement et l'enregistrement |
| Ajouter une récurrence, comme tous les lundis et mercredis | Show Recurring Pattern Button : jours de semaine, week-ends, jours personnalisés ou le 2e et le 4e vendredi | Code : un formulaire de récurrence et le calcul des dates |
| Choisir des créneaux horaires | Time Interval (Minutes), Earliest Time et Latest Time | Code : un sélecteur de créneaux et son enregistrement |
| Créer un enregistrement par sélection | Intégré, avec Default Record Name et Default Field Values | Code : insertions Apex, gestion des erreurs et tests |
| Limiter le nombre de dates choisies | Max Dates Allowed, avec votre propre Limit Reached Message | Code : compter et bloquer en JavaScript |
| Envoyer les réservations vers Outlook ou Google Agenda | Show Add to Calendar After Saving | Code : générer vous-même le fichier de calendrier |
Règles de réservation
| Tâche | MultiDatePickSans code | FullCalendar LWC |
|---|---|---|
| Réserver des salles, du matériel ou des personnes avec une capacité | Composant Booking : Resource Object, Capacity Field et badges de capacité en direct | Code : les vues ressources exigent une licence Premium, la capacité est à développer |
| Empêcher les doubles réservations | Conflict Behavior : bloquer, ignorer ou autoriser | Code : règles de chevauchement en JavaScript et contrôle côté serveur |
| Exiger un préavis et limiter l'horizon de réservation | Minimum Notice (Hours) et Book Up To (Days Ahead) | Code : des limites de dates à calculer et à faire respecter |
| Prévoir un battement entre les réservations | Buffer Between Bookings (Minutes) | Code : le calcul des battements |
| Appliquer les heures ouvrables propres à chaque ressource | Business Hours Start Field et End Field sur l'enregistrement de la ressource | Code : des horaires par ressource à charger et à appliquer |
| Bloquer jours fériés, fermetures et absences | Blocked Dates depuis n'importe quel objet, en journées entières ou partielles, avec le motif affiché | Code : des événements d'arrière-plan à interroger et à dessiner |
Vues et apparence
| Tâche | MultiDatePickSans code | FullCalendar LWC |
|---|---|---|
| Proposer plus qu'une grille mensuelle | Available Views : calendrier, chronologie, semaine, heatmap d'occupation et agenda, au choix pour chaque page | Code : les vues chronologie exigent une licence Premium ; pas de heatmap d'occupation |
| Regrouper une chronologie par champ, comme une équipe ou une région | Timeline Group By Field | Code, en plus de la chronologie Premium |
| Modifier plusieurs enregistrements à la fois | Enable Edit Mode : déplacer, changer le statut ou supprimer plusieurs enregistrements ensemble | Code : gestionnaires de glisser-déposer et mises à jour Apex |
| Renommer les boutons et les titres | Button Label, Calendar Title et Save Button Label | Code : options de barre d'outils en JavaScript |
| S'adapter à la page | Calendar Size de minuscule à pleine largeur, Two-Month View, Week Starts on Monday | Code : options et CSS |
Utilisateurs, langues et maintenance
| Tâche | MultiDatePickSans code | FullCalendar LWC |
|---|---|---|
| L'afficher dans la langue de chaque utilisateur | Neuf langues intégrées : anglais, allemand, espagnol, français, italien, portugais, japonais, chinois et hindi | Code : FullCalendar traduit ses propres boutons ; vos libellés et messages, c'est à vous de les traduire |
| Afficher les heures dans le fuseau horaire de chaque utilisateur | Automatique, d'après les paramètres Salesforce de chaque utilisateur | Code : options de fuseau horaire et conversions |
| Respecter les règles d'accessibilité | Clavier et lecteurs d'écran pris en charge, avec un VPAT publié pour WCAG 2.1 AA | Code : vos propres tests et votre propre documentation |
| Suivre les versions de Salesforce | Les mises à jour arrivent avec le package | Code : à maintenir vous-même, version après version |
À quoi ressemble la personnalisation no-code
Chacune de ces 36 tâches est un choix qu'un administrateur fait à l'un de ces endroits :
L'assistant de configuration
Un onglet Lightning qui pose des questions sur votre page et vos enregistrements, préremplit les champs probables et affiche le vrai calendrier avant que vous enregistriez.
Lightning App Builder
Chaque paramètre est aussi une propriété du composant : vous pouvez ajuster une page sans toucher aux autres.
La Config Library
41 configurations prêtes à l'emploi, des salles de réunion aux absences, à importer et à ajuster.
Export et import
Une configuration est un JSON que vous pouvez déplacer vers une sandbox ou une autre org, les champs manquants étant mis en correspondance pour vous.
Flow Builder
Déposez le calendrier sur un écran de flux et utilisez les dates choisies dans les étapes suivantes.
Experience Builder
Placez le même calendrier sur un site public, avec les mêmes règles pour les invités.
Questions fréquentes
Existe-t-il un calendrier LWC no-code pour Salesforce ?
Oui. MultiDatePick est un calendrier Lightning Web Component que vous configurez en quelques clics : dans l'assistant de configuration ou dans Lightning App Builder, sur n'importe quel objet standard ou personnalisé. Il lit et écrit lui-même vos enregistrements : aucun Apex ni JavaScript à écrire.
FullCalendar est-il plus personnalisable que MultiDatePick ?
Seulement pour les développeurs. FullCalendar est une bibliothèque : tout est possible si quelqu'un écrit et maintient le code. Pour un administrateur, MultiDatePick est le calendrier le plus personnalisable : 36 tâches courantes, des règles de réservation aux neuf langues, se règlent chacune par un paramètre.
Un administrateur Salesforce peut-il configurer MultiDatePick sans développeur ?
Oui. L'assistant de configuration pose des questions sur la page et vos enregistrements, préremplit les champs les plus probables et affiche un aperçu en direct du vrai calendrier. Il ne reste qu'à glisser le composant sur la page et à saisir son Config Name.
Faut-il de l'Apex pour enregistrer des données depuis un calendrier ?
Pas avec MultiDatePick. À l'enregistrement, il crée un enregistrement par date, par plage, par bloc horaire ou par ressource, ou transmet les dates à un flux d'écran (Screen Flow). Chaque sauvegarde s'exécute avec les droits de l'utilisateur qui consulte la page, partage et sécurité au niveau du champ compris.
Puis-je modifier le calendrier plus tard sans déploiement ?
Oui. Ouvrez la configuration dans l'assistant de configuration, changez un paramètre et enregistrez ; le calendrier l'applique au prochain chargement. Les configurations sont des métadonnées personnalisées (Custom Metadata) : vous pouvez toujours les déplacer avec des ensembles de modifications ou Salesforce CLI si vous le souhaitez.
Un calendrier no-code fonctionne-t-il dans les flux d'écran et sur les sites Experience Cloud ?
Oui. Le même composant se place sur un écran de flux, où les dates choisies deviennent des variables de flux, et sur un site Experience Cloud public, où les invités réservent selon les mêmes règles.
Le calendrier personnalisable, sans le code.
Cliquez dans la démo en direct, ou partez d'une configuration prête à l'emploi dans la Config Library.
- $20/utilisateur/mois, toutes les fonctionnalités
- Essai gratuit de 30 jours, sans carte
- 100 % natif Salesforce
- Sans Apex
- Bientôt disponible sur Salesforce AppExchange