Sous-sections

Mise en place du TP

La mise en place est identique à celle des TP précédents. Elle est rappelée ici.

Première étape: lancer un conteneur docker

Voici les commandes à copier-coller dans un terminal:

xhost +
wget http://deptmedia.cnam.fr/~barthe/NFP108/suse-openfst-18.tgz
gzip -dc suse-openfst-18.tgz | sudo  docker import - suse-openfst-18
sudo docker run -p 10000:22 -ti suse-openfst-18 /root/start.sh

Normalement, le container docker vous fourni un terminal bash dans la fenêtre courante. Cela se voit à l'invite de commande du genre open@822677f635f0:~>. L'identifiant du conteneur (ici: 822677f635f0) pourra vous servir à le sauver en fin de séance.

Deuxième étape: lancer une fenêtre graphique et un éditeur

Il s'agit maintenant d'avoir un éditeur de texte sur le conteneur et de pouvoir afficher une image d'automate avec la commande display lancée dans le conteneur. Pour cela, le conteneur doit utiliser l'environnement graphique de la machine-hôte.

Dans un nouveau terminal, tapez la commande suivante:

ssh -X -p 10000 open@localhost

Normalement, il vous pose une question:

Are you sure you want to continue connecting (yes/no)?

Il faut répondre yes. S'il y a une erreur et qu'il ne pose pas la question, il faut faire:

 rm ~/.ssh/known_hosts

Le mot de passe à taper est: open. Normalement, vous êtes à présent dans le conteneur ce qui se voit à l'invite du genre: open@5fdae2d16c19:~>. C'est ici que vous taperez les commandes openfst, opengrm et graphviz. Vous pouvez alors lancer l'éditeur avec:

kwrite &

Une fenêtre s'ouvre avec l'éditeur.

Vous devez avoir toujours les trois feneêtres disponibles: le navigateur, le conteneur pour les commandes, l'éditeur de texte pour créer des fichiers sur le conteneur. Vous pouvez utilise du copier/coller pour prendre du code sur le sujet de TP et le transférer dans l'éditeur ou le terminal du conteneur.

Si en cours de TP vous perdez votre fenêtre de commande, il suffit de recommancer le ssh.

Faire une archive et la récupérer sur la machine de TP

Pour faire une archive avec les fichiers que vous souhaitez récupérer (par exemple pour remettre le TP ou pour vous envoyer les fichiers en pièce jointe), il faut d'abord créer l'archive, puis la transférer sur la machine de TP.

Sur le conteneur, créer l'archive:

tar -czvf mon-archive.tgz *.grm *.txt *.far

Dans cette invocation, vous pouvez adapter les fichiers que vous souhaitez transmettre en fonction de ce que vous voulez faire.

Ensuite, sur un terminal de la machine de TP (pas sur le docker):

scp -P 10000 open@localhost:mon-archive.tgz .

Il faut entrer le mot de passe open et le fichier est recopié du conteneur sur la machine locale (info-tpXX).

Sauvegarde du conteneur

Si vous souhaitez conserver le conteneur avec vos fichiers à la fin du TP, vous devez procéder comme suit: d'abord déterminer l'ID du conteneur. Pour cela il faut utiliser la commande sudo docker ps -a. Ensuite, vous sauvegardez votre conteneur avec une commande du type:

sudo docker export 83f06526566d | gzip -c > suse-openfst-jean-jerome.tgz
Où vous remplacez 83f06526566d par l'id de votre conteneur et jean-jerome par votre nom.

barthe 2018-01-31