Séance d'initiation no 1 : mise en route

Patrick Gros -- Patrick.Gros@irisa.fr

3 octobre 2000

Bonjour, et bienvenue dans le cours d'informatique.

1   Introduction

1.1   But des séances d'initiation

Le but de cette première séance est de vérifier que vous savez bien vous servir des outils de base qui seront utilisés pendant les TD, et que vous savez écrire, compiler et exécuter un programme simple.

Voilà ce que vous devez savoir faire :
  1. vous connecter sur un ordinateur, changer votre mot de passe,
  2. lire votre courrier et envoyer des messages,
  3. utiliser l'outil Netscape pour lire des informations sur le « web » et écrire des informations lisible par Netscape,
  4. comprendre le système de fichiers des ordinateurs et savoir l'utiliser pour écrire des fichiers, les ranger, les déplacer, les détruire, les sauvegarder...
  5. savoir éditer un programme à l'aide de l'éditeur emacs, savoir le modifier et le sauvegarder ;
  6. savoir compiler et exécuter un programme.
Cette fiche fournit un rappel de chacun de ces outils et propose quelques exercices pour que vous puissiez vérifier vos connaissances.

Le poly de Cori et Lévy contient aussi de nombreuses informations pratiques et utiles dans ses annexes. N'hésitez pas en vous en servir.

Chaque semaine, l'énoncé des TD sera disponible à partir de la page web http://w3.edu.polytechnique.fr/profs/informatique/Patrick.Gros/index.html. Dans la semaine qui suit, le corrigé sera aussi accessible à partir de cette même page. Sur cette page, vous trouverez également quelques rappels de Java et des petites procédures utiles (pour demander des données à l'utilisateur ou faire des conversions entre types par exemple).

Si, entre deux TD, vous avez des difficultés avec un exercice ou son corrigé, je suis prêt à regarder votre problème si vous me le transmettez par courrier électronique. Une réponse immédiate n'est pas garantie.

1.2   Un point de méthodologie

L'utilisation de l'informatique est d'abord une question de pratique. La séance d'initiation et les TD n'ont pas pour but de vous faire une présentation magistrale et sans boucle. Pour apprendre à se servir d'un nouvel outil, les informaticiens : Faites de même.

1.3   Notations

Un petit problème de notation : quand il est écrit « écrivez votre nom », devez-vous écrire « votre nom » ou « Justin Dupont » ? Pour mettre les choses au clair, les caractères comme ceux-ci seront utilisés pour ce qui doit être écrit littéralement, les caractères comme ceux-là pour ce qui doit être interprété par vous.

Ainsi pour effacer un fichier sous Unix, il faut taper rm nom-du-fichier, soit les lettres r, m suivies d'un espace et du nom du fichier à détruire.

2   Se connecter à un ordinateur

Dans les salles d'enseignement, 32 à 36, vous trouverez plusieurs types de machines, construites par différents constructeurs, mais qui fonctionnent à peu près de la même façon, car elles utilisent toutes le même système d'exploitation. Celui-ci s'appelle Unix. Windows98, Windows NT, VMS, MVS, Multics sont d'autres systèmes d'exploitation que nous n'utiliserons pas ; Linux, HP-UX, Solaris sont des versions différentes d'Unix. À un niveau simple d'utilisation, les différentes versions d'Unix ne diffèrent pas.

2.1   Connexion à une machine Unix

Une fois en marche, une telle machine vous demande votre login, c'est à dire votre identifiant (fabriqué à partir de vos nom et prénom), puis votre mot de passe. Quand vous tapez ce dernier, il n'apparaît pas à l'écran pour que votre voisin ne puisse le voir. Si vous faites une faute, la machine vous répond Login incorrect. Vous devez alors recommencer la procédure.

Pour se déconnecter, on choisit l'option adéquat dans un menu que l'on fait apparaître en cliquant avec un des boutons (le droit ?) dans une partie de l'écran sans fenêtre. Si un tel menu n'est pas disponible, on tape exit dans la première fenêtre apparue en début de session.

2.2   Connexion d'une machine à une autre

Lorsque l'on est connecté sur une machine, il est possible de se connecter sur une autre machine via la première. Par exemple, vous êtes devant moselle, et vous voulez travailler sur a machine poly.

Il y a plusieurs possibilités.
  1. Pour échanger des données (fichiers) entre deux machines, on utilise le programme ftp.
  2. Pour ouvrir une fenêtre qui permet de travailler sur une autre machine, on utilise slogin.
  3. Pour communiquer entre utilisateurs, on utilise le courrier électronique, mail sur les machines unix. Pour cela, il faut se trouver sur la machine poly.
  4. Pour lire des documents placés sur d'autres machines, on peut utiliser le programme Netscape.

3   Système d'exploitation et fichiers

Sur tout ordinateur marchent une série de programmes qui ont pour but de gérer la machine. Un programme pour garder les données de chaque utilisateur, pour lui permettre d'utiliser une imprimante, pour lire ce qui est tapé sur le clavier... Ces programmes forment ce qu'on appelle le système d'exploitation.

3.1   Fichiers et répertoires

La notion de base est celle de fichier. Un fichier est un container d'informations. On peut mettre dans un fichier un texte, un dessin, un programme. Ces fichiers eux-mêmes sont organisés en répertoires (directories en anglais), un peu comme on met dans feuilles dans une chemise. Il va de soi que l'on peut mettre des chemises dans des chemises aussi.

Beaucoup des opérations du système d'exploitation dont nous aurons besoin consisteront à manipuler ces fichiers. Les opérations de base consistent à créer un fichier, à visualiser son contenu, à l'exécuter s'il s'agit d'un programme, à en faire une copie, à le mettre dans un répertoire, à le supprimer.

Il existe aussi des opérations spécifiques pour les répertoires : voir leur contenu, créer un répertoire, déplacer un répertoire, détruire un répertoire.

L'ensemble de ces fichiers et répertoires est organisé de manière arborescente. Le tout est contenu dans un répertoire unique (noté /). Ce répertoire racine contient des répertoires et des fichiers, et ces répertoires peuvent à leur tour en contenir d'autres.

Il est créé un répertoire particulier pour chaque utilisateur. On l'appelle en anglais le home-directory, ou répertoire individuel. Tous vos fichiers et répertoires seront inclus dans celui-là.

Comme les machines unix savent partager les répertoires, quelque soit la machine sur laquelle vous vous connectiez, vous voyez vos fichiers de la même manière.

Quand on se connecte, on se retrouve dans son « home directory ». on peut alors se déplacer dans un sous répertoire, ou dans le répertoire qui contient votre « home directory ». Pour cela, outre les commandes qui sont présentées dans la suite, il faut pouvoir désigner tous ces répertoires, sous-répertoires et fichiers.

Par convention, le répertoire dans lequel on se trouve, appelé répertoire courant, est appelé ., le répertoire qui le contient est appelé ...

On peut désigner un fichier ou un répertoire de deux manières. Tout d'abord, on peut indiquer son « chemin » depuis la racine. Par exemple : /users/cie22/dupond est le répertoire dupond qui se trouve dans cie22 qui se trouve dans users qui se trouve dans le répertoire racine /. Les caractères / autres que le premier ne sont que des séparations.

Seconde manière, on indique le chemin depuis le répertoire courant. Par exemple, nom-de-fichier désigne un fichier du répertoire courant, on peut désigner ce même fichier par ./nom-de-fichier si on veut insister sur le fait que c'est bien ce fichier du répertoire courant dont on parle. Un fichier d'un sous-répertoire du répertoire courant est appelé nom-du-répertoire/nom-du-fichier ou ./nom-du-répertoire/nom-du-fichier.

Quelques autres exemples : ../nom-de-fichier est le nom d'un fichier se trouvant dans le répertoire qui contient le répertoire courant ; nom-de-répertoire/nom-de-répertoire2/nom-de-fichier est le nom d'un fichier contenu dans un répertoire contenu dans un répertoire du répertoire courant. Et ainsi de suite.

3.2   Les commandes de base

Voici les opérations de base sur les fichiers :
créer un fichier vide :
touch nom-du-fichier
changer le nom d'un fichier :
mv nom-du-fichier nouveau-nom-du-fichier
copier un fichier :
cp nom-du-fichier nom-de-la-copie
détruire un fichier :
rm nom-du-fichier
mettre un fichier dans un répertoire :
mv nom-du-fichier nom-du-répertoire
visualiser un petit fichier :
cat nom-du-fichier
visualiser un gros fichier :
more nom-du-fichier
exécuter un fichier :
nom-du-fichier
Voici les opérations sur les répertoires :
créer un répertoire :
mkdir nom-du-répertoire
afficher le contenu du répertoire :
ls ou ls nom-du-repertoire
détruire un répertoire :
rmdir nom-du-répertoire
changer de répertoire courant :
cd nom-de-répertoire
connaître le répertoire courant :
pwd
Il existe d'autres convention pour désigner les fichiers et répertoires. Ainsi, ~votre-login ou tout simplement ~ désignent votre « home directory ».

Pour exécuter les opérations, il faut se placer dans une fenêtre particulière, où marche un interpréteur de commandes (appelé shell). Une telle fenêtre est souvent appelée xterm. On choisit cette fenêtre comme fenêtre active, on tape les commandes et elles sont exécutées sur le champ.

3.2.1   Petit exercice

  1. Créer deux répertoires toto1 et toto2 dans votre répertoire personnel.
  2. Se mettre dans toto1.
  3. Créer deux répertoires toto3 et toto4 dans toto1.
  4. Déplacer toto3 dans votre répertoire individuel, et toto4 dans toto2.
  5. Changer le nom toto4 en toto5 et toto1 en toto6.
  6. Supprimer tous les totos.

3.3   Changement de mot de passe

Pour changer de mot de passe, il faut se connecter à la machine poly (via le programme slogin. On tape alors yppasswd et on suit les instructions.

Un bon mot de passe comporte 8 lettres, dont au moins un caractère non alphanumérique. Sont à proscrire absolument : tous les prénoms, aussi chers puissent-ils vous être, tous les mots de toutes les langues, ces mêmes éléments suivis de chiffres.

Une méthode pour trouver un bon mot de passe : vous prenez une phrase dont vous pouvez vous souvenir facilement, par exemple « un, deux, trois, nous allons au bois ». Vous prenez les initiales en complétant pour avoir huit lettres «udtnaabo». Vous en remplacez quelques-unes «udtn@aB0». Du fait que je vous l'indique, «udtn@aB0» devient illico un mot de passe prescrit... mais le procédé reste valide.

4   Utilisation de Netscape

4.1   Généralités

Netscape est un logiciel (il en existe d'autres du même type dont Internet Explorer de la société Microsoft ou le logiciel libre MMM) qui permet de consulter des documents. Les deux caractéristiques principales sont que ces documents peuvent être répartis sur toutes les machines du monde reliées à Internet, et que l'on peut passer d'un document à l'autre par des liens hypertextes.

Avoir accès à des documents rangés dans des endroits très divers implique de disposer, outre des programmes qui savent le faire, d'un système de nommage des documents universel. La partie technique est totalement cachée à l'utilisateur qui n'a pas besoin de s'en soucier au premier abord. Par contre, pour savoir désigner quel document il veut lire, il faut connaître le système de nommage.

Ce système est assez simple. Par exemple,
http://www.polytechnique.fr/infoEcole/historique/brevehistoire.html est le nom d'une page présentant un bref historique de l'École Polytechnique. Ce nom précise le type de protocole qu'il faut utiliser pour le lire, ici http pour un document web écrit dans le langage HTML, puis après la ponctuation :// le nom de la machine sur laquelle se trouve ce document, ici www.polytechnique.fr, puis le fichier sur cette machine, ici infoEcole/historique/brevehistoire.html.

Comme vu précédemment, infoEcole est un répertoire, historique est un sous-répertoire du précédent qui contient le fichier brevehistoire.html que l'on veut lire.

L'autre moyen de passer d'un document à l'autre est d'utiliser les hyperliens (ou liens hypertextes). Un hyperlien est une zone d'un document qui est active : elle apparaît différemment du reste du texte (souvent en bleu souligné) et elle permet de lire un autre document quand on clique dessus avec la souris. Le document qui est appelé est défini par la personne qui a écrit la page.

Par exemple, vous écrivez une recette. ã un moment, vous écrivez qu'il faut préparer une béchamelle. Vous rendez actif ce mot et vous le liez avec un autre fichier qui donne la recette de la béchamelle. Le lecteur de votre page verra le mot béchamelle en bleu (au lieu du noir). S'il clique dessus, le document qu'il lit sera remplacé par la recette de la béchamelle. Après l'avoir lu, il pourra revenir au premier document, ou suivre un autre lien défini dans la recette de la béchamelle.

4.2   Lire des documents

Quand on lance le programme, celui-ci présente une page. On peut choisir cette page en précisant son nom en cliquant sur la ligne Preferences du menu Edit, puis en cliquant sur Navigator et en écrivant ce nom dans la case Home Page Location. La fenêtre ouverte par le programme contient aussi des boutons, des menus, et un endroit pour lire ou écrire des noms de page.

Voici les opérations de base.

4.3   Écrire un document

Pour écrire un nouveau document, deux possibilités. Soit on modifie un fichier existant, soit on en crée un complètement nouveau. Dans le premier cas, on lit le fichier en choisissant de l'ouvrir dans le Composer, on le modifie, puis on le sauve à l'aide de la ligne Save as du menu File. Dans le deuxième, on ouvre le Composer (menu Communicator), on tape le contenu du fichier et on le sauve à l'aide de la ligne Save as du menu File.

Une fois dans le mode d'édition, on dispose de menu, de boutons, pour ouvrir, sauver... des fichiers, et de boutons pour éditer le texte : faire des en-têtes de paragraphes, changer de taille ou de graisse de police de caractère, faire des listes...

Pour utiliser ces boutons, on peut cliquer sur un bouton, taper le texte correspondant, puis désactiver le bouton en cliquant à nouveau dessus. Ou on peut sélectionner du texte et le transformer en cliquant sur le bouton correspondant au changement que l'on veut appliquer.

Voici les opérations principales :

4.3.1   Petit exercice

Faire une page de présentation personnelle avec votre CV. La sauvegarder. La modifier pour rajouter un lien sur la page de l'école : http://www.polytechnique.fr/. La sauvegarder à nouveau. On peut enfin la modifier avec emacs en modifiant directement le code HTML.

5   Édition, compilation et exécution de programmes

Pendant les TD, nous écrirons des programmes afin de faire travailler l'ordinateur placé devant vous. Pour cela, il faut employer un langage compris par les deux partis (vous et l'ordinateur) qui sera Java dans notre cas, et des logiciels pour éditer le programme, le compiler et l'exécuter.

Comment ça marche ? On procède par améliorations successives :
  1. On veut écrire un programme : on réfléchit pour savoir comment on va s'y prendre : quelles seront les données à traiter, quelles seront les grandes fonctionnalités, comment la programme va-t-il se dérouler ? On prend quelques notes sur un bout de papier. Ces notes sont d'autant plus détaillées que le problème est difficile.
  2. On écrit le programme en java en utilisant l'éditeur de texte emacs. On sauve le programme écrit dans un fichier programme.java
  3. On lance le compilateur : c'est un programme qui transforme le texte en java en un texte en un autre langage, binaire ou hexadécimal, directement compréhensible par le microprocesseur : javac programme.java
  4. Si le compilateur détecte des erreurs dans le texte java, on revient à l'étape 2 pour les corriger.
  5. Si la compilation a été effectuée jusqu'au bout, on peut faire exécuter le programme : java programme
  6. En cas d'erreur (le programme ne marche pas, ou ne fait pas ce qu'on souhaitait), ou lorsqu'on veut compléter son programme, on revient à l'étape 1 ou 2.
  7. C'est fini, on peut utiliser son programme... ou en faire un autre.

5.1   Utilisation de l'éditeur de texte : emacs

L'utilisation d'emacs est intuitive : on peut utiliser le curseur pour placer le curseur où on le souhaite, quand on tape du texte, il s'insère à la gauche du curseur. Les autres opérations utiles sont accessibles à partir des menus situés en haut de la fenêtre, et en particulier du menu Files : ouvrir un fichier existant, sauver un fichier, sortir de emacs.

On peut aussi faire toutes ces opérations (et bien d'autres) à partir de touches du clavier. Dans la suite, on note par exemple C-f le fait d'appuyer sur la touche Control et sur la touche f. D'autre part, M-x désigne le fait d'appuyer successivement sur la touche Esc et sur la touche x. On peut alors utiliser les commandes suivantes : Après certains de ces commandes, il est nécessaire d'utiliser la petite fenêtre en bas de l'écran qui préciser les arguments de la commande. Pour effacer une zone : aller au début de la zone, et taper C-_ ; aller à la fin de la zone et taper C-w. La zone peut alors être copiée à un autre endroit en tapant à cet endroit C-y. Pour copier la zone sans la détruire, la procédure est la même, en changeant C-w par M-w.

6   Quelques programmes


This document was translated from LATEX by HEVEA.