tuteurs.ens.fr/docs/hublot/hublot12.tml

2205 lines
62 KiB
XML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>Numéro 12</title>
</head>
<body>
<p class="centre">
<img src="hublot.png" alt="[Logo du Hublot]" /></p>
<h1> Numéro 12 -- Février 2001</h1>
<p>
Un peu de retard pour le Hublot de février, qui sort en mars... Ce mois-ci,
on s'intéresse particulièrement aux imprimantes: les divers types existants,
les commandes pour imprimer, et quelques rappels de savoir-vivre. On insiste
aussi sur la sécurité avec SSH, pour vous connecter à distance sans risquer de
vous faire pirater.
</p>
<p>
Enfin, à plusieurs reprises, on parle de la config conscrits 2000. Si vous
voulez la récupérer, n'oubliez pas qu'il suffit de taper
<code>configuration --get</code> (voir le numéro d'octobre du Hublot pour tous
les détails).
</p>
<p>
Comme dans chaque numéro, les conseils de lecture et les bonnes adresses:
</p>
<ul>
<li> On suppose que toutes les références à notre site ont une adresse
qui commence par
<a
href="http://www.eleves.ens.fr"><code>http://www.eleves.ens.fr</code></a></li>
<li> Les mots suivis d'un astérisque* renvoient au lexique en fin de
numéro.</li>
<li> Vous pouvez retrouver les anciens numéros du Hublot sur notre site:
<a
href="&url.tuteurs;docs/hublot/"><code>http://www.eleves.ens.fr/tuteurs/docs/hublot/</code></a></li></ul>
<p>Nous sommes toujours à votre disposition pour toutes questions et
suggestions: <a href="tuteurs@clipper"><code>tuteurs@clipper</code></a>.
Vous pouvez aussi mettre un mot dans le casier de Marie-Lan Nguyen.
Enfin, n'oubliez pas que quand vous tapez <code>qui</code>, les tuteurs
ont leur nom souligné: n'hésitez pas à nous solliciter!</p>
<h2>
<a name="unix"> En pratique</a></h2>
<p>
Cette rubrique porte sur l'utilisation pratique des machines Unix et de
LATEX. Dans la partie Unix, une présentation de <code>screen</code>, utilitaire
qui permet de lancer des calculs sur une machine. Ensuite, dans la partie
LATEX, on va voir comment insérer des images dans un document.
</p>
<h3>Commandes utiles: <code>screen</code></h3>
<p>
Si vous lancez un calcul sur une machine, au moment où vous vous déloguerez,
tous les processus lancés à votre nom seront tués et votre calcul avec. Vous
voudriez donc «détacher» le calcul et le laisser tourner sur la machine, même
une fois que vous vous serez délogué. C'est à cela que sert l'utilitaire
<code>screen</code>, un logiciel en mode texte.
</p>
<h4>Lancer <code>screen</code></h4>
<p>
Pour lancer <code>screen</code>, il faut
taper... <code>screen</code>. Le programme affiche quelques lignes concernant
son auteur, sa version, etc. Appuyez sur «Entrée» pour quitter cette
présentation. Votre fenêtre est inchangée, rien n'est différent.
</p>
<p>
Ensuite, lancez votre programme, avec sa commande.
</p>
<p>
Pour quitter, tapez <code>^A</code> (qui introduit toutes les commandes
internes de <code>screen</code>) suivi de <code>d</code>. Vous pouvez aussi taper
<code>^A^D</code> tout court. Le «d» veut dire «détacher». On rappelle que
<code>^D</code> se lit «control-D» et signifie «taper d en tenant la touche
Control».
</p>
<div class="encadre">
N'oubliez pas de détacher le screen avant de vous déloguer de la machine,
sinon il sera tué et ne restera pas en arrière-plan.
</div>
<h4>Revenir</h4>
<p>
Vous voulez récupérer le screen que vous aviez lancé.
Loguez-vous, physiquement ou à distance, sur la machine concernée. Si vous
n'avez qu'un seul screen lancé sur la machine, tapez <code>screen -r</code> («r»
comme «récupérer»). Vous récupérez la fenêtre dans l'état où vous l'aviez
laissée.
</p>
<p>
S'il vous avez lancé plusieurs screens différents, tapez <code>screen
-ls</code> («ls» comme «liste») pour trouver ceux qui existent. Ensuite, lancez
<code>screen -r</code> suivi de l'identificateur donné dans la liste.
</p>
<p>
Pour mettre fin à un screen, quittez-le en tapant <code>exit</code> ou
<code>^D</code>.
</p>
<h4>Savoir-vivre</h4>
<p>
Vous avez donc lancé un calcul, qui est une nouvelle
«tâche» pour l'ordinateur. Chacune de ces tâches (loguer quelqu'un, lancer une
fenêtre, faire tourner l'horloge...) s'appelle un processus; ils ont tous un
numéro (PID: <em>process identifier</em>), et un propriétaire (la personne qui
l'a lancé). En lançant votre calcul, vous avez créé un nouveau processus.
</p>
<p>
Pensez que d'autres vont utiliser cette machine. Si votre processus consomme
90% de sa puissance, elle sera presque inutilisable, tellement elle sera
ralentie... Il faut donc «nicer» (de l'anglais <em>nice</em>) le programme, pour
donner la priorité aux autres programmes. Ainsi, la machine s'occupe de votre
calcul, mais dès que quelqu'un d'autre en demande pour quelque chose de
prioritaire (se loguer, lancer <code>pine</code>, etc), elle relègue momentanément
votre calcul au second rang.
</p>
<p>
C'est la commande <code>nice</code> qui sert à fixer la priorité d'un programme.
Plus le nombre est petit, plus le programme est prioritaire; plus le nombre
est grand, moins le programme est prioritaire. Pour nicer notre calcul
ci-dessus, on tapera (dans le screen):
</p>
<pre>
<span class="prompt">brick ~ $</span> nice -19 ./calcul
</pre>
<p>Le programme <code>nice</code> s'occupe de lancer votre calcul en lui donnant
la priorité 19, c'est-à-dire la priorité la plus basse. Vous pouvez aussi nicer
votre programme <em>a posteriori</em> avec:</p>
<pre>
<span class="prompt">brick ~ $</span> renice 19 &lt;PID&gt;
</pre>
<p><code>&lt;PID&gt;</code> est le numéro du processus correspondant
au calcul lancé (tapez <code>top</code> pour le trouver).
<code>renice</code> ne peut que rendre le processus moins
prioritaire.</p>
<p>La charge que représente un calcul pour une machine ne se mesure pas
simplement en puissance consommée. Si votre processus utilise 5% de la
puissance du processeur, mais occupe trop de mémoire, la machine sera
inutilisable. La mémoire occupée est indiquée dans la colonne «Size» du
tableau affiché par <code>top</code>.</p>
<pre>
<span class="prompt">brick ~ $</span> screen
(...)
(quelques lignes: version, date, auteur, etc)
[Press Space or Return to end.]
<span class="prompt">brick ~ $</span> nice -19 ./calcul
<span class="prompt">brick ~ $</span> ^Ad
[detached]
<span class="prompt">brick ~ $</span> 
<span class="prompt">brick ~ $</span> screen -ls
Your inventory:
9906.pts-16.clipper (Detached)
1 Socket in /tmp/S-robin.
</pre>
<p>
Le mois prochain, on verra les jokers (raccourcis pour les noms de
fichiers).
</p>
<h3><a name="latex">LATEX: insérer des images</a></h3>
<p> Nous allons ce mois-ci voir comment insérer des figures ou des images
dans un document LATEX grâce au package
<code>epsfig</code>. Il en existe d'autres, qui ont la même fonction (par
exemple <code>graphicx</code>). Leur utilisation est assez semblable, et
nous ne la présenterons pas ici.
</p>
<h4>Les formats</h4>
<p> Une figure ou une image, c'est un fichier
informatique, stocké sous un certain format. On reconnaît en général le
format à l'«extension», la fin du nom du fichier. Le format correspond à
la manière dont on code la couleur de chaque point. Pour être insérées
dans un document LATEX, les images doivent être dans le format
<em>PostScript encapsulé</em>, soit l'extension <code>.eps</code>.
</p>
<p>
Pour obtenir un tel format, la première chose à faire, c'est de regarder
si le logiciel que vous utilisez ne propose pas directement cette option:
le PostScript ainsi produit a des chances d'être plus efficace et/ou de
meilleure qualité. Sinon, ouvrez l'image dans <code>xv</code> ou
<code>gimp</code>, demandez à sauvegarder l'image, et choisissez PS ou EPS
(mieux) comme format. Pour la suite, nous supposerons que nous avons un
fichier qui s'appelle <code>image.eps</code>.
</p>
<h4>Insérer l'image</h4>
<p> Rien de plus facile ici. On commence par
charger le bon package, comme d'habitude:
</p>
<pre>
\usepackage{epsfig}
</pre>
<p>
Ensuite, il suffit d'utiliser la commande suivante pour insérer
l'image:
</p>
<pre>
\epsfig{file=image.eps}
</pre>
<p>
Elle se trouve alors insérée dans le texte, exactement comme si c'était
une (très) grosse lettre (le bas de l'image est aligné avec la
ligne de base du texte; rappelons que la ligne de base est ce qui
correspond à la grosse ligne du quadrillage d'un cahier d'écolier).
</p>
<p>
On peut aussi contrôler un petit peu l'aspect de l'image, en ajoutant des
<strong>options</strong>; par exemple, cette ligne incorpore l'image en la
réduisant ou en l'agrandissant jusqu'à 3 cm de large:
</p>
<pre>
\epsfig{file=image.eps,width=3cm}
</pre>
<p>
Les options les plus utiles sont:
</p>
<table cellspacing="2" cellpadding="0" style="margin: 2ex auto">
<tr><td align="left" ><code>width</code></td>
<td align="left" >Largeur de l'image</td>
</tr>
<tr><td align="left" ><code>height</code></td>
<td align="left" >Hauteur de l'image</td>
</tr>
<tr><td align="left" ><code>angle</code></td>
<td align="left" >Angle de rotation</td>
</tr>
<tr><td align="left" ><code>clip</code></td>
<td align="left" >Empêche l'image de déborder</td>
</tr></table>
<p>
Si la hauteur et la largeur ne sont pas toutes les deux indiquées, l'image
conservera son rapport largeur/hauteur. L'angle est donné en degrés, dans
le sens des aiguilles d'une montre. L'option <code>clip=</code> (qui doit
s'écrire avec le <code>=</code> et rien d'autre) sert à se prémunir contre des
fichiers PostScript mal faits, on n'en a pas souvent besoin.
</p>
<h4>Numéroter les images</h4>
<p> La plupart du temps, on ne se contente
pas d'insérer l'image dans le texte; il faut qu'elle soit centrée, lui
adjoindre une légende, la répertorier dans une table. Voilà comment
LATEX procède.
</p>
<p>
Pour isoler la figure à un endroit précis, il suffit de mettre l'image
dans un environnement <code>figure</code> (donc entre un
<code>\begin{figure}</code> et un <code>\end{figure}</code>). On pourra également
ajouter un environnement <code>center</code> si on veut centrer l'image.
Ensuite, la légende s'ajoute avec la commande
<code>\caption{</code><code><em>La légende</em></code><code>}</code>. Par exemple, pour
centrer une image en lui donnant une légende:
</p>
<pre>
\begin{figure}
\begin{center}
\epsfig{file=image.eps,width=0.8\linewidth}
\caption{Évolution récente}
\end{center}
\end{figure}
</pre>
<p>
Quelques commentaires sur cet exemple: les environnements s'emboîtent
comme les parenthèses (premier ouvert, dernier refermé); dans les
conventions françaises, la légende se place <em>en dessous</em> de ce
qu'elle désigne, et on ne met pas de point à la fin. Enfin, vous voyez
que j'ai donné comme largeur à l'image une valeur relative (80% de la
longueur de la ligne de texte), et non pas absolue (9 cm, par exemple).
</p>
<p>
L'environnement <code>figure</code> place ce qu'il contient comme un
<em>objet flottant</em>, qui peut se retrouver à une certaine distance de
l'endroit où il est inséré. On peut indiquer à LATEX à quel endroit on
veut le voir en précisant en option une ou plusieurs lettres parmi:
</p>
<table class="tableau">
<tr><td align="left" ><code>h</code></td>
<td align="left" ><em>here</em></td>
<td align="left" >Là où la commande apparaît</td>
</tr>
<tr><td align="left" ><code>t</code></td>
<td align="left" ><em>top</em></td>
<td align="left" >En haut de la page</td>
</tr>
<tr><td align="left" ><code>b</code></td>
<td align="left" ><em>bottom</em></td>
<td align="left" >En bas de la page</td>
</tr>
<tr><td align="left" ><code>p</code></td>
<td align="left" ><em>page</em></td>
<td align="left" >Sur une page dédiée</td>
</tr></table>
<p>
Ainsi, <code>\begin{figure}[hp]</code> insérera la figure à l'endroit exact où la
commande apparaît ou, à défaut, sur une page spécifique (c'est-à-dire avec
seulement des figures). Le défaut est <code>tpb</code>. On peut aussi mettre
<code>h!</code> pour insister vraiment pour ce que ce soit <code>h</code>.
</p>
<p>
Pour obtenir une table des figures, à l'instar d'une table des matières, on
utilise la commande:
</p>
<pre>
\listoffigures
</pre>
<h4>Des figures directement</h4>
<p>S'il n'est pas question d'images complexes, de photos, une possibilité est
de définir les images directement avec des commandes LATEX. Ainsi, on
peut facilement faire une petite maison:
</p>
<p class="centre">
<img src="hublot12/maison.png" alt="[Jolie maison]"/>
</p>
<p>
Si vous voulez savoir comment faire ça avec des commandes LATEX,
reportez-vous aux chapitres correspondants des manuels LATEX (chapitre 10 du
<em>LATEX companion</em>), qui expliquent comme se servir des packages
<code>figure</code>, <code>efig</code> et <code>pstricks</code>. C'est ce dernier que j'ai
utilisé; il permet en outre des effets très spectaculaires, comme des flèches
qui vont d'un bout à l'autre de la page en contournant le texte.
</p>
<p>
En ce qui concerne les figures, n'hésitez pas à vous reporter à notre site:
<a
href="&url.tuteurs;logiciels/latex/figures.html"><code>/tuteurs/logiciels/latex/figures.html</code></a></p>
<p class="auteur">Nicolas George</p>
<p>
Le mois prochain, on expliquera comment se faire des macros.
</p>
<h2>
<a name="internet"> Internet</a></h2>
<p>
Ce mois-ci, on va voir un aspect très utile d'Internet, qui est la connexion à
distance, pour lire son courrier électronique ou autres. La partie
«Forum» va s'étendre sur des questions de «Netiquette» communes à tous les
moyens de communication sur Internet (news et courrier électronique).
</p>
<h3>La connexion à distance par telnet</h3>
<p>
Se connecter à distance permet de lire son courrier, le forum des élèves,
lancer un calcul sur une machine distante, travailler sur ses fichiers, etc.
Vous pouvez donc travailler sur un ordinateur précis sans vous trouver
physiquement devant.
</p>
<h4>Un peu d'histoire</h4>
<p> Et un peu de théorie au passage, aussi.
Ores donc, au départ, il y a les terminaux. Un terminal, c'est un écran
et un clavier, avec un tout petit cerveau. Un minitel, par exemple. Il
est possible de brancher un terminal sur un ordinateur, et (pour peu que
l'ordinateur sache faire, ce qui est le cas sous Unix) de l'utiliser
ainsi comme un second poste de travail. Les possibilités sont certes plus
limitées qu'avec un écran haute résolution relié par un câble vidéo, mais
si les applications sont prévues pour, ça peut rendre de fiers services.
</p>
<p>
Une grande partie des applications que vous utilisez à l'École sont
justement prévues pour: <code>pine</code>, <code>forum</code> (<code>flrn</code>),
etc. D'ailleurs, les fenêtres nommées <code>xterm</code>, <code>large</code>,
<code>alpha</code>, etc, ont pour unique rôle d'imiter un terminal (on
appelle ça un émulateur; c'est également pour ça qu'il ne faut pas les
fermer avec le menu du coin: ça revient exactement à couper le courant
brutalement).
</p>
<p>
De nos jours, la technologie fait bien mieux que les câbles qui reliaient
les terminaux à leur ordinateur hôte: les ordinateurs peuvent être reliés
efficacement d'un bout du monde à l'autre par Internet. Néanmoins, le
modèle du terminal reste une approche à la fois simple à utiliser, facile à
programmer, et efficace. C'est pour ça qu'on a rapidement songé à utiliser
des connexions <em>via</em> Internet pour relier un programme qui imite un
terminal (encore un émulateur) à un ordinateur hôte.
</p>
<p>
C'est à ça que sert le protocole <em>telnet</em>. En général, il laisse
simplement passer ce qui se tape d'un côté jusqu'à l'autre bout, et aussi
ce qui revient de l'autre bout pour affichage. Il comprend aussi quelques
rares codes pour faire passer des informations importantes, comme le
modèle de terminal simulé à une extrémité, la taille de l'écran, etc...
</p>
<p>
On appelle <em>serveur</em> l'ordinateur sur lequel on essaie de se
connecter, et <em>client</em> celui qui sert à se connecter (et donc simule
un terminal).
</p>
<p>
Bref, telnet, c'est comment afficher la sortie «mode texte» d'un ordinateur
sur l'écran d'un autre.
</p>
<h4>Machines Unix</h4>
<p>
Quand vous êtes en interne à l'École (entre
les salles S, t15, du 46, Jourdan, Montrouge), il suffit de taper le nom
de la machine pour s'y connecter. Si vous êtes ailleurs, il faut utiliser
le programme Telnet. Pour vous connecter sur la machine <code>galion</code>,
par exemple, il suffit de taper:
</p>
<pre>
telnet galion.ens.fr
</pre>
<p>
Vous pouvez ainsi vous connecter sur n'importe quelle machine de l'École
(<code>galion</code>, <code>bireme</code>, <code>brick</code>, <em>horus</em> pour les
biologistes, etc.). Il existe aussi <code>rlogin</code> (<em>remote login</em>), que
l'on utilise exactement de la même façon.
</p>
<h4>PC sous Windows</h4>
<p> Vous devriez trouver le Telnet dans le menu
«Démarrer». S'il n'y est pas, vous pouvez choisir «Exécuter» dans le menu
«Démarrer», et taper <code>telnet</code>. Vous pouvez aussi utiliser «Rechercher»
dans le menu «Démarrer» pour trouver le programme. Ensuite, vous indiquez le
nom de la machine comme indiqué ci-dessus.
</p>
<p>
Le Telnet par défaut de Windows fonctionne mal. On recommande plutôt TeraTerm,
quand il est installé.
</p>
<h4>Macs</h4>
<p>
À l'École, cherchez le Telnet dans le lanceur (NCSA Telnet).
S'il n'y est pas, allez dans le menu Pomme et utiliser «Recherche de fichiers»
pour le trouver.
</p>
<p>
Telnet n'est pas installé par défaut sur les Macs. Il se peut donc que, hors
de l'École, vous vous retrouviez sur des machines qui ne l'ont pas.
</p>
<h4>Problème éventuel</h4>
<p> Si vous utilisez AOL comme fournisseur d'accès,
vous ne pourrez pas faire de Telnet. En effet, AOL utilise son propre
protocole maison, propriétaire et non documenté, pour faire communiquer les
modems des abonnés avec leurs machines à eux.
</p>
<p>
Du coup, certaines opérations sont impossibles. Techniquement parlant,
Telnet est un logiciel qui utilise Internet (le protocol natif, dit
TCP/IP), et, quand on est connecté à AOL, on n'est pas connecté à
Internet. C'est un autre réseau un peu séparé, et la firme AOL fournit
une passerelle transparente vers les pages Web qui sont sur Internet.
</p>
<h3><a name="netiquette">Le forum: usage et usages</a></h3>
<p>
Les usages dans le forum des élèves ne sont guère différents de ceux qui
ont cours ailleurs sur Internet. On va donc voir les usages communs à
toutes les formes de communication asynchrone, puis les usages
spécifiques aux groupes de discussion (news et forum), et enfin les
usages propres à forum.
</p>
<h4>Usages universels</h4>
<p> Il s'agit ici des codes de politesse pour toute
forme de communication électronique asynchrone: courrier électroniques,
newsgroups. Pour la communication en temps réel (<em>chats</em>, talks, IRC,
ICQ, etc), c'est différent.
</p>
<p>
Tout d'abord, faites des phrases. Les abréviations («vs» pour «vous») sont
proscrites, ainsi que l'écriture phonétique («c cool ici, tu fé koi ce soir»).
Vous avez le temps de rédiger vos messages, donc écrivez du français et
orthographiez correctement.
</p>
<p>
Utilisez les majuscules avec beaucoup de parcimonie. Si vous en busez, on
pensera que vous criez et ON VOUS CRIERA DESSUS EN RETOUR.
</p>
<p>
Formellement, limitez la longueur de vos lignes à environ 70 caractères, pour
faciliter la lecture. De plus, si un correspondant vous répond en citant votre
message, les lignes citées ne seront pas coupées. Si vous utilisez les
éditeurs <code>pico</code> et <code>nedit</code> reformatent automatiquement les
paragraphes quand vous tapez <code>^J</code> (Control-J).
</p>
<p>
Laissez des lignes blanches entre les paragraphes, ce sera plus lisible pour
votre correspondant.
</p>
<p>
Citez le moins possible du message auquel vous répondez, lorsque vous postez
une réponse à un message. Il n'est nécessaire de citer que lorsque vous
voulez clairement faire comprendre que votre réponse se rapporte à une partie
précise du message précédent. Surtout, ne laissez pas de lignes citées
inutiles par paresse. Essayez la touche <code>^K</code> (Control-K) si votre
éditeur est <code>pico</code> (ou <code>emacs</code>).
</p>
<p>
Pour représenter du gras, utilisez des étoiles, <code>*comme ceci*</code>. Pour
représenter le souligné, utilisez des traits de soulignement,
<code>_comme ceci_</code>.
</p>
<p>
Utilisez des smileys pour indiquer les passages de vos messages à prendre au
second degré si ce n'est pas évident. Par exemple, «<code>:-)</code>» est le smiley
générique; certains préfèrent «<code>:)</code>». Le smiley «<code>;-)</code>» signale un
clin d'oeil.
</p>
<h4>Usages dans les news</h4>
<p> Quand vous postez dans les news, ou
bien dans forum, il arrive que le message ait sa place dans plusieurs
groupes différents à la fois, et qu'on le poste donc «transversalement».
C'est ce qu'on appelle un <em>cross-post</em>, ou «multipostage» (X-post
dans le jargon). Dans tous les cas, il faut décider du groupe dans
lequel la discussion se poursuivra.
</p>
<p>
Par exemple, vous postez un message dans lequel vous vous demandez si,
dans un État laïque, il est légitime d'enseigner les religions à l'école.
Vous décidez de multiposter dans <a href="fr.education.divers"><code>fr.education.divers</code></a>,
<a href="fr.soc.politique"><code>fr.soc.politique</code></a> et dans <a href="fr.soc.religion"><code>fr.soc.religion</code></a>. Le message figurera
dans ces trois groupes, mais la discussion ne doit se poursuivre que dans
un seul groupe, que vous signalez. C'est ce que l'on appelle un
<em>follow-up</em> («fu2» dans le jargon).
</p>
<h4>Usages sur forum</h4>
<p> Outre ce que l'on vient de dire,
voici quelques usages qui ont cours dans le forum des élèves.
</p>
<p>
Tout d'abord, évitez de signaler leurs fautes d'orthographe aux autres en
dehors du conti <code>lettres.orthographe</code>. Et si vous le faites,
que ce soit dans un français irréprochable...
</p>
<p>
D'autre part, il y a un certain jargon en usage. Une partie est constituée
d'abréviations anglicisantes d'usage fréquent dans les news: ROTFL:
<em>Rolling on the floor laughing</em> («mort de rire»), IMHO: <em>In my
humble opinion</em> («à mon humble avis», ou AMHA). Vous rencontrerez aussi les
abréviations ou le jargon informaticiens (dont le fameux RTFM, «regarde dans
ton foutu manuel»). Enfin, il y a un jargon plus ou moins spécifiquement
normalien (groumph, grassouille, test...).
</p>
<p>
On est en droit de ne pas aimer. Dans ce cas, on évitera les hiérarchies
<code>alt.*</code>, <code>archeo-forum.*</code>, et, dans une certaine mesure,
<code>informatique.*</code>. Si vous n'aimez pas les private jokes, restez
également en dehors de la hiérarchie <code>alt.*</code>: le reste de forum en est
relativement exempt. Cependant, soyez compréhensif s'il y en a quand même çà
et là...
</p>
<p>
Si vous voulez comprendre un peu ces blagues internes, vous pouvez consulter
le Petit Lexique Normalien, avec l'explication des mots et la présentation des
habitués de forum
(<a href="http://www.eleves.ens.fr:8080/home/madore/ens/lexique.html"><code>http://www.eleves.ens.fr:8080/home/madore/ens/lexique.html</code></a>).
</p>
<p>
Le mois prochain, on expliquera ce qu'est le «blast».
</p>
<p class="auteur">David Madore, Émilia Robin</p>
<h2>
<a name="ordinateur"> Qu'est-ce qu'un ordinateur? (5)</a></h2>
<p>
Ce cours explique progressivement ce qu'est un ordinateur. On connaît
désormais la mémoire, les bus, le processeur, l'écran, le clavier, la
souris... Ce mois-ci, on s'attaque aux éléments de stockage, disquettes,
disques durs et CDROMs.
</p>
<h3>Fiat non lux</h3>
<p>
Qu'un ordinateur fonctionne, admettons. Ce pourrait être un effet de la
science moderne. La technologie nous habitue à la voir aligner plus de
miracles qu'un bataillon de messies arpentant la Palestine. Nous
considérerons donc que l'ordinateur allumé, cela existe, et qu'il
effectue de menus travaux intéressants quoique peu ménagers (ce qui
serait vraiment utile, pour le coup).
</p>
<p>
Qu'un ordinateur ne fonctionne pas quand il n'y a pas de courant, c'est
tout aussi compréhensible. Achille était frileux du talon et Popeye n'est
qu'un pirate d'eau douce sans ses légumes verdâtres; aussi il est
raisonnable de penser que l'ordinateur puise sa force d'une certaine
source, et même, imaginer que cette source soit le courant électrique, ne
semble pas être l'idée la plus stupide qui soit.
</p>
<p>
Mais rallumons un ordinateur qui a été préalablement éteint et débranché.
Stupeur! Après avoir repris sa configuration opérationnelle, il semble
contenir des informations qu'on avait soi-même rentrées avant cette
éclipse forcée. Qu'est-ce à dire? Il y aurait, dans cette boîte, une
entitée douée de mémoire qui résisterait à la pénurie de jus? Tout ne
serait pas transistors et condensateurs, silicium et métal?
</p>
<p>
Eh bien oui, en effet, il y a des mécanismes de stockage de données qui
subsistent sans la fée électricité. Les principaux, ceux qu'on rencontre
le plus souvent sur une station de travail, sont les disques durs et les
disquettes. Il y a aussi les CDROMs et les bandes magnétiques.
</p>
<p>
Pourquoi «disque»? Parce que c'est rond. Comment ça, rond? Ben oui, le genre
circulaire. Mais y'a rien de rond dans la machine! Ah effectivement, c'est
caché dans une boîte rectangulaire. Appréhendons la chose autrement. Le disque
dur, c'est le truc qui fait crrcrrcrr de temps en temps quand la machine est
allumée, comme si des cafards pédalaient pour la maintenir en vie. À
l'intérieur, il y a en fait plusieurs disques, qu'on nomme «plateaux», rigides
et recouverts d'une substance magnétisable, comme une cassette. Ces plateaux
sont empilés et tournent très vite autour d'un même axe. Entre les plateaux
circulent des sortes de bras mécaniques qui portent des «têtes» de lecture, à
savoir des assemblages électromagnétiques qui peuvent émettre et recevoir des
champs magnétiques.
</p>
<p>
Car dans le support magnétisable, il y a des molécules contenant des
atomes de fer; ces atomes peuvent être orientés, et on peut savoir, avec
une tête de lecture, dans quel sens ils sont orientés. Et, plus fort
encore, on peut changer cette orientation en appliquant un champ
magnétique avec une tête de lecture (qui, du coup, est une tête
d'écriture). Enfin, c'est là l'astuce suprême: notre atome orienté ne va
pas changer spontanément de sens. Il conserve son orientation, courant ou
pas courant. Voilà comment une mémoire peut survivre entre deux
allumages: comme pour le tricot, on a des atomes à l'endroit et des
atomes à l'envers, ils représentent des 0 et des 1.
</p>
<p>
Le disque est dans une boîte hermétique afin d'éviter la poussière: la
tête se déplace très près du disque, qui tourne très vite; l'analogie
courante, c'est d'imaginer un Boeing 747 (ou un Airbus A340, ne boudons
pas notre chauvinisme) voletant gaiement à une dizaine de centimètres du
sol. Et il ne faut pas que ça touche! Sinon après ça ne marche plus du
tout. C'est pour ça que faire tomber un ordinateur en marche n'est pas
conseillé du tout (déjà, éteint, c'est plutôt mal vu, mais allumé, c'est
l'assurance que les têtes de lecture vont faire un bel atterrissage sur
les plateaux).
</p>
<p>
Par comparaison, une disquette est un disque dur à l'air libre, d'où un
espace beaucoup plus important entre la tête et le disque (qui, pour
l'occasion, est souple), ce qui rend la lecture et l'écriture plus lentes
et moins précises (on ne peut plus viser aussi finement les atomes; du
coup, une disquette contient beaucoup moins de données qu'un disque dur).
</p>
<p>
Mais pourquoi cet assemblage mécanique? Ben c'est parce qu'il faut bien
amener la tête là où il y a les atomes à orienter. On s'en passerait
bien: la mécanique ça s'use, ça fait du bruit et ça tombe en panne. Mais
on ne sait pas faire autrement.
</p>
<h3>Le texte au kilo</h3>
<p>
Les disques permettent donc de stocker des 0 et des 1. En pack. Comme des
billes dans un sac. Combien peut-on en stocker? Pas loin de douze
millions sur une disquette, et le moindre disque dur peut en contenir
plusieurs centaines de milliards. N'essayez pas d'imaginer ça, car le
milliard est une notion qui échappe à l'esprit humain<a name="text1" href="#note1"><sup>1</sup></a>. Disons plutôt
qu'une disquette suffit à stocker un texte comportant un bon million de
lettres, soit un millier de pages.
</p>
<p>
En faisant attention à ne pas gaspiller, on peut mettre plus, la métaphore
usuelle étant que la Bible tient sur une disquette, tout juste. Un CDROM peut
contenir 700 bibles. Un disque dur de base à 1 000 balles contiendra
30 000 bibles<a name="text2" href="#note2"><sup>2</sup></a>. Par comparaison, une image, une musique,
ou un film, c'est très gros: un DVD contiendra deux heures de film sur
6 giga-octets (plus précisément, 4.7 Go pour la première couche, et 8.5 Go
pour un DVD mono-face bi-couche). C'est là qu'on voit que dans un film il y a
autre chose que le script.
</p>
<table border="1" cellspacing="0" cellpadding="1" style="margin: 2ex auto">
<tr><td align="left" >1 octet</td>
<td align="left" >1 caractère</td>
</tr>
<tr><td align="left" >1 Ko (kilo-octet)</td>
<td align="left" >environ 1 000 caractères</td>
</tr>
<tr><td align="left" >1 Mo (méga-octet)</td>
<td align="left" >environ 1 million de caractères</td>
</tr>
<tr><td align="left" >1,4 Mo</td>
<td align="left" >1 disquette; la Bible</td>
</tr>
<tr><td align="left" >600 Mo</td>
<td align="left" >1 CDROM: 600 fois la Bible</td>
</tr>
<tr><td align="left" > </td>
<td align="left" >1 CD audio: 1 h. de musique</td>
</tr>
<tr><td align="left" >1 Go (giga-octet)</td>
<td align="left" >environ 1 milliard de caractères</td>
</tr>
<tr><td align="left" >8.5 Go</td>
<td align="left" >1 DVD.</td>
</tr>
<tr><td align="left" > </td>
<td align="left" ><em>Matrix</em>: 1 DVD</td>
</tr>
<tr><td align="left" > </td>
<td align="left" ><em>Les 10 commandements</em>: 2 DVDs</td>
</tr></table>
<p>
On utilise souvent l'octet pour désigner un groupe de huit bits; un octet
peut prendre 256 configurations différentes, voilà qui est suffisant pour
représenter une lettre (en comptant les majuscules, les minuscules, les
chiffres, les signes de ponctuation et les lettres accentuées). On
possède aussi des multiples: le kilo-octet contient 1024 octets (et non
1000, car 1024 est un nombre plus «rond» quand on compte en binaire,
comme les ordinateurs; et, par ailleurs, les informaticiens sont
joueurs). Le méga-octet représente 1024 kilo-octets, et le giga-octet
fait 1024 méga-octets. Le téra-octet, qui fait (surprise)
1024 méga-octets, est encore trop cher pour qu'on en parle ici. Un disque
dur moderne fait quelques dizaines de giga-octets, la mémoire centrale
d'un ordinateur quelques dizaines de méga-octets.
</p>
<p>
Une question qui se pose légitimement, c'est pourquoi diable la machine
travaille-t-elle sur une mémoire qui disparaît quand on coupe le courant,
alors qu'elle en a une autre qui résiste, et qui est en plus mille fois
plus abondante? Parce que celle-ci est bien plus de mille fois plus
lente, tout simplement. C'est pour ça qu'on édite un texte en mémoire, et
que de temps en temps il faut «enregistrer le fichier», c'est-à-dire
envoyer le résultat sur un support plus permanent, à savoir le disque
dur.
</p>
<p>
Parlons-en des fichiers, justement. On l'a vu, les octets sont en vrac
sur le disque dur. Or, un tel chaos, ce n'est pas intéressant. On a envie
de trier tout ça, de faire des sections et des sous-sections, et des
index qui permettent de retrouver un ensemble de fiches sans avoir à
relire toute la bibliothèque, etc... pas de panique, c'est prévu! La
machine est livrée avec un logiciel spécial, le système d'exploitation,
qui sait faire ce rangement. Il récupère un peu des octets du disque pour
se fabriquer des étiquettes, et hop, il fournit des dossiers et
sous-dossiers, et dedans des fichiers. Dans le monde informatique, on dit
«répertoire» plutôt que «dossier», mais des réformistes essayent
d'assurer la suprématie de ce dernier terme. Notons bien que le système
d'exploitation n'est pas du tout intéressé par le contenu des fichiers;
pour lui, ce sont des 0 et des 1, c'est tout.
</p>
<p>
Vous avez probablement déjà manipulé des fichiers sans savoir ce que
c'était. C'est presque aussi banal que de faire de la prose, de nos
jours. Que cela ne vous donne pas la «grosse tête» (ça m'est réservé).
</p>
<p class="auteur">Thomas Pornin</p>
<h2>
<a name="imprimer"> Comment... imprimer</a></h2>
<p>
Cette rubrique a pour but de présenter diverses utilisations des
machines Unix, en indiquant à chaque fois les logiciels disponibles, et en
présentant certains d'entre eux. Ce mois-ci, on va parler de l'impression de
documents, en présentant les différents types d'imprimantes, les commandes
Unix qui servent à imprimer, et les modalités d'impression à l'École.
</p>
<h3>L'objet imprimante</h3>
<h4>À marguerite</h4>
<p>
La tête d'impression, ou chariot, se déplace
ligne par ligne de gauche à droite (voire aussi de droite à
gauche<a name="text3" href="#note3"><sup>3</sup></a>) et imprime les caractères un par un.
</p>
<p>
Elle comporte une pièce appelée marguerite comportant les caractères
imprimables gravés dessus. Cette pièce pivote afin de présenter le bon
caractère face à la feuille, puis est frappée sur la feuille de papier,
un ruban encré avançant au fur et à mesure de l'impression étant placé
entre la feuille et la marguerite. Le papier est entraîné, souvent par
engrènement sur des picots, afin de présenter d'abord le haut, puis le
bas de la page à la tête d'impression.
</p>
<p>
C'est le système le plus ancien; les machines à écrire électriques
fonctionnaient sur le même principe.
</p>
<p>
Elle a comme avantages d'être simple (notamment au niveau de
l'électronique de commande), et d'avoir une bonne qualité d'impression.
En revanche, elle est bruyante, et changer de police de caractères
(italique, gras, caractères mathématiques...) oblige à changer la
marguerite temporairement. Elle est généralement restreinte aux polices
mono-espacées<a name="text4" href="#note4"><sup>4</sup></a>.
</p>
<h4>Matricielle</h4>
<p>
L'image est constituée d'un grand nombre de
petits points, comme sur les écrans informatiques. Plus les points sont
petits, meilleure est la qualité car on ne remarque pas les points. Au
contraire, dans le cas des modèles à faible qualité d'impression (caisses
enregistreuses...), les points sont très visibles. La résolution, c'est à
dire la finesse des points, est mesurée en points pour pouce (<em>dots
per inch</em> ou dpi), un pouce valant environ 2,54 cm. À titre de
comparaison, un écran informatique a une résolution de l'ordre de 75 à
100 dpi.
</p>
<dl>
<dt>Avantages</dt><dd> Grande souplesse: on peut imprimer des graphiques,
du texte dans de multiples polices de caractères...</dd>
<dt>Inconvénients</dt><dd> Il faut calculer une image point par point de la
page, ce qui est d'autant plus coûteux en ressources informatiques (temps
de calcul, mémoire) que l'imprimante a une bonne résolution. Ce calcul
peut être fait soit dans l'imprimante (ce qui nécessite d'embarquer un
micro-ordinateur dans l'imprimante), soit dans l'ordinateur de bureau (ce
qui charge celui-ci et impose des transferts de grandes quantités de
données vers l'imprimante).</dd></dl>
<p>On distingue plusieurs sous-types d'imprimantes matricielles, qui sont
les imprimantes à aiguilles, les imprimantes à jet d'encre et les
imprimantes laser.</p>
<h5>Imprimantes à aiguilles</h5><p> Comme dans une imprimante à marguerite, la tête d'impression, ou chariot, se déplace ligne par ligne
de gauche à droite, voire aussi de droite à gauche. Au lieu de porter une
marguerite, elle porte une rangée verticale d'«aiguilles», régulièrement
espacées, généralement au nombre de 9, ou 24 pour les imprimante de
qualité. Ces aiguilles appuient ou non sur un ruban encré placé entre la
tête d'impression et le papier.</p>
<p>
Ce type d'imprimantes était courante pour les ordinateurs personnels
pendant les années 1980; il a même existé des modèles couleur avec rubans
quadrichromiques. Actuellement, on s'en sert pour les tickets des
distributeurs automatiques et aussi pour des factures, bordereaux,
etc.</p>
<dl>
<dt>Avantages</dt><dd> Plus souple que l'imprimante à marguerite (impression de
graphiques, polices multiples), et moins bruyante aussi.</dd>
<dt>Inconvénients</dt><dd> Qualité d'impression moyenne au mieux. Assez
bruyante. Lent si on veut avoir une impression de qualité.</dd>
<dt>Résolution typique</dt><dd> 72, 144, 216 dpi sur des imprimantes
personnelles; très mauvaise pour les tickets.</dd></dl>
<h5>Imprimantes thermiques</h5> <p>Le papier utilisé est
chimiquement traité pour réagir à la chaleur. L'imprimante contient des
aiguilles qui chauffent ou non localement le papier et provoque ou non
son noircissement. Ce type d'imprimantes est souvent utilisé dans les
télécopieurs, les terminaux cartes bancaires... en raison de son relatif
silence.</p>
<dl>
<dt>Avantages</dt><dd> Quasi-silencieux.</dd>
<dt>Inconvénients</dt><dd> Le papier spécial thermique est assez cher. Les
documents imprimés ne supportent pas la chaleur et se détériorent avec le
temps (ce qui explique que les facturettes de carte bancaire deviennent
illisibles si on les garde dans sa poche, et qu'il faut toujours faire
une photocopie d'un fax sur papier thermique que l'on veut conserver).
Lent.</dd>
<dt>Résolution typique</dt><dd> 144 dpi.</dd></dl>
<h5>Imprimantes jet d'encre</h5><p>La tête d'impression est formée
d'une rangée de buses microscopiques laissant ou non sortir de l'encre.
</p>
<p>
De nos jours, toutes les imprimantes jet d'encre sont couleur
(quadrichromie) et de nombreux modèles offrent une impression de qualité
«photo» à l'aide d'encres et/ou de papier spécial.
</p>
<dl>
<dt>Avantages</dt><dd> Peu bruyant. Bonne, voire excellente qualité
d'impression. Parfois, possibilité d'imprimer directement sur des
transparents.</dd>
<dt>Inconvénients</dt><dd> Généralement assez lent. L'encre bave parfois. Les
couleurs sombres gorgent souvent le papier d'encre, ce qui le déforme.
Les consommables (cartouche d'encre normale, cartouche «photo», papier
spécial «photo») s'usent vite et sont souvent coûteux --- il semble que
les fabricants rattrapent le faible prix de leurs modèles d'entrée de
gamme sur les consommables.</dd>
<dt>Résolution typique</dt><dd> 300 dpi.</dd></dl>
<h5>Imprimantes laser</h5><p> Procédé analogue aux photocopieuses.
De la poudre d'encre (<em>toner</em>) est déposée à l'endroit où il faut
noircir le papier. Elle est ensuite fondue sur le papier par chauffage
par le four ou <em>fuser</em>. Certains modèles impriment en couleur.</p>
<dl>
<dt>Avantages</dt><dd> Qualité de bonne à excellente. Possiblité d'imprimer sur
des transparents. Grande vitesse d'impression, cadences élevées. Souvent
possibilité de double face.</dd>
<dt>Inconvénients</dt><dd> Mécanisme complexe et fragile, qui se coince
facilement. Imprimantes coûteuses, surtout en couleur. Si des
transparents non prévus pour imprimante laser sont utilisés, ils peuvent
fondre dans l'imprimante et imposer une réparation.</dd>
<dt>Résolution typique</dt><dd> 300 ou 600 dpi.</dd></dl>
<h5>Photocomposeuses</h5><p> imprimantes de très haute qualité
destinées à fournir les films pour l'impression professionnelle
(offset...). Leur résolution typiquee est comprise entre 1 200 et
2 400 dpi.</p>
<h4>Imprimantes couleur</h4>
<p> L'impression de la couleur se fait
généralement en quadrichromie (dit aussi CMYK, <em>Cyan, Magenta,
Yellow, blacK</em>). Pour chacune de ces composantes, on imprime un nuage de
points, avec plus ou moins de densité pour faire les nuances.
Normalement, on pourrait reproduire toutes les teintes avec seulement le
cyan (bleu-vert), le magenta et le jaune; on met du noir pour assurer des
couleurs sombres profondes et économiser de l'encre.</p>
<p>
L'impression couleur est chose délicate; il est rare que l'on retrouve
exactement les mêmes couleurs à l'écran. Ce domaine est un maquis de
brevets, où la qualité professionnelle se paye souvent au prix fort.
</p>
<h3>Le format PostScript</h3>
<p>
Toutes les imprimantes bureautiques, à jet d'encre comme à laser,
demandent que la page à imprimer soit présentée sous la forme d'une image
de petits points. Dans le cas des imprimantes couleur, on doit fournir
4 images, correspondant aux 4 couleurs d'encre. Pour obtenir de bons
résultats, notamment avec les imprimantes jet d'encre couleur, il est
recommandé que la génération de ces images se fasse en tenant compte des
particularités spécifiques du modèle d'imprimante utilisé.
</p>
<p>
Il y a deux approches:
</p>
<h4>
L'imprimante dessine la page</h4><p> Cela impose d'embarquer dans
l'imprimante un véritable micro-ordinateur, auquel l'ordinateur
bureautique envoie des ordres de haut niveau («trace une ligne», «affiche
les caractères ABC en police Times italique corps 12»). Dans le monde
professionnel, les imprimantes comprennent surtout le langage de
description de page <strong>PostScript</strong>. Celui-ci permet au logiciel
bureautique d'envoyer à l'imprimante une description de la page très
indépendante du modèle particulier d'imprimante utilisé; l'imprimante se
débrouille ensuite pour imprimer au mieux.</p>
<p>
Il existe 3 versions de PostScript: PostScript niveau 1, 2 et 3. Toutes
les imprimantes de l'ENS comprennent au moins le PostScript niveau 2; il
est recommandé d'utiliser du PostScript niveau 2 lorsque c'est possible,
notamment en cas d'inclusion d'images scannées ou de copies d'écran.
</p>
<p>
Un des gros avantages du PostScript est qu'il permet de produire des
fichiers décrivant une page ou une partie de page qui sont totalement
portables: une figure PostScript produite avec Adobe Illustrator peut
être inclue dans un document LATEX sans difficulté. Il existe des
visualisateurs de PostScript pour Unix (par exemple <code>gv</code>)
et pour Windows (<code>gsview</code>;
<a href="http://www.cs.wisc.edu/~ghost/gsview/"><code>http://www.cs.wisc.edu/~ghost/gsview/</code></a>).
</p>
<p>
Il est possible d'imprimer du PostScript sur une imprimante non
PostScript en faisant interpréter le PostScript sur l'ordinateur
(typiquement en utilisant GhostScript (<code>gs</code>)).
</p>
<h4>L'ordinateur dessine la page</h4><p> C'est le cas avec les imprimantes bon
marché. Sur l'ordinateur est alors installé un programme spécifique au
modèle d'imprimante, généralement fourni par le fabricant d'imprimante.
</p>
<p>
La grande difficulté des systèmes d'exploitation autres que Windows
(BeOS, Linux, FreeBSD...) avec les imprimantes est dûe à la politique des
fabricants d'imprimantes. En effet, ceux-ci ne fournissent généralement
pas de <a href="#pilote">pilote*</a> d'imprimante pour ces systèmes et fournissent rarement les
informations indispensables à l'écriture de pilotes par des tiers. Dans
certains cas, ces imprimantes ne peuvent pas du tout fonctionner sous
Linux; dans d'autres, elles fonctionnent, mais la qualité d'impression
est moyenne car les concepteurs du pilote n'ont pas eu accès à
l'information nécessaire à une bonne exploitation des capacités de
l'imprimante (p.ex. pour le rendu des couleurs).</p>
<p class="auteur">David Monniaux</p>
<h3>Les imprimantes à l'École</h3>
<div class="encadre">
Après le démon mange-disque, un <strong>démon papivore</strong> va faire son
apparition début avril. Ce courrier, créé automatiquement à partir des logs de
l'imprimante, indiquera à chaque utilisateur combien de feuilles il a imprimé
au cours du mois. Son rôle sera informatif, pour que chacun situe sa
consommation.</div>
<h4>Historique</h4>
<p> La première salle informatique libre-service date de
la fin des années 1980; elle comprenait 5 MacIntoshs. Elle prenait à l'époque
la place de l'infirmerie (d'où le terme «infirmatique»)<a name="text5" href="#note5"><sup>5</sup></a>.
</p>
<p>
L'expérience a vite montré que cette salle, près de l'entrée de l'École,
sans controle d'accès, imprimait beaucoup! Vraiment beaucoup. Plus que ce que
faisaient uniquement les normaliens...
</p>
<p>
C'est ainsi que l'on a cherché --- et trouvé -- un filtre: les cartes (oui,
payantes; à noter que la somme encaissée n'est pas ré-intégrée au budget du
SPI). Durant les quelques mois où la salle du 46 a été sans filtrage, on a
remarqué la différence!
</p>
<h4>État actuel</h4>
<p> Il y a donc des lecteurs de cartes:</p>
<ul>
<li> Dans les salles payées par le SPI (donc pas la salle T, financée par le
MMFAI; donc pas la salle T15, financée par le magistère de
physique).</li>
<li> Dans les salles où il y a des micros (Mac) sans contrôle
d'accès (donc pas la salle S).</li></ul>
<p>À noter que les imprimantes HP 4000 actuelles ont un bouton
<code>Annuler</code>, qui limite un des soucis longtemps présents: je
mets ma carte, et c'est un autre travail qui sort.</p>
<h4>Coût</h4>
<p>
En 2000, on a changé 32 cartouches (18 en salle S, 6 à
Jourdan, 4 au 46, 1 à Montrouge, 1 en Infi). Ceci a eu un coût de
25 000 france annuels, le prix de 2 machines neuves. La salle S imprime au
rythme de 230 000 pages par an, 800 pages par jour...
</p>
<p>
À vous de voir où l'argent est le mieux dépensé!
</p>
<p class="auteur">Jacques Beigbeder</p>
<h3>Commandes</h3>
<div class="encadre">L'encre coûte cher: avant d'imprimer, demandez-vous si vous en avez vraiment
besoin. Par exemple, plutôt que d'imprimer une page Web, vous pouvez la
récupérer sur votre compte. Quand on voit le nombre de feuilles imprimées
laissées près des imprimantes, on se dit que, finalement, ce n'était pas si
indispensable que ça de les imprimer...</div>
<p>
Tout d'abord, un certain nombre de logiciels ont des commandes d'impression:
bouton «Imprimer» de Netscape, bouton «Print» de <code>gv</code>, éditeurs de
textes, etc. Ensuite, il existe des commandes plus ou moins
spécifiques.</p>
<h4><code>dvips</code></h4>
<p>
<code>dvips</code> sert à imprimer des fichiers DVI
(taper <code>dvips </code><code><em>fichier.dvi</em></code>). L'option <code>-pp</code> suivie d'un
numéro imprime la page correspondante, l'option <code>-p</code> indique le numéro
de la première page à imprimer, et <code>-l</code> le numéro de la dernière page à
imprimer:
</p>
<table cellspacing="2" cellpadding="0" style="margin: 2ex auto">
<tr><td align="left" ><code>dvips -pp 3</code></td>
<td align="left" >Imprimer la page 3</td>
</tr>
<tr><td align="left" ><code>dvips -p 3</code></td>
<td align="left" >Imprimer à partir de la page 3</td>
</tr>
<tr><td align="left" ><code>dvips -l 3</code></td>
<td align="left" >Imprimer jusqu'à la page 3</td>
</tr></table>
<h4><code>lpr</code></h4>
<p>
<code>lpr</code> sert à imprimer les fichiers PostScript
(taper <code>lpr </code><code><em>fichier.ps</em></code>). Si vous ne voulez imprimer que
certaines pages d'un fichier PostScript, ouvrez-le avec <code>gv</code>
(<code>gv </code><code><em>fichier.ps</em></code>), et marquez les pages à imprimer en les
cochant avec le bouton droit de la souris. Ensuite, cliquez sur <code>Print
marked</code> pour imprimer.
</p>
<h4><code>a2ps</code></h4>
<p> C'est un utilitaire qui sert à imprimer. Par
défaut, il imprime le document sur une demie-page (si bien que 2 pages A4 se
retrouve côte à côte). Il imprime «au mieux» le fichier qu'on lui donne en
entrée: si c'est un PostScript ou un DVI, il l'imprime, si c'est un fichier
TeX, il le compile d'abord, si c'est simplement du texte, il l'imprime tel
quel.</p>
<h3>FAQ</h3>
<h4>Imprimer un courrier</h4>
<p> Question liminaire: voulez-vous vraiment
imprimer ce courrier? Si c'est le cas, pensez à le récupérer: on trouve à côté
de l'imprimante des piles de messages personnels, parfois vraiment intimes,
que leurs destinataires ont oublié de prendre...
</p>
<p>
Donc: avec <code>pine</code>, appuyez sur <code>%</code> (la touche «pour-cent»). Avec
<code>mutt</code>, appuyez sur <code>p</code> (<em>print</em>). Dans les deux cas, le
logiciel demande confirmation.
</p>
<h4>Imprimer en plusieurs exemplaires</h4>
<p> C'est très facile: il suffit
de se rendre à la photocopieuse la plus proche.
</p>
<h4>Imprimer en recto-verso</h4>
<p> L'imprimante de la salle S fonctionne en
recto-verso. On utilise la commande <code>lpr</code> avec l'option
<code>-Zdouble</code> (c'est tellement barbare que c'en est poétique...). Par
exemple, pour imprimer <code>rapport.ps</code> en recto-verso, tapez:
</p>
<pre>
<span class="prompt">brick ~ $</span> lpr -Zdouble rapport.ps
</pre>
<h4>Imprimer un fichier Word</h4>
<p> Pour imprimer un fichier Word, il faut
ouvrir ce fichier, avec StarOffice ou ApplixWare (voir le numéro 9 du
, novembre 2000). Ensuite, chacun de ces logiciels possède un bouton
«Imprimer» ou «Print».</p>
<h4>Imprimer avec ApplixWare</h4>
<p> C'est un logiciel qui a ses vapeurs, et
qui parfois refuse d'imprimer. Des fois, ça marche. Souvent, ça ne marche pas.
</p>
<p>
Quand il ne veut pas imprimer, il crée un fichier PostScript dans son
répertoire <code>axhome/</code> (Hublot, n° 9). Par exemple, s'il ne parvient
pas à imprimer <code>rapport.rtf</code>, il va créer dans <code>axhome/</code> le
fichier <code>rapport.rtf.ps</code>. Un PostScript s'imprime avec
<code>lpr</code><a name="text6" href="#note6"><sup>6</sup></a>.
</p>
<h4>Imprimer des transparents</h4>
<p> Il suffit de mettre le transparent
dans le tiroir à la place du papier. <strong>Attention! N'utilisez que des
transparents certifiés HP, pour imprimantes</strong>, sinon le plastique fondra.
</p>
<p class="auteur">Émilia Robin</p>
<p>Vous pouvez aussi consulter la page des tuteurs appelée «Imprimer»: <a
href="&url.tuteurs;/unix/imprimer.html"><code>/tuteurs/unix/imprimer.html</code></a>.
</p>
<h2><a name="securite"> Sécurité informatique</a></h2>
<h3>Les risques de la connexion à distance</h3>
<h4>Quels risques</h4>
<p> Comme d'habitude, le risque n'est pas tant de
pirater que de vous faire pirater. Quand vous vous connectez à distance,
vous tapez votre mot de passe, que les câbles transportent docilement
jusqu'à la machine sur laquelle vous voulez vous connecter. Comme les
lettres transitent en clair, sans chiffrement, il est très facile
d'espionner ce qui circule sur un câble et de récupérer les mots de
passe (que ce soit lors d'un telnet ou quand vous vous connectez à un
serveur POP ou IMAP pour lire votre courrier).
</p>
<p>
Il est même possible de reconstruire des sessions telnet afin par exemple
de prendre les mots de passe, et aussi d'espionner ce que fait la
personne qui se connecte.
</p>
<h4>Que faire</h4>
<p> Donc, quand vous vous connectez depuis une grande
université avec un gros réseau ou quelque chose comme ça, vous courrez
toujours un risque. Il y a donc deux mesures qui s'imposent:
</p>
<ul>
<li> Surveillez les messages «last login» quand vous vous connectez et
vérifiez qu'il n'y a rien de suspect (connexion la veille alors que vous
ne vous êtes pas connecté depuis une semaine, connexion depuis un
endroit où vous n'avez jamais mis les pieds, etc);<br />
Le SPI surveille les connexions à distance, et quand quelque chose de
suspect se produit (connexions répétées depuis le Brésil ou l'Inde), il
arrive qu'il ferme provisoirement le compte, par sécurité. Si donc vous
devez partir dans un pays lointain, signalez-le aux administrateurs, pour
ne pas leur donner de sueurs froides, et ne pas risquer de ne plus
pouvoir vous loguer...</li>
<li> Changez votre mot de passe rapidement après votre retour en des lieux
plus fiables.</li>
<li> Utilisez <code>slogin</code> à la place de <code>rlogin</code>, il y a
juste une lettre à changer, et les transmissions seront chiffrées.
Évidemment, il faut que ce logiciel soit installé.</li></ul>
<p>Enfin, et c'est ce que nous allons expliquer ici, utilisez des logiciels
sécurisés. Utiliser ssh n'est pas plus difficile qu'utiliser telnet. En
particulier, le programme ssh pour Windows, en plus d'être sécurisé, est
nettement plus agréable à utiliser que le telnet standard.</p>
<h3>Telnet, SSH, <code>slogin</code></h3>
<p>
Une des principales activités auxquelles sert telnet, c'est se loguer sur
un ordinateur. Ce qui implique que le serveur envoie la question
«<code>login:</code>» et «<code>password:</code>» au client, et que l'utilisateur
saisisse tout ça (exactement comme s'il était directement devant l'autre
ordinateur). Certaines étapes peuvent être économisées. En particulier,
le login (et éventuellement le mot de passe) peuvent être indiqués une
bonne fois pour toutes au client, pour qu'il les envoie automatiquement
au serveur.
</p>
<p>
Pour introduire quelques points de confort supplémentaires, le protocole
<em>SSH</em> (<em>Secure SHell</em>) a été mis au point. Il utilise des techniques
de cryptographie solides pour assurer l'authenticité et la sécurité de ce qui
circule.
</p>
<p>
La commande <code>slogin</code> (<em>secure login</em>) repose sur SSH. Deux
cas: si vous avez des clés SSH, il s'en sert et demande votre passphrase
(voir plus bas); si vous n'avez pas de clé SSH, il chiffre l'ensemble de
la transmission (mot de passe et toutes les données qui circulent).
</p>
<h4>Utiliser telnet, SSH, slogin</h4>
<p> Sur une machines Unix, pour se
connecter à une machine nommée (au hasard, <code>clipper.ens.fr</code>), il suffit
de taper:
</p>
<pre>
<span class="prompt">chaland ~ $</span> telnet clipper.ens.fr
<span class="prompt">chaland ~ $</span> slogin clipper.ens.fr
<span class="prompt">chaland ~ $</span> ssh clipper.ens.fr
</pre>
<p>Par défaut, SSH et <code>slogin</code> utilisent votre login actuel.
Pour en préciser un autre (par exemple si vous avez un login différent à
la fac et ici), il faut utiliser l'option <code>-l</code> («l» comme
«login»):</p>
<pre>
<span class="prompt">chaland ~ $</span> ssh -l george clipper.ens.fr
</pre>
<p>
J'en vois déjà qui essaient le login de leur voisin; il restera
évidemment à votre charge de prouver que vous avez le droit de vous
connecter.</p>
<p> Notons enfin qu'à certains endroits (en France), il faudra écrire
<code>ssf</code> au lieu de <code>ssh</code> (SSF est une version de SSH
déposée au Ministère de l'Intérieur).</p>
<p>
À l'École, comme nous avons un administrateur (<em>très</em>) compétent,
et pas trop de gens mal intentionnés, certaines facilités sont proposées:
d'une part, entre les machines du réseau élèves le mot de passe est
inutile, et d'autre part des liens ont été mis en place, qui permettent
de se connecter directement en tapant le nom de la machine:
</p>
<pre>
<span class="prompt">chaland ~ $</span> vedette
</pre>
<h4>PC sous Windows et Macs</h4>
<p> On trouve du SSH pour Windows:
<a href="http://www.zip.com.au/~roca/ttssh.html"><code>http://www.zip.com.au/~roca/ttssh.html</code></a>.
</p>
<p>
Sur un Macintosh, on peut télécharger un programme pour SSH (qui fait
aussi telnet):
<a href="http://www.lysator.liu.se/~jonasw/freeware/niftyssh/"><code>http://www.lysator.liu.se/~jonasw/freeware/niftyssh/</code></a>.
</p>
<h3>Comment fonctionne SSH?</h3>
<p>
La première fois que vous vous connectez depuis une machine A vers une
machine B, A va relever la «signature» de B, et vous demander si vous
l'acceptez. Si vous vous connectez sous Unix, il faut pour ça taper «yes»
en toutes lettres. Les fois suivantes, A se contentera de comparer la
signature de B avec celle qu'elle connaît, pour vérifier l'authenticité.
</p>
<p>
À noter, pour l'École: comme les signatures sont gardées dans un fichier
sur votre compte, le fait de connaître une machine donnée est commun à
toute une salle (mais pas le fait d'être connue).
</p>
<h4>Clés</h4>
<p>
SSH connaît un mécanisme de clés un peu compliqué, mais très
pratique à la longue. À la base, on a un programme, <code>ssh-keygen</code>
(générateur de clés de SSH). Ce programme crée deux fichiers, qui contiennent
respectivement une clé publique et une clé privée.
</p>
<p>
La clé privée est secrète, et doit être gardée jalousement. Elle reste
sur la machine A.
</p>
<p>
La clé publique n'est pas particulièrement secrète, mais il n'est pas non plus
utile de l'exposer au grand jour. Pour s'en servir, il suffit de mettre la clé
publique au bon endroit sur une machine, et quiconque a la clé privée peut s'y
connecter. Elle se trouve donc sur la machine B, et en fait partout où vous
voulez vous connecter. En outre, la clé privée peut être elle-même dotée d'un
mot de passe (<em>passphrase</em>).
</p>
<p> En pratique, on commence par lancer <code>ssh-keygen</code> sur la
machine A, et on bouge la souris jusqu'à ce qu'il ait fini<a
name="text7" href="#note7"><sup>7</sup></a>.
</p>
<p>
Il nous demande alors le nom d'un fichier où sauver les clés nouvellement
créées. Par défaut, il propose <code>~/.ssh/identity</code>. Si vous ne comptez
utiliser qu'une clé publique (qui peut servir sur plusieurs ordinateurs),
c'est un nom pratique. Il demande également une passphrase pour la clé.
La passphrase est en théorie nécessaire à chaque fois qu'on utilise la
clé, mais nous verrons un peu plus loin comment alléger ça. On peut
aussi ne pas mettre de passphrase du tout.
</p>
<p>
Quand c'est fini, <code>ssh-keygen</code> écrit la clé privée dans le
fichier <code>~/.ssh/identity</code>, et la clé publique dans le fichier
<code>~/.ssh/identity.pub</code> (ou tout autre paire de noms formée de la même
manière que vous auriez indiquée). Chacun de ces fichiers contient en
fait une longue ligne de texte.
</p>
<p> Pour vous loguer avec SSH sur la machine B, il suffit d'ajouter le
contenu de <code>identity.pub</code> de la machine A dans le fichier
<code>~/.ssh/authorized_keys</code> de la machine B. Attention à ne pas
laisser ce fichier en lecture libre pour le reste du monde (voir le
numéro 4 du Hublot: <a
href="&url.tuteurs;docs/hublot/hublot04.html#concept"><code>/tuteurs/docs/hublot/hublot4.html#concept</code></a>).
</p>
<p>
Vous pouvez maintenant vous loguer sur la machine B en tapant
<code>ssh clipper.ens.fr</code>. SSH vous demande votre passphrase, à moins
que vous n'en ayez pas mis.
</p>
<h4>Se simplifier la vie avec l'agent SSH</h4>
<p> Pour simplifier ces
histoires de clés, et de mots de passe, il existe quelque chose qui
s'appelle l'agent SSH. C'est un programme, <code>ssh-agent</code>, qui tourne
en arrière plan sans déranger personne. Quand SSH a besoin d'une clé,
il la lui demande d'abord, vous n'avez donc pas à l'indiquer
explicitement. En outre, vous ne tapez qu'une seule fois votre
passphrase.</p>
<p>
Ceci est un peu abstrait, voyons d'abord comment lancer ce fameux client
SSH. Si vous avez la config conscrits 2000, <code>ssh-agent</code> est
déjà lancé quand vous vous loguez physiquement sur une machine du réseau
élèves. Si vous n'avez pas cette config, il faut alors modifier le fichier
<code>.profile</code>: cherchez une ligne disant <code>exec $STARTX</code>, et
insérez: <code>exec ssh-agent $STARTX</code> (mais récupérer la config conscrits
serait aussi une bonne idée). Ceci signifie qu'il restera actif tant que
<code>startx</code> continuera à tourner, ce qui veut dire jusqu'à ce que vous
partiez.</p>
<p>
Ensuite, tapez <code>ssh-add</code> pour fournir votre passphrase à l'agent
SSH. Tant que vous resterez logué, vous n'aurez plus besoin de fournir
cette passphrase; c'est l'agent SSH qui se charge de la donner lors de
vos connexions vers les machines B.
</p>
<p>
Si vous êtes conscrits 2000, éditez votre fichier <code>.xinitrc</code> et
<a href="#comment">décommentez*</a> cette ligne, en supprimant le dièse du début (cherchez cette
ligne vers la ligne 92):
</p>
<pre>
#sleep 3 &amp;&amp; ssh-add &lt;/dev/null &amp;
</pre>
<p>
Au moment où vous vous loguerez sur la machine A, celle-ci vous demandera
votre passphrase, et vous n'aurez plus rien à taper pour toutes vos
connexions.
</p>
<p class="auteur">Nicolas George</p>
<h2>
Lexique</h2>
<dl>
<dt><a name="comment"><strong>(Dé)commenter</strong></a></dt><dd>
Quand vous écrivez un texte, vous voulez pouvoir
mettre des commentaires personnels, et qui seront «invisibles». Par exemple,
vous écrivez un programme, et vous mettez des commentaires comme «À
optimiser», ou «Ici l'utilisateur entre ses données». Il faut donc pouvoir
distinguer les lignes qu'un logiciel va interpréter, des lignes qu'il ne doit
pas interpréter. <br />
Pour cela, on les fait commencer par un caractère spécial. En
LATEX, les lignes de commentaires commencent par un
<code>%</code>, en HTML les commentaires sont insérés entre
<code>&lt;!--</code> et <code>--&gt;</code>. Dans les fichiers de
configuration qui indiquent la taille de vos fenêtres, leur couleur, etc,
les lignes de commentaires commencent le plus souvent par <code>#</code>
ou <code>"</code>.<br />
En ce sens, «commenter une ligne», c'est mettre l'un de ces signes au début;
elle deviendra «invisible» pour le logiciel qui lira le fichier.
«Décommenter une ligne», c'est ôter le signe en question; elle sera à nouveau
visible pour le logiciel.</dd>
<dt><a name="pilote"><strong>Pilote</strong></a></dt><dd>
«Pilote de périphérique» est la traduction de l'anglais
<em>driver</em>. C'est un morceau de système d'exploitation dont le travail est
de faire la traduction entre une pièce de matériel donnée et le reste du
système. Les pilotes pour Windows gérant un matériel d'extension sont souvent
fournis avec ce matériel sur un CDROM ou une disquette spécifique.
</dd></dl>
<div class="encadre">
<p>
Le Hublot est le journal des tuteurs informatiques de l'ENS. Il
paraît chaque mois à 350 exemplaires. Il est également disponible sur le Web:
</p>
<p>
Rédaction: Émilia Robin.
</p>
<p>
Ont collaboré à ce numéro: Jacques Beigbeder, Nicolas George, David Madore,
David Monniaux, Thomas Pornin, Laurent Rineau, Olivier Verzelen.
</p>
<p>
Merci à Nicolas Thiéry pour ses relectures.
</p>
</div>
<hr />
<dl>
<dt><a name="note1" href="#text1">1</a></dt><dd> Peut-être
qu'un jour ça n'échappera pas à mon compte en banque.</dd>
<dt><a name="note2" href="#text2">2</a></dt><dd> Ce qui met la parole divine en-dessous du prix d'un
unique Carambar -- signe des temps.</dd>
<dt><a name="note3" href="#text3">3</a></dt><dd> Certaines imprimantes impriment une ligne de gauche à
droite, la suivante de droite à gauche etc..., suivant un mouvement
boustrophédonique, et ce afin d'économiser le temps d'un retour du
chariot.</dd>
<dt><a name="note4" href="#text4">4</a></dt><dd> Une police mono-espacée est une police dont tous
les caractères ont la même largeur, comme sur les machines à écrire.</dd>
<dt><a name="note5" href="#text5">5</a></dt><dd> C'est en 2001
la salle informatique du département de philosophie, pavillon
Pasteur.</dd>
<dt><a name="note6" href="#text6">6</a></dt><dd> Si vous ne comprenez rien à ce paragraphe, n'oubliez pas
que les tuteurs sont là pour vous faire un cours particulier à la
demande.</dd>
<dt><a name="note7" href="#text7">7</a></dt><dd> Le mouvement de la
souris introduit des éléments assez aléatoires dans l'ordinateur, qui
améliorent la solidité de la clé; mais pour une machine en réseau, c'est
superflu.</dd>
</dl>
<div class="metainformation">
<p>
Ce document a été traduit de LaTeX par hevea puis passé en XHTML 1.0
Strict par Joël Riou le 2002-11-14.
</p>
</div>
</body>
</html>