Shiny sur AWS - Créer une appli Shiny

Cet article fait partie de la série Comment déployer une application Shiny sur AWS, divisée en 7 parties. Pour accéder aux autres parties, utilisez le sommaire ci-dessous:


Récemment, un de mes clients m’a demandé de lui créer une application en R Shiny qui permet aux utilisateurs finaux de visualiser tout un tas d’indicateurs et aussi d’interagir avec les données.

Plutôt la base pour une appli Shiny.

J’ai fait ma tambouille de mon côté, j’ai créé le dashboard, et le client était super content !

Sauf que vient toujours le moment où il faut déployer l’application sur les systèmes du client.

Et là… ça se complique.

De Shiny à AWS

En tant que data scientist, je maîtrise plutôt bien le langage R et il m’arrive régulièrement de créer des dashboards en Shiny pour faire des reportings automatiques.

Sauf que… créer un serveur où je peux héberger l’application, la configurer, et ensuite maintenir le serveur à jour…

C’est pas tout à fait mon boulot à la base.

La méthode « galère »

Je vous avoue que la toute première fois où j’ai été confronté au problème, mon équipe et moi avons opté pour une solution un peu… disons… artisanale !

J’ai presque honte d’admettre ce qu’on a fait…

On a…

On a installé R et l’appli Shiny sur chaque poste individuel des utilisateurs.

Voilà.

Oui oui.

Il a fallu aller sur chaque poste, installer R, les packages, aller chercher les données, ajouter un raccourci sur le bureau, … Bref.

Avec le recul, on avait été assez créatif sur le coup.

Sad Face

Mais en vrai c’était horrible !

  • Il faut quand même un moyen de centraliser les données.
  • Ça prend un temps fou d’installer l’appli sur le poste de chaque utilisateur.
  • Et puis, niveau maintenance, c’est juste pas possible.

Mais bon.

On n’avait ni les compétences, ni les moyens d’accéder à un serveur.

On s’est débrouillé comme on pouvait.

Mais il faut savoir qu’il existe une bien meilleure méthode.

La méthode « qui marche »

Il s’agit tout simplement de :

  • Créer un serveur dans le cloud.
  • Envoyer l’application sur le cloud.

Et c’est tout.

Bon, bon, ok, je dis tout simplement, mais c’est pas SI simple.

Au début en tout cas.

Aujourd’hui, et dans cette série d’articles, mon objectif est de vous apprendre exactement comment héberger une application Shiny sur un serveur AWS.

Alors, comment va-t-on s’y prendre ?

D’abord, on va utiliser AWS, c’est le petit nom de Amazon Web Services, c’est-à-dire tous les services Cloud proposés par Amazon.

Vous pourriez utiliser des services concurrents, comme Azure chez Microsoft, Digital Ocean, Rackspace, etc.

Peu importe en fait.

Mais on va utiliser AWS parce que c’est ce qui est le plus utilisé.

En plus, quand on crée un nouveau compte, on a accès à certains services gratuitement pendant un an.

Tout ce qu’on va faire dans ce tutorial est faisable sans débourser un sou.

Happy Face

Les avantages de cette méthode :

  • Vous pouvez déployer l’application sur le serveur de votre canapé.
  • C’est facile à maintenir et à mettre à jour.
  • Vous pouvez facilement moduler la puissance du serveur.
  • Vous avez la possibilité de sécuriser votre application comme vous le souhaitez.

À quoi s'attendre dans cette série d'articles ?

Mon but est de créer des articles de référence afin qu’à chaque fois que vous serez confronté à la problématique Comment déployer mon appli sur un serveur ?, vous puissiez venir ici et trouver la réponse.

Jusqu’à ce que vous reteniez comment faire.

Mais je sais d’expérience que c’est le genre de chose qu’on oublie vite.

Je vais donc expliquer chaque étape avec moults détails, plein de screenshots, des dessins rigolos, et même parfois des vidéos !

Quelles étapes ? Les voici :

  • Étape 1 : Créer une application Shiny.
  • Étape 2 : Créer un serveur sur AWS.
  • Étape 3 : Installer R et R Shiny sur votre nouveau serveur.
  • Étape 4 : Déployer l’application sur le serveur.

Ces étapes suffiront à obtenir un résultat plus ou moins satisfaisant, mais pas parfait.

En effet, vous devrez taper une adresse IP bizarre pour accéder à votre appli et en plus elle ne sera pas sécurisée.

C’est pourquoi je rajouterai les étapes suivantes en bonus :

  • Étape 5 : Extra : Créer un nom de domaine pour avoir une belle URL.
  • Étape 6 : Extra : Sécuriser votre application en HTTPS.
  • Étape 7 : Extra : Protéger votre application avec un mot de passe.

Et là, on sera paré !

D’ailleurs, je vous propose de commencer directement avec l’étape 1 : Créer une application Shiny.

C’est pas exactement le but de cette série d’articles d’apprendre à utiliser Shiny, du coup on va prendre une appli disponible dans la galerie Shiny.

J’ai pris celle de l’explorateur de films :

Movie Explorer

Et j’ai créé un repo sur Gitlab pour que vous puissiez la cloner facilement : https://gitlab.charlesbordet.com/charles/051-movie-explorer

Notez que vous aurez besoin de git et d’une console pour suivre ce tutoriel. Vous pouvez télécharger git à l’adresse suivante : https://git-scm.com/downloads

Cette fois-ci, on est prêts !

Pour continuer vers l’étape suivante, cliquez ici :

Partie 2 - Créer un serveur sur AWS

Mis à jour :

Commentaires

Laisser un commentaire

Les champs obligatoires sont marqués *

Chargement...

Les commentaires sont validés manuellement. La page va se rafraîchir après envoi.