montee-en-version-du-dsfr-trouver-les-fichiers-css-et-js.Rmd
library(shinygouv)
knitr::opts_chunk$set(eval = FALSE)
Dans le dossier “inst/” du package, nous allons créer deux dossiers:
Ci-dessous, nous prenons l’exemple de la montée de version de 1.6.0 vers 1.7.2
Indiquez ici le numéro de la nouvelle version à implémenter que vous pourrez trouver sur la page du dsfr
nouvelle_version <- "2.0.0"
1.7.2
qui se
trouve ici
Pour une version minimale, les seuls fichiers à garder sont :
/ Racine du projet
└── index.html
└── dsfr.min.css
└── dsfr.module.min.js
└── dsfr.nomodule.min.js
└── favicon
└── font
└── icons
└── utility
└── icons
Vous pouvez lancer le contenu du script “dev/maj_version_dsfr.R” pour votre version pour réaliser ce nettoyage
source("dev/maj_version_dsfr.R")
maj_version_dsfr()
On pourra ensuite créer une fonction qui permettera d’ajouter les dépendances dans les applications {shiny}.
Nous recommandons de faire une copie du dossier de la version précédente
last_version <- max(list.files("inst", pattern = "^v\\d"))
if (last_version != paste0("v", nouvelle_version)) {
fs::dir_copy(
path = file.path("inst", last_version),
new_path = paste0("inst/v", nouvelle_version)
)
}
Dans le fichier “table_correspondance_shiny_dsfr.csv”, mettez
non
dans la colonne mis_a_jour
car pour le
moment, vous n’avez pas récupéré le HTML de toutes les composantes de la
nouvelle version
corresp <- read.csv2(file.path("inst", paste0("v", nouvelle_version), "table_correspondance_shiny_dsfr.csv"))
corresp[, "mis_a_jour"] <- "non"
write.csv2(corresp, file.path("inst", paste0("v", nouvelle_version), "table_correspondance_shiny_dsfr.csv"))
Vous pouvez ouvrir une issue pour lister tous les fichiers HTML de
composants à vérifier avant de mettre oui
dans la colonne
mis_a_jour
Quand tous les dossiers sont prêt, pour garder trace de la version du dsfr utilisée dans {shinygouv}, nous stockons celle en cours dans le fichier DESCRIPTION
desc::desc_set("VersionDsfr" = nouvelle_version)
Nous n’avons pas besoin de stocker toutes les versions du dsfr dans
le package.
Maintenant que vous avez récupéré les fichiers pour une nouvelle
version, vous pouvez supprimer la plus ancienne.
all_versions <- list.files("inst", pattern = "^v\\d")
if (length(all_versions > 2)) {
unlink(file.path("inst", min(all_versions)), recursive = TRUE)
}
Suivre la procédure de création de composant dans “dev/flat_comment-faire-un-composant-shiny.Rmd”, même pour mettre à jour l’existant.
rstudioapi::navigateToFile("dev/flat_comment-faire-un-composant-shiny.Rmd")