Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposer par défaut une sauvegarde des données téléchargées entre sessions #16

Open
RLesur opened this issue Jul 10, 2020 · 11 comments

Comments

@RLesur
Copy link
Member

RLesur commented Jul 10, 2020

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.

@RLesur RLesur changed the title Proposer une sauvegarde des données téléchargées entre sessions Proposer par défaut une sauvegarde des données téléchargées entre sessions Jul 10, 2020
@pierre-lamarche
Copy link
Contributor

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 !

@pierre-lamarche
Copy link
Contributor

Fait et intégré dans la branche via la pull request #19

@py-b
Copy link
Member

py-b commented Oct 3, 2020

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

@pierre-lamarche
Copy link
Contributor

Merci, effectivement ça fait sens. On est d'accord que du coup on met par défaut teldir à getOption("doremifasol.teldir") ?

@py-b
Copy link
Member

py-b commented Oct 4, 2020

Oui c'est ça. Si tu veux, j'initie un PR.

@pierre-lamarche
Copy link
Contributor

Volontiers, je serai enchanté de te compter parmi les contributeurs !

@py-b
Copy link
Member

py-b commented Oct 13, 2020

Ça correspond à ton idée initiale, @RLesur ?

@RLesur
Copy link
Member Author

RLesur commented Oct 27, 2020

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.

@py-b
Copy link
Member

py-b commented Oct 27, 2020

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 pas NULL.

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

@RLesur
Copy link
Member Author

RLesur commented Oct 28, 2020

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.

@py-b
Copy link
Member

py-b commented Nov 12, 2020

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/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants