Slide 1

Slide 1 text

Déployer une application R shiny en production 14/04/2020 - https://thinkr.fr 1 / 14

Slide 2

Slide 2 text

Data Scientist, R expert. https://rtask.thinkr.fr https://github.com/ThinkR-open https://twitter.com/thinkr_fr Vincent Guyader 14/04/2020 - https://thinkr.fr 2 / 14 Human talks - Déployer une application R shiny en production

Slide 3

Slide 3 text

Data Scientist, R expert. https://rtask.thinkr.fr https://github.com/ThinkR-open https://twitter.com/thinkr_fr Vincent Guyader Formateur 14/04/2020 - https://thinkr.fr 2 / 14 Human talks - Déployer une application R shiny en production

Slide 4

Slide 4 text

Data Scientist, R expert. https://rtask.thinkr.fr https://github.com/ThinkR-open https://twitter.com/thinkr_fr Vincent Guyader Formateur Certificateur : R niveau 1 - Utilisateur – Analyse de données R niveau 2 - Développeur – Création de packages R niveau 3 - Développeur – Conception d’interfaces Shiny https://thinkr.fr/formation-au-logiciel-r/ 14/04/2020 - https://thinkr.fr 2 / 14 Human talks - Déployer une application R shiny en production

Slide 5

Slide 5 text

{shiny} Construire facilement des applications web interactives directement à partir de R 14/04/2020 - https://thinkr.fr 3 / 14 Human talks - Déployer une application R shiny en production

Slide 6

Slide 6 text

{golem} Créer, maintenir et déployer facilement une application Shiny 14/04/2020 - https://thinkr.fr 4 / 14 Human talks - Déployer une application R shiny en production

Slide 7

Slide 7 text

Pourquoi utiliser Golem ? Gagner du temps Travailler proprement Travailler à plusieurs Simplifier le déploiement des applications Faciliter la maintenance des applications Avoir une bonne documentation 14/04/2020 - https://thinkr.fr 5 / 14 Human talks - Déployer une application R shiny en production

Slide 8

Slide 8 text

Pourquoi utiliser Golem ? Gagner du temps Travailler proprement Travailler à plusieurs Simplifier le déploiement des applications Faciliter la maintenance des applications Avoir une bonne documentation 14/04/2020 - https://thinkr.fr 6 / 14 Human talks - Déployer une application R shiny en production

Slide 9

Slide 9 text

Dans R, tout devrait être package! Créer un package R en 6 minutes and Dockeriser son application shiny Gestion des dépendances. Gestion des versions. Installation et déploiement faciles. Gestion de la documentation 14/04/2020 - https://thinkr.fr 7 / 14 Human talks - Déployer une application R shiny en production

Slide 10

Slide 10 text

Dans R, tout devrait être package! 14/04/2020 - https://thinkr.fr 8 / 14 Human talks - Déployer une application R shiny en production

Slide 11

Slide 11 text

R/app_ui.R #' @import shiny app_ui <- function() { tagList( golem_add_external_resources(), fluidPage( h1("demogolem") ) ) } #' @import shiny golem_add_external_resources <- function() { addResourcePath('www', system.file('app/www', package = 'demogolem')) tags$head( golem::activate_js(), golem::favicon() #tags$link(rel="stylesheet", type="text/css", href="www/custom.css") ) } 14/04/2020 - https://thinkr.fr 9 / 14 Human talks - Déployer une application R shiny en production

Slide 12

Slide 12 text

R/app_server.R #' @import shiny app_server <- function(input, output,session) { # List the first level callModules here } 14/04/2020 - https://thinkr.fr 10 / 14 Human talks - Déployer une application R shiny en production

Slide 13

Slide 13 text

R/run_app.R #' Run the Shiny Application #' #' @export #' @importFrom shiny shinyApp #' @importFrom golem with_golem_options run_app <- function(...) { with_golem_options( app = shinyApp(ui = app_ui, server = app_server), golem_opts = list(...) ) } Pour lancer votre application : remotes::install_local() # install your golem from sources mygolem::run_app() # Launch your golem 14/04/2020 - https://thinkr.fr 11 / 14 Human talks - Déployer une application R shiny en production

Slide 14

Slide 14 text

dev/run_dev.R Ce script vous permet de reconstruire et visualiser rapidement votre golem. # Detach all loaded packages and clean your environment golem::detach_all_attached() # rm(list=ls(all.names = TRUE)) # Document and reload your package golem::document_and_reload() # Run the application mygolem::run_app() 14/04/2020 - https://thinkr.fr 12 / 14 Human talks - Déployer une application R shiny en production

Slide 15

Slide 15 text

Déploiement {golem} contient un ensemble d'outils qui facilite le déploiement. sur : Rstudio Connect, shinyproxy, shiny server, heroku, ... golem::add_dockerfile() golem::add_dockerfile_heroku() golem::add_dockerfile_shinyproxy() golem::add_rstudioconnect_file() golem::add_shinyappsio_file() golem::add_shinyserveur_file() 14/04/2020 - https://thinkr.fr 13 / 14 Human talks - Déployer une application R shiny en production

Slide 16

Slide 16 text

me retrouver: [email protected] http://twitter.com/vincentguyader http://twitter.com/thinkr_fr https://rtask.thinkr.fr/ https://thinkr.fr/ pour aller plus loin : {golem} building-shiny-apps-workflow {golemverse.org} Merci ! 14/04/2020 - https://thinkr.fr 14 / 14 Human talks - Déployer une application R shiny en production