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 :
-
vous connecter sur un ordinateur, changer votre mot de passe,
- lire votre courrier et envoyer des messages,
- utiliser l'outil Netscape pour lire des informations sur le « web »
et écrire des informations lisible par Netscape,
- 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...
- savoir éditer un programme à l'aide de l'éditeur emacs, savoir le
modifier et le sauvegarder ;
- 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 :
-
regardent et copient les personnes qui connaissent déjà cet outil,
- copient puis modifient pour adapter,
- se posent des questions entre eux, lisent, se renseignent,
- n'attendent pas d'avoir tout compris pour essayer, mais savent qu'on
ne peut bien comprendre qu'en utilisant.
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.
-
Pour échanger des données (fichiers) entre deux machines, on utilise
le programme
ftp
.
- Pour ouvrir une fenêtre qui permet de travailler sur une autre
machine, on utilise
slogin
.
- Pour communiquer entre utilisateurs, on utilise le courrier
électronique,
mail
sur les machines unix. Pour cela, il faut se
trouver sur la machine poly.
- 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
-
Créer deux répertoires
toto1
et toto2
dans votre
répertoire personnel.
- Se mettre dans
toto1
.
- Créer deux répertoires
toto3
et toto4
dans toto1
.
- Déplacer
toto3
dans votre répertoire individuel, et toto4
dans
toto2
.
- Changer le nom
toto4
en toto5
et toto1
en toto6
.
- 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.
-
Pour aller à une page particulière, cliquer
sur le bouton
Open Page
du menu File
et indiquer le nom de la page que vous voulez
regarder.
- Pour suivre un lien, cliquer sur la zone active correspondante.
- Pour revenir en arrière, cliquer sur
Back
.
- Pour revenir à la première page, cliquer sur
Home
.
- Pour imprimer le document courant, cliquer sur
Print
.
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 :
-
créer une nouveau document,
- ouvrir un document existant,
- sauvegarder le document en cours d'édition,
- voir le document dans sa présentation normale,
- couper, copier, coller du texte,
- imprimer le document édité,
- chercher du texte,
- sauvegardé le document édité sur un site à distance ;
-
- agrandir ou réduire la taille des caractères,
- mettre en gras, en italique ou en style « machine à écrire »,
- changer la couleur du texte,
- mettre un lien,
- faire clignoter du texte,
- mettre une étiquette,
- insérer une image, une ligne horizontale, un tableau,
- éditer les caractéristiques d'une partie de texte ;
-
- choisir le statut du texte : en-tête de paragraphe, élément de liste,
texte normal...
- mettre du texte en liste simple ou numérotée,
- augmenter ou réduire l'indentation,
- choisir le positionnement du texte : centré à droite, gauche ou
doublement aligné.
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 :
-
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.
- On écrit le programme en java en utilisant l'éditeur de texte
emacs
. On sauve le programme écrit dans un fichier programme.java
- 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
- Si le compilateur détecte des erreurs dans le texte java, on revient
à l'étape 2 pour les corriger.
- Si la compilation a été effectuée jusqu'au bout, on peut faire
exécuter le programme :
java
programme
- 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.
- 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 :
-
C-x C-f
nom-de-fichier Retour-chariot : charger/créer un fichier ;
-
C-x C-s
: sauvegarder un fichier ;
-
C-x C-w
nom-de-fichier Retour-chariot : sauvegarder un fichier sous un autre nom ;
-
C-x C-c
: quitter emacs ;
-
C-g
: annuler la manipulation en cours (quand on panique et qu'on ne
comprend pas les questions que pose emacs) ;
-
C-s
mot : rechercher un mot ;
-
M-%
mot1 Retour-chariot mot2 Retour-chariot : remplacer un mot par un autre ;
-
M-_
: undo ;
-
M-<
: aller au début du document ;
-
M->
: aller en fin de document ;
-
C-d
: effacer le caractère courant ;
-
M-d
: effacer le mot suivant ;
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
-
Écrivez un programme qui, lorsqu'on l'exécute écrit « Bonjour ! » et se termine.
- Écrivez un programme qui prend deux nombres en arguments et qui calcule et
affiche leur somme.
- Écrivez un programme qui affiche les 100 premiers entiers naturels.
- Écrivez un programme qui prenne en entrée 10 nombres et en calcule la
moyenne et la variance. Modifiez le pour qu'il marche avec un ensemble de
nombres de cardinal variable.
- Écrivez un programme de résolution d'équations polynomiale de degré
inférieur ou égal à deux. Utilisez le pour résoudre l'équation
10-200 x2 + x - 10-200 = 0. Quel est le problème ? Peut-on modifier
le problème pour qu'il puisse faire face à ce problème ?
This document was translated from LATEX by
HEVEA.