2  Installation

L’application R Shiny possède de nombreuses dépendances R qui peuvent être installées sur vos machines locales. Pour faciliter le déploiement, un dépôt Git est disponible et contient une recette d’installation basée sur Docker.

Installation de quarto

Télécharger quarto sur le lien: https://quarto.org/docs/get-started/

Afin de vous assurez l’ensemble des dépendances packages nous vous recommandons d’utiliser Docker, en suivant la section de déploiement fournie ci-dessous :

2.1 Docker

L’application actuelle est fournie sous la forme d’un fichier Docker qui peut être lancé sur un cloud computing.

Il y a deux étapes, la création de l’image de base et la création de l’image de l’application. L’image de base fige un invité Linux avec R et tous les paquets requis par l’application. L’installation des paquets se fait une seule fois. Cela accélère le démarrage d’une image pour le développement, mais aussi pour l’enseignement.

2.1.1 Déploiement (exemple IFB)

Se connecter à IFB, sélectionner une machine serveur Shiny, puis la lancer avec des options avancées.

Définissez la configuration suivante :

APP_STACK
SHINY_REPO

L’ordinateur cloud démarre et exécute la recette Dockerfile qui est basée sur l’image analycyte_base disponible sur DockerHub. Ce processus fournit l’application sous forme d’interface Web.

Si vous clonez ce repo, vous pouvez ajouter des paquets à l’invité en utilisant apt.txt et à l’installation R en utilisant Install.R.

2.1.2 Développement

Démarrez analycyte avec l’image de base et un port pour le service web shiny. L’image de base est exécutée en mode interactif, sinon un serveur shiny est exécuté (voir l’article FROM). L’image de base est extraite de DockerHub lors de la première exécution car elle n’existe pas dans le cache de l’hôte local.

docker run -it -p 3838:3838 eugloh/analycyte_base bash

Installez ensuite la dernière version des paquets analycyte.

R -e "
Sys.setenv(R_REMOTES_UPGRADE = 'never') # ne pas mettre à jour les paquets du CRAN
remotes::install_gitlab('eugenie.lohmann/analycyte.projects', host = 'https://gitlab.in2p3.fr')
remotes::install_gitlab('eugenie.lohmann/analycyte.utils', host = 'https://gitlab.in2p3.fr')
remotes::install_gitlab('eugenie.lohmann/analycyte', host = 'https://gitlab.in2p3.fr')
"

Enfin, lancez le processus shiny (avec un fichier de log).

R -e "options('shiny.port'=3838,shiny.host='0.0.0.0');library(analycyte);analycyte::run_app()" 2>&1 | tee 3838.log

Une fois cela fait, quittez l’invité.

exit # ou Ctrl-D