Lise Vaudor
janvier 2021
Pour permettre à l’utilisateur de rentrer des valeurs de son choix pour utiliser l’appli, on va utiliser des widgets (window gadgets) qui sont des composants de l’interface graphique.
Le widget doit être choisi en fonction de :
Vous pouvez avoir un aperçu de l’ensemble des widgets disponibles pour Shiny via la Shiny Widgets Gallery.
Pour choisir une ou plusieurs valeurs parmi plusieurs valeurs prédéfinies, plusieurs widgets sont disponibles:
Attention, bien qu’ils soient construits pour entrer des valeurs numériques, ils fournissent une valeur de type chaîne de caractère au serveur (ie “33” et non 33).
Parmi les autres widgets les plus utiles, on trouve:
Les triggers permettent à l’utilisateur de lancer certains processus. Ils sont particulièrement utiles pour lancer des processus un peu longs. J’y reviendrai un peu plus tard, quand j’aborderai le sujet de la réactivité
Dans les exemples précédents, on a vu différents exemples d’outputs possibles. Notamment, des outputs de type
Il est également possible de produire des outputs de type
Remarquez comme une fonction renderXxx() côté Server correspond à une fonction xxxOutput() côté UI.
Attention à ne pas vous tromper car si vous faites quelque chose du genre output$pouetpouet=renderTable({...})
côté Server et plotOutput("pouetpouet")
côté UI vous obtiendrez vraisemblablement un affichage vide…
Attention à ne pas vous tromper car si vous faites quelque chose du genre
output$pouetpouet=renderTable({...})
côté Server etplotOutput("pouetpouet")
côté UIvous obtiendrez vraisemblablement un affichage vide…
La dernière commande dans renderXXX({}) doit également correspondre au type de production souhaité (un texte pour renderText, un plot pour renderPlot, etc.)
Les outputs présentés dans ce document correspondent aux types d’objets “de base”.
Les fonctions renderXXX()
et XXXOutput()
proviennent du package shiny lui-même.
Pour certains types d’outputs un peu particuliers, comme:
il est possible que les fonctions renderXXX()
et XXXOutput()
proviennent d’autres packages…
Ainsi le package tmap fournit:
renderTmap()
tmapOutput()
et le package leaflet fournit:
renderLeaflet()
leafletOutput()