DoReMIFaSol
DoReMIFaSol copied to clipboard
Proposer par défaut une sauvegarde des données téléchargées entre sessions
Dans la version actuelle, lorsqu'on télécharge un jeu de données, il est nécessaire de spécifier l'argument telDir
sans quoi il faut télécharger les données à chaque nouvelle session R.
Je me demandais s'il ne serait pas plus pratique pour l'utilisateur de modifier le comportement par défaut en sauvegardant de façon permanente les fichiers téléchargés, par exemple en utilisant le package rappdirs.
En effet, on introduit une dépendance supplémentaire, mais la contrepartie c'est un confort accru pour l'utilisateur. Je vais créer une branche et proposer une mise en oeuvre pour évaluer le gain en termes d'ergonomie. Merci beaucoup @RLesur !
Fait et intégré dans la branche via la pull request #19
J'arrive un peu après la bataille, mais une solution alternative (et sans dépendance) serait d'utiliser le système d'options()
de R ?
Si l'utilisateur a défini quelque part (script, Rprofile) options("doremifasol.telDir" = "C:/user/...")
on l'utilise dans la fonction, sinon on télécharge dans tempdir()
.
Merci, effectivement ça fait sens. On est d'accord que du coup on met par défaut teldir à getOption("doremifasol.teldir")
?
Oui c'est ça. Si tu veux, j'initie un PR.
Volontiers, je serai enchanté de te compter parmi les contributeurs !
Ça correspond à ton idée initiale, @RLesur ?
Presque, mais pas tout à fait.
En fait, le comportement par défaut de DoReMiFaSol (c'est-à-dire sans utilisation de l'option) est de télécharger dans tempdir()
. Si j'ai un script qui commence par télécharger les données, à chaque fois que je le relance dans une nouvelle session, il télécharge les mêmes données. C'est ce comportement par défaut que je ne trouve pas très pratique au niveau de l'utilisation. En fait, ce comportement par défaut ne me semble pas correspondre au cas standard d'utilisation (en général, on ne télécharge les données qu'une fois et on les réutilise entre sessions).
L'avantage de #25 , c'est qu'il suffit de rajouter une option pour modifier le comportement par défaut (ce qui est déjà très bien).
Cependant, en tant qu'utilisateur, je sais que le comportement par défaut me dérangeant, je vais systématiquement devoir utiliser cette option dans tous mes scripts, ce qui n'est pas très commode. En tant qu'utilisateur du package, je plaide donc toujours pour une modification du comportement par défaut.
Deux propositions :
-
suggérer d'ajouter l'option dans un Rprofile. Normalement, ce n'est pas recommandable pour la reproductibilité, mais ici le seul élément non reproductible serait un éventuel retéléchargement. La suggestion pourrait se faire au chargement du package, en regardant si
getOption(doremifasol.telDir)
n'est pasNULL
. -
sinon on repart sur rappdirs ? À noter qu'il y a une typo dans le README depuis 2015 et qu'elle n'a jamais été corrigée malgré plusieurs pull requests et issues. Mauvais signal quant à la maintenance du package...
Autre option, ce serait d'enregistrer par défaut les données dans un répertoire situé sous system.file(package = "doremifasol")
.
Le CRAN déteste cette pratique, elle n'est donc pas à utiliser si on souhaite publier doremifasol sur le CRAN.
Un article de Maëlle Salmon listant différentes techniques répondant à cette problématique : https://blog.r-hub.io/2020/03/12/user-preferences/