Une Shiny App dans un Package Dans un article précédent, j’ai présenté{golem}, qui est un framework pour la création d’applications Shiny prêtes à partir en production. Ce cadre commence par la création d’un squelette de package en attente d’être rempli. Mais, dans un monde où les applications Shiny sont le plus souvent créées sous la forme d’une série de fichiers, pourquoi se soucier de créer un package ? C’est la question sur laquelle je vais me concentrer dans ce billet. Qu’y a-t-il dans une application Shiny ? OK, posons la question dans l’autre sens. Pensez à votre dernière Shiny qui a été créé sous laLire la suite →

gaufre_chocolat_rasters_header

Les outils cartographiques peuvent-ils être détournés vers d’autres usages ? Bien sûr ! Voyez comment nous jouons avec leaflet et leafgl pour rendre rapidement une énorme gaufre faîtes de millions de polygones. Les outils de cartographie ne sont pas seulement faits pour les données géographiques À SatRday Paris, j’ai fait une présentation intitulée “Tout sauf les cartes avec des outils de cartographie”. L’objectif est de montrer qu’il existe des outils puissants dans certains domaines qui peuvent être appliqués à d’autres domaines. Il faut juste ouvrir un peu son esprit. Personnellement, j’aime jouer avec les cartes et les données spatiales. De fait, je vois des rasterLire la suite →

Deuxième partie de la transcription de la conférence que j’ai donnée lors de la session poster de la rstudio::conf(2019). Lire la première partie ici. Construire des applications Shiny prod-ready, étape par étape Etape 1: Design Ne vous précipitez pas dans le code. C’est tentant, parce que c’est ce que nous aimons faire et ce à quoi nous sommes bons. Mais avant d’entrer dans un « coding marathon », prenez le temps de réfléchir à l’application et à la façon dont elle sera déployée et utilisée. Prenez un stylo et un morceau de papier et dessinez l’application. Parlez-en avec les gens qui utiliseront le produit final, juste pourLire la suite →

Un court article sur un petit truc que j’utilise pendant le développement de Shiny Apps. (Spoiler : rien de révolutionnaire) Un browser() n’importe où, n’importe quand La première chose à faire est d’insérer un actionButton, et un browser() dans la commande observeEvent() surveillant ce bouton. C’est une approche standard : à tout moment, il suffit d’appuyer sur ce bouton, et vous êtes à l’intérieur de l’Application Shiny — alors, vous pouvez voir la valeur des reactives et exécuter les éléments réactifs, accédant aux valeurs qu’ils ont au moment où vous avez appuyé sur ce bouton. Cette approche fonctionne, et elle est robuste. Mais voici leLire la suite →

Durant la rstudio::conf(2019L), j’ai présenté un poster intitulé « Building Big Shiny Apps – A Workflow ». Vous pouvez trouver ce poster ici, et ce billet de blog est une tentative de transcription de sa présentation à Austin. Comme il s’agit d’un sujet assez long, j’ai divisé ce billet en deux parties : la première présentera le contexte et le pourquoi, et la seconde présentera un workflow étape par étape et les outils nécessaires. Motivation L’idée derrière ce poster (et maintenant ce billet de blog) n’est pas de parler de la façon de déployer et de scaler, mais du processus de construction de l’application. Pourquoi ? BeaucoupLire la suite →

Il était une fois une horde de preux Chevaliers R qui ont se lancèrent une nouvelle quête : ils avaient pour mission d’amener le tout puissant Google Auth dans le royaume de ShinyProxy. Voici leur histoire, racontée de l’intérieur. Au commencement, il y avait un conteneur Pour ceux de nos lecteurs qui ne connaissent pas ShinyProxy, ce projet open source porté par Open Analytics est conçu pour déployer un serveur qui peut exécuter plusieurs Shiny Apps, et où chaque nouvelle application est lancée dans une nouvelle session. En quelques mots, ce que fait ShinyProxy est essentiellement de connecter un serveur à une liste de conteneurs Docker,Lire la suite →

shinyproxy-docker-shiny

Vous avez fait de belles applications Shiny, en suivant nos conseils de mise en package de Shiny par exemple, et vous souhaitez les mettre en production, en auto-hébergement, pour que d’autres puissent en profiter, sans limitations, sur Internet ou sur un serveur interne de votre entreprise ? ShinyProxy est fait pour vous ! ShinyProxy v2.0 est sorti récemment. Quelle belle occasion pour vous parler de sa mise en oeuvre ! Un intérêt majeur de ShinyProxy est la possibilité de créer un conteneur Docker indépendant pour chaque utilisateur qui se connecte à votre application Shiny. Cela permet de passer outre les limitations de nombre d’utilisateurs deLire la suite →

Dans cet article, je vais vous présenter l’approche que nous utilisons chez ThinkR pour les applications Shiny que nous sommes ammenés à concevoir. Il s’agit d’un cadre de travail relativement strict mais conçu pour nous simplifier la vie et garantir de livrer une application “prod ready” ( qu’elle soit lancée en local, sur shinyserver, Rconnect ou encore via ShinyProxy avec docker ). Ce cadre facilite la maintenance de l’application et le travail collaboratif. Une appli Shiny dans un package R Un modèle de librairie R pour une application Shiny Ce que je vous présente ici est une approche que nous avons pris le temps deLire la suite →