pipeline status coverage report

L’objectif de {conjdown} est de proposer un template de rapport avec ‘paged.js’ pour la Conjoncture.

Présentation

{conjdown} permet de créer un projet R / git pour la rédaction de rapports HTML, pdf et odt de manière automatisé.

  • La création d’un projet avec {conjdown} donne toutes les instructions pour mettre en place le projet en local et sur GitLab dans les bonnes conditions.
  • Vous pourrez travailler à plusieurs dans des branches git identifiées, en suivant la méthode PROPRE, que vous soyez développeur R, rédacteur ou validateur de contenu markdown.
  • Les rapports seront générés de manière automatique par GitLab au format HTML mis en forme, au format PDF ou en odt si besoin, et rendus accessibles aux participants au projet.

Installation

Installation avec drat

install.packages(
  "conjdown",
  repos = c("https://propre-conj.pages.lab.sspcloud.fr/drat", getOption("repos"))
)

Autres manières d’installer si nécessaire

Pour installer le package depuis GitLab, vous pouvez lancer les commandes suivantes (en mettant votre username et password) :

credentials <- git2r::cred_user_pass("username", "password")
# install.packages("remotes")
remotes::install_git(url = "https://git.lab.sspcloud.fr/propre-conj/conjdown",
                     credentials = credentials)

Si cela de fonctionne pas, essayer

install.packages("remotes")

system('git clone "https://git.lab.sspcloud.fr/propre-conj/conjdown"')
remotes::install_local("conjdown", force = TRUE, upgrade = FALSE)
unlink("conjdown", recursive = TRUE, force = TRUE)

En cas de problème

Cette section s’adresse aussi à celles et ceux qui veulent pouvoir modifier le package {conjdown}.

S’assurer d’avoir un vrai compte GitLab

Sur GitLab : - Editer votre profil + https://git.lab.sspcloud.fr/-/profile - Menu “Password” + Cliquer sur “I forgot my password” - Aller chercher le mail pour mettre à jour le password + Mettre à jour le password

Si vous voyez un bandeau sur le serveur GitLab qui vous demande de changer votre mot de passe, il est nécessaire de le faire.

Test clone et push

Dans RStudio

  • File > New Project > Version Control > Git
  • Dans l’onglet Git
    • Creer une nouvelle branche avec le bouton violet et l’option “sync remote” nommée ma_branche_prenom
  • Si ça ne fonctionne pas totalement = la branche est créée mais j’ai eu un message d’erreur à la fin par GitLab
    • Push depuis le Terminal de RStudio
    • git push -u origin ma_branche_prenom
  • On vous demande votre identifiant et mot de passe pour GitLab
  • Enregistrer les credentials

Problème de proxy - détecter et gérer

  • Tester d’installer un package depuis GitHub. Si cela fonctionne, c’est que le proxy est correctement configuré.
remotes::install_github("ThinkR-open/fusen")
  • Si ça ne marche pas pour GitHub et que vous savez qu’il y a des histoires de proxy, sachez que l’accès à un GitLab extérieur à votre réseau nécessite la même configuration que pour installer un package depuis GitHub.
    • Vous aurez peut-être à définir le proxy avant de lancer la commande d’installation précédente.
      • Si vous êtes dans l’entreprise et accédez au GitLab extérieur, vous devrez récupérer l’url du proxy pour sortir du réseau
    • Vous pouvez définir ce proxy pour le temps de l’installation, dans votre session R
      Dans R
# Récupérer le proxy original
http_proxy <- Sys.getenv("http_proxy")
https_proxy <- Sys.getenv("https_proxy")

# Faire un test de téléchargement d'un package public sur GitHub
remotes::install_github("ThinkR-open/attachment")

# Si GitHub ne fonctionne pas, definissez le proxy et ré-essayer
# Dans les 2 lignes ici, vous avez probablement le même proxy avec http, sans le 's'
Sys.setenv(http_proxy = "http://mon.proxy.pour.sortir.fr")
Sys.setenv(https_proxy = "http://mon.proxy.pour.sortir.fr")

# Si GitHub est ok, vérifier votre nom utilisateur et mot de passe sur le serveur GitLab et installer le présent projet
install.packages("remotes")

system('git clone "https://git.lab.sspcloud.fr/propre-conj/conjdown"')
remotes::install_local("conjdown", force = TRUE, upgrade = FALSE)
unlink("conjdown", recursive = TRUE, force = TRUE)

# Remettre le proxy original
Sys.setenv(http_proxy = http_proxy)
Sys.setenv(https_proxy = https_proxy)

Si vraiment vous n’arrivez pas à push/pull depuis GitLab, il est possible de modifier les proxy de git (mais c’est peu probable que ce soit nécessaire)

Dans le Terminal

git config --global http.https://git.lab.sspcloud.fr.proxy "http://mon.proxy.pour.sortir.fr"
git config --global http.https://git.lab.sspcloud.fr.sslverify "false"

    + Si vous êtes **à la maison**, vous pouvez probablement retirer le proxy  

Dans le Terminal

git config --global http.https://git.lab.sspcloud.fr.proxy ""
git config --global http.https://git.lab.sspcloud.fr.sslverify "false"

En dernier recours pour l’installation

  • Si rien de tout cela n’a fonctionné, il reste encore un espoir, c’est de télécharger l’archive depuis l’interface GitLab directement et d’installer le zip téléchargé.
remotes::install_local(path = "conjthemes-master.zip")

Utilisation

Notez que les étapes suivantes sont rappelées dans un fichier ‘dev/dev_history_book.Rmd’ à l’intérieur du projet créé.

Créer un nouveau projet {conjdown} de manière interactive

  • Avec Rstudio directement :
    • File > New Project > New Directory > “INSEE” New Project using conjdown
  • Activer git et relier à GitLab
    • Créer un projet sur GitLab
    • usethis::use_git() : Répondre ok à toutes les questions
    • usethis::use_git_remote(url = '<url du projet GitLab>')
  • Commencer à rédiger le contenu
  • Compiler le livre pour voir à quoi cela ressemble
    • Onglet “Build” > Build book > Choisir “conjdown” dans le menu déroulant
  • Envoyer sur le serveur GitLab

Les guides :

Ressources

Template copié de {pagedreport}

Pour le remettre à jour dans le package, vous pouvez exécuter le code dans “data-raw/bookdown-template.R”. Pensez à le faire si vous constatez des problèmes de placement des pages qui pourraient être dûs à des changements dans {paged.js} et/ou {pagedown}

Licence

Copyright 2021 ThinkR. All rights reserved.