Architecture d’une application Shiny

Programming
Shiny

Votre application Shiny a dépassé le fichier unique — rendez-la maintenant maintenable. Cette série couvre le parcours de l’architecture : organisez le code, extrayez des modules réutilisables, transformez l’application en package, automatisez la structure avec golem, connectez une base de données, étendez avec JavaScript, et testez et déboguez ce que vous avez construit.

Vous savez construire une application Shiny. L’architecture, c’est ce qui la garde constructible à mesure qu’elle grandit — quand un seul app.R atteint des centaines de lignes, quand le même composant d’UI se répète à trois endroits, quand un collègue doit retrouver la logique d’un graphique, quand une modification à un endroit en casse silencieusement un autre. Cette série parcourt le chemin d’une application qui fonctionne mais s’éparpille vers une base de code qui passe à l’échelle, une étape pratique à la fois.

Rien de tout cela n’est du travail inutile. Chaque étape apporte quelque chose de concret : des fichiers que vous pouvez parcourir, des composants que vous pouvez réutiliser, des dépendances que vous pouvez suivre, une base de données à la place d’un fragile CSV, des comportements que les widgets intégrés ne peuvent pas offrir, et des tests qui attrapent une régression avant vos utilisateurs.

Le parcours de l’architecture

Les leçons suivent l’ordre dans lequel vous rencontrez réellement ces besoins :

  1. Organisez le codescindez un app.R grandissant en un dossier R/, un global.R et une convention de nommage — la rampe d’accès sans package.
  2. Extrayez les parties réutilisablesconstruisez des modules avec NS() et moduleServer() pour qu’un composant fonctionne à plusieurs endroits sans collision d’ID.
  3. Transformez-la en packagestructurez l’application en package R pour le suivi des dépendances, des fonctions dans un espace de noms, R CMD check et une installation en une ligne.
  4. Automatisez la structureéchafaudez-la avec golem, le framework qui génère pour vous toute l’architecture fondée sur un package.
  5. Connectez de vraies donnéeslisez et écrivez dans une base de données avec DBI et le package pool, en toute sécurité et sous charge concurrente.
  6. Étendez le navigateurbranchez du JavaScript sur mesure pour le pont bidirectionnel entre R et la page.
  7. Ayez confiance en ce que vous avez construittestez et déboguez avec testthat, testServer et reactlog pour que vos modifications ne cassent rien en silence.

Parcourez-les dans l’ordre pour le parcours complet, ou sautez à l’étape dont vous avez besoin — chaque leçon tient debout sur elle-même et se termine par un exercice exécutable.

Aucun article correspondant

De combien d’architecture avez-vous besoin ?

Toutes les applications n’ont pas besoin de tout cela. Un tableau de bord de 60 lignes que vous n’exécuterez qu’une fois se contente très bien d’un fichier unique — y ajouter des modules et un package relèverait de la sur-ingénierie. L’idée est de saisir le bon outil quand l’application vous signale qu’il est temps :

Quand votre application… Optez pour Pourquoi
a dépassé quelques centaines de lignes, difficile à parcourir organisation du code Des fichiers par fonction, une convention de nommage, aucun surcoût d’empaquetage
répète la même logique d’UI et de server modules Un composant dans son espace de noms, réutilisé sans conflit d’ID
a besoin de suivi et de partage des dépendances un package / golem R CMD check, Imports, installable partout ; golem l’automatise
lit un jeu de données volumineux ou partagé une base de données Des requêtes sûres en concurrence via DBI + pool
a besoin d’un comportement que les widgets ne peuvent pas offrir JavaScript Un pont propre R ↔︎ navigateur
mérite de ne pas être cassée tests Attrapez les régressions avant les utilisateurs

Quel que soit votre choix, la même discipline s’applique : gardez chaque pièce petite et autonome, laissez la structure suivre les besoins réels de l’application, et appuyez-vous sur les tests pour changer les choses en toute confiance — l’application en cours d’exécution est le juge.

Note

La série architecture est gratuite, comme le reste du cursus Shiny. Elle s’appuie sur les fondations gratuites, depuis zéro — si vous apprenez encore à construire une application, commencez là et revenez quand vous en aurez une qui mérite d’être structurée. Quand vous serez prêt à livrer, continuez avec le déploiement en production.

Cette page vous a-t-elle été utile ?

Prouvez que vous savez le faire. Maîtrisez toute la série Architecture Shiny — suivez votre parcours, construisez des projets et obtenez un certificat.

Commencer gratuitement →

Passez à Pro — Prova illimité sur vos propres données et un certificat vérifiable qui atteste la compétence.

dès 15 $/mois facturé annuellement

Passer à Pro →

✓ Vous êtes Pro — continuez. The runtime is the judge.

Recevez les nouvelles leçons R & Python par e-mail

Pratique, reproductible, sans spam. Désinscription à tout moment.

Double opt-in. Nous ne partageons jamais votre e-mail.

Partager cette pageXLinkedInRedditHN

Citation

BibTeX
@online{untitled,
  author = {},
  title = {Architecture d’une application Shiny},
  url = {https://www.datanovia.com/learn/programming/shiny/architecture/},
  langid = {fr}
}
Veuillez citer ce travail comme suit :
“Architecture d’une application Shiny.” n.d. https://www.datanovia.com/learn/programming/shiny/architecture/.