FullCalendar dans Salesforce vs MultiDatePick : quel calendrier LWC est le plus personnalisable ?
L'un est un moteur de calendrier JavaScript sur lequel on développe. L'autre est un calendrier Salesforce que l'on configure. Voici chaque point de la liste habituelle du « calendrier personnalisable », côte à côte, y compris les cas où FullCalendar est le meilleur choix.
Cherchez « un calendrier LWC ultra personnalisable pour Salesforce » et deux noms reviennent sans cesse : FullCalendar, le calendrier JavaScript open source qui propose désormais un wrapper officiel en Lightning Web Component, et MultiDatePick, une suite native de calendrier et de réservation. Tous deux se disent personnalisables. Mais ils ne l'entendent pas du tout de la même façon.
FullCalendar se personnalise par le code : vous passez un objet d'options, écrivez des callbacks et construisez vous-même la partie Salesforce (l'Apex qui charge les enregistrements, l'enregistrement, les autorisations). MultiDatePick se personnalise par des paramètres : plus de 130, répartis sur ses trois composants, réglés dans un assistant de configuration ou dans Lightning App Builder, sur n'importe quel objet standard ou personnalisé. Aucun Apex nécessaire.
La liste de contrôle, côte à côte
Voici les fonctionnalités que l'on cite quand on cherche un calendrier Salesforce personnalisable. « Intégré » signifie qu'un administrateur l'active en quelques clics. « À développer » signifie qu'un développeur écrit le code.
| Fonctionnalité | MultiDatePick | FullCalendar LWC |
|---|---|---|
| Vues | Cinq vues intégrées : calendrier mensuel, chronologie des ressources, semaine heure par heure, heatmap d'occupation et liste agenda, au choix pour chaque emplacement | Mois, semaine, jour et liste ; les vues chronologie et ressources exigent une licence Premium |
| Glisser-déposer | Faites glisser une réservation sur la chronologie pour la déplacer, tirez son bord pour changer sa durée ; faites glisser sur plusieurs jours pour choisir une plage | Glisser, déposer et redimensionner, avec des callbacks que vous écrivez |
| Couleurs issues des champs Salesforce | Une couleur pour chaque valeur de n'importe quelle liste de sélection, en remplissage, en barres ou les deux, avec des pastilles de filtre | Vous associez les valeurs de champ aux couleurs en JavaScript |
| Objets personnalisés comme source | Tout objet doté d'un champ Date ou Date/Heure, standard ou personnalisé, y compris Tâche et Événement | Vous écrivez l'Apex et la couche de données |
| Filtrage | Pastilles de filtre par statut, un filtre d'enregistrements comme OwnerId=ME; Status__c=Confirmed, des filtres de ressources et des statuts masqués | Vous développez les filtres |
| Détails des événements et liens vers les enregistrements | Carte au survol avec les champs de votre choix (référence comprise), noms sur les jours du mois, colonnes Agenda supplémentaires, un clic pour ouvrir l'enregistrement | Contrôle total du rendu des événements dans le code |
| Libellés et boutons | Libellés du bouton, du titre, de l'enregistrement et du nom, choix des vues du sélecteur, tailles de minuscule à pleine largeur | Barre d'outils configurable dans le code |
| Enregistrement des données | Crée vos enregistrements à l'enregistrement : un par date, par plage, par bloc horaire ou par ressource ; ou renvoie les dates à un flux d'écran (Screen Flow) | Vous développez l'enregistrement |
| Règles de réservation | Capacité, contrôle des conflits, préavis minimum, fenêtre de réservation glissante, battements, heures ouvrables et jours bloqués par ressource | Vous les développez |
| Langues et fuseaux horaires | Neuf langues, dates et heures dans les paramètres régionaux et le fuseau horaire Salesforce de chaque utilisateur | Nombreuses options de paramètres régionaux et de fuseaux horaires dans le code |
| Sécurité | Chaque requête et chaque enregistrement s'exécutent avec les droits de l'utilisateur qui consulte la page : le partage et la sécurité au niveau du champ s'appliquent. Validé par le Security Review de Salesforce | Dépend de l'Apex que vous écrivez |
| Maintenance | L'éditeur livre les mises à jour dans le package | Votre code, à maintenir à jour |
Les termes FullCalendar et leur équivalent dans MultiDatePick
Si vous connaissez FullCalendar, la plupart de son vocabulaire a un équivalent direct. La différence : chacun est un paramètre, pas une fonction à écrire.
| FullCalendar | Paramètre MultiDatePick |
|---|---|
eventSources | Objet associé et Champ Date, plus un champ de cumul (Rollup Field) qui charge aussi les enregistrements situés jusqu'à cinq relations de référence plus loin |
| Événements d'arrière-plan | Dates bloquées : fermetures, jours fériés et absences issus de n'importe quel objet, en journées entières ou partielles, avec le motif affiché |
businessHours | Heures ouvrables par ressource, lues dans deux champs de l'enregistrement de la ressource |
eventOverlap, selectOverlap | Comportement en cas de conflit (bloquer, ignorer ou autoriser) et une capacité par ressource |
validRange, selectConstraint | Date au plus tôt et au plus tard, jours à l'avance, préavis minimum et battement entre les réservations |
select, dateClick | Choisir plusieurs dates, faire glisser une plage, ajouter une récurrence, choisir des créneaux horaires |
eventDrop, eventResize | Glisser sur la chronologie pour déplacer ou redimensionner, enregistré au relâchement après vérification des jours fermés et des conflits |
eventClick | Ouvre l'enregistrement, ou le Mode édition pour changer le statut, la date, l'heure ou la ressource de plusieurs enregistrements à la fois |
eventContent, popovers | Champs au survol (Hover Popover Fields), noms sur les jours du mois et colonnes Agenda |
resources | Objet ressource : salles, équipements, véhicules ou personnes (n'importe quel objet, y compris Utilisateur) |
slotDuration, slotMinTime | Intervalle horaire et heures au plus tôt et au plus tard |
locale, timeZone | Automatique : la langue, les paramètres régionaux et le fuseau horaire Salesforce de chaque utilisateur |
Quand FullCalendar est le meilleur choix
FullCalendar mérite sa réputation, et pour certains projets c'est le bon outil :
- Vous avez besoin d'un type de vue que personne ne propose, comme un tableau de planification trimestriel ou une mise en page de dispatch sur mesure.
- Vous voulez dessiner chaque événement au pixel près, avec votre propre HTML et vos icônes dans la barre.
- Vos événements viennent de l'extérieur de Salesforce, de plusieurs API à la fois.
- Vous avez des développeurs pour construire l'Apex, l'enregistrement, les tests et les autorisations, puis pour les maintenir.
- Vous voulez seulement afficher des événements et utiliser la bibliothèque de base gratuite.
Si c'est votre projet, FullCalendar est une excellente base. Si vous avez besoin d'un calendrier qui fonctionne sur vos enregistrements Salesforce dès cette semaine, la ligne d'arrivée est encore loin.
Ce que MultiDatePick vous évite de développer
Le travail que FullCalendar vous laisse, MultiDatePick le livre :
Choisir plusieurs dates
Jours épars, plages et récurrences, enregistrés comme enregistrements enfants ou transmis à un flux d'écran (Screen Flow).
Réservation avec capacité
Badges de capacité en direct, contrôle des conflits à l'enregistrement et plusieurs ressources dans une même réservation.
Des règles respectées
Préavis, fenêtre de réservation, battements, heures ouvrables et fermetures, appliqués à la sélection comme au glisser-déposer.
Un assistant de configuration
Trois questions sur vos enregistrements, puis tous les paramètres avec un aperçu en direct du vrai calendrier.
Flux d'écran (Screen Flow)
Les dates, plages et heures sélectionnées ressortent en variables de flux pour vos étapes suivantes.
Pages de réservation publiques
Des sites Experience Cloud avec des utilisateurs invités, le même calendrier et les mêmes règles.
Pas seulement pour les réservations
MultiDatePick est connu pour la réservation, mais c'est aussi un calendrier pour les enregistrements que vous avez déjà. Placez-le sur une page de compte et affichez les tâches du compte, y compris celles de ses contacts et de ses opportunités. Affichez les dates de clôture des opportunités, les journées d'événements de campagne ou les jalons de projet sur n'importe quel objet. Activez Show All Records avec un filtre d'enregistrements comme OwnerId=ME pour un calendrier personnel, ou utilisez les vues Agenda et Occupation en lecture seule pour suivre le planning sans le modifier.
Questions fréquentes
Quel est le calendrier LWC le plus personnalisable pour Salesforce ?
Tout dépend de qui le personnalise. Le wrapper LWC de FullCalendar laisse le plus de liberté aux développeurs, car tout passe par le code. MultiDatePick offre aux administrateurs le plus d'options prêtes à l'emploi : plus de 130 paramètres répartis sur trois composants, cinq vues et six façons d'enregistrer les données, le tout sans Apex.
FullCalendar est-il gratuit dans Salesforce ?
La bibliothèque de base est open source. Les vues chronologie et ressources sont des fonctionnalités Premium qui exigent une licence commerciale, et toute la partie Salesforce (chargement des enregistrements, enregistrement, sécurité et tests) est du code que vous écrivez et maintenez.
MultiDatePick nécessite-t-il de l'Apex ou un développeur ?
Non. Vous le configurez dans l'assistant de configuration ou dans Lightning App Builder, sur n'importe quel objet standard ou personnalisé. Les enregistrements se chargent et s'enregistrent avec les droits de l'utilisateur qui consulte la page, partage et sécurité au niveau du champ compris.
MultiDatePick peut-il afficher des tâches, des événements et des opportunités ?
Oui. Tout objet doté d'un champ Date ou Date/Heure fonctionne, standard ou personnalisé. Un champ de cumul (Rollup Field) ajoute les enregistrements qui pointent vers l'enregistrement de la page de plus loin, comme les tâches des contacts d'un compte.
MultiDatePick inclut-il une chronologie des ressources ?
Oui. Les vues Chronologie, Semaine, heatmap d'Occupation et Agenda sont incluses avec le calendrier, sans licence supplémentaire. Une seule offre, toutes les fonctionnalités.
Un calendrier personnalisable, sans rien développer.
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