Je retravaille actuellement une appli shiny visible ici : https://gitlab.com/f.santos/anthropmmd/tree/devel
La plupart des fonctions R figurent dans le dossier inst/AnthropMMDShinyApp et ne sont pas exportées. Elles sont donc sourcées directement dans le fichier server.R, qui utilise un grand nombre de fonctions annexes.
Désormais, je souhaiterais exporter la plupart des fonctions et implémenter des tests unitaires. J'ai cru comprendre que pour faciliter l'implémentation des tests unitaires, il faudrait que mes fonctions se situent dans le dossier /R/ plutôt que le dossier /inst/. Bon, je prévois donc de déménager tout ça.
Le problème est le suivant : mon fichier server.R ne semble plus "voir" les fonctions annexes une fois qu'elles sont dans le dossier /R/. J'ai testé un grand nombre de variantes et de solutions, mais typiquement, indiquer ceci en préambule du fichier server.R :
Code : Tout sélectionner
source("../../R/max3.R", local = TRUE)
source("../../R/binary_to_table.R", local = TRUE)
ne fonctionne pas (alors qu'il s'agit bien du chemin relatif vers mes fonctions R en partant du fichier server.R), puisque j'obtiens ceci si je tente de lancer l'appli :
Code : Tout sélectionner
> StartMMD()
Loading required package: shiny
Listening on http://127.0.0.1:4518
Warning in file(filename, "r", encoding = encoding) :
impossible d'ouvrir le fichier '../../R/max3.R' : Aucun fichier ou dossier de ce type
Warning: Error in file: impossible d'ouvrir la connexion
50: file
49: source
48: server [/home/fsantos/R/x86_64-pc-linux-gnu-library/3.6/AnthropMMD/AnthropMMDShinyApp/server.R#8]
Error in file(filename, "r", encoding = encoding) :
impossible d'ouvrir la connexion
Lorsque le fichier server.R est dans un dossier donné, et qu'on souhaite sourcer des fonctions R se situant dans un dossier complètement différent dans l'arborescence du package, comment est-on censé procéder ?
Merci !