Commit 73e70c01e5af363619eab164f944819e67cb4a38

Authored by Louis-Claude Canon
1 parent 97ff9056b4

Add Salt and Ansible to the list of configuration tools

Showing 2 changed files with 2 additions and 1 deletions Inline Diff

subject/environment.md View file @ 73e70c0
Gestion des environnements de travail 1 1 Gestion des environnements de travail
===================================== 2 2 =====================================
3 3
Plusieurs enjeux : 4 4 Plusieurs enjeux :
5 5
- fournir des environnements reproductibles pour les expériences de recherche 6 6 - fournir des environnements reproductibles pour les expériences de recherche
- fournir des environnements adaptés aux besoins pédagogiques 7 7 - fournir des environnements adaptés aux besoins pédagogiques
- fournir des environnements facilitant le prototypage de solutions pour les 8 8 - fournir des environnements facilitant le prototypage de solutions pour les
besoins administratifs 9 9 besoins administratifs
10 10
Plusieurs solutions populaires : 11 11 Plusieurs solutions populaires :
12 12
- `veewee` : production automatisée d'images virtuelles 13 13 - `veewee` : production automatisée d'images virtuelles
- développement actif par un développeur principal (25%) depuis 2011 14 14 - développement actif par un développeur principal (25%) depuis 2011
- prend en entrée une iso d'install et un fichier de conf 15 15 - prend en entrée une iso d'install et un fichier de conf
- produit des images VirtualBox, KVM et VMWare 16 16 - produit des images VirtualBox, KVM et VMWare
- fournit de nombreux exemples de configuration 17 17 - fournit de nombreux exemples de configuration
- `vagrant` : automatise et facilite la configuration et l'exécution d'une VM 18 18 - `vagrant` : automatise et facilite la configuration et l'exécution d'une VM
- développement actif par un développeur principal (75%) depuis 2010 19 19 - développement actif par un développeur principal (75%) depuis 2010
- nécessite une image (boîte) 20 20 - nécessite une image (boîte)
- prend un fichier de configuration pour finaliser la configuration de l'image 21 21 - prend un fichier de configuration pour finaliser la configuration de l'image
- nécessite une machine virtuelle (VirtualBox, VMWare, AWS pour Amazon, KVM 22 22 - nécessite une machine virtuelle (VirtualBox, VMWare, AWS pour Amazon, KVM
avec `vagrant-kvm`) 23 23 avec `vagrant-kvm`)
- s'interface entre l'image et la machine virtuelle pour automatiser 24 24 - s'interface entre l'image et la machine virtuelle pour automatiser
l'étape de configuration (commune à toutes les VM) 25 25 l'étape de configuration (commune à toutes les VM)
- facilite la configuration réseau et la synchronisation des données 26 26 - facilite la configuration réseau et la synchronisation des données
(peut-être VirtualBox le fait-il déjà) 27 27 (peut-être VirtualBox le fait-il déjà)
- `chef`, `puppet` : configuration et administration automatisée 28 28 - `chef`, `puppet` : configuration et administration automatisée
- développement actif par plusieurs développeurs depuis 2008 29 29 - développement actif par plusieurs développeurs depuis 2008
- au coude à coude, tous les deux en ruby 30 30 - au coude à coude, tous les deux en ruby
31 - il y a aussi `salt` et `ansible` en ruby et plus récents (2011-2012)
31 32
Veewee 32 33 Veewee
------ 33 34 ------
34 35
+-------------+ +--------+ 35 36 +-------------+ +--------+
|Configuration|->| Veewee | 36 37 |Configuration|->| Veewee |
+-------------+ | | 37 38 +-------------+ | |
| | 38 39 | |
+---+ | | +-----------+ 39 40 +---+ | | +-----------+
|Iso|----------->| |->|Box (image)| 40 41 |Iso|----------->| |->|Box (image)|
+---+ | | +-----------+ 41 42 +---+ | | +-----------+
| | 42 43 | |
+-------------+ | | 43 44 +-------------+ | |
|Provider (VM)|->| | 44 45 |Provider (VM)|->| |
+-------------+ +--------+ 45 46 +-------------+ +--------+
46 47
Intérêts : 47 48 Intérêts :
48 49
- ABD 49 50 - ABD
- environnement root plus proche d'une situation classique (outils plus 50 51 - environnement root plus proche d'une situation classique (outils plus
faciles à déployer et plus formateur pour les étudiants) 51 52 faciles à déployer et plus formateur pour les étudiants)
- diffuser des images contenant déjà les serveurs configurés avec les 52 53 - diffuser des images contenant déjà les serveurs configurés avec les
données nécessaires 53 54 données nécessaires
- possibilité d'avoir plusieurs serveurs 54 55 - possibilité d'avoir plusieurs serveurs
55 56
Vagrant 56 57 Vagrant
------- 57 58 -------
58 59
+-------------+ +-----------------------------------+ 59 60 +-------------+ +-----------------------------------+
|Configuration|->| Vagrant : exécution/provisioning | 60 61 |Configuration|->| Vagrant : exécution/provisioning |
+-------------+ | | 61 62 +-------------+ | |
| +----------+ +------+ +---+ +---+ | 62 63 | +----------+ +------+ +---+ +---+ |
+-----------+ | |VirtualBox| |VMWare| |AWS| |...| | 63 64 +-----------+ | |VirtualBox| |VMWare| |AWS| |...| |
|Box (image)|--->| +----------+ +------+ +---+ +---+ | 64 65 |Box (image)|--->| +----------+ +------+ +---+ +---+ |
+-----------+ +-----------------------------------+ 65 66 +-----------+ +-----------------------------------+
Tutoriel des thèmes techniques 1 1 Tutoriel des thèmes techniques
============================== 2 2 ==============================
3 3
Combinaison de CM/TP informelle et participative (sans évaluation) : 4 4 Combinaison de CM/TP informelle et participative (sans évaluation) :
5 5
- public : permanent ou étudiants de la formation (sélection au mérite et à 6 6 - public : permanent ou étudiants de la formation (sélection au mérite et à
l'investissement au besoin) 7 7 l'investissement au besoin)
- capacité : 401C (16 personnes plus les machines personnelles) 8 8 - capacité : 401C (16 personnes plus les machines personnelles)
- objectif : diffuser une connaissance technique et évaluer la pertinence d'un 9 9 - objectif : diffuser une connaissance technique et évaluer la pertinence d'un
enseignement modernisé pour les étudiants en formation 10 10 enseignement modernisé pour les étudiants en formation
- durée : 3 heures 11 11 - durée : 3 heures
- sujet : technologie populaire 12 12 - sujet : technologie populaire
- fréquence : 2 fois par an 13 13 - fréquence : 2 fois par an
- intervenants : enseignants ou étudiants à l'issue d'un projet 14 14 - intervenants : enseignants ou étudiants à l'issue d'un projet
15 15
Sujets 16 16 Sujets
------ 17 17 ------
18 18
- analyse de données en R 19 19 - analyse de données en R
- outils pour la programmation 20 20 - outils pour la programmation
- git 21 21 - git
- théorie et pratique 22 22 - théorie et pratique
- ouverture sur eclipse (N. Marilleau ?) 23 23 - ouverture sur eclipse (N. Marilleau ?)
- test de Mercurial ? 24 24 - test de Mercurial ?
- ressources 25 25 - ressources
- <http://resrc.io/tag/tag/git/> 26 26 - <http://resrc.io/tag/tag/git/>
- présentation de workflow 27 27 - présentation de workflow
- <http://blogs.atlassian.com/2014/01/simple-git-workflow-simple/> 28 28 - <http://blogs.atlassian.com/2014/01/simple-git-workflow-simple/>
- <https://gist.github.com/jbenet/ee6c9ac48068889b0912> 29 29 - <https://gist.github.com/jbenet/ee6c9ac48068889b0912>
- <http://rfc.zeromq.org/spec:16> 30 30 - <http://rfc.zeromq.org/spec:16>
- visualisation 31 31 - visualisation
- <http://www.wei-wang.com/ExplainGitWithD3/> 32 32 - <http://www.wei-wang.com/ExplainGitWithD3/>
- tutoriels 33 33 - tutoriels
- MOOC : Developing with GIT, Git Real 34 34 - MOOC : Developing with GIT, Git Real
- debugging avancée : valgrind, gdb, ... 35 35 - debugging avancée : valgrind, gdb, ...
- Maven (en perte de vitesse ?) 36 36 - Maven (en perte de vitesse ?)
- Jenkins, Selenium, Sonar (un peu négligeable) 37 37 - Jenkins, Selenium, Sonar (un peu négligeable)
- bibliothèques 38 38 - bibliothèques
- Hibernate, Spring, JPA 39 39 - Hibernate, Spring, JPA
- Qt (avec une partie Android) 40 40 - Qt (avec une partie Android)
- JavaFX (utilisation encore négligeable face à Swing) 41 41 - JavaFX (utilisation encore négligeable face à Swing)
- language du Web 42 42 - language du Web
- développement client 43 43 - développement client
- base : jQuery 44 44 - base : jQuery
- Angular.js, comparaison avec Ember.js, Backbone.js (less complete and 45 45 - Angular.js, comparaison avec Ember.js, Backbone.js (less complete and
more verbose) 46 46 more verbose)
- développement serveur 47 47 - développement serveur
- Node.js 48 48 - Node.js
- REST (Express.js) 49 49 - REST (Express.js)
- Web application framework (Django, Rails, Meteor) 50 50 - Web application framework (Django, Rails, Meteor)
- CoffeeScript (un peu négligeable) 51 51 - CoffeeScript (un peu négligeable)
- administration (difficile à mettre en oeuvre et assez spécifique) 52 52 - administration (difficile à mettre en oeuvre et assez spécifique)
- systemd (très spécifique) 53 53 - systemd (très spécifique)
- Puppet, Chef, CFEngine 54 54 - Puppet, Chef, CFEngine, Salt, Ansible
- Nagios 55 55 - Nagios
- Snort, Metasploit 56 56 - Snort, Metasploit
- Vagrant, gestion de machines virtuelles 57 57 - Vagrant, gestion de machines virtuelles