Pour réaliser ce TP, vous devez télécharger et lancer un conteneur Docker contenant les outils du TP: openfst, opengrm et graphviz. Vous allez travailler en utilisant un navigateur sur la machine de TP et un éditeur et une fenêtre de commande tournant tous les deux dans le 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.
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.
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).
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.tgzOù vous remplacez 83f06526566d par l'id de votre conteneur et jean-jerome par votre nom.