⚠️ Site en construction ⚠️
Avant de pouvoir créer un package en R, vous allez devoir configurer votre poste de travail pour installer et paramétrer les différents outils nécessaires à la création de packages.
Nous aurons besoins des packages suivants pour cet atelier :
install.packages(c('devtools','usethis','roxygen2','testthat', 'pkgdown'))
Etape à réaliser quand vous êtes derrière un proxy.
Ouvrir Rstudio et naviguez dans Tools -> Global Options / Packages : cliquez sur Use Internet Explorer library/proxy for HTTP.
Créer un fichier texte appelé .Renviron à mettre dans le répertoire de travail par défaut de Rstudio, avec les informations ci-dessous. Pour se faire vous pouvez utiliser la commande usethis::edit_r_environ()
après avoir installé le package {usethis
} via install.packages("usethis")
options(internet.info = 0)
http_proxy=URL_DU_PROXY
https_proxy=URL_DU_PROXY
On active le contrôle de version pour les projets R dans les options globales du menu Tools de RStudio :
Pour cela, utiliser le terminal dans Rstudio et déclarez votre nom et email.
git config --global user.name "Jean Claude Dusse"
git config --global user.email jcdusse@pays_merveilleux.fr
Dans le terminal de Rstudio, taper les lignes de commande suivante
git config --global http.proxy URL_DU_PROXY
git config --global https.proxy URL_DU_PROXY`
En DREAL PdL, l’url du proxy est ‘http://pfrie-std.proxy.e2.rie.gouv.fr:8080’, ça nous donne :
git config --global http.proxy pfrie-std.proxy.e2.rie.gouv.fr:8080
git config --global https.proxy pfrie-std.proxy.e2.rie.gouv.fr:8080
Winmerge est un outil graphique utile pour gérer la résolution des conflits de fusion dans GIT.
git config --global merge.tool winmerge
git config --global mergetool.prompt false
git config --global mergetool.winmerge.trustExitCode true
git config --global mergetool.winmerge.cmd "\"C:\Program Files\WinMerge\WinMergeU.exe\" -e -u -dl \"Mine\" -wr -dr \"Theirs\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\""
Pour éviter de taper sans cesse son mot de passe, on peut aussi demander à git de le mémoriser :
git config --global credential.helper store
Pour retrouver les options de git déclarées, vous pouvez taper git config --list
dans le terminal.
Ou tout autre forge que vous souhaitez utiliser.
Pensez à prendre le même mail pour votre compte que celui que vous avez défini pour GIT.
Si vous voulez utiliser github, créer un token github, qui vous permettra de faciliter l’utilisation de {usethis
}.
usethis::create_github_token()
Une page web de configuration de votre compte github s’ouvre pour que vous puissiez y générer le token d’accès personnel à Github (en anglais PAT, pour personal access token).
Ne pas toucher aux choix par défaut et y générer le token en cliquant sur le bouton vert en bas ‘Generate token’.
Ce token personnel d’accès à Github est utile pour installer des packages depuis Github, avec la fonction remotes::install_github()
. Sans le token, l’utilisateur est soumis à des limitations de téléchargement.
Pour cela il faut le déclarer à Rstudio dans le .Renviron en créant une nouvelle variable : GITHUB_PAT=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
.
Si vous souhaitez contribuer à des projets hébergés sur la forge github, il vous faudra également déclarer ce token à git. Pour cela, lancer gitcreds::gitcreds_set()
depuis RStudio. A la question Enter new password or token:
repondre en indiquant GITHUB_PAT=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
.
Sur ce même écran, Rstudio vous permet de générer simplement la paire de clés d’authentification SSH via le bouton Create RSA key.
Il faut ensuite déclarer la clé publique dans son profil github ou gitlab pour être reconnu par le serveur automatiquement lorsqu’on lui envoie des modifications.
Sous Windows, vous trouverez votre clef publique sous C:\Users\VOTRENOM\.ssh
.
Sous gitlab, vous devrez la déclarer à l’adresse https://gitlab.com/-/profile/keys
Sous github, vous devrez la déclarer à l’adresse https://github.com/settings/ssh/new
La clé SSH permet de s’identifier de manière sûre et pratique mais, en raison de notre proxy, une manipulation supplémentaire est nécessaire pour que le protocole ssh fonctionne depuis un PC relié au réseau du ministère vers les forges web github.com et gitlab.com.
Trouver et récupérer le chemin vers le fichier connect.exe de votre répertoire d’installation de git, par exemple
C:/Program Files (x86)/Git/mingw64/bin/connect.exe
ou C:/Program Files/Git/mingw64/bin/connect.exe
.
Ouvrir le bloc note et y inscrire l’unique ligne de commande
ProxyCommand "/c/Program Files (x86)/Git/mingw64/bin/connect.exe" -H pfrie-std.proxy.e2.rie.gouv.fr:8080 %h %p
en adaptant éventuellement le chemin vers connect.exe
à votre propre répertoire d’installation de git.
Enregistrer ce fichier sous le nom ‘config’, sans l’extension .txt, dans le répertoire .ssh mentionné plus haut C:\Users\VOTRENOM\.ssh
.
La configuration de l’identification par clé SSH est terminée ! 🎉
Vous pouvez éditer votre fichier .Rprofile pour ajouter des informations par défaut qui seront exploitées par {usethis
} lors de la création de package.
Pour éditer votre .Rprofile :
usethis::edit_r_profile()
Vous pouvez ensuite rajouter ces informations :
options(
usethis.full_name = "Jean Claude Dusse",
usethis.protocol = "ssh",
usethis.description = list(
"Authors@R" = utils::person(
"Jean Claude", "Dusse",
email = "jcdusse@pays_merveilleux.fr",
role = c("aut", "cre"),
comment = c(ORCID = "JANE'S-ORCID-ID")
),
Version = "0.0.0.9000"
),
usethis.destdir = "~/the/place/where/I/keep/my/R/projects"
)
Ainsi à la création de vos packages, vous serez automatiquement rajouté en tant qu’auteur et créateur du package.