A-convertir-une-app-shiny-en-app-shiny-dsfr.Rmd
library(shinygouv)
convert_to_dsfr()
La fonction convert_to_dsfr()
a été pensée pour
faciliter la conversion d’applications Shiny existantes au Design system
de l’Etat.
La fonction convert_to_dsfr()
convertit tous les
composants shiny présents dans les fichiers du dossier “R/” d’une
application shiny, en composant shinygouv dsfr, dès lors qu’ils existent
et qu’ils ont été implémentés dans le package, pour la {version} définie
en paramètre.
Attention, cette fonction modifie les fonctions des composants UI de votre application existante. Pour un simple test, appliquez là sur une copie.
Il reste des points de vigilances sur la conversion des tabPanel dans
les navbarPage et les tabsetPanel.
Cette fonction est encore expérimentale.
Le fonction convert_to_dsfr()
ajoute automatiquement la
dépendance au package {shinygouv} dans le fichier app_ui.R
de votre application shiny Golem.
Dans le cadre d’une application non packagée avec {golem}, vous
devrez ajouter à la main la dépendance à {shinygouv}, souvent avec un
library(shinygouv)
dans votre fichier global.R.
La conversion est réalisée en lançant dans la console, depuis votre projet contenant l’application shiny :
Si l’ensemble des scripts .R
de votre application ne se
trouvent pas dans un dossier “R/” à la racine de votre projet, vous
pouvez passer en argument le path
du dossier contenant
l’ensemble de ces fichiers.
Comme par exemple:
convert_to_dsfr(path = "le_chemin_de_mon_application")
Attention, dans le cadre d’une application simple (hors
{golem}), vous devrez ajouter la dépendance à {shinygouv} pour que votre
application puisse utiliser les composants dsfr (avec
library(shingouv)
).
Elle se base alors sur la table de correspondance des composants implémentés :
Par exemple pour la version “1.7.2” (v1.7.2/table_correspondance_shiny_dsfr.csv)
Les composants d’interface utilisateur implémentés dans
{shinygouv}
et leur correspondance avec les fonctions
habituelles de {Shiny}
sont listées ici :
Ils ne sont pas encore très nombreux et peuvent être améliorés, n’hésitez pas à contribuer, un guide est là pour vous aider à rejoindre les auteurs de {shinygouv} !
Pour savoir quelle version du dsfr est utilisée dans votre
installation de {shinygouv}, vous pouvez exécuter
get_dsfr_version()
get_dsfr_version()
#> [1] "1.9.3"
get_dsfr_version(with_v = TRUE)
#> [1] "v1.9.3"