InseeFrLab / utilitR

Source of the utilitR French R documentation
https://book.utilitr.org/
Other
75 stars 56 forks source link

Nouvelle fiche : Bonnes pratiques production-ready Shiny Apps #411

Open FlorianGivernaud opened 2 years ago

FlorianGivernaud commented 2 years ago

Bonjour,

Tout d'abord, le sujet Shiny a déjà été évoqué par le passé (#75 ) mais sans suite. J'ai trouvé dans ce sujet plusieurs remarques intéressantes qui m'amènent à ré ouvrir une issue sur le sujet, en tenant compte de ces remarques et des besoins que j'ai remarqué des utilisateurs du package à l'Insee (à mon échelle, en tous cas).

La première chose, c'est qu'il semble en effet difficile de concevoir une fiche générale sur le développement en Shiny et on sortirai là peut-être du cadre d'utilitR;

@CTassart Jul 1, 2021 Il me semble difficile de réaliser une fiche, claire et concise, genre "concevoir une application web avec Rshiny" en pas à pas : les notions à aborder sont trop nombreuses. Toutefois, il y a une formation nationale en cours de finalisation, à laquelle j'ai contribué avec @ggenin (pilotée par JLL). Elle aborde les différentes notions de base mais elle ne suffira probablement pas pour développer une appli dans les règles de l'art, le respect des bonnes pratiques... Le cas échéant, cette fiche pourrait s'adresser à des agents déjà initiés (on revient à la cible du produit utilitR)

La seconde, c'est qu'en revanche, une fiche en ce qui concerne les bonnes pratiques, le développement orienté production-ready avec Golem, et du déploiement, ça pourrait faire davantage sens et surtout répondre à une vraie nécessité en venant compléter la formation actuelle en Shiny dispensée à l'Insee qui se termine sur une brève introduction à Golem ;

@RLesur Je pense que la seule solution, serait d'appliquer les bonnes pratiques présentées dans le livre Engineering Production-Grade Shiny Apps qui est en cours de rédaction ici https://engineering-shiny.org/ Autrement dit, d'utiliser le package golem.

@CTassart Le cas échéant, cette fiche pourrait s'adresser à des agents déjà initiés (on revient à la cible du produit utilitR) et : s'articuler autour du package golem, aborder le sujet de la mise à disposition, du déploiement d'une application

Le livre que cite Romain est aujourd'hui abouti, et je pense que Golem est suffisamment mature pour que l'on puisse sereinement le porter en méthode de référence comme framework de développement de shiny apps au sein de l'Insee.

▶️ Je me propose de rédiger une fiche sur le développement Shiny avec Golem (je pense qu'une base de connaissance pour rédiger la fiche peut être le livre https://engineering-shiny.org/ ) et son déploiement ensuite à l'Insee. J'invite bien sûr, dans l'esprit du projet, n'importe quel contributeur à se joindre à la tâche.

RLesur commented 2 years ago

Merci @FlorianGivernaud pour la proposition ! Je n'ai qu'une micro remarque sur

et son déploiement ensuite à l'Insee

Etant donné qu'utilitR vise à être lu par un public le plus large possible (SSM et au-delà), il faut faire attention à ne pas rentrer dans le trop spécifique.

Ceci étant dit, le déploiement d'applications Shiny à l'Insee s'oriente vers un déploiement sur Kubernetes en utilisant des pratiques modernes et standards (conteneurisation et chart helm). Aurélien D'Isanto et @avouacr vont bosser dessus dans les prochaines semaines afin de produire un template de projet utilisable sur le cluster Kubernetes interne à l'Insee mais aussi sur le SSPCloud.

CTassart commented 2 years ago

Très bonne proposition de @FlorianGivernaud

La formation Insee permet de présenter les notions élémentaires de développement d'appli avec Shiny et shinydashboard, et il me semble effectivement nécessaire d'aller plus loin et parler "bonnes pratiques" : Golem y contribue.

Bien que utilitR vise à être lu par un public plus large que celui des seuls agents Insee, on s'adresse également (majoritairement ?) au public Insee, alors il me semble également intéressant/important d'aborder les notions de "déploiement" notamment interne. D'ailleurs, j'en profite pour relayer une information de @RLesur (sur le salon Langage R) : meetup " De la Création au Déploiement d'Applications shiny avec Golem " 😉

Effectivement, on va probablement commencer à aborder des aspects un peu plus techniques (conteneurisation...) qui ouvre peut-être la voie à un utilitR 2 à destination d'un public encore plus large, plus "qualifié"...