Déploiement d’un site sur GitLab avec RStudio
au Copil Mate-SHS

Author

Bénédicte Garnier & Solenne Roux

Published

May 20, 2025

Préambule

Lors de la 1ère démo à distance (le 7 mai 2025), le copil de Mate-SHS a créé un site avec Quarto dans RStudio en copiant ET SO-SHS de Timothée Giraud. Ce site existe en local sur l’ordinateur et il s’agit maintenant de le mettre en ligne sur une page dédiée de GitLab.

Dossier contenant fichiers nécessaires à la création du site

Pour rappel, ce dossier contient :

  • images qui est le dossier contenant les images insérées dans les documents quarto,
  • _quarto.yml où est spécifié que le projet est un site web,
  • Accueil.qmd qui est le document correspondant à la page d’accueil du site avec du texte,
  • Equipe.qmd qui génère la page de présentation de l’équipe organisatrice de l’ET,
  • Informations et Inscriptions qui sont d’autres pages du site,
  • stylesBG.css qui est le fichier où on paramètre l’apparence générale du site.

Une fois ce site généré par quarto render, le dossier _site créé contient les fichiers html qui peuvent être transmis sous forme de fichier zip (par exemple) ou mis en ligne sur une instance github ou gitlab (d’Huma-Num par exemple).

Contenu du dossier _site

Nous montrons ici comment déployer ce site sur une page dédiée du Git huma-Num. dans un premier temps, il s’agit de créer un projet sur GitLab, puis de le lier à RStudio et enfin de le déployer.

Pour rappel : Page introductive de Solenne

Avant de commencer, il faut que Git soit installé sur votre machine.

Création d’un projet sur GitLab

Il faut se connecter sur le gitlab d’Huma-Num.

Une fois connecté, nous allons pouvoir créer un Nouveau projet à partir d’un modèle (Create from template).
Le nom de votre projet doit être simple car il sera intégré à l’URL du site une fois déployé). Ici il s’appelle Test_deploy_site.

Il faut choisir le modèle PagesPlan HTML.

Puis, il faudra indiquer une visibilité publique pour pouvoir le déployer par la suite.
Puis Créer le projet Create project.

Le projet test_depoy_site contient un dossier public et un fichier .yml.

Il ne faut pas les modifier.

Il faut maintenant créer un pipeline de déploiement. Pour cela, il faut aller dans le menu CI/CD (à gauche) puis dans le menu Build (compilation), aller dans Pipelines/new pipeline

Dans le menu Pages (à gauche), aller dans Settings et décocher use unique domain.

Dans le menu Settings ,General (à gauche) aller dans Visibility, project features, permissions.

Laisser Project visibility à Private

et en bas dans Pages mettre Everyone.

Et Enregistrer les modifications.

Il va faut maintenant relier le projet local (le site) à ce projet en ligne.

On va utiliser la clef de cryptage SSH mais on pourrait aussi utiliser le token (jeton d’identification) ou (on utilise ça !)

Phase intermédiaire

A faire la première fois seulement

Récupérer votre clé SSH liée à RStudio et l’ajouter à votre compte GitLab

Pour cela, aller dans Tools, Global Options de RStudio et Git/SVN et afficher la clé SSH (View public key).

Aller dans le menu Préférences de votre compte GitLab (en haut à droite)

et dans SSH Keys et coller la clé SSH récupérée de RStudio.

Récupérer la clé SSH du projet

Il faut maintenant récupérer la clé SSH du projet GitLab pour la lier au projet R dans RStudio.

Cliquer sur le bouton Code et copier l’URL SSH (pas l’URL HTTPS).

Créer un dossier local sur votre ordinateur pour y mettre le projet GitLab.

Les éléments du site à déployer seront placés ici (ex. test_deploy_site).

Déployer le site sur GitLab avec RStudio

Créer un Nouveau projet de type Version Control puis Git et coller l’URL SSH du prjet GitLab dans l’espace Repository URL.

Il faut choisir le dossier dans lequel vous avez créé le projet (ici test_deploy_site) et cliquer sur Create project.

Les éléments du projet GitLab test_deploy_site sont maintenant dans le dossier de ce nouveau projet RStudio crée.

Y ajouter les éléments du site qui a été crée en local.

Attention à ne pas copier le dossier public et le fichier .yml qui sont déjà présents dans le projet GitLab. Modifier le fichier _quarto.yml pour ajouter output-dir: public

Utiliser le bouton Render pour générer le site (càd créer les fichiers .html qui se placeront dans le dossier Public.

On peut utiliser les boutons Pull puis Commit et Push et de l’onglet Git pour déployer ou mettre à jour le site sur GitLab. Attention à mettre toujours un message dans la partie Commit message pour indiquer ce que vous avez fait.

Le site a été générée sur Gitlab.

Il faut maintenant aller dans le projet GitLab pour voir si fichiers y sont. On peut retrouver son adresse en allant sur Deploy, Pages et en cliquant sur le lien on vérifie que le site a bien été déployé.

Pour terminer, indiquer l’adresse du site dans le fichier Readme.md du projet GitLab.

Modifier une page du site

On a fait une modification sur le programme.

On peu maintenant sélectionner les fichiers disponibles dans l’onglet Git faire un Pull puis Commit et un Push pour mettre à jour le site sur GitLab !