From 68a057c88251ab9d625f4aca04b97c47bd1b06bb Mon Sep 17 00:00:00 2001 From: 850ad9002e8a94b002cf8b2ee50ec6d9 <850ad9002e8a94b002cf8b2ee50ec6d9@app-learninglab.inria.fr> Date: Thu, 23 Apr 2020 16:17:34 +0000 Subject: [PATCH] Update Readme.md Module 2 entirely done --- journal/Readme.md | 90 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 89 insertions(+), 1 deletion(-) diff --git a/journal/Readme.md b/journal/Readme.md index 8ea2a49..710d2fa 100644 --- a/journal/Readme.md +++ b/journal/Readme.md @@ -108,8 +108,96 @@ Préferrer les logiciels libres (ancienne version accessible) --> meilleure chan ## 3. Le document computationnel : principe +L'objectif essentiel de ce document est de permettre la **transparence** la plus complète possible. +La science moderne = majeur partie de la science derrière un ordinateur pour l'interprétation des données. +La recherche reproducible consiste à réduire le fossé séparant l'auteur et le lecteur. + +### 3.1. Objectifs méthodologiques +Avoir un outil permettant + - d'inspecter : justifier/comprendre + - de refaire : vérifier (par le lecteur si le calcul est correct)/corriger/réutiliser (refaire l'analyse le plus simplement possible) + +### 3.2. La vitrine ... += texte, ligne de calcul, figure, courbe, article classique au format html ou pdf = document final + +### 3.3. l'envers du décor +document dynamique constitué de différentes parties avec lesquelles on peut interagir = zone de texte (markdown, expliquer les choix), zone de code (fragment code python par ex), zone de résultats des lignes de code = document initial +Certaines zones peuvent être rendues non-visibles dans le fichier pdf final. Possible grâce à différents outils : Jupyter, RStudio, OrgMode. + +**Principe indentique des outils**: + - 1 seul document : explication, code, résultats + - session + - export +** mais différences de syntaxe, d'inter-opérabilité des langages, le contrôle/configuration pour l'export. ## 4. Prise en main avec l'outil +Faire le choix entre 3 outils différents : +4.A Prise en main de l'outil Jupyter +**4.B Prise en main de l'outil RStudio** +4.C Prise en main de l'outil OrgMode +RStudio = environnement de développement spécifique au langage R. +1. Lancement +2. Exécution des blocs +3. Production et partage du document final + +Qu’est-ce qu’un environnement comme Rstudio apporte par rapport à travailler dans la console R ou bien exécuter directement des scripts R ? + - Il permet d'avoir un historique bien structuré des analyses effectuées. + - Il permet d’inspecter les données, de garder une trace de cette inspection, et d’expliquer au fur et à mesure les transformations que l’on effectue. + - Il sauvegarde les résultats intermédiaires, qu’ils soient textuels ou graphiques. + - Il vous permet de générer des documents au format HTML, PDF ou .doc(x)/.odt. + - Il permet de s’assurer que la figure obtenue est bien le résultat du calcul décrit dans le document. + +Dans Rstudio, quelles sont les fonctionnalités fournies pour le langage R mais non disponibles pour le langage Python ? + - La complétion sur les noms de variables + - La non-persistance des variables et de leur état pour les codes Python + - En python, seules les sorties texte sont gérées, pas les sorties graphiques + +Qu’est-ce qui permet d’être efficace dans un environnement comme Rstudio ? + - Les fonctions d’export et de réexécution du code depuis le début + - La complétion + - Apprendre les raccourcis claviers + - Lire la documentation et les pense-bêtes + ## 5. Travailler avec les autres -## 6. Analyse comparée des différents outils +**Rpubs** = outils idéal pour partager de façon rapide mais non-pérenne tout comme Dropbox. +**Gitlab/Github** = idéal pour partager de façon rapide et PERENNE mais partage de tous l'historique! si utilisation de cet outil, il faut archiver. +Utilisation de **sites compagnons** comme HAL (article), Figshare/zenodo (figures et données). + +*De quoi aurez-vous besoin pour produire un document pdf:* +En interne: pandoc, knitr ou emacs/org-mode. +LaTeX devra aussi être installé +Voici quelques billets intéressants sur le sujet: +1. [ipython-notebook](http://blog.juliusschulz.de/blog/ultimate-ipython-notebook) +2. [github/hide_code](https://github.com/kirbs-/hide_code) +3. [markdown_manuscript](http://svmiller.com/blog/2016/02/svm-r-markdown-manuscript/) +4. [KleinbergsGridSimulator](https://github.com/balouf/Kleinberg/blob/master/KleinbergsGridSimulator.ipynb) +## 6. Analyse comparée des différents outils +### 6.1. Jupyter + - Facile à prendre en main + - Document dynamique + - co-auteur (ligne de code modifiable et exécutable par tous) + +### 6.2. RStudio +### 6.3. OrgMode +1. Pour un journal + - Un seul auteur + - Organisation chronologique + - Etiquettes (recherche par étiquettes pour filtrer les entrées) + - Notes, liens, code +2. Pour un cahier de laboratoire + - Organisation sémantique + - Conventions d'organisation + - Plusieurs auteurs + - Etiquettes pour auteurs, expériences ... +3. Pour un article reproducible +- Plusieurs auteurs +- Régénerer les figures +- Revenir aux sources + +### 6.4. L'outil importe peu, ce qui importe c'est : + - collecter l'information + - organiser l'information et la rendre exploitable + - la rendre disponible + +**Pour la suite du MOOC, choix de RStudio** \ No newline at end of file -- 2.18.1