Dev-A-guide-du-developpeur.Rmd
Ceci est un dossier de documentation dédié aux développeurs et développeuses.
Pour des contributions au code de ce projet, svp regardez le guide général de contribution à https://spyrales.github.io/shinygouv/CONTRIBUTING.html
Le développement de ce package a été réalisé avec {fusen} : les fonctions, vignettes et test sont générées par des fichiers Rmd dans le dossier /dev/flat_composants.
Le repo contient deux app :
Les modules de l’app de démo son rangées dans le répertoire
R
et se mélangent aux fonctions de composants
implémentées.
Pour s’assurer du bon développement du package
shinygouv
, il a été ajouté au fichier
DESCRIPTION
la version du dsfr utilisé.
Pour connaître la version utilisée, vous pouvez lancer :
desc::desc_get("VersionDsfr")
Si vous devez implémenter une nouvelle version du dsfr, vous devez suivre les instructions disponible: Montee en version du dsfr : trouver les fichiers CSS et JS.
Lorsque vous aurez implémenté toutes les composantes avec la nouvelle version, vous pourrez mettre à jour le fichier DESCRIPTION avec la commande suivante :
desc::desc_set("VersionDsfr" = "1.7.2")
tags
qui reprend les mots clés pour ce qui
est fait dans le commitVoici un exemple :
feat: ma fonctionnalité de ouf
# Tags possibles du plus au moins important :
Tags: ci, fix, feat, doc, test, style, chore
Pourquoi ?
Quoi ?
Tickets
Et voici la liste des tags possible dans l’ordre d’importance pour le choix du tag majeur dans le titre du commit :
ci : tout ce qui touche au ci, meme les fix du ci pour l'instant
fix : correction d'un bug dans la code base
feat : l'ajout d'une nouvelle feature
doc : doc du package, on devrait voir que ça la sur ces 3 jours en gros
test: pour les tests unitaires
style : pour la mise en forme de code
chore : tout ce qui touche au projet en lui même, ne correspond pas à un feat ou un fix
Pour développer ce package, des choix techniques ont été adoptés. Vous retrouverez les raisons ici.
Le workflow se découpe en deux possibilités :
Ces deux possibilités se basent sur le même principe : l’utilisation des templates html. La trame générale de ce workflow est définie dans la documentation :
Vous trouverez des exemples pour d’autres composants :
N’hésitez pas à amender cette liste au fur et à mesure de vos développements
Pensez à exécuter les lignes “Each time needed” du fichier dev/02_dev.R avant chaque commit.
rstudioapi::navigateToFile("dev/02_dev.R")