Algorithmes et Programmation 2, année 2022
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
Compiled the: mer. 04 sept. 2024 12:49:46 CEST