library(shinygouv)

Fonction 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.

Principe : Réécriture d’une application existante

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.

Dépendances

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.

Conversion

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)).

Table de correspondance

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)

Quels sont les composants implémentés dans {shinygouv} ?

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} !

Connaître la version du dsfr actuelle

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"