Organisation du code Shiny : structurer un app.R en fichiers R/
Divisez un app.R Shiny qui grossit en une structure maintenable sans en faire un package : extrayez les fonctions auxiliaires dans un dossier R/ et chargez-les avec…
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.
Les leçons suivent l’ordre dans lequel vous rencontrez réellement ces besoins :
app.R grandissant en un dossier R/, un global.R et une convention de nommage — la rampe d’accès sans package.NS() et moduleServer() pour qu’un composant fonctionne à plusieurs endroits sans collision d’ID.R CMD check et une installation en une ligne.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.
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.
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.
Prouvez que vous savez le faire. Maîtrisez toute la série Architecture Shiny — suivez votre parcours, construisez des projets et obtenez un certificat.
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
✓ 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.
@online{untitled,
author = {},
title = {Architecture d’une application Shiny},
url = {https://www.datanovia.com/learn/programming/shiny/architecture/},
langid = {fr}
}