« Shiny server isig-apps » : différence entre les versions
m (Lvaudor a déplacé la page Utilisation du serveur shiny isig-apps vers Shiny server isig-apps) |
m (Mise à jour des liens) |
||
Ligne 54 : | Ligne 54 : | ||
== Accès aux applis (pour les utilisateurs)== | == Accès aux applis (pour les utilisateurs)== | ||
Page d'accueil: https://isig-apps.ens-lyon.fr/shiny/ | |||
Accès aux applis d'un développeur donné (par exemple lvaudor): | Accès aux applis d'un développeur donné (par exemple lvaudor): | ||
http://isig-apps.ens-lyon.fr/shiny/lvaudor/ | |||
Ici il y a un document index.html à la racine qui permet d'afficher l'ensemble des applis disponibles. Dans le cas contraire, chercher l'appli directement: | Ici il y a un document index.html à la racine qui permet d'afficher l'ensemble des applis disponibles. Dans le cas contraire, chercher l'appli directement: | ||
http://isig-apps.ens-lyon.fr/shiny/lvaudor/Restart_exos_base/ | |||
== Problèmes éventuels == | == Problèmes éventuels == |
Version du 4 novembre 2022 à 10:18
Conception de l'appli
Un dossier=une appli
Pour une appli classique, mettre à la racine de ce dossier app.R ou ui.R+server.R...
Cas particulier d'un tutoriel learnr
Exemple d'entête yaml pour le .Rmd:
---
title: "Exos shiny"
output:
learnr::tutorial:
progressive: true
allow_skip: true
runtime: shiny_prerendered
css: "www/style_tuto_learnr.css"
---
Connection au serveur (pour le développeur)
Serveur gn-evs.ens-lyon.fr.
en ssh (par un terminal)
(pour installs de packages, git-clonage, consultation de logs, etc.)
Ouverture d'un terminal puis:
ssh lvaudor@gn-evs.ens-lyon.fr
(fournir password ENS)
Installation de packages R:
par ligne de commande en lançant R depuis le terminal puis
install.packages("nom_package")
en sftp (par FileZilla par exemple)
(plus pratique pour noobs pour transferts de fichiers)
Nom d'hôte gn-evs.ens-lyon.fr:
- login: lvaudor
- mdp: mdp ENS
Accès à home/lvaudor/
Applis dans ShinyApps/ (un dossier=une appli) Packages installés dans R/
Accès aux applis (pour les utilisateurs)
Page d'accueil: https://isig-apps.ens-lyon.fr/shiny/
Accès aux applis d'un développeur donné (par exemple lvaudor):
http://isig-apps.ens-lyon.fr/shiny/lvaudor/
Ici il y a un document index.html à la racine qui permet d'afficher l'ensemble des applis disponibles. Dans le cas contraire, chercher l'appli directement:
http://isig-apps.ens-lyon.fr/shiny/lvaudor/Restart_exos_base/
Problèmes éventuels
Pour redémarrer une appli
Simplement recharger la page ne redémarre pas forcément l'appli. Pour forcer le restart, il faut créer (ou modifier) un fichier restart.txt dans le dossier de l'appli. Peu importe le contenu du fichier, ce qui compte est sa date et heure de modification.
pour appli learnr
Attention `learnr` (et a fortiori `gradethis`) sont des packages "jeunes". => MAJ fréquentes et assez radicales... Bien mettre à jour les packages à la fois localement (tricotage de tuto.Rmd => tuto.html) et sur le serveur car learnr va de pair avec du shiny "prerendered" (i.e. il faut fournir le fichier html comme "pseudo-ui").
Debugging
La solution la plus basique pour enrichir un peu les logs est de rajouter
cat(file=stderr(), "message", "\n")
qui équivaut à un "print message dans le log"
Monitoring
Sur demande, possibilité de mettre en place un monitoring qui redémarre les applis en cas de plantage:
Processus:
- test de l'url de l'appli
- si il y a un problème (test renvoie autre chose qu'un code 200 (succès de la requête), alors
- modif du fichier restart.txt dans le dossier (causant un redémarrage de R)
En l'état actuel des choses, sur lvaudor, quatre applis sont monitorées:
- Restart_exos_base
- Restart_exos_tableaux
- Restart_exos_graphiques
- shiny_exos