M1202 - TP Séance 1
Durée : 2h00
Je vous invite fortement à :
- relire les cours et/ou exercices des précédentes séances la veille de tout cours
TD et TP d'algorithmique ;
- ne pas hésiter à prendre des notes à propos des énoncés de TP
- poser des questions
Objectifs
- Prendre en main son environnement de travail (ligne de commande Windows)
- Connaître les bases sur les arborescences de dossiers et fichiers
- Savoir utiliser la ligne de commande MS-DOS pour des opérations sur les fichiers
- Faire un premier programme en Java
Au menu
- Consignes
- Prise en main de l'environnement de travail
- Sondage
- L'arborescence des dossiers et fichiers
- La gestion des fichiers en ligne de commandes Windows
- Programmer en Java
A. Consignes (5 min) ↑
Lisez attentivement cet énoncé de TP/TD
en suivant les instructions.
En cas d'interrogation,
faites appel à moi,
que ce soit pour en savoir plus sur un des points abordés pendant le TP, ou
pour savoir comment effectuer une des tâches demandées (numérotées pour pouvoir
y faire référence simplement).
Surtout
ne restez pas bloqué(e) sur une des questions.
Entre parenthèses, à côté des titres de sous-sections, est indiqué
le temps que vous avez dû passer à effectuer les étapes précédentes.
Certains liens font apparaître des
info-bulles quand vous passez la souris
dessus : soyez curieux ! La plupart de ces liens conduisent vers
un article Wikipedia. Cliquez dessus si vous avez besoin d'une définition plus
détaillée que celle de l'info-bulle, ou bien seulement pour la culture si vous
avez le temps.
Vous devez chacun avoir retenu votre mot de passe personnel pour accéder à
votre compte sur les machines des salles de TP. Ces comptes sont gérés par le
Centre de Ressources Informatiques du 4° étage du bâtiment Copernic, ouvert
entre 12h30 et 13h30 pour les étudiants.
Si vous voulez travailler ces TP chez vous, il vous faudra installer de quoi
programmer en Java. Sous Windows :
- Le Java
Development Kit (Java Platform JDK 7, choisissez la version Windows x64 si vous avez un ordinateur qui a moins de 3 ans),
- L'éditeur Notepad++
ou Notepad2,
- Il faut déclarer le chemin d'accès au programme Java dans les variables
d'environnement PATH et CLASSPATH pour pouvoir appeler javac
et java depuis la ligne de commande : la procédure ci-dessous pour Windows 7, et des détails
ici,
contactez-moi par courriel si ça ne fonctionne pas chez vous.
Déclaration des variables d'environnement pour Windows 7 ou Windows 8 :
- Fermer toutes les fenêtres de terminal ouvertes.
- Commencer par récupérer l'adresse du dossier où se situe le fichier javac.exe. Par exemple : C:\Program Files\Java\jdk1.7.0_01\bin\ (si ce n'est pas cette adresse chez vous, remplacez-la par la bonne ci-dessous).
- Clic droit sur "ordinateur" sur le bureau, menu "Propriétés".
- Choisir "Paramètres" dans le menu de gauche.
- Dans l'onglet "Paramètres systèmes avancés", cliquer sur le bouton "Variables d'environnement".
- Choisir "Paramètres" dans le menu de gauche.
- Parmi les "Variables systèmes", choisir la variable Path et cliquer sur le bouton "Modifier".
- Ajouter à la fin de la "Valeur de la variable" un point-virgule, puis l'adresse du dossier qui contient javac.exe, trouvée à la deuxième étape. Par exemple, si l'adresse est celle indiquée ci-dessus, ajouter à la fin de la ligne :
;C:\Program Files\Java\jdk1.7.0_01\bin
- Rouvrir un terminal et taper "javac". La commande doit maintenant être reconnue. Sinon, taper la commande suivante :
echo %path%
et me renvoyer l'ensemble du contenu du terminal par mail (clic droit sur le terminal, sélectionner, touche Entrée du clavier ce qui copie le contenu du terminal, coller dans le corps du mail).
Pour installer Java sous Mac OS X :
- téléchargez le Java
Development Kit (Java Platform JDK 7, choisissez la version Mac OS X),
- suivez les instructions après avoir double-cliqué sur le fichier téléchargé,
- parmi les programmes de votre ordinateur lancez "Terminal" (cherchez le si vous ne le trouvez pas)
pour envoyer des commandes de compilation et d'exécution Java.
Sur les machines de l'IUT, pour ouvrir les fichiers Java avec le bon
éditeur de texte (Notepad2 ou Notepad++, qui colorent le code de façon utile) :
- choisir (ou créer) un fichier d'extension .java ;
- cliquer du droit et choisir "Ouvrir avec", ou bien, si ce choix n'est pas proposé, "Ouvrir" (en gras) ;
- cliquer sur "Parcourir" ;
- aller à l'adresse L:\Softs\Portable\Notepad2 ;
- sélectionner Notepad2.exe.
B. Prise en main de l'environnement de travail (20 min) ↑
a) Le bureau Windows
Remarque sur Windows :
Windows est un
système d'exploitation,
qui fait donc l'interface entre la partie matérielle (unité centrale, périphériques) et la partie logicielle
de l'ordinateur. Cependant, il intègre également de nombreux logiciels plus ou moins basiques :
un éditeur de textes (Notepad), un éditeur d'images (Paint), un navigateur web (Explorer), un système de gestion
de fichiers (qui permet de naviguer dans les dossiers du disque dur ou d'une clé USB) et une
environnement de bureau, et une ligne de commande
(MS-DOS).
Dans le système d'exploitation Linux, il existe des programmes spécifiques dédiés à toutes ces tâches. Par exemple
Gnome ou KDE sont deux environnements de bureau populaires pour ce système d'exploitation, et Konqueror est à la fois
un système de gestion de fichiers et un navigateur web.
Le bureau Windows est en fait un dossier comme un autre. On peut donc, en théorie, y placer des fichiers ou
des raccourcis vers des programmes. Cependant, dans le système utilisé à l'université, le contenu du bureau
est chargé à chaque démarrage, et enregistré à chaque déconnexion. Si les bureaux contiennent des fichiers
volumineux, cela ralentit l'ensemble du système. Il ne faudra donc laisser aucun fichier sur votre bureau.
Ce principe est aussi vrai sur votre ordinateur personnel : entasser les fichiers sur le bureau est
la meilleure façon de créer un désordre qui vous empêchera de les retrouver quand vous en avez besoin.
Ainsi, vous allez ranger tous vos fichiers personnels dans l'espace prévu à cet effet, dans le lecteur
M:.
b) Généralités sur les applications
Toutes les applications sous Windows partagent la notion de
fenêtreélément
de l'interface graphique, portion rectangulaire de l'écran dédiée à l'affichage de tout ou partie
d'un logiciel.
La zone centrale de la fenêtre est l'
espace application
(avec des spécificités liées à l'application).
Si l'application possède des
menus, appuyer sur la touche
ALT + lettre soulignée permet d'y accéder,
les touches de directions permettent d'y naviguer.
Une seule application a le
focus : celle dont le bandeau est
bleu
(pour l'environnement par défaut).
B1Faites divers tests en cliquant sur le bandeau d'une fenêtre
(clic gauche, droit, milieu) et notez les observations.
Remarque sur le changement de fenêtre : vous pouvez utiliser les touches ALT + TAB pour passer d'une fenêtre à une autre.
Le clic droit de la souris fait apparaître
un
menu contextuel
(qui s'adapte donc selon l'endroit où le clic a été opéré).
B2Testez-le :
B4Nous avons vu plus haut que le bureau Windows est
un dossier comme un autre. Quelle est l'adresse de ce dossier ?
c) Les raccourcis clavier
Taper une touche du clavier est souvent beaucoup plus rapide qu'aller cliquer dans un menu.
Ainsi, apprendre quelques raccourcis clavier augmentera votre rapidité.
B5Sur cette page, recherchez le texte "MS-DOS" grâce
en pressant CTRL-F ("F" pour "find" en anglais), c'est-à-dire en appuyant instantanément sur les touches CTRL-F,
puis copiez-le avec CTRL-C et collez-le dans la barre d'adresse avec CTRL-V.
Pour couper au lieu de copier, il faut utiliser
CTRL-X.
B6Utilisez la touche WINDOWS (entre CTRL et ALT)
pour naviguer dans le Menu Démarrer et découvrir la liste des applications
(ou "programmes") installées.
Les raccourcis permettent également de passer d'une fenêtre à une autre.
B7Utilisez WINDOWS-E pour ouvrir une
fenêtre du système de gestion de fichiers (ou "explorateur"), puis
B8ALT-TAB pour passer d'une fenêtre à
une autre (TAB correspond à la touche
tabulationsur
la gauche du clavier, elle est parfois étiquetée par une flèche vers la gauche
et une vers la droite juste en dessous).
La combinaison
ALT-SHIFT-TAB (où
SHIFT est la grosse
flèche vers le haut qui permet de faire les majuscules) permet de passer
d'une fenêtre à une autre dans le sens inverse. La touche
ALT seule permet
d'accéder au menu de l'application active. La combinaison
ALT-SHIFT permet de changer de langue
de clavier (QWERTY ou AZERTY ou autre).
La combinaison
WINDOWS-D permet d'accéder au bureau ("D" pour "desktop" en anglais).
Dans le navigateur web,
CTRL-N permet d'ouvrir une nouvelle page, et
CTRL-T d'ouvrir un nouvel onglet. De la même manière qu'
ALT-TAB,
CTRL-TAB et
CTRL-SHIFT-TAB permettent de naviguer entre les
onglets.
B9Essayez !
Il arrive de temps en temps qu'une application Windows boude et refuse alors toute interaction
avec l'utilisateur. Dans ce cas, il faudra en général faire son deuil des données manipulées par
ce programme et non sauvegardées, et prendre la dure décision de terminer sauvagement
l'exécution de ce programme. Appuyez conjointement sur les
touches
CTRL-ALT-Suppr (ou bien la combinaison équivalente
CTRL-SHIFT-Échap),
puis choisissez
Gestionnaire de tâches puis l'onglet
Applications, puis
sélectionnez l'application fautive et enfin demandez au système de l'arrêter (bouton
Fin de
tâche). Si l'application n'apparaît pas dans la liste, essayez l'onglet
Processus
puis clic droit sur le processus concerné (éventuellement, qui consomme beaucoup de ressources
dans la colonne "Processeur") pour
terminer son arborescence.
C. Sondage (15 min) ↑
Répondez à
ce sondage sur votre utilisation de l'informatique et d'internet.
D. L'arborescence des dossiers et fichiers (10 min) ↑
L'
arborescence des fichiers correspond à leur organisation à l'intérieur de
dossiers
(ou
répertoires,
directory en anglais), eux-mêmes contenus dans d'autres dossiers.
Un dossier contenu dans aucun autre s'appelle la
racine. On appelle
adresse absolue l'adresse d'un fichier depuis la racine dans l'arborescence.
Sous Windows,
chaque lecteurdisque dur,
lecteur DVD, lecteur CD, clé USB, disque dur externe, ou même
une partition, c'est-à-dire une portion de disque dur. a une racine nommée par une lettre. Le
disque dur principal est en général appelé
C:. Les adresses absolues
se notent alors en utilisant
l'
antislash "\"appuyez
simultanément sur ALTGr et 8 pour taper ce caractère pour indiquer
l'inclusion d'un sous-répertoire.
Par exemple, dans l'arborescence Windows de droite de l'image ci-contre, un fichier
temporaire.txt placé dans le dossier
Downloads a pour adresse absolue
C:\Downloads\temporaire.txt.
Attention, Linux fait la différence entre les majuscules et les minuscules
dans les noms de fichiers et dossiers, contrairement à Windows !
Ainsi,
C:\temp.txt et
C:\Temp.txt
correspondent au même fichier mais
/temp.txt et
/Temp.txt sont différents.
Vous pouvez aussi faire le rapprochement entre les adresses Linux et les
URLadresse d'une page web,
par exemple
http://iut.univ-mlv.fr/pdf/formations_iut_mlv_2011.pdf où
formations_iut_mlv_2011.pdf est un fichier dans le dossier
pdf lui même
contenu dans le site web
http://iut.univ-mlv.fr. Là aussi les majuscules sont
interprétées différemment des minuscules.
Un nom de fichier se termine généralement par un point suivi de quelques lettres, qui forment
l'
extension du fichier et indiquent généralement le
formatformat = non
seulement le type du fichier (image, texte, etc.) mais aussi la façon dont il est codé du fichier. Par exemple,
truc.mp3 est vraisemblablement un son mp3,
machin.jpg une image JPEG.
Attention ceci n'est qu'une indication puisqu'il est tout à fait possible de renommer un fichier son
truc.mp3 en
truc.jpg. Les systèmes d'exploitation se fondent généralement
sur l'extension pour savoir avec quel programme ouvrir un fichier.
Nous verrons aujourd'hui à quoi correspondent les fichiers
.java et
.class.
E. La gestion des fichiers en ligne de commandes Windows (15 min) ↑
a) Intérêt de la ligne de commande
Il est possible de gérer les fichiers avec des commandes entrées par le clavier
au lieu d'utiliser la souris et une interface graphique.
L'intérêt d'utiliser un
interpréteur
de commandes (ou "
terminal") est multiple :
- un utilisateur expérimenté est plus rapide avec la ligne de commande,
- il est possible de faire des opérations complexes sur plusieurs fichiers à la
fois,
- on peut enregistrer un
ensemble
d'opérations à effectuer enregistrées dans un fichier texte
(= un script)
si on veut l'utiliser plusieurs fois, ou bien la transmettre à quelqu'un
qui cherche à effectuer les mêmes opérations,
- une liste d'opérations à effectuer peut donc se transmettre par une suite de
commandes à effectuer au lieu d'instructions (menus, clics, etc)
qui dépendront de l'apparence du système (utile pour dépanner quelqu'un
par courriel, même s'il ne parle pas la même langue),
- on peut effectuer facilement des opérations sur les fichiers à distance
(protocole SSH, on en reparlera plus tard...),
- les opérations peuvent être enregistrées dans un historique pour être
retrouvées et répétées,
- l'interface de la ligne de commande demande beaucoup moins de ressources
(microprocesseur, mémoire vive) qu'une interface graphique,
- n'afficher que quelques caractères blancs sur fond noir permet de
faire des économies
d'énergie sur des écrans cathodiques :o),
- ...
b) Ouverture du terminal
Pour ouvrir un terminal, il faut aller dans le menu
Démarrer,
Exécuter, et taper "
cmd" puis "Entrée".
Vous y voyez le nom du dossier dans lequel vous vous trouvez par défaut, suivi de ">".
c) Généralités pratiques sur la ligne de commande
Remarque sur les adresses relatives : un fichier peut avoir plusieurs
adresses relatives. Par exemple, le fichier d'adresse absolue
M:\Dossier1\bonjour.txt a pour adresses relatives :
- .\Dossier1\bonjour.txt si on se trouve dans le dossier M:
- .\bonjour.txt, ou .\..\Dossier1\..\Dossier1\bonjour.txt (un peu tordu et pas vraiment utile, mais bon ça marche)
si on se trouve dans le dossier M:\Dossier1
- ..\Dossier1\bonjour.txt si on se trouve dans le dossier M:\Dossier1 ou bien M:\Dossier2
Avant de passer à l'utilisation, quelques principes pratiques.
Comme toutes les commandes doivent être tapées
au clavier, des raccourcis ont été mis en place pour être plus rapide et efficace.
Ainsi :
- en tapant sur la touche
tabulationsur
la gauche du clavier, elle est parfois étiquetée par une flèche vers la gauche
et une vers la droite juste en dessous après avoir écrit le début
d'une commande ou d'une adresse de fichier ou dossier, il y a auto-complétion
des adresses de fichiers ou dossiers :
le système essaie de compléter la suite de l'adresse. S'il y a plusieurs possibilités,
il arrive qu'on doive appuyer à nouveau sur tabulation pour afficher la liste des diverses suites possibles
(puis entrer la lettre suivante, puis appuyer encore sur tabulation...)
- en utilisant les flèches du haut, on peut retrouver les commandes précédemment tapées
pour les réutiliser au lieu de les retaper. Les touches du haut et du bas permettent
de naviguer dans cet historique.
-
plutôt que de taper l'adresse absolue d'un fichier qui peut être très longue,
il est possible d'utiliser des adresses raccourcies appelées adresses relatives,
qui dépendent de l'état courant du terminal :
- si vous voulez désigner le dossier dans lequel vous êtes placé, ou dossier courant utilisez
le point ".". Par exemple, si vous êtes dans le dossier M:\Dossier1,
vous pouvez désigner le fichier bonjour.txt qui s'y trouve par son adresse absolue
M:\bonjour.txt ou bien par l'adresse relative .\bonjour.
- si vous voulez désigner le dossier parent de celui où vous êtes placé, utilisez les caractères :
"..". Par exemple si vous êtes dans le dossier M:\Dossier2 et que vous voulez désigner
le fichier M:\Dossier1\bonjour.txt, vous pouvez utiliser l'adresse relative
..\Dossier1\bonjour.txt.
- Si un processus est bloqué, vous pouvez le forcer à s'arrêter (le "tuer") en appuyant
simultanément sur CTRL et C.
Remarque importante sur les commandes : pour utiliser une commande,
on tape dans le terminal
son nom, suivi d'un espace, suivi de paramètres éventuels, séparés
par des espaces. Une conséquence est que ni le nom d'une commande, ni un des paramètres, ne
peut contenir d'espace (sinon le système ne saurait pas où commence et finit chaque paramètre).
Si une adresse contient un espace, sous Windows, il faut l'entourer à gauche et à droite
par des guillemets droits : ".
En général on évite d'utiliser les espaces dans les noms de fichiers ou dossiers.
Petite mise en application directe de quelques un de ces principes :
- E1Ouvrez un terminal.
- E2Si vous n'êtes pas déjà dans le lecteur
M, allez-y avec la commande M:.
- E3Faites la liste de ce qui s'y trouve avec la commande
dir ("dir" pour "directory", qui signifie "dossier" en anglais).
- E4Allez dans le dossier M1202 créé ci-dessus, avec la commande
cd M1202 ("cd" pour "change directory" en anglais).
- E5Créez dans ce dossier un dossier TP1 avec la commande
md TP1 ("md" pour "make directory" en anglais).
Vous pourrez trouver une liste de commandes MS-DOS
sur cette page.
F. Programmer en Java (50 min) ↑
a) Un exemple de code Java
Java est un "langage objet" qui s'est beaucoup popularisé pendant les 10 dernières années
car il permet de faire des applications "multi-plateformes" qui fonctionnent sous Windows, Linux, MacOS...
Nous ne nous intéresserons pas pour l'instant à ses spécificités, notamment les aspects "objet",
et l'utiliserons juste comme langage de base pour programme.
Voici donc un premier code source Java :
TP1.java.
F1Enregistrez-le dans votre dossier M:\M1202\TP1.
Pour voir son contenu,
F2ouvrez-le avec l'éditeur de textes
Notepad++.
Ce
logiciel librevous
pouvez télécharger le code source et modifier ou redistribuer le logiciel
permet en particulier de colorer le code Java d'une manière qui vous aidera à
programmer. C'est donc parfait pour commencer à programmer en Java !
Lisez le code de
TP1.java.
Quelques commentaires :
- remarquez la présence de plusieurs blocs entourés de { et } ;
- remarquez la présence de mots qui ressemblent à de l'anglais : import, public, class, static, void, main, etc. ;
- remarquez la présence de mots qui ressemblent à du français : nbAleatoire, Affiche, reponse, reponseALaQuestion, etc. ;
- remarquez la présence de phrases en français, entourées par des "" ;
- remarquez la présence de descriptions d'actions en français, précédées par // : ce sont des commentaires, c'est-à-dire des lignes qui ne seront pas exécutées par Java.
b) Compiler et exécuter un code Java
Le programme contenu dans le fichier
TP1.java n'est pas compréhensible directement
par l'ordinateur, qui ne peut exécuter que des programmes "binaires" (composés de 0 et de 1). Il va donc falloir
"compiler" le code source en Java contenu dans
TP1.java pour le transformer en un fichier "exécutable" (qui sera nommé
TP1.class).
Pour cela, il faut utiliser la ligne de commande
javac TP1.java (
javac
signifie "Java Compiler", ou "compilateur Java")
F3Compilez TP1.java.
Remarquez qu'un fichier
TP1.class vient d'être créé. Une spécificité
du langage Java est que ce fichier ne peut être exécuté directement sur l'ordinateur
(par exemple en double-cliquant dessus). Pour l'exécuter, il faut utiliser la "machine
virtuelle Java". C'est ce système d'intermédiaire qui permet de rendre ce langage
multi-plateforme, car il existe des machines virtuelles Java sur de nombreux systèmes
d'exploitation (même sur
GameBoy Advance ou
PSP !).
Pour exécuter le code compilé (fichier exécutable
TP1.class), il suffit d'utiliser la commande
java TP1.
F4Faites-le, et suivez les instructions du programme !
Remarquez qu'on ne précise pas l'extension .class dans la commande
java TP1. C'est pourtant bien le
fichier exécutable
TP1.class qui est utilisé ici !
c) Modifier l'algorithme en Java
F5Modifiez le code pour que le programme ne dise pas "Bonjour" mais "Salut".
F6Modifiez le code pour donner une probabilité de réussite à l'utilisateur : au lieu
de choisir le nombre aléatoire entre 1 et 10, le choix sera fait entre 1 et 5.
Attention, il y a deux instructions à modifier !
F7Modifiez le code pour permettre à l'utilisateur de tricher : l'ordinateur affiche le nombre qu'il a choisi
juste avant de demander à l'utilisateur ou utilisatrice sa première réponse.
F8Supprimez ces dernières modifications du mode triche, et remplacez-les
par des instructions qui permettent à l'ordinateur d'afficher un "indice de rime" : par exemple, si
le nombre choisi est 4, l'ordinateur affiche, avant le deuxième essai : "Le nombre rime avec platre...".
À retenir !
1) Les commandes Windows :
- cd blabla : aller dans le dossier blabla
- md blabla : créer un dossier appelé blabla dans le dossier courant
- dir : afficher le contenu du dossier courant
- C: : passer sur le lecteur C
- . : le dossier courant
- .. : le dossier parent
2) Le processus de compilation puis d'exécution d'un code source Java :
Sources