L2 MIASHS, Algorithme et Programmation 2, année 2021

TD 0

L’objectif de ce TP est de faire une introduction aux outils qui seront nécessaire durant le cours d’AP2 et notamment au terminal.

Le terminal

Le terminal est programme qui fait l’interface entre le système d’exploitation et l’utilisateur. C’est l’ancêtre du bureau et des menus contextuelles graphiques dont vous avez l’habitude. Le terminal est très pratique quand il s’agit d’interagir et de faire interagir des programmes ensemble. Il est tout à fait possible d’utiliser un ordinateur uniquement via la ligne de commande (sauf pour naviguer sur internet), et cela simplifie énormément l’automatisation des tâches fastidieuses du quotidien. Cette automatisation est beaucoup plus difficile à mettre en place en mode graphique.

En mode graphique la seule manière de faire parler deux programmes ensemble et de combiner leur résultat c’est de modifier le code de l’un d’eux pour qu’il puisse intégrer et communiquer avec l’autre programme. En mode console les entrées et sorties des programmes sont simplement des chaînes de caractères que l’on peut modifier et composer les uns avec les autres, offrant ainsi beaucoup plus de flexibilité dans leur utilisation.

Un dernier avantage du mode console c’est qu’il est beaucoup plus rapide de développer un programme intéressant et de le faire évoluer si l’interface graphique n’est pas à gérer. Les interfaces graphiques sont la source de nombreux bugs, de temps de développement long et fastidieux pour des résultats pas toujours incroyables. De nombreux programmes intéressants ne fournissent donc comme interface que le terminal.

Quand on parle de terminal, on parle d’un invite de commande où l’on peut taper et exécuter des commandes. En fait, on exécute des instructions dans un langage de programmation interprété appelé sh ou bash selon les distributions. Ce langage de programmation fournit la glue nécessaire entre le système et l’utilisateur.

Exercice 0 : Ouvrir et fermer un terminal

Vous pouvez ouvrir un terminal depuis la liste des programmes. Vous pouvez aussi utiliser le raccourci clavier Ctrl + Alt + T.

Pour le fermer gracieusement vous pouvez utiliser Ctrl + D.

Exercice 1 : Le dossier courant

Pour connaître le dossier courant, vous pouvez exécuter la commande pwd.

En utilisant ls vous pouvez afficher le contenu du dossier courant. Différentes couleurs sont utilisées pour différents types de contenu (fichier, dossier, exécutable)

Exercice 2 : Le manuel

Pour avoir des informations sur une commande, sur son fonctionnement, vous pouvez utiliser la commande man pour manuel. Pour savoir comment fonctionne le manuel, il suffit ainsi de taper

man man

Trouver dans le manuel de la commande ls l’option nécessaire pour trier les fichiers par dates de modifications.

Exercice 3 : Se déplacer

La commande cd (change directory) permet de changer le dossier courant. Par exemple, je suis dans le dossier ~/ (c’est ce qu’on appel le home). Après avoir fait un ls j’ai vu que j’avais un dossier Desktop. Je peux utiliser la commande cd Desktop pour me déplacer à l’intérieur. Si je sais que le dossier Desktop contient un dossier TP, je peux directement utiliser cd Destop/TP pour aller dans ce dossier. Si je veux retourner en arrière je peux utiliser la commande cd ... Si je suis complètement perdu et que je veux retourner au home alors il faut utiliser la commande cd. Pour revenir au dossier précédant, on peut utiliser cd -

Exercice 4 : Afficher des informations

Il est souvent utile de regarder le contenu d’un fichier pour savoir ce qu’il contient. Il est toujours possible d’ouvrir un éditeur de texte pour ça, mais parfois c’est plus rapide de l’afficher dans la console immédiatement.

La commande suivante télécharge un fichier python et le met dans le dossier /tmp/ qui est un dossier ou on peut mettre des fichiers temporaires (qui vont être effacer au redémarrage de la machine).

wget -o https://paperman.name/page/enseignement/2021/AP2/cours1/cours1_maxs.py  --output-document /tmp/fonction

Inspecter le contenu de ce fichier à l’aide de la commande cat

cat /tmp/fonctions.py

Afficher les lignes de code en trouvant l’option dans la page du manuel dédié à cat.

La machine virtuelle Python

On a vu les commandes cd et ls jusqu’à présent. Une autre commande que l’on va vouloir lancer est python. La commande lance l’interpréteur python dans lequel on va pouvoir exécuter les lignes de python que l’on souhaite. Pour plus de confort on va utiliser ipython qui ajoute une complétion.

Exercice 4 : Découverte de l’interpréteur python

Essayez de lancer quelques commandes python vu en cour dans le terminal. Importer le fichier fonctions.py

Lancer python sur un fichier

En plus de l’interpréteur on peut lancer python sur un fichier en .py. Par exemple si dans notre dossier courant on a le fichier main.py, alors la commande python main.py va exécuter ce fichier.

Exercice 5 : Interpréter un fichier

Essayez de lancer python sur un fichier de code vu en cours.

Introduction à pip

pip est un programme qui permet de gérer les modules python. On peut l’utiliser pour installer des modules que l’on pourra utiliser par la suite dans un projet

Exercice 6 : Install et import

Lancez la commande pip install --user hello_world

Jupyter notebook

Exercice 7 : Utiliser Jupyter notebook

Pour commencer installons le notebook jupyter avec la commande pip install --user jupyter-lab. Pour l’utiliser on peut ensuite lancer jupyter-lab et ouvrir le notebook dans le navigateur. Faire un petit notebook avec quelques explications entre deux codes.

TD coécrit avec Lauric desauw