Vous êtes sur la page 1sur 2

Les fonctions render*

1. Structure Chaque application est un fonction prend cre

Shiny Aide-mmoire
rpertoire contenant un fichier server.R et un
fichier ui.R (et ventuellement des fichiers
facultatifs)
renderDataTable
tout objet quivalent un
tableau
dataTables.js table

Plus dinfos sur shiny.rstudio.com renderImage liste dattributs dimage image HTML

Shiny 0.10.0 Updated: 6/14 Le nom du rpertoire renderPlot plot plot


est le mme que celui
Nom-application de lapplication renderPrint tout output imprim texte
.r server.R tout objet quivalent un
renderTable table
.r ui.R (optionel) utilis dans
tableau

le mode showcase renderText chane de caractres texte

renderUI objet Shiny tag ou HTML lment UI(HTML)


(optionel) donnes, Les valeurs dinput ractives
2. server.R est un ensemble dinstructions
scripts, etc. doivent tre utilises dans :
permettant de construire les lments de render* - cre une composante UI
lapplication Shiny. Pour crire le server.R: (optionel) chemins des fichiers partager
reactive - cre une expression ractive
avec les navigateurs web(images, CSS,
.js, etc.) doivent tre nomms "www" observe - cre un reactive observer
isolate - cre une copie non ractive dun objet ractif
A Ecrire server.R avec le minimum de code
ncessaire, shinyServer(function(input, output)
{}) server.R 3. Excution Placer le code o il sera
B Dfinir les composantes R de lapplication entre excut le minimum ncessaire de fois
les accolades qui suivent function(input, output)
A shinyServer(function(input, output) { B Excut une seule fois- Le code plac lextrieur du
C Enregistrer chaque composante R dans lUI shinyServer sexcute une seule fois, lors du 1er
comme output$<nom composante> lancement de lapp. Utiliser ce code pour mettre en place
les lments dont le serveur na besoin quune seule fois.
D Crer chaque composante output avec une
fonction render* Excut une seule fois par utilisateur- Le code plac
dans le shinyServer va tre excut chaque fois quun
E Donner chaque fonction render* le code R utilisateur lance lapp (ou rafrachit son navigateur).
ncessaire au Server pour construire la D Utiliser ce code pour mettre en place les lments qui ne
C
composante. Le serveur va reconnatre chaque seront ncessaires quune fois pour chaque utilisateur,
F
valeur ractive qui apparat dans le code et va la E
reconstruire chaque fois que sa valeur change Excut souvent- Le code plac dans une fonction
render*, reactive, ou observe va tre excut plusieurs
F Faire rfrence aux valeurs des widgets avec fois. Placer ici uniquement le code dont le serveur a
input$<nom widget> besoin pour reconstruire une composante UI aprs la
}) modification dun widget.
render* - Un output sera Expression ractive - Utiliser reactive isolate - Utiliser isolate pour utiliser observe - Utiliser observe pour le
des input sans quil y ait de code excut quand un input
4. Ractivit (Quand un automatiquement mis jour quand pour crer des objets utiliser dans
un input de sa fonction render* des multiples outputs. dpendance. Shiny ne reconstruit pas change, mais sans crer doutput.
input change, le serveur va change. loutput quand linput isol change.
reconstruire chaque output output$y input$a
qui en dpend(mme quand input$a output$z input$a x
output$z
output$z input$a observer
input$b
la dpendance est indirecte)
Ce comportement est x <- reactive({
input$a
matris par lajustement de renderText }) observe
la chane de dpendance. isolate(input$a)

RStudio and Shiny are trademarks of RStudio, Inc.


CC BY RStudio info@rstudio.com
844-448-1212 rstudio.com
Traduit par Asma Balti & Vincent Guyader http://thinkr.fr
ui.R 5. ui.R Une description de linterface utilisateur (UI) de votre app, la page web qui affiche
A shinyUI(fluidPage( votre app. Pour crire ui.R:
Fournir le minimum ncessaire pour ui.R, shinyUI(fluidPage())
A
* note: utiliser navbarPage au lieu de fluidPage si lapp doit comprendre plusieurs pages connectes par une barre de navigation
B
Construire un squelette pour lUI. SidebarLayout fournit un squelette par dfaut lorsquil est utilis avec
B
C sidebarPanel et mainPanel. SplitLayout, flowLayout, et inputLayout divisent la page en rgions qui-espaces.
FluidRow et column fonctionnent de pair pour crer un squelette en grille, utilisable pour prsenter une page ou
un panneau. creates
sidebarLayout splitLayout flowLayout/inputPanel fluidRow

objet 1 objet 2 objet 3 column row col


side main objet 1 objet 2
panel panel
objet 3 column

))

C Dans chaque panneau ou colonne, placer:


Les composantes R - Ce sont les objets Widgets - Le 1er argument de chaque fonction Elments HTML- Ajout des lments html avec
output dfinis dans server.R. Pour placer une widget est le nom pour le widget. Utiliser les fonctions Shiny similaires aux tags HTML.
composante: input$<nom> pour accder la valeur courante
du widget dans server.R tags$sub
1. Choisir une fonction *Output qui construit le type dobjet a tags$col
tags$colgroup
tags$form
h1
tags$input
tags$ins
tags$output
p tags$summar
tags$abbr y
placer dans UI. widget tags$address tags$command h2 tags$kbd tags$param
fonctions arguments courants tags$data h3 tags$keygen pre
tags$sup
2. Passer la fonction *Output une chane de caractres tags$area
tags$article tags$datalist h4
tags$label tags$progress
tags$table
actionButton tags$tbody
qui correspond au nom de lobject dans server.R, Action button inputId, label tags$aside tags$dd h5
tags$legend
tags$li tags$q tags$td
checkbox checkboxInput inputId, label, value tags$audio tags$del h6 tags$ruby tags$textarea
exemple: tags$link
checkbox group checkboxGroupInput inputId, label, choices, selected tags$b tags$details tags$head tags$mark tags$rp tags$tfoot
output$plot <- renderPlot({ ... }) plotOutput("plot") tags$base tags$dfn tags$header tags$map tags$rt tags$th
date selector dateInput inputId, label, value, min, max, format tags$bdi div tags$thead
tags$hgroup tags$menu tags$s
date range selector dateRangeInput inputId, label, start, end, min, max, format tags$bdo tags$dl hr tags$meta tags$samp tags$time
fonctions *Outputs file uploader fileInput inputId, label, multiple
tags$blockquot tags$dt
e
HTML tags$meter
tags$nav
tags$script
tags$title
tags$tr
em
dataTableOutput tableOutput Number field numericInput inputId, label, value, min, max, step tags$body
tags$i tags$noscript
tags$section tags$track
tags$embed tags$iframe tags$select tags$u
htmlOutput textOutput Radio buttons radioButtons inputId, label, choices, selected br tags$eventsour tags$object
tags$button img tags$ol tags$small tags$ul
select box selectInput inputId, label, choices, selected, multiple ce tags$source tags$var
imageOutput uiOutput tags$canvas tags$fieldset includeCSS tags$optgrou
slider sliderInput inputId, label, min, max, value, step tags$caption tags$figcaption includeMarkd p span tags$video
plotOutput verbatimTextOutput submitButton tags$cite own tags$option strong tags$wbr
submit button text tags$figure tags$style
textInput code includeScript
text field inputId, label, value tags$footer

6. Excuter votre app 7. Partager votre app Lancer votre app comme une page web dynamique que les
utilisateurs peuvent consulter en ligne
runApp - excuter en local
runGitHub - excuter depuis des fichiers hbergs sur
www.GitHub.com ShinyApps.io Shiny Server Shiny Server Pro
runGist - excuter depuis des fichiers enregistrs comme un Hberger votre app sur le serveur Construire un serveur linux pour Construire un serveur
gist (gist.github.com) RStudio. Options gratuites et
runURL - excuter depuis des fichiers enregistrs dans des
hberger votre app.Gratuit et open commercial avec authentification,
payantes. source. gestion des ressources, et plus.
URL
RStudio and Shiny are trademarks of RStudio, Inc.
www.shinyapps.io shiny.rstudio.com/deploy
CC BY RStudio info@rstudio.com shiny.rstudio.com/deploy
844-448-1212 rstudio.com
Traduit par Asma Balti & Vincent Guyader http://thinkr.fr