README.md 4.91 KB
Newer Older
CHAMONT David's avatar
CHAMONT David committed
1
La "piscine", dont le nom est inspiré de certaines pratiques dans les écoles
CHAMONT David's avatar
CHAMONT David committed
2 3 4
d'informatique, se veut une sorte d'atelier collectif ou chacun est autonome et
plonge sur les sujets de son choix, individuellement ou en petits groupes.

5
Nous vous proposons en ligne un [ensemble de plongeons]
CHAMONT David's avatar
CHAMONT David committed
6 7
(https://gitlab.in2p3.fr/MaitresNageurs/PiscineJI/tree/master) :
des tutoriels courts (15 à 20 minutes), auto-suffisants, nécessitant le moins
CHAMONT David's avatar
CHAMONT David committed
8 9
d'installation possible, notamment en s'appuyant sur des images Docker ou
VirtualBox. 
CHAMONT David's avatar
CHAMONT David committed
10

11
Vous êtes libre d'essayer les plongeons de votre choix, à votre rythme.
CHAMONT David's avatar
CHAMONT David committed
12

CHAMONT David's avatar
Detail.  
CHAMONT David committed
13
Nous cherchons à élargir au maximum le champ des propositions
CHAMONT David's avatar
CHAMONT David committed
14 15 16
et des technologies. Si vous avez un sujet qui vous tient à coeur ou qui
vous semble important, n'hésitez pas à contribuer. Il ne s'agit pas d'écrire
un document d'expert, mais d'aider vos collègues à se mettre à l'eau.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34


# Préparation aux plongeons

## Instructions générales

Les tutoriels que nous vous proposons devront être exécutés sur vos ordinateurs
portables, par le biais d'images Docker ou de machines virtuelles VirtualBox. Pour
cette raison, nous vous demandons de pré-installer Docker et VirtualBox sur vos
ordinateurs AVANT de venir aux JIs, ceci jusqu'à l'exécution de la machine "hello-world"
(pour Docker) afin d'être bien surs que cela fonctionne.

Vous veillerez à avoir une quantité raisonnable d'espace libre sur vos
ordinateurs portables, car les machines virtuelles sont gourmandes...


## Installation VirtualBox

35
C'est [ici](https://www.virtualbox.org/)
36 37 38 39 40

## Installation Docker

### Sur Linux

41
C'est [ici](http://www.docker.com/products/docker#/linux).
42 43 44

### Sur Windows

45 46 47 48 49
Si votre windows est <10, il faudra utiliser l'[ancienne mouture de docker]
(https://www.docker.com/products/docker-toolbox), reposant sur VirtualBox.
(Attention ceci est vrai seulement à partir d'une certaine release de Windows10
(*1511 November update, Build 10586 or later*) qui n'est pas nécessairement
celle que vous avez installé)
50

51 52 53 54
Sinon, vous pouvez utiliser la [nouvelle mouture]
(http://www.docker.com/products/docker#/windows) où la machine virtuelle est
moins visible, et où vous pouvez utilisez exactement les mêmes commandes Docker
que vos collègues Linux.
55 56 57

### Sur MacOSX

58 59 60 61 62 63
Si votre matériel est trop vieux (< 2010), il faudra utiliser
l'[ancienne mouture de docker](https://www.docker.com/products/docker-toolbox),
reposant sur VirtualBox.

Plutôt qu'une installation graphique, on peut utiliser [Homebrew](http://brew.sh/)
(*The missing package manager for OS X*) pour la gestion de son installation :
64

65
    $> brew update
66 67 68
    $> brew cleanup && brew cask cleanup
    $> brew cask install dockertoolbox

69 70 71 72 73 74
Avec un matériel récent, utilisez plutôt la [nouvelle mouture]
(http://www.docker.com/products/docker#/mac) où la machine virtuelle est
moins visible, et où vous pouvez utilisez exactement les mêmes commandes Docker
que vos collègues Linux.

Là encore, [brew](http://brew.sh/) simplifie la tâche :
75

76
    $> brew update
77 78 79
    $> brew cleanup && brew cask cleanup
    $> brew cask install docker

80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
## X11 forwarding

Si l'application que je veux faire tourner dans un conteneur à une interface
graphique, il faut qu'elle envoie ses instructions au serveur X11 de la
machine hôte.

A supposer que votre variable d'environnement DISPLAY soit correctement
définie et comprenne un numéro IP, tel que `172.18.80.184:0`, et que les
connexions "externes" aient été autorisées (`xhost +`), il peut suffire
d'exporter la variable DISPLAY en lancant le conteneur. Dans une fenêtre
de commande de la machine hôte, essayez (en utilisant le bon numéro ip) :

```
export DISPLAY=172.18.80.184:0
xhost +
docker run -e DISPLAY=$DISPLAY gns3/xeyes
```

En cas de résistance, peut-être en ajoutant un lien vers
`/tmp/.X11-unix` :

```
export DISPLAY=172.18.80.184:0
xhost +
docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:rw gns3/xeyes
```

Si vous etes sur MacOSX avec la dernière version (boguée) de XQuartz (2.7.9),
pauvre de vous ! Pour commencer, on n'oublie pas d'autoriser les connexions
externes dans les préférences de sécurité de XQuartz. Ensuite, on
ajoute après la ligne 107 du fichier `/opt/X11/bin/startx`
(`defaultserverargs="$defaultserverargs -nolisten tcp"`) les deux
lignes suivantes :

```
else
    defaultserverargs="$defaultserverargs -listen tcp"
```

Et on redémarre XQuartz en priant.

## Si j'ai un problème avec mon clavier azerty
122

123 124 125
Avec VirtualBox plus qu'avec Docker, on peut avoir des soucis
de clavier. Ci-dessous, un collection de trucs qui peuvent
fonctionner... ou pas.
126 127 128

### Ligne de commande

129 130
Tentez "loadkeys fr". Si la commande "loadkeys" est absente,
essayez d'installer le package "kbd".
131 132 133

### Serveur X11

134 135
Si vous avez lancé votre machine virtuelle en mode graphique et qu'elle
comprend un serveur X11, vous pouvez aussi tenter "setxkbmap fr".
136 137 138

### Sur MacOSX, c'est encore pire...

139 140
Si votre "alt" de gauche ne fonctionne pas, parfois celui de droite
fonctionne.
141 142