Guide des outils
Nikita Gusarov
Cette publication est orienté vers les étudiants qui vont suivre des cours ou faire de Projets / mener des TER avec moi cette année. Elle vise à proposer un aperçu des outils essentiels pour faciliter et simplifier le travail. Particulièrement :
- Git
- GitHub/GitLab/BitBucket (ici nous parlerons du GitLab hebergé par GRICAD)
- LaTeX
- Markdown
- RMarkdown
Ce sont des outils principaux pour bien organiser son travail de la recherche et pouvoir l’accompagner par des supports numeriques.
Git
Git est un des outils de contrôle des versions (SVN, Mercurial-SCM), lequel permet de facilement contrôler les changements et modifications dans des documents textes. Il faut noter, que cet outil n’est pas pratique que pour le travail avec les documents texte simples: il reste absolument impratique pour le travail avec les documents office (Word, Excel, etc). Plusieurs éditeurs de texte pour les développeurs (RStudio, VSCode, Atom, etc.) offrent des possibilités pour intégrer git directement dans l’éditeur. Cela permet d’interagir avec git avec beaucoup plus d’aise que à travers la ligne de commande ou un client git à part.
Après installation il est obligatoire à créer son identifiant (sa signature pour les commits). Cette signature comprend l’identifiant d’utilisateur (user.name) et son email (il vaut mieux qu’ils correspondent au identifiants utilisés sur GitHub). Les commandes sont suivantes :
git config --global user.name "Name"
git config --global user.email "mail@mail.com"
Sans cela il sera impossible d’utiliser la fonctionnalité du git.
Pour initier git dans un dossier de travail il suffit d’utiliser la ligne de commande (quand même il existent des méthodes plus simples avec les fonctionnalités de GitHub et les outils intégrés des éditeurs) :
cd "PATH_to_project"
git init
GitLab (Gricad-GitLab)
GitLab à son tour est une plateforme coopérative proposée comme une alternative à plateforme GitHub développée par Microsoft facilitant le travail avec le service de contrôle des versions git.
Nous allons utiliser sa version offerte par le centre de calcul universitaire GRICAD - Gricad-GitLab Cette plateforme offre à la fois :
- Un espace cloud pour héberger les dossiers de travail et publier les résultats
- Un interface web (et desktop, si besoin) pour interagir avec git
- Une plateforme facilitant la collaboration avec les autres utilisateurs
- Une système de gestion des projets intégrée
En ce qui concerne les alternatives de git il existent également des plateformes similaires (Google Code pour SVN).
Pour utiliser Gricad-GitLab il faut se connecter à la plateforme en utilisant ses identifiants AGALAN. On peut ensuite lier les repos distantes à des projets locales. La façon la plus simple à le faire est de créer (ou trouver un repo existant) et le cloner ensuite sur une machine locale avec git clone (il suffit de connaitre l’adresse url du repo). Dans le cas d’utilisation du git à partir de la ligne de commande :
git clone [url]
git clone https://gricad-gitlab.univ-grenoble-alpes.fr/name/repo.git
Autres actions étant au cœur du git sont :
- Pull permet de synchroniser le dossier de travail avec le repo distant :
git pull [url]
- Commit qui sert d’enregistrer les différences entre l’état actuel du dossier de travail et le dernier état sauvegardé (commande exécuté dans le dossier de travail avec .git) :
git commit -m "[Commentaire]"
- Push permet d’envoyer les changements dans le dossier de travail vers le repo distant :
git push [source] [branche]
git push origin master
Toutes ces commandes d’habitude sont intégré dans l’éditeur, ce qui évite l’interaction avec la ligne des commandes. Pour plus d’information sur la fonctionnalité du git on peut voir ici et ici pour GitHub ou ici pour Gricad-GitLab.
En ce qui concerne l’intégration du git dans les GUI des différents éditeurs voici les guides :
LaTeX
LaTeX est un langage de markup complet. Il existe plusieurs distributions de LaTeX, une des versions vérifiées à bien s’intégrer avec R est MikTeX. Pour profiter de la fonctionnalité complète de LaTeX il faut également installer une distribution de Perl (Strawberry Perl est la plus compacte pour Windows).
Markdown
Markdown est un langage de markup simplifié, permettant de transformer des documents avec un syntaxe simple vers des documents PDF, HTML et Word à laide du convertisseur pandoc. Il faudra donc installer pandoc séparément (sauf si on n’utilise le RStudio).
Les essentiels du syntaxe de Markdown se trouvent ici ou ici.
RMarkdown
RMarkdown est une extension pour Markdown, laquelle y intègre la langue R. Il existent des outils similaires pour des autres langues: PMarkdown pour Python ou JMarkdonw pour Julia.
Afin de pouvoir compiler les rapports il existent des dépendances :
- HTML exige pandoc (lequel vient préinstallé avec RStudio)
- PDF exige pandoc et LaTeX (le plus simple à intégrer est le MikTeX)
- Word exige pandoc et LaTeX (à vérifier)
De plus, en fonction du format de sortie on peut utiliser les éléments spécifiques. Par exemple, si on génère un document PDF, on peut utiliser les commandes LaTeX (également, pour créer un document HTML on peut intégrer les éléments html dans le texte).