diff --git a/module2/ressources/rstudio.md b/module2/ressources/rstudio.md
index 842365d7a77d8e47cf364b9f66a4a36e0b3e74b9..58d6a87784995356af2acfbe7546d2db273ffba7 100644
--- a/module2/ressources/rstudio.md
+++ b/module2/ressources/rstudio.md
@@ -1,51 +1,68 @@
---
-TITLE: Rstudio
-Date: Tue Feb 19 19:19:03 2019
+title: Rstudio
+date: Tue Feb 19 19:19:03 2019
---
-Table of Contents
-==============================================================
+# Table of Contents TOC
-- [Installing RStudio](#installing-rstudio)
- - [Linux (debian, ubuntu)](#linux-debian-ubuntu)
- - [Mac OSX and Windows](#mac-osx-and-windows)
-- [RStudio documentation](#rstudio-documentation)
-- [Using Git from RStudio](#using-git-from-rstudio)
- - [Cloning a repository](#cloning-a-repository)
- - [Modifying a file](#modifying-a-file)
+ - [Installing RStudio](#installing-rstudio)
+ - [Linux (debian, ubuntu)](#linux-debian-ubuntu)
+ - [Mac OSX and Windows](#mac-osx-and-windows)
+ - [RStudio documentation](#rstudio-documentation)
+ - [Using Git from RStudio](#using-git-from-rstudio)
+ - [Cloning a repository](#cloning-a-repository)
+ - [Modifying a file](#modifying-a-file)
-Installing RStudio
-==================
+# Installing RStudio
-Linux (debian, ubuntu)
-----------------------
+## Linux (debian, ubuntu)
-We provide here only instructions for Debian-based distributions. Feel free to contribute to this document to provide up-to-date information for other distributions (e.g., RedHat, Fedora).
+We provide here only instructions for Debian-based distributions. Feel
+free to contribute to this document to provide up-to-date information
+for other distributions (e.g., RedHat, Fedora).
-Today, the stable versions of the most common distributions provide recent enough versions of R:
+Today, the stable versions of the most common distributions provide
+recent enough versions of R:
-- Debian (stretch) ships with [R 3.3.3-1](https://packages.debian.org/stretch/r-base), [knitr 1.15.1](https://packages.debian.org/stretch/r-cran-knitr), and [ggplot 2.2.1](https://packages.debian.org/stretch/r-cran-ggplot2)
-- Ubuntu (bionic 18.04) ships with [R 3.4.4](https://packages.ubuntu.com/bionic/r-base), and [knitr 1.17](https://packages.ubuntu.com/bionic/r-cran-knitr), and [ggplot 2.2.1](https://packages.ubuntu.com/bionic/r-cran-ggplot2)
-- Ubuntu (artful 17.04) ships with [R 3.4.2](https://packages.ubuntu.com/artful/r-base), and [knitr 1.15](https://packages.ubuntu.com/artful/r-cran-knitr), and [ggplot 2.2.1](https://packages.ubuntu.com/artful/r-cran-ggplot2)
+ - Debian (stretch) ships with
+ [R 3.3.3-1](https://packages.debian.org/stretch/r-base),
+ [knitr 1.15.1](https://packages.debian.org/stretch/r-cran-knitr),
+ and
+ [ggplot 2.2.1](https://packages.debian.org/stretch/r-cran-ggplot2)
+ - Ubuntu (bionic 18.04) ships with
+ [R 3.4.4](https://packages.ubuntu.com/bionic/r-base), and
+ [knitr 1.17](https://packages.ubuntu.com/bionic/r-cran-knitr), and
+ [ggplot 2.2.1](https://packages.ubuntu.com/bionic/r-cran-ggplot2)
+ - Ubuntu (artful 17.04) ships with
+ [R 3.4.2](https://packages.ubuntu.com/artful/r-base), and
+ [knitr 1.15](https://packages.ubuntu.com/artful/r-cran-knitr), and
+ [ggplot 2.2.1](https://packages.ubuntu.com/artful/r-cran-ggplot2)
-If your distribution is older than this, well, it may be a good time for upgrading...
+If your distribution is older than this, well, it may be a good time for
+upgrading…
### Installing R
-First, you need to install the R language and convenient packages by running (as root):
+First, you need to install the R language and convenient packages by
+running (as
+root):
``` shell
apt-get update ; sudo apt-get install r-base r-cran-knitr r-cran-ggplot2
```
-Alternatively, if the installation of `r-cran-gplot2` or `r-cran-knitr` fails, you may want to install them locally (through the R packaging system) and manually by running the following commands in R (or RStudio):
+Alternatively, if the installation of `r-cran-gplot2` or `r-cran-knitr`
+fails, you may want to install them locally (through the R packaging
+system) and manually by running the following commands in R (or
+RStudio):
``` r
install.packages("knitr")
install.packages("ggplot2")
```
-If you plan to export pdf documents with LaTeX, you probably also want to run (as root):
+If you plan to export pdf documents with LaTeX, you probably also want
+to run (as root):
``` bash
apt-get update ; apt-get install texlive-base
@@ -53,7 +70,11 @@ apt-get update ; apt-get install texlive-base
### Installing RStudio
-RStudio is unfortunately not packaged within Debian so the easiest is to download the corresponding Debian package on the [RStudio webpage](https://www.rstudio.com/products/rstudio/download/#download) and then to install it manually (you may have to adjust the version number in the following example). Here is how to install it:
+RStudio is unfortunately not packaged within Debian so the easiest is to
+download the corresponding Debian package on the [RStudio
+webpage](https://www.rstudio.com/products/rstudio/download/#download)
+and then to install it manually (you may have to adjust the version
+number in the following example). Here is how to install it:
``` shell
cd /tmp/
@@ -62,96 +83,174 @@ sudo dpkg -i rstudio-xenial-1.1.453-amd64.deb
sudo apt-get update ; sudo apt-get -f install # to fix possibly missing dependencies
```
-Mac OSX and Windows
--------------------
+## Mac OSX and Windows
-> Some instructions on installing R and knitr must be missing. This should be tested and improved.
+> Some instructions on installing R and knitr must be missing. This
+> should be tested and improved.
-- Download and install R from the [CRAN webpage](https://cran.r-project.org/) by choosing the right operating system.
-- Download and install RStudio from the [RStudio webpage](https://www.rstudio.com/products/rstudio/download/#download) by choosing the right operating system.
-- Download and install MiKTeX from the [MiKTeX webpage](https://miktex.org/download) by choosing the right operating system. You will be prompted to install some specific packages when exporting to pdf.
-- Open RStudio and type the following commands in the console to install `knitr` and `ggplot2`:
+ - Download and install R from the [CRAN
+ webpage](https://cran.r-project.org/) by choosing the right
+ operating system.
+ - Download and install RStudio from the [RStudio
+ webpage](https://www.rstudio.com/products/rstudio/download/#download)
+ by choosing the right operating system.
+ - Download and install MiKTeX from the [MiKTeX
+ webpage](https://miktex.org/download) by choosing the right
+ operating system. You will be prompted to install some specific
+ packages when exporting to pdf.
+ - Open RStudio and type the following commands in the console to
+ install `knitr` and `ggplot2`:
+
+
``` r
install.packages("knitr", dep=TRUE)
install.packages("ggplot2", dep=TRUE)
```
-RStudio documentation
-=====================
-
-The RStudio team has created a lot of very good material and tutorials. You should definitively look at the [Cheat sheets webpage](https://www.rstudio.com/resources/cheatsheets/). In particular you may want to have look at the following ones:
-
-- [The RStudio IDE](https://github.com/rstudio/cheatsheets/raw/master/rstudio-ide.pdf),
-- [R Markdown](https://github.com/rstudio/cheatsheets/raw/master/rmarkdown-2.0.pdf) (here is also a [nice step-by-step presentation of Rmarkdown](https://rmarkdown.rstudio.com/)),
-- The [R Markdown Reference guide](https://www.rstudio.com/wp-content/uploads/2015/03/rmarkdown-reference.pdf),
-- [Data visualization with ggplot2](https://github.com/rstudio/cheatsheets/raw/master/data-visualization-2.1.pdf),
-- [Data transformation with dplyr](https://github.com/rstudio/cheatsheets/raw/master/data-transformation.pdf)
-
-In case it helps, here are some (sometimes outdated) French versions of these documents:
-
-- [L'IDE RStudio](https://github.com/rstudio/cheatsheets/raw/master/translations/french/rstudio-IDE-cheatsheet.pdf)
-- [Visualisation de données avec ggplot2](https://github.com/rstudio/cheatsheets/raw/master/translations/french/ggplot2-french-cheatsheet.pdf)
-- [Transformation de données avec dplyr](https://github.com/rstudio/cheatsheets/raw/master/translations/french/data-wrangling-french.pdf)
-- [Un court document sur R Markdown](https://www.fun-mooc.fr/c4x/UPSUD/42001S02/asset/RMarkdown.pdf)
-
-Using Git from RStudio
-======================
-
-If you have never used git with RStudio, **we strongly advise that you follow [our tutorial on using git from RStudio](https://www.fun-mooc.fr/courses/course-v1:inria+41016+session02/jump_to_id/d132a854b0464ad29085cedaded23136)** (/"RStudio et Gitlab"/ in French). Before proceeding, make sure you also have followed the **["git/GitLab configuration" tutorial](https://www.fun-mooc.fr/courses/course-v1:inria+41016+session02/jump_to_id/7508aece244548349424dfd61ee3ba85)** (in French).
-
-Alternatively, you may want to watch [this video](https://www.youtube.com/embed/uHYcDQDbMY8) (in English). If you do not like videos, you should have a look at the [step-by-step explanations from Software Carpentry](https://swcarpentry.github.io/git-novice/14-supplemental-rstudio/index.html). It comes with many screenshots and is quite progressive.
-
-Cloning a repository
---------------------
+# RStudio documentation
+
+The RStudio team has created a lot of very good material and tutorials.
+You should definitively look at the [Cheat sheets
+webpage](https://www.rstudio.com/resources/cheatsheets/). In particular
+you may want to have look at the following ones:
+
+ - [The RStudio
+ IDE](https://github.com/rstudio/cheatsheets/raw/master/rstudio-ide.pdf),
+ - [R
+ Markdown](https://github.com/rstudio/cheatsheets/raw/master/rmarkdown-2.0.pdf)
+ (here is also a [nice step-by-step presentation of
+ Rmarkdown](https://rmarkdown.rstudio.com/)),
+ - The [R Markdown Reference
+ guide](https://www.rstudio.com/wp-content/uploads/2015/03/rmarkdown-reference.pdf),
+ - [Data visualization with
+ ggplot2](https://github.com/rstudio/cheatsheets/raw/master/data-visualization-2.1.pdf),
+ - [Data transformation with
+ dplyr](https://github.com/rstudio/cheatsheets/raw/master/data-transformation.pdf)
+
+In case it helps, here are some (sometimes outdated) French versions of
+these documents:
+
+ - [L'IDE
+ RStudio](https://github.com/rstudio/cheatsheets/raw/master/translations/french/rstudio-IDE-cheatsheet.pdf)
+ - [Visualisation de données avec
+ ggplot2](https://github.com/rstudio/cheatsheets/raw/master/translations/french/ggplot2-french-cheatsheet.pdf)
+ - [Transformation de données avec
+ dplyr](https://github.com/rstudio/cheatsheets/raw/master/translations/french/data-wrangling-french.pdf)
+ - [Un court document sur R
+ Markdown](https://www.fun-mooc.fr/c4x/UPSUD/42001S02/asset/RMarkdown.pdf)
+
+# Using Git from RStudio
+
+If you have never used git with RStudio, **we strongly advise that you
+follow [our tutorial on using git from
+RStudio](https://www.fun-mooc.fr/courses/course-v1:inria+41016+session02/jump_to_id/d132a854b0464ad29085cedaded23136)**
+(*"RStudio et Gitlab"* in French). Before proceeding, make sure you also
+have followed the **["git/GitLab configuration"
+tutorial](https://www.fun-mooc.fr/courses/course-v1:inria+41016+session02/jump_to_id/7508aece244548349424dfd61ee3ba85)**
+(in French).
+
+Alternatively, you may want to watch [this
+video](https://www.youtube.com/embed/uHYcDQDbMY8) (in English). If you
+do not like videos, you should have a look at the [step-by-step
+explanations from Software
+Carpentry](https://swcarpentry.github.io/git-novice/14-supplemental-rstudio/index.html).
+It comes with many screenshots and is quite progressive.
+
+## Cloning a repository
Open RStudio and do the following steps:
-- Create a new version controled project: `File / New Project / Version Control`
-
+ - Create a new version controled project: `File / New Project /
+ Version Control`
+
+
+

-
+

+
+
-- Get the URL from your GitLab repository:
-
+ - Get the URL from your GitLab repository:
+
+
+

-
-- Indicate this URL in the "Repository URL" field (*you may want to prefix this URL with `xxx@` where `xxx` is* *your Gitlab id to avoid repeatedly giving it later on*).
-
+
+
+
+ - Indicate this URL in the "Repository URL" field (*you may want to
+ prefix this URL with `xxx@` where `xxx` is* *your Gitlab id to avoid
+ repeatedly giving it later on*).
+
+
+

+
+
+
+ - If you're behind a proxy, git should be configured accordingly.
+ Check the ["Dealing with proxies"
+ section](https://www.fun-mooc.fr/courses/course-v1:inria+41016+session02/jump_to_id/7508aece244548349424dfd61ee3ba85).
-- If you're behind a proxy, git should be configured accordingly. Check the ["Dealing with proxies" section](https://www.fun-mooc.fr/courses/course-v1:inria+41016+session02/jump_to_id/7508aece244548349424dfd61ee3ba85).
-- Git will then connect to Gitlab and fetch a whole copy of the repository.
-- RStudio should restart in a mode related to Git:
+ - Git will then connect to Gitlab and fetch a whole copy of the
+ repository.
+ - RStudio should restart in a mode related to Git:
+
+
+

+
+
-- The file manager on the right, allows you to browse the version controled repository.
+ - The file manager on the right, allows you to browse the version
+ controled repository.
-Modifying a file
-----------------
+## Modifying a file
-- Open `Module2/exo1/toy_document.Rmd` and perform a simple modification.
-- Save
-- Go to the Git menu to commit
+ - Open `Module2/exo1/toy_document.Rmd` and perform a simple
+ modification.
- 
+ - Save
+ - Go to the Git menu to commit
+
+
+
+ 
+

+
+
-- Select the lines to commit and then click on `commit`
-
+ - Select the lines to commit and then click on `commit`
+
+
+

-
- Your modifications have now been commited on your local machine. They haven't been propagated to GitLab yet.
-- Click on `push` to propagate them on GitLab
-
+
+
+
+ Your modifications have now been commited on your local machine.
+ They haven't been propagated to GitLab yet.
+
+ - Click on `push` to propagate them on GitLab
+
+
+

-
+

-
+

-
- **NB**: You won't be able to propagate your modifications on GitLab if some modifications have been done on GitLab in the meantime. 
-- You should first merge these remote modifications locally. Click on `pull` to get these modifications on your machine.
+
+
+
+ **NB**: You won't be able to propagate your modifications on GitLab
+ if some modifications have been done on GitLab in the meantime.
+ 
+
+ - You should first merge these remote modifications locally. Click on
+ `pull` to get these modifications on your machine.
diff --git a/module2/ressources/rstudio_fr.md b/module2/ressources/rstudio_fr.md
index 0bc364904aa86dac7ba3e1c55893ae9feb68b981..4ed72527995e256425d5866b994d911762541d3e 100644
--- a/module2/ressources/rstudio_fr.md
+++ b/module2/ressources/rstudio_fr.md
@@ -1,51 +1,67 @@
---
-TITLE: Rstudio
-Date: Tue Feb 19 19:19:03 2019
+title: Rstudio
+date: Tue Feb 19 19:19:03 2019
---
-Table des matières
-===============================================================
+# Table des matières TOC
-- [Installer RStudio](#installer-rstudio)
- - [Linux (debian, ubuntu)](#linux-debian-ubuntu)
- - [Mac OSX and Windows](#mac-osx-and-windows)
-- [Documentation RStudio](#documentation-rstudio)
-- [Utiliser Git avec RStudio](#utiliser-git-avec-rstudio)
- - [Cloner un dépôt](#cloner-un-dépôt)
- - [Modifier un fichier](#modifier-un-fichier)
+ - [Installer RStudio](#installer-rstudio)
+ - [Linux (debian, ubuntu)](#linux-debian-ubuntu)
+ - [Mac OSX and Windows](#mac-osx-and-windows)
+ - [Documentation RStudio](#documentation-rstudio)
+ - [Utiliser Git avec RStudio](#utiliser-git-avec-rstudio)
+ - [Cloner un dépôt](#cloner-un-dépôt)
+ - [Modifier un fichier](#modifier-un-fichier)
-Installer RStudio
-=================
+# Installer RStudio
-Linux (debian, ubuntu)
-----------------------
+## Linux (debian, ubuntu)
-Nous ne fournissons ici que des instructions pour les distributions basées sur Debian. N’hésitez pas à contribuer à ce document en fournissant des informations à jour sur les autres distributions (RedHat, Fedora, par exemple).
+Nous ne fournissons ici que des instructions pour les distributions
+basées sur Debian. N’hésitez pas à contribuer à ce document en
+fournissant des informations à jour sur les autres distributions
+(RedHat, Fedora, par exemple).
-Aujourd'hui, les versions stables des distributions les plus courantes fournissent des versions assez récentes de R :
+Aujourd'hui, les versions stables des distributions les plus courantes
+fournissent des versions assez récentes de R :
-- Debian (stretch) est livré avec [R 3.3.3-1](https://packages.debian.org/stretch/r-base), [knitr 1.15.1](https://packages.debian.org/stretch/r-cran-knitr), et [ggplot 2.2.1](https://packages.debian.org/stretch/r-cran-ggplot2)
-- Ubuntu (bionic 18.04) est livré avec [R 3.4.4](https://packages.ubuntu.com/bionic/r-base), [knitr 1.17](https://packages.ubuntu.com/bionic/r-cran-knitr), et [ggplot 2.2.1](https://packages.ubuntu.com/bionic/r-cran-ggplot2)
-- Ubuntu (artful 17.04) est livré avec [R 3.4.2](https://packages.ubuntu.com/artful/r-base), [knitr 1.15](https://packages.ubuntu.com/artful/r-cran-knitr), et [ggplot 2.2.1](https://packages.ubuntu.com/artful/r-cran-ggplot2)
+ - Debian (stretch) est livré avec
+ [R 3.3.3-1](https://packages.debian.org/stretch/r-base),
+ [knitr 1.15.1](https://packages.debian.org/stretch/r-cran-knitr), et
+ [ggplot 2.2.1](https://packages.debian.org/stretch/r-cran-ggplot2)
+ - Ubuntu (bionic 18.04) est livré avec
+ [R 3.4.4](https://packages.ubuntu.com/bionic/r-base),
+ [knitr 1.17](https://packages.ubuntu.com/bionic/r-cran-knitr), et
+ [ggplot 2.2.1](https://packages.ubuntu.com/bionic/r-cran-ggplot2)
+ - Ubuntu (artful 17.04) est livré avec
+ [R 3.4.2](https://packages.ubuntu.com/artful/r-base),
+ [knitr 1.15](https://packages.ubuntu.com/artful/r-cran-knitr), et
+ [ggplot 2.2.1](https://packages.ubuntu.com/artful/r-cran-ggplot2)
-Si votre distribution est plus ancienne, c'est peut-être l'occasion de la mettre à jour...
+Si votre distribution est plus ancienne, c'est peut-être l'occasion de
+la mettre à jour…
### Installer R
-Pour commencer, vous devez installer le langage R et quelques packages en exécutant (à la racine) :
+Pour commencer, vous devez installer le langage R et quelques packages
+en exécutant (à la
+racine) :
``` shell
apt-get update ; sudo apt-get install r-base r-cran-knitr r-cran-ggplot2
```
-Si l'installation de `r-cran-knitr` ou `r-cran-gplot2` échoue, vous pouvez également installer ces packages manuellement en exécutant les commandes suivantes sous R (ou RStudio) :
+Si l'installation de `r-cran-knitr` ou `r-cran-gplot2` échoue, vous
+pouvez également installer ces packages manuellement en exécutant les
+commandes suivantes sous R (ou RStudio) :
``` r
install.packages("knitr")
install.packages("ggplot2")
```
-Si vous envisagez d'exporter des documents pdf avec LaTeX, il faudra probablement aussi exécuter (à la racine) :
+Si vous envisagez d'exporter des documents pdf avec LaTeX, il faudra
+probablement aussi exécuter (à la racine) :
``` shell
apt-get update ; apt-get install texlive-base
@@ -53,7 +69,11 @@ apt-get update ; apt-get install texlive-base
### Installer RStudio
-RStudio n’est malheureusement pas intégré à Debian. Le plus simple est de télécharger le paquet Debian correspondant sur le [site RStudio](https://www.rstudio.com/products/rstudio/download/#download), puis de l’installer manuellement (vous devrez peut-être adapter le numéro de version) :
+RStudio n’est malheureusement pas intégré à Debian. Le plus simple est
+de télécharger le paquet Debian correspondant sur le [site
+RStudio](https://www.rstudio.com/products/rstudio/download/#download),
+puis de l’installer manuellement (vous devrez peut-être adapter le
+numéro de version) :
``` shell
cd /tmp/
@@ -62,100 +82,178 @@ sudo dpkg -i rstudio-xenial-1.1.453-amd64.deb
sudo apt-get update ; sudo apt-get -f install # to fix possibly missing dependencies
```
-Mac OSX and Windows
--------------------
+## Mac OSX and Windows
-- Télécharger et installer R depuis le [site CRAN](https://cran.r-project.org/) en choisissant le bon système d'exploitation.
-- Télécharger et installer RStudio depuis le [site RStudio](https://www.rstudio.com/products/rstudio/download/#download) en choisissant le bon système d'exploitation.
-- Télécharger et installer MiKTeX depuis le [site MiKTeX](https://miktex.org/download) en choisissant le bon système d'exploitation. Vous serez amené à installer différents packages lors du premier export pdf.
-- Ouvrir RStudio et exécuter les commandes suivantes dans la console pour installer `knitr` et `ggplot2`
+ - Télécharger et installer R depuis le [site
+ CRAN](https://cran.r-project.org/) en choisissant le bon système
+ d'exploitation.
+ - Télécharger et installer RStudio depuis le [site
+ RStudio](https://www.rstudio.com/products/rstudio/download/#download)
+ en choisissant le bon système d'exploitation.
+ - Télécharger et installer MiKTeX depuis le [site
+ MiKTeX](https://miktex.org/download) en choisissant le bon système
+ d'exploitation. Vous serez amené à installer différents packages
+ lors du premier export pdf.
+ - Ouvrir RStudio et exécuter les commandes suivantes dans la console
+ pour installer `knitr` et `ggplot2`
+
+
``` r
install.packages("knitr", dep=TRUE)
install.packages("ggplot2", dep=TRUE)
```
-Documentation RStudio
-=====================
-
-L’équipe de RStudio a créé différents matériels et tutoriels très bien faits. Nous vous recommandons de consulter les [fiches mémo](https://www.rstudio.com/resources/cheatsheets/). En particulier, vous pourriez être intéressés par celles-ci :
-
-- [RStudio IDE](https://github.com/rstudio/cheatsheets/raw/master/rstudio-ide.pdf),
-- [R Markdown](https://github.com/rstudio/cheatsheets/raw/master/rmarkdown-2.0.pdf) (here is also a [nice step-by-step presentation of Rmarkdown](https://rmarkdown.rstudio.com/)),
-- The [R Markdown Reference guide](https://www.rstudio.com/wp-content/uploads/2015/03/rmarkdown-reference.pdf),
-- [Data visualization with ggplot2](https://github.com/rstudio/cheatsheets/raw/master/data-visualization-2.1.pdf),
-- [Data transformation with dplyr](https://github.com/rstudio/cheatsheets/raw/master/data-transformation.pdf)
-
-Voici aussi les versions françaises de certains documents mais elles ne sont pas toujours à jour :
-
-- [IDE RStudio](https://github.com/rstudio/cheatsheets/raw/master/translations/french/rstudio-IDE-cheatsheet.pdf)
-- [Visualisation de données avec ggplot2](https://github.com/rstudio/cheatsheets/raw/master/translations/french/ggplot2-french-cheatsheet.pdf)
-- [Transformation de données avec dplyr](https://github.com/rstudio/cheatsheets/raw/master/translations/french/data-wrangling-french.pdf)
-- [Un court document sur R Markdown](https://www.fun-mooc.fr/c4x/UPSUD/42001S02/asset/RMarkdown.pdf)
-
-Utiliser Git avec RStudio
-=========================
-
-La première chose à faire est de configurer Git sur votre ordinateur. Pour ce faire, vous pouvez suivre la vidéo [configurer Git pour Gitlab](https://www.fun-mooc.fr/courses/course-v1:inria+41016+session02/jump_to_id/7508aece244548349424dfd61ee3ba85) (en français) et le document [Git et Gitlab](https://gitlab.inria.fr/learninglab/mooc-rr/mooc-rr-ressources/blob/master/module2/ressources/gitlab_fr.org) correspondant (en français).
-
-Vous pourrez alors utiliser Git avec RStudio. Pour ce faire, vous pouvez suivre la vidéo [RStudio - Gitlab](https://www.fun-mooc.fr/courses/course-v1:inria+41016+session02/jump_to_id/d132a854b0464ad29085cedaded23136) (en français) dont les étapes sont reprises ci-dessous.
-
-*(Nous vous signalons aussi cette* [vidéo](https://www.youtube.com/embed/uHYcDQDbMY8) *(en anglais) ainsi que le* [tuto pas à pas](https://swcarpentry.github.io/git-novice/14-supplemental-rstudio/index.html) *(en anglais) de Software Carpentry.)*
-
-Cloner un dépôt
----------------
+# Documentation RStudio
+
+L’équipe de RStudio a créé différents matériels et tutoriels très bien
+faits. Nous vous recommandons de consulter les [fiches
+mémo](https://www.rstudio.com/resources/cheatsheets/). En particulier,
+vous pourriez être intéressés par celles-ci :
+
+ - [RStudio
+ IDE](https://github.com/rstudio/cheatsheets/raw/master/rstudio-ide.pdf),
+ - [R
+ Markdown](https://github.com/rstudio/cheatsheets/raw/master/rmarkdown-2.0.pdf)
+ (here is also a [nice step-by-step presentation of
+ Rmarkdown](https://rmarkdown.rstudio.com/)),
+ - The [R Markdown Reference
+ guide](https://www.rstudio.com/wp-content/uploads/2015/03/rmarkdown-reference.pdf),
+ - [Data visualization with
+ ggplot2](https://github.com/rstudio/cheatsheets/raw/master/data-visualization-2.1.pdf),
+ - [Data transformation with
+ dplyr](https://github.com/rstudio/cheatsheets/raw/master/data-transformation.pdf)
+
+Voici aussi les versions françaises de certains documents mais elles ne
+sont pas toujours à jour :
+
+ - [IDE
+ RStudio](https://github.com/rstudio/cheatsheets/raw/master/translations/french/rstudio-IDE-cheatsheet.pdf)
+ - [Visualisation de données avec
+ ggplot2](https://github.com/rstudio/cheatsheets/raw/master/translations/french/ggplot2-french-cheatsheet.pdf)
+ - [Transformation de données avec
+ dplyr](https://github.com/rstudio/cheatsheets/raw/master/translations/french/data-wrangling-french.pdf)
+ - [Un court document sur R
+ Markdown](https://www.fun-mooc.fr/c4x/UPSUD/42001S02/asset/RMarkdown.pdf)
+
+# Utiliser Git avec RStudio
+
+La première chose à faire est de configurer Git sur votre ordinateur.
+Pour ce faire, vous pouvez suivre la vidéo [configurer Git pour
+Gitlab](https://www.fun-mooc.fr/courses/course-v1:inria+41016+session02/jump_to_id/7508aece244548349424dfd61ee3ba85)
+(en français) et le document [Git et
+Gitlab](https://gitlab.inria.fr/learninglab/mooc-rr/mooc-rr-ressources/blob/master/module2/ressources/gitlab_fr.org)
+correspondant (en français).
+
+Vous pourrez alors utiliser Git avec RStudio. Pour ce faire, vous pouvez
+suivre la vidéo [RStudio -
+Gitlab](https://www.fun-mooc.fr/courses/course-v1:inria+41016+session02/jump_to_id/d132a854b0464ad29085cedaded23136)
+(en français) dont les étapes sont reprises ci-dessous.
+
+*(Nous vous signalons aussi cette*
+[vidéo](https://www.youtube.com/embed/uHYcDQDbMY8) *(en anglais) ainsi
+que le* [tuto pas à
+pas](https://swcarpentry.github.io/git-novice/14-supplemental-rstudio/index.html)
+*(en anglais) de Software Carpentry.)*
+
+## Cloner un dépôt
Ouvrir RStudio et procéder comme suit :
-- Créer un nouveau projet sous contrôle de version : `File / New
- Project / Version Control`
-
+ - Créer un nouveau projet sous contrôle de version : `File / New
+ Project / Version Control`
+
+
+

-
+

+
+
-- Récupérer l'URL du dépôt Gitlab
-
+ - Récupérer l'URL du dépôt Gitlab
+
+
+

-
-- Indiquez cette URL dans le champ "Repository URL" *(vous voudrez* *peut-être préfixer cette URL avec `xxx@` où `xxx` est votre identifiant* *Gitlab pour éviter d'avoir à le ressaisir ultérieurement)*.
-
+
+
+
+ - Indiquez cette URL dans le champ "Repository URL" *(vous voudrez*
+ *peut-être préfixer cette URL avec `xxx@` où `xxx` est votre
+ identifiant* *Gitlab pour éviter d'avoir à le ressaisir
+ ultérieurement)*.
+
+
+

+
+
+
+ - Si vous êtes derrière un proxy, il faut le définir dans Git (voir le
+ paragraphe "Gérer les proxy" de la page sur [Git et
+ Gitlab](https://www.fun-mooc.fr/courses/course-v1:inria+41016+session02/jump_to_id/7508aece244548349424dfd61ee3ba85)).
-- Si vous êtes derrière un proxy, il faut le définir dans Git (voir le paragraphe "Gérer les proxy" de la page sur [Git et Gitlab](https://www.fun-mooc.fr/courses/course-v1:inria+41016+session02/jump_to_id/7508aece244548349424dfd61ee3ba85)).
-- Git se connecte à Gitlab et récupère une copie complète du dépôt.
-- RStudio redémarre dans un mode lié à Git :
+ - Git se connecte à Gitlab et récupère une copie complète du dépôt.
+ - RStudio redémarre dans un mode lié à Git :
+
+
+

+
+
-- Le gestionnaire de fichiers à droite vous permet de parcourir le dépôt sous contrôle de version.
+ - Le gestionnaire de fichiers à droite vous permet de parcourir le
+ dépôt sous contrôle de version.
-Modifier un fichier
--------------------
+## Modifier un fichier
-- Ouvrir le fichier `Module2/exo1/toy_document.Rmd` et le modifier.
-- Enregistrer.
-- Aller dans le menu Git pour effectuer le commit.
+ - Ouvrir le fichier `Module2/exo1/toy_document.Rmd` et le modifier.
- 
+ - Enregistrer.
+ - Aller dans le menu Git pour effectuer le commit.
+
+
+
+ 
+

+
+
-- Sélectionner les lignes à commiter puis cliquer sur `commit`.
-
+ - Sélectionner les lignes à commiter puis cliquer sur `commit`.
+
+
+

-
- Les modifications ont été commitées uniquement sur la machine. Elles n'ont pas été propagées sur Gitlab.
-- Cliquer sur `push` pour les propager sur Gitlab.
-
+
+
+
+ Les modifications ont été commitées uniquement sur la machine. Elles
+ n'ont pas été propagées sur Gitlab.
+
+ - Cliquer sur `push` pour les propager sur Gitlab.
+
+
+

-
+

-
+

-
- **NB :** Vous ne pouvez pas propager vos modifications sur GitLab si des modifications ont été faites sur GitLab entre-temps.
-
+
+
+
+ **NB :** Vous ne pouvez pas propager vos modifications sur GitLab si
+ des modifications ont été faites sur GitLab entre-temps.
+
+
+

+
+
-- Il faut d’abord récupérer ces modifications distantes sur votre machine locale. Pour ce faire cliquer sur `pull`.
+ - Il faut d’abord récupérer ces modifications distantes sur votre
+ machine locale. Pour ce faire cliquer sur `pull`.
diff --git a/module2/slides/ressources.md b/module2/slides/ressources.md
index 6c50410f717c46bfb8a5af0a85c6b45e4867c2e6..1c1c387d85043f5435e29fd25dade5924a1d5fcc 100644
--- a/module2/slides/ressources.md
+++ b/module2/slides/ressources.md
@@ -1,94 +1,109 @@
---
-TITLE: Computational Documents
-Date: Wed Mar 20 13:19:19 2019
+title: Computational Documents
+date: Wed Mar 20 13:19:19 2019
---
-This document gathers most references mentioned in the videos. This is a rather crude list.
+This document gathers most references mentioned in the videos. This is a
+rather crude
+list.
-Table of Contents
-==============================================================
+# Table of Contents TOC
-- [M2-S0: Computational Documents](#m2-s0-computational-documents)
-- [M2-S1: A few Recent Controversial Studies](#m2-s1-a-few-recent-controversial-studies)
- - [Economy: Austerity in Fiscal Policy](#economy-austerity-in-fiscal-policy)
- - [Functional MRI](#functional-mri)
- - [Incorrect Protein Structures](#incorrect-protein-structures)
- - [Other domains](#other-domains)
-- [M2-S2: Why is This so Difficult?](#m2-s2-why-is-this-so-difficult)
- - [Mistakes](#mistakes)
- - [Going Public?](#going-public)
-- [M2-S3: Computational Documents: Principles](#m2-s3-computational-documents-principles)
-- [M2-S5: Collaborating](#m2-s5-collaborating)
- - [Preparing a Document for a Journal or a Conference](#preparing-a-document-for-a-journal-or-a-conference)
-- [M2-S6: Comparative Study](#m2-s6-comparative-study)
- - [Exemples of Org-Mode documents](#exemples-of-org-mode-documents)
+ - [M2-S0: Computational Documents](#m2-s0-computational-documents)
+ - [M2-S1: A few Recent Controversial
+ Studies](#m2-s1-a-few-recent-controversial-studies)
+ - [Economy: Austerity in Fiscal
+ Policy](#economy-austerity-in-fiscal-policy)
+ - [Functional MRI](#functional-mri)
+ - [Incorrect Protein Structures](#incorrect-protein-structures)
+ - [Other domains](#other-domains)
+ - [M2-S2: Why is This so Difficult?](#m2-s2-why-is-this-so-difficult)
+ - [Mistakes](#mistakes)
+ - [Going Public?](#going-public)
+ - [M2-S3: Computational Documents:
+ Principles](#m2-s3-computational-documents-principles)
+ - [M2-S5: Collaborating](#m2-s5-collaborating)
+ - [Preparing a Document for a Journal or a
+ Conference](#preparing-a-document-for-a-journal-or-a-conference)
+ - [M2-S6: Comparative Study](#m2-s6-comparative-study)
+ - [Exemples of Org-Mode
+ documents](#exemples-of-org-mode-documents)
-M2-S0: Computational Documents
-==============================
+# M2-S0: Computational Documents
-M2-S1: A few Recent Controversial Studies
-=========================================
+# M2-S1: A few Recent Controversial Studies
-Economy: Austerity in Fiscal Policy
------------------------------------
+## Economy: Austerity in Fiscal Policy
-- [Reinhart et Rogoff](https://en.wikipedia.org/wiki/Growth_in_a_Time_of_Debt): *Growth in a Time of Debt*
-- Herndon, Ash et Pollin
-- Wray: combining data across centuries, exchange rate regimes,
+ - [Reinhart et
+ Rogoff](https://en.wikipedia.org/wiki/Growth_in_a_Time_of_Debt):
+ *Growth in a Time of Debt*
+ - Herndon, Ash et Pollin
+ - Wray: combining data across centuries, exchange rate regimes,
-Functional MRI
---------------
+## Functional MRI
-- 2010: [Bennett et al. and the dead salmon](https://www.researchgate.net/publication/255651552_Neural_correlates_of_interspecies_perspective_taking_in_the_post-mortem_Atlantic_Salmon_an_argument_for_multiple_comparisons_correction) ☺
-- 2016: [Eklund, Nichols, and Knutsson](http://www.pnas.org/content/113/28/7900.abstract). [A bug in fmri software could invalidate 15 years of brain research](http://www.sciencealert.com/a-bug-in-fmri-software-could-invalidate-decades-of-brain-research-scientists-discover) (*40 000 articles*)
-- 2016: But it's [more subtle than it looks like](https://www.cogneurosociety.org/debunking-the-myth-that-fmri-studies-are-invalid/). [Nichols](http://blogs.warwick.ac.uk/nichols/entry/bibliometrics_of_cluster/). *≈ 3 600 impacted studies*
+ - 2010: [Bennett et al. and the dead
+ salmon](https://www.researchgate.net/publication/255651552_Neural_correlates_of_interspecies_perspective_taking_in_the_post-mortem_Atlantic_Salmon_an_argument_for_multiple_comparisons_correction)
+ ☺
+ - 2016: [Eklund, Nichols, and
+ Knutsson](http://www.pnas.org/content/113/28/7900.abstract). [A bug
+ in fmri software could invalidate 15 years of brain
+ research](http://www.sciencealert.com/a-bug-in-fmri-software-could-invalidate-decades-of-brain-research-scientists-discover)
+ (*40 000 articles*)
+ - 2016: But it's [more subtle than it looks
+ like](https://www.cogneurosociety.org/debunking-the-myth-that-fmri-studies-are-invalid/).
+ [Nichols](http://blogs.warwick.ac.uk/nichols/entry/bibliometrics_of_cluster/).
+ *≈ 3 600 impacted studies*
-Incorrect Protein Structures
-----------------------------
+## Incorrect Protein Structures
-[A "buggy software"](https://people.ligo-wa.caltech.edu/~michael.landry/calibration/S5/getsignright.pdf).
+[A "buggy
+software"](https://people.ligo-wa.caltech.edu/~michael.landry/calibration/S5/getsignright.pdf).
-Other domains
--------------
+## Other domains
-- [Oncology](http://www.nature.com/nrd/journal/v10/n9/full/nrd3439-c1.html?foxtrotcallback=true): "*half of published studies, even in prestigious journals, can't be reproduced in industrial labs*"
-- [Psychology](http://theconversation.com/we-found-only-one-third-of-published-psychology-research-is-reliable-now-what-46596): "*attempting to reproduce 100 previously published findings*, *only one-third of published psychology research was found to be reliable*"
+ - [Oncology](http://www.nature.com/nrd/journal/v10/n9/full/nrd3439-c1.html?foxtrotcallback=true):
+ "*half of published studies, even in prestigious journals, can't be
+ reproduced in industrial
+ labs*"
+ - [Psychology](http://theconversation.com/we-found-only-one-third-of-published-psychology-research-is-reliable-now-what-46596):
+ "*attempting to reproduce 100 previously published findings*, *only
+ one-third of published psychology research was found to be
+ reliable*"
-M2-S2: Why is This so Difficult?
-================================
+# M2-S2: Why is This so Difficult?
-Mistakes
---------
+## Mistakes
-- [Computers broke science](http://theconversation.com/how-computers-broke-science-and-what-we-can-do-to-fix-it-49938)
-- [Programming and data manipulation mistakes in Genomics](https://qz.com/768334/years-of-genomics-research-is-riddled-with-errors-thanks-to-a-bunch-of-botched-excel-spreadsheets/)
+ - [Computers broke
+ science](http://theconversation.com/how-computers-broke-science-and-what-we-can-do-to-fix-it-49938)
+ - [Programming and data manipulation mistakes in
+ Genomics](https://qz.com/768334/years-of-genomics-research-is-riddled-with-errors-thanks-to-a-bunch-of-botched-excel-spreadsheets/)
-Going Public?
--------------
+## Going Public?
-- Someone may [benefit from my hard work](http://www.nature.com/news/the-top-100-papers-1.16224)
+ - Someone may [benefit from my hard
+ work](http://www.nature.com/news/the-top-100-papers-1.16224)
-M2-S3: Computational Documents: Principles
-==========================================
+# M2-S3: Computational Documents: Principles
-M2-S5: Collaborating
-====================
+# M2-S5: Collaborating
-Preparing a Document for a Journal or a Conference
---------------------------------------------------
+## Preparing a Document for a Journal or a Conference
Requirements for producing a **pdf**:
-- Internally, *pandoc*, *knitr* or *emacs/org-mode*
-- *LaTeX* should be installed
+ - Internally, *pandoc*, *knitr* or *emacs/org-mode*
- -
- - is a must-have
- -
- -
+ - *LaTeX* should be installed
+
+ -
+ - is a
+ must-have
+ -
+ -
-M2-S6: Comparative Study
-========================
+# M2-S6: Comparative Study
-[Exemples of Org-Mode documents](../ressources/orgmode_examples/README.org)
----------------------------------------------------------------------------
+## [Exemples of Org-Mode documents](../ressources/orgmode_examples/README.org)
diff --git a/module2/slides/ressources_fr.md b/module2/slides/ressources_fr.md
index 9f969f94529028967aeba922777c9647018e9bd2..670deb108d5bf72cc4bc23cb827f15bf93e1a8ec 100644
--- a/module2/slides/ressources_fr.md
+++ b/module2/slides/ressources_fr.md
@@ -1,96 +1,117 @@
---
-TITLE: Le document computationnel
-Date: Wed Mar 20 13:19:19 2019
+title: Le document computationnel
+date: Wed Mar 20 13:19:19 2019
---
-Ce document rassemble la plupart des références mentionnées dans les vidéos. C'est une liste relativement grossière qui mériterait d'être améliorée.
-
-Table des matières
-===============================================================
-
-- [M2-S0: Le document computationnel](#m2-s0-le-document-computationnel)
-- [M2-S1: Exemples récents d'études assez discutées](#m2-s1-exemples-récents-détudes-assez-discutées)
- - [Économie: Politiques d'austérité](#économie-politiques-daustérité)
- - [Les IRM fonctionnelles](#les-irm-fonctionnelles)
- - [Les fausses structures de protéines](#les-fausses-structures-de-protéines)
- - [Autres domaines](#autres-domaines)
-- [M2-S2: Pourquoi est-ce difficile?](#m2-s2-pourquoi-est-ce-difficile)
- - [Les erreurs classiques](#les-erreurs-classiques)
- - [Tout rendre publique ?](#tout-rendre-publique)
-- [M2-S3: Le document computationnel : principe](#m2-s3-le-document-computationnel-principe)
-- [M2-S5: Travailler avec les autres](#m2-s5-travailler-avec-les-autres)
- - [Préparation d'un document pour un journal ou pour une conférence](#préparation-dun-document-pour-un-journal-ou-pour-une-conférence)
-- [M2-S6: Analyse comparée des différents outils](#m2-s6-analyse-comparée-des-différents-outils)
- - [Exemples de document Org-Mode](#exemples-de-document-org-mode)
-
-M2-S0: Le document computationnel
-=================================
-
-M2-S1: Exemples récents d'études assez discutées
-================================================
-
-Économie: Politiques d'austérité
---------------------------------
-
-- [Reinhart et Rogoff](https://en.wikipedia.org/wiki/Growth_in_a_Time_of_Debt): *Growth in a Time of Debt*
-- Herndon, Ash et Pollin
-- Wray: combining data across centuries, exchange rate regimes,
-
-Les IRM fonctionnelles
-----------------------
-
-- 2010: [Bennett et al.: le saumon mort](https://www.researchgate.net/publication/255651552_Neural_correlates_of_interspecies_perspective_taking_in_the_post-mortem_Atlantic_Salmon_an_argument_for_multiple_comparisons_correction) ☺
-- 2016: [Eklund, Nichols, and Knutsson](http://www.pnas.org/content/113/28/7900.abstract). [Un bug dans les logiciels d'IRM pourrait invalider 15 années de recherche sur le cerveau](http://www.sciencealert.com/a-bug-in-fmri-software-could-invalidate-decades-of-brain-research-scientists-discover) (*40 000 articles*)
-- 2016: C'est [plus subtil que ça](https://www.cogneurosociety.org/debunking-the-myth-that-fmri-studies-are-invalid/). [D'après Nichols, un des auteurs de l'article d'origine](http://blogs.warwick.ac.uk/nichols/entry/bibliometrics_of_cluster/), c'est plutôt de l'ordre de *3 600 études qui seraient potentiellement impactées*.
-
-Les fausses structures de protéines
------------------------------------
-
-[A "buggy software"](https://people.ligo-wa.caltech.edu/~michael.landry/calibration/S5/getsignright.pdf).
-
-Autres domaines
----------------
-
-- [Oncologie](http://www.nature.com/nrd/journal/v10/n9/full/nrd3439-c1.html?foxtrotcallback=true): "*half of published studies, even in prestigious journals, can't be reproduced in industrial labs*"
-- [Psychologie](http://theconversation.com/we-found-only-one-third-of-published-psychology-research-is-reliable-now-what-46596): "*attempting to reproduce 100 previously published findings*, *only one-third of published psychology research was found to be reliable*"
-
-M2-S2: Pourquoi est-ce difficile?
-=================================
-
-Les erreurs classiques
-----------------------
-
-- [Enquoi les ordinateurs ont "cassé" la science](http://theconversation.com/how-computers-broke-science-and-what-we-can-do-to-fix-it-49938)
-- [Erreurs de programmation et de manipulation de données en génomique](https://qz.com/768334/years-of-genomics-research-is-riddled-with-errors-thanks-to-a-bunch-of-botched-excel-spreadsheets/)
-
-Tout rendre publique ?
-----------------------
-
-- Quelqu'un pourrait [tirer parti de mon dur labeur](http://www.nature.com/news/the-top-100-papers-1.16224)
-
-M2-S3: Le document computationnel : principe
-============================================
-
-M2-S5: Travailler avec les autres
-=================================
-
-Préparation d'un document pour un journal ou pour une conférence
-----------------------------------------------------------------
+Ce document rassemble la plupart des références mentionnées dans les
+vidéos. C'est une liste relativement grossière qui mériterait d'être
+améliorée.
+
+# Table des matières TOC
+
+ - [M2-S0: Le document
+ computationnel](#m2-s0-le-document-computationnel)
+ - [M2-S1: Exemples récents d'études assez
+ discutées](#m2-s1-exemples-récents-détudes-assez-discutées)
+ - [Économie: Politiques
+ d'austérité](#économie-politiques-daustérité)
+ - [Les IRM fonctionnelles](#les-irm-fonctionnelles)
+ - [Les fausses structures de
+ protéines](#les-fausses-structures-de-protéines)
+ - [Autres domaines](#autres-domaines)
+ - [M2-S2: Pourquoi est-ce
+ difficile?](#m2-s2-pourquoi-est-ce-difficile)
+ - [Les erreurs classiques](#les-erreurs-classiques)
+ - [Tout rendre publique ?](#tout-rendre-publique)
+ - [M2-S3: Le document computationnel :
+ principe](#m2-s3-le-document-computationnel-principe)
+ - [M2-S5: Travailler avec les
+ autres](#m2-s5-travailler-avec-les-autres)
+ - [Préparation d'un document pour un journal ou pour une
+ conférence](#préparation-dun-document-pour-un-journal-ou-pour-une-conférence)
+ - [M2-S6: Analyse comparée des différents
+ outils](#m2-s6-analyse-comparée-des-différents-outils)
+ - [Exemples de document Org-Mode](#exemples-de-document-org-mode)
+
+# M2-S0: Le document computationnel
+
+# M2-S1: Exemples récents d'études assez discutées
+
+## Économie: Politiques d'austérité
+
+ - [Reinhart et
+ Rogoff](https://en.wikipedia.org/wiki/Growth_in_a_Time_of_Debt):
+ *Growth in a Time of Debt*
+ - Herndon, Ash et Pollin
+ - Wray: combining data across centuries, exchange rate regimes,
+
+## Les IRM fonctionnelles
+
+ - 2010: [Bennett et al.: le saumon
+ mort](https://www.researchgate.net/publication/255651552_Neural_correlates_of_interspecies_perspective_taking_in_the_post-mortem_Atlantic_Salmon_an_argument_for_multiple_comparisons_correction)
+ ☺
+ - 2016: [Eklund, Nichols, and
+ Knutsson](http://www.pnas.org/content/113/28/7900.abstract). [Un bug
+ dans les logiciels d'IRM pourrait invalider 15 années de recherche
+ sur le
+ cerveau](http://www.sciencealert.com/a-bug-in-fmri-software-could-invalidate-decades-of-brain-research-scientists-discover)
+ (*40 000 articles*)
+ - 2016: C'est [plus subtil que
+ ça](https://www.cogneurosociety.org/debunking-the-myth-that-fmri-studies-are-invalid/).
+ [D'après Nichols, un des auteurs de l'article
+ d'origine](http://blogs.warwick.ac.uk/nichols/entry/bibliometrics_of_cluster/),
+ c'est plutôt de l'ordre de *3 600 études qui seraient
+ potentiellement impactées*.
+
+## Les fausses structures de protéines
+
+[A "buggy
+software"](https://people.ligo-wa.caltech.edu/~michael.landry/calibration/S5/getsignright.pdf).
+
+## Autres domaines
+
+ - [Oncologie](http://www.nature.com/nrd/journal/v10/n9/full/nrd3439-c1.html?foxtrotcallback=true):
+ "*half of published studies, even in prestigious journals, can't be
+ reproduced in industrial
+ labs*"
+ - [Psychologie](http://theconversation.com/we-found-only-one-third-of-published-psychology-research-is-reliable-now-what-46596):
+ "*attempting to reproduce 100 previously published findings*, *only
+ one-third of published psychology research was found to be
+ reliable*"
+
+# M2-S2: Pourquoi est-ce difficile?
+
+## Les erreurs classiques
+
+ - [Enquoi les ordinateurs ont "cassé" la
+ science](http://theconversation.com/how-computers-broke-science-and-what-we-can-do-to-fix-it-49938)
+ - [Erreurs de programmation et de manipulation de données en
+ génomique](https://qz.com/768334/years-of-genomics-research-is-riddled-with-errors-thanks-to-a-bunch-of-botched-excel-spreadsheets/)
+
+## Tout rendre publique ?
+
+ - Quelqu'un pourrait [tirer parti de mon dur
+ labeur](http://www.nature.com/news/the-top-100-papers-1.16224)
+
+# M2-S3: Le document computationnel : principe
+
+# M2-S5: Travailler avec les autres
+
+## Préparation d'un document pour un journal ou pour une conférence
De quoi aurez-vous besoin pour produire un document **pdf**:
-- En interne: *pandoc*, *knitr* ou *emacs/org-mode*.
-- *LaTeX* devra aussi être installé
+ - En interne: *pandoc*, *knitr* ou *emacs/org-mode*.
+ - *LaTeX* devra aussi être installé
Voici quelques billets intéressants sur le sujet:
--
- - is a must-have
--
--
+ -
+ - is a
+ must-have
+ -
+ -
-M2-S6: Analyse comparée des différents outils
-=============================================
+# M2-S6: Analyse comparée des différents outils
-[Exemples de document Org-Mode](../ressources/orgmode_examples/README_fr.org)
------------------------------------------------------------------------------
+## [Exemples de document Org-Mode](../ressources/orgmode_examples/README_fr.org)
diff --git a/module4/ressources/resources_environment.md b/module4/ressources/resources_environment.md
index d2458d3bc133234c707e0996847783bcbab06b8d..8373b151c4e7ca5f62fca16a3e334ece80947ba0 100644
--- a/module4/ressources/resources_environment.md
+++ b/module4/ressources/resources_environment.md
@@ -1,27 +1,38 @@
---
-TITLE: Tracking environment information
-Date: Tue Feb 19 19:19:03 2019
+title: Tracking environment information
+date: Tue Feb 19 19:19:03 2019
---
-Table of Contents
-==============================================================
-
-- [Getting information about your Git repository](#getting-information-about-your-git-repository)
-- [Getting information about Python(3) libraries](#getting-information-about-python3-libraries)
- - [Getting information about your system](#getting-information-about-your-system)
- - [Getting the list of installed packages and their version](#getting-the-list-of-installed-packages-and-their-version)
- - [How to list imported modules?](#how-to-list-imported-modules)
- - [Saving and restoring an environment with pip](#saving-and-restoring-an-environment-with-pip)
- - [Installing a new package or a specific version](#installing-a-new-package-or-a-specific-version)
-- [Getting information about R libraries](#getting-information-about-r-libraries)
- - [Getting the list imported modules and their version](#getting-the-list-imported-modules-and-their-version)
- - [Getting the list of installed packages and their version](#getting-the-list-of-installed-packages-and-their-version-1)
- - [Installing a new package or a specific version](#installing-a-new-package-or-a-specific-version-1)
-
-Getting information about your Git repository
-=============================================
-
-When taking notes, it may be difficult to remember which version of the code or of a file was used. This is what version control is useful for. Here are a few useful commands that we typically insert at the top of our notebooks in shell cells
+# Table of Contents TOC
+
+ - [Getting information about your Git
+ repository](#getting-information-about-your-git-repository)
+ - [Getting information about Python(3)
+ libraries](#getting-information-about-python3-libraries)
+ - [Getting information about your
+ system](#getting-information-about-your-system)
+ - [Getting the list of installed packages and their
+ version](#getting-the-list-of-installed-packages-and-their-version)
+ - [How to list imported modules?](#how-to-list-imported-modules)
+ - [Saving and restoring an environment with
+ pip](#saving-and-restoring-an-environment-with-pip)
+ - [Installing a new package or a specific
+ version](#installing-a-new-package-or-a-specific-version)
+ - [Getting information about R
+ libraries](#getting-information-about-r-libraries)
+ - [Getting the list imported modules and their
+ version](#getting-the-list-imported-modules-and-their-version)
+ - [Getting the list of installed packages and their
+ version](#getting-the-list-of-installed-packages-and-their-version-1)
+ - [Installing a new package or a specific
+ version](#installing-a-new-package-or-a-specific-version-1)
+
+# Getting information about your Git repository
+
+When taking notes, it may be difficult to remember which version of the
+code or of a file was used. This is what version control is useful for.
+Here are a few useful commands that we typically insert at the top of
+our notebooks in shell cells
``` shell
git log -1
@@ -65,9 +76,12 @@ Untracked files:
no changes added to commit (use "git add" and/or "git commit -a")
```
-*Note: the -u indicates that git should also display the contents of new directories it did not previously know about.*
+*Note: the -u indicates that git should also display the contents of new
+directories it did not previously know about.*
-Then, we often include commands at the end of our notebook indicating how to commit the results (adding the new files, committing with a clear message and pushing). E.g.,
+Then, we often include commands at the end of our notebook indicating
+how to commit the results (adding the new files, committing with a clear
+message and pushing). E.g.,
``` shell
git add resources.org;
@@ -87,15 +101,17 @@ To gitlab.inria.fr:learninglab/mooc-rr/mooc-rr-ressources.git
6359f8c..1f8a567 master -> master
```
-Obviously, in this case you need to save the notebook before running this cell, hence the output of this final command (with the new git hash) will not be stored in the cell. This is not really a problem and is the price to pay for running git from within the notebook itself.
+Obviously, in this case you need to save the notebook before running
+this cell, hence the output of this final command (with the new git
+hash) will not be stored in the cell. This is not really a problem and
+is the price to pay for running git from within the notebook itself.
-Getting information about Python(3) libraries
-=============================================
+# Getting information about Python(3) libraries
-Getting information about your system
--------------------------------------
+## Getting information about your system
-This topic is discussed on [StackOverflow](https://stackoverflow.com/questions/3103178/how-to-get-the-system-info-with-python).
+This topic is discussed on
+[StackOverflow](https://stackoverflow.com/questions/3103178/how-to-get-the-system-info-with-python).
``` python
import platform
@@ -106,10 +122,14 @@ print(platform.uname())
uname_result(system='Linux', node='icarus', release='4.15.0-2-amd64', version='#1 SMP Debian 4.15.11-1 (2018-03-20)', machine='x86_64', processor='')
```
-Getting the list of installed packages and their version
---------------------------------------------------------
+## Getting the list of installed packages and their version
-This topic is discussed on [StackOverflow](https://stackoverflow.com/questions/20180543/how-to-check-version-of-python-modules). When using `pip` (the Python package installer) within a shell command, it is easy to query the version of all installed packages (note that on your system, you may have to use either `pip` or `pip3` depending on how it is named and which versions of Python are available on your machine
+This topic is discussed on
+[StackOverflow](https://stackoverflow.com/questions/20180543/how-to-check-version-of-python-modules).
+When using `pip` (the Python package installer) within a shell command,
+it is easy to query the version of all installed packages (note that on
+your system, you may have to use either `pip` or `pip3` depending on how
+it is named and which versions of Python are available on your machine
Here is for example how I get this information on my machine:
@@ -137,7 +157,10 @@ wcwidth==0.1.7
webencodings==0.5
```
-In a Jupyter notebook, this can easily be done by using the `%%sh` magic. Here is for example what you could do and get on the Jupyter notebooks we deployed for the MOOC (note that here, you should simply use the `pip` command):
+In a Jupyter notebook, this can easily be done by using the `%%sh`
+magic. Here is for example what you could do and get on the Jupyter
+notebooks we deployed for the MOOC (note that here, you should simply
+use the `pip` command):
``` python
%%sh
@@ -162,9 +185,13 @@ xlrd==1.1.0
zope.interface==4.5.0
```
-In the rest of this document, I will assume the correct command is `pip` and I will not systematically insert the `%%sh` magic.
+In the rest of this document, I will assume the correct command is `pip`
+and I will not systematically insert the `%%sh` magic.
-Once you know which packages are installed, you can easily get additional information about a given package and in particular check whether it was installed "locally" through pip or whether it is installed system-wide. Again, in a shell command:
+Once you know which packages are installed, you can easily get
+additional information about a given package and in particular check
+whether it was installed "locally" through pip or whether it is
+installed system-wide. Again, in a shell command:
``` shell
pip show pandas
@@ -194,10 +221,15 @@ Location: /home/alegrand/.local/lib/python3.6/site-packages
Requires: patsy, pandas
```
-How to list imported modules?
------------------------------
+## How to list imported modules?
-Without resorting to pip (that will list all available packages), you may want to know which modules are loaded in a Python session as well as their version. Inspired by [StackOverflow](https://stackoverflow.com/questions/4858100/how-to-list-imported-modules), here is a simple function that lists loaded package (that have a `__version__` attribute, which is unfortunately not completely standard).
+Without resorting to pip (that will list all available packages), you
+may want to know which modules are loaded in a Python session as well as
+their version. Inspired by
+[StackOverflow](https://stackoverflow.com/questions/4858100/how-to-list-imported-modules),
+here is a simple function that lists loaded package (that have a
+`__version__` attribute, which is unfortunately not completely
+standard).
``` python
def print_imported_modules():
@@ -249,24 +281,30 @@ urllib.request 3.6
zlib 1.0
```
-Saving and restoring an environment with pip
---------------------------------------------
+## Saving and restoring an environment with pip
-The easiest way to go is as follows:
+The easiest way to go is as
+follows:
``` shell
pip3 freeze > requirements.txt # to obtain the list of packages with their version
pip3 install -r requirements.txt # to install the previous list of packages, possibly on an other machine
```
-If you want to have several installed Python environments, you may want to use [Pipenv](https://docs.pipenv.org/). I doubt it allows to track correctly FORTRAN or C dynamic libraries that are wrapped by Python though.
+If you want to have several installed Python environments, you may want
+to use [Pipenv](https://docs.pipenv.org/). I doubt it allows to track
+correctly FORTRAN or C dynamic libraries that are wrapped by Python
+though.
-Installing a new package or a specific version
-----------------------------------------------
+## Installing a new package or a specific version
-The Jupyter environment we deployed on our servers for the MOOC is based on the version 4.5.4 of Miniconda and Python 3.6. In this environment you should simply use the `pip` command (remember on your machine, you may have to use `pip3`).
+The Jupyter environment we deployed on our servers for the MOOC is based
+on the version 4.5.4 of Miniconda and Python 3.6. In this environment
+you should simply use the `pip` command (remember on your machine, you
+may have to use `pip3`).
-If I query the current version of `statsmodels` in a shell command, here is what I will get.
+If I query the current version of `statsmodels` in a shell command, here
+is what I will get.
``` shell
pip show statsmodels
@@ -308,19 +346,20 @@ Location: /opt/conda/lib/python3.6/site-packages
Requires: scipy, patsy, pandas
```
-It is even possible to install a specific (possibly much older) version, e.g.,:
+It is even possible to install a specific (possibly much older) version,
+e.g.,:
``` shell
pip install statsmodels==0.6.1
```
-Getting information about R libraries
-=====================================
+# Getting information about R libraries
-Getting the list imported modules and their version
----------------------------------------------------
+## Getting the list imported modules and their version
-The best way seems to be to rely on the `devtools` package (if this package is not installed, you should install it first by running in `R` the command `install.packages("devtools")`).
+The best way seems to be to rely on the `devtools` package (if this
+package is not installed, you should install it first by running in `R`
+the command `install.packages("devtools")`).
``` r
sessionInfo()
@@ -375,39 +414,55 @@ Packages ----------------------------------------------------------------------
withr 2.1.2 2018-03-15 CRAN (R 3.5.0)
```
-Some actually advocate that [writing a reproducible research compendium is best done by writing an R package](https://github.com/ropensci/rrrpkg). Those of you willing to have a clean R dependency management should thus have a look at [Packrat](https://rstudio.github.io/packrat/).
+Some actually advocate that [writing a reproducible research compendium
+is best done by writing an R
+package](https://github.com/ropensci/rrrpkg). Those of you willing to
+have a clean R dependency management should thus have a look at
+[Packrat](https://rstudio.github.io/packrat/).
-Getting the list of installed packages and their version
---------------------------------------------------------
+## Getting the list of installed packages and their version
-Finally, it is good to know that there is a built-in R command (`installed.packages`) allowing to retrieve and list the details of all packages installed.
+Finally, it is good to know that there is a built-in R command
+(`installed.packages`) allowing to retrieve and list the details of all
+packages installed.
``` r
head(installed.packages())
```
-| Package | LibPath | Version | Priority | Depends | Imports | LinkingTo | Suggests | Enhances | License | LicenseisFOSS | Licenserestrictsuse | OStype | MD5sum | NeedsCompilation | Built | |
-|----------------------------------------------------------------|------------------------------------------------------------|------------------------------------------------------------|-------------|----------------------------------------------------------------|----------------------------------------------------------------|-----------|---------------|---------------------------------------|--------------------------------------|--------------------------|--------------------------------|-------------------|--------|------------------|-------|-------|
-| BH | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 1.66.0-1 | nil | nil | nil | nil | nil | nil | BSL-1.0 | nil | nil | nil | nil | no | 3.5.1 | |
-| Formula | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 1.2-3 | nil | R (>= 2.0.0), stats | nil | nil | nil | nil | GPL-2 | GPL-3 | nil | nil | nil | nil | no | 3.5.1 |
-| Hmisc | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 4.1-1 | nil | lattice, survival (>= 2.40-1), Formula, ggplot2 (>= 2.2) | methods, latticeExtra, cluster, rpart, nnet, acepack, foreign, | | | | | | | | | | | |
-| gtable, grid, gridExtra, data.table, htmlTable (>= 1.11.0), | | | | | | | | | | | | | | | | |
-| viridis, htmltools, base64enc | nil | chron, rms, mice, tables, knitr, ff, ffbase, plotly (>= | | | | | | | | | | | | | | |
-| 4.5.6) | nil | GPL (>= 2) | nil | nil | nil | nil | yes | 3.5.1 | | | | | | | | |
-| Matrix | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 1.2-14 | recommended | R (>= 3.2.0) | methods, graphics, grid, stats, utils, lattice | nil | expm, MASS | MatrixModels, graph, SparseM, sfsmisc | GPL (>= 2) | file LICENCE | nil | nil | nil | nil | yes | 3.5.1 |
-| StanHeaders | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 2.17.2 | nil | nil | nil | nil | RcppEigen, BH | nil | BSD3clause + file LICENSE | nil | nil | nil | nil | yes | 3.5.1 | |
-| acepack | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 1.4.1 | nil | nil | nil | nil | testthat | nil | MIT + file LICENSE | nil | nil | nil | nil | yes | 3.5.1 | |
+| Package | LibPath | Version | Priority | Depends | Imports | LinkingTo | Suggests | Enhances | License | LicenseisFOSS | Licenserestrictsuse | OStype | MD5sum | NeedsCompilation | Built | |
+| ------------------------------------------------------------ | ---------------------------------------------------------- | -------------------------------------------------------- | ----------- | ---------------------------------------------------------- | -------------------------------------------------------------- | --------- | ------------- | ------------------------------------- | ------------------------------------ | ------------------------ | ------------------------------ | ----------------- | ------ | ---------------- | ----- | ----- |
+| BH | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 1.66.0-1 | nil | nil | nil | nil | nil | nil | BSL-1.0 | nil | nil | nil | nil | no | 3.5.1 | |
+| Formula | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 1.2-3 | nil | R (\>= 2.0.0), stats | nil | nil | nil | nil | GPL-2 | GPL-3 | nil | nil | nil | nil | no | 3.5.1 |
+| Hmisc | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 4.1-1 | nil | lattice, survival (\>= 2.40-1), Formula, ggplot2 (\>= 2.2) | methods, latticeExtra, cluster, rpart, nnet, acepack, foreign, | | | | | | | | | | | |
+| gtable, grid, gridExtra, data.table, htmlTable (\>= 1.11.0), | | | | | | | | | | | | | | | | |
+| viridis, htmltools, base64enc | nil | chron, rms, mice, tables, knitr, ff, ffbase, plotly (\>= | | | | | | | | | | | | | | |
+| 4.5.6) | nil | GPL (\>= 2) | nil | nil | nil | nil | yes | 3.5.1 | | | | | | | | |
+| Matrix | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 1.2-14 | recommended | R (\>= 3.2.0) | methods, graphics, grid, stats, utils, lattice | nil | expm, MASS | MatrixModels, graph, SparseM, sfsmisc | GPL (\>= 2) | file LICENCE | nil | nil | nil | nil | yes | 3.5.1 |
+| StanHeaders | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 2.17.2 | nil | nil | nil | nil | RcppEigen, BH | nil | BSD3clause + file LICENSE | nil | nil | nil | nil | yes | 3.5.1 | |
+| acepack | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 1.4.1 | nil | nil | nil | nil | testthat | nil | MIT + file LICENSE | nil | nil | nil | nil | yes | 3.5.1 | |
-Installing a new package or a specific version
-----------------------------------------------
+## Installing a new package or a specific version
-This section is mostly a cut and paste from the [recent post by Ian Pylvainen](https://support.rstudio.com/hc/en-us/articles/219949047-Installing-older-versions-of-packages) on this topic. It comprises a very clear explanation of how to proceed.
+This section is mostly a cut and paste from the [recent post by Ian
+Pylvainen](https://support.rstudio.com/hc/en-us/articles/219949047-Installing-older-versions-of-packages)
+on this topic. It comprises a very clear explanation of how to proceed.
### Installing a pre-compiled version
-If you're on a Debian or a Ubuntu system, it may be difficult to access a specific version without breaking your system. So unless you are moving to the latest version available in your Linux distribution, **we strongly recommend you to build from source**. In this case, you'll need to make sure you have the necessary toolchain to build packages from source (e.g., gcc, FORTRAN, etc.). On Windows, this may require you to install [Rtools](https://cran.r-project.org/bin/windows/Rtools/).
+If you're on a Debian or a Ubuntu system, it may be difficult to access
+a specific version without breaking your system. So unless you are
+moving to the latest version available in your Linux distribution, **we
+strongly recommend you to build from source**. In this case, you'll need
+to make sure you have the necessary toolchain to build packages from
+source (e.g., gcc, FORTRAN, etc.). On Windows, this may require you to
+install [Rtools](https://cran.r-project.org/bin/windows/Rtools/).
-If you're on Windows or OS X and looking for a package for an **older version of R** (R 2.1 or below), you can check the [CRAN binary archive](https://cran-archive.r-project.org/bin/). Once you have the URL, you can install it using a command similar to the example below:
+If you're on Windows or OS X and looking for a package for an **older
+version of R** (R 2.1 or below), you can check the [CRAN binary
+archive](https://cran-archive.r-project.org/bin/). Once you have the
+URL, you can install it using a command similar to the example
+below:
``` r
packageurl <- "https://cran-archive.r-project.org/bin/windows/contrib/2.13/BBmisc_1.0-58.zip"
@@ -416,7 +471,10 @@ install.packages(packageurl, repos=NULL, type="binary")
### Using devtools
-The simplest method to install the version you need is to use the `install_version()` function of the `devtools` package (obviously, you need to install `devtools` first, which can be done by running in `R` the command `install.packages("devtools")`). For instance:
+The simplest method to install the version you need is to use the
+`install_version()` function of the `devtools` package (obviously, you
+need to install `devtools` first, which can be done by running in `R`
+the command `install.packages("devtools")`). For instance:
``` r
require(devtools)
@@ -425,16 +483,24 @@ install_version("ggplot2", version = "0.9.1", repos = "http://cran.us.r-project.
### Installing from source code
-Alternatively, you may want to install an older package from source If devtools fails or if you do not want to depend on it, you can install it from source via `install.packages()` directed using the right URL. This URL can be obtained by browsing the [CRAN Package Archive](https://cran.r-project.org/src/contrib/Archive).
+Alternatively, you may want to install an older package from source If
+devtools fails or if you do not want to depend on it, you can install it
+from source via `install.packages()` directed using the right URL. This
+URL can be obtained by browsing the [CRAN Package
+Archive](https://cran.r-project.org/src/contrib/Archive).
-Once you have the URL, you can install it using a command similar to the example below:
+Once you have the URL, you can install it using a command similar to the
+example
+below:
``` r
packageurl <- "http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz"
install.packages(packageurl, repos=NULL, type="source")
```
-If you know the URL, you can also install from source via the command line outside of R. For instance (in bash):
+If you know the URL, you can also install from source via the command
+line outside of R. For instance (in
+bash):
``` shell
wget http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz
@@ -443,7 +509,12 @@ R CMD INSTALL ggplot2_0.9.1.tar.gz
### Potential issues
-There are a few potential issues that may arise with installing older versions of packages:
+There are a few potential issues that may arise with installing older
+versions of packages:
-- You may be losing functionality or bug fixes that are only present in the newer versions of the packages.
-- The older package version needed may not be compatible with the version of R you have installed. In this case, you will either need to downgrade R to a compatible version or update your R code to work with a newer version of the package.
+ - You may be losing functionality or bug fixes that are only present
+ in the newer versions of the packages.
+ - The older package version needed may not be compatible with the
+ version of R you have installed. In this case, you will either need
+ to downgrade R to a compatible version or update your R code to work
+ with a newer version of the package.
diff --git a/module4/ressources/resources_environment_fr.md b/module4/ressources/resources_environment_fr.md
index 4b367ba0b950d417ee9384646a8cef9b43aa1621..24a9877d32f229f658a3b587ace5bfdae1324b3e 100644
--- a/module4/ressources/resources_environment_fr.md
+++ b/module4/ressources/resources_environment_fr.md
@@ -1,27 +1,41 @@
---
-TITLE: Informations sur l'environnement
-Date: Tue Feb 19 19:19:03 2019
+title: Informations sur l'environnement
+date: Tue Feb 19 19:19:03 2019
---
-Table des matières
-===============================================================
-
-- [Obtenir des informations sur votre dépôt Git](#obtenir-des-informations-sur-votre-dépôt-git)
-- [Obtenir des informations sur les librairies Python 3](#obtenir-des-informations-sur-les-librairies-python-3)
- - [Obtenir des informations sur votre système](#obtenir-des-informations-sur-votre-système)
- - [Lister les packages installés et leur version](#lister-les-packages-installés-et-leur-version)
- - [Lister les packages importés (chargés dans une session Python) et leur version](#lister-les-packages-importés-chargés-dans-une-session-python-et-leur-version)
- - [Sauvegarder et restaurer un environnement avec pip](#sauvegarder-et-restaurer-un-environnement-avec-pip)
- - [Installer un nouveau package ou une version spécifique](#installer-un-nouveau-package-ou-une-version-spécifique)
-- [Obtenir des informations sur les packages R](#obtenir-des-informations-sur-les-packages-r)
- - [Lister les packages installés et leur version](#lister-les-packages-installés-et-leur-version-1)
- - [Lister les packages importés (chargés dans une session R) et leur version](#lister-les-packages-importés-chargés-dans-une-session-r-et-leur-version)
- - [Installer un nouveau package ou une version spécifique](#installer-un-nouveau-package-ou-une-version-spécifique-1)
-
-Obtenir des informations sur votre dépôt Git
-============================================
-
-Lorsqu'on prend des notes, il peut être difficile de se rappeler quelle version de code ou de fichier a été utilisée. C'est l'intérêt du contrôle de versions. Voici quelques commandes utiles que nous insérons généralement au début de nos notebooks dans des cellules shell :
+# Table des matières TOC
+
+ - [Obtenir des informations sur votre dépôt
+ Git](#obtenir-des-informations-sur-votre-dépôt-git)
+ - [Obtenir des informations sur les librairies Python
+ 3](#obtenir-des-informations-sur-les-librairies-python-3)
+ - [Obtenir des informations sur votre
+ système](#obtenir-des-informations-sur-votre-système)
+ - [Lister les packages installés et leur
+ version](#lister-les-packages-installés-et-leur-version)
+ - [Lister les packages importés (chargés dans une session Python)
+ et leur
+ version](#lister-les-packages-importés-chargés-dans-une-session-python-et-leur-version)
+ - [Sauvegarder et restaurer un environnement avec
+ pip](#sauvegarder-et-restaurer-un-environnement-avec-pip)
+ - [Installer un nouveau package ou une version
+ spécifique](#installer-un-nouveau-package-ou-une-version-spécifique)
+ - [Obtenir des informations sur les packages
+ R](#obtenir-des-informations-sur-les-packages-r)
+ - [Lister les packages installés et leur
+ version](#lister-les-packages-installés-et-leur-version-1)
+ - [Lister les packages importés (chargés dans une session R) et
+ leur
+ version](#lister-les-packages-importés-chargés-dans-une-session-r-et-leur-version)
+ - [Installer un nouveau package ou une version
+ spécifique](#installer-un-nouveau-package-ou-une-version-spécifique-1)
+
+# Obtenir des informations sur votre dépôt Git
+
+Lorsqu'on prend des notes, il peut être difficile de se rappeler quelle
+version de code ou de fichier a été utilisée. C'est l'intérêt du
+contrôle de versions. Voici quelques commandes utiles que nous insérons
+généralement au début de nos notebooks dans des cellules shell :
``` shell
git log -1
@@ -65,9 +79,12 @@ Untracked files:
no changes added to commit (use "git add" and/or "git commit -a")
```
-*Note : L'option -u indique que Git doit aussi afficher le contenu des répertoires nouvellement créés.*
+*Note : L'option -u indique que Git doit aussi afficher le contenu des
+répertoires nouvellement créés.*
-Nous ajoutons aussi souvent des commandes à la fin des notebooks pour indiquer comment commiter les résultats (ajout des nouveaux fichiers, commit avec un message clair et commande push). Par exemple :
+Nous ajoutons aussi souvent des commandes à la fin des notebooks pour
+indiquer comment commiter les résultats (ajout des nouveaux fichiers,
+commit avec un message clair et commande push). Par exemple :
``` shell
git add resources.org;
@@ -87,15 +104,18 @@ To gitlab.inria.fr:learninglab/mooc-rr/mooc-rr-ressources.git
6359f8c..1f8a567 master -> master
```
-Évidemment, dans ce cas il faut enregistrer le notebook avant d'exécuter cette cellule, donc le résultat de cette dernière commande (avec le nouveau Git hash) ne sera pas stocké dans la cellule. Ce n'est pas vraiment un problème et c'est le prix à payer pour exécuter Git à partir du notebook lui-même.
+Évidemment, dans ce cas il faut enregistrer le notebook avant d'exécuter
+cette cellule, donc le résultat de cette dernière commande (avec le
+nouveau Git hash) ne sera pas stocké dans la cellule. Ce n'est pas
+vraiment un problème et c'est le prix à payer pour exécuter Git à partir
+du notebook lui-même.
-Obtenir des informations sur les librairies Python 3
-====================================================
+# Obtenir des informations sur les librairies Python 3
-Obtenir des informations sur votre système
-------------------------------------------
+## Obtenir des informations sur votre système
-Cette question est discutée sur [StackOverflow](https://stackoverflow.com/questions/3103178/how-to-get-the-system-info-with-python).
+Cette question est discutée sur
+[StackOverflow](https://stackoverflow.com/questions/3103178/how-to-get-the-system-info-with-python).
``` python
import platform
@@ -106,10 +126,14 @@ print(platform.uname())
uname_result(system='Linux', node='icarus', release='4.15.0-2-amd64', version='#1 SMP Debian 4.15.11-1 (2018-03-20)', machine='x86_64', processor='')
```
-Lister les packages installés et leur version
----------------------------------------------
+## Lister les packages installés et leur version
-Cette question est discutée sur [StackOverflow](https://stackoverflow.com/questions/20180543/how-to-check-version-of-python-modules). Il est facile d'obtenir la version de tous les packages installés en exécutant `pip` (l'installateur de packages Python) dans une commande shell (la commande peut être `pip` or `pip3` selon la configuration de votre ordinateur).
+Cette question est discutée sur
+[StackOverflow](https://stackoverflow.com/questions/20180543/how-to-check-version-of-python-modules).
+Il est facile d'obtenir la version de tous les packages installés en
+exécutant `pip` (l'installateur de packages Python) dans une commande
+shell (la commande peut être `pip` or `pip3` selon la configuration de
+votre ordinateur).
Voici par exemple comment j'obtiens ces informations sur ma machine :
@@ -137,7 +161,10 @@ wcwidth==0.1.7
webencodings==0.5
```
-Dans un notebook Jupyter, cela peut facilement être fait en utilisant la commande magique `%%sh`. Voici par exemple ce que vous pouvez faire et obtenir avec les notebooks Jupyter que nous avons déployés pour le MOOC (notez qu’ici vous devez simplement utiliser la commande `pip`) :
+Dans un notebook Jupyter, cela peut facilement être fait en utilisant la
+commande magique `%%sh`. Voici par exemple ce que vous pouvez faire et
+obtenir avec les notebooks Jupyter que nous avons déployés pour le MOOC
+(notez qu’ici vous devez simplement utiliser la commande `pip`) :
``` python
%%sh
@@ -162,9 +189,14 @@ xlrd==1.1.0
zope.interface==4.5.0
```
-Dans la suite de ce document, je supposerai que la commande correcte est `pip` et je ne vais pas systématiquement insérer la commande magique `%%sh`.
+Dans la suite de ce document, je supposerai que la commande correcte est
+`pip` et je ne vais pas systématiquement insérer la commande magique
+`%%sh`.
-Une fois que vous savez quels packages sont installés, vous pouvez facilement obtenir des informations supplémentaires sur un package donné et notamment vérifier s'il a été installé "localement" via pip ou s'il est installé à l'échelle du système. À nouveau dans une commande shell :
+Une fois que vous savez quels packages sont installés, vous pouvez
+facilement obtenir des informations supplémentaires sur un package donné
+et notamment vérifier s'il a été installé "localement" via pip ou s'il
+est installé à l'échelle du système. À nouveau dans une commande shell :
``` shell
pip show pandas
@@ -194,10 +226,15 @@ Location: /home/alegrand/.local/lib/python3.6/site-packages
Requires: patsy, pandas
```
-Lister les packages importés (chargés dans une session Python) et leur version
-------------------------------------------------------------------------------
+## Lister les packages importés (chargés dans une session Python) et leur version
-Vous pouvez vouloir savoir quels packages sont chargés dans une session Python ainsi que leur version sans recourir à pip (qui listera tous les packages disponibles). Inspiré par [StackOverflow](https://stackoverflow.com/questions/4858100/how-to-list-imported-modules), voici une fonction simple qui liste les packages chargés (ayant un attribut `__version__`, qui n’est malheureusement pas tout à fait standard).
+Vous pouvez vouloir savoir quels packages sont chargés dans une session
+Python ainsi que leur version sans recourir à pip (qui listera tous les
+packages disponibles). Inspiré par
+[StackOverflow](https://stackoverflow.com/questions/4858100/how-to-list-imported-modules),
+voici une fonction simple qui liste les packages chargés (ayant un
+attribut `__version__`, qui n’est malheureusement pas tout à fait
+standard).
``` python
def print_imported_modules():
@@ -249,24 +286,31 @@ urllib.request 3.6
zlib 1.0
```
-Sauvegarder et restaurer un environnement avec pip
---------------------------------------------------
+## Sauvegarder et restaurer un environnement avec pip
-La façon la plus simple de faire est la suivante :
+La façon la plus simple de faire est la
+suivante :
``` shell
pip3 freeze > requirements.txt # to obtain the list of packages with their version
pip3 install -r requirements.txt # to install the previous list of packages, possibly on an other machine
```
-Si vous voulez avoir plusieurs environnements Python sur votre ordinateur, vous pouvez vouloir utiliser [Pipenv](https://docs.pipenv.org/) (mais je doute que cela permette de tracer correctement les bibliothèques dynamiques FORTRAN ou C encapsulées dans Python).
+Si vous voulez avoir plusieurs environnements Python sur votre
+ordinateur, vous pouvez vouloir utiliser
+[Pipenv](https://docs.pipenv.org/) (mais je doute que cela permette de
+tracer correctement les bibliothèques dynamiques FORTRAN ou C
+encapsulées dans Python).
-Installer un nouveau package ou une version spécifique
-------------------------------------------------------
+## Installer un nouveau package ou une version spécifique
-L’environnement Jupyter que nous avons déployé sur nos serveurs pour le MOOC est basé sur Miniconda 4.5.4 et Python 3.6. Dans cet environnement, vous devez simplement utiliser la commande `pip` (vous devrez peut-être utiliser `pip3` sur votre ordinateur).
+L’environnement Jupyter que nous avons déployé sur nos serveurs pour le
+MOOC est basé sur Miniconda 4.5.4 et Python 3.6. Dans cet environnement,
+vous devez simplement utiliser la commande `pip` (vous devrez peut-être
+utiliser `pip3` sur votre ordinateur).
-Voici ce que j'obtiens si j'interroge la version actuelle de `statsmodels` dans une commande shell.
+Voici ce que j'obtiens si j'interroge la version actuelle de
+`statsmodels` dans une commande shell.
``` shell
pip show statsmodels
@@ -308,40 +352,41 @@ Location: /opt/conda/lib/python3.6/site-packages
Requires: scipy, patsy, pandas
```
-Il est même possible d’installer une version spécifique (peut-être beaucoup plus ancienne), par exemple :
+Il est même possible d’installer une version spécifique (peut-être
+beaucoup plus ancienne), par exemple :
``` shell
pip install statsmodels==0.6.1
```
-Obtenir des informations sur les packages R
-===========================================
+# Obtenir des informations sur les packages R
-Lister les packages installés et leur version
----------------------------------------------
+## Lister les packages installés et leur version
-Il existe une commande R intégrée (`installed.packages`) permettant de récupérer et de lister les détails de tous packages installés.
+Il existe une commande R intégrée (`installed.packages`) permettant de
+récupérer et de lister les détails de tous packages installés.
``` r
head(installed.packages())
```
-| Package | LibPath | Version | Priority | Depends | Imports | LinkingTo | Suggests | Enhances | License | LicenseisFOSS | Licenserestrictsuse | OStype | MD5sum | NeedsCompilation | Built | |
-|----------------------------------------------------------------|------------------------------------------------------------|------------------------------------------------------------|-------------|----------------------------------------------------------------|----------------------------------------------------------------|-----------|---------------|---------------------------------------|--------------------------------------|--------------------------|--------------------------------|-------------------|--------|------------------|-------|-------|
-| BH | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 1.66.0-1 | nil | nil | nil | nil | nil | nil | BSL-1.0 | nil | nil | nil | nil | no | 3.5.1 | |
-| Formula | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 1.2-3 | nil | R (>= 2.0.0), stats | nil | nil | nil | nil | GPL-2 | GPL-3 | nil | nil | nil | nil | no | 3.5.1 |
-| Hmisc | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 4.1-1 | nil | lattice, survival (>= 2.40-1), Formula, ggplot2 (>= 2.2) | methods, latticeExtra, cluster, rpart, nnet, acepack, foreign, | | | | | | | | | | | |
-| gtable, grid, gridExtra, data.table, htmlTable (>= 1.11.0), | | | | | | | | | | | | | | | | |
-| viridis, htmltools, base64enc | nil | chron, rms, mice, tables, knitr, ff, ffbase, plotly (>= | | | | | | | | | | | | | | |
-| 4.5.6) | nil | GPL (>= 2) | nil | nil | nil | nil | yes | 3.5.1 | | | | | | | | |
-| Matrix | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 1.2-14 | recommended | R (>= 3.2.0) | methods, graphics, grid, stats, utils, lattice | nil | expm, MASS | MatrixModels, graph, SparseM, sfsmisc | GPL (>= 2) | file LICENCE | nil | nil | nil | nil | yes | 3.5.1 |
-| StanHeaders | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 2.17.2 | nil | nil | nil | nil | RcppEigen, BH | nil | BSD3clause + file LICENSE | nil | nil | nil | nil | yes | 3.5.1 | |
-| acepack | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 1.4.1 | nil | nil | nil | nil | testthat | nil | MIT + file LICENSE | nil | nil | nil | nil | yes | 3.5.1 | |
+| Package | LibPath | Version | Priority | Depends | Imports | LinkingTo | Suggests | Enhances | License | LicenseisFOSS | Licenserestrictsuse | OStype | MD5sum | NeedsCompilation | Built | |
+| ------------------------------------------------------------ | ---------------------------------------------------------- | -------------------------------------------------------- | ----------- | ---------------------------------------------------------- | -------------------------------------------------------------- | --------- | ------------- | ------------------------------------- | ------------------------------------ | ------------------------ | ------------------------------ | ----------------- | ------ | ---------------- | ----- | ----- |
+| BH | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 1.66.0-1 | nil | nil | nil | nil | nil | nil | BSL-1.0 | nil | nil | nil | nil | no | 3.5.1 | |
+| Formula | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 1.2-3 | nil | R (\>= 2.0.0), stats | nil | nil | nil | nil | GPL-2 | GPL-3 | nil | nil | nil | nil | no | 3.5.1 |
+| Hmisc | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 4.1-1 | nil | lattice, survival (\>= 2.40-1), Formula, ggplot2 (\>= 2.2) | methods, latticeExtra, cluster, rpart, nnet, acepack, foreign, | | | | | | | | | | | |
+| gtable, grid, gridExtra, data.table, htmlTable (\>= 1.11.0), | | | | | | | | | | | | | | | | |
+| viridis, htmltools, base64enc | nil | chron, rms, mice, tables, knitr, ff, ffbase, plotly (\>= | | | | | | | | | | | | | | |
+| 4.5.6) | nil | GPL (\>= 2) | nil | nil | nil | nil | yes | 3.5.1 | | | | | | | | |
+| Matrix | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 1.2-14 | recommended | R (\>= 3.2.0) | methods, graphics, grid, stats, utils, lattice | nil | expm, MASS | MatrixModels, graph, SparseM, sfsmisc | GPL (\>= 2) | file LICENCE | nil | nil | nil | nil | yes | 3.5.1 |
+| StanHeaders | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 2.17.2 | nil | nil | nil | nil | RcppEigen, BH | nil | BSD3clause + file LICENSE | nil | nil | nil | nil | yes | 3.5.1 | |
+| acepack | /home/alegrand/R/x8664-pc-linux-gnu-library/3.5 | 1.4.1 | nil | nil | nil | nil | testthat | nil | MIT + file LICENSE | nil | nil | nil | nil | yes | 3.5.1 | |
-Lister les packages importés (chargés dans une session R) et leur version
--------------------------------------------------------------------------
+## Lister les packages importés (chargés dans une session R) et leur version
-Le meilleur moyen semble être d'utiliser le package `devtools`. Si le package n'est pas installé, vous devez d'abord l'installer en exécutant la commande `install.packages("devtools",dep=TRUE)` dans `R`).
+Le meilleur moyen semble être d'utiliser le package `devtools`. Si le
+package n'est pas installé, vous devez d'abord l'installer en exécutant
+la commande `install.packages("devtools",dep=TRUE)` dans `R`).
``` r
sessionInfo()
@@ -396,20 +441,39 @@ Packages ----------------------------------------------------------------------
withr 2.1.2 2018-03-15 CRAN (R 3.5.0)
```
-Certains suggèrent même [l'écriture d'un package R pour faciliter la recherche reproductible](https://github.com/ropensci/rrrpkg).
+Certains suggèrent même [l'écriture d'un package R pour faciliter la
+recherche reproductible](https://github.com/ropensci/rrrpkg).
-Ceux d'entre vous qui souhaitent disposer d'une gestion des dépendances "propre" en R peuvent aussi jeter un coup d'œil à [Packrat](https://rstudio.github.io/packrat/).
+Ceux d'entre vous qui souhaitent disposer d'une gestion des dépendances
+"propre" en R peuvent aussi jeter un coup d'œil à
+[Packrat](https://rstudio.github.io/packrat/).
-Installer un nouveau package ou une version spécifique
-------------------------------------------------------
+## Installer un nouveau package ou une version spécifique
-Cette section est principalement un copier-coller du [récent post de Ian Pylvainen](https://support.rstudio.com/hc/en-us/articles/219949047-Installing-older-versions-of-packages) sur ce sujet. Il comprend une explication très claire de la façon de procéder.
+Cette section est principalement un copier-coller du [récent post de Ian
+Pylvainen](https://support.rstudio.com/hc/en-us/articles/219949047-Installing-older-versions-of-packages)
+sur ce sujet. Il comprend une explication très claire de la façon de
+procéder.
### Installer une version pré-compilée
-Si vous êtes sur un système Debian ou Ubuntu, il peut être difficile d’accéder à une version spécifique sans casser votre système. Donc, sauf si vous passez à la dernière version disponible pour votre distribution Linux, **nous vous recommandons fortement d'installer les packages à l'aide des fichiers source**. Dans ce cas, vous devez vous assurer que vous disposez de l'ensemble des outils nécessaires pour créer des packages à partir des sources (par exemple : gcc, FORTRAN, etc.). Sous Windows, il se peut que vous deviez installer [Rtools](https://cran.r-project.org/bin/windows/Rtools/).
-
-Si vous utilisez Windows ou OS X et recherchez un package pour une **ancienne version de R** (version 2.1 ou inférieure), vous pouvez le rechercher sur l'[archive binaire du site CRAN](https://cran-archive.r-project.org/bin/). Une fois que vous avez l'URL, vous pouvez l'installer à l'aide d'une commande similaire à l'exemple ci-dessous :
+Si vous êtes sur un système Debian ou Ubuntu, il peut être difficile
+d’accéder à une version spécifique sans casser votre système. Donc,
+sauf si vous passez à la dernière version disponible pour votre
+distribution Linux, **nous vous recommandons fortement d'installer les
+packages à l'aide des fichiers source**. Dans ce cas, vous devez vous
+assurer que vous disposez de l'ensemble des outils nécessaires pour
+créer des packages à partir des sources (par exemple : gcc, FORTRAN,
+etc.). Sous Windows, il se peut que vous deviez installer
+[Rtools](https://cran.r-project.org/bin/windows/Rtools/).
+
+Si vous utilisez Windows ou OS X et recherchez un package pour une
+**ancienne version de R** (version 2.1 ou inférieure), vous pouvez le
+rechercher sur l'[archive binaire du site
+CRAN](https://cran-archive.r-project.org/bin/). Une fois que vous avez
+l'URL, vous pouvez l'installer à l'aide d'une commande similaire à
+l'exemple
+ci-dessous :
``` r
packageurl <- "https://cran-archive.r-project.org/bin/windows/contrib/2.13/BBmisc_1.0-58.zip"
@@ -418,7 +482,11 @@ install.packages(packageurl, repos=NULL, type="binary")
### Utiliser devtools
-La méthode la plus simple pour installer la version dont vous avez besoin consiste à utiliser la fonction `install_version()` du package `devtools` (vous devez évidemment avoir préalablement installé `devtools`, ce qui peut être fait en exécutant `R` la commande `install.packages("devtools",dep=TRUE)`). Par exemple:
+La méthode la plus simple pour installer la version dont vous avez
+besoin consiste à utiliser la fonction `install_version()` du package
+`devtools` (vous devez évidemment avoir préalablement installé
+`devtools`, ce qui peut être fait en exécutant `R` la commande
+`install.packages("devtools",dep=TRUE)`). Par exemple:
``` r
require(devtools)
@@ -427,16 +495,25 @@ install_version("ggplot2", version = "0.9.1", repos = "http://cran.us.r-project.
### Installer à partir du code source
-Vous pouvez également installer un ancien package à partir de son code source. Si vous ne réussissez pas avec devtools ou si vous ne voulez pas dépendre de ce package, vous pouvez l’installer à partir du source à l'aide de la commande `install.packages()` en utilisant la bonne URL. Cette URL peut être obtenue en naviguant dans [l'archive de packages du site CRAN](https://cran.r-project.org/src/contrib/Archive).
+Vous pouvez également installer un ancien package à partir de son code
+source. Si vous ne réussissez pas avec devtools ou si vous ne voulez pas
+dépendre de ce package, vous pouvez l’installer à partir du source à
+l'aide de la commande `install.packages()` en utilisant la bonne URL.
+Cette URL peut être obtenue en naviguant dans [l'archive de packages du
+site CRAN](https://cran.r-project.org/src/contrib/Archive).
-Une fois que vous avez l'URL, vous pouvez l'installer à l'aide d'une commande similaire à l'exemple ci-dessous :
+Une fois que vous avez l'URL, vous pouvez l'installer à l'aide d'une
+commande similaire à l'exemple
+ci-dessous :
``` r
packageurl <- "http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz"
install.packages(packageurl, repos=NULL, type="source")
```
-Si vous connaissez l'URL, vous pouvez également installer à partir du source par ligne de commande en dehors de R. Par exemple (en bash) :
+Si vous connaissez l'URL, vous pouvez également installer à partir du
+source par ligne de commande en dehors de R. Par exemple (en
+bash) :
``` shell
wget http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz
@@ -445,7 +522,14 @@ R CMD INSTALL ggplot2_0.9.1.tar.gz
### Problèmes potentiels
-Quelques problèmes sont susceptibles de survenir lors de l'installation d'anciennes versions de packages :
-
-- Vous pouvez perdre des fonctionnalités ou des corrections de bugs qui ne sont présentes que dans les versions les plus récentes des packages.
-- L'ancienne version de package requise peut ne pas être compatible avec la version de R que vous avez installée. Dans ce cas, vous devrez soit rétrograder R vers une version compatible, soit mettre à jour votre code R pour qu'il fonctionne avec une version plus récente du package.
+Quelques problèmes sont susceptibles de survenir lors de l'installation
+d'anciennes versions de packages :
+
+ - Vous pouvez perdre des fonctionnalités ou des corrections de bugs
+ qui ne sont présentes que dans les versions les plus récentes des
+ packages.
+ - L'ancienne version de package requise peut ne pas être compatible
+ avec la version de R que vous avez installée. Dans ce cas, vous
+ devrez soit rétrograder R vers une version compatible, soit mettre à
+ jour votre code R pour qu'il fonctionne avec une version plus
+ récente du package.
diff --git a/module4/ressources/resources_refs.md b/module4/ressources/resources_refs.md
index 9ec7b5315433b73f15cc7ad01fb66251404282c6..5a96c0c81da298f82867c28fcef09ac4ba96f766 100644
--- a/module4/ressources/resources_refs.md
+++ b/module4/ressources/resources_refs.md
@@ -1,87 +1,199 @@
---
-TITLE: Additional references
-Date: Tue Feb 19 19:19:03 2019
+title: Additional references
+date: Tue Feb 19 19:19:03 2019
---
-Table of Contents
-==============================================================
-
-- ["Thoughts" on language/software stability](#thoughts-on-languagesoftware-stability)
-- [Controlling your software environment](#controlling-your-software-environment)
-- [Preservation/Archiving](#preservationarchiving)
-- [Workflows](#workflows)
-- [Numerical and statistical issues](#numerical-and-statistical-issues)
-- [Publication practices](#publication-practices)
-- [Experimentation](#experimentation)
-
-"Thoughts" on language/software stability
-=========================================
-
-As we explained, the programming language used in an analysis has a clear influence on the reproducibility of your analysis. It is not a characteristic of the language itself but rather a consequence of the development philosophy of the underlying community. For example C is a very stable language with a [very clear specification designed by a committee](https://en.wikipedia.org/wiki/C_(programming_language)#ANSI_C_and_ISO_C) (even though some compilers may not respect this norm).
-
-On the other end of the spectrum, [Python](https://en.wikipedia.org/wiki/Python_(programming_language)) had a much more organic development based on a readability philosophy and valuing continuous improvement over backwards-compatibility. Furthermore, Python is commonly used as a wrapping language (e.g., to easily use C or FORTRAN libraries) and has its own packaging system. All these design choices tend to make reproducibility often a bit painful with Python, even though the community is slowly taking this into account. The transition from Python 2 to the not fully backwards compatible Python 3 has been a particularly painful process, not least because the two languages are so similar that is it not always easy to figure out if a given script or module is written in Python 2 or Python 3. It isn't even rare to see Python scripts that work under both Python 2 and Python 3, but produce different results due to the change in the behavior of integer division.
-
-[R](https://en.wikipedia.org/wiki/R_(programming_language)), in comparison is much closer (in terms of developer community) to languages like [SAS](https://en.wikipedia.org/wiki/SAS_(software)), which is heavily used in the pharmaceutical industry where statistical procedures need to be standardized and rock solid/stable. R is obviously not immune to evolutions that break old versions and hinder reproducibility/backward compatibility. Here is a relatively recent [true story about this](http://members.cbio.mines-paristech.fr/~thocking/HOCKING-reproducible-research-with-R.html) and some colleagues who worked on the [statistics introductory course with R on FUN](https://www.fun-mooc.fr/courses/UPSUD/42001S06/session06/about) reported us several issues with a few functions (`plotmeans` from `gplots`, `survfit` from `survival`, or `hclust`) whose default parameters had changed over the years. It is thus probably good practice to give explicit values for all parameters (which can be cumbersome) instead of relying on default values, and to restrict your dependencies as much as possible.
-
-This being said, the R development community is generally quite careful about stability. We (the authors of this MOOC) believe that open source (which allows to inspect how computation is done and to identify both mistakes and sources of non-reproducibility) is more important than the rock solid stability of SAS, which is proprietary software.
-
-Yet, if you really need to stay with SAS, you should know that SAS can be used within Jupyter using the [Python SASPy](https://sassoftware.github.io/saspy/) and the [Python SASKernel](https://sassoftware.github.io/sas_kernel/) packages (step by step explanations about this are given [here](https://gitlab.inria.fr/learninglab/mooc-rr/mooc-rr-ressources/blob/master/documents/tuto_jupyter_windows/tuto_jupyter_windows.md#53-le-package-python-saspy-permet-dex%C3%A9cuter-du-code-sas-dans-un-notebook-python)). Using such literate programming approach allied with systematic version and environment control will always help. Similar solutions exist for many languages ([list of Jupyter kernels](https://github.com/jupyter/jupyter/wiki/Jupyter-kernels)).
-
-Controlling your software environment
-=====================================
-
-As we mentioned in the video sequences, there are several solutions to control your environment:
-
-- The easy (preserve the mess) ones: [CDE](http://www.pgbovine.net/cde.html) or [ReproZip](https://vida-nyu.github.io/reprozip/)
-- The more demanding (encourage cleanliness) where you start with a clean environment and install only what's strictly necessary (and document it):
- - The very well known [Docker](https://www.docker.io/)
- - [Singularity](https://singularity.lbl.gov/) or [Spack](https://spack.io/), which are more targeted toward the specific needs of high performance computing users
- - [Guix](https://www.gnu.org/software/guix/), [Nix](https://nixos.org/) that are very clean (perfect?) solutions to this dependency hell and which we recommend
-
-It may be hard to understand the difference between these different approaches and decide which one is better in your context.
-
-Here is a webinar where some of these tools are demoed in a reproducible research context: [Controling your environment (by Michael Mercier and Cristian Ruiz)](https://github.com/alegrand/RR_webinars/blob/master/2_controling_your_environment/index.org)
-
-You may also want to have a look at [the Popper conventions](http://falsifiable.us/) ([webinar by Ivo Gimenez through google hangout](https://github.com/alegrand/RR_webinars/blob/master/11_popper/index.org)) or at the [presentation of Konrad Hinsen on Active Papers](https://github.com/alegrand/RR_webinars/blob/master/7_publications/index.org) ().
-
-Preservation/Archiving
-======================
-
-Ensuring software is properly archived, i.e, is safely stored so that it can be accessed in a perennial way, can be quite tricky. If you have never seen [Roberto Di Cosmo presenting the Software Heritage project](https://github.com/alegrand/RR_webinars/blob/master/5_archiving_software_and_data/index.org), this is a must see. [](https://www.softwareheritage.org/)
-
-For regular data, we highly recommend using [](https://www.zenodo.org/) whenever the data is not sensitive.
-
-Workflows
-=========
-
-In the video sequences, we mentioned workflow managers (original application domain in parenthesis):
-
-- [Galaxy](https://galaxyproject.org/) (genomics), [Kepler](https://kepler-project.org/) (ecology), [Taverna](https://taverna.apache.org/) (bio-informatics), [Pegasus](https://pegasus.isi.edu/) (astronomy), [Collective Knowledge](http://cknowledge.org/) (compiling optimization), [VisTrails](https://www.vistrails.org) (image processing)
-- Light-weight: [dask](http://dask.pydata.org/) (python), [drake](https://ropensci.github.io/drake/) (R), [swift](http://swift-lang.org/) (molecular biology), [snakemake](https://snakemake.readthedocs.io/) (like `make` but more expressive and in `python`)...
-- Hybrids: [SOS-notebook](https://vatlab.github.io/sos-docs/)...
-
-You may want to have a look at this webinar: \[\[\]\[Reproducible Science in Bio-informatics: Current Status, Solutions and Research Opportunities (by Sarah Cohen Boulakia, Yvan Le Bras and Jérôme Chopard).\]\]
-
-Numerical and statistical issues
-================================
-
-We have mentioned these topics in our MOOC but we could by no way cover them properly. We only suggest here a few interesting talks about this.
-
-- \[\[\]\[In this talk, Pierre Dragicevic provides a nice illustration of the consequences of statistical uncertainty and of how some concepts (e.G. p-values) are commonly badly understood.\]\]
-- \[\[\]\[Nathalie Revol, Philippe Langlois and Stef Graillat present the main challenges encountered when trying to achieve numerical reproducibility and present recent research work on this topic.\]\]
-
-Publication practices
-=====================
+# Table of Contents TOC
+
+ - ["Thoughts" on language/software
+ stability](#thoughts-on-languagesoftware-stability)
+ - [Controlling your software
+ environment](#controlling-your-software-environment)
+ - [Preservation/Archiving](#preservationarchiving)
+ - [Workflows](#workflows)
+ - [Numerical and statistical
+ issues](#numerical-and-statistical-issues)
+ - [Publication practices](#publication-practices)
+ - [Experimentation](#experimentation)
+
+# "Thoughts" on language/software stability
+
+As we explained, the programming language used in an analysis has a
+clear influence on the reproducibility of your analysis. It is not a
+characteristic of the language itself but rather a consequence of the
+development philosophy of the underlying community. For example C is a
+very stable language with a [very clear specification designed by a
+committee](https://en.wikipedia.org/wiki/C_\(programming_language\)#ANSI_C_and_ISO_C)
+(even though some compilers may not respect this norm).
+
+On the other end of the spectrum,
+[Python](https://en.wikipedia.org/wiki/Python_\(programming_language\))
+had a much more organic development based on a readability philosophy
+and valuing continuous improvement over backwards-compatibility.
+Furthermore, Python is commonly used as a wrapping language (e.g., to
+easily use C or FORTRAN libraries) and has its own packaging system. All
+these design choices tend to make reproducibility often a bit painful
+with Python, even though the community is slowly taking this into
+account. The transition from Python 2 to the not fully backwards
+compatible Python 3 has been a particularly painful process, not least
+because the two languages are so similar that is it not always easy to
+figure out if a given script or module is written in Python 2 or Python
+3. It isn't even rare to see Python scripts that work under both Python
+2 and Python 3, but produce different results due to the change in the
+behavior of integer division.
+
+[R](https://en.wikipedia.org/wiki/R_\(programming_language\)), in
+comparison is much closer (in terms of developer community) to languages
+like [SAS](https://en.wikipedia.org/wiki/SAS_\(software\)), which is
+heavily used in the pharmaceutical industry where statistical procedures
+need to be standardized and rock solid/stable. R is obviously not immune
+to evolutions that break old versions and hinder
+reproducibility/backward compatibility. Here is a relatively recent
+[true story about
+this](http://members.cbio.mines-paristech.fr/~thocking/HOCKING-reproducible-research-with-R.html)
+and some colleagues who worked on the [statistics introductory course
+with R on
+FUN](https://www.fun-mooc.fr/courses/UPSUD/42001S06/session06/about)
+reported us several issues with a few functions (`plotmeans` from
+`gplots`, `survfit` from `survival`, or `hclust`) whose default
+parameters had changed over the years. It is thus probably good practice
+to give explicit values for all parameters (which can be cumbersome)
+instead of relying on default values, and to restrict your dependencies
+as much as possible.
+
+This being said, the R development community is generally quite careful
+about stability. We (the authors of this MOOC) believe that open source
+(which allows to inspect how computation is done and to identify both
+mistakes and sources of non-reproducibility) is more important than the
+rock solid stability of SAS, which is proprietary software.
+
+Yet, if you really need to stay with SAS, you should know that SAS can
+be used within Jupyter using the [Python
+SASPy](https://sassoftware.github.io/saspy/) and the [Python
+SASKernel](https://sassoftware.github.io/sas_kernel/) packages (step by
+step explanations about this are given
+[here](https://gitlab.inria.fr/learninglab/mooc-rr/mooc-rr-ressources/blob/master/documents/tuto_jupyter_windows/tuto_jupyter_windows.md#53-le-package-python-saspy-permet-dex%C3%A9cuter-du-code-sas-dans-un-notebook-python)).
+Using such literate programming approach allied with systematic version
+and environment control will always help. Similar solutions exist for
+many languages ([list of Jupyter
+kernels](https://github.com/jupyter/jupyter/wiki/Jupyter-kernels)).
+
+# Controlling your software environment
+
+As we mentioned in the video sequences, there are several solutions to
+control your environment:
+
+ - The easy (preserve the mess) ones:
+ [CDE](http://www.pgbovine.net/cde.html) or
+ [ReproZip](https://vida-nyu.github.io/reprozip/)
+ - The more demanding (encourage cleanliness) where you start with a
+ clean environment and install only what's strictly necessary (and
+ document it):
+ - The very well known [Docker](https://www.docker.io/)
+ - [Singularity](https://singularity.lbl.gov/) or
+ [Spack](https://spack.io/), which are more targeted toward the
+ specific needs of high performance computing users
+ - [Guix](https://www.gnu.org/software/guix/),
+ [Nix](https://nixos.org/) that are very clean (perfect?)
+ solutions to this dependency hell and which we recommend
+
+It may be hard to understand the difference between these different
+approaches and decide which one is better in your context.
+
+Here is a webinar where some of these tools are demoed in a reproducible
+research context: [Controling your environment (by Michael Mercier and
+Cristian
+Ruiz)](https://github.com/alegrand/RR_webinars/blob/master/2_controling_your_environment/index.org)
+
+You may also want to have a look at [the Popper
+conventions](http://falsifiable.us/) ([webinar by Ivo Gimenez through
+google
+hangout](https://github.com/alegrand/RR_webinars/blob/master/11_popper/index.org))
+or at the [presentation of Konrad Hinsen on Active
+Papers](https://github.com/alegrand/RR_webinars/blob/master/7_publications/index.org)
+().
+
+# Preservation/Archiving
+
+Ensuring software is properly archived, i.e, is safely stored so that it
+can be accessed in a perennial way, can be quite tricky. If you have
+never seen [Roberto Di Cosmo presenting the Software Heritage
+project](https://github.com/alegrand/RR_webinars/blob/master/5_archiving_software_and_data/index.org),
+this is a must see.
+
+For regular data, we highly recommend using
+whenever the data is not sensitive.
+
+# Workflows
+
+In the video sequences, we mentioned workflow managers (original
+application domain in parenthesis):
+
+ - [Galaxy](https://galaxyproject.org/) (genomics),
+ [Kepler](https://kepler-project.org/) (ecology),
+ [Taverna](https://taverna.apache.org/) (bio-informatics),
+ [Pegasus](https://pegasus.isi.edu/) (astronomy), [Collective
+ Knowledge](http://cknowledge.org/) (compiling optimization),
+ [VisTrails](https://www.vistrails.org) (image processing)
+ - Light-weight: [dask](http://dask.pydata.org/) (python),
+ [drake](https://ropensci.github.io/drake/) (R),
+ [swift](http://swift-lang.org/) (molecular biology),
+ [snakemake](https://snakemake.readthedocs.io/) (like `make` but more
+ expressive and in `python`)…
+ - Hybrids: [SOS-notebook](https://vatlab.github.io/sos-docs/)…
+
+You may want to have a look at this webinar:
+\[\[\]\[Reproducible
+Science in Bio-informatics: Current Status, Solutions and Research
+Opportunities (by Sarah Cohen Boulakia, Yvan Le Bras and Jérôme
+Chopard).\]\]
+
+# Numerical and statistical issues
+
+We have mentioned these topics in our MOOC but we could by no way cover
+them properly. We only suggest here a few interesting talks about
+ this.
+
+ - \[\[\]\[In
+ this talk, Pierre Dragicevic provides a nice illustration of the
+ consequences of statistical uncertainty and of how some concepts
+ (e.G. p-values) are commonly badly
+ understood.\]\]
+ - \[\[\]\[Nathalie
+ Revol, Philippe Langlois and Stef Graillat present the main
+ challenges encountered when trying to achieve numerical
+ reproducibility and present recent research work on this topic.\]\]
+
+# Publication practices
You may want to have a look at the following two webinars:
-- [Enabling open and reproducible research at computer systems’ conferences (by Grigori Fursin)](https://github.com/alegrand/RR_webinars/blob/master/8_artifact_evaluation/index.org). In particular, this talk discusses *artifact evaluation* that is becoming more and more popular.
-- [Publication Modes Favoring Reproducible Research (by Konrad Hinsen and Nicolas Rougier)](https://github.com/alegrand/RR_webinars/blob/master/7_publications/index.org). In this talk, the motivation for the [ReScience journal](http://rescience.github.io/) initiative are presented.
-- [Simine Vazire - When Should We be Skeptical of Scientific Claims?](https://www.youtube.com/watch?v=HuJ2G8rXHMs), which is discussing publication practices in social sciences and in particular HARKing (Hypothesizing After the Results are Known), p-hacking, etc.
-
-Experimentation
-===============
-
-Experimentation was not covered in this MOOC, although it is an essential part of science. The main reason is that practices and constraints can vary so wildly from one domain to another that it could not be properly covered in a first edition. We would be happy to gather references you consider as interesting in your domain so do not hesitate to provide us with such references by using the forum and we will update this page.
-
-- [A recent talk by Lucas Nussbaum on Experimental Testbeds in Computer Science](https://github.com/alegrand/RR_webinars/blob/master/9_experimental_testbeds/index.org).
+ - [Enabling open and reproducible research at computer systems’
+ conferences (by Grigori
+ Fursin)](https://github.com/alegrand/RR_webinars/blob/master/8_artifact_evaluation/index.org).
+ In particular, this talk discusses *artifact evaluation* that is
+ becoming more and more popular.
+ - [Publication Modes Favoring Reproducible Research (by Konrad Hinsen
+ and Nicolas
+ Rougier)](https://github.com/alegrand/RR_webinars/blob/master/7_publications/index.org).
+ In this talk, the motivation for the [ReScience
+ journal](http://rescience.github.io/) initiative are presented.
+ - [Simine Vazire - When Should We be Skeptical of Scientific
+ Claims?](https://www.youtube.com/watch?v=HuJ2G8rXHMs), which is
+ discussing publication practices in social sciences and in
+ particular HARKing (Hypothesizing After the Results are Known),
+ p-hacking, etc.
+
+# Experimentation
+
+Experimentation was not covered in this MOOC, although it is an
+essential part of science. The main reason is that practices and
+constraints can vary so wildly from one domain to another that it could
+not be properly covered in a first edition. We would be happy to gather
+references you consider as interesting in your domain so do not hesitate
+to provide us with such references by using the forum and we will update
+this page.
+
+ - [A recent talk by Lucas Nussbaum on Experimental Testbeds in
+ Computer
+ Science](https://github.com/alegrand/RR_webinars/blob/master/9_experimental_testbeds/index.org).
diff --git a/module4/ressources/resources_refs_fr.md b/module4/ressources/resources_refs_fr.md
index 3aeabe39365a84f8c8256f4d03ead6946937f59f..9ff6606c21418297ddf64d804ebcd7a8b75bb6f9 100644
--- a/module4/ressources/resources_refs_fr.md
+++ b/module4/ressources/resources_refs_fr.md
@@ -1,87 +1,208 @@
---
-TITLE: Références complémentaires
-Date: Tue Feb 19 19:19:03 2019
+title: Références complémentaires
+date: Tue Feb 19 19:19:03 2019
---
-Table des matières
-===============================================================
-
-- [Réflexions sur la stabilité des langages de programmation](#réflexions-sur-la-stabilité-des-langages-de-programmation)
-- [Contrôler votre environnement logiciel](#contrôler-votre-environnement-logiciel)
-- [Préservation/Archivage](#préservationarchivage)
-- [Workflows](#workflows)
-- [Problèmes numériques et statistiques](#problèmes-numériques-et-statistiques)
-- [Pratiques de publication](#pratiques-de-publication)
-- [Expérimentation](#expérimentation)
-
-Réflexions sur la stabilité des langages de programmation
-=========================================================
-
-Comme nous l'avons expliqué, le langage de programmation utilisé dans une analyse a une influence évidente sur la reproductibilité de l'analyse. Ce n'est pas une caractéristique du langage lui-même mais plutôt une conséquence de la philosophie de développement de la communauté sous-jacente. Par exemple, C est un langage très stable avec une [spécification très claire conçue par un comité](https://en.wikipedia.org/wiki/C_(programming_language)#ANSI_C_and_ISO_C) (même si certains compilateurs ne respectent cette norme).
-
-À l’autre bout du spectre, [Python](https://en.wikipedia.org/wiki/Python_(programming_language)) a connu un développement beaucoup plus organique basé sur une philosophie de lisibilité et valorisant l'amélioration continue par rapport à la compatibilité ascendante. De plus, Python est couramment utilisé comme langage de wrapping (par exemple pour utiliser facilement les bibliothèques C ou FORTRAN) et dispose de son propre système de packaging. Tous ces choix de conception ont souvent tendance à rendre la reproductibilité un peu pénible avec Python, même si la communauté en tient lentement compte. La transition de Python 2 à Python 3, qui n'est pas totalement compatible avec les versions antérieures, a été un processus particulièrement pénible, notamment parce que les deux langages sont si similaires qu'il n'est pas toujours facile de savoir si un script ou un module donné est écrit en Python 2 ou Python 3. Il n'est même pas rare de voir des scripts Python qui fonctionnent sous Python 2 et Python 3, mais produisent des résultats différents en raison du changement de comportement de la division entière.
-
-[R](https://en.wikipedia.org/wiki/R_(programming_language)), en comparaison, est beaucoup plus proche (en termes de communauté de développeurs) de langages comme [SAS](https://en.wikipedia.org/wiki/SAS_(logiciel)), très utilisé dans l'industrie pharmaceutique où les procédures statistiques doivent être standardisées et stables/solides. R n’est évidemment pas à l’abri des évolutions qui cassent les anciennes versions et gênent la reproductibilité/compatibilité avec les versions antérieures. Voici une [véritable histoire relativement récente à ce sujet](http://members.cbio.mines-paristech.fr//thocking/HOCKING-reproducible-research-with-R.html) et des collègues qui ont travaillé sur le [MOOC d'initiation à la statistique avec R sur FUN](https://www.fun-mooc.fr/courses/course-v1:UPSUD+42001+session10/about) nous ont signalé plusieurs problèmes concernant quelques fonctions (`gplots::plotmeans`, `survival::survfit` ou `hclust`) dont les paramètres par défaut ont changé au fil des ans. Il est donc probablement utile de donner des valeurs explicites pour tous les paramètres (ce qui peut être fastidieux) au lieu de s’appuyer sur des valeurs par défaut et de restreindre autant que possible vos dépendances.
-
-Ceci étant dit, la communauté de développement R est généralement très prudente en matière de stabilité. Nous (les auteurs de ce MOOC) pensons que l'open source (qui permet de contrôler le calcul et d'identifier les erreurs et les sources de non-reproductibilité) est plus important que la stabilité à toute épreuve de SAS, qui est un logiciel propriétaire.
-
-Cependant, si vous avez vraiment besoin de rester sous SAS, sachez que SAS peut être utilisé dans Jupyter en utilisant les packages Python [SASPy](https://sassoftware.github.io/saspy/) et [SASKernel](https://sassoftware.github.io/sas_kernel/) (tuto pas à pas [ici](https://gitlab.inria.fr/learninglab/mooc-rr/mooc-rr-ressources/blob/master/documents/tuto_jupyter_windows/tuto_jupyter_windows.md#53-le-package-python-saspy-permet-dex%C3%A9cuter-du-code-sas-dans-un-notebook-python)). L'utilisation d'une telle approche de programmation alphabète alliée à un contrôle systématique de la version et de l'environnement est un plus. Des solutions similaires existent pour de nombreux langages ([liste des kernels Jupyter](https://github.com/jupyter/jupyter/wiki/Jupyter-kernels)).
-
-Contrôler votre environnement logiciel
-======================================
-
-Comme nous l'avons mentionné dans les séquences vidéo, plusieurs solutions permettent de contrôler votre environnement :
-
-- Les faciles (autorisant le désordre) : [CDE](http://www.pgbovine.net/cde.html) ou [ReproZip](https://vida-nyu.github.io/reprozip/)
-- Les plus exigeants (encourageant la propreté) où vous commencez avec un environnement propre et n’installez que ce qui est strictement nécessaire (et le documentez) :
- - Le très connu [Docker](https://www.docker.io/)
- - [Singularity](https://singularity.lbl.gov/) ou [Spack](https://spack.io/), qui sont plus ciblés sur les besoins spécifiques des utilisateurs d'informatique de haute performance
- - [Guix](https://www.gnu.org/software/guix/), [Nix](https://nixos.org/) qui sont des solutions très propres (parfaites ?) à cet enfer de dépendance et que nous recommandons
-
-Il peut être difficile de comprendre la différence entre ces différentes approches et de décider laquelle est la meilleure dans votre contexte.
-
-Voici un webinaire où certains de ces outils sont présentés dans un contexte de recherche reproductible : [Controling your environment (by Michael Mercier and Cristian Ruiz)](https://github.com/alegrand/RR_webinars/blob/master/2_controling_your_environment/index.org).
-
-Vous voudrez peut-être aussi jeter un coup d’œil sur la convention [Popper](http://falsifiable.us/) ([webinaire par Ivo Gimenez par Google hangout](https://github.com/alegrand/RR_webinars/blob/master/11_popper/index.org)) ou sur la [présentation de Konrad Hinsen](https://github.com/alegrand/RR_webinars/blob/master/7_publications/index.org) sur [Active Papers](http://www.activepapers.org/).
-
-Préservation/Archivage
-======================
-
-S'assurer que le logiciel est correctement archivé, c'est-à-dire qu'il est stocké de manière sécurisée afin de pouvoir y accéder de manière pérenne, peut être assez délicat. Si vous n'avez jamais vu la [présentation du projet Software Heritage par Roberto Di Cosmo](https://github.com/alegrand/RR_webinars/blob/master/5_archiving_software_and_data/index.org), c'est à voir absolument. [](https://www.softwareheritage.org/)
-
-Pour les données, nous vous recommandons vivement d’utiliser [](https://www.zenodo.org/) lorsque les données ne sont pas sensibles.
-
-Workflows
-=========
-
-Dans les séquences vidéo, nous avons mentionné les gestionnaires de flux de travaux (domaine d'application d'origine entre parenthèses) :
-
-- workflows assez complexes : [Galaxy](https://galaxyproject.org/) (génomique), [Kepler](https://kepler-project.org/) (écologie), [Taverna](https://taverna.apache.org/) (bioinformatique), [Pegasus](https://pegasus.isi.edu/) (astronomie), [Collective Knowledge](http://cknowledge.org/) (optimisation de la compilation), [VisTrails](https://www.vistrails.org) (traitement d'image)
-- workflows plus légers : [dask](http://dask.pydata.org/) (Python), [drake](https://ropensci.github.io/drake/) (R), [swift](http://swift-lang.org/) (biologie moléculaire), [snakemake](https://snakemake.readthedocs.io/) (comme `make` mais plus expressif et en `Python`)...
-- hybride à mi-chemin entre le notebook et le workflow : [SOS-notebook](https://vatlab.github.io/sos-docs/)
-
-Vous voudrez peut-être consulter ce webinaire : \[\[\]\[Science Reproducible en Bioinformatique : état actuel, solutions et opportunités de recherche (par Sarah Cohen Boulakia, Yvan Le Bras and Jérôme Chopard)\]\].
-
-Problèmes numériques et statistiques
-====================================
-
-Nous avons mentionné ces sujets dans notre MOOC mais nous ne pourrions en aucun cas les couvrir correctement. Nous ne suggérons ici que quelques présentations intéressantes à ce sujet.
-
-- \[\[\]\[Pierre Dragicevic donne une belle illustration des conséquences de l’incertitude statistique et de la manière dont certains concepts (par exemple les p-values) sont généralement mal compris\]\].
-- \[\[\]\[Nathalie Revol, Philippe Langlois et Stef Graillat présentent les principaux problèmes rencontrés en essayant d'obtenir une reproductibilité numérique et présentent les travaux de recherche récents en la matière\]\].
-
-Pratiques de publication
-========================
+# Table des matières TOC
+
+ - [Réflexions sur la stabilité des langages de
+ programmation](#réflexions-sur-la-stabilité-des-langages-de-programmation)
+ - [Contrôler votre environnement
+ logiciel](#contrôler-votre-environnement-logiciel)
+ - [Préservation/Archivage](#préservationarchivage)
+ - [Workflows](#workflows)
+ - [Problèmes numériques et
+ statistiques](#problèmes-numériques-et-statistiques)
+ - [Pratiques de publication](#pratiques-de-publication)
+ - [Expérimentation](#expérimentation)
+
+# Réflexions sur la stabilité des langages de programmation
+
+Comme nous l'avons expliqué, le langage de programmation utilisé dans
+une analyse a une influence évidente sur la reproductibilité de
+l'analyse. Ce n'est pas une caractéristique du langage lui-même mais
+plutôt une conséquence de la philosophie de développement de la
+communauté sous-jacente. Par exemple, C est un langage très stable avec
+une [spécification très claire conçue par un
+comité](https://en.wikipedia.org/wiki/C_\(programming_language\)#ANSI_C_and_ISO_C)
+(même si certains compilateurs ne respectent cette norme).
+
+À l’autre bout du spectre,
+[Python](https://en.wikipedia.org/wiki/Python_\(programming_language\))
+a connu un développement beaucoup plus organique basé sur une
+philosophie de lisibilité et valorisant l'amélioration continue par
+rapport à la compatibilité ascendante. De plus, Python est couramment
+utilisé comme langage de wrapping (par exemple pour utiliser facilement
+les bibliothèques C ou FORTRAN) et dispose de son propre système de
+packaging. Tous ces choix de conception ont souvent tendance à rendre la
+reproductibilité un peu pénible avec Python, même si la communauté en
+tient lentement compte. La transition de Python 2 à Python 3, qui n'est
+pas totalement compatible avec les versions antérieures, a été un
+processus particulièrement pénible, notamment parce que les deux
+langages sont si similaires qu'il n'est pas toujours facile de savoir si
+un script ou un module donné est écrit en Python 2 ou Python 3. Il n'est
+même pas rare de voir des scripts Python qui fonctionnent sous Python 2
+et Python 3, mais produisent des résultats différents en raison du
+changement de comportement de la division entière.
+
+[R](https://en.wikipedia.org/wiki/R_\(programming_language\)), en
+comparaison, est beaucoup plus proche (en termes de communauté de
+développeurs) de langages comme
+[SAS](https://en.wikipedia.org/wiki/SAS_\(logiciel\)), très utilisé dans
+l'industrie pharmaceutique où les procédures statistiques doivent être
+standardisées et stables/solides. R n’est évidemment pas à l’abri des
+évolutions qui cassent les anciennes versions et gênent la
+reproductibilité/compatibilité avec les versions antérieures. Voici une
+[véritable histoire relativement récente à ce
+sujet](http://members.cbio.mines-paristech.fr//thocking/HOCKING-reproducible-research-with-R.html)
+et des collègues qui ont travaillé sur le [MOOC d'initiation à la
+statistique avec R sur
+FUN](https://www.fun-mooc.fr/courses/course-v1:UPSUD+42001+session10/about)
+nous ont signalé plusieurs problèmes concernant quelques fonctions
+(`gplots::plotmeans`, `survival::survfit` ou `hclust`) dont les
+paramètres par défaut ont changé au fil des ans. Il est donc
+probablement utile de donner des valeurs explicites pour tous les
+paramètres (ce qui peut être fastidieux) au lieu de s’appuyer sur des
+valeurs par défaut et de restreindre autant que possible vos
+dépendances.
+
+Ceci étant dit, la communauté de développement R est généralement très
+prudente en matière de stabilité. Nous (les auteurs de ce MOOC) pensons
+que l'open source (qui permet de contrôler le calcul et d'identifier les
+erreurs et les sources de non-reproductibilité) est plus important que
+la stabilité à toute épreuve de SAS, qui est un logiciel propriétaire.
+
+Cependant, si vous avez vraiment besoin de rester sous SAS, sachez que
+SAS peut être utilisé dans Jupyter en utilisant les packages Python
+[SASPy](https://sassoftware.github.io/saspy/) et
+[SASKernel](https://sassoftware.github.io/sas_kernel/) (tuto pas à pas
+[ici](https://gitlab.inria.fr/learninglab/mooc-rr/mooc-rr-ressources/blob/master/documents/tuto_jupyter_windows/tuto_jupyter_windows.md#53-le-package-python-saspy-permet-dex%C3%A9cuter-du-code-sas-dans-un-notebook-python)).
+L'utilisation d'une telle approche de programmation alphabète alliée à
+un contrôle systématique de la version et de l'environnement est un
+plus. Des solutions similaires existent pour de nombreux langages
+([liste des kernels
+Jupyter](https://github.com/jupyter/jupyter/wiki/Jupyter-kernels)).
+
+# Contrôler votre environnement logiciel
+
+Comme nous l'avons mentionné dans les séquences vidéo, plusieurs
+solutions permettent de contrôler votre environnement :
+
+ - Les faciles (autorisant le désordre) :
+ [CDE](http://www.pgbovine.net/cde.html) ou
+ [ReproZip](https://vida-nyu.github.io/reprozip/)
+ - Les plus exigeants (encourageant la propreté) où vous commencez avec
+ un environnement propre et n’installez que ce qui est strictement
+ nécessaire (et le documentez) :
+ - Le très connu [Docker](https://www.docker.io/)
+ - [Singularity](https://singularity.lbl.gov/) ou
+ [Spack](https://spack.io/), qui sont plus ciblés sur les besoins
+ spécifiques des utilisateurs d'informatique de haute performance
+ - [Guix](https://www.gnu.org/software/guix/),
+ [Nix](https://nixos.org/) qui sont des solutions très propres
+ (parfaites ?) à cet enfer de dépendance et que nous recommandons
+
+Il peut être difficile de comprendre la différence entre ces différentes
+approches et de décider laquelle est la meilleure dans votre contexte.
+
+Voici un webinaire où certains de ces outils sont présentés dans un
+contexte de recherche reproductible : [Controling your environment (by
+Michael Mercier and Cristian
+Ruiz)](https://github.com/alegrand/RR_webinars/blob/master/2_controling_your_environment/index.org).
+
+Vous voudrez peut-être aussi jeter un coup d’œil sur la convention
+[Popper](http://falsifiable.us/) ([webinaire par Ivo Gimenez par Google
+hangout](https://github.com/alegrand/RR_webinars/blob/master/11_popper/index.org))
+ou sur la [présentation de Konrad
+Hinsen](https://github.com/alegrand/RR_webinars/blob/master/7_publications/index.org)
+sur [Active Papers](http://www.activepapers.org/).
+
+# Préservation/Archivage
+
+S'assurer que le logiciel est correctement archivé, c'est-à-dire qu'il
+est stocké de manière sécurisée afin de pouvoir y accéder de manière
+pérenne, peut être assez délicat. Si vous n'avez jamais vu la
+[présentation du projet Software Heritage par Roberto Di
+Cosmo](https://github.com/alegrand/RR_webinars/blob/master/5_archiving_software_and_data/index.org),
+c'est à voir absolument.
+
+Pour les données, nous vous recommandons vivement d’utiliser
+ lorsque les données ne sont pas sensibles.
+
+# Workflows
+
+Dans les séquences vidéo, nous avons mentionné les gestionnaires de flux
+de travaux (domaine d'application d'origine entre parenthèses) :
+
+ - workflows assez complexes : [Galaxy](https://galaxyproject.org/)
+ (génomique), [Kepler](https://kepler-project.org/) (écologie),
+ [Taverna](https://taverna.apache.org/) (bioinformatique),
+ [Pegasus](https://pegasus.isi.edu/) (astronomie), [Collective
+ Knowledge](http://cknowledge.org/) (optimisation de la compilation),
+ [VisTrails](https://www.vistrails.org) (traitement d'image)
+ - workflows plus légers : [dask](http://dask.pydata.org/) (Python),
+ [drake](https://ropensci.github.io/drake/) (R),
+ [swift](http://swift-lang.org/) (biologie moléculaire),
+ [snakemake](https://snakemake.readthedocs.io/) (comme `make` mais
+ plus expressif et en `Python`)…
+ - hybride à mi-chemin entre le notebook et le workflow :
+ [SOS-notebook](https://vatlab.github.io/sos-docs/)
+
+Vous voudrez peut-être consulter ce webinaire :
+\[\[\]\[Science
+Reproducible en Bioinformatique : état actuel, solutions et opportunités
+de recherche (par Sarah Cohen Boulakia, Yvan Le Bras and Jérôme
+Chopard)\]\].
+
+# Problèmes numériques et statistiques
+
+Nous avons mentionné ces sujets dans notre MOOC mais nous ne pourrions
+en aucun cas les couvrir correctement. Nous ne suggérons ici que
+quelques présentations intéressantes à ce
+ sujet.
+
+ - \[\[\]\[Pierre
+ Dragicevic donne une belle illustration des conséquences de
+ l’incertitude statistique et de la manière dont certains concepts
+ (par exemple les p-values) sont généralement mal
+ compris\]\].
+ - \[\[\]\[Nathalie
+ Revol, Philippe Langlois et Stef Graillat présentent les principaux
+ problèmes rencontrés en essayant d'obtenir une reproductibilité
+ numérique et présentent les travaux de recherche récents en la
+ matière\]\].
+
+# Pratiques de publication
Vous souhaiterez peut-être consulter les webinaires suivants :
-- [Permettre une recherche ouverte et reproductible lors de conférences sur les systèmes informatiques (par Grigori Fursin)](https://github.com/alegrand/RR_webinars/blob/master/8_artifact_evaluation/index.org). En particulier, cette discussion aborde *l'évaluation des artefacts* qui devient de plus en plus populaire.
-- [Modalités de publication favorisant la recherche reproductible (par Konrad Hinsen et Nicolas Rougier)](https://github.com/alegrand/RR_webinars/blob/master/7_publications/index.org). Présentation des motivations de l'intiative [ReScience journal](http://rescience.github.io/).
-- [Simine Vazire - Quand devrions-nous être sceptiques face aux affirmations scientifiques ?](https://www.youtube.com/watch?v=HuJ2G8rXHMs), qui traite des pratiques de publication dans les sciences sociales et en particulier HARKing (Hypothèses après que les résultats sont connus), p-hacking, etc.
-
-Expérimentation
-===============
-
-L'expérimentation n'est pas couverte dans ce MOOC bien qu'il s'agisse d'un élément essentiel de la science. La raison principale est que les pratiques et les contraintes varient tellement d'un domaine à l'autre que ce thème ne pouvait pas être correctement couvert dans une première édition. Nous serions heureux de rassembler les références que vous jugez intéressantes dans votre domaine. N'hésitez donc pas à nous les fournir à l'aide du forum. Nous les intégrerons dans cette page.
-
-- [Une récente conférence de Lucas Nussbaum sur les bancs d’essais expérimentaux en informatique](https://github.com/alegrand/RR_webinars/blob/master/9_experimental_testbeds/index.org).
+ - [Permettre une recherche ouverte et reproductible lors de
+ conférences sur les systèmes informatiques (par Grigori
+ Fursin)](https://github.com/alegrand/RR_webinars/blob/master/8_artifact_evaluation/index.org).
+ En particulier, cette discussion aborde *l'évaluation des artefacts*
+ qui devient de plus en plus populaire.
+ - [Modalités de publication favorisant la recherche reproductible (par
+ Konrad Hinsen et Nicolas
+ Rougier)](https://github.com/alegrand/RR_webinars/blob/master/7_publications/index.org).
+ Présentation des motivations de l'intiative [ReScience
+ journal](http://rescience.github.io/).
+ - [Simine Vazire - Quand devrions-nous être sceptiques face aux
+ affirmations
+ scientifiques ?](https://www.youtube.com/watch?v=HuJ2G8rXHMs), qui
+ traite des pratiques de publication dans les sciences sociales et en
+ particulier HARKing (Hypothèses après que les résultats sont
+ connus), p-hacking, etc.
+
+# Expérimentation
+
+L'expérimentation n'est pas couverte dans ce MOOC bien qu'il s'agisse
+d'un élément essentiel de la science. La raison principale est que les
+pratiques et les contraintes varient tellement d'un domaine à l'autre
+que ce thème ne pouvait pas être correctement couvert dans une première
+édition. Nous serions heureux de rassembler les références que vous
+jugez intéressantes dans votre domaine. N'hésitez donc pas à nous les
+fournir à l'aide du forum. Nous les intégrerons dans cette page.
+
+ - [Une récente conférence de Lucas Nussbaum sur les bancs d’essais
+ expérimentaux en
+ informatique](https://github.com/alegrand/RR_webinars/blob/master/9_experimental_testbeds/index.org).