Créer une application Shinylive de base (R)

Construire et exporter votre première application Shiny sans serveur

Ce tutoriel vous guide dans la construction d’une application Shiny simple et dans son exportation en tant qu’application Shinylive. Apprenez à transformer votre code Shiny en une application web sans serveur entièrement interactive en utilisant le package {shinylive}.

Outils
Auteur·rice
Affiliation
Date de publication

17 mars 2025

Mots clés

les bases de l’application Shinylive en R, Exemple Shiny sans serveur, exporter shiny app R

Introduction

Shinylive vous permet d’exécuter des applications Shiny entièrement dans le navigateur en utilisant WebAssembly. Dans ce tutoriel, vous allez construire une application Shiny simple et l’exporter en tant qu’application Shinylive. Cette approche sans serveur vous permet de partager des applications Shiny interactives sur des plateformes d’hébergement statiques telles que les pages GitHub.



1. Construire votre application Shiny

Copiez et collez le code suivant, dans le fichier app.r, pour créer une application Shiny de base. Le code crée une simple application Shiny avec un curseur et un histogramme:

library(shiny)
library(bslib)

# Définir l'interface utilisateur en utilisant une barre latérale.
ui <- page_sidebar(
  title = "Hello Shiny!",
  sidebar = sidebar(
    sliderInput("bins", "Number of bins:", min = 5, max = 30, value = 10)
  ),
  plotOutput("distPlot")
)

# Définir la logique du serveur pour générer un histogramme.
server <- function(input, output) {
  output$distPlot <- renderPlot({
    x <- mtcars$mpg
    bins <- seq(min(x), max(x), length.out = input$bins + 1)
    hist(x, breaks = bins, col = "#75AADB", border = "white",
         main = "Histogram of MPG", xlab = "Miles Per Gallon")
  })
}

# Créez et exécutez l'application Shiny.
shinyApp(ui = ui, server = server)
Note

Vous pouvez tester cette application localement dans RStudio en exécutant le code.

2. Exporter votre application Shiny avec Shinylive

Une fois que votre app Shiny fonctionne, utilisez le package {shinylive} pour l’exporter en tant qu’application statique, sans serveur.

Processus d’exportation étape par étape

  1. Préparer votre répertoire d’applications:
    Enregistrez vos fichiers d’application Shiny (par exemple, app.R) dans un répertoire. Par exemple, créer un dossier nommé myapp.

  2. Exporter l’application:
    Utiliser la fonction shinylive::export() pour convertir votre application Shiny en fichiers statiques qui s’exécutent dans le navigateur. Par exemple:

    # Remplacez `myapp` par le chemin d'accès au répertoire de votre application.
    # Remplacez `site` par le répertoire cible des fichiers exportés.
    shinylive::export("myapp", "site")

    Cette commande crée un nouveau dossier (site/) contenant les fichiers HTML, JavaScript, CSS et WASM nécessaires à l’exécution de votre app en tant que site web statique.

  3. Prévisualiser votre application exportée:
    Vous pouvez utiliser httpuv::runStaticServer() pour servir l’application exportée localement:

    library(httpuv)
    httpuv::runStaticServer("site/")

    Ouvrez votre navigateur et naviguez vers l’URL fournie par la commande pour voir votre application Shinylive fonctionner.

3. Déploiement vers des services d’hébergement statiques

Après avoir vérifié que votre application exportée fonctionne localement, déployez le contenu du dossier site/ sur un service d’hébergement statique.

Voici les étapes générales pour déployer votre application Shinylive sur les pages GitHub:

  1. Créer un référentiel:
    Initialiser un dépôt GitHub et y ajouter le dossier site/.

  2. Configurer les pages GitHub:
    Dans les paramètres de votre dépôt, activez GitHub Pages et sélectionnez la branche/le dossier contenant votre application exportée (par exemple, la racine du dépôt ou un dossier docs/).

  3. Pousser et publier:
    Commencer et pousser vos changements. Votre application doit être accessible via l’URL GitHub Pages fournie dans les paramètres du dépôt.

  4. Accéder à votre application:
    Une fois que GitHub Pages est activé, votre application sera accessible via une URL comme https://yourusername.github.io/your-repo/.

Note

D’autres options d’hébergement statique comme Netlify suivent des étapes similaires : il suffit de télécharger le contenu du dossier site/ et de configurer les paramètres de déploiement.

4. Conseils pour une exportation réussie

  • Vérifier les versions des actifs:
    Utilisez shinylive::assets_info() pour vérifier que les actifs web corrects sont installés et mis en cache.

  • Mettre à jour les packages si nécessaire:
    Si vous rencontrez des problèmes avec les versions des actifs, essayez d’exécuter shinylive::assets_download() pour mettre à jour vos actifs.

  • Nettoyer les anciens actifs:
    Périodiquement, exécutez shinylive::assets_cleanup() pour supprimer les versions obsolètes des actifs de votre cache.

4. Plus d’informations

Conclusion

En suivant ce tutoriel, vous avez appris à créer une simple application Shiny et à l’exporter en tant qu’application Shinylive - transformant votre code Shiny en une expérience interactive sans serveur, basée sur un navigateur. Grâce à ces outils, vous pouvez facilement partager vos applications Shiny sur des plateformes d’hébergement statiques, élargissant ainsi la portée de votre contenu R interactif.

Explorer d’autres articles

Note

Voici d’autres articles de la même catégorie pour vous aider à approfondir le sujet.

Retour au sommet

Réutilisation

Citation

BibTeX
@online{kassambara2025,
  author = {Kassambara, Alboukadel},
  title = {Créer une application Shinylive de base (R)},
  date = {2025-03-17},
  url = {https://www.datanovia.com/fr/learn/interactive/r/shinylive/basic-app.html},
  langid = {fr}
}
Veuillez citer ce travail comme suit :
Kassambara, Alboukadel. 2025. “Créer une application Shinylive de base (R).” March 17, 2025. https://www.datanovia.com/fr/learn/interactive/r/shinylive/basic-app.html.