Le package shiny : le développement d application web avec R CNRS-MNHN UMS 2700 OMSI 10 juin 2016 1
Qu est-ce-que Shiny? Package développé par Rstudio en novembre 2012 (gratuit, opensource) Création de pages web interactives incluant toutes les analyses R Application web pour R, transformer les analyses sous R en une application web interactive Aucune connaissance en HTML, Javascript ou CSS n est utile 2
Pourquoi utiliser Shiny? Création d application permettant à l utilisateur ne connaissant pas R d explorer ses données Partage d application sans installation de R Entièrement personnalisable et extensible Rapide, facile d utlisation, pas besoin de connaître HTML, CSS, Javascript 3
Quelques liens utiles Shiny User Showcase Tutorial Tutorial Shiny Gallery Shiny Show me Shiny Gallery Shiny Show me Shiny Shiny User Showcase 4
Un exemple Création d une interface Shiny permettant l analyse de données de comptage ayant de nombreux zéros Importation de données Choix du modèle : ZIP(zero-inflated Poisson) ou ZINB (zero-inflated negative binomial) model ZAP (zero-altered Poisson) ou ZANB (zero-altered negative binomial) model Exemple 5
Création d un projet Shiny Installation du package shiny et chargement de la librarie Création d un répertoire de travail (nommé AppliShiny2) dans lequel on met deux scripts.r ui.r server.r User Interface script Implémentation de l interface utilisateur Mise en page, apparence de l application Server script Evaluation de tous les paramètres pour la construction des éléments de sortie Mise à jour de l interface avec les résultats en sortie 6
Basic widgets 7
Organisation du script UI.R 8
Exemple : ui.r 9
Organisation du script server.r 10
Exemple : server.r 11
Réactivité de Shiny 12
Exemple : le lancement sous R Lancement d une interface shiny library(shiny) runapp( AppliShiny2 ) Exemple 13
Exemple : la sortie 14
Débugger Shiny (1) 15
Débugger Shiny (2) 16
Débugger Shiny (3) Tracing runapp( nom de l application, display.mode= showcase ) 17
Partager avec des utilisateurs choisis Partager via Github Partager via un serveur Plan 1 Débuter sous Shiny 2 3 Partager avec des utilisateurs choisis Partager via Github Partager via un serveur 4 18
Partager avec des utilisateurs choisis Partager via Github Partager via un serveur Comme 2 fichiers.r Utiliser la copie des 2 fichiers.r Placer les deux fichiers dans le même répertoire de travail Lancement de l interface shiny runapp( nom de l application ) 19
Partager avec des utilisateurs choisis Partager via Github Partager via un serveur runurl Télécharger et lancer l application Shiny à partir d un lien internet Sauver le répertoire de travail de son application Shiny dans un fichier.zip ou.tar Héberger l application sur une page web Lancement de l interface shiny runurl( lien de depôt ) 20
Partager avec des utilisateurs choisis Partager via Github Partager via un serveur Plan 1 Débuter sous Shiny 2 3 Partager avec des utilisateurs choisis Partager via Github Partager via un serveur 4 21
Partager avec des utilisateurs choisis Partager via Github Partager via un serveur rungithub Création d un répertoire sur Github, avoir un compte Déposer les fichiers ui.r et server.r Compte Github Partage de l interface shiny via Github rungithub( <nom du répertoire>, <nom utilisateur> ) 22
Partager avec des utilisateurs choisis Partager via Github Partager via un serveur rungist Compte GitHub pas nécessaire Copier les fichiers ui.r et server.r Noter le nom de l URL que GitHub donne. Partage de l interface shiny via Github rungist( <gist number> ) 23
Partager avec des utilisateurs choisis Partager via Github Partager via un serveur Exemple Demo Github 24
Partager avec des utilisateurs choisis Partager via Github Partager via un serveur Plan 1 Débuter sous Shiny 2 3 Partager avec des utilisateurs choisis Partager via Github Partager via un serveur 4 25
Partager avec des utilisateurs choisis Partager via Github Partager via un serveur shinyapps.io (1) Avoir un environnement R Télécharger la dernière version du package rsconnect Créer un compte shinyapp.io Shinyapps.io library(rsconnect) Shinyapps.io rsconnect : :setaccountinfo( name= <ACCOUNT>,token= <TOKEN>, secret= <SECRET> ) deployapp( Nom de l application ) 26
Partager avec des utilisateurs choisis Partager via Github Partager via un serveur shinnyapps.io (2) 27
Partager avec des utilisateurs choisis Partager via Github Partager via un serveur Shiny Server et Shiny Server Pro Shiny Server Télécharger et installer Shiny Server (pour Linux uniquement) Gratuit, opensource ( Shiny Server ) Shiny Server Pro Mise de l application sur le web Nombreuses fonctionnalités et gestion des gros volumes( Shiny Server Pro ) 28
Le package shinydashboard 29
Le package ggvis 30
MERCI DE VOTRE ATTENTION!. 31