# Numéro 11 -- Janvier 2001

Le premier stage info de l'année a lieu les 16, 17 et 18 février 2001. Pour tous les détails, voir en page ??. On avait annoncé un cours sur PGP: en l'absence de rédacteur, c'est annulé... Si ça vous intéresse, vous pouvez toujours aller voir cette page: `http://www.eleves.ens.fr:8080/home/madore/misc/best_of_GroTeXdieck/PGP` À part ça, le Hublot est aussi tout fier d'étrenner sa classe de document `hublot`, écrite par Nicolas George et Florent Hivert, qui automatise plein de choses et permet d'écrire «Hublot» comme des pros! Comme dans chaque numéro, les conseils de lecture et les bonnes adresses:

- On suppose que toutes les références à notre site ont une adresse qui commence par `http://www.eleves.ens.fr/`
- Les mots suivis d'un astérisque* renvoient au lexique en fin de numéro.
- Vous pouvez retrouver les anciens numéros du Hublot sur notre site: `http://www.eleves.ens.fr/tuteurs/hublot/`

Nous sommes toujours à votre disposition pour toutes questions et suggestions: `tuteurs@clipper`. Vous pouvez aussi mettre un mot dans le casier de Marie-Lan Nguyen. Enfin, n'oubliez pas que quand vous tapez `qui`, les tuteurs ont leur nom souligné: n'hésitez pas à nous solliciter!

## Comment... calculer

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 présente les différentes sortes de calculs, et les logiciels existants.

### Les différents types de calcul

Selon le type de calculs que vous faites, vous aurez recours à des logiciels différents. Pour des opérations élémentaires, vous avez besoin de calculatrices, équivalentes aux calculatrices de bureau, dont elles adoptent d'ailleurs la présentation. Il existe aussi des logiciels de calcul numérique en mode texte, ainsi que des tableurs pour certains cas. Enfin, les langages de programmation comme le C ou le Perl permettent d'écrire des petits programmes pour analyser vos données (statistiques, etc).

Les logiciels de calcul numérique travaillent uniquement sur des nombres réels ou complexes (par exemple: 45, 1,456), le plus souvent approchés en machine en virgule flottante. Le calcul numérique est utilisé pour simuler des phénomènes naturels (ex: météorologie, résistance d'édifices...).

Faire des calculs en virgule flottante veut dire que l'on fait une approximation des nombres réels en machine en gardant «un certain nombre de chiffres après la virgule». La virgule est alors rendue flottante, c'est-à-dire qu'on la place au niveau du premier chiffre significatif et que l'on ajoute un exposant (ex: 1 milliard équivaut à 1· 109). La perte de précision est ainsi relative au nombre manipulé.

Il existe aussi des logiciels qui savent faire des calculs exacts, et même se débrouiller avec des variables. Ce sont des logiciels de calcul formel (ou symbolique). Ceux-ci font des calculs sur des objets algébriques contenant éventuellement des inconnues (polynômes, etc...); par exemple: cos(x+y).

### Calculatrices

#### Calculatrices à la souris

Il y a `xcalc` et `kcalc`. Ce sont de petits programmes qui se présentent comme une fenêtre imitant une calculatrice, avec ses touches et son écran. Pour les lancer, il suffit de taper leur nom. Les conscrits 2000 trouveront `kcalc` dans le sous-menu `Utilitaires` du menu de fond d'écran. Les autres ont `xcalc`.

- `xcalc` est installé sur toutes les machines Unix, stations Sun et PC Linux. Pour le quitter, mettre le curseur sur la fenêtre de la calculatrice et taper `q`.
- `kcalc` n'est pas installé sur les PC Linux (c'est en fait un lien vers `xcalc`). Il est plus joli et plus complet, et aussi plus lourd, que `xcalc`. Pour le quitter, une fois n'est pas coutume, il faut sélectionner `Fermer` dans le menu de la fenêtre.

Il est possible de faire un copier-coller depuis les calculatrices (cliquez avec le bouton gauche pour sélectionner, collez avec le bouton du milieu1. Avec `kcalc`, on peut aussi faire du copier-coller vers la calculatrice (coller le nombre avec le bouton du milieu dans l'écran de la calculatrice).

#### Calculatrice en mode texte

Il s'agit ici de `bc`, qui se lance dans le terminal, sans nouvelle fenêtre (donc y compris quand quand vous êtes connecté depuis l'extérieur par telnet ou SSH). C'est un logiciel austère, mais très pratique quand on veut faire des opérations rapidement. Lancez-le avec l'option `-l` pour avoir des chiffres après la virgule, et avec l'option `-q` pour vous épargner le texte de copyright. Pour le quitter, tapez `^D`.

Ensuite, vous tapez littéralement vos opérations (espaces indifférents), et vous appuyez sur Entrée pour avoir le résultat :

    brick ~ $ bc -lq
    34 * (2+1)
    102

Pour les nombres décimaux, on met un point et pas une virgule. Les opérateurs sont les suivants:

`+` | (addition)
`-` | (soustraction)
`*` | (multiplication)
`/` | (division)
`^` | (exposant)
`%` | (modulo)
`s(``n``)` | (sinus de n)
`c(``n``)` | (cosinus de n)
`a(``n``)` | (arctangente de n)
`l(``n``)` | (logarithme de n)
`e(``n``)` | (exponentielle de n)
`sqrt(``n``)` | (racine carrée de n)

Vous pouvez utiliser des variables pour conserver des résultats en mémoire, et les réutiliser plus tard:

    brick ~ $ bc -lq
    a = (3+4)/2
    b = 5
    c = a + b
    print a
    3.50000000000000000000
    print b
    5
    print c
    8.50000000000000000000

#### Petits utilitaires

Si vous utilisez régulièrement `bc`, nous vous conseillons de le lancer avec l'utilitaire `ile` (input line editor), un petit logiciel qui permet l'édition de la ligne de commande. Ça veut dire que vous pouvez utiliser les flèches pour remonter dans les opérations que vous avez tapées auparavant, ou pour vous déplacer dans celle que vous êtes en train d'écrire. Pour ce faire, tapez:

    brick ~ $ ile bc -lq

Le reste est inchangé. Il existe aussi `ledit` (line editor), qui s'utilise exactement de la même façon, et semble plus efficace, mais plus lourd. Ce type de logiciel s'utilise avec des logiciels interactifs en mode console, comme `civserver`.

### Calcul numérique programmé

Ce sont des logiciels destinés à réaliser simplement des programmes de calcul numérique: résolution d'équations, manipulation de grosses matrices, optimisation, résolution de systèmes linéaires ou non linéaires, traitement de signal. L'utilisateur peut y programmer des applications complètes, avec éventuellement une interface graphique (cartes, coupes...).

Matlab
  Logiciel commercial de calcul numérique, avec une très jolie interface, et qui possède plein de fonctions pour l'analyse de donnée. On n'a que eux licences sur l'École, ce qui veut dire que seules deux personnes peuvent le lancer simultanément. On le lance avec la commande `matlab`.
Scilab
  Clone libre* du précédent, développé par l'INRIA, un peu moins puissant que MatLab, paraît-il. Se lance avec `scilab`, ou `scilab -nw` en mode texte. `http://www-rocq.inria.fr/scilab/`

Il existe aussi GNU Octave (`http://www.octave.org/`), un autre clone libre de Matlab.

### Calcul formel

Maple
  (MAths with PLEasure) Logiciel commercial de calcul formel (mais capable de faire aussi du calcul numérique), avec une belle interface graphique. Il est utilisé en taupe, et apprécié des mathématiciens. Il a une sortie LATEX. On le lance avec `xmaple`, ou `maple` en mode texte. `http://www.maplesoft.com/`
Mathematica
  Logiciel commercial, très semblable à Maple dans ses fonctionnalités (et capable de faire du calcul numérique); les physiciens l'apprécient. Il est plus puissant que Maple, mais aussi plus difficile à utiliser. En revanche, son aide est très bien faite.
  Il n'est installé que sur pirogue, en salle T15 (logiciel cher: 12 000 francs prix normal, 75$ pour la version étudiante). On le lance en tapant `mathematica`. Le site Web correspondant est `http://www.wolfram.com/`
MuPAD
  (Multiprocessing Algebra Data Tool) mupad, xmupad. Mupad serait libre* si l'université allemande qui l'héberge n'avait pas coupé les crédits au labo. Il a l'avantage d'être disponible gratuitement pour les étudiants, les enseignants et les chercheurs. On le lance avec `xmupad`, ou `mupad` en mode texte. `http://www.mupad.de/`

Il serait très difficile d'en dire plus sans dépasser largement le cadre de cet article. De toute façon, vous ne risquez absolument rien à essayer tout et n'importe quoi avec ces logiciels.

### Autres

#### Les tableurs

Les tableurs permettent de faire rapidement des tableaux de calculs, en mettant en page les résultats. Nous avons deux tableurs sur les stations, intégrés à StarOffice (`soffice`) et ApplixWare (`asterix`). Avec StarOffice, on le lance en choisissant «Nouveau classeur»; avec ApplixWare, on clique sur le bouton à carreaux (bouton du milieu). Ces deux logiciels sont capables d'importer des fichiers Excel.

Ce genre d'applications est censé être facile à utiliser. Tout ce qu'il faut savoir, c'est que les cases acceptent du texte, des nombres et des formules. Les formules seront automatiquement tenues à jour quand les cases dont elles dépendent changent. Il est possible de copier une formule d'une case à une autre (en particulier dans toute une colonne), et dans ce cas, les références aux autres cellules sont déplacées également.

#### `gnuplot`

C'est un logiciel libre* pour tracer des graphes, avec des sorties dans un tas de formats. Le «gnu» du nom n'est pas une référence au projet GNU*. On le lance en tapant `gnuplot`. `http://www.gnuplot.org/`

## Internet

Ce mois-ci, on papote sur Internet: vous trouverez une présentation des news (les groupes de discussion mondiaux), une explication de ce qu'est la «modération», et vous apprendrez comment poster dans le forum des élèves.

### Les news

Il existe divers moyens de papoter sur Internet, soit de manière synchrone (ICQ, IRC, les chats divers et variés), soit de manière asynchrone (courrier électronique, news). Les news sont des groupes de discussion thématiques, exactement comme le forum des élèves, à ceci près que forum est interne à l'ENS, tandis que les news sont mondiales... Ce qui suit est une présentation succinte, pour les détails, nous vous renvoyons à notre site: `/tuteurs/internet/news.html`.

#### Organisation

On va vous parler ici des news Usenet, qui n'appartiennent pas à des sociétés (il existe aussi des hiérarchies de news appartenant à des fournisseurs d'accès).

Les newsgroups ont un nom composé de plusieurs mots séparés par des points. Ces mots forment des hiérarchies à la fois thématiques et nationales. Si le nom ne commence pas par un préfixe «national», le groupe est anglophone: `comp.os.unix` est un groupe anglophone pour parler d'ordinateurs (computers), et plus précisément du système d'exploitation* (OS) Unix en anglais; `fr.comp.os.unix` parlera d'Unix en français.

Exemples de préfixes nationaux: `es` (espagnol), `it` (italien), `de` (allemand). Exemples de hiérarchies thématiques: `biz` (business), `rec` (loisirs), `soc` (questions de société).

Chaque groupe de discussion a une charte, qui dit précisément de quoi parle le groupe: `fr.education.divers` parle de pédagogie et d'enseignement, `fr.education.entraide` est fait pour pleurer qu'on ne sait pas faire sa dissert (et aider ceux qui pleurent). Le premier n'est donc pas censé accueillir des messages demandant de l'aide pour un devoir.

#### Logiciels

Il existe différents logiciels pour lire les news à l'ENS, principalement `trn`, `slrn`, `flrn` (logiciels en mode texte), et `knews` (logiciel graphique en français).

Si vous n'avez jamais lu les news, c'est sans doute `knews` qui vous semblera le plus intuitif. C'est d'ailleurs lui qui se lance quand vous cliquez sur le bouton «News» de la config conscrits. Cliquez sur «Tous les groupes» pour afficher la liste des groupes auxquels l'École est abonnée. Ensuite, pour lire un groupe, sélectionnez son nom avec la souris et cliquez sur «Aller groupe». Les titres des différentes enfilades s'affichent dans le cadre du haut; sélectionnez-en une et cliquez sur «Voir enfilade» pour voir les messages qui se répondent. Ensuite, vous pouvez lire les messages:

Pour quitter, cliquez sur le bouton «Retour», jusqu'à ce qu'il devienne «Quitter», et cliquez sur «Quitter».

#### Usages

Les règles de politesse du courrier électronique s'appliquent encore plus sur les news: réfléchissez avant de répondre, ne citez que les parties intéressantes du message auquel vous répondez, en éliminant les lignes inutiles2, restez courtois, ne faites jamais d'insultes ad hominem, postez au bon endroit, et comme toujours, «Soyez exigeant pour ce que vous envoyez et tolérant pour ce que vous recevez». L'ensemble de ces usages s'appelle la Netiquette.

En règle générale, avant de vous mettre à poster dans les news, commencez par lire le groupe pendant quelques jours, pour vous faire une idée du ton et des interlocuteurs habituels. Et lisez les documentations et les FAQ disponibles à l'adresse suivante: `http://www.fdn.fr/aux/doc-misc/`

#### Mises en garde

Ne rêvez pas: les gens ne sont pas plus polis et plus réfléchis parce qu'ils postent «sur Internet». L'orthographe est souvent approximative, les discussions dégénèrent souvent, beaucoup de gens postent des messages hors-sujet par rapport au groupe, etc. 50% du trafic de `fr.soc.histoire` est constitué de batailles avec des négationnistes ou de débats sur des questions d'actualité sans rapport avec le but originel du groupe. Il faut donc apprendre à faire le tri...

Le mois prochain, on verra comment se connecter à distance avec telnet, par exemple pour lire son courrier.

### Qu'est-ce que la modération?

Voilà un mot bien étrange. Prenez quelqu'un au hasard, (non pas celui qui est en train de lire cet article par dessus votre épaule, ça ne marchera pas), et demandez ce que le mot modération lui évoque, et il vous parlera à coup sûr d'alcool. «À consommer avec modération»...

Pourtant quand on commence à s'intéresser un peu à Internet, ce mot réapparaît... Internet serait-il une annexe des Alcooliques anonymes? Non? (Quoi que...) Alors que doit-on consommer avec modération? C'est pourtant assez simple, ce que l'on doit consommer avec modération, c'est la liberté qui nous est offert par ce média de communication.

Qui n'a jamais entendu les mots Internet et Liberté mis côte à côte? Les média ne se gênent pas pour le faire. On a même un fournisseur d'accès qui s'est nommé Liberty Surf... Mais enfin, c'est bien beau tout ça, mais «Liberté», ce n'est qu'un mot, très fortement connoté certes, mais ça ne reste qu'un mot. Or un mot, sans rien de plus, ça n'est pas très lourd. Alors quelle est cette fameuse liberté? La principale liberté que nous offre Internet, c'est celle de publier sur un médium et d'avoir la possibilité d'être lu. Quand vous envoyez un courrier électronique à une liste de personnes, quand vous écrivez sur Usenet, quand vous mettez une page HTML en accès public, vous êtes publié. Mais ce faisant, vous court-circuitez toutes les instances de contrôle qui existent pour les autres média. Il n'y a pas de comité de relecture, il n'y a pas de CSA... Vous êtes en mesure de publier ce que vous voulez, c'est là qu'il y a liberté.

Maintenant, dans un monde idéal, on n'aurait guère besoin d'aller plus loin. Tout le monde serait responsable, publierait des informations utiles, et respecterait son interlocuteur. Je vais vous dire un secret, dans le monde qui nous entoure cela ne se passe pas comme ça.

Les raisons sont multiples. Que ce soit parce qu'une conversation dévie et sort du cadre dans laquelle elle a commencée, ou parce qu'un individu ne veut pas respecter les règles en vigueur, l'expérience montre que si on laisse faire, très rapidement on voit apparaître un nombre important de messages hors sujet sur le médium utilisé. Si il y a des endroits où l'on décide d'accepter ces hors-sujets, il y en a d'autres où l'on veut les éviter pour différentes raisons.

La modération sur Internet, c'est la réapparition d'un comité de relecture. C'est une atteinte à la liberté totale que nous vantent les média, mais c'est un moyen efficace d'assurer une certaine lisibilité à un médium qui ne l'est pas toujours sans cela.

#### À l'école

La modération apparaît sous différentes formes.

- Les courriers collectifs envoyés à `eleves@clipper` ou `tous@clipper` sont modérés par le SPI et par les gourous qui le souhaitent3. Il n'est pas souhaitable que ces adresses soient utilisées pour n'importe quel broutille (on a déjà vu un élève y envoyer des images de plus ou moins bon goût).
  En effet, un courrier électronique envoyé sur une de ces adresses est dupliqué en multiples exemplaires (un exemplaire par destinataire). Le jour où par ce fait il n'y a plus de place pour stocker de nouveaux courriers, plus personne ne peut en recevoir et ceux-ci sont tout simplement perdus.
- Quelques groupes de forum sont modérés: `ens.forum.bienvenue`, `ens.forum.annonces` et `ens.forum.syst.annonces`. Ces groupes sont censés être des groupes sérieux, sans hors-sujet:
  - `bienvenue` contient des messages d'aide et n'est accessible qu'en lecture (vous ne pouvez pas écrire dedans);
  - `annonces` a vocation à être à contenu très informatif;
  - `syst.annonces` accueille les annonces sur le système informatique.
  En pratique, quand vous voulez poster dans un des contis d'annonces, il y a un certain délai (quelques heures), le temps qu'un modérateur, élève bénévole, le traite.

Sur le forum, il existe un autre type de modération dans les groupes «sérieux» (tous sauf la hiérarchie `alt.`); c'est le blast. On en parlera au mois de mars dans la rubrique «Forum».

#### Ailleurs

Il existe en dehors de l'école d'autres supports qui sont modérés:

- Il existe des listes de diffusions (mailing-list) modérées.
- Sur Usenet, il existe un certain nombre de groupe modérés.

Le but de la modération est toujours le même: augmenter la qualité des messages échangés en stoppant le hors-sujet.

Benjamin Lerman

### Le forum: poster

Maintenant que vous savez lire forum, vous avez certainement envie de répondre à certains messages, de poser des questions, ou de faire vos annonces à votre tour. Pour cela, voici la marche à suivre:

1. Pour écrire un message, tapez «`m`» (comme «message»), suivi de Entrée;
2. L'écran se vide et n'affiche que le nom du groupe dans lequel vous vous trouvez, ainsi que «`Sujet:`. Tapez le sujet de votre message, puis Entrée;
3. Forum lance votre éditeur habituel (`pico`). Tapez votre message comme vous taperiez un courrier électronique. Pour finir, tapez `^X`, puis «`y`» pour sauvegarder le texte, et enfin Entrée (c'est `pico` qui veut ça).
4. Vous êtes au bout de vos peines: vous avez maintenant le choix entre «`P`» (poster), «`E`» (éditer: reprendre le texte du message) et «`A`» (annuler le message).

Pour répondre à un message, tapez «`R`» (grand R), puis Entrée. Forum lance votre éditeur sur le message auquel vous répondez, en le citant. N'oubliez pas de détruire les lignes inutiles, avec `^K`.

Si vous voulez poster pour vérifier que tout marche bien, donc sans dire quelque chose de précis, le conti adapté est `ens.forum.essais`, qui sert précisément à cela.

Le mois prochain, on présentera la Netiquette en usage sur forum.

David Madore, Émilia Robin

## En pratique

Cette rubrique porte sur l'utilisation pratique des machines Unix et de LATEX. Tout d'abord, on vous donne tous les détails sur la nouvelle version du programme `qui`, ainsi que sur l'utilisation de l'utilitaire `less`. On présente ensuite divers raccourcis clavier dans la partie «Config conscrits». Enfin, dans la partie LATEX, on explique comment régler la taille de la page.

### Mise à jour de `qui`

Le programme «`qui`» a récemment changé de version. Désormais, il est capable d'afficher également le nom de ceux qui sont connectés depuis les Macs via telnet, et de ceux qui travaillent sur les PC sous Windows. Le changement se traduit aussi par l'apparition de formes courtes pour les options (mais les versions longues sont toujours valides):

Version longue | Version courte
`-salles` | `s`
`-sallet` | `t`
`-46` | `4`
`-infi` | `i`
`-t15` | `p` (physique)
`-jourdan` | `j`
`-montrouge` | `m`

Les nouvelles options s'utilisent sans tiret devant. Vous pouvez aussi les omettre devant les options longues. `qui` sait maintenant afficher la liste des gens du rézo: l'option pour cela est `r` (ou `-rezo`). Si vous avez une machine sur le rézo et que vous voulez apparaître sur la liste, ou pouvoir consulter «`qui`» sur votre machine, récupérez-le ici:
`http://www.eleves.ens.fr/home/plut/qui-5.0.tar.gz`

Si vous avez une config conscrits 98 ou antérieure, il est possible que vous ayez des problèmes d'affichage (affichage en noir et blanc). Dans ce cas, réparez votre config, soit en récupérant une config conscrits 2000 complète (tapez `configuration --get`), soit à la main, en remplaçant dans le fichier `.Xresource` de votre compte la ligne

    XTerm*termName:               xterm

par:

    XTerm*termName:               xterm-color

Pour toutes les options de `qui`, tapez `qui -help`, ou consultez la page de man (`man qui`). Pour toutes remarques ou suggestions, n'hésitez pas à m'écrire: `plut@clipper`.

Jérôme Plût

NDLR: ce programme, développé en interne à l'École, a été à l'origine créé par Marc Espie, et développé par Joël-Yann Fourré. Jérôme Plût l'a intégralement réécrit, et mis sous licence GPL*.

### Commandes utiles: `less`

On a présenté les éditeurs de textes dans le numéro 8 du Hublot (octobre 2000). Ceux-ci servent à modifier un texte, mais il y a des cas où vous voulez juste regarder un fichier, sans le modifier. Pour cela, on utilise souvent un visualisateur de textes (pager en anglais). Le plus courant est `less`. C'est également `less` qui est utilisé pour regarder les pages de man*.

Pourquoi ce nom? À l'origine il y avait le programme `more`, pour en savoir davantage sur un fichier. Une version plus évoluée a été faite, qu'on a appelée `less` par analogie. Dans certains endroits, vous n'aurez que `more` à disposition. Si vous avez le choix, utilisez `less`.

#### Utiliser `less`

On utilise `less` sur un fichier de la même façon qu'un éditeur; par exemple, pour regarder le contenu du fichier `commentaires.txt`, vous taperez:

    brick ~ $ less commentaires.txt

Un certain nombre de commandes sont disponibles, y compris pour lancer un éditeur sur le texte, ou manipuler plusieurs fichiers. Voici les commandes vraiment indispensables:

`q` | Quitter
`SPC` | Avancer d'une page
`^F` | Avancer d'une page (forward)
`^B` | Reculer d'une page (backwards)
`p` | Revenir à la première ligne
`/``mot` | Chercher le mot
`n` | Aller à la prochaine occurence de mot
`N` | Aller à la précédente occurence de mot

Pour en savoir plus, consultez le cours (`/tuteurs/unix/fichiers.html#less`) et faites les exercices (`/tuteurs/unix/exercices/less.html`). `less` sert à regarder le contenu des fichiers texte, quels qu'ils soient (du texte simple, du RTF, du PostScript, des PDF, etc); il vous montre ce que contient réellement le fichier, sans rien interpréter ni mettre en page. C'est utile pour regarder rapidement ce que contient un fichier, sans lancer de gros logiciels, ou bien pour savoir à quoi ressemblent du RTF ou du PDF «en dessous» du logiciel.

En revanche, ne cherchez pas à afficher le contenu de fichiers binaires (la plupart des fichiers d'images, sons, fichiers compressés par exemple), ils n'utilisent pas la table de caractères ASCII, en un mot c'est illisible.

Utilisez un traitement de textes comme ApplixWare (`asterix`) pour afficher du RTF, Acrobat Reader (`acroread`) pour du PDF et Ghostview (`gv`) pour du PostScript. Pour les images, utilisez `xv`.

Le mois prochain, on verra comment lancer un long calcul sur une machine (`screen`).

### Config conscrits: raccourcis clavier

Dans cette partie, on aborde ce mois-ci les raccourcis claviers utiles de la config conscrits. Ce sont des exemples d'options très pratiques qui ont été activées dans cette config pour faciliter la vie aux utilisateurs; vous ne trouverez pas forcément ces raccourcis sur d'autres sites.

#### Notations

Il existe un certain nombre de notations conventionnelles pour désigner les touches du clavier:

`TAB` | La touche de tabulation, au dessus du `Shift` gauche.
`SPC` | La barre d'espace.
`M-i` | La touche `Méta` (losange noir de part et d'autre de la barre d'espace), associée à la lettre `i` minuscule. Se lit «méta i».
`^C` | La touche `Control` (en bas du clavier à gauche et à droite), associée à la touche `c` (par convention, on écrit la lettre en majuscule). Se lit «control C».
`alt-B` | La touche `Alt` (à gauche du `Méta`), associée à la lettre `b` (même convention de notation que pour `Control`).

#### Dernières commandes tapées

Les flèches (entre le clavier proprement dit et le pavé numérique) permettent de remonter dans les dernières commandes tapées. C'est pratique par exemple quand vous faites du LATEX, et que vous ne voulez pas retaper la ligne à chaque fois.

#### Complétion

La touche `TAB` permet de compléter le nom d'un fichier dont vous avez tapé les premières lettres:

    brick ~ $ ls
    annexes.tex  rapport_1999.tex  resume.tex
    brick ~ $ nedit ra<TAB>pport_1999.tex

Si plusieurs fichiers commencent par les mêmes lettres, les noms sont proposés les uns après les autres.

#### Écrans virtuels et fenêtres

Pour vous déplacer entre les écrans virtuels à l'aide du clavier, utilisez les flèches du pavé numérique en appuyant simultanément sur la touche `Méta`.

Pour aller de fenêtre en fenêtre, utilisez `Méta-TAB` (appuyez sur `Méta` et `TAB` en même temps).

#### Claviers bloqués

Lorsque les claviers des stations font «bip» et que l'écran reste noir, taper `^W` vide le buffer du-dit clavier, qui redevient opérationnel.

Dans d'autres cas, ça ne bippe pas et l'écran reste noir. Il faut alors débloquer le clavier à distance, en se loguant sur la machine en question, et en tapant `kbd_mode -a` (remettre le clavier -- KeyBoarD --- dans le bon mode).

Le mois prochain, on verra comment modifier sa configuration avec le programme `configuration`.

### LATEX: régler la taille de la page

Si on ne lui dit rien, LATEX met des marges démesurées: en fait, il centre sur la page le texte sur un format de l'ordre de celui d'un livre, ce qui en général ne convient pas du tout. En outre, LATEX est d'origine américaine, et aux États-Unis le papier n'a pas un format A4 (21 × 29,7 cm), mais 21,6 × 27,9 cm (8,5×11 pouces). C'est le cas aussi au Canada, mais leur format n'est ni A4 ni américain.

En fait, le format A4 est une standardisation de l'ISO (International Standard Organisation), sous le doux nom de «standard ISO 216».

#### Choisir le format du papier

Si vous utilisez du papier américain, ne précisez rien; si vous voulez être vraiment sûr que c'est cette taille que LATEX va prendre en compte, utilisez l'option de classe `letterpaper`:

    \documentclass[letterpaper]{article}

Attention: si vous devez envoyer un PostScript d'un fichier LATEX à un Américain, imprimez-le avec la ligne suivante, pour que les lignes du haut ne soient pas coupées4:

    brick ~ $ dvips -t letter chalala.dvi -o chalala.ps

Si vous utilisez du papier A4, vous pouvez l'indiquer comme option de classe:

    \documentclass[a4paper]{article}

Ou alors, vous pouvez charger le package `a4`:

    \usepackage{a4}

En fait, ce package redéfinit un certain nombre de dimensions, davantage que l'option de classe. Il se peut aussi qu'il soit considéré comme obsolète.

#### Structure d'une page

Il y a plus de dimensions dans une page que n'en rêve votre philosophie:

Voici à quoi correspondent ces lettres:

a | Marge de gauche
b | Marge du haut
c | Marge de droite
d | Marge du bas
e | Espace à gauche
f | En-tête
g | Espace à droite
h | Pied de page

Les «espaces à gauche et à droite» sont l'endroit où l'on met les notes de marge (commande `\marginpar{``texte``}`). Dans l'en-tête, on trouve les titres de sections courantes (quand on met `\pagestyle{headings}` dans le préambule); dans le pied-de-page, on trouve le numéro de la page. En revanche, les notes de bas de page sont en bas de l'espace réservé au texte.

#### `vmargin`

Ce package a été développé par Volker Kuhlmann (université de Canterbury). C'est une première solution pour régler la taille de la page. Dans le préambule du document, utilisez la commande `\setmarginsrb` avec la syntaxe suivante (les lettres correspondent aux dimensions dont nous venons de parler):

    \setmarginsrb{a}{b}{c}{d}{e}{f}{g}{h}

`vmargin` est facile à utiliser. Il a l'inconvénient (ou l'avantage, selon les cas), de ne pas tenir compte des spécifications sur la taille du papier. Pour le moment, le Hublot l'utilise, avec les valeurs suivantes (comprendre: des marges de 1,5 cm partout, et 1 cm en bas de page pour le numéro de la page):

    \setmarginsrb{1.5cm}{1.5cm}{1.5cm}{1.5cm}{0cm}{0cm}{0cm}{1cm}

#### `geometry`

Ce package a été développé par Hideo Umeki (Japon). C'est une autre solution pour régler la taille de la page, avec l'avantage de se rappeler quand on a dit qu'on voulait du A4.

Attention: pour le moment, la version de `geometry` installée par le SPI est vieille, et ne marche pas ainsi. Elle sera bientôt remise à jour. Vous avez deux solutions:

1. Ne pas l'utiliser pour le moment, et vous tenir au courant des installations (forum `tex`, `syst.annonces`).
2. L'utiliser en tapant la ligne suivante avant la première compilation de votre fichier:

       export TEXINPUTS=/usr/local/util/tex/inputs//:

   Le répertoire `/usr/local/util/` est le répertoire où sont installés les programmes des gourous*.

Pour utiliser `geometry`, on indique entre crochets les valeurs et les options souhaitées:

    \usepackage[valeurs]{geometry}

Voici les options les plus communes (`dimension` désigne ici une longueur, indiquée avec son unité: `cm`, `mm`, `pt`...):

`left=``dimension` | : | marge de gauche
`right=``dimension` | : | marge de droite
`top=``dimension` | : | marge du haut
`bottom=``dimension` | : | marge du bas

Comme on l'a dit, l'en-tête est le texte figurant éventuellement en haut de page (titre de la section en cours, numéro de page, etc). Le «corps», c'est le corps du texte:

`head=``dimension` | : | taille de l'en-tête
`headsep=``dimension` | : | espace entre l'en-tête et le corps
`nohead` | : | équivaut à `head=0pt, headsep=0pt`

Le pied de page contient généralement le numéro de page; le Hublot y met également la référence du numéro que vous avez dans les mains.

`footskip=``dimension` | : | Espace avant le pied de page
`nofoot` | : | équivaut à `footskip=0pt`
`noheadfoot` | : | équivaut à `nohead, nofoot`

Il faut préciser si on veut des notes de marge ou pas. Par défaut, les notes de marge sont à droite du texte. Si le document est prévu en recto-verso (option de classe twoside), l'option `reversemp` mettra les notes de marge du côté de la pliure du papier. Le «`mp`» de ces options veut dire «margin paragraph».

`includemp` | : | active les notes de marge
`reversemp` | : | active les notes de marge, de l'autre côté
`marginparwidth=``dimension` | : | largeur des notes de marge
`marginparsep=``dimension` | : | espace entre le corps et les notes de marge

Pour un document simple (classe `article`), qui prenne «toute la page», on peut utiliser les valeurs suivantes (vous pouvez laisser de l'espace après les virgules):

    \usepackage[left=1.5cm,right=1.5cm,top=1cm,bottom=2cm,nohead]{geometry}

En réglant la taille de la page, rappelez-vous toutefois que l'oeil humain a du mal à suivre une ligne de texte si celle-ci est trop longue, c'est-à-dire généralement au delà de 80--90 caractères par ligne (espaces inclus).

#### Autre méthode

Il est possible de fixer toutes ces dimensions en manipulant directement les dimensions de LATEX (avec des `\setlength\``dim``\``valeur`) pour toutes les dimensions. C'est une méthode plus compliquée, plus difficile et plus précise, dont nous ne parlerons pas ici.

Le mois prochain, on expliquera comment insérer des images.

## Qu'est-ce qu'un ordinateur? (4)

Ce cours explique progressivement ce qu'est un ordinateur. Le mois dernier, on a vu à quoi servait le processeur. Ce mois-ci, Thomas explique comment fonctionnent l'écran, le clavier et la souris.

### Le singe préfère la voiture rouge

Il est de l'informatique comme de beaucoup d'autres domaines: quels que soient les mérites d'un quelconque système, il se doit de les afficher dans une sarabande pyrotechnique digne de Jean-Michel Jarre. C'est particulièrement frappant quand on va au cinéma: les ordinateurs qui y sont représentés sont toujours prompts à faire virevolter des images tridimensionnelles aux moments les plus inappropriés. Les terminaux texte en vert sur noir, et les touches de clavier qui font tic-tic, sont réservés aux systèmes «professionnels», donc spartiates, forcément.

Donc l'ordinateur, qui il y a un demi-siècle était gros comme un immeuble et ne communiquait que par une série de boutons et quelques cliquetis, est désormais surmonté d'une espèce de télévision, qu'on nomme aussi écran, ou moniteur. Ça ressemble a un banal écran de télévision, et d'ailleurs c'en est un. Bien que ce soit la partie la plus grosse du système informatique (après l'utilisateur), c'est aussi la plus bête (après l'utilisateur). On aurait tort d'y voir le siège de la pensée de la machine.

Fonctionnellement, c'est un tube en verre sous vide, avec un canon à électrons, pointé sur la tête de l'humain qui le regarde. Le canon, comme son nom l'indique, envoie des électrons à grande vitesse; diverses bobines électromagnétiques dévient ces électrons pour les faire frapper des endroits bien précis d'un substrat fluorescent déposé sur une surface de verre. Tout cet assemblage va en fait illuminer successivement tous les points de l'écran, en balayant de gauche à droite et de haut en bas; afin de blouser l'humanoïde qui regarde la chose, le balayage est reproduit plusieurs fois par seconde, genre 70 fois, en tous cas trop vite pour que l'oeil humain puisse suivre. Du coup, on voit une image fixe.

Pour former l'image, l'ordinateur envoie, de façon synchronisée avec le balayage, l'intensité lumineuse de chaque point, c'est-à-dire la puissance de tir du canon. Pour être précis, il y a trois canons, qui vont frapper des points teintés en rouge, vert ou bleu, ce qui permet de fabriquer de subtils mélanges, qui donnent une image en couleurs.

Dans l'ordinateur lui-même, il y a un processeur dédié, qui gère une certaine mémoire qui maintient la couleur de chaque point, et qui joue le rôle de l'hortator; on l'appelle occasionnellement carte graphique. À cause de restrictions sur la taille de cette mémoire et le degré de finesse de ce processeur, la machine ne peut envoyer sur l'écran qu'un nombre limité de points différents (qu'on appelle pixels), couramment de l'ordre d'un million, et est parfois limitée dans le nombre de couleurs différentes qu'elle peut afficher simultanément.

Il existe d'autres types d'écrans, tels que les écrans à cristaux liquides (LCD) ou à plasma, qui permettent d'obtenir de meilleures images et un encombrement réduit (pratique, pour un ordinateur portable) à des prix inversement proportionnels à l'épaisseur de l'engin, et donc astronomiques.

### Vise la tête et frappe fort

L'être humain est un éternel insatisfait, parfaitement contradictoire dans ses actions et ses décisions. Il possédait la télévision, et il a voulu la transformer en un système de communication bidirectionnel, où il pourrait également donner son avis à la machine. Ainsi, l'ordinateur fut doté de ce qu'on appelle des périphériques d'entrée; d'entrée parce qu'il s'agit de faire rentrer des données dans la machine, périphérique parce qu'il n'y a jamais de place de parking libre intra muros 5. De façon assez ironique, une fois en possession de ces périphériques, l'Homme Moderne6 n'aspire qu'à une chose, c'est de ne pas avoir à s'en servir.

Donc le clavier fut inventé. Comme son ancêtre à vocation musicale, il est constitué de touches, qu'il s'agit non pas de toucher mais de frapper; cependant, comprenons-nous bien, ce n'est pas un acte martial, et la frappe doit être aussi douce que le frottis du zéphyr sur les ailes du colibri. Sinon, vous défoncez le clavier et ça coûte un max à remplacer.

Quand on frappe (délicatement, j'insiste) une touche, le clavier envoie un signal, via le fil idoine, à la machine, indiquant qu'une touche à été enfoncée, et sa position. En effet, le clavier n'a pas la moindre idée de ce qui est gravé sur les touches, et l'ordinateur doit reconstituer la bonne lettre en fonction de sa position. À ce sujet, précisons que le placement abominable des lettres sur le clavier a été conçu pour ralentir la frappe (ça date du temps des machines à écrire mécaniques, qui se coinçaient facilement), et ceux d'entre vous qui ont essayé de taper un texte sur un ordinateur ont pu constater combien ce but était rempli avec succès. Cela fait du bien de voir le progrès en action.

Précisons enfin que contrairement à une croyance répandue, le clavier n'est pas supposé recevoir les éléments suivants: café, coca-cola, miettes de pain, bière, sang.

On remarque souvent, à droite du clavier, un boîtier rondoïde avec un fil; ce bloc de plastique a été baptisé après le nom d'un sympathique rongeur, la souris, cousin pas trop éloigné du campagnol et du mulot. En revanche, les musaraignes et les taupes sont une branche plus distinctes. Les éléphants aussi, mais je ne pense pas que vous confondriez, de toutes façons. La souris, donc, a pour particularité de détecter ses propres mouvements (alors que le clavier, par exemple, ne détecte rien du tout). Chaque fois qu'elle bouge, elle indique via son fil à l'ordinateur qu'elle a bougé; elle indique dans quelle direction, et sur quelle distance.

La plupart des souris possèdent cette faculté de repérage stérique grâce à une boule qui frotte sur le sol; vous pouvez apercevoir cette boule en retournant l'animal (ne vous inquiétez pas, ce n'est pas mortel pour lui). D'autres souris travaillent en optique, avec des diodes rouges, ça s'encrasse moins et ça fait ressembler le mulot à une chaussure Nike, autant dire que ça s'arrache dans les magasins, et qu'au bureau tout le monde en veut une.

Car décidément, le singe préfère la souris rouge.

Thomas Pornin

## Lexique

Gourous

  Les gourous sont un groupe d'élèves ou d'anciens élèves volontaires pour installer un certain nombre de logiciels sur les machines Unix, comme `pine`, `mutt`, `gnuplot`, `xfig`, `ytalk`, les éditeurs de texte, les jeux, les gestionnaires de fenêtres, des utilitaires comme `less`, `screen`, `ledit`...

  Ils s'occupent également, en collaboration avec le SPI, de la modération des courriers collectifs. Ce sont aussi les gourous qui font la config conscrits.

GNU

  C'est un acronyme qui veut dire «GNU's not Unix». Le projet GNU est un projet visant à écrire un système d'exploitation* libre* complet. Ses participants ont commencé par écrire un certains nombres de logiciels et d'utilitaires permettant le développement du système proprement dit (Hurd), dont la sortie est une arlésienne... En attendant, ces utilitaires existent (GNU emacs, GNUchess, `gzip`, des versions de `less`, `grep`, `tar`, etc).

  Les promoteurs du projet sont la Free Software Fundation (FSF), avec Richard Stallman à sa tête.

GPL

  General Public License. C'est une des licences de diffusion des logiciels libres*, notamment Linux et les utilitaires GNU. Un logiciel couvert par cette licence peut être utilisé, recopié, modifié, redistribué (gratuitement ou non) ou inclus dans un autre, à condition que le code source du logiciel avec ses modifications éventuelles soit tenu à la disposition de tout récipiendaire, aux termes de cette même licence.

  Le but de cette licence est de promouvoir le logiciel libre, en empêchant de réutiliser tout ou partie d'un logiciel sous GPL dans un logiciel qui ne le soit pas.

Libre

  Le terme s'oppose à «commercial». On peut diffuser, dupliquer et modifier un logiciel libre sans contraintes. Une caractéristique essentielle est que le logiciel est disponible et diffusé sous deux formes: la forme immédiatement exécutable, utilisable, et le code source qui contient les «secrets de fabrication» (le source est le programme proprement dit, tapé par le programmeur).

  «Libre» ne signifie pas «gratuit»: on peut vendre des logiciels libres. Dans ce cas, on paye le support (CD-ROM), le service après-vente, etc.

  Les logiciels libres sont diffusés sous diverses licences réglementant leur mode de diffusion. L'une des plus connues est la GPL*. `pine`, `mutt`, Linux, LATEX, `xv`, `gimp` (par exemple) sont des logiciels libres.

Man

  C'est une abréviation pour «manuel». Les pages de man sont les pages qui documentent un programme, ou une commande. Par exemple, pour connaître toutes les options de `ls`, tapez «`man ls`».

  Les pages de man sont des références, et pas des didacticiels. Elles sont donc souvent difficiles à lire, d'autant qu'elles sont en anglais. Dans les distributions francophones de Linux, un certain nombre de pages de man ont été traduites.

Système d'exploitation

  C'est le logiciel qui fait tourner l'ordinateur «en dessous» des applications dont se sert l'utilisateur (comme les logiciels de courrier, les traitements de texte), et en dessous de l'interface graphique. On dit aussi «OS» (operating system).

  Le système d'exploitation d'Apple pour Macs s'appelle MacOS, celui d'IBM pour PC s'appelle OS/2. Le système d'exploitation de Microsoft pour PC est DOS/Windows; à l'origine il n'y avait que le DOS, qui fut complété par Windows, interface graphique désormais complètement intégrée au système d'exploitation.

  Un autre type de système d'exploitation est le système Unix. Unix est en fait une famille qui comprend entre autres Solaris (Unix de la société Sun), AIX (Unix de la société Hewlett-Packard), Linux (Unix libre*, disponible gratuitement, et aussi commercialisé par des sociétés comme RedHat, SuSE, Caldera, Debian...), FreeBSD, OpenBSD et NetBSD (d'autres Unix libres), Hurd (Unix libre du projet GNU).

## Stage informatique

Le premier stage des tuteurs pour l'année 2000--2001 a lieu les 16, 17 et 18 février 2001. Son contenu a été décidé d'après les résultats du sondage de début d'année: LATEX à gogo, utiliser le forum des élèves, un cours magistral appuyé sur des transparents et des documentations photocopiées distribuées lors du stage. Les TP auront lieu en salle S; le cours de LATEX aura lieu dans une salle encore indéterminée:

Horaires | Thème | Observations
Vendredi 16 février, 20h30 | Utilisation des machines Unix | Manipulation des fenêtres, commandes de base, utilisation d'un éditeur de textes. Si vous ne connaissez pa ça et que vous voulez faire le stage LATEX, il faut absolument être là.
Samedi 17 février, 10h00 | Cours de LATEX | C'est un cours magistral avec transparents. On présentera le principe de ce logiciel, et les commandes principales. Ceux qui font un stage LATEX le samedi doivent obligatoirement y assister.
Samedi 17 février, 14h00 | LATEX pour débutants | Cette session s'adresse à ceux qui n'ont jamais fait de LATEX, ou bien n'ont rien compris en début d'année.
Samedi 17 février, 16h30 | Recyclage LATEX | Cette session s'adresse à ceux qui se souviennent du principe, de quelques commandes, mais qui veulent rafraîchir leur mémoire. On ne verra pas les maths à cette occasion.
Dimanche 18 février, 14h00 | LATEX pour scientifiques | Les maths et tout ce qu'il faut, pour les gens qui connaissent déjà les bases.
Dimanche 18 février, 16h30 | Outils associés à LATEX | BibTeX (bibliographies) et MakeIndeX (index), pour ceux qui connaissent déjà les bases.
Dimanche 18 février, 20h00 | Le forum des élèves | Comment lire forum et poster dedans.

Pour vous inscrire, envoyez un courrier électronique à `tuteurs@clipper`. Si vous avez du mal à déterminer votre niveau en LATEX, le test est simple: si les mots «compilation», «préambule», «fichier source», «environnement» sont clairs, vous venez au recyclage de 16h30, et le cours du matin vous aura remis les idées en place. Sinon, vous venez dans le groupe des débutants.

### S'il vous plaît

- Pour les stages LATEX, il faut absolument emmener quelque chose à taper: un cours, des notes, une fiche, un rapport, n'importe quoi, mais quelque chose qui vous posera des problèmes concrets. Si vous n'avez rien, on vous fera copier un bouquin de cryptographie ou de calcul différentiel (en anglais), donc prévoyez...
- D'autre part, soyez à l'heure: si le stage commence avec 20 minutes de retard, il finira avec 20 minutes de retard, c'est aussi simple.
- Si au dernier moment vous ne pouviez pas venir, prévenez, soit par courrier électronique, soit par messager bipède, soit en téléphonant en salle S (01--44--32--21--04).

## Qui contacter en cas de problème

### Problèmes spécifiques

Si vous avez un problème, commencez par demander de l'aide dans la salle: il s'y trouve sans doute un tuteur (volontaire pour dépanner) ou un gourou (administrateur élève). Dans la moitié des cas, quelqu'un pourra vous aider. Si personne ne peut vous dépanner, vous avez à disposition les interlocuteurs suivants:

Le logiciel ne fonctionne pas | `gourous@clipper`
Vous ne savez pas vous servir d'un logiciel | `tuteurs@clipper`
Vous n'arrivez vraiment pas à vous loguer | Allez voir le SPI
Il n'y a plus de papier | En réclamer aux services de l'administration (couloir Dussane)
Il n'y a plus de toner | Écrire au SPI (`spi@clipper.ens.fr`)

### Problèmes matériels

Adressez-vous au service compétent, suivant le tableau suivant:

Stations Sun |
PC sous Windows | SPI : `spi@clipper.ens.fr`
PC sous Linux |
Macs | Élisabeth Labrousse (`elisa@elias.ens.fr`)
| Jean-Claude Lovato (`lovato@dmi.ens.fr`)
| SPI si non-intervention dans la journée
Imprimantes | `elisa@elias.ens.fr` pour l'Infirmatique
| `spi@clipper.ens.fr` pour les autres salles

Globalement, adressez-vous au SPI pour toutes les machines (`spi@clipper.ens.fr`), sauf les Macs de l'Infirmatique qui dépendent de l'Informatique littéraire (écrire à Élisabeth Labrousse: `elisa@elias.ens.fr`; bureau 10, poste 3003).

Donnez une description précise du problème, et indiquez clairement la machine et la salle. Le cas échéant, laissez un papier sur la machine pour signaler la panne, cela évitera aux autres utilisateurs de rencontrer le même problème et de surcharger le SPI ou les gourous de messages d'erreur.

Le Hublot est le journal des tuteurs informatique de l'ENS. Il paraît chaque mois à 350 exemplaires. Il est également disponible sur le Web:

Rédaction: Émilia Robin.

Ont collaboré à ce numéro: Xavier Bertou, Éric Brunet, Augustin Chaintreau, Nicolas George, Florent Hivert, Guillaume Lapeyre, Catherine Le Bihan, Benjamin Lerman, David Madore, David Monniaux, Jérôme Plût, Laurent Rineau, Olivier Terneaud, Olivier Verzelen, Cédric Ware.

Merci à Jean Marot, Gilles Radenne et Marie-Charlotte Zanotti pour leurs relectures.

1
  Le copier-coller a été expliqué dans le numéro de décembre du Hublot.
2
  Regardez la copie d'écran, c'est un exemple de ce qu'il ne faut pas faire: une réponse d'une ligne, qui cite tout le message ensuite, sans prendre la peine d'éliminer les lignes sans intérêt.
3
  Sauf les courriers qui viennent de l'Administration... NDLR.
4
  Merci à Augustin pour ce renseignement.
5
  Non, «Périphérique» n'est pas un maréchal d'Empire
6
  Celui du catalogue.

Ce document a été traduit de LaTeX par hevea puis passé en XHTML 1.0 Strict par Joël Riou. Dernière modification le