Comment connecter mon projet Quarto Rstudio avec une forge ?

Author

Bénédicte Garnier & Solenne Roux

Se connecter à une forge

Deux solutions :

Github

Gitlab

En tant qu’utilisatrices de Gitlab nous ne présenterons que cette option dans ce tuto@Mate. Mais vous retrouverez plein de détails pour vous connecter sur une instance github ou gitlab sur le support de Marc Thévenin1.

Connecter un projet à Gitlab

Utilisation de l’instance Gitlab d’Huma-Num. Il vous faut un compte Huma-Num pour vous y connecter. La connexion est par ici.

Deux solutions :

  • Se connecter avec un token -

  • Se connecter via une clef SSH -

Dans les 2 cas, afin de créer un token ou une clef SSH il faudra vous rendre au même endroit :

  • Dans la forge : Il faudra cliquer sur l’avatar de votre profil et sélectionner “Edit profile”
  • Dans Rstudio : Selon que vous choisissiez la clef SSH ou le token, les chemins seront différents.

Pour la clef SSH : Aller dans l’onglet Tools puis cliquer sur Global Options… et ensuite aller dans la partie intitulée Git/SVN. A cet endroit vous pouvez vérifier que votre Rstudio pointe bien sur l’exécutable de git et vous pourrez choisir de créer une clef SSH ou d’en coller une importée depuis votre forge.

Pour le token : Vous aurez besoin d’installer le package gitcreds.

install.packages("gitcreds")
library(gitcreds)

Dans les 2 cas, il va falloir configurer l’installation de Git (ou vérifier que tout est bien installé). Normalement Git est installé par défaut lors de l’installatin de Rstudio. Toutefois, il est conseillé de télécharger la dernière version directement afin de s’assurer d’avoir une version récente, à jour.

Pour ça, dans le terminal, vous devez configurer votre nom et votre adresse mail via les 2 instructions suivantes :

git config –global user.name “John Doe”

git config –global user.email johndoe@example.com

L’onglet terminal est situé à côté de l’onglet “Console” dans la vue par défaut de Rstudio.

Se connecter avec un token

L’idée du token ou jeton est d’être spécifique à chaque projet. Il se créé dans la forge ou dans Rstudio et se colle dans l’autre interface pour faire le lien entre le projet local et celui en ligne, sur la forge donc.

Créer un token

  • Dans la forge (ici Gitlab d’huma-num) :

Cliquer sur Access tokens puis sur le bouton en haut à droite Add new token.

Puis ensuite dans Personal access token cocher Read reprository et Write reprository.

Puis, il sera nécessaire de récupérer le token afin de l’intégrer à Rstudio en cliquant sur le nom du token.

Lier le projet

Maintenant que nous avons notre jeton, il va falloir l’indiquer à Rstudio. Nous avons précédemment installé le package gitcreds, il va falloir à présent l’exécuter avec la commande suivante :

library(gitcreds)
gitcreds_set(url = "https://gitlab.huma-num.fr/")

Il est important d’indiquer l’adresse précise de la forge pour que le lien s’opère.

Le code alors exécuté va générer cette question dans la console : “? Enter new password or token: ”. C’est à cette étape qu’il faudra coller le token créé précédemment dans l’instance Gitlab d’huma-num. Il faut le coller à côté des deux petit point “:”.

Plus d’informations sur l’inénarrable support de Marc Thévenin.

Se connecter avec une clef SSH

L’idée de la clef SSH est d’être spécifique à chaque ordinateur de travail, mais peut être la même pour l’ensemble de vos projets. Tout comme pour le token, la clef SSH se créé dans la forge ou dans Rstudio et se colle dans l’autre interface pour faire le lien entre le projet local et celui en ligne.

Créer une clef SSH

  • Dans la forge (ici Gitlab d’huma-num) :

Cliquer sur SSH Keys puis sur le bouton en haut à droite Add new key.

Une nouvelle clef se créé et il faut cliquer sur son nom (titre) pour pouvoir la récupérer afin ensuite de la coller dans Rstudio.

  • Dans Rstudio :

Cette étape a été détaillée précédemment sur la création d’une clef SSH dans Rstudio : Connecter un projet à Gitlab -> Dans Rstudio -> Pour la clef SSH.

Lier le projet

Pour lier le projet avec une clef SSH c’est assez simple. Si celle-ci a tout d’abord été créé dans Rstudio, il suffit de l’éditer en cliquant sur view public key et de la copier. Pour ensuite la coller dans l’instance Gitlab en créant une nouvelle clef.

Si la clef SSH a été créé en premier lieu dans l’instance Gitlab, il suffit de l’éditer en cliquant sur son nom (titre) et de la copier. Pour ensuite la coller dans Rstudio en cliquant sur Create SSH Key.

Déployer un projet

Pour déployer un projet, c’est comme pour les connecteurs (clef SSH ou jetons), il faut soit le créer d’abord en local (dans un IDE de type Rstudio), soit sur une forge de type Gitlab, et relier les deux projets via l’adresse du dossier (pour le projet local) ou l’url (pour le projet sur la forge). Dans tous les cas, afin d’être visible en ligne, le projet devra être déployé sur la forge.

En résumé, dans les 2 cas il faudra créer 2 projets : un dans Rstudio et l’autre dans la forge.

Créer un projet dans Gitlab

Afin de créer un projet dans Gitlab, il existe 3 solutions :

  • Soit importer un projet qui proviendrait d’une autre forge : Import project

  • Soit créer un projet à partir d’un template. Comme ce qui a été présenté lors d’une formation interne au Copil Mate. Create from template

  • Soit créer un projet from scratch, à partir d’une coquille vide où tout est à construire. Create blank project

Dans notre présentation nous allons sélectionner l’option Create blank project.

Une fois cette option sélectionnée il vous faudra choisir le nom de ce projet, qui indiquera une partie de l’URL qui pointera vers ce projet. Il faudra également indiquer s’il s’agit d’un projet privé, interne ou public. Toutefois, ces éléments seront accessibles ultérieurement et modifiables. Donc si vous ne savez pas si vous souhaitez ouvrir complètement votre projet dès le début ou pas, vous pourrez changer d’avis en cours de route.

Une fois ces choix réalisés, n’oubliez pas de cliquer sur Create project.

Créer un projet dans Rstudio

Toutes les informations concernant la création du projet dans Rstudio, de son lien à Gitlab et des différents éléments créés sont détaillés dans la partie Créer les éléments du projet.

Footnotes

  1. La page du support de Marc Thévenin consacrée à la connection aux forges est accessible via ce lien.↩︎