Le projet : Application R Shiny du projet

BUT 3 - Domaines d’application

Auteur

Jean-Francois Rey

NoteObjectif du Projet

Nous allons développer un application R {Shiny} avancée.

NotePourquoi ?

C’est l’objectif des TPs précédent et de votre Projet final.

Prérequis

  • TP1
  • TP2
  • TP3
  • TP4
  • TP5 facultatif
  • TP6
  • Disposer d’un projet package R + app Shiny sous Gitlab et Rstudio

Rappel

Note

Nous avons inclus une application R-Shiny dans notre package. Il est facile de partager ce package, ainsi que l’application Shiny.

Important

Pensez à sauvegarder et à versionner votre travail aux étapes importantes.
Pensez bien a faire un pull avant de commencer à travailler.
Ce TP représente le rendu final de votre projet.

L’issue du Projet

  • Créer une issue dans votre projet avec pour nom Projet.
  • Y ajouter ceci :
# Projet : Application R Shiny du projet

## Tâches :   

1. [ ] Créer une nouvelle application R Shiny
2. [ ] Une carte dynamique
3. [ ] Un Widget dynamique
4. [ ] Interraction entre le widget et la carte
5. [ ] L'application R Shiny utlise une fonction de mon package
...

## Description de mon application

Mon application permet de faire...  

## Version

Le commit correspondant au rendu final : <clé SHA>
  • Dans l’issue principal du projet Rendu de notre projet associer cette dernière issue dans Linked Items
    • utiliser le numéro de l’issue ou son nom

L’application du projet

Ici vous disposez du choix du rendu final du projet du point de vu de l’application R Shiny.
Vous pouvez proposer votre application et/ou suivre l’application de cette page.

ImportantContraintes communes
  • L’application R Shiny doit contenir au minimum :
    • 1 widget
    • 1 carte
    • Ces deux widgets doivent être dynamique et interagir entre eux.
  • L’application R Shiny doit utiliser au moins une fonction de votre package pour fonctionner
  • Le package doit rester normé et valide (ainsi que les CI/CD, sauf TP5)

L’application du TP

Mise en garde

Si vous faites un projet personnel vous pouvez éviter cette partie.

Proposition 1

Voici une proposition pour l’application Shiny.
Vous pouvez utiliser les données d’accidents dans le vaucluse en 2019 pour les afficher sur une carte et les filtrer dynamiquement suivant les attributs/catégories.

AstuceExemples :

Lecture du fichier geojson

accidents.geo.2019.vaucluse <- st_read("accidents2019_vaucluse.geojson", quiet = TRUE)  
## passage en projection World Geodetic System 1984  
accidents_wgs84 <- st_transform(accidents.geo.2019.vaucluse,4326)

L’attribut “grav” donne la gravité de l’accident:

factor(grav,
       levels = c(2,3,4,1),
       labels = c("Tué", "Blessé hospitalisé","Blessé léger","Indemne")
Mise en gardeRessouces

Cette proposition repose sur le travail de Kim Antunez et Etienne Côme lors des Rencontres R 2023 https://github.com/antuki/RR2023_tuto_statspatiale.
Il s’agit d’un tutoriel d’apprentissage et d’exercices de cartographie sur les accidents en 2019 à Paris.

La carte

Voici un exemple du rendu de la carte.

Proposition 2

On va utiliser le fichier de donnée des Pokemons (TP6).
Les Pokemons sont disposés aléatoirement en France métropolitaine et quelques attributs sont affichés (avec filtre suivant le Type).

La carte




Maintenant vous disposez d’un package R (valide et normé) et d’une application R Shiny complète. Vous bénéficiez de l’intégration continue pour tester et packager, [et du déploiement continue pour containériser et mettre en production votre application R Shiny Facultatif].
Votre application R Shiny, est un projet personnel et contient une carte et un widget qui interagissent ensembles et utilise au moins une fonction de votre package.


Questions:

  • Dans l’issue de ce Projet (“Projet”).
  • Répondez aux questions suivantes dans la description de l’issue :
    • Etes vous capable de créer un package R ?

    • Etes vous capable de créer une application R Shiny dans un package R ?

    • Qu’elles sont les plus grandes difficultés que vous avez rencontré ?

    • Avez-vous des suggestions pour améliorer ces TPs ?

  • Ajouter cette issue comme items liés (linked items) à l’issue Rendu de notre projet
AstuceAvant d’aller plus loin
  • Vérifier que vous avez suivie les consignes.
  • Vérifier que vous respectez bien les Contraintes communes.
  • Vérifier que votre package est toujours normé, valide et bien documenté.
  • Vérifier que le contenu des jobs GitLab ne comporte pas d’erreur (supprimer ceux du le TP5 si nécessaire).
  • Vérifier que votre application fonctionne correctement.
  • Vérifier la clarté des commentaires et du code.
  • Vérifier que votre package et application R Shiny n’ont pas de dépendances à votre environnement de travail.
  • Vérifier les issues du projet.
AstuceSuper Tip

Afin de vérifier que votre package et application R Shiny sont bien normés et valides, vous pouvez télécharger le package source de votre projet et l’installer et tester sur un autre ordinateur. Cela évitera d’avoir un package dépendent de votre environnement de travail et qui ne fonctionne pas dans celui de votre évaluateur.

Projet Fini

Afin de valider la fin de votre projet, merci d’ajouter un commentaire dans l’issue principale du projet (c.f. TP1) en me notifiant et en ajoutant la clé <SHA> et Tags (PROJET) du commit correspondant.
Ainsi que m’envoyer un email à pour valider le rendu et me signaler toutes modifications (changement de dépôt ou autre).
Pensez à clôturer les issues finis.

DATE de Maximale de rendu le 12 Janvier 2025 à 12H au plus tard (1 point en moins par jour de retard du rendu)

! Bonne continuation et bravo !

👍