Commit 2fc93674118f6b614d3a3b341a69391bbef1cbd7
1 parent
508916cb27
Add previous reflexions on data-analysis workflow and virtual environments
Showing 2 changed files with 102 additions and 0 deletions Side-by-side Diff
data-workflow.md
View file @
2fc9367
| 1 | +Workflow pour l'analyse de données | |
| 2 | +================================== | |
| 3 | + | |
| 4 | +Créer un dossier qui contiendra les scripts, les notes et les données (ou un | |
| 5 | +lien vers les données). | |
| 6 | + | |
| 7 | +- versionner le dossier avec git | |
| 8 | +- RStudio pour le traitement des données | |
| 9 | +- knitr + Markdown pour les notes | |
| 10 | + | |
| 11 | +Pas besoin de dater ou signer le document (Rpubs et git contiennent déjà ces | |
| 12 | +informations). | |
| 13 | + | |
| 14 | +Externaliser le code du Rmd dans un fichier source qui pourra être | |
| 15 | +implicitement (`echo=FALSE`) inclus dans un futur rapport. | |
| 16 | + | |
| 17 | +Toujours fixer la graine. | |
| 18 | + | |
| 19 | +Ne jamais revenir en arrière sans commiter le Rmd. Lorsque l'analyse a atteint | |
| 20 | +une étape importante (pas forcément le jour-même mais lorsque des conclusions | |
| 21 | +sont déjà disponibles), commiter, publier le rapport sur Rpubs et commencer une | |
| 22 | +nouvelle analyse. | |
| 23 | + | |
| 24 | +Générer les figures finales avec un second device en pdf en plus du png (sauf | |
| 25 | +si leur taille est prohibitive). |
environment.md
View file @
2fc9367
| 1 | +Gestion des environnements de travail | |
| 2 | +===================================== | |
| 3 | + | |
| 4 | +Plusieurs enjeux : | |
| 5 | + | |
| 6 | +- fournir des environnements reproductibles pour les expériences de recherche | |
| 7 | +- fournir des environnements adaptés aux besoins pédagogiques | |
| 8 | +- fournir des environnements facilitant le prototypage de solutions pour les | |
| 9 | + besoins administratifs | |
| 10 | + | |
| 11 | +Plusieurs solutions populaires : | |
| 12 | + | |
| 13 | +- `veewee` : production automatisée d'images virtuelles | |
| 14 | + - développement actif par un développeur principal (25%) depuis 2011 | |
| 15 | + - prend en entrée une iso d'install et un fichier de conf | |
| 16 | + - produit des images VirtualBox, KVM et VMWare | |
| 17 | + - fournit de nombreux exemples de configuration | |
| 18 | +- `vagrant` : automatise et facilite la configuration et l'exécution d'une VM | |
| 19 | + - développement actif par un développeur principal (75%) depuis 2010 | |
| 20 | + - nécessite une image (boîte) | |
| 21 | + - prend un fichier de configuration pour finaliser la configuration de l'image | |
| 22 | + - nécessite une machine virtuelle (VirtualBox, VMWare, AWS pour Amazon, KVM | |
| 23 | + avec `vagrant-kvm`) | |
| 24 | + - s'interface entre l'image et la machine virtuelle pour automatiser | |
| 25 | + l'étape de configuration (commune à toutes les VM) | |
| 26 | + - facilite la configuration réseau et la synchronisation des données | |
| 27 | + (peut-être VirtualBox le fait-il déjà) | |
| 28 | +- `chef`, `puppet` : configuration et administration automatisée | |
| 29 | + - développement actif par plusieurs développeurs depuis 2008 | |
| 30 | + - au coude à coude, tous les deux en ruby | |
| 31 | + | |
| 32 | +Veewee | |
| 33 | +------ | |
| 34 | + | |
| 35 | + +-------------+ +--------+ | |
| 36 | + |Configuration|->| Veewee | | |
| 37 | + +-------------+ | | | |
| 38 | + | | | |
| 39 | + +---+ | | +-----------+ | |
| 40 | + |Iso|----------->| |->|Box (image)| | |
| 41 | + +---+ | | +-----------+ | |
| 42 | + | | | |
| 43 | + +-------------+ | | | |
| 44 | + |Provider (VM)|->| | | |
| 45 | + +-------------+ +--------+ | |
| 46 | + | |
| 47 | +Intérêts : | |
| 48 | + | |
| 49 | +- ABD | |
| 50 | + - environnement root plus proche d'une situation classique (outils plus | |
| 51 | + faciles à déployer et plus formateur pour les étudiants) | |
| 52 | + - diffuser des images contenant déjà les serveurs configurés avec les | |
| 53 | + données nécessaires | |
| 54 | + - possibilité d'avoir plusieurs serveurs | |
| 55 | + | |
| 56 | +Vagrant | |
| 57 | +------- | |
| 58 | + | |
| 59 | + +-------------+ +-----------------------------------+ | |
| 60 | + |Configuration|->| Vagrant : exécution/provisioning | | |
| 61 | + +-------------+ | | | |
| 62 | + | +----------+ +------+ +---+ +---+ | | |
| 63 | + +-----------+ | |VirtualBox| |VMWare| |AWS| |...| | | |
| 64 | + |Box (image)|--->| +----------+ +------+ +---+ +---+ | | |
| 65 | + +-----------+ +-----------------------------------+ | |
| 66 | + | |
| 67 | +Intérêts : | |
| 68 | + | |
| 69 | +- ABD | |
| 70 | + - facilite la configuration de VirtualBox (à vérifier) : copie de | |
| 71 | + `Vagrantfile` dans le dossier local et deux commandes (`init` et `up`) | |
| 72 | + - permet de rajouter `italc`, mais le résultat peut être trop lent si les | |
| 73 | + outils clients (graphiques) sont exécutés dans la VM | |
| 74 | + - démarrage d'un SGBD rapide pour des tests | |
| 75 | +- prototypage pour les besoins administratifs | |
| 76 | + - mise en place d'une solution fonctionnelle facile | |
| 77 | + - `gitlab` provides an installation guide for `vagrant` |