8 Les bonnes pratiques de développement Shiny
8.1 Utiliser Rstudio
Pour les débutants, vous pouvez créer une application R/Shiny en utilisant le template de Rstudio (File -> New File -> Shiny Web App). Vous rentrez le nom de l’application qui sera aussi le nom du dossier contenant votre application, en local.
Rstudio crée en local un dossier contenant un template d’application, i.e. 2 fichiers ui.R et server.R.
Présentation des fichiers :
ui.R
contient la définition de l’interface graphique de votre applicationserver.R
contient les traitements et la réactivité des éléments de votre application
Nous vous conseillons de créer un fichier supplémentaire :
global.R
qui contiendra des définitions globales (par exemple des couleurs, de l’encodage) ainsi que les appels (source) de fichiers contenant des fonctions R appelées dans la partie server de votre application.
8.2 Utilisation des barres de progression
Si certains des calculs faits dans votre application sont longs, il peut être avantageux d’utiliser une barre de progression afin d’indiquer à l’utilisateur où en est le calcul et ce qu’il reste à faire.
Un lien vers la documentation: https://shiny.rstudio.com/articles/progress.html
8.3 Ajout d’une page d’accueil
Une page d’accueil au chargement de l’application peut être intéressante, pour informer les utilisateurs sur l’utilisation de l’application (par exemple, une explication de l’équation ou de la méthode utilisée) et donner des détails sur la qualité des données (par exemple, la date de dernier version des données), ainsi que des messages de licence.
8.4 Expliciter les messages d’erreurs avec validate()
Si une erreur se produit dans l’application, par défaut, Shiny délivre un message rouge et peu explicatif à l’utilisateur. Ce message est donc souvent peu utile car il mentionne des choses que le développeur peut comprendre mais pas l’utilisateur.
Il est recommandé d’utiliser la fonction validate()
afin d’expliciter les messages d’erreur que l’utilisateur rencontrera en manipulant l’application.
Un lien vers la documentation: https://shiny.rstudio.com/articles/validation.html
8.5 Utilisation de {golem}
Une fois rodés dans le développement d’applications “simples” (ui/server), nous vous conseillons vivement d’utiliser le package {golem} pour vos futures applications.
Ce package permet de construire une application shiny comme un package R, ce qui fournit un excellent cadre pour ajouter de la documentation (vignettes/
), des tests (test/
), et surtout gérer les dépendances (DESCRIPTION
, NAMESPACE
).
{golem} prône également l’utilisation de ShinyModules qui s’avèrent indispensables dans le cadre de très grosses applications Shiny.