Commit 2fc93674118f6b614d3a3b341a69391bbef1cbd7

Authored by Louis-Claude Canon
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`